快恢复算法的两种实现方式
最近在看小林的计网面经,已经学习到了拥塞控制阶段,但在快恢复算法步骤中出现了疑惑,怎么跟之前考研时学习的快恢复算法步骤不一样?
印象中的快恢复算法的步骤应该是如下图所示:
我们来对比一下小林画的快恢复算法图:
后来查找谢希仁的《计算机网络第七版》,发现这两个方式应该都是正确的,只是不同的实现方式,我们来看一看书中的原话:
“请注意,也有的快恢复实现是把快恢复开始时的拥塞窗口cwnd值再增大一些(增大3个报文段的长度),即等于新的ssthresh + 3 * MSS。这样做的理由是:既然发送方收到3个重复的确认,就表明有3个分组已经离开了网络。这3个分组不再消耗网络的资源而是停留在接收方的缓存中(接收方发送出3个重复的确认就证明了这个事实)。可见现在网络中并不是堆积了分组而是减少了3个分组。因此可以适当把拥塞窗口扩大些。”
问题解决。