首页 > 试题广场 >

为使得信道利用率达到最高,帧序号的比特数至少为( )。

[单选题]

两台主机之间的数据链路层采用后退N帧协议( GBN)传输数据,数据传输速率为 16kbit/s,单向传播时延为 270ms,数据帧长度为 128~512B,接收方总是以与数据帧等长的帧进行确认。为使得信道利用率达到最高,帧序号的比特数至少为( )。

  • 5
  • 4
  • 3
  • 2
问题可以转化为:为使信道利用率达到最高,至少可以传输多少帧?那么如果我们两台主机对帧的处理速度一致时,信道利用率最高。那么一个帧从一台主机到另一台主机的时间为(128*8/(16*10^3))*2+270*2=668ms,在这段时间内,一台主机一共可以发860/(128*8/(16*10^3))=10.4帧,因此帧序号的比特数至少为4,才能表示这么多帧。
编辑于 2017-03-28 20:48:34 回复(6)
我先说说为什么选择128而不是512 如果此题选择512来算,得到一个最小帧序号比特位n,那么如果之后此链路上的两台主机因为某种需要,只采取128来发送,就会发现需要的帧序号数值,n根本表示不了,因此采取128
发表于 2020-10-14 21:42:21 回复(0)

此题无论帧长度x取何值信道利用率都可达最大值1,故信道利用率为1是前提条件,而不是最终目的,位数只需满足帧数n为最大时即可,即x取128


发表于 2019-10-02 11:06:03 回复(0)
GBN(Go-Back-N),后退N帧协议就是从出错处重发已发出过的N个帧为什么你们都用128B,而不用512B。“为使信道利用率能够达到最高”使用512B,“为使信道利用率必须达到最高”则使用128B进行计算。
编辑于 2021-01-17 20:29:23 回复(4)
后退N帧协议( GBN)信道利用率达到最高可以达到100%,这就需要主机从发送一个帧到接收到对这个帧的确认为止的时间内一直发送数据,这段时间是2*270+2*128*8/(16*1000)=668ms,这段时间总共可以发送668/64=10.4(帧),发送这么多帧至少需要用4位比特进行编号
发表于 2017-09-13 09:15:07 回复(4)
这个题最关键的就是判断是使用128B还是512B,这个是这道题的考察目的。
评论那么多,就一个老哥仔细思考了。
为什么使用128B?
因为当收到512B的帧时,序号足够多,可以满足发送需求
如果使用512B
就会因为序号不足而限制了发送效率
所以这个题使用的是128B。
剩下的就是简单的计算了

发表于 2019-04-09 19:03:57 回复(2)
接收方总是以与数据帧等长的帧进行确认,所以只考虑单向就可以。要想信道利用率最高,单向时延和数据传输速率一定,就要使数据帧中的字节数最多,这里即为512B=2^9,所以序号的比特数满足2^x>=9,故x最少为4。我是这样理解的。
发表于 2017-02-18 10:56:07 回复(2)
同一段比特流在组帧的的时候,当数据帧的长度是128B时,总的帧数是比特流总量除以128,当数据帧的长度是512B时,总的帧数是比特流总量除以512,所以在同一段比特流下,数据帧长最小时,所组帧数量最多,需要的帧序号编码数自然多。所以用128B


发表于 2018-10-28 19:06:22 回复(0)
10.4帧向上取整为11二进制表示要4位
发表于 2019-09-07 16:28:24 回复(0)

在一个来回的2×270ms时间内,发送方可以发送至少9个128字节的数据帧。帧序号8需要用4位二进制数表示。

参考 https://wenku.baidu.com/view/7b62c70653ea551810a6f524ccbff121dd36c5d4.html

发表于 2017-03-11 21:28:23 回复(0)
计算为0-8共9个编号 log9 >3 故需要4位二进制编码
发表于 2017-02-07 08:19:22 回复(0)