Performing network experiments and studying network protocol behavior is a non-trivial process. The most commonly used approach to perform network experiments is to set up a physical testbed that closely represents the desired network. But it is expensive even for relatively small networks and more importantly, not scalable. Linux network namespaces are a suitable alternative to physical testbeds because we can quickly set up a lightweight emulation testbed for the experimental evaluation. Setting up a network environment in a single system using network namespaces enhances the reproducibility aspects, and minimizes the maintenance and cost overhead.
This talk will discuss the following aspects of Linux network namespaces: