Network-coded internet-friendly transport protocol. Issue 3 (September 2017) - Ridgewell, Justin; ElAarag, Hala
This paper presents the design of network-coded TCP (NCTCP). NCTCP is a reliable TCP-like transport protocol that uses network coding to dramatically improve the overall performance in networks with lossy links. By sending datagrams that represent a linear combination of packets, we are able to receive data in an orderless fashion and still push data in byte-correct order to the receiver.s application layer. To eliminate roundoff errors, we generate consecutive-ones linear combinations of packets that form totally unimodular matrices. We then decode these datagrams using an efficient technique. In addition, NCTCP has an additive increase multiplicative decrease (AIMD) congestion control mechanism that uses round-trip times to increase the performance on wireless networks without hurting the performance on wired networks. Unlike TCP.s AIMD mechanism, NCTCP does not use a congestion window. Furthermore, NCTCP can be implemented in user space and hence does not need any changes to the kernel. We test our protocol using ns-2 simulator using several performance measurements, namely, throughput, goodput, efficiency and receiver efficiency. Our simulations show that NCTCP performs better than standard TCP implementations and previously proposed network coding protocols; TCP/NC and CTCP. We also demonstrate that NCTCP is TCP-friendly and maintains the fairness property essential for the health of the internet.