在练习练习的过程中,我遇到了以下练习,我无法绕过头脑。看看解决方案,我不知道他们如何得出第6轮传输中发送数据包32到63的结论。如何计算63?
{{3}}
发送第70段的传输轮次是什么时候?
解决方案:
During the 1st transmission round, packet 1 is sent;
packet 2-3 are sent in the 2nd transmission round;
packets 4-7 are sent in the 3rd transmission round;
packets 8-15 are sent in the 4th transmission round;
packets 16 to 31 are sent in the 5th transmission round;
packets 32 to 63 are sent in the 6th transmission round;
packets 64 to 96 are sent in the 7th transmission round.
Thus packet 70 is sent in the 7th transmission round.
答案 0 :(得分:1)
通过提供练习链接,我们可以看到TCP传输在练习1中的第6轮传输中从慢启动变为拥塞避免(我们可以看到图形变化梯度,下一段是为什么)。
根据RFC 2001 Article .1 & .2
(link),我们可以看到当我们进入TCP拥塞避免拥塞窗口大小(cwnd)时,每个传输回合的段大小应该只增加1。 / p>
再次查看练习(以及上面的注释),我们看到传输了以下段大小(注意包是否包含非常重要,因此第6轮传输包含32数据包,第7轮包含33个数据包):
During the 1st transmission round, packet 1 is sent; | Current Window Size of (1)
packet 2-3 are sent in the 2nd transmission round; | Increase window by 1 segment (2)
packets 4-7 are sent in the 3rd transmission round; | Increase window by 2 segments (4)
packets 8-15 are sent in the 4th transmission round; | Increase window by 4 segments (8)
packets 16 to 31 are sent in the 5th transmission round; | Increase window by 8 segments (16)
packets 32 to 63 are sent in the 6th transmission round; | Increase window by 16 segments (32)
*** Here we switch to Congestion Avoidance
packets 64 to 96 are sent in the 7th transmission round. | Increase windows by 1 segment (33)
由于数据包是包容性的,所以练习是正确的,通过说明数据包32,一直到包括数据包63(因此让我们想象数据包63的结尾基本上是数据包64的开头)传输第6轮。