自动重传请求与前向纠错技术

自动重传请求ARQ

自动重传请求ARQ 是差错控制技术之一。从广义上来讲,ARQ 主要有两种方法来应对网络出
错,即ACK 与NACK,其中包括多种实现方式,例如停等协议ARQ、滑动窗口ARQ、快速重传
ARQ 等。
(1)停等协议ARQ:指的是在源端每次只向客户端发送一个包,同时开启定时器。在定时时
间之内,如果收到ACK,就重置定时器并发送下一个包,如果没有收到,则认为丢包,并重传这个
包。这种方式的缺点是具有非常低的传输效率。
(2)滑动窗口ARQ:指的是在源端维持着一个具有一定大小的发送窗口,在发送窗口内的所
有数据包可以以连续的方式发出,中间不用依次等待客户端的ACK 确认。在客户端以积累确认的
模式向源端进行反馈,即不用逐个发送ACK,而是在连续收到几个包后,对顺序到达的最后一个包
序号发送ACK,表示这个包及之前的所有包都已经收到。在乱序比较严重的网络下,这种积累确认
模式会有很低的效率,部分没有按照顺序送达但实际已经送达的包也会要求重传。
(3)快速重传ARQ:快速重传ARQ 指的是如果客户端接收到了序号跳跃的数据包,则立即
给源端发送最后一个连续的数据包的ACK,如果源端连续收到3 个重复确认,则认为该ACK 的
下一个数据包丢失了,并立即重传丢失的数据包。
前几种方式都是使用ACK 机制的传输协议,即当客户端在收到数据后会给源端返回一个“已
收到数据”的消息(ACK),告诉发送方“我已经收到了”,从而确保数据传输的可靠性。
(4)NACK:客户端利用反馈报文,将所有未收到的包序号发送到源端进行重传。

前向纠错技术FEC

传统的FEC 技术是一种数据码之间的编码技术,而本文使用的前向纠错技术FEC 是一种数据
包级的编码技术
,它可以根据流媒体数据包的重要程度进行有选择的保护,它由RFC5109 标准所定
义。其主要原理如下:
源端从媒体数据流中取出若干个RTP 数据包,并对所有的数据包进行异或操作(其中包括RTP
头),这样便可以得到一个含有FEC 信息的RTP 数据包,在客户端可以从FEC 头所携带的荷载信
息部分得知那些数据包用于产生FEC 包,从而当其中一个数据包丢失时,利用这个数据包恢复出任
何一个用来产生它的数据包,如图3-4 所示,其中编码长度未指定,由程序开发人员进行设计。
本系统中可以设置两种编码长度,当编码长度为2 时,代表两个数据包产生1 个FEC 包,当编
码长度为4 时则代表4 个数据包产生一个FEC 包。
FEC 机制的加入大大提高了整个系统的容错率,提高了系统的服务质量(QOS)*。
在这里插入图片描述
根据以上分析,自动重传请求ARQ 与前向纠错机制FEC 是如今在流媒体应用中常用的用来保
证传输质量的两种手段,其对比分析如表3-1 所示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值