协议:两台计算机通信时对传送信息内容的理解、信息表示形式以及各种情况下的应答信号都必须遵循的一个共同的约定。
停止等待协议(数据链路层):
工作原理:发送方每发送一帧就暂停,等待应答(ACK)到来。收方收到数据帧后发送应答(ACK)帧给发送方,发送方再发送下一个数据帧。
问题解决:
1. Data帧出错:收方用NAK应答。
2. Data帧丢失:使用定时器,一定时间未收到ACK帧就重发。
3. 收方收到重复的data帧:进行帧编号。
缺点:数据每次发送都要等待应答帧的到来,效率较低。尤其是利用卫星进行通信的时候,卫星的传播延迟是270毫秒,每发一帧要用540毫秒。
连续ARQ协议(数据链路层):ARQ(Automatic Repeat reQuest)--自动请求重发,又称GO-BACK-N。
特征:
1. 一次可发多帧。
2. 流水线发送和接收。
工作原理:接收端只按序接收数据帧。虽然在有差错的2号帧之后接着又收到了正确的3个数据帧,但都必须将它们丢弃,因为这些帧的发送序号都不是所需的2号。结点A重传2号帧时, 以后的各帧也要全部进行重传。结点A在每发送完一个数据帧时都要设置超时定时器。在定时器超时(Timeout)后仍未收到确认帧,就要重发。在等待2#数据帧时,收到非2#帧,或出错的2#帧,有两种解决方法:一是收方发送应答帧“REJ 2#”--拒收2#帧,要求发方重发2#数据帧;二是不发送应答帧。
|