再谈FEC与UDP可靠传输,音视频FEC 应用

1. ARQ  :是一种按需重传的机制,发送者通过接受者的反馈得知有报文在传输过程中有丢失,就重传该报文。

缺点:通信信道的利用率不高,也就是说信道还远远没有被数据流占满,需要接收方发送ACK,这样影响传输效率。可以想象,这种方式发送方肯定需要一个buffer来存储获取到的数据。重复发送数据包也会影响传输速度。可以称之为后向纠错。

2. FEC :是一种前向性纠错技术,发送方将要发送的数据加上一定的冗余纠错码一起发送,接收方则根据纠错码对接收到的数据进行差错检测,如发现差错,则由接收方进行纠错。

更加具体一点。比如,AAAAB,这五个包,4个A为原始数据B为纠错数据,前面A(1~4)中任意一个A丢失,都可以通过B来恢复。是不是很神奇。这就是FEC的作用。4:1的纠错能力为1/5 = 20%,也就是说,如果线路丢包率小于20%基本上不需要重传,也就是AQR算法的帮助。

特点:使用纠错码,单信道通信,发送方无需设置缓存。

 

其实这两点:分别对应了 可靠算法与FEC纠错算法。

 

把这两者结合起来,就能增强抵抗丢包。

 

在上一篇文章

https://blog.csdn.net/wwwllg/article/details/106101233

中,就是典型应用。实测效果,10%丢包条件下,基本无延迟,效果杠杠的,延迟100ms以下。

你可能感兴趣的:(再谈FEC与UDP可靠传输,音视频FEC 应用)