计算机网络原理——数据链路层的停止等待协议、ARQ协议
1.停止等待协议
1.1特征:发方每发送一帧就暂停,等待应答(ACK)到来。收方收到数据帧后发ACK帧给发方,发方再发送下—个数据帧。
1.2要解决的问题:
- DATA帧出错。
对策:收方用NAK应答。 - DATA帧丢失。
对策:使用定时器及重发。 - 收方收到重复的DATA帧。
对策:帧编号:0,1,0,1…
1.3停止等待协议的具体工作过程:
1.4停止等待协议的优缺点:
优点:比较简单。
缺点:
- 数据每次发送都要等待应答帧的到来,效率较低。尤其是利用卫星进行通信的时候,卫星的传播延迟是270毫秒,每发一帧要用540毫秒。
- 通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。
2. 连续ARQ协议
2.1概念: ARQ(Automatic Repeat reQuest)–自动请求重发,又称GO-BACK-N(回退N帧)协议
一次可发多帧
流水线发送和接收
2.2 工作原理
- 接收端只按序接收数据帧。虽然在有差错的2号帧之后接着又收到了正确的3个数据帧,但都必须将它们丢弃,因为这些帧的发送序号都不是所需的2号。
- 结点A重传2号帧时, 以后的各帧也要全部进行重传
- 结点A在每发送完一个数据帧时都要设置超时定时器。在定时器超时(Timeout)后仍未收到确认帧,就要重发。
- 在等待2#数据帧时,收到非2#帧,或出错的2#帧,可以:
- 收方发送应答帧“REJ 2#”–拒收2#帧,要求发方重发2#数据帧
- 不发送应答帧
2.3优缺点:
优点:连续发送多帧后才等待应答(采用捎带应答),顺序接受(由于减少了等待时间,整个通信的吞吐量就提高了)。
缺点:若N(R)帧(某一帧)出错,需重传该N(R)及其以后各帧,使得传送效率降低。
2.4 滑动窗口协议:
作用:
- 进行流量控制:发送窗口用来对发送端进行流量控制,而发送窗口的大小WT就代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。
- 重复使用帧编号:
NS–发送序号:通常取0至“2的n(整数)次幂减1”
NR–接收序号:期望收到的对方发出的帧的发送序号
基本概念:
- 发送窗口:若干序号的集合,隐含发送方缓冲区的大小。
- 发送窗口大小:发送端允许连续发送的未应答的数目W(也称窗口尺寸),即发送允许连续发送W帧而不应答。
- 发送窗口下限(后沿):最近收到应答帧中NR值。
- 发送窗口上限(前沿):最近一次发送帧编号NS值。
- 窗口滑动过程:
选择重传ARQ协议(顺序发送,乱序接受)
注意: 连续ARQ协议中,最大发送窗口大小 不能等于2^n。