QUIC FEC v1
2017-10-25 10:49
232 查看
QUIC FEC v1
背景
前向纠错算法(FEC)可以传输多余的数据,在网络丢包的情况下,为网络传输提供稳定性。quic是基于XOR实现FEC的,这种算法简单,快速,能提供N+1的稳定传输。FEC通常用在不稳定的网络,比如wifi,在这些领域FEC能提供点对点传输保证,但是基于TCP实现比较复杂。quic提供了一个理想的实验环境验证FEC在哪些情况下可以提供稳定高效的网络传输环境。总结
quic fec v1 版本在对抗网络延迟上作用不大,还浪费带宽,增加编码复杂性。已经废弃。更好的fec方案正在设计中QUIC’s XOR FEC
当前的实现呢,是基于数据包粒度的。fec对所有数据包处理,当有一个数据包丢失时,可以恢复这个包。这个算法有个group的概念,在这个组中任意一个包都可以丢失,在最后一个xor包中都可以恢复。这个group里的所有包都带有group id标识,包括xor包。这个id表示这些包属于一个group组。从网络传输的方面来看,fec包和数据包的处理是一致的。它也会消耗CWND,它的丢失会引起CWND的减少。
优势
基于XOR的实现简单,不会改变源包,也就是正常的数据包。恢复的话不需要额外计算。劣势
只能恢复一个group里的一个包。丢失分布
当网络上没有包丢失时,所有的FEC算法都是浪费带宽。另外当quic group里不止一个包丢失时更加浪费带宽。因此可以根据什么时候group里只丢失一个包,来判断quic FEC是否有效。前期实验
大概65%的丢包可以由一个fec包恢复。最近结果
chrome最近的数据表明只有28%的丢包可以由一个fec包恢复。后记
fec算是一种对抗网络丢包的积极实现。还有其他算法可以做。只翻译了主要的部分,做个记录。有不好的地方,欢迎提意见。
相关文章推荐
- QUIC协议加速互联网
- QUIC中文翻译
- HTTP/2在一个TCP连接里以frame封装的数据包方式多工传输。
- QUIC 协议中涉及的TCP流量控制和拥塞控制的问题
- QUIC简介(一)
- QUIC协议学习记录
- QUIC协议初探-iOS实践
- QUIC 简析
- QUIC 规范
- 怎么让UDP可靠?
- QUIC (Quick UDP Internet Connection)协议简述
- 一文读懂高性能网络编程中的I/O模型
- QQ的成功,远没有你想象的那么顺利和轻松
- 以网游服务端的网络接入层设计为例,理解实时通信的技术挑战
- 微信多媒体团队梁俊斌访谈:聊一聊我所了解的音视频技术
- QUIC实践入门
- 一泡尿的时间,快速读懂QUIC协议
- KubeEdge发布里程碑版本 ——v1.0
- response与request以及编码,路径的介绍