- Each virtual node has its own IPv4/IPv6/IPsec/socket/firewall configuration/address space
- Traffic manipulation (delay, BER, duplicate, bandwidth) on links
- All nodes in IMUNES operate as real phyisical nodes
- Standard UNIX APIs 100% preserved (BSD and Linux binaries run unmodified)
- Packet handoff by reference
- Efficient usage of hardware resources (RAM, CPU)
- Scalability: 100s of virtual nodes per physical machine (depending on applications)
- Fast experiment instantiation (seconds not minutes)
- Virtualized network stack as a standard feature in FreeBSD since 8.0-RELEASE
As invaluable tools in networked and distributed systems research, network emulators and simulators offer a viable alternative to live experimental networks. We are developing a realistic network topology emulation / simulation framework based on the FreeBSD and Linux operating system kernel partitioned into multiple lightweight virtual nodes, which can be interconnected via kernel-level links to form arbitrarily complex network topologies.
The concept of using virtual nodes inside a kernel for fast network emulation is not entirely new, yet previously published work generally advocated the implementation of kernel-level virtual nodes with capabilities limited to only certain simple functions, such as passing of network frames from one queue to another based on a static precomputed path. We are basing our work on a thesis that virtual nodes, which could offer the identical rich set of capabilities as the standard kernel does, can be implemented very efficiently by reusing the existing OS kernel code.
Our model therefore not only provides each node with an independent replica of the entire standard network stack, thus enabling highly realistic and detailed emulation of network routers; it also enables each virtual node to run a private copy of any unmodified user-level application, including routing protocol daemons, traffic generators, analyzers, or application servers. Furthermore, in later development phases we expect to enable each virtual node to support multiple network protocols concurrently, such as both IPv4 and IPv6, which would bring us a step closer to allowing for emulation of true multiprotocol networked environments.
This work has been supported in part by Ericsson Nikola Tesla Zagreb; Boeing Defense, Space and Security; FreeBSD / NLNet Foundation; ICSI / University California, Berkeley; Ministry of Science, Education and Sports of the Republic of Croatia.
A network testbed for commercial telecommunications product
D. Salopek, V. Vasic, M. Zec, M. Mikuc, M. Vasarevic, V. Koncar; in Proceedings of the Softcom 2014 22th International Conference on Sotware, Telecommunications and Computer Networks, Split, September 2014.
Improving distributed traffic generation performance by using IMUNES network
V. Vasic, M. Suznjevic, M. Mikuc, M. Matijasevic; in Proceedings of the Softcom 2012 20th International Conference on Sotware, Telecommunications and Computer Networks, Split, September 2012.
System Support for Integrated Network Emulation in IMUNES
M. Zec, M. Mikuc; to appear in Proceedings of the 1st Workshop on Operating System and Architectural Support for the on demand IT InfraStructure / ASPLOS-XI, Boston, October 2004.
- Implementing a Clonable Network Stack in the FreeBSD Kernel M. Zec; in Proceedings of the 2003. USENIX Annual Technical Conference, San Antonio, Texas, June 2003.