TCP有四种内部计时器
1.时间等待计时器
2.保活计时器
3.重传计时器
4.持久计时器
一、时间等待计时器
时间等待计时器常用于链接终止时,当TCP关闭一个链接时,它并不认为这个链接马上就真正地终止了,在时间等待期间,链接还处于一种中间过渡状态。时间等待计时器的值通常设置为一个报文段寿命期待值的2倍。
设置时间计时器的目的:
1.如果最后一个ACK报文丢失了,那么服务器(它为最后的FIN设置了计时器)以为它的FIN丢失了,因而重传,如果客户端在2MSL时间之前就关闭了链接,进入closed状态,那么,它就永远无法接收到这个重传的FIN报文,所以,服务器也会无法接收到丢失的ACK报文。服务器就不能关闭这个链接,2MSL可以使客户端等待足够长的时间,这样就使得如果ACK丢失了,客户端也可以等到下一个FIN的到来。如果在2MSL时间内,一个新的FIN到达了,客户端就冲发一个ACK,并且重新启动2MSL计时器。