—条链路传输带宽为2Mbps,长度为10000km,信号传播速率为2.0×105km/s,分组大小为100B,忽略应答帧大小。如果采用停止等待协议,问最大吞吐率((实际可达的最高平均数据速率)是多少?信道利用率是多少?如果采用滑动窗口协议,要想达到最高吞吐率,发送窗口最小是多少?
时间: 2023-06-09 21:03:21 浏览: 790
根据停止等待协议的公式计算可得,发送时间 T = L / R,其中 L 是数据包长度,R 是信道带宽。因为忽略应答帧大小,所以一个数据包往返需要的时间是 2T。而链路长度为 10000km,传播速率为 2.0×10^5 km/s,所以一个数据包从发送端到接收端需要的时间是 L / v = 10000 / (2.0×10^5) = 0.05s。因此,一个数据包往返需要的时间是 0.1s。那么,发送一个数据包需要的时间就是 T + 0.1s。
假设网络延迟小于等于一个数据包往返时间,即 0.1s。那么,发送一个数据包到接收方之后,要等待确认帧,才能继续发送下一个数据包。因此,一个往返时间内只能发送一个数据包。所以,最大吞吐率 = 分组大小 / (2T + 0.1) = 100B / (2 * 2Mbps * 0.05s + 0.1s) = 71.43kbps。信道利用率 = 发送窗口大小 * 分组大小 / (2T + 0.1) = 1 * 100B / (2 * 2Mbps * 0.05s + 0.1s) = 71.43%。
接下来考虑滑动窗口协议。为了达到最高吞吐率,需要让发送方的窗口尽可能大,但是不能出现超时重传的情况。根据滑动窗口协议的公式,发送窗口大小 = 带宽 * 时延 / 分组大小。其中带宽和分组大小都已知,时延需要分别计算发送方和接收方的延迟。对于发送方的延迟,只需要考虑一个数据包从发送端到接收端需要的时间,即 L / v = 10000 / (2.0×10^5) = 0.05s。对于接收方的延迟,假设确认帧大小为 10B,可以认为数据包和确认帧的传输时间是相同的。因此,接收方的延迟也是 0.05s。将这些数据带入公式,可以得到发送窗口大小 = 2Mbps * 0.1s / 100B = 20。因此,发送窗口最小为 20 才能达到最高吞吐率。
阅读全文