TCP的坚持定时器

一、简介

TCP不对ACK报文段进行确认,TCP只确认那些包含有数据的ACK字段。
如果一个确认丢失了,双方就有可能因为等待对方而使得链连接终止:

  • 接收方等待接受数据,因为已经向发送方通告了一个非0的窗口。
  • 发送方在等待允许它继续发送数据的窗口更新。

为了防止这种死锁,发送方使用一个坚持定时器来周期性向接收方查询,以便发现窗口是否已经增大。
坚持定时器使用了普通的TCP指数退避。对于典型局域网连接,间隔为\(1.5s\to 3.0s \to s ...\)

TCP从不放弃发送窗口探查。这些探查每隔60s发送一次,直到窗口被打开或者应用进程使用的连接被终止。

二、糊涂窗口综合征 (Silly Window Syndrome)

指的是少量的数据通过连接交换,而不是满长度的报文段。
例如,接收方通告一个小的窗口,而不是一直等到有大的窗口时才通告。发送方也可以发送少量的数据,而不是等待其他的数据以便发送一个大的报文段。
可以在接收或发送端采取措施避免“糊涂窗口综合征”。

  1. 接收方不通告小窗口。
    接收方不通告一个比当前窗口大的窗口,除非窗口可以增加一个报文段大小或可以增加接收方缓存空间的一半。
  2. 发送方满足下面条件之一时才发送数据:
    • 可以发送一个满长度的报文段
    • 可以发送至少是接收方通告窗口大小一半的报文段
    • 可以发送任何数据并且不希望接收ACK(我们没有还未被确认的数据)或者改连接上不能使用Nagle算法。

转载于:https://www.cnblogs.com/huahuahu/p/TCP-de-jian-chi-ding-shi-qi.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值