摘要
- TCP 为 SYN 和 FIN 隐式分配一个序列空间位置,使重复传输不会被当作第二次事件。
- SYN 排在本段第一个数据字节之前,FIN 排在本段最后一个数据字节之后。
- 这些是控制位置,不是应用字节;ACK、PSH 和 RST 本身不会增加
SEG.LEN。
为事件编号
RFC 793 通过把少数控制信息隐式纳入序列空间,解决了丢失和重复的问题。RFC 9293 延续这一设计:SYN 和 FIN 可以被确认和重传,而接收方仍能判断它们是同一个有序事件。这个位置属于协议记账,并没有被写入数据区。
出现 SYN 时,SEG.SEQ 表示初始序列号,首个数据字节使用 ISN+1。含有 N 个数据字节的 SYN 段因此占用 N+1 个连续位置。FIN 则位于该段数据之后。确认号表示接收方期待的下一个序列号,所以即使没有数据,确认 SYN 或 FIN 也会让边界前进一格。
SEG.LEN 计算数据字节,并把 SYN、FIN 也算入长度。重传使用原来的位置。两个方向各自拥有序列空间;FIN 只表示发送方没有更多数据,并不结束反方向。RST 不占序列空间,ACK 和 PSH 也不会自行增加位置。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
