选择性重传arq协议.docx
《选择性重传arq协议.docx》由会员分享,可在线阅读,更多相关《选择性重传arq协议.docx(7页珍藏版)》请在冰豆网上搜索。
![选择性重传arq协议.docx](https://file1.bdocx.com/fileroot1/2023-4/2/87e20733-b2ef-46fa-aa90-65153b2967e6/87e20733-b2ef-46fa-aa90-65153b2967e61.gif)
选择性重传arq协议
选择性重传arq协议
篇一:
ARQ
一、ARQ(AutomaticRepeat-reQuest)是OSI模型中数据链路层的错误纠正协议之一。
它包括停止等待ARQ协议和连续协议和连续ARQ协议,错误侦测(ErrorDetection)、正面确认()、正面确认(PositiveAcknowledgment)、逾时重传(RetransmissionafterTimeout)与负面确认继以重传(NegativeAcknowledgmentandRetransmission)等机制。
自动重传请求(AutomaticRepeatreQuest),通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一,有时也被称为后向纠错(BackwardErrorCorrection,BEC);另外一个方法是信道纠错编码。
);另外一个方法是信道纠错编码。
传统自动重传请求分成为三种,即停等式(stop-and-wait))ARQ,回退n帧(go-back-n))ARQ,以及选择性重传(selectiverepeat)ARQ。
后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。
三者的区别在于对于出错的数据报文的处理机制不同。
三种ARQ协议中,复的杂性递增,效率也递增。
除了传统的ARQ,还有混合ARQ((Hybrid-ARQ)。
1.停等式ARQ
在停等式ARQ中,数据报文发送完成之后,发送方等待接收方的状态报告,如果状态报告报文发送成功,发送后续的数据报文,否则重传该报文。
停等式ARQ为,发送窗口和接收窗口大小均为1,发送方每发送一帧之后就必须停下来等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一帧。
该方法所需要的缓冲存储空间最小,缺点是信道效率很低。
2.回退n帧的ARQ
在回退n帧的ARQ中,当发送方接收到接收方的状态报告指示报文出错后,发送方将重传过去的中,当发送方接收到接收方的状态报告指示报文出错后,发送方将重传过去的n个报文。
回退N,发送窗口大于1,接收窗口等于1。
允许发送方可以连续发送信息帧,但是,一旦某帧发生错误,必须重新发送该帧及其后的n帧。
这种方式提高了信道的利用率,但允许已发送有待于确认的帧越多,可能要退回来重发的帧也越多。
这种方式提高了信道的利用率,但允许已发送有待于确认的帧越多,可能要退回来重发的帧也越多。
3.选择性重传ARQ
在选择性重传ARQ中,当发送方接收到接收方的状态报告指示报文出错,发送方只发送传送发生错误的报文。
选择重传协议,发送窗口和接收窗口都大于1。
发送方仅重新传输发生错误的帧,并缓存错误帧之后发送的帧。
与回退N相比,减少了出错帧之后正确的帧都要重传的开销。
4.混合ARQ
在混合ARQ中,数据报文传送到接收方之后,即使出错也不会被丢弃。
接收方指示发送方重传出错报文的部分或者全部信息,将再次收到的报文信息与上次收到的报文信息进行合并,以恢复报文信息。
应用
在现代的无线通信中,ARQ主要应用在无线链路层。
比如,在主要应用在无线链路层。
比如,在WCDMA和和cdma2000无线通信中都采用了选择性重传ARQ和混合ARQ。
优缺点
优点:
比较简单。
缺点:
通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。
二、FEC(forwarderrorcorrecting)前向纠错是一种差错控制方式,它是指信号在被送入传输信道之前预先按一定的算法进行编码处理,加入带有信号本身特征的冗码,在接收端按照相应算法对接收到的信号进行解码,从而找出在传输过程中产生的错误码并将其纠正的技术。
作用
1于标准的解决方案
首先,这是基于标准的。
EFC连接,无论是在非屏蔽双绞线连接,无论是在非屏蔽双绞线UTP(100BaseTX)或者光纤(100BaseFX),都是兼容的),都是兼容的IEEE802.3连接。
需要注意的是,尽管FEC技术提供了可以扩展到技术提供了可以扩展到800Mbps的连接,其中的每条连接仍旧是100Mbps(或者200Mbps)。
②多平台支持
FEC技术可以在包括路由器和交换机的多平台上部署,在各种产品上实现的法则是非常简单的(在后面论述)。
尽管当前仅仅可以在技术可以在包括路由器和交换机的多平台上部署,在各种产品上实现的法则是非常简单的(在后面论述)。
尽管当前仅仅可以在Catalyst5000系列上部署,FEC很快会支持很快会支持Catalyst3000,系列,Catalyst企业级桌面系列(包含1900和和2820),以及Catalyst2900XL系列。
而且,几家服务器和网卡制造商将支持这项技术,以便实现在交换机和服务器之间的高速带宽聚合。
③扩展性
FEC以提供多条200Mbps连接(假设是全双工连接)的能力允许网络管理者来扩展其网络。
例如,网络管理者可以在单个配线间和数据中心之间配置由几对全双工快速以太网链路组成的FEC来提供400Mbps的连接。
在数据中心中,可以在服务器和网络主干设备间配置最高到800Mbps容量的连接来实现高带宽的网络核心。
当802.3z标准(定义了千兆以太网)完成和广泛部署之后,这项技术将会扩展到千兆以太网通道速度(最高支持到8Gbps)。
④负载平衡和冗余
FEC技术的实现,在提供高带宽的同时也提供了负载平衡和冗余。
这项技术通过将负载分布到通道中的多条链路上的方式来提供对每条链路的管理和负载平衡。
单播,多播和广播传输也分布到通道中的多条链路上。
而且,FEC提供了对链路失效的冗余。
如果提供了对链路失效的冗余。
如果FEC中的一条链路被切断,在几毫秒内,传输被重新分配到其他的链路上,并且对于用户来说,收敛是透明的。
⑤与CiscoIOS兼容
因为FEC,连接被交换机和路由器视为单一逻辑链路,FEC有技术和所有CiscoIOS特性完全兼容。
这些特性包括Inter--SwitchLink(ISL)trunking,ISL提供了在一条快速以太网通道上中继多虚拟局域网提供了在一条快速以太网通道上中继多虚拟局域网VLAN的能力。
并且,HSRP有(路由热备份协议)也可以在带有RSMs(routeswitchmodules)的交换机或者Cisco7500路由器上运行。
⑥千兆以太网就位(GigabitEthernetReady)
最后,FEC技术的一项关键益处是当标准完备后,其可以很容易的升级到千兆以太网。
这个想定可以使高速网络核心扩展到数G的带宽
篇二:
ARQ
4.3连续ARQ协议
1.连续ARQ协议的工作原理参照图4-6
在简单停止等待协议的基础上,允许连续发送若干帧,在收到相应ACK后继续发送若干帧,用以提高传输效率。
这时后继续发送若干帧,用以提高传输效率。
这时ACK及及NAK也必须有对应的帧序号,才能够一一对应起来。
在发生差错时丢弃原已发送的所有后续帧,重发差错发生以后的所有帧,相当于完全返回重传。
信道较差时传输效率不高。
2.连续ARQ协议的吞吐量
ooooootv=tI+(1-p)?
ipitT=tI[1+(?
-1)p]/(1-p)tT略大于略大于tI+2tp+ts,略大于tI+tout?
max=1/tv=(1-p))/tI[1+(?
-1)p]归一化后:
?
?
?
?
?
?
?
·tI?
?
?
(1-P)/[1+(?
-1)p]?
?
;其中;其中?
?
?
?
=tT/tI1
思考题:
与简单ARQ的吞吐量进行比较.
全双工下,应答信息可附在数据帧里,可以提高效率发送方收到应答的最短时间是2tp+tI,取略大些tout=2tp+2tI则则tT=tI+tout=2tp+3tI?
=tT/tI=3+2tp/tI,这时连续ARQ将优于简单ARQ
例1、例2、例3请自看,但注意卫星传播延时较大,故必须使用连续请自看,但注意卫星传播延时较大,故必须使用连续ARQ协议
3.滑动窗口的概念
应当对已发出去但未收到确认信息的数据帧的数目加以限制应当对已发出去但未收到确认信息的数据帧的数目加以限制o参照和两个例子,了解滑动窗口的原理o注意点?
缓冲区是循环使用的?
上界与下界问题n?
可用的缓冲区大小为2-1(窗口计数器为n位),请参见P73图图4-9o
4.信道利用率与最佳帧长
由于帧头的存在,帧长增加导致效率提高;o但信道不可靠时,帧长增加导致错误概率增加,引起重发机会增加,最终效率下降;
o综上所述,必然有一个最佳帧长。
一般帧长为1000-2000bit,(请参阅图4-11)
o几种不同环境下的最佳数据长度计算式见P75-P76。
连续ARQ协议
回退n帧(go-back-n)GBN,以及选择性重传(selectiverepeat)ARQ,两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。
连续重发请求ARQ方案是指发送方可以连续发送一系列信息帧,即不用等前一帧被确认便可继续发送下一帧,效率大大提高。
但在这种重发请求方案中,需要在发送方设置一个较大的缓冲存储空间(称作重发表),用以存放若干待确认的信息帧。
当发送方收到对某信息帧的确认帧后,便可从重发表中将该信息帧删除。
所以,连续重发请求ARQ方案的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。
在这一协议中,当发送站点发送完一个数据帧后,不是停下来等待应答帧,而是可以连续再发送若干个数据帧。
如果在此过程中又收到了接收端发来的应答帧,那么还可以接着发送数据帧。
由于减少了等待时间,整个通信的吞吐量就提高了。
篇三:
ARQ协议模拟实现课程设计报告
课程设计报告
学院:
专业名称:
课程名称:
课程代码:
所在班级:
学号:
姓号:
课题名称:
任课教师:
完成时间:
********软件工程软件工程网络技术课程设计**************************ARQ协议模拟实现******2013
第1章
实验介绍...........................................1
1.1实验目的?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
第2章协议介绍...........................................12.1停止等待协议的简单介绍(停止等待协议的简单介绍(ARQ).................................12.2停等协议中相关事件的介绍停等协议中相关事件的介绍......................................12.3连续ARQ协议简述协议简述..............................................22.3.1介绍介绍.....................................................22.3.2特点原理特点原理.................................................2第3章实验环境...........................................33.1实验环境?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3第4章停止等待ARQ协议...................................34.1实验内容......................................................34.2实验步骤实验步骤......................................................44.3停等协议的模拟实现............................................44.4实验结果实验结果......................................................9第5章连续ARQ协议.......................................125.1实验内容.....................................................125.2实验设计及分析...............................................125.2.1窗口机制总体设计及分析..................................125.2.2协议选择及分析..........................................135.2.3发送方与接收方设计流程..................................135.3程序测试程序测试.....................................................18
引言
ARQ协议中,发送方每发送一个字符便要启动计时器,在规定时间内,若发送方未收到接收方返回的确认信息,则认为超时,需重发原字符。
经过思考,我通过for循环反复读取循环反复读取file2文件实现了这一定时功能,而循环的次数则决定定时器的时间。
此外还可利用文件实现了这一定时功能,而循环的次数则决定定时器的时间。
此外还可利用c++语言自带的time()函数来实现计时功能。
此外,为方便读取中间结果,file2文件的内容每次都会更新,并且采用简单的字符代表复杂的字符串,这些简化都使程序更加简洁,但并未影响整个模拟功能的实现。
为了更加流畅地更新、利用文件中的数据,sender()函数调用了()函数调用了receiver()函数,以及时对文件数据进行接收端的相应处理,以供发送端使用。
从而模拟实现整个发送接收过程。
第1章实验介绍
1.1实验目的
(1)掌握停止等待协议的基本原理
(2)理解数据链路层的主要功能(数据出错控制,数据重复控制,数据丢失控制等等)
(3)分析简单的协议数据单元
(4)掌握停止等待协议的运行机制
(5)了解连续ARQ协议
(6)掌握滑动窗口的工作机制
第2章协议介绍
2.1停止等待协议简单介绍(ARQ):
停止等待协议是数据链路层的几个协议中最基本的协议,是数据链路层各种协议的基础。
此实验是基于winsock编程,是在编程,是在VC++6.0的的windows界面下和控制台下实现的。
它采用客户机界面下和控制台下实现的。
它采用客户机/服务器(C/S)模型。
停止等待协议就是通过双方的收发数据而达到相互通信的目的。
在通信时,当收方收到一个正确的数据帧后,便会向发送方发送一个确认帧ACK,表示发送的数据正确接收。
当发送方收到确认帧后才能发送一个新的数据帧,这样就实现了接收方对发送方的流量控制。
由于通信线路质量各方面的影响,数据帧从发送方到接收方传输的过程中可能会出现差错。
为了保证数据的正确性和完整性,接收方在收到数据后,会用一定的方法对接收到的数据进行差错检验,所以接收方很容易检测出收到的数据帧是否出现差错。
当接收方发现收到的数据出现差错时,就会向发送方发送一个否认帧NAK,表示对方发送的数据错误。
发送方会根据接收方发来的信息做出相应的操作。
采用这样的有效的检错机制,数据链路层可以对上面的网络层提供了可靠的传输的服务。
2.2停等协议中相关事件的介绍
帧丢失:
有时,链路上的噪声干扰很严重,或者由于其他的一些原因,接收方收不到发送方发送过来的数据帧,这种情况称为数据帧丢失。
发生数据帧丢失时,接收方自然不会向发送方发送任何应答帧。
如果发送方要等收到收方的应答信息后再发送下一个数据帧,那么双方将永远等下去,这样就出现了死锁现象。
为了解决这个问题,可在发送方发送完一个数据帧后,就启动一个超时定时器。
若到了超时定时器所设置的重发时间tout仍收不到收方的任何应答帧,则发送方就重传前面所发送的这一数据帧。
如果在重传时间仍tout内收到确认信息,则将超时定时器清零并停止计时。
tout一般的时间设置为略大于一般的时间设置为略大于“从发完数据帧到收到确认帧所需的平均时间”。
帧重复:
若丢失的是应答帧,则超时重发将会使接收方收到两个同样的数据帧。
由于接收方无法识别重复的数据帧,因而在接收方收到的数据中出现了一种接收序号差错,称为重复帧。
要解决这个问题,必须使每一个数据帧带上不同的发送序号。
若接收方收到序号相同的数据帧,就表明出现了重复帧。
这时接收方应当丢弃这个重复帧,同时向发送方发送一个确认帧。
大家都知道,任何一个编号系统的序号所占用的比特数应是有限的。
经过一段时间,发送序号就可重复。
使用序号占用的比特数越少,数据传输的额外开销就越少。
对于停等协议,由于每发送一个数据帧就停止等待,用一个比特来编号就够了,也就是说序号轮流使用0和和1。
帧出错:
数据在传输的过程中,不可能保证100%的正确传输,而错误的数据帧对于接收方来说是没有什么意义的。
为了避免收到错误的数据帧,接收方在收到数据帧后,就会采用一定的机制对收到的数据帧进行校验,当校验数据正确时,会向高层传送该帧,反之,则丢弃该帧,从而对上面的网络层提供了传输的服务。
2.3连续ARQ协议简述
2.3.1介绍
回退n帧(go-back-n)GBN,以及选择性重传(selectiverepeat)ARQ,两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。
连续重发请求ARQ方案是指发送方可以连续发送一系列信息帧,即不用等前一帧被确认便可继续发送下一帧,效率大大提高。
但在这种重发请求方案中,需要在发送方设置一个较大的缓冲存储空间(称作重发表),用以存放若干待确认的信息帧。
当发送方收到对某信息帧的确认帧后,便可从重发表中将该信息帧删除。
所以,连续重发请求ARQ方案的链路方案的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。
传输效率大大提高,但相应地需要更大的缓冲存储空间。
在这一协议中,当发送站点发送完一个数据帧后,不是停下来等待应答帧,而是可以连续再发送若干个数据帧。
如果在此过程中又收到了接收端发来的应答帧,那么还可以接着发送数据帧。
由于减少了等待时间,整个通信的吞吐量就提高了。
吞吐量就提高了。
ARQ代表的是自动重传请求(AutoRepeatreQuest,ARQ),而GBN与选择重传都属于其中。
其中BGN是的接收窗口是1,且具有累计确认的特点。
而选择重传没有累计确认的特点。
2.3.2特点与原理
连续重发请求ARQ方案的特点如下:
(1)发送方连续发送信息帧,而不必等待确认帧的返回;
(2)在重发表中保存所发送的每个帧的备份;
(3)重发表按先进先出()重发表按先进先出(FIFO)队列规则操作;
(4)接收方对每一个正确收到的信息帧返回一个确认帧,每一个确认帧包含一个惟一的序号,随相应的确认帧返回;
(5)接收方保存一个接收次序表,包含最后正确收到的信息帧的序号。
当发送方收到相应信息帧的确认后,从重发表中删除该信息帧的备份;
(6)当发送方检测出失序的确认帧(即第N号信息帧和第号信息帧和第N+2号信息帧的确认帧已返回,