Network Coding Meets TCP: Theory and Implementation

Network Coding Meets TCP: Theory and Implementation
复制标题

DOI:
10.1109/jproc.2010.2093850
复制
发表时间:
2011-01
影响因子:
20.6
通讯作者:
J. Sundararajan;Devavrat Shah;M. Médard;Szymon Jakubczak;M. Mitzenmacher;J. Barros
J. Sundararajan;Devavrat Shah;M. Médard;Szymon Jakubczak;M. Mitzenmacher;J. Barros
中科院分区:
计算机科学1区
文献类型:
--
作者:
J. Sundararajan;Devavrat Shah;M. Médard;Szymon Jakubczak;M. Mitzenmacher;J. Barros

文献摘要

被引文献

相似文献

网络编码理论有望显着提高网络性能,特别是在有损网络以及多播和多路径场景中。为了在实践中实现这些好处,我们需要了解跨数据包的编码如何与基于确认 (ACK) 的流量控制机制交互,该机制构成了当今互联网协议(例如传输控制协议 (TCP))的核心部分。当前的方法(例如无速率编码和基于批处理的编码)与 TCP 的重传和滑动窗口机制不兼容。在本文中,我们提出了一种称为 TCP/NC 的新机制,它将网络编码合并到 TCP 中,只需对协议栈进行较小的更改,从而允许增量部署。在我们的方案中,源发送当前处于拥塞窗口中的数据包的随机线性组合。我们方案的核心是对 ACK 的一种新解释——接收器承认每个自由度(即揭示一个新信息单元的线性组合),即使它没有立即揭示原始数据包。因此,我们新的 TCP ACK 规则考虑了下层的网络编码操作,并启用了 TCP 兼容的滑动窗口方法进行网络编码。编码本质上掩盖了拥塞控制算法中的丢失,并允许 TCP/NC 对丢失做出平滑的反应,从而为无线网络等有损网络提供一种新颖且有效的拥塞控制方法。我们的解决方案的一个重要特点是它允许中间节点执行数据包的重新编码,众所周知,这可以在有损网络和多播场景中提供显着的吞吐量增益。模拟表明,与有损无线链路上的 TCP 相比,无论有或没有网络内部重新编码,我们的方案都能实现更高的吞吐量。我们提出了该协议的实际实现,解决了将网络编码和解码与 TCP 窗口管理机制相结合的实际问题。我们使用 TCP-Reno,它是 TCP 的一种广泛且实用的变体。我们的实现极大地推进了设计可部署、通用、TCP 兼容协议的目标,该协议提供了网络编码的优势。
The theory of network coding promises significant benefits in network performance, especially in lossy networks and in multicast and multipath scenarios. To realize these benefits in practice, we need to understand how coding across packets interacts with the acknowledgment (ACK)-based flow control mechanism that forms a central part of today's Internet protocols such as transmission control protocol (TCP). Current approaches such as rateless codes and batch-based coding are not compatible with TCP's retransmission and sliding-window mechanisms. In this paper, we propose a new mechanism called TCP/NC that incorporates network coding into TCP with only minor changes to the protocol stack, thereby allowing incremental deployment. In our scheme, the source transmits random linear combinations of packets currently in the congestion window. At the heart of our scheme is a new interpretation of ACKs-the sink acknowledges every degree of freedom (i.e., a linear combination that reveals one unit of new information) even if it does not reveal an original packet immediately. Thus, our new TCP ACK rule takes into account the network coding operations in the lower layer and enables a TCP-compatible sliding-window approach to network coding. Coding essentially masks losses from the congestion control algorithm and allows TCP/NC to react smoothly to losses, resulting in a novel and effective approach for congestion control over lossy networks such as wireless networks. An important feature of our solution is that it allows intermediate nodes to perform re-encoding of packets, which is known to provide significant throughput gains in lossy networks and multicast scenarios. Simulations show that our scheme, with or without re-encoding inside the network, achieves much higher throughput compared to TCP over lossy wireless links. We present a real-world implementation of this protocol that addresses the practical aspects of incorporating network coding and decoding with TCP's window management mechanism. We work with TCP-Reno, which is a widespread and practical variant of TCP. Our implementation significantly advances the goal of designing a deployable, general, TCP-compatible protocol that provides the benefits of network coding.