TCP的校验和与编号
TCP的校验和与编号
TCP校验和
特点:
- 端到端校验:校验和覆盖TCP首部和TCP数据,确保从发送端到接收端的数据完整性。
- 检错能力:TCP校验和具有较强的检错能力,可以检测出在传输过程中发生的位错误。
- 伪首部:在计算TCP校验和时,会加上一个12字节的伪首部,包含源IP地址、目的IP地址、保留字节(置0)、传输层协议号(TCP是6)和TCP报文长度(报头+数据)。伪首部的加入增加了TCP校验和的检错能力。
TCP编号(序列号)
作用:
- 数据分段与重组:当一次发送的数据长度超过设定的MSS(最大段大小)时,数据会被分成多个带有TCP协议头的段分别发送出去。接收端需根据每个TCP数据段头部的序列号来重组数据。
- 数据的可靠性传输:接收端在收到发送端的数据后,通过ACK(确认)返回接收数据的序列号,这样发送端就可以确认数据已抵达接收端。
- 流量控制:TCP通过滑动窗口来进行流量控制。通信双方各自维护自身的发送和接收滑动窗口大小,并将自身接收滑动窗口大小和序列号发送给对端,让对端知道当前最大可以发送的数据量。
- 防止重复报文:由于TCP的序列号是由32位表示,所以每2^32个字节,就会产生序列号回绕,再次从0开始。这种设计可以防止因序列号重复而导致的混淆。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」