TCP报文的时间戳

Youky ... 2021-10-11 计算机网络
  • TCP
Less than 1 minute

# TCP报文的时间戳

作用有两个:

  1. 计算往返时间RTT
  2. 防止序列号回绕

# 计算RTT

以a向b发送为例

  1. a发送的报文1中,timestamp字段存放的是发送时的时间timeA
  2. b向a回复的报文2中,timestamp字段存放的是发送时的时间timeBtimestamp echo字段存放的是timeA
  3. a收到报文2时,时间为timeA',再从报文中读取timeA,即可计算RTT

# 防止序列号回绕

序列号Sequence Number是0~2^31-1范围内循环的,即达到最大值后从0重新开始循环。

序列号用于确认报文的顺序,以便按正确的顺序进行组装。若出现回绕,则会造成疑惑。

而通过时间戳,则可以分辨不同数据包发送的先后顺序。

Last update: October 11, 2021 16:57
Contributors: youky7