An Adaptive Redundancy Scheme for TCP with Network Coding

To address the inability of the standard TCP protocol to distinguish between congestive losses and random packet losses produced by the noisy channel, in this paper we propose an adaptive algorithm to dynamically adjust the redundancy factor $R$ of the TPC/NC protocol proposed by Sundararajan et al. by adding some additional functionalities to the original network coding layer. We define a loss differentiation scheme to adjust $R$, based on the Vegas Loss Predictor and the collective feedback information of ACKs and duplicates ACKs, which are both indicators of the network condition. In that way the source adjusts intelligently $R$ based on the network conditions, avoiding unnecessary TCP rate reduction due to packet losses induced by the noisy channel and preventing the network from entering in a congestion state. Our TPC/NC implementation with our adaptive scheme is full-duplex, and can manage multiple TCP connections simultaneously. Simulation results over realistic network scenarios using OPNET Modeler show that our adaptive scheme in conjunction with the standard TCP/NC produces better TCP-throughputs than the standard TCP/NC, TCP-Reno, TPC New Reno, and TCP Reno with SACKS.