51学通信技术论坛
标题:
读书笔记 (RFC 5681)
[打印本页]
作者:
kinghighland
时间:
2014-3-8 22:01:41
标题:
读书笔记 (RFC 5681)
本帖最后由 kinghighland 于 2014-3-11 13:52 编辑
伪重传
一旦发生了超时(基于RFC2988定义), CWND(拥塞窗口)的值必须设置为不超过LW(丢包窗口)的值而不管IW(初始窗口)是多少,LW等于一个完整数据段的长度。 因此,在重新传送丢失的数据段后,TCP发送端使用SlowStart(慢启动)算法来递增窗口大小,从一个完整数据段长度增加到ssthresh(慢启动阈值)所指定的大小后,再由CA(拥塞避免)算法接手窗口的调整工作。
如同FF96和RFC3782所述,在发生超时后,基于慢启动的丢包恢复,可能造成
伪重传
然后触发
重复应答
(Dup.ACK)。不同的TCP实现对遇到重复应答的处理方法不一而同。本文档(RFC5681)并未说明应该如何处理,而是强调这一问题还需要额外的关注、试验和规范制定等工作。
快速重传与快速恢复 (Fast Retransmit/Fast Recovery)
• 当一个乱序
数据段
到达时,TCP接收端应当立即发送一个
重复应答
(Dup.ACK)。这个ACK的目的是通知发送端收到了乱序
数据段
以及接收端所期望的序列号(SEQ)。从发送方的视角来看,造成
重复应答
的网络问题包括:
–首先,丢包会造成
重复应答
。此时发生丢失的
数据段
之后的所有
数据段
都将会触发
重复应答
,直到丢包问题得到修正。
–其次,
重复应答
也可能由于网络对
数据段
进行了重新排序而导致(由于网络通常存在多条路径,这也是常见的事)。
–最后,重
复应答
还可能是由于网络对应答(ACK)或
数据段
的复制所造成的。
• 此外,TCP接收端在收到一个
数据段
可以填满或部分填入序列号的空隙(即乱序或丢包时还未进行应答的序列号区间)时,应当立即发送一个应答。这个操作能够及时通知接收端利用算法从丢包状态恢复正常,这些算法包括重传超时、快速重传、先进丢包恢复算法,将在4.3节中进行描述。
欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/)
Powered by Discuz! X2