首页 理论教育 单工停等协议原理-计算机网络原理

单工停等协议原理-计算机网络原理

时间:2023-11-17 理论教育 版权反馈
【摘要】:协议将使发送方每发完一帧就等待这个应答帧的到来,故称此协议为“简单停等”协议,其程序如下:2、信道有错若信道存在有传送错误,报文帧可能受损或丢失,应答帧也可能丢失。这样前述信道无错的简单停等协议就会出问题:或向主机送去了不正确的报文,或者协议控制失败,如应答帧丢失,而发方总在等待,导致死锁。PAR协议比简单停等协议又进了一步,可以通过超时重发的方法对有差错的原始信道进行差错控制。

单工停等协议原理-计算机网络原理

去掉协议1中接收端主机处理输入数据有无限快的能力,或者是接收方有无限大的缓冲器这一些最不切实际的假设,仍保留数据单方向流动的假设。在此基础上分别讨论信道无错和有错时协议的设计方法。

1、信道无错

由于信道无错,发送的任何数据和信息就不会丢失和出错。这时要处理的主要问题是如何防止由于接收端来不及处理发送端送来的数据而引起的溢出。换句话说,就是怎样防止发送方数据“淹没”接收方。如果接收方在执行getf和ToHost时所用时间为t,则发端的平均发送速率必须小于每t时间内发出一个报文帧,才能防止在接收端新帧重叠在尚未完全收入的旧的帧的上面。在子网中,每个CCP可能会有多条输入输出线与其它CCP相连,由于网络负荷状况的不稳定,所以t很难估计。若采用最坏情况下的t,又会使各帧的延迟都最大,效率太低。为解决这个问题,可以采用由接收方回送反馈信号的方法,即接收方处理完接收动作后,发一个应答(用哑帧,即没有任何信息的帧)通知发送方可以发出下一个报文帧。协议将使发送方每发完一帧就等待这个应答帧的到来,故称此协议为“简单停等”协议,其程序如下:

2、信道有错

若信道存在有传送错误,报文帧可能受损(某几位出错)或丢失,应答帧也可能丢失。这样前述信道无错的简单停等协议就会出问题:或向主机送去了不正确的报文,或者协议控制失败,如应答帧丢失,而发方总在等待,导致死锁。

初看起来,对协议2稍加修改便可避免以上问题。做法是,发送端发出的一个报文帧,如果报文正确到达接收端(无CksumErr)则回送一个应答帧;如果一个受损的帧到达接收端,便将其丢弃。过一段时间,发送端超时,再送出这个帧。这个过程一直重复到收到正确的报文帧为止。(www.xing528.com)

但这样做有一个致命的弱点:如果A发送的数据帧已被B正确接收,但B给A的应答帧丢失,A就会超时重发;而重发的数据帧又被B正确接收,B又将其交给主机。这样B所收到的信息有一部分是重复的,而B并不知道,从而导致协议失败。为了使接收站能区别新发帧和重发帧,可由发送站给帧编号,即在帧中设一顺序号域。对各个帧顺序地进行编号后,接收方就可依据编号是否重复来区分重发帧和新发帧,从而察觉是否丢失了帧。

考虑到协议的效率,一般总是希望报头越短越好,同理,顺序号域也应该尽量的短。如果按0,1,2,…每次加1地编号下去,则顺序号所占的位数将无法确定。但由于仅需区别某报文帧和该报文帧的下一帧(或上一帧),也即是相邻的两帧,所以只要对相邻的两帧给予不同的编号就可以了。这只需要一个比特的顺序号域即可做到,即在发送新帧时,将第一帧编号为0,第二帧编号为1,第三帧又编号为0,第四帧又编号为1,…,依次类推,而重发时不改变顺序号。这样,接收方根据顺序号即可判断所收到的帧是否为所期望接收的帧,即若收到的前一帧顺序号为0,则期待帧的顺序号为1;若前帧的顺序号为1,则期待帧的顺序号为0.若不是所期待的帧,则认为是重发帧而予以丢弃。无论收发,顺序号的处理都是以模2方式进行。

按上述思想建立的协议通常称为PAR(Positive Acknowledgement with Retransmission)协议,即肯定应答带重发协议。与前面的协议一样,仍假定数据单方向传输。为了应付帧丢失的情况,将使用计时器,若发送方在发送后一定时间间隔内仍未收到应答,则将未应答的那一帧重发。超时的间隔是个需要仔细考虑的参数,既不能太短也不能太长。超时间隔太短将致使收方应答还在途中,发方就已超时重发,从而收方须频频地将收到的重发帧丢弃掉。因此,超时间隔应长得足够使应答帧返回。反之,太长的超时间隔则会使受损的帧或丢失的帧迟迟得不到重发,从而降低协议的效率。PAR协议的程序如下:

以上两个停等协议都是建立在数据单方向传输基础上的,但这并不意味着信息仅能单方向传输。事实上,应答帧和报文帧是往不同方向上发送的,因而要求通信线路也能双向传送信息。由于协议可以用停等的方式严格限制信息的流向及时间,使收发双方交替地发送报文帧和应答帧,所以半双工线路就够了。PAR协议比简单停等协议又进了一步,可以通过超时重发的方法对有差错的原始信道(噪声信道)进行差错控制。接收方即使发现帧出错(CksumErr),也仅仅是丢弃该帧,等待发送方超时重发。若能采用积极的否定应答NAK对出错帧应答,将会使协议效率有所提高,这种差错控制方法一般称为等待ARQ(Automatic Repeat Request,自动重复请求)法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈