1 概述
我们知道,TCP协议是面向连接、提供可靠交付的服务的传输层协议。 为了保证传输的可靠性,TCP 使用了多种定时器,下面我们就来探讨和分析一下 TCP 使用了哪些定时器?分别起什么作用?
- 超时定时器(timeout timer):当发送方发出报文段后,就启动超时定时器,如果在规定时间内没有收到对端发来的确认,就重传已发送过的报文段。
- 持续计时器(persistence timer):当 TCP 连接的一方收到对方的零窗口通知时,就启动持续计时器。
- 时间等待计时器(TIME-WAIT timer):主动发起连接释放的一方处于 TIME-WAIT 状态时,启动该计时器,等待2MSL的时间后才能进入到CLOSED状态。因此,该计时器也称为 2MSL计时器。
- 保活定时器(keepalive timer):用于检测一个空闲的 TCP 连接是否仍然是保持着连接的状态。
<注> MSL(Maximum Segment Lifetime,最长报文段寿命) [RFC 793] 标准文档建议设置为 2 分钟。当然,TCP 允许不同的实现可以根据实际情况使用更小的 MSL 值。