Network Coding Meets TCP: Theory and Implementation

被引:176
作者
Sundararajan, Jay Kumar [1 ,2 ]
Shah, Devavrat [2 ]
Medard, Muriel [2 ]
Jakubczak, Szymon [2 ]
Mitzenmacher, Michael [3 ]
Barros, Joao [4 ]
机构
[1] Qualcomm Inc, San Diego, CA 92121 USA
[2] MIT, Dept Elect Engn & Comp Sci, Cambridge, MA 02139 USA
[3] Harvard Univ, Sch Engn & Appl Sci, Cambridge, MA 02138 USA
[4] Univ Porto, Fac Engn, Dept Engn Electecn Comp, P-4200465 Oporto, Portugal
基金
美国国家科学基金会;
关键词
Congestion control; network coding; TCP; wireless networks;
D O I
10.1109/JPROC.2010.2093850
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
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.
引用
收藏
页码:490 / 512
页数:23
相关论文
共 44 条
[1]   Network information flow [J].
Ahlswede, R ;
Cai, N ;
Li, SYR ;
Yeung, RW .
IEEE TRANSACTIONS ON INFORMATION THEORY, 2000, 46 (04) :1204-1216
[2]  
[Anonymous], NETWORK SIMULATOR NS
[3]  
[Anonymous], 2007, P C ACM SPEC INT GRO, DOI DOI 10.1145/1282427.1282400
[4]  
[Anonymous], NETWORK CODING INTRO
[5]   Improving reliable transport and handoff performance in cellular wireless networks [J].
Balakrishnan, Hari ;
Seshan, Srinivasan ;
Katz, Randy H. .
WIRELESS NETWORKS, 1995, 1 (04) :469-481
[6]  
Bertsekas D., 1991, DATA NETWORKS, V2nd
[7]  
Bhadra S., 2006, Proc. IEEE Conf. on Computer Commun, INFOCOM, Barcelona, Catalunya, P1, DOI DOI 10.1109/INFOCOM.2006.266
[8]  
BISWAS S, 2005, P ACM SIGCOMM PHIL P, P133
[9]  
BOUTREMANS C, 2000, P INT ZUR SEM BROADB, P163
[10]  
BRAKMO LS, 1994, SIGCOMM, P24