计算机网络-ISN和回绕问题
1. 对于客户端和服务端,都需要ISN
- ISN:
Initial Sequence Number, ISN
,初始序列号 - 在建立连接之初,通信双方都会各自选择一个序列号,称之为初始序列号。在建立连接时,通信双方通过 SYN 报文交换彼此的 ISN,如下图所示
2. 序列号回绕问题
- 如果
seq
号已经满了,即到了2^32 - 1
- 那么,
seq
就需要从0开始,这种现象称为序列号回绕
TIP
为了解决这个问题,就需要有 TCP
时间戳。tcp_timestamps
参数是默认开启的,开启了 tcp_timestamps
参数,TCP
头部就会使用时间戳选项,它有两个好处,一个是便于精确计算 RTT
,另一个是能防止序列号回绕(PAWS
)。