2014-02-21 424 views
1

我想了解如何通过求解一些数值示例来计算滑动窗口数据传输的吞吐量。下面是我的分析后面的例子。滑动窗口数据传输的最大吞吐量

主机A将数据发送到主机B,历经全双工链路。 A和B使用滑动窗口协议,每个发送和接收窗口大小为5。仅从A发送到B的数据包大小为1000字节,一个这样的数据包的传输时间为50us。传播延迟是200 us。假设Ack数据包需要可忽略的传输时间。 Mbps的最大可达到吞吐量是多少?
A. 7.69 B. 11.11 12.33 C. D. 15.00

分析

  • 往返时间是2 * 200我们= 400我们。             ...填补发送窗口=窗口大小(5)1包的*发送时间(50微秒)= 250我们需要一个
  • 时间。            。B
  • 由于B < A,发送者在发送数据包6日之前等待ACK给1包。这一点出现在450美元。 (往返时间为400美元)
  • 在250 us和450 us之间,发送者处于空闲状态,即没有新的数据通过线路发送。
  • 假设发件人有无限量的数据帧供应,上面的循环会重复。
  • 因此,在每450美国,发送者发送5个数据包= 5 * 1000 * 8 = 40000位数据。
  • 因此,吞吐量= 40000比特/ 450 us = 84.7710兆比特每秒。 (84.7710 Mbps)

但是,这不是给定的选项之一,甚至没有关闭!上述分析中是否有错误?

+0

其实您的计算结果为88.88 ... Mbps。现在,你确定他们不要求MBps(字节)吗?因为这将作为其中一个选项完美结束(11.11)。你的计算似乎对我是正确的。 – KillianDS

回答

1

正如我在评论中所述,您的分析和计算方法是正确的。但是,如果我是你,我会检查我的计算器,因为40000 bits/450 us = 88.88...Mbps,而不是84.7710 Mbps

我不认为这仅仅是巧合,​​3210只是11.11*8,所以这是一个公平的假设,问题实际上是要求每秒兆字节而不是每秒兆比特。

+0

自从我问这个问题以来,它已经很长时间了,所以我不得不再次滑动窗口协议*,但我认为你是对的。我的计算中有一个错误。 MB/Mb(兆字节或兆字节)的扩展是混淆的一个丰富来源,因为不同的作者使用它的方式不同,在这种情况下,我认为作者/编辑也很困惑。这个问题是由Andrew Tanenbaum的计算机通信网络逐字引用的。 –

0

吞吐量=窗口/ RTT

这里窗口大小= 5 * 1000字节= 5000字节。

RTT = 50us + 2 * 200us => 450us。

因此吞吐量= 5000字节/ 450 us = 11.11Mpbs