一、TCP 协议格式

TCP(传输控制协议)报文结构是网络通信中重要的基础概念,用于实现可靠的数据传输。
-
源端口与目的端口
- 作用:标识通信的两端进程(范围:0~65535)
- 示例:HTTP 默认使用 80 端口,HTTPS 使用 443 端口
-
序号
- 作用:标记本报文段中数据的第一个字节在整个数据流中的位置,用于保证数据有序传输
- 特点:SYN 标志位为 1 时,序号为初始序号(ISN),后续序号递增
-
确认序号
- 作用:期望收到的下一个字节的序号,表示已成功接收该序号之前的数据
- 规则:确认号 = 已接收数据的最后一个字节序号 + 1
-
首部长度
- 作用:指示 TCP 头部的长度(以 4 字节为单位),最大值为 60 字节(默认 20 字节)
- 原因:由于选项字段的存在,头部长度可能变化
-
标志位用来区分 TCP 报文的类型
- URG:紧急指针有效,通知接收方优先处理紧急数据
- ACK:确认号是否有效
- PSH:通知接收方立即将数据提交给上层应用,即从 TCP 缓冲区读走
- RST:重置连接,用于异常中断
- SYN:同步序号,用于请求建立连接
- FIN:终止连接,用于断开连接
-
窗口大小
- 作用:告知发送方当前接收方的可用缓冲区大小,用于流量控制
- 单位:字节数,范围 0~65535(通过窗口扩大因子可扩展)
-
校验和
- 作用:验证 TCP 报文段(包括头部和数据)在传输过程中是否损坏
- 计算范围:TCP 头部、数据部分,以及伪首部(包含 IP 地址和协议号)
-
紧急指针
- 作用:当 URG 标志位为 1 时,若当前段起始序列号为 seq,紧急指针为 ptr,则紧急数据的范围就是 seq 到 seq + ptr - 1








