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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.