24. 01. 2014

A Split TCP/IP Stack implementation for GNU/Linux


Martin Unzner

TU Dresden

Zwischenpräsentation der Diplomarbeit

The TCP/IP technology is the foundation of the worldwide internet, which is the world's most widespread computer network. Because it is fundamental in modern-day computing, the TCP/IP stack should not reside in the kernel space any more: Faulty packets and attacks like SYN flooding can affect the whole operating system, even if they are only targeted towards one network process.

Most alternative TCP/IP stacks are designed as application libraries that send and receive Ethernet frames, using a virtual network interface provided by the operating system. Although this concept may appear less efficient, the research projects netmap and VALE recently managed to improve the performance of user-space networking beyond that of the original kernel stack.

Still, isolating networking programs against each other when they run on the same machine is not optimal, considering the large amount of legacy applications that were programmed against the old model. I propose a system that re-unites multiple independent user-space TCP/IP stacks into one logical host, using a custom-tailored routing component and the Rump TCP/IP stack [1]. In my work, I aim to implement and evaluate a corresponding prototype, keeping the trusted part as slim as possible.

[1] https://www.netbsd.org/docs/rump/
28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·