【计网】TCP报文段首部格式
描述
TCP 报文格式?
源端口:发送方进程的端口
目的端口:接收方进程的端口
seq序号:数据偏移部分第一个序号
ack确认号:这个序号之前的字节我都接受了 + 请给我发从这个序号之后的字节
数据偏移:TCP首部有多长
保留:没东西
窗口:发送的一方自己的接受窗口大小
校验和:
URG:配合紧急指针用的,让发送的那段数据不用缓存直接给上方进程
SYN:同步序列号
ACK:确认报文段
FIN:结束报文段
RST:超时重传的那个
参考
- 源端口(Source Port)和目的端口(Destination Port):每个16位,用于标识发送方和接收方的应用程序。
- 序列号(Sequence Number)和确认号(Acknowledgment Number):每个32位,序列号表示本次传输的数据的第一个字节的序号,确认号表示期望下一次接收到的字节的序号。
- 数据偏移(Data Offset):4位,表示TCP头部的长度,单位为32位字。最小值为5,最大值为15。
- 保留位(Reserved):6位,保留未使用,必须为0。
- 控制位(Flags):6位,用于标识TCP报文的类型。U表示紧急,A表示确认,P表示推送,R表示重置,S表示同步,F表示结束。
- 窗口(Window):16位,表示接收方还能接收多少字节的数据。
- 校验和(Checksum):16位,用于检测TCP报文是否有错。
- 紧急指针(Urgent Pointer):16位,用于标识紧急数据的边界。
- 选项(Options):长度可变,用于传递额外的信息,如最大报文长度、时间戳等。
- 填充(Padding):长度可变,用于填充选项字段,使TCP头部的长度为32位的倍数。
- 数据(Data):长度可变,表示应用层传输的数据。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMC_Blog!