首页 > 编程知识 正文

关于GBN 回退N协议的一些理解

时间:2023-05-04 14:48:57 阅读:226207 作者:1859

复习计网时遇到的一个题:

首先给出停等协议中的信道利用率计算公式(这里强调是停等协议):

                                          ​​​  

 注意这里的T1是一个帧的发送时间,因为在停等式中是以一个帧的发送周期为单位来考虑的。这里再说一下帧的发送周期:T = 发送时间T1 + 2倍的传输时延T0 + 响应帧的发送时间T2

周期就是:对发送方而言,发送方从发送第一个数据开始,到接收到该确认所经过的时间。

这里如果惯性思维直接把公式带入计算,不难发现,帧越长,信道利用率越高。

在这个题中,T1=T2。             

T0是定值,T1越大,越大。如果是这么做的话就直接取512byte了,会得到一个错误的答案。

        我们需要仔细想一下的是,这是psdbd协议,不是只传一个帧就不动了,后续传输的帧难道不纳入信道利用率的计算范围吗。这样的出来的结论在psdbd里想想都是错的,迷惑我们的只是惯性思维而已。

        最开始我对psdbd的理解是一直发送帧,然后那个帧出错了,就退到那个帧去,继续往后发。这么理解显然没错,但是太浅显了。因此我突然无法理解为啥psdbd中需要有窗口大小这个东西,但仔细一思考之后,会考虑到这个问题,怎么退回到前N帧,帧的序号位数必定是有限的,那么窗口的大小就大概确定了:1~2^n-1,n为帧的序号位数。

        再说一下psdbd的详细解释:在一个帧的发送周期内继续发送之后的帧,出错后回退N帧。前面这句话很重要,方便了理解和记忆。因为一个发送周期内的帧的数量必定是有限的,这里是不是可以理解为这一个周期内的帧数就是窗口大小,我们只需对这一个窗口的帧进行编号,那么那个帧错了就可以立马回退N帧。那就是说,在传输时延确定的情况下,窗口大小只和帧的大小有关,并且为反比关系,帧越小,窗口越大。

        上面的计算公式:

可以理解为:相同数据大小下,发送窗口越大,信道利用率越高。为了解释这句话,我们吹毛求疵的再来理解一下信道利用率的定义,在一个传输周期内实际传输数据所用时间和周期时间之比,即为信道的利用率。周期时间之前讲过,就不赘述。那么在psdbd中实际数据的传输时间不就是窗口的所有数据传输时间吗,周期还是一个帧的传输周期。那么上面计算的公式就是对的,只需要把T1理解为整个窗口数据的传输时间即可。(上面的周期时间为2(T0+T1)只针对此题,一般周期时间的计算上面有提)。这样的话是不是窗口越大,T1越大,信道利用率越高了。

再回到开始的题目,就很好理解了。我们只需要求窗口大小就行。

这里把逻辑理一遍,帧越小,窗口越大,信道利用率越高。

这里还需要确定T1的大小,也就是一个帧的发送时间,不然无法计算。首先是要确定帧长,给出的最合理的解释是由于响应帧与发送帧等长,要减小响应帧的开销,于是取128kb。这里就是我不太认同的地方,于是有了上述推敲,用数学的方法来论证为什么要取128kb。

计算得N=10.4,显然要取n=4。2^4-1=15>10.4

做到这个题的时候看了两篇文章,都觉得讲的有些瑕疵,也看了视频,觉得是在敷衍我,才写下这么多。希望能帮到在做这个题的人理解一下关于信道利用率,psdbd的内容。计算都不难,最主要是理解。这里给一下这两篇文章与视频的链接。

Reference:

https://www.bilibili.com/video/av200019968/

计网真题:信道利用率计算_suliangkuanjiayou的博客-CSDN博客_信道利用率

关于信道利用率的总结与一道习题的最终解释_Bing's Blog-CSDN博客_信道利用率定义

最后补充一点关于最小帧长的内容,算是复习计网的笔记:

在CSMA/CA中,在最坏的情况下,冲突被被检测到的时延是2T0(T0为传输时延),就是发送方的数据刚到接收方时耗时T0,接收方此时发送数据造成冲突,冲突消息再传回给发送方耗时T0。

CSMA/CA存在一种边发边听的机制,这样就要求我们在数据的发送期间要能监听到冲突的发生(如果不这样的话发送方没检测到冲突会误以为发送成功)。于是必须要限制最小帧长使得 发送时间T12T0,这样最小帧长M=V发送速率*2T0。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。