码迷,mamicode.com
首页 > 其他好文 > 详细

TCP的四种定时器

时间:2017-07-14 13:15:25      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:服务器   需要   死锁   保活   接受   产生   传输   服务   窗口   

一、重传计时器

  TCP提供可靠机制,因此对于丢失的报文需要进行重传!

  那么,发送一个数据出去之后,什么时候进行重传呢?用到了重传定时器.

  在发送数据后,便立刻创建一个该报文段的重传定时器.

  如果定时器还没结束,收到了确认报文,则撤销该定时器.

  如果定时器结束,还没收到确认报文,则进行重发.

  定时器时间为动态计算的,常见公式新RTT=旧RTT的90%+当前RTT*10%

二、坚持计时器

  接受方窗口为0,则发送端会停止发送,直至收到接受方窗口不为0的通告.

  但是,如果接受方窗口不为0的通告丢失了,则会产生死锁!!!!

  接受方等发送方发送数据,发送方等接受方发送窗口不为0的通告(窗口不为1的通告报文丢失).......

  因此,需要一个计时器来解决这个问题.

  当接受方窗口为0,发送方激活该计时器,如果计时器结束,还没收到接受方窗口不为0的通告.

  此时,发送方会向接受方发送探测报文.如果接受方窗口依然为0,则计时器的值加倍复位,直到计时器的值达到一个阙值.

  如果接受方窗口不为0,则继续传输数据...

三、保活计时器

  每次服务器收到客户端数据时,重置保活定时器,

  如果保活定时器为0,则发送探测报文段,若发送10个报文段还是没有响应,则终止链接.

四、时间等待计时器

  当断开连接后,主动断开的一方会进入TIME_WAIT状态,防止一些超时、游离报文、重复的FIN报文被丢弃。

TCP的四种定时器

标签:服务器   需要   死锁   保活   接受   产生   传输   服务   窗口   

原文地址:http://www.cnblogs.com/caolicangzhu/p/7169471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!