Network virtualization
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, combining many networks, or parts of networks, into a virtual unit, or internal, providing network-like functionality to the software containers on a single system. Whether virtualization is internal or external depends on the implementation provided by vendors that support the technology.
In software testing, network virtualization is a pre-production process for recreating network conditions from the production environment within the test environment. A component of application performance engineering, network virtualization enables connections between applications, services, dependencies and end users to be accurately emulated in the test environment.
Components of a virtual network
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 M2M elements such as telecommunications 4G HLR and SLR devices
- Network mobile elements such as laptops, tablets, and cell phones
- Network media, such as Ethernet and Fibre Channel
The following is a survey of common network virtualization scenarios and examples of vendor implementation of these scenarios.
External network virtualization
Some vendors offer external network virtualization, in which one or more local networks are combined or subdivided into virtual networks, with the goal of improving the efficiency of a large corporate network or data center. The key components of an external virtual network are the VLAN and the network switch. Using VLAN and switch technology, the system administrator can configure systems physically attached to the same local network into different virtual networks. Conversely, VLAN technology enables the system administrator to combine systems on separate local networks into a VLAN spanning the segments of a large corporate network.
Internal network virtualization
Other vendors offer internal network virtualization. Here a single system is configured with containers, such as the Xen domain, combined with hypervisor control programs or pseudo-interfaces such as the VNIC, to create a "network in a box." This solution improves overall efficiency of a single system by isolating applications to separate containers and/or pseudo interfaces. More information on management of network virtualization could be found at.[1]
Examples of internal network virtualization
Citrix and Vyatta have built a Virtual Network Stack combining Vyatta's routing, firewall and IPsec VPN functionality with Citrix Netscaler load balancer, Branch Repeater WAN optimization and Access Gateway SSL VPN. The vNetworkStack project is defining entire virtualized network architectures for branch offices, datacenters and cloud computing environments.
OpenSolaris network virtualization features (see OpenSolaris Network Virtualization and Resource Control) enable the "network in the box" scenario. The features of the OpenSolaris Crossbow Project provide the ability for containers such as zones or virtual machines on a single system to share resources and exchange data. Major Crossbow features include VNIC pseudo-interfaces and virtual switches, which emulate network connectivity by enabling containers to exchange data without having to pass that data onto the external network.
Microsoft Virtual Server uses virtual machines such as those provided by Xen to create a network in the box scenario for x86 systems. These containers can run different operating systems, such as Windows or Linux, and be associated with or independent of a system's NIC.
Combined internal and external network virtualization
Some vendors offer both internal and external network virtualization software in their product line. For example, Machine-To-Machine Intelligence (M2MI) technology covers both Internal, External and Multi-vendor software and hardware based technologies. M2MI is unique in its approach of applying "whitelist" blocking across all multi-vendor network elements, this approach ensures that Virtual Machines can not be "ARP spoofed", a technique used to compromise Virtual Machines at the network level. VMware provides products that offer both internal and external network virtualization only. VMware's basic approach is network in the box on a single system, using virtual machines that are managed by hypervisor software. VMware then provides its VMware Infrastructure software to connect and combine networks in multiple boxes into an external virtualization scenario.
Network virtualization for developers and QA testers
Network virtualization is also a vital component for application development and testing environments. In the pre-production stages of the software development life cycle, network virtualization is the process of recreating network conditions from the production - or real world - environment within the test environment. Network conditions such as latency, limited bandwidth, packet loss, and jitter, are all critical factors that must be taken into account when testing or validating application performance.
A component of Application performance engineering, network virtualization enables connections between applications, services, dependencies and end users to be accurately emulated in the test environment. In the absence of these real-world conditions, testing will yield unreliable results as the effect of the network on the end user experience, as well as on communication with external services, remains unaccounted for. As with services, virtualizing network conditions in the test lab is essential to creating a realistic environment for testing that yields accurate and reliable insight into application behavior.
With the massive global uptake in mobile devices and the rise of cloud computing, the effect of the network has become even more pronounced since conditions across the “last mile” affect performance more than other factors, and mobile conditions in particular are intrinsically dynamic. Therefore, incorporating network virtualization is particularly crucial when any mobile or cloud component is part of the scenario.
Network virtualization initiatives
- Global Environment for Network Innovations
- Future Internet Research and Experimentation
- AKARI Project
See also
- Application performance engineering
- Avocent
- Network switch
- Platform virtualization
- Virtual LAN
- Virtual machine
- Virtual private network
- I/O virtualization
- Network Functions Virtualization
- VXLAN
- NVGRE
Further reading
- 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.
References
- 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