首页 > 试题广场 >

则甲可以达到的最大平均数据传输速率约为 ()

[单选题]

主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道宽带为100Mbps,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲乙之间的单向传播延迟是50ms,则甲可以达到的最大平均数据传输速率约为 ()

  • 10 Mbps
  • 20 Mbps
  • 80 Mbps
  • 100 Mbps
后退N帧协议(GBN)传输数据,是指发送方不需要在收到上一帧的ACK后才能开始发送下一帧,而是可以连续发送帧。当接受方检测出失序的信息帧后,要求发送方重发最后一个正确接受的信息帧之后的所有未确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不又重传该出错帧及随后的N个帧。 也就是说直到接收方返回确认信息之前,发送方可以一直进行数据发送,所以 发送窗口大小指的就是在接到返回 帧之前送能发送的最大数据量。

因为 发送窗口大小为1000,所以 甲在收到乙发送回来的确认 之前,可以发送1000个 数据 ,而每个 帧的大小为 1000B,所以一共可以传输1000*1000B=1MB的数据。

由于 单向传播延迟是50ms,从甲的第一个数据到达乙,再到甲收到乙发来的确认 帧共需2*传播时延,即100ms=0.1s。

因此其实际传输效率是1M/0.1s=10M/s, 因为 1Byte=8bit,所以 10M/s=80Mbps。

信道宽带为100Mbps,实际为 80Mbps,类似于木桶短板理论,最大值的多少由最慢的速度决定,所以这里取二者最小值,即 80Mbps。

以上
编辑于 2017-02-03 22:01:31 回复(11)
甲的发送窗口为1000,也就是说在发送出去一帧之后,在接收到该帧的确认帧之前最多只能再发999帧,而收到确认帧的时间为50ms×2=100ms。要想传输速率最大,就得在收到第一帧的确认帧之前把剩下的999帧都传输出去,这时候传输速率最大,相当于100ms发送了1000帧。若是收到确认帧再发送下一帧,那这时候传输速率最小,也就是100ms只发了1帧
发表于 2018-05-20 14:01:59 回复(2)
讨论里的解释有点复杂,补充一种简单的思路。 对于一帧而言: 它的发送时延TD是,1000B/100Mbps=80μs; RTT=2*传播时延是,100ms; 它的确认帧的消耗时延TA,依题忽略不计; 则一个周期T=100ms+80μs+0≈100ms. 对于窗口大小为1000来说,整个信道利用率为,(1000*80μs)/100ms=80ms/100ms=80%. 即整个带宽可以认为只有80%的利用率。而带宽为100Mbps,而100Mbps*80%=80Mbps。即为所求。
发表于 2018-12-14 04:39:05 回复(2)
跟信道带宽没关系。 在算发送速率时才用到信道带宽。
发表于 2017-12-28 00:55:57 回复(0)
可以画图分析一下周期
发表于 2023-11-30 22:08:50 回复(0)
1MB的数据不全都是rtt里发出去的,应加上第一个发出去要0.08ms。即100.08ms发了1MB
编辑于 2019-11-07 19:22:36 回复(0)
不考虑传输时间,根据GBN的传输规则,可以认为,0.1s(2*RTT)即可传输1000*1000Byte = 1M,因此,在1s内,可以传输1M/0.1s = 10M/s(注意到此时单位为字节,共8位字),题目中要求的单位为Mbps(以字为单位),因此10M/s = 80Mbps,即为本题答案。
发表于 2019-01-08 20:02:55 回复(0)