Network Coding Meets TCP: Theory and Implementation
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, the authors 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 rate less codes and batch-based coding are not compatible with TCP's retransmission and sliding-window mechanisms. In this paper, they 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 their scheme, the source transmits random linear combinations of packets currently in the congestion window.