前向纠错长期以来被广泛地部署在物理链路层与先进的线编码方案。这些技术检查和纠正广域网链路上的比特错误,以确保上层协议接收到无错误的数据报。
但是,即使网络的物理链路没有比特错误,由于在过度订阅的网络中队列溢出,包仍然可能在传输过程中在广域网链路上被丢弃。例如,Internet的某些部分在任何给定时间都有2%到3%的包丢失是很常见的。
包级FEC的工作原理是为每发送N个包添加另一个错误恢复包。这个选举委员会的包包含的信息可以用来重建单个包的组内N如果其中一个N数据包丢失发生在跨广域网传输,联邦选举委员会包用于广域网连接的远端重建丢失的数据包。这消除了在广域网上重新传输丢失的数据包的需要,从而极大地减少了应用程序响应时间并提高了广域网的效率。
对于希望跨分布式广域网交付关键业务应用程序的企业来说,包级FEC是一个重要的工具。它越来越多地被实现为对称应用程序加速解决方案的一部分。该功能被整合到部署在广域网链路两端的应用程序加速设备中,通过结合数据减少、本地实例存储和交付、压缩、协议加速和QoS来改进应用程序交付。
FEC在高速率的总流量上效果最好,而不是在单个流量上。因此,在跨广域网传输流量时,最好在使用隧道或聚合流的环境中实现。此外,理想的FEC实现将调整开销的大小以适应不断变化的广域网条件。
使用自适应FEC,如果隧道没有损失,FEC将被禁用,也不会产生开销。当检测到损失时(由于网络事件或在拥塞期间),FEC会自动介入,将损失减少一个数量级或更多——在某些情况下,从几个百分点降低到一个百分点的零头。在这样做的过程中,在网络拥塞期间的应用程序级吞吐量也得到了类似的提高。动态调整FEC比率(错误恢复包与数据包的比率),以确保性能最大化,开销保持在最小。
当正确实现时,包级FEC可以在广泛的网络条件下显著提高应用程序的性能。例如,在跨实时企业网络的平均抽样中,在一个10兆位/秒的广域网链路上下载一个非常大的文件大约需要85秒,而且丢包率为3%,没有FEC。当在相同类型的链路上启用自适应FEC(保持所有其他参数相同)时,相同的文件大约在5秒内传输。在这个场景中,FEC在应用程序响应时间方面提高了17倍。
通过在高丢包的广域网环境中提供数量级的性能改进,FEC对于使用集中式服务器和存储基础设施向远程和分支机构交付关键业务应用程序的公司是必不可少的。
休斯是Silver Peak的首席技术官和创始人。可以和他联系dhughes@silver-peak.com.
