在回答“计算机网络入门”(斯坦福拉格尼塔) 4-3的问题时,我发现自己无法解释其中一个问题的答案:
考虑由(仅)使用AIMD控制窗口大小的传输协议在1 kB数据包中传输的长流。最初,窗口大小为10 kB。每当窗口打开到20 kB时,窗口中的最后一个数据包就会被丢弃,在一次往返时间后准确地被检测到,然后重新传输。Q1:有多少数据包被发送到并包含第一个丢弃的数据包?Q2:一共发送了多少个数据包,其中包括丢弃的第二个数据包?提示:第二轮将是相同的。别忘了重传的数据包。
答案:
Q1:可立即发送10个数据包。当确认这10个数据包时,会发送11个数据包,然后是12个,然后是13个,…。直到20个包被发送,其中一个被丢弃。即和(10至20) = 100 + 10 + Sum (1.10)= 165包。Q2:该窗口在丢包后再次减半到10 to,然后重新启动,发送相同数量的数据包加上重新传输的数据包。即165 + 165 = 330分组。(注:先前指出的答案是331,这是不正确的。)
虽然Q1的答案在我看来是完全合乎逻辑的,但对于Q2来说却不是这样。我猜是331,因为首先发送了165个数据包,然后是重传,然后是下一批165个数据包。
331错在哪一方面?重传是否整合到下一批数据包?
发布于 2018-03-09 19:35:29
是的,重传被整合到下一批数据包中。例如:
这种可视化可以帮助您理解为什么在第一轮和第二轮中发送的数据包数量是相同的:
来源:http://www.potaroo.net/ispcol/2005-06/faster.html
发布于 2018-03-09 20:06:29
重新传输的丢弃包成为第二批的一部分--它不是单独重新传输的。
https://networkengineering.stackexchange.com/questions/48989
复制相似问题