第21章 TCP的超时与重传
1.前言
对每个连接, TCP管理4个不同的定时器。
1.重传定时器适用于当希望收到另一端的确认。
2.坚持(persist)定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口。
3.保活(keepalive)定时器可检测到一个空闲连接的另一端何时崩溃或重启。
4.2MSL定时器测量一个连接处于TIME_WAIT状态的时间。
超时重传是TCP协议保证数据可靠性的一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。
2.超时
超时时间的计算是超时的核心部分,TCP要求这个算法能大致估计出当前的网络状况,虽然这确实很困难。要求精确的原因有两个:(1)定时太久会造成网络利用率不高。(2)定时太短会造成多次重传,使得网络阻塞。所以,书中给出了一套经验公式,和其他的保证计时器准确的措施。
计时器的使用
一个连接中,有且仅有一个测量定时器被使用。也就是说,如果TCP连续发出3组数据,只有一组数据会被测量。
ACK数据报不会被测量,原因很简单,没有ACK的ACK回应可以供结束定时器测量。
RTT(往返时间):指发送端发送TCP报文段开始到接收到对方的确定所使用的时间.
RTO(超时重传时间):发送端发送TCP报文段后,在RTO时间内没有收到对方确定,即重传该报文段.
3.拥塞避免算法
拥塞避免算法是一种处理丢失分组的方法。
<