Вот части кеша маршрутов с трех разных серверов, которые НЕ под большой нагрузкой.
# ip route show cache | grep -B 1 rtt
local 127.0.0.1 from 127.0.0.1 dev lo
cache <local> mtu 16436 rtt 106ms rttvar 155ms cwnd 7 advmss 16396 hoplimit 64
...
local 127.0.0.1 from 127.0.0.1 dev lo
cache <local> mtu 16436 rtt 145ms rttvar 130ms cwnd 6 advmss 16396 hoplimit 64
...
local 127.0.0.1 from 127.0.0.1 dev lo
cache <local> mtu 16436 rtt 172ms rttvar 205ms cwnd 5 advmss 16396 hoplimit 64
Почему rtt может быть таким высоким и таким шумным (rttvar тоже довольно высокий)? Как я могу интерпретировать эти ценности?
Значения ниже 200 мс (TCP_RTO_MIN) для RTT не имеют смысла. Значения ниже 250 мс для rttvar не имеют смысла (потому что у другой стороны может не быть достаточно точных таймеров). Измерения RTT / RTTVAR не имеют отношения к таким быстрым интерфейсам.
Из include/net/tcp.h
:
#define TCP_RTO_MIN ((unsigned)(HZ/5))
Из net/ipv4/tcp_input.c
:
* 1. If rtt variance happened to be less 50msec, it is hallucination.
* It cannot be less due to utterly erratic ACK generation made
* at least by solaris and freebsd.