传输层网络问题求助:主机B发100字节载荷后A下一段序列号是多少
TCP序列号问题解答
前置规则
- TCP序列号为单方向独立计数,A到B的发送序列号、B到A的发送序列号是两套独立的计数体系,互不影响
- 仅SYN、FIN报文,以及携带有效载荷的报文会消耗序列号,无载荷的纯ACK报文不占用序列号
推导过程
结合题目对应三次握手交互参数:
- 主机A首次发送SYN报文时的序列号为
100,SYN标记占用1个序列号,因此A方向待使用的下一个序列号为101 - 三次握手最后阶段A发送的是无载荷的纯ACK报文,不会消耗序列号,因此A方向的待发送序列号仍为
101 - 后续B向A发送100字节载荷属于B到A方向的传输,只会修改A回复报文的ACK号,完全不影响A到B方向的序列号计数
最终结论:主机A接下来发送给主机B的segment的sequence number值为 101。
补充:如果你实际想查询A回复报文的ACK号,该值为
401。计算逻辑为:B的SYN报文占用序列号300,后续100字节载荷占用301~400,因此A期望接收的下一个字节序号为401。
内容的提问来源于stack exchange,提问作者Alejandro
相关产品推荐
相关产品推荐

