TCP定时器

TCP中一共有四种定时器:
重传计时器:Retransmission Timer
坚持计时器:Persistent Timer
保活计时器:Keeplive Timer
时间等待计时器:Time_Wait Timer。

  1. 重传计时器
    为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能发生了两种情况:若在计时器超时之前收到对报文段的确认,则撤销计时器;若在收到对特定报文段的确认之前计时器超时,则重传该报文,并把计时器复位;
    重传时间=2*RTT;
    RTT的值应该动态计算。常用的公式是:RTT=previous RTT*i + (1-i)*current RTT。i的值通常取90%,即新的RTT是以前的RTT值的90%加上当前RTT值的10%.

  2. 坚持计时器
    专门为对付零窗口通知而设立的;
    当发送端收到零窗口的确认时,就启动坚持计时器,当坚持计时器截止期到时,发送端TCP就发送一个特殊的报文段,被称为探测报文段,这个报文段只有一个字节的数据;探测报文段有序号,但序号永远不需要确认,甚至在计算对其他数据的确认时这个序号也被忽略,探测报文段提醒接收端,确认已丢弃,必须重传。
    坚持计时器的截止期为重传时间的值,但若没有收到从接收端来的响应,则发送另外一个探测报文段,并将坚持计时器的值加倍和并复位u,发送端继续发送探测报文段,将坚持计时器的值加倍和复位,直到这个值增大到阈值为止(通常是60s),之后,发送端每隔60s就发送一个报文段,直到窗口重新打开;

  3. 保活计时器
    每当服务器收到客户的信息,就将keeplive timer复位,超时通常设置为2小时,若服务器超过2小时还没收到来自客户的信息,就发送探测报文段,若发送了10个探测报文段(每75s发送一个)还没收到响应,则终止连接;

  4. 时间等待计时器
    在连接终止期使用,当TCP关闭连接时,并不认为这个连接就真正的关闭了,在时间等待期,连接还处于一种中间过渡状态,这样就可以使重复的fin报文段在到达终点后被丢弃,这个计时器的值通常设置为MSL的两倍。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值