Software-Defined Networking - Network Virtualization



Network Virtualization is used in networking when integrated with Software-Defined Networking (SDN). You can create virtual networks that operate independently with physical hardware. Network Virtualization decouples network functions from physical devices for efficient network management. It is just like how the SDN Controller centralizes control over network devices.

Network Virtualization

Network virtualization separates network services from the physical devices like routers and switches. You can abstract these functions into software. You can create virtual networks that run on top of a physical network. These virtual networks can operate independently. So many virtual networks coexist on the same physical hardware for a single physical network to be partitioned into multiple virtual layers.

Network Virtualization

Physical devices like routers and switches are still responsible for forwarding traffic in a virtualized network. But the control over network functions, like routing, switching, and security policies, is shifted to a software-based virtual control layer. So there can be dynamic, flexible, and scalable network management same as server virtualization.

Architecture of Network Virtualization

There are three layers of the architecture of network virtualization just like the SDN architecture. These layers work together to decouple network functions from physical infrastructure.

These layers also create a flexible and software-driven network environment −

1. Application Layer

In this layer, network virtualization applications communicate with virtual network controllers to use network requirements. These requirements include how virtual machines (VMs) and other workloads should connect and interact with each other. The applications define network policies like VLANs, firewall rules, and load balancing configurations, etc. These are then passed to the control layer for implementation.

2. Control Layer

The control layer in network virtualization is managed by a virtual network controller. This layer centralized controller translates the high-level requirements of the application layer into given network configurations. You can create and manage virtual network elements like virtual switches, virtual routers, and security policies. So network resources are allocated according to the defined policies.

3. Infrastructure Layer

This layer consists of the physical network components, like switches, routers, and servers. The infrastructure layer acts as the packet-forwarding backplane in the virtualized network. The control and data plane functions are decoupled and handled by software at higher layers.

Network virtualization overlays, like VXLAN (Virtual Extensible LAN) and GENEVE (Generic Network Virtualization Encapsulation) are used to create virtual network layers. These overlays decouple the virtual network addressing from the physical network for movement of VMs across the data center without disrupting network configurations.

Virtual Switches and Data Planes

At the heart of network virtualization is the virtual switch. Virtual switches reside on physical hosts and manage the forwarding of packets between virtual machines and the external network. One of the most used virtual switches is Open vSwitch (OVS). It is deployed in both proprietary and open-source network virtualization systems.

The virtual switch is important in the data plane of network virtualization. It has forwarding rules to ensure that packets are delivered to their intended destinations based on the virtual network configuration. In many cases, the data plane also handles network services, like firewalling and load balancing, in a distributed manner across the virtual switches.

For example, you can implement a virtual firewall directly within the virtual switch. So traffic between virtual machines can be filtered at the source without needing to pass through an external hardware firewall. This distributed approach enhances performance because it reduces latency and minimizes the need for external network hops.

High Availability and Scalability

Network virtualization enhances network scalability and availability because virtual networks can be dynamically configured and managed without affecting physical infrastructure. This separation of control enables networks to grow as needed. New virtual networks and devices added in minutes rather than days.

To keep high availability, virtual networks are designed with redundant paths and distributed control mechanisms. It is just like in a Leaf-Spine architecture, where network traffic can be dynamically rerouted to prevent failures. In network virtualization, traffic can be shifted between virtual paths to ensure continuous service availability, even in the case of a physical device and link failure.

As more workloads and applications are deployed in a virtualized network. The system can scale by adding more virtual machines, virtual switches, and even entire virtual networks. So you can expand their network capacity without the need to add significant amounts of physical infrastructure.

Role of SDN in Network Virtualization

Software-Defined Networking (SDN) has important role in managing network virtualization. SDN Controllers can centralized control over both physical and virtual network elements. So real-time adjustments to network configurations based on application needs and traffic conditions.

SDN Controllers manage virtual networks using commands to virtual switches and routing traffic between physical and virtual networks. So traffic flows efficiently, even as virtual machines move across the network.

SDN APIs allow applications to interact with the virtual network to automate provisioning, policy management, and real-time monitoring. These APIs serve as a bridge between the virtual network control layer and the physical infrastructure for communication between both layers.

You can combine SDN programmability and centralize control with network virtualization to decouple functions from hardware, enterprises can create agile, responsive networks that can change business needs.

Advantages of Network Virtualization

Network virtualization has various advantages in networking environments. Some of these are given as below −

  • Increased Agility − You can create, modify, and remove virtual networks in minutes. So you can respond very fast in changing application requirements.
  • Cost Savings − You can consolidate network functions onto virtual infrastructure. So it can reduce the need for expensive hardware, like dedicated routers and switches.
  • Simplified Managemen − Virtual network environments are managed centrally. You can define and enforce network policies across the entire infrastructure from a single point of control.
  • Scalability − Virtual networks can grow dynamically as new workloads are deployed. So it does not need to change the physical network infrastructure.
  • Improved Security − Virtual networks can be segmented into isolated environments for traffic between different virtual machines and applications to keep secure. Policies like micro segmentation allow for fine-grained control over network communication between virtual machines.

Disadvantages of Network Virtualization

These are some disadvantages of network virtualization −

  • Complexity − There can be complexity in implementing network virtualization when you integrate it with existing physical networks. So managing virtual overlays and physical underlays can require skills and tools.
  • Performance Overheads − Virtualizing network functions can introduce more processing overhead on host servers. For example, virtual switches may consume CPU resources, impacting performance.
  • Compatibility Issues − Not all physical network devices may support the overlays and encapsulation methods used by virtual networks. It can complicate integration with legacy systems.

Difference between Software-Defined Networking and Network Virtualization

Feature SDN NV
Control vs. Forwarding Plane SDN separates control and forwarding planes for centralized management. NV decouples network functions from hardware for virtual networks.
Network Focus SDN manages the entire network infrastructure and services. NV focuses on creating and managing virtual networks on shared hardware.
Functionality Scope SDN has broad functionality across the network. NV focuses on routing, firewall, and lower-level network functions.
Primary Use Case SDN is primarily used in data centers and cloud environments. NV is used by service providers and operators for network service virtualization.
Technology Foundation SDN centralizes control and programmability. NV virtualizes network services like routing and load balancing.
Communication Protocols SDN uses OpenFlow for device-controller communication. NV uses overlays like VXLAN and GENEVE for network encapsulation.
Standards and Governance SDN is supported by the Open Networking Foundation (ONF). NV is governed by the ETSI NFV Working Group.
Supporters and Advocates SDN is backed by enterprise hardware and software providers. NV is strongly supported by telecom service providers.
Initiators SDN projects are driven by corporate IT. NV projects are led by service providers and operators.
Hardware Usage SDN applications run on industry-standard servers or switches. NV applications run on virtualized x86 servers.
Cost Efficiency SDN reduces hardware costs by minimizing dedicated device needs. NV cuts costs by replacing physical appliances with virtual functions.
Scalability and Agility SDN scales dynamically and adjusts to traffic demands. NV scales by adding virtual networks without altering physical infrastructure.
Primary Applications SDN is used for networking, cloud orchestration, and traffic management. NV is used for virtual routers, firewalls, and content delivery networks (CDNs).

Conclusion

Network virtualization (much like SDN) used to design networks. It separates network functions from physical infrastructure and creates software-based virtual networks. It decouple control and data planes. Network virtualization are scalable, flexible, and programmable networks. The combination of network virtualization and SDN can be used as a platform for building agile, cost-efficient, and secure networks. Network virtualization enables centralized control and management of virtual networks, just as the Leaf-Spine fabric centralizes and optimizes traffic flow in physical networks.

Advertisements