Skip to content

计算机网络-ISN和回绕问题

1. 对于客户端和服务端,都需要ISN

  1. ISN:Initial Sequence Number, ISN,初始序列号
  2. 在建立连接之初,通信双方都会各自选择一个序列号,称之为初始序列号。在建立连接时,通信双方通过 SYN 报文交换彼此的 ISN,如下图所示

image.png

2. 序列号回绕问题

  1. 如果seq号已经满了,即到了2^32 - 1
  2. 那么,seq就需要从0开始,这种现象称为序列号回绕

TIP

为了解决这个问题,就需要有 TCP 时间戳。tcp_timestamps 参数是默认开启的,开启了 tcp_timestamps 参数,TCP 头部就会使用时间戳选项,它有两个好处,一个是便于精确计算 RTT ,另一个是能防止序列号回绕(PAWS)。