系统架构设计笔记(96)—— 丢包处理策略

丢包的常用处理方法有: 丢包重传和前向纠错。

1 丢包重传

丢包重传又叫后向纠错,也称为自动重传请求(ARQ),Automatic Repeat-reQuest。

它是 OSI 模型中数据链路层的错误纠正协议之一。它包括停止等待 ARQ 协议和连续 ARQ 协议,错误侦测( Error Detection ) 、 正面确认( Positive Acknowledgment ) 、 逾时重传( Retransmissionafter Timeout )与负面确认继以重传( Negative Acknowledgmentand Retransmission )等机制。

1.1 定义

如果在协议中,发送方在准备下一个数据项目之前先等待一个肯定的确认,则这样的协议称为 PAR ( Positive Acknowledgement with Retransmission ,支持重传的肯定确认协议)或者 ARQ ( Automatic Repeat Request ,自动重复请求协议)。

自动重传请求( Automatic Repeat Request ),通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一,有时也被称为后向纠错( Backward Error Correction , BEC );另外一个方法是信道纠错编码。

1.2 分类

传统自动重传请求分成为三种,即停等式 (stop-and-wait ) ARQ ,回退 n 帧(go-back- n ) ARQ ,以及选择性重传( selective repeat ) ARQ 。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续 ARQ 协议。

三者的区别在于对于出错的数据报文的处理机制不同。三种 ARQ 协议中,复杂性递增,效率也递增。除了传统的 ARQ ,还有混合 ARQ (Hybrid- ARQ )。

hybrid /ˈhaɪbrɪd/
Something of mixed origin or composition.

(1)停等式ARQ

在停等式 ARQ 中,数据报文发送完成之后,发送方等待接收方的状态报告,如果状态报告报文发送成功,发送后续的数据报文,否则重传该报文。

停等式 ARQ ,发送窗口和接收窗口大小均为1,发送方每发送一帧之后就必须停下来等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一帧。该方法所需要的缓冲存储空间最小,缺点是信道效率很低。

(2)回退n帧的ARQ
简称为 GBN,即Go-Back-N ARQ。

发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么从那个发生错误的帧开始及其之后所有的帧全部再重新发送。特点:复杂度低,但是不必要的帧会再重发,所以大幅度范围内使用的话效率不高。

(3)选择性重传ARQ

发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么发信侧将只重新发送那个发生错误的帧。

特点:相对于 GBN 复杂度高,但是不需要发送没必要的帧,所以效率高。

(4)混合ARQ

在混合 ARQ 中,数据报文传送到接收方之后,即使出错也不会被丢弃。接收方指示发送方重传出错报文的部分或者全部信息,将再次收到的报文信息与上次收到的报文信息进行合并,以恢复报文信息。

1.3 应用

在现代的无线通信中,ARQ主要应用在无线链路层。比如,在WCDMA和cdma2000无线通信中都采用了选择性重传ARQ和混合ARQ。

1.4 优缺点

优点:比较简单。因而被广泛的应用在分组交换网络中。

缺点:

  1. 通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满 。
  2. 是需要接收方发送 ACK ,这样增加了网络的负担也影响了传输速度。重复发送数据包来纠正错误的方法也严重的影响了它的传输速度。

2 前向纠错

前向纠错也叫前向纠错码 (Forward Error Correction ,简称 FEC) ,是增加数据通讯可信度的方法。在单向通讯信道中,一旦错误被发现,其接收器将无权再请求传输 。FEC 是利用数据进行传输冗余信息的方法,当传输中出现错误,将允许接收器再建数据。

2.1 简介

前向纠错是一种差错控制方式,它是指信号在被送入传输信道之前预先按一定的算法进行编码处理,加入带有信号本身特征的冗码,在接收端按照相应算法对接收到的信号进行解码,从而找出在传输过程中产生的错误码并将其纠正的技术 。

2.2 应用场景

数字节目和模拟节目比,效果更清晰,色彩更纯净,通透性更高,画面没有杂质干扰。这都要得益于数字信号出色的抗干扰能力。

在数字信号中,为了防止外界信号干扰,保护信号不变异,要进行多重的纠错码设置。数字信号在解码过程中,对错误信号十分敏感,每秒钟只要存在很小的误码,就无法正常解码。而数字卫星信号之所以能顺利播放,又是得益于数字信号中的纠错码的设置。在各种纠错码的设置中,被称做 FEC 的前向纠错是一个非常重要的防干扰算法。 FEC 降低了数字信号的误码率,提高了信号传输的可靠性。因此,在卫视接收的参数中, FEC 是个非常重要的数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章