在停等协议中,对出错帧采取超时重发(协议4)或再辅之发否定应答(停等ARQ)的差错控制方法。但这种方法用在可连续发送多帧的滑窗协议中,将产生另外的问题;若已发送的若干帧中有某一帧出错或丢失,因发送端并不知道,所以其仍在继续发送帧,直到发送窗口占满为止。
1、滑窗协议的差错控制方法
数据链路层必须为上层提供无差错的传输,而无差错的传输不仅要防止将出错数据交给上层,还要保证交付数据的顺序也是正确的。当接收端收到一条出错的帧时,其对出错帧后的帧的两种基本处理方法是:回退n连续ARQ和选择重发连续ARQ.这里“连续”一词是相对于前面的“停等”而言的。
如图4.3.5(a)所示,采用回退n(go back n)连续ARQ方法时,接收端将丢弃出错帧后的所有帧,而不管这些帧是有效的还是出错的。待发送端收到对出错帧的否定应答NAK时,将重发从出错帧开始的所有帧;若应答帧出错,则超时重发。这样做,接收窗口尺寸实际上为1.
选择重发连续ARQ方法提供了更为细致的差错控制手段。如图4.3.5(b)所示,采用该法时,接收方将保留出错帧后面的正确帧,但暂不往主机交付,发送方仅重发NAK否定的那一帧或超时无应答的那一帧,一旦发送端将出错帧重发过来,接收端将对这些帧统一应答。应答n蕴含着帧n之前(包括n)的帧都已妥收的意思。这种方法虽然比回退n法更为高效,但控制的逻辑也更为复杂。实际上回退n法较为通用一些。选择重发方法的接收端的窗口尺寸可以大于1.
2、不同差错控制法效率的比较
现分析一下两种滑窗协议差错控制方法的效率。为简便起见,假设ACK、NAK等应答帧不出错,而且都采用否定应答方式,不考虑超时重发,且报头、应答帧的长度忽略不计。
图4.3.5 滑窗协议的差错控制方法
协议效率是发送端发送单个帧的时间t帧与链路专用于该帧传输而占用的全部时间t总之比,即
t总中应包括用于该帧传输的全部开销,如传播延迟、应答等等。但在前述假设条件下,t总可以认为是单个帧传输的所有开销(不算重发)tι的某个倍数,即
t总=tιNτ
式中Nτ为平均重发次数。于是(4.6)式可改写为
设帧出错概率为P1,则一帧传送i次恰好成功的概率为(1-P1),于是
(1)选择重发法的效率
如图4.3.6所示,设在时刻t0,A站开始发送一个帧系列,第一帧在t0+a时到达B站,在t0+a+1时第一帧被完全吸收,B站立即应答第一帧(ACK1),在t0+2a+1时应答到达A站。如果仍然将传输时间规范化为1,则传播时间即为a.分别考虑下列有两种情况(设窗口大小为N):
①N≥2a+1时,第一帧的肯定应答在A站耗尽其窗口之前到达A站,因此,A可以不停顿的传输,此时效率为1;
②N<2a+1时,A站在t0+N时用尽其窗口,而且直到t0+2a+1时都不能发送别的帧,所以效率为(2a+1)个时间单位分之周期中的N个时间单位,即(www.xing528.com)
由(4.7)式及(4.6)式,信道有差错时,选择重发连续ARQ的效率为(4.7)式再除以一个Nτ,即
图4.3.6 滑窗协议的时间过程(图中[X]表示X向上取整)
(2)回退n法的效率
由于采用回退n连续ARQ法,每次差错都将导致重发K个帧而不是仅一个帧,故有
这里f(i)代表“如果原来的帧必须传送i次,所需传送帧的总数”,它可以表达为
f(i) =1+(i-1)K=(1-K)+Ki
代入(4.10)式有
重复与前面一样的推理,可得回退n法的效率为
由图4.3.6可知,当N ≥(2a+1)时,K约等于2a+1;当N<(2a+1)时,K约等于N.代入(4.12)式即有
(3)停等法的效率
当N=1时,选择重发连续ARQ和回退n连续ARQ的效率都简化为停等ARQ的效率,即
直接由(4.7)和(4.8)式亦可推导出同样的结果。将本节用到的条件代入4.2.4节的(4.3)式中,可见其与(4.14)式是完全一致的(令T=2I,A=0,D=F,P2=0)。不同差错控制法的效率曲线如图4.3.7所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。