TCP协议头
TCP首部
标准20字节, 可拓展40字节, 最大一共60字节
源端口号/目标端口号:
端口号
发送序列号:seq
每一个字节都有一个编号, 存放第一个字节的编号
接收时的确认序列号:ack
对端收到我们发送的序列号后, 反馈给我们的将要接收下一个包的首字节编号(如果出错了, 将出错的首字节写入)
偏移值:
4位二进制数:表示整个首部的长度(以4字节为单位)
保留:
4位:启用了CWR和ECE
6位:未启用CWR和ECE
待扩展()
2字节:
tcp版本支持ecn这两个有效位,显式拥塞通告:平衡双方流量
ECE:(1)表示希望发送端降低发送量
CWR:(1)表示已经降低了发送量
链接时:
如果都为(1):表示支持ecn
如果都为(0):表示不支持ecn
URG:
紧急指针:表示这组数据需要立即处理, 不需要等待后续数据
很少使用
紧急指针:
偏移量:表示这组数据从头开始需要立即处理的部分
ACK:
确认接收到了TCP数据包
PSH:
发送端:表示发送这个的数据包是最后一个包
RST:
网络重启了
SYN:
发起链接请求
FIN:
结束链接,正常下线
窗口大小:
表示最大一次能接收的数据, 受限于自己的带宽
和ECE配合使用
校验和:
整个包的字节数, 和发送序列号配合使用
可选项:
最多40字节(灵活)