两台主机之间的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为16kb/s,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以与数据帧等长的帧进行确认...错题总结

题目:

【2012统考真题】 两台主机之间的数据链路层采用了后退N帧协议(GBN)传输数据,数据的传输速率为16kb/s,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为(B)A.5 B.4 C.3 D.2

题目思路:

 首先题干中“接收方总是以数据帧等长的帧进行确认”意味着确认帧长度与发送的帧长度一样大

错误想法:

我在初次做的时候是这样理解的,由于数据帧长度不定即要确定一个数据帧长度以确定信道利用率达到最高,那么:

传输速率C=16kb/s

传播时延R=270ms

设数据帧长度为L字节,那么其发送一帧的时间等于确认帧的发送时间为L/C,传播时延为2R,则发送周期为:

T=2*L/C+2*R

那么信道利用率可知为:\frac{L/C}{2*L/C+2*R}

显而易见当L为512B时信道利用率最大,但错误就在信道利用率中分子的意义是发送方在发生周期内共发送L比特的数据(从开始发送数据到收到第一个确认帧为止称为一个发送周期),而若按上文中假设的话,代表着在发送周期中只发送了一个帧,显然不能成立,无法算出正解。

正确思路:

由错误思路中可以想到如果我们已提前知道当数据帧长度为某一定值时信道利用率最大,那么我们只需要知道在发送周期内最多可以发多少个数据帧就可以得出就可以求出帧序号的比特数

若想要信道利用率高,则要尽可能的让信道不断发数据帧不能闲下来,若想让信道不闲下来则需要发送窗口尽可能的大,从而让发送方在周期时间内尽可能不断发数据。但是由于发送窗口不可能无限增大,因为是GBN协议,可知发送窗口W_{T}\leqslant 2 ^{n}-1(其中n为帧序号的比特数)。可以知道发送同一个数据段时,数据长度一定划分数据帧长度越小数据帧个数越多即帧序号越大,所以当数据帧长度为128B时帧序号最大发送窗口最大。

这样我们的思路就很清晰了,已知帧长度为128B

发送一个帧的时间为 128B/16kb/s=64ms

发送周期为 2*64ms+270ms*2=668ms

则在发送周期中连续不断发送数据帧的个数为 668ms/64ms=10.4帧

那么帧序号最多为10即发送窗口大小为 10\leq {2^{n}}-1

那么可知当帧序号的比特数至少为4时信道利用率最高,至此题目解完!

此题本人做错后结合以下两位大佬的文章并自己相连许久总结出的心得

★飞翔的企鹅★

DrCrypto

  • 18
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值