计算机网络(第六版)复习提纲26

6 TCP可靠传输的实现
A 以字节为单位的滑动窗口
1 发送窗口
①发送窗口一定不能超过接收窗口的数值
②发送窗口后沿后边表示已经发送并确认,后沿只允许前移或不动
③发送窗口前沿前面表示不可发送,前沿允许不动或前移,也有可能向后收缩,但是TCP标准强烈不赞成这样做,因为可能出错

2 窗口与缓存的关系
①发送缓存用于存放:
1)应用程序交给发送方TCP准备发送的数据
2)TCP已经发出但尚未确认的数据
②接收缓存用于存放:
1)按序到达、但尚未被应用程序读取的数据
2)未按序到达的数据
3 三点强调:
1 A的发送窗口根据B的接收窗口设置,但是同一时刻,双方的两个窗口并不一样大
2 对于不按序到达的数据,TCP未规定处理方式,但通常是先保留,等缺少的到了再按序交付给上层
3 TCP要求接受方必须有累积确认功能,可以在合适时候发送确认信息,也可在有数据要发时把确认信息捎带上发送
TCP规定,确认推迟的时间不超过0.5秒
B 超时重传时间的选择
1 加权平均往返时间RTTs
记录一个报文段发出时间与确认收到时间的差值即为往返时间RTT
第一次RTTs的值就取RTT的值,后续RTTs的计算方式如下

α越大表示新的RTT影响越大,RFC 6298推荐α取值为0.125
2 偏差加权平均值RTTD
RTTD是RTT的偏差加权平均值,第一次取RTT的一半,后续的计算如下:

此处β是小于1的系数,推荐值为0.25
3 超时重传时间设置
超时计时器设置的超时重传时间RTO应略大于RTTs,RFC 6298建议如此计算RTO:

4 发生重传对RTT的影响
①确认报文是对重传报文的确认,却被当成是对之前报文的确认=》RTT比实际应取值偏大
②确认报文是对之前报文的确认,却被当成是对重传报文的确认=》RTT比实际应取值偏小
解决方案:Karn算法:计算RTTs时,一旦发生重传,其RTT就不采用
算法修正:重传时,新的重传时间为旧的两倍
C 选择确认SACK
TCP首部的选项字段中加上允许SACK,从而准确告诉发送方发送哪些未收到的数据

你可能感兴趣的:(Outline,计算机网络,网络)