计算机网络——经典的128B和512B之问

问题来源

(2012年联考) 两台主机之间的数据链路层采用了后退N帧协议(GBN)传输数据,数据的传输速率为16kbps,单向传播时延为270ms,数据帧的长度范围是128~512字节,接收方总是以数据帧等长的帧进行确认(即确认帧长度与发送的帧一样大)。为使信道利用率最高,帧序列的比特数至少是(B)

A.5 B.4 C.3 D.2

定量分析

数据帧的长度在[128B, 512B]范围内都可以取得,假设我们取512B作为帧长,那么

512*8/16000=0.256s

第一个确认帧到达的时间:(0.256+0.27) × 2=0.526 * 2=1.052s
此时已经发送的数据量:1.052 × 16000=16382bit
相当于512B的帧数: 16382/(512×8)=4.1093帧,
假设将发送窗口位数设为3,最多发送7帧,
使用128B作为帧长,128 × 8/16000=0.064s
发送方将发送窗口内的数据都发送出去的时间: 0.064 × 7=0.448s
而当帧长为128B时候,收到第一个确认帧的时间为:0.064+0.27 × 2+0.064=0.668s
说明如果帧长是128B时,如果发送窗口为3,发送方发送了7帧,第一个确认帧还是没到,还得等

只要帧长比128B大,就会出现帧长XB的时候可以利用率达到100%,而当帧长为128B时候,就达不到100%

证明

设帧长为L,假设在没有帧数限制的情况下,接收到第一个确认帧时,发送方发送的帧数为
在这里插入图片描述
说明在不限制帧数量的情况下,要达到100%的利用率,128B需要的帧数量一定比512B的多。
那么如果使用512B的帧数量作为标准,那么当帧长变成128B的时候还是使用这个数量标准,那么就达不到100%的利用率了。
信道利用率: 对发送方而言,发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
发送周期: 发送方从发送第一个数据开始,到接收到第一个确认帧为止。

使用128B,算出一个发送周期可以发送的帧数为10.4375,所以帧序列的比特数至少为4才能表达。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值