C++socket编程(三):3.1 TCP/IP协议特点

2023-11-08

1.TCP是面向连接的。就是当你想要开始传递数据的时候,之前应该先把连接建立起来。它不像UDP协议,可以直接发送数据。
2.TCP提供可靠的数据传输,实现了丢失重传。RTT的估算。
3.TCP通过给所发送数据的每一个段管理一个序号进行排列。每一个包都会有一个序列号,由底层内部按照序列号排序之后,再行发送。
4.TCP提供流量控制和拥塞控制:报告窗口、拥塞窗口。
5.TCP的连接是全双工的,同时发送和接受数据可以同时进行不受干扰。

二:TCP协议头窗口分析

在这里插入图片描述
包头内容:
1.源端口:我们再开发的过程中不是特别关注的。如果你是客户端的话,在建立连接之后根本就不知道你的源端口是什么。
2.目的端口:就是我们要连接的端口,如80端口。你肯定会发送一个TCP包,包含了80端口的连接请求。
3.序号:在我们确认保证这个数据是有序的,在三次握手之后才开始向下排的。
4.数据偏移:因为我们下面又长度可变的选项,我们要知道从哪边开始是数据,说白了就是整个tpc头的大小。
5.20字节的固定首部:注意是固定的,
6.报协议类型:URG,ACK,PSH等等标识位,来标识你这个包是什么类型的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++socket编程(三):3.1 TCP/IP协议特点 的相关文章

随机推荐

  • 7天学完Spring:AOP实战,SpringMVC统一处理

    目录 前言 一丶用户登录权限效验 lt 1 gt 最初用户登录验证 lt 2 gt Spring AOP 用户统一登录验证的问题 lt 3 gt 拦截器 拦截功能演示 lt 4 gt 拦截器原理 lt 5 gt 统一访问前缀添加 二丶统一异
  • 操作系统期末习题考试习题解答题目三

    操作系统期末习题考试习题解答题目三 目录 操作系统期末习题考试习题解答题目三 第八章 第九章 第八章 1 什么是文件 文件系统 文件系统有哪些功能 P198 答 在计算机系统中 文件被解释为一组赋名的相关字符流的集合 或者是相关纪录的集合
  • 理解git存储原理

    git是一个文件寻址系统 什么是文件寻址 其实我也不是很理解 哈哈哈 Git 的底层存储从本质上讲是基于本地文件系统实现的 Key Value 数据库 这里的 Value 是 git 里的三种不同的对象的内容 而 Key 则是对象内容的 h
  • VML Mathematical Functions

    http www physics ntua gr konstant HetCluster intel12 1 mkl mkl manual GUID 7B3B6537 71E2 4BF5 A041 0365E72B211B htm TBL9
  • opencv c++ 贴图补齐实战

    目录 创建黑图 int8类型贴图补齐 测试时间 fx缩放 贴图 float32类型贴图
  • ChatGPT作者John Shulman:我们成功的秘密武器

    推荐 深度学习与NLP 来源 转载自OneFlow 杨婷 徐佳渝翻译 除了OpenAI 外界可能很少有人知道ChatGPT模型成功的真正原因 实际上 OpenAI也会对ChatGPT拥有的巨大影响力感到不可思议 这种困惑和惊喜就像工程师们解
  • CV-第三方库:OpenMMLab---->MMClassification

    MMClassification 是一款基于 PyTorch 的开源图像分类工具箱 是 OpenMMLab 项目的成员之一 主分支代码目前支持 PyTorch 1 5 以上的版本 主要特性 支持多样的主干网络与预训练模型 支持配置多种训练技
  • Android 获取网络连接状态新方法

    一 问题背景 Android12上 有的app模块判断当前网络的类型和连接状态时 还是使用的旧的API 导致返回的结果不准确 影响代码逻辑判断 本篇文章就这一问题 整理一下判断网络类型和连接状态的新方法 二 原因分析 在Android 10
  • Flutter学习-TextField

    目录 focusNode 获取焦点 decoration InputDecoration边框装饰 keyboardType TextInputType 输入的类型 textCapitalization TextCapitalization
  • 使用Angular编写用户管理系统前台界面

    目录 工作准备 项目框架 功能描述 工作准备 安装node js node js中包含了npm node v查看node版本 npm v查看npm版本 全局安装angular CLI npm install g angular cli ng
  • win11系统激活修复

    打开终端 输入以下代码 irm https massgrave dev get iex 在弹出的窗口中 选择1即可
  • jquery 中 $(".XXX") 和 $("#XXX")的区别

    XXX 为获取类名为XXX的类 XXX 为获取id为XXX的标签
  • cesium 申请秘钥(Cesium.Ion.defaultAccessToken/access_token)

    https cesium com ion signin tokens 然后注册 登录 复制使用 Cesium Ion defaultAccessToken 你的 token 案例
  • Delphi TIdTCPClient的使用问题

    开发环境Delphi10 3 3 使用TIdTCPClient写了一个客户端小例子 使用网络调试助手作为服务端 设置接收到客户端信息会自动返回数据 通讯模式 短连接 客户端连接 发送 等待数据 接收 断开 此例子中客户端不知道返回信息长度是
  • Android动态界面开发框架Tangram使用完整教程(转载)

    原文链接 https blog csdn net u013541140 article details 89517186 Github地址 https github com jimmysuncpt TangramDemo
  • Unity3D设置天空盒skybox

    由于又忘记了 就写一篇博客做下笔记 此方法适用于5 X版本和2017版本 之后是否可行未测试 设置天空盒有两种方式 一 在当前相机上添加skybox 二 在当前场景上添加skybox 两种方式的结果是一样的 第一种方式的优势在于 如果 世界
  • elementUI +vue表单验证 后台请求动态验证

    elementUI vue表单验证 后台请求动态验证 在
  • grub 配置文件

    DO NOT EDIT THIS FILE It is automatically generated by grub mkconfig using templates from etc grub d and settings from e
  • Python刷题记录(91-95)

    Python刷题记录 91 95 题目来源PTA平台 PAT Basic Level Practice 中文 TOC 1091 N 自守数 如果某个数 K 的平方乘以 N 以后 结果的末尾几位数等于 K 那么就称这个数为 N 自守数 例如
  • C++socket编程(三):3.1 TCP/IP协议特点

    1 TCP是面向连接的 就是当你想要开始传递数据的时候 之前应该先把连接建立起来 它不像UDP协议 可以直接发送数据 2 TCP提供可靠的数据传输 实现了丢失重传 RTT的估算 3 TCP通过给所发送数据的每一个段管理一个序号进行排列 每一