Linux containers networking: Performance and scalability of kernel modules

Joris Claassen, Ralph Koning, Paola Grosso · 2016

Linux container virtualisation is gaining momentum as lightweight technology to support cloud and distributed computing. Applications relying on container architectures might at times rely on inter-container communication, and container networking solutions are emerging to address this need. Containers can be networked together as part of an overlay network, or with actual links from the container to the network via kernel modules. Most overlay solutions are not quite production ready yet; on the other hand kernel modules that can link a container to the network are much more mature. We benchmarked three kernel modules: veth, macvlan and ipvlan, to quantify their respective raw TCP and UDP performance and scalability. Our results show that the macvlan kernel module outperforms all other solutions in raw performance. All kernel modules seem to provide sufficient scalability to be deployed effectively in multi-containers environments.

Read the paper · More papers on PaperTik