tcp 经受时延确认

在网上购物时如果你在同一家一天内买了几件商品.那收到货物可能是几件一起发来..这样可以降低邮寄的成本,①.一般来说一个数据包会对应一个ack确认②..但实现了经受延时的ack后.收到一个数据包并不会立刻发送这个数据包的确认ack,它将这个ack延迟,.tcp会开启一个定时器(实际实现一般是200ms,RFC规定小于500ms,如果太大会对交互时通信的体验造成影响).为什么有这个延迟呢因为如果在这个定时器超时前如果有正好有数据将要返回则将这个ack稍带发送出去③.并且如果在超时前收到多个数据.则几个ack可以合并发送.这样不必对于每个数据包都发送一个ack,这样可以减少报文交互次数.

 

注:

①:- -|| 如果你不这样做你买了10件商品..分别让快递公司发送十次货物岂不疯了.这个比喻不太恰当.毕竟在tcp中货物不是实际的数据,是ack的确认信息..这个例子我后来想了下不太恰当只说明了一个特性.关键的数据稍带ack没有说明以后想个好例子我再补充吧...

②:单独一个ack需要20字节的ip首部,20字节的tcp首部.你就为了发个一个确认是不是太浪费了?

③:这个其实是关键特性,在发送ack确认时.如果正好有数据向同方向的地址发送.这个数据中可以稍带这个ack确认信息.这个咱们再以后再说.

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值