TCP 的那些事 | D-SACK

在《【技术】TCP 的那些事 | SACK 》讲解了SACK,在SACK中描述的数据段是接收端收到的数据,发送端根据接收端返回的SACK信息就可以知道哪些数据丢了,进而进行重传。RFC2883对SACK进行了扩展,称为D-SACK:使得扩展后的SACK具有通知发送端哪些数据被重复接收了。

引入D-SACK的目的是使TCP进行更好的流控,具体来说有以下几个好处:

1. 让发送方知道,是发送的包丢了,还是返回的ACK包丢了;

2. 网络上是否出现了包失序;

3. 数据包是否被网络上的路由器复制并转发了

4. 是不是自己的timeout太小了,导致重传

通过D-SACK这种方法,发送方可以更仔细判断出当前网络的传输情况,可以发现数据段被网络复制、错误重传、ACK丢失引起的重传、重传超时等异常的网络状。

D-SACK使用了SACK的第一个段来做标志,如何判断D-SACK

1. 如果SACK的第一个段的范围被ACK所覆盖,那么就是D-SACK

2. 如果SACK的第一个段的范围被SACK的第二个段覆盖,那么就是D-SACK

D-SACK的规则如下&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值