Implementation of Lightweight TCP/IP for Small, Wireless Embedded Systems
In-Su Yoon, Sang–Hwa Chung, Jeong-Soo Kim · 2009
We propose a lightweight TCP/IP stack called Compact Wireless-TCP/IP (CW-TCP/IP). It can provide superior wireless performance for small embedded systems that have limited computing resources. CW-TCP/IP processes TCP/IP using a simple data structure called a Connection Control Block (CCB) that is suitable for small embedded systems. It has a small memory footprint and does not reference other data structures to create TCP/IP headers. CW-TCP/IP adopts TCP Veno as a congestion control algorithm to improve wireless performance. Because it was developed to be processor- and OS-independent, it has high portability. Currently it can be ported to embedded systems that use Linux. We conducted experiments to compare the performances of CW-TCP/IP, Linux TCP/IP and muC/TCP-IP of muC/OS-II, which is widely used as an OS for small embedded systems. The object code size of CW-TCP/IP is 26 KB, which is approximately 17% the size of Linux TCP/IP and 30% the size of muC/TCP-IP. At a packet loss rate of 1%, CW-TCP/IP has the highest bandwidth of the three TCP/IP stacks, 27% higher on average than Linux TCP/IP using TCP Veno. In addition, it has 24% lower average CPU utilization than Linux TCP/IP using TCP Veno.