timer:(<timer_name>,<expire_time>,<retrans>)
是什么<expire_time>
意思<retrans>
?
我发现<expire_time>
倒计时到零,然后再次从某个数字重新开始计数。它的起始值因 TCP 套接字而异。
<retrans>
对于所有 TCP 套接字,似乎总是为零。
timer:(<timer_name>,<expire_time>,<retrans>)
是什么<expire_time>
意思<retrans>
?
我发现<expire_time>
倒计时到零,然后再次从某个数字重新开始计数。它的起始值因 TCP 套接字而异。
<retrans>
对于所有 TCP 套接字,似乎总是为零。
expire_time
是距离计时器到期的剩余时间。Linux 内核中的 TCP 栈支持许多定时器,它们都有一个过期时间。retrans
是已经发生的重传次数。TCP 实现 重新传输他们认为已经丢失的数据包;他们计算这些重传,以便知道何时放弃。你不应该经常看到这个;强制它的一种方法是尝试在未立即拒绝的端口上打开连接,例如(基于您之前的一个问题中的示例):如果你运行它,你会看到
curl
在那里坐了一会儿,并且ss -o
会显示一个SYN-SENT
重传计数增加的条目。您还将看到在这种情况下应用了退避:每次重新传输数据包时,初始到期时间都会增加。