一 顺序接收管道协议
连续重发请求(Continuous RQ)方案就是指顺序接收管道协议。该协议的实现过程如下:
- 发送方连续发送信息帧而不必等待确认帧的返回;
- 发送方在重发表中保存所发送的每个帧的备份;
- 重发表按先进先出队列规则操作;
- 接收方对每一个正确收到的信息帧返回一个确认帧;
- 每一个确认帧包含一个惟一的序号, 随相应的确认帧返回;
- 接收方保存一个接收次序表,它包含最后正确收到的信息帧的序号;
- 当发送方收到相应信息帧的确认帧后,从重发表中删除该信息帧的备份;
- 接收方因某一帧出错, 则对后面再发送来的帧均不接收而丢弃。 换句话说, 接收方只允许顺序接收。而发送方发现前面帧未收到确认信息,计时器已超时,不得不退回重发最后确认序号以后的帧。
这种方法称之为“回退N” (Go-back-N) 策略的重发请求法。
Go-back-N策略的基本原理是, 当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了n个帧后, 若发现该n帧的前一帧在计时器超时区间内仍未返回其确认信息,则该帧被判定为出错或丢失,此时发送方就不得不重新发送该出错帧及其后的n帧。 这就是Go-back-N(退回N)法名称的由来。
Go-back-N法操作过程如图4-4所示。图中假定发送完8号帧后, 发现2号帧的确认返回在计时器超时后还未收到, 则发送方只能退回从2号帧开始重发。
一般帧序号只取有限位二进制数,到一定时间后就反复循环。 若帧号配3位二进制数,则帧号配 3 位二进制数, 则帧号在0~7 间循环。 如果发送窗口尺寸取值为2, 则发送过程如下图所示, 图中发送方阴影部分表示打开的发送窗口, 接收方阴影部分则表示打开的接收窗口。 当传送过程进行时,打开的窗口位置一直在滑动, 所以也称为滑动窗口, 或简称为滑窗。