1.窗口协议简介以上种种问题均要求发送方(注意不是“接收方”)有较大的发送缓冲区保留可能要求重发的未被确认的帧,但是发送方的缓冲区容量总是有限的。为此,可引入类似于前面介绍的空闲重发请求(RQ)控制方案的调整措施,使发送方在收到某确定帧之前,对发送方可继续发送的帧数目加以限制。这是由发送方调整保留在重发表中的待确认帧的数目来实现的。如果接收方来不及对收到的帧进行处理,则便停发确认信息,此时发送方的重发送方的重发表就会增长,当达到重发表限度时,发送方就不再发送新帧,直至再次收到确认信息为止。为了实现此方案,发送方存放待确认帧的重发表中应设置待确认帧数目的最大限度,这一限度被称为链路的“发送窗口”(Sending Window)。这种重发机制就是著名的“窗口机制”。 滑动窗口协议属异步双工传输模式。该协议的指导思想为:发送的信息帧都有一个序号,从0到某个最大值,0~2n-1,一般用n个二进制位表示;发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号。发送窗口大小=上界–下界,大小可变。 发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应帧,下界加1。接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧。接收窗口容纳允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧,上界、下界都加1。接收窗口大小不变。在滑动窗口协议中,每一个要发送的帧都包含一个序号,范围是从0到某个最大值,最大值通常是2n–1,n为帧序号的长度。滑动窗口协议的要点是:任何时刻发送进程要维护一组帧序号,对应于一组已经发送但尚未被确认的帧,这些帧称为落在发送窗口内;类似地,接收进程也要维护一组帧序号,对应于一组允许接收的帧,这些帧称为落在接收窗口内。