我们知道,在选择重传协议中有对于窗口大小的限制规定:如果说采用n比特对帧进行编号,为了保证方向前移动窗口后,新窗口的序号与旧窗口序号没有重叠部分,需要满足条件:(1)接收窗口Wr+发送窗口Wt≤2^n。(2)假定仍然采用累积确认的方法,并且接收窗口Wr显然不应超过发送窗口Wt(否则无意义),(3)那么接收窗口尺寸不应超过序号范围的一半,即Wr≤2^(n-1)。(4)接收窗口为最大值时,Wtmax=Wrmax=2^(n-1)。另外,一般情况下,在SR协议中,接收窗口的大小和发送窗口的大小是相同的。

那么上面是教科书中的话语,发送窗口和接收窗口还有帧的编号数之间为什么会有这种数量关系呢?我们一条条来分析。

首先我们设采用3比特对帧进行编号,好了现在就有0~7号一共2^3=8个帧序号了,我们再设这个发送窗口和接收窗口大小都为4,这样上面四个条件都满足。现在Wt和Wr里均是0、1、2、3这四个帧序号,那么开始发送了,发送窗口呼呼地把这四个全发过来了,然后呢在接受窗口这里这四个也都依次接收到了,然后接收窗口往回发送确认帧,(这个时候也就是信道利用率最大的时候,因为没有出现需要重传的现象,也就是没有时空的浪费发生)接收方四个全收完了,这个时候接收窗口是不是就要往前移4位了,好了,现在接受窗口里面的帧编号就变成了4、5、6、7了。你看刚刚好达到最大帧序号处,现在你就应该大体有个数了,为什么会有上面的第(3)条,你想,若是接收窗口发送的4个确认帧路上出了问题,一直没送到发送窗口那里,发送窗口超时重传了0、1、2、3号帧,你接受窗口这边要是有5个窗口位,比如说0、1、2、3、4,好了,你往前移4个位置,就变成了4、5、6、7、0号帧,这个时候发送窗口发过来的0号帧,接收窗口就分不清是上一轮的0号帧,还是这一轮的0号帧了,就会出现这个问题,那么看明白这个例子,你再去看另外三条就会好理解了,这就是一个Wr与Wt以及帧序号之间的协调问题,明白了SR的过程,自然也就明白了他们之间的协调关系。