5.8.7 TCP可靠传输(三)定时器

5.8.7 TCP可靠传输(三)定时器

为了保证数据传输的正常进行,在TCP中用到了四种定时器

  1. 重传定时器
  2. 持续定时器
  3. 保活定时器
  4. 时间等待计时器
一、重传定时器

为了控制丢失的报文段或者丢弃的报文段,也就是说对报文段的确认的等待时间,当发送方发送一个数据后,就将发送数据放到缓存中同时设定重传定时器,如果在重传时间RTO之内,没有收到来自于接收方的确认报文段,就把缓存中的数据取出重新进行发送,这就是一个重传定时器起的作用。

二、持续定时器

这种定时器是专门对付零窗口(5.8.2 TCP报文段首部格式中的窗口字段)通知而设置的,如果接收方缓存满了,就可能给发送方发送一个窗口字段值为零的报文段,当接收方缓存有了空闲时,就会向发送方发送窗口值更新报文段,这时我们又要考虑一种情况,如果窗口更新报文段丢失,此时接收方又有了缓存空间等待发送方进行数据发送,而发送方没有等到窗口更新报文,所以不能发送数据,也处于等待状态。此时双方就进入了死锁状态。所以持续定时器就是为了避免这种情况发生而设定的。

当持续定时器超时的时候发送方给接收方发出一个探寻的消息,接收方响应并发送窗口更新报文给发送方。

三、保活定时器

保活定时器如果超时的情况下,发出一个报文段查看一下通信的另一方是否在线,通常这个值设置为两个小时。如果服务器超过两个小时还没有收到来自于客户端的信息,此时就发出一个试探的报文段,但是如果发送了10个探测报文段对方仍然没有应答,此时的TCP的连接就终止了。

四、时间等待计时器(Time Wait)

在连接终止时使用,当TCP关闭连接时并不认为这个连接就真正的关闭了,在时间等待计时器的时间之内,连接还处在一种中间过渡的状态,这样做的好处就可以避免重复的FIN报文在到达了终点之后被丢弃,这个计时器通常设置为某一报文段寿命期望值的两倍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值