s6-9 TCP 定时器
TCP 定时器管理
重传定时器(retransmission timer,Positive ackn. with retransmit)
最重要的定时器
TCP 定时器管理
持续定时器(persistence timer),用来避免如下的死锁( deadlock )发生
接收方发送了一个窗口数为零的确认(窗口更新),告诉发送方等待。
稍后,接收方空出了缓冲,发送更新窗口的数据段,但是,很不幸,该分组丢失啦!
现在,收发双方都在等待对方发送数据段过来,但永远等不到!
死锁产生。
怎样防止死锁?
保活定时器(keep-alive timer):用来检查连接是否存活,当一个连接空闲的时间超过保活定时器的时间,该连接将被杀掉。
在关闭时刻处于TIMED WAIT 状态中使用的定时器:运行两倍的最大分组生存时间,以确保连接关闭之后,该连接上的所有分组都完全消失。
比较 TCP 和 UDP
TCP
可靠传输方式
可让应用程序简单化,程序员可以不必进行错误检查、修正等工作
UDP
为了降低对计算机资源的需求(DNS)
应用程序本身已提供数据完整性的检查机制,勿须依赖传输层的协议来保证
应用程序传输的并非关键性的数据(路由器周期性的路由信息交换)
一对多方式,必须使用UDP(TCP限于一对一的传送)(视频传播)
TCP中有很多定时器,管理定时器是一件重要的事情。
持续定时器用来解除死锁。
TCP跟UDP有极大的不同,是一个重量级的传输层协议。