作者chin0627 (香蕉)
看板CCU_COMM_ANT
标题[讨论] ARQ -xxu
时间Fri Dec 3 16:53:35 2010
ARQ
自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协
议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输
。如果发送方在发送後一段时间之内没有收到确认帧,它通常会重新发送。ARQ可能包括
停止等待ARQ协议和连续ARQ协议,错误检测(Error Detection)、正面确认(Positive
Acknowledgment)、超时重传(Retransmission after Timeout)和 负面确认及重传
(Negative Acknowledgment and Retransmission)等机制。
停止并等待协议的工作原理如下:
1.发送点对接收点发送数据包,然後等待接收点回复ACK并且开始计时。
2.在等待过程中,发送点停止发送新的数据包。
3.当数据包没有成功被接收点接收时候,接收点不会发送ACK. 这样发送点在等待一定时
间後,重新发送数据包。
4.反覆以上步骤直到收到从接收点发送的ACK.
发送点的等待时间应当至少大於传输点数据包发送时间(数据包容量除以发送点传输速度)
,接收点ACK接收时间(ACK容量除以接收点传输速度),数据在连接上的传送时间,接
收点检验接收数据是否正确的时间之和。在实际应用当中,等待时间是这个和的2到3倍。
这个协议的缺点是较长的等待时间导致低的数据传输速度。在低速传输时,对连接频道
的利用率比较好,但是在高速传输时,频道的利用率会显着下降。
连续ARQ协议(Continuous ARQ)
为了克服停止并等待ARQ协议长时间等待ACK的缺点。这个协议会连续发送一组数据包,
然後再等待这些数据包的ACK.
选择重传 (Selective Repeat)
发送点连续发送数据包但对每个数据包都设有个一个计时器。
当在一定时间内没有收到某个数据包的ACK时,发送点只重新发送那个没有ACK的数据包
这个方法的缺点是接收点收到的数据包的顺序可能不是发送的数据包顺序。因此在数据
包里必须含有顺序字符来帮助接受点来排序。
倒退N (Go-back-N)
这个方法解决了选择重复中数据包顺序被打乱的问题。
发送点连续发送数据包,每个数据包都含有顺序字符。
接受点发现某个数据包没有接受到,对发送点发NACK.在NACK中指明没有接受的数据包。
接收点丢弃从第一个没有收到的数据包开始的所有数据包。
发送点收到NACK後,从NACK中指明的数据包开始重新发送
这个办法的问题是如何正确选择表明数据包的顺序字符的数量。这个数量因当包括ACK
或者ACK从接收点到达发送点的时间。
方法
ARQ协议对错误纠正的方法是:
丢弃已经接收的含有错误的数据包。
向发送点请求重新发送数据包。
应用
UMTS 的 ARQ 机制是在基地台控制站(Radio Network Controller,RNC),使用安置
在协议数据单元(Protocol Data Unit,PDU)前的序号来作为是否有封包丢失的依据
,有不少的延迟时间。
优点和缺点
ARQ协议的优点是它非常的简单。因而被广泛的应用在分组交换网络中。
ARQ协议的缺点是需要接收方发送ACK,这样增加了网络的负担也影响了传输速度。重
复发送数据包来纠正错误的方法也严重的影响了它的传输速度。
-------------
资料来源:
http://zh.wikipedia.org/zh-hk/ARQ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.115.63