建立连接过程中的超时:
tcp_syn_retries :
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。
tcp_synack_retries :
对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。
数据传输过程中的超时:
tcp_retries1:
一旦重传超过阈值tcp_retries1,主要的动作就是更新路由缓存。
用以避免由于路由选路变化带来的问题。
tcp_retries2:
会直接放弃重传,关闭TCP流
另外:真正起到限制重传次数的并不是真正的重传次数。
而是以tcp_retries1或tcp_retries2为boundary,以rto_base(如TCP_RTO_MIN 200ms)为初始RTO,计算得到一个timeout值出来。如果重传间隔超过这个timeout,则认为超过了阈值。
已经建立的连接,没有数据传输的超时:
tcp_keepalive_time
tcp_keepalive_probes
tcp_keepalive_intvl
减少 time_wait 的方法:
tcp_tw_reuse & tcp_tw_recycle 想要生效 ,必须同时开启 tcp_timestamp