In computing, network virtualization is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization.
Network virtualization is categorized as either external virtualization, combining many networks or parts of networks into a virtual unit, or internal virtualization, providing network-like functionality to software containers on a single network server.
In software testing, software developers use network virtualization to test software under development in a simulation of the network environments in which the software is intended to operate. As a component of application performance engineering, network virtualization enables developers to emulate connections between applications, services, dependencies, and end users in a test environment without having to physically test the software on all possible hardware or system software. Of course, the validity of the test depends on the accuracy of the network virtualization in emulating real hardware and operating systems.
Various equipment and software vendors offer network virtualization by combining any of the following:
- Network hardware, such as switches and network adapters, also known as network interface cards (NICs)
- Network elements, such as firewalls and load balancers
- Networks, such as virtual LANs (VLANs) and containers such as virtual machines (VMs)
- Network storage devices
- Network machine-to-machine elements, such as telecommunications devices
- Network mobile elements, such as laptop computers, tablet computers, and smart phones
- Network media, such as Ethernet and Fibre Channel
External network virtualization combines or subdivides one or more local area networks (LANs) into virtual networks to improve a large network's or data center's efficiency. A virtual local area network (VLAN) and network switch comprise the key components. Using this technology, a system administrator can configure systems physically attached to the same local network into separate virtual networks. Conversely, an administrator can combine systems on separate local networks into a VLAN spanning the segments of a large network.
also called Virtual Channel Internal network virtualization configures a single system with software containers, such as Xen hypervisor control programs, or pseudo-interfaces, such as a VNIC, to emulate a physical network with software. This can improve a single system's efficiency by isolating applications to separate containers or pseudo-interfaces.
Citrix and Vyatta have built a virtual network protocol stack combining Vyatta's routing, firewall, and VPN functions with Citrix's Netscaler load balancer, branch repeater wide area network (WAN) optimization, and secure sockets layer VPN.
OpenSolaris network virtualization provides a so-called "network in a box" (see OpenSolaris Network Virtualization and Resource Control).
Microsoft Virtual Server uses virtual machines to make a "network in a box" for x86 systems. These containers can run different operating systems, such as Microsoft Windows or Linux, either associated with or independent of a specific network interface controller (NIC).
Use in testing
Network virtualization may be used in application development and testing to mimic real-world hardware and system software. In application performance engineering, network virtualization enables emulation of connections between applications, services, dependencies, and end users for software testing.
- Global Environment for Network Innovations
- Future Internet Research and Experimentation
- AKARI Project
- Application performance engineering
- Network switch
- Platform virtualization
- Virtual LAN
- Virtual machine
- Virtual private network
- I/O virtualization
- Network Functions Virtualization
- Esposito, Flavio; Matta, Ibrahim; Ishakian, Vatche (2011). "Slice Embedding Solutions for Distributed Service Architectures". ACM Computing Surveys 26 (1). Retrieved March 2014.
- Chowdhury, N.M. Mosharaf Kabir; Boutaba, Raouf (2010). "A survey of network virtualization". Computer Networks 54 (5): 862–876. doi:10.1016/j.comnet.2009.10.017. ISSN 1389-1286.
- Berl, Andreas; Fischer, Andreas; de Meer, Hermann (2009). "Using System Virtualization to Create Virtualized Networks". Electronic Communications of the EASST 17: 1–12. ISSN 1863-2122.
- Fischer, Andreas; Botero, Juan Felipe; Beck, Michael Till; de Meer, Hermann; Hesselbach, Xavier (2013). "Virtual Network Embedding: A Survey". IEEE Communications Surveys & Tutorials: 1–19. doi:10.1109/SURV.2013.013013.00155. ISSN 1553-877X.
- Victor Moreno and Kumar Reddy (2006). Network Virtualization. Indianapolis: Cisco Press.
- NetworkVirtualization.com | News retrieved 3 June 2008
- A. Galis, S. Clayman, A. Fischer, A. Paler, Y. Al-Hazmi, H. De Meer, A. Cheniour, O. Mornard, J. Patrick Gelas and L. Lefevre, et al. "Future Internet Management Platforms for Network Virtualisation and Service Clouds"- ServiceWave 2010, December 2010, http://servicewave.eu/2010/joint-demonstration-evening/ and in "Towards A Service-Based Internet" Lecture Notes in Computer Science, 2010, Volume 6481/2010, 235-237, doi:10.1007/978-3-642-17694-4_39