我的书中有一个关于计算“利用率”(utilisation)的问题,但是我没有找到任何实质性的信息来解决它。
无论如何,这里是问题:
地球到达某个遥远星球的距离大约为9×10^10米。如果在64 Mbps点对点链路上使用停等协议进行帧传输,通道的利用率是多少?假设帧大小为32 KB,光速为3×10^8 m/s。
假设使用滑动窗口协议。当发送窗口大小为多少时,链接利用率将达到100%?您可以忽略发送方和接收方的协议处理时间。
我的书中有一个关于计算“利用率”(utilisation)的问题,但是我没有找到任何实质性的信息来解决它。
无论如何,这里是问题:
地球到达某个遥远星球的距离大约为9×10^10米。如果在64 Mbps点对点链路上使用停等协议进行帧传输,通道的利用率是多少?假设帧大小为32 KB,光速为3×10^8 m/s。
假设使用滑动窗口协议。当发送窗口大小为多少时,链接利用率将达到100%?您可以忽略发送方和接收方的协议处理时间。
这是一个相当简单的问题。 利用率是媒介被使用有效字节的时间部分,即有效负载字节(没有标题或确认/否定帧)。
在您的问题中,未指定标题并且未给出ACK大小,因此我将假设它们的大小均为0。
每个周期为 Tx + 传播时间 + ACK 传播时间 = Tx + 往返时延(RTT)
Tx = 32KB/64Mbps = 0.004 seconds (assuming base 10 for kilo and mega)
RTT = 2 * (9*10^10m) / (3*10^8m/s) = 600 seconds
Utilization = 0.004 / (600 + 0.004) = 6.667x10^-6 = 6.667x10^-4 %
这是一种非常糟糕的利用方式,因为传输介质非常长,等待 ACK 的时间很长,浪费了很多时间。
由于没有出错的可能性,我假设其为0。要达到100%的利用率,您需要在等待 ACK 的同时不断传输数据包,也就是在整个时间段内不停地传输。
period = 600.004 seconds
1 Tx = 0.004 seconds
要实现不间断的Tx
,您需要在每个时期传输600.004/0.004
个数据包,因此150001
应该是您的窗口大小。