最近分析问题的时候,从wireshark里看有:tcp spurious retrans 的包,309这个是307 的retransmission,而且在308 回复了ACK。那为什么会重传?
从网上找了一些,比如
https://www.packetsafari.com/blog/2021/10/23/tcp-spurious-retransmissions/
但是根据里面的介绍,不能解释当前遇到的情况,但是里面有提到RTT的时间。这个重传的发生是根据以往的RTT时间,如果ACK突然慢了,就可能导致重传。这里的308比307慢了40ms。从下面的RTT的图也可以看出来,RTT的时间突然就变成了40ms,原来是非常小的一个值。
那为什么ACK的回复突然变慢了呢?
上面链接里的情况,里面没有关于CPU的可能。当前遇到的这个情况是,CPU使用率突然增加导致内核的ACK回复都变慢了。