计算停止等待协议中的利用率

计算停止等待协议中的利用率

因此,我的书中存在这个问题,但它并没有确切说明如何实际计算利用率,而且我无法找到有关解决这个问题所需的一切的任何实质性信息。(我的期中考试在下周)。

无论如何,问题是:

地球与遥远行星之间的距离约为 9 × 10^10 米。如果在 64 Mbps 点对点链路上使用停止等待协议传输帧,信道利用率是多少?假设帧大小为 32 KB,光速为 3 × 10^8 米/秒。

假设改用滑动窗口协议。当发送窗口大小为多少时,链路利用率将达到 100%?您可以忽略发送方和接收方的协议处理时间。

感谢任何有想法的人。

答案1

任何连接都有带宽和延迟。带宽决定了每秒可以在连接上传输多少数据 - 64Mbps。延迟决定了数据到达另一端所需的时间。在这种情况下,另一端距离很远,数据最高可以以光速传输。因此,延迟就是一帧到达另一端所需的时间

如果我们简化一下,假设另一端距离 100 米,发送一个数据包需要 10 分钟,超过 100 米。因为我们使用的是停止等待协议,所以每个数据包需要 10 分钟才能到达另一端,确认信息需要 10 分钟才能返回给我们,我们必须等待响应,然后下一个数据包才能离开。

所以这意味着我们每 20 分钟只能发送 32KB,即使我们的管道可以发送 64Mbps。

32KB 为 256kbits,20 分钟为 1200 秒。因此,我们可以每 1200 秒发送 256kbits,即 .213 kbps - 这是 64Mbps 的一小部分 - 连接利用率为 0.0003%。

您可以对行星进行相同的计算,并且考虑到距离,任何额外的延迟开销(例如对数据包进行编码或将其放入发射器)都可以被认为是可以忽略不计的(这是由于问题中没有提及)。

答案2

对于停止并等待 Tx = L / B = (32 X 10^3 X 8) / (64 X 10^6) = 0.004 秒,Tp = D / V = (9 × 10^10 ) / (3 × 10^8) = 300 秒 => RTT = 2 * Tp = 600 秒,则利用率 = 1 / (1 + 2a) = 1 / 1,50,001 = 6.667x10^-6 = 6.667x10^-4 %(其中 a = Tp / Tx = 75000)

对于 SWP,如果效率为 100%,则窗口大小 (w) <= 2a + 1,则 w <= 2 (75000) + 1 = 1,50,001,其中 a = Tp / Tx = 75000`

相关内容