一、简介
TCP时间戳选项会在TCP包头增加12个字节,以一种比重发超时更精确的方法来启用对RTT 的计算。
二、作用
1) TCP时间戳位于TCP选项中,kind=8;lenth=10;data由timestamp和timestamp echo两个值组成,各4个字节的长度。 2) TCP时间戳理论作用有3个:序列号回绕,乱序的时间判断依据,避免确认二义性,以及计算RTT。
三、工作原理
双方各自维护自己的时间戳,时间戳的值随时间单调递增(规定为1ms-1s/次,常见值为1ms、10ms)。
本端发送timesstamp值,对方收到后在后续的ACK的timestamp echo回应本端的值,并在timestamp中发送自己的时间戳。
TCP记录发送时间戳和收到回应的时间, 从而获得RTT。
三、常用操作
1)开启
net.ipv4.tcp_timestamps = 1
2)关闭
net.ipv4.tcp_timestamps = 0
四、其他
1)内核参数说明
2)proc/sys/net/ipv4/下各项的意义
3)ECN(显式拥塞通知)引发的连接问题