计算机网络(谢)——第三章读书笔记5.6

TCP可靠传输的实现

以字节为单位的滑动窗口:

 

窗口有两端

 

 

发送方:
低序号端表示在此之前的序号已经收到确认;

高序号端表示发送方现在最多只能发送到此序号为止,因为这端是根据接收端发过来的缓冲区大小而决定的。如果发送超过此序号的数据,很可能接收方会来不及接收。

窗口内部发送从低序号端开始依次发送数据(到高序号端为止),超时数据需要重传。

每次接收到确认帧,低序号端就会更新(因为又有数据被正确发送了嘛,低序号端之前的就是表示正确发送的数据),同时高序号端也更新,因为确认帧包含接收端窗口大小。

 

 

接收方:

低序号端表示在此之前的数据已经正确接收;

高序号端表示接收方的缓存目前只能放得下到此序号为止的数据,再多就放不下啦。

TCP标准并没有规定如何处理未按序到达的数据。

接收方要有积累确认的功能,也就是要积累一定按序到达的数据后,一次性发送一个确认帧。(这时候发送方低序号端前进到确认了的数据后边,高序号端是否后移是和缓存中数据被送往高层的速度有关系的,而不是和确认帧有关系)

 

超时重传时间的选择:

报文往返时间:收到确认时间---对应报文的发送时间

加权平均往返时间RTTs: 新的RTTs = (1-a) * ( 旧的RTTs) + a * (新的RTT样本)

 

超时重传时间RTO = RTTs + 4 * RTTd;

新的RTTd = (1- b) * ( 旧的RTTd) + b * | RTTs - 新的RTT样本 |

 

 

对Karn算法的改进:

报文每重传一次,就把超时重传时间RTO增大一些

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值