计网真题:信道利用率计算

        题目是2012年408统考的一道计网的题目
计网真题:信道利用率计算
答案选择B

知识铺垫

        帧序列的比特数(设为n个)指的就是:帧编号的数目。例如,我们帧序列的比特数为3,那么一共就可以产生8个序号,也就是从0到7。

        因为GBN协议中发送窗口大小 W发<=2^n-1;所以n越大(帧序列的比特数越大),我们发送窗口就越大,就能够将512B或者是128B一次性发出去。也就是说:在我们可以任意确定帧序列的比特数的时候,不管是128B还是512B的数据,都是可以近似达到100%的信道利用率的。

解释疑问

        解释一下两点:①:为什么是近似的100%,而不是100%;②:为什么发送窗口越大,信道利用率就越高了。

        问题①:我们可以看到信道利用率的公式:
计网真题:信道利用率计算

        解释一下发送周期:发送方从开始发送数据到接收到第一个确认帧为止。所以,发送周期并不是靠发送方发送了几个帧而确定的,而是看接收端的确认帧什么时候发送方收到。

        公式表明,分母肯定是永远大于分子的,所以只能L1/C1远远大于其他部分的时候,我们就可以说近似达到100%的利用率。当然,这个题目应该只能近似达到50%。因为这里的L2=L1,C2=C1。

问题②:
        举一个具体的例子而言:假设我们这里有1024B的数据,但是现在的发送窗口只能一次性发送512B,即:发送方在发送完512B之后,就需要等待接收端的确认帧之后,才能继续发送。发送端发送512B用了1S,单向传播时延为4S,所以发送端512B数据都发送完了,但是接收端的确认帧还没有发送过来,即这一次的发送周期还没有结束。所以,在发送方发完512B数据之后,过了7S,一个发送周期结束,为8S。在这一个发送周期中,仅仅发送了512B。但是如果我们的发送窗口可以一次性发送1024B的数据,那么发送方用了2S发送了1024B数据,但是这次的发送周期还是8S。可以看到,这次在一个周期中的数据明显增多,发送周期时间不变,所以最后得出结论:相同数据大小下,发送窗口越大,信道利用率越高

        可能你会觉得我这里举的例子过于极端,因为明显这个传播时延远远大于发送时延。但是我们看一下题目,在帧长为128B的时候,发送以帧数据所需要的时间是

(128 * 8)/ (16*10^3)=64ms

但是题目给的单向发送时延是270ms。所以我举的例子也还比较符合题意。

翻译题目

        “数据帧的范围在128B ~ 512B”是指:我们可以将一帧数据的长度定为128B ~ 512B之间。而不是说我们发送的数据是在128B~512B之间。

        “为使信道利用率达到最高,帧序列的比特数至少为多少”是指:当你的帧长定为128B到512B之间的长度时(例如帧长为128B,或者说帧长为512B,)使得信道利用率最高,此时我们的帧比特数至少为多大。即:不管你的帧长取最小128B,还是最长512B,在此时的帧比特数为n的情况下,我们的信道利用率都可以到达最大。

        其实这点和我们数据结构中的一道题目很像:
计网真题:信道利用率计算
        此时也是在问我们保证任何情况下可以连通,我们需要的最少的边数。同样我们计网的题目也是这样子,在保证任何帧长都可以满足最大信道利用率的情况下,我们的帧比特数据得是多少。

做题

        根据问题②中所举的例子来看(假如数据大小为1024B),如果帧长为512B,那么想达到最大的信道利用率,至少需要2个发送窗口(因为这样子才能一次性发完所有数据),所以根据W发<=2^n-1得:

2<=2^n-1 得:n>=2
即帧比特数至少为2

此时如果n为2的话,帧长若是128话,发送窗口现在仅仅只有2,那么肯定无法一次性发完1024B的数据,所以无法达到最大达到信道利用率。

        但是如果帧长为128B来看,那么达到最大的信道利用率,需要8个发送窗口,所以根据W发<=2^n-1得:

8<=2^n-1 得:n>=4
即帧比特数至少为2

此时如果n为4的话,帧长如果是512B,发送窗口也有8个,可以一次性发完1024B的数据,则也可以达到最大的信道利用率。

        综上所述:如果想要任何情况在都达到最大的信道利用率,我们需要按照128B的帧长去计算得到窗口大小,从而得到帧比特数。
计网真题:信道利用率计算
        我一开始这里有一个误区:我觉得会不会发送方A发送的第一个bit到接收方B的时候,B就发送了一个确认帧过来。那么这样子的话,我们上面计算的发送周期T就会有问题。
        因为接收方B发送确认帧肯定是要收到A发送来的一个帧后,而不是接收到一个bit后(我把这里和CSMA/CD中的想法搞混了)。所以我们上面的计算发送周期T就是没有问题的。

总结

  1. 我们比特帧的大小是自己人为设定的。发送窗口并不是自己想用多少就用多少。不管是GBN还是SR协议,我们都有这样的一个不等式:W发+W收<=2^n.所以我们的帧比特数决定了发送窗口的大小。
  2. 发送窗口越大,我们的信道利用率也就越高。

参考文章

关于信道利用率的总结与一道习题的最终解释