Due to great scalability and significantly lower performance cost than full
hardware virtualization platforms, operating system level virtualization
frameworks such as Linux Vservers and FreeBSD jails are becoming increasingly
popular among production hosting environments. Network stack virtualization
allows complete networking independence between jails on a FreeBSD system,
including providing each jail with its own virtual network interface set,
routing tables, firewall, rate limiting, IPSEC configuration and more. This
tool extends jails toward full operating system virtualization and addresses
many of the known limitations of traditional jails.
The original implementation of the virtualized network stack for FreeBSD first appeared and was maintained as a patch set against 4.x versions of the OS kernel. In this paper we describe some of the design issues and choices taken during our from-scratch reimplementation of the network stack virtualization in FreeBSD 7.0. Most notably, we attempt to tackle the traditional monolithic view on system virtualization, asking the question what could be the benefits of a more modular virtualization approach, in a system where diverse virtualized OS resources could be freely combinable in order to create the “right” level of virtualization for specific application scenarios. |
Marko Zec still likes playing with operating systems and networking. He is
currently a research assistant at the University of Zagreb
|
Last modified: Wed, 28 Feb 2007 16:14:06 +0100