TCP- 序列号回绕
TCP- Sequence number wrap around
TCP header 中的序列号由 32 位组成,这个值是否环绕,如果是这样肯定不会引起问题吗?同样,如果是这样,由于管道中的数据包数量,这在长网络或快速网络上是否会成为问题?
不,没问题。事实上,序列号甚至可以在 "end" 附近开始——出于反欺骗的原因,它是用一些伪随机数初始化的。
只要把它想象成一个永无止境的计数器,只显示底部的 32 位。没有问题,因为我们实际上并没有计算字节数,而只是枚举它们,因此不会混淆当前正在接收的字节数。
唯一的限制是任何方向的流量都不能超过 4GiB "in flight"。
TCP header 中的序列号由 32 位组成,这个值是否环绕,如果是这样肯定不会引起问题吗?同样,如果是这样,由于管道中的数据包数量,这在长网络或快速网络上是否会成为问题?
不,没问题。事实上,序列号甚至可以在 "end" 附近开始——出于反欺骗的原因,它是用一些伪随机数初始化的。
只要把它想象成一个永无止境的计数器,只显示底部的 32 位。没有问题,因为我们实际上并没有计算字节数,而只是枚举它们,因此不会混淆当前正在接收的字节数。
唯一的限制是任何方向的流量都不能超过 4GiB "in flight"。