《TCP/IP详解-协议》(22、23)TCP的坚持定时器、保活定时器

坚持定时器

上图列子中,收到分组7后,接收方缓存已用完,回复分组8(win 0)来告知发送方暂停发送,待缓存清空后又发送分组9告知发送方可以继续发送;
如果分组9丢失,双方都会继续等待对方的响应,陷入死锁;

为解决这个问题,客户在收到通告窗口为0后,启动坚持定时器,如果定时器到期还仍未收到窗口更新,则发送一个探查分组(一般为1个字节);

坚持定时器计算也采用指数退避

糊涂窗口综合症:接收方在缓存不够时可能回复过小的通报窗口,而发送方也以该大小来发送,就造成一次交换的数据量很少;解决办法就是接收方不要回复太小的通报窗口,发送方也不要发送过小分组,任何一方采取措施都可以解决这个问题;

图示中,接收分组4后,接收方回复窗口0,希望发送方暂停发送,接收方启动坚持定时器,在到期后发送探测分组(1字节),然后接收方陆续将收到的数据传给应用程序,腾出部分缓存,但是还不够大,因此继续回复窗口0(分组7、9),但是接收了所有探测分组,直到回复分组11(窗口大小为1533,足够大),发送方又开始发送;

保活定时器

当TCP连接上长时间没有数据传输时,连接还是存在的,服务器(表示使用保活功能的一方)需要知道客户主机是否还在正常工作或者已经崩溃,服务器需要主动释放这种半开放连接的资源;

如果一台主机在给定时间内没有任何动作,服务器向客户发送一个探查报文,如果客户主机不可达(崩溃、关机、正在重启等等),则无法收到响应,超时后继续重复探查,如果重复一定次数后仍无响应则关闭连接;
如果客户主机崩溃后重启,收到探查,将响应一个复位信号,服务器关闭连接;

无论以上哪种情况发生,服务器应用程序都将收到来自TCP层的差错报告(连接超时、连接被对方复位等等)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值