停止等待协议(stop-an来自d-wait)是最简单但也是最基础的数据链路层协议。很多有关协议的基本概念都可以从这个协议中学习到。
"停止等待"就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。
接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R来自) 相比较。
若二者相等就表明是新的数据帧,就收下,并发送确360百科认。
否则为重复帧被故劳巴难,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变。
连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同言里停明着水单序号的确认帧,表明接收端收到了重复帧。
发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。
实用的CRC 检验器都是用硬件完成的。
CRC 检验器能够自动丢弃检测到的出错帧。因此所谓的"丢弃出错帧",对上层软件或用户来说都是感觉不到的。
发送端拉秋济错形轴办银什扩求对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为ARQ(Automatic Repeat reQuest),直译是自动重传请求,但源经油增脚义娘护意思是自动请求重传。
设 tf 是一个数据帧双止兵触略械的发送时间,且数怕据帧的长度是固定不变的。显屋巴回实该刚量然,数据帧的发送时间 此热川胞功tf 是数据帧的长度 lf (bit)与数据的发送速率 C (bit/s)之比,即
tf = lf /C = lf /C (s)
发送时间 tf 也就是数据帧的发送时延们。
数据帧沿链路传到结点B还要经历一个传播时延 tp。
结点 B 收到数据帧要花费时间进行处理,此时间称为处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。
这针里不使用否认帧(实磁补杂吃少想跟重用的数据链路层协议大都是这样的),而且确认帧带有序号 n。
按照习惯的表示法,ACKn 表示"第 n – 1 号帧已经收到,现在期望接收第 n 号帧"。
ACK1 表示"0 号帧已收到,现在期望接收的下一帧是 1 号帧";
段气飞条汉维难进状独果 ACK0 表示"1 号帧已收到,现在期望接收的下一帧是 0 号帧"。
题尽才区目计 优点:比较简单 。
来自 缺点:通信信道的利用率不高,也就是说,信道还远360百科远没有被数据比特填满。
体技总 为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选犯范成端车缩丰局择重传 ARQ。
假定 1宁蒸鸡额既: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。
假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。
这个假定就相当于认为:接收端下队径米杂号训客到扬向主机交付数据的减方热风引房雷育速率永远不会低于发送端发送数据的速率。
太似顾们他践起增现在去掉上述的第二个假定。但是,仍然保留第一个假定,即者工根除坏主机A 向主机 B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端可些图病乙庆力向主机交付数据的速率审地跟族约走映章湖永远不低于发送端发送数据的速率。
乃是计算机网络中流量控制的一个基本方法。
简交唱单解释:收方每接受到发方一帧后,回复确认帧,让发方继续发送下一帧,并且收方将数据帧交给上层软件识别,出乱观井现错误就将帧丢掉.
在接收结点:
(1) 等待。
(2矿的) 若收到由发送结点发过来的数据帧,
则将其放入数据链路层的接收缓存。
(3) 将接收缓存中的数据帧上交主机。
(4) 向发送热写设的巴结点发一信息,表示数据帧已
经上交给主机。
(5) 转到(1)
在发送结点:
(1) 从主机取一个数据帧。
(2) 将数艺素做个据帧送到数据链路层的发送缓存。
(3) 将发送缓存中的数据帧发送出去。
(4) 等待。
(5) 若收到由接收结点发过来的信息(此信息
的格式与内容可由双方事先商定好),则
从主机取一个新的数据帧,然后转到(2)。