GBN协议的最大窗口

使用GBN协议,发送窗口的大小W的范围是1~2^n-1。即最大窗口是2^n-1。这里很容易记错为2^n,如下面这道题

正确答案是,最大窗口数为2^8-1=255,所以有(255x128x8)/30=8.704Kbps。


可以这么理解:以下假设采用n=2个比特位对帧编号,帧编号有0,1,2,3(00,01,10,11)4个:

当发送窗口最大值为2^n=2^2=4时:

发送方发送序号从0~3的4个帧,等待确认
接受方正确收到这4个帧,对最大序号3进行确认
发送方有两种情况:(1)发送序号为0~3的4个新帧(2)因确认丢失而超时,重发4个老帧

此时接受方无法判断收到的是4个新帧还是重发的4个老帧,会产生错误。


当发送窗口最大值为2^n-1=2^2-1=3时:

帧编号有0,1,2,3(00,01,10,11)4个:

发送方发送序号从0~2的3个帧,等待确认
接受方正确收到这3个帧,对最大序号2进行确认,并准备接收序号为3的帧
此时发送方有两种情况:(1)收到确认,发送序号为3及0~1的3个新帧(2)因确认丢失超时,重发序号为0~2的3个老帧

接收方如果收到序号为3的帧,表明这一批是新帧就接收并且对序号2确认,如果没有收到序号为3的帧,则对0~2序号的帧不予接收,并重发对序号3的确认帧。知道收到正确的帧。

最后对于发送方:如果收到的确认序号在发送窗口内就继续发送新的数据帧,如果确认序号不在发送窗口内或超时:重传发送窗口内的帧

这时没有矛盾产生。

发布了30 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40093242/article/details/94607732