Batched network coding (BNC) is a solution to multi-hop transmission on networks with packet loss. To be compatible with the existing infrastructure, BNC is usually implemented over UDP. A single error bit will probably result in discarding the packet. UDP-Lite is a variant of UDP that supports partial checksums. As long as the data covered by the checksum is correct, damaged payload will be delivered. With UDP-Lite, we can cope with other techniques such as payload aggregation of BNC packets to reduce the protocol overhead, and forward error correction to combat against bit errors. Unlike traditional transmissions, BNC has a loss resilience feature and there are dependencies between BNC packets. In this paper, we conduct a preliminary investigation on BNC over UDP-Lite. We show that aggregating as much as we can is not always the best strategy, and a hop-by-hop distributed efficiency optimization approach may lead to a worse throughput compared with the scheme without aggregation in a long network. These unnatural results caution that a casual integration of techniques with BNC can be harmful, and give us hints on future research directions.
翻译:批量网络编码(BNC)是解决多跳网络传输中数据包丢失问题的一种方案。为兼容现有基础设施,BNC通常基于UDP协议实现。单个比特错误就可能导致数据包被丢弃。UDP-Lite是UDP的变体,支持部分校验和。只要校验和覆盖的数据正确,受损的有效载荷仍可被传输。通过UDP-Lite,我们可以结合其他技术,如BNC数据包的有效载荷聚合以减少协议开销,以及前向纠错技术来应对比特错误。与传统传输不同,BNC具有抗丢包特性,且BNC数据包之间存在依赖关系。本文对基于UDP-Lite的BNC进行了初步研究。研究表明,尽可能聚合数据并非总是最优策略,在长链网络中,逐跳分布式效率优化方法可能比无聚合方案的吞吐量更差。这些反直觉的结果警示我们,随意将其他技术与BNC结合可能产生负面影响,并为未来研究方向提供了启示。