Design and Implementation of TCP with Network Coding
Xudong Fan,Hui Li
DOI: https://doi.org/10.1109/icsai.2014.7009351
2014-01-01
Abstract:This paper proposes a new method of TCP with network coding (NC) and implements the new version of TCP (TCP-NC) on Linux kernel. In TCP-NC design, it introduces a network coding layer, and constructs encoding, header format, the encoding queue, ACK-NC, redundancy coefficient and timer. In TCP-NC kernel implementation, it does some simplification: setting the length of encoding queue (equals two packets), making ACK-NC instead of ACK-TCP and so on. Then, this paper makes some changes to the core functions and data structures, including modifying transmission control block, changing sk_buff, designing MSS and increasing tcp_nc.c document. Finally, it tests the performance of TCP-NC by replacing the kernel, building test topology and simulating under wireless network environment, and gets the results as follows: 1. TCP-NC's fairness is good; 2. TCP-NC performs well when the channel loss rate is less than 10%.