Design and implementation of TCP with network coding

Xudong Fan, Hui Li · 2014

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%.

Read the paper · More papers on PaperTik