Network Virtualization and its two popular approaches: SDN and NFV

 

Network Virtualization

 

What is a Network and Ways to Virtualize it?

network is a group of two or more devices that can communicate. Traditionally, computer networks have used a mix of hardware and software to direct information through router and switch devices. Information passes through a network in packets, which are broken down pieces of information with smaller file sizes that are then reassembled at destination. Routers are responsible for forwarding packets between computers of different networks, whereas switches connect computers to the same network. The functions of routers and switches can be virtualized, along with other network devices such as firewalls, load balancers, gateways, and hubs.

One of the earliest implementations of network virtualization were virtual local area networks (VLANs). VLANs make it possible for devices physically in different geographical locations to appear as if they were in a single local area network, with a unique broadcast and multicast domain.

VLANs can support multiple networks on the same hardware infrastructure, such as multiple IP addresses on the same switch, meaning that VLANs are adept at scaling network traffic.

 

What Is Network Virtualization?

Network virtualization enables network functions usually run on hardware to be delivered as software and managed as a single entity.

To understand what is virtualized in a virtual network, we refer to the OSI model. The Open Systems Interconnection (OSI) model defines the standards for networking. OSI describes a network in seven layers, from the electrical hardware of the physical layer at the bottom to the end-user interface of the application layer at the top.


Network virtualization “softwarizes” functions on the first three layers of the OSI model:

  1. Physical (cabling, signaling, and basic communication)
  2. Data Link (addressing traffic)
  3. Transport (logical addressing and traffic flow control)

 

The basic goal of network virtualization is to introduce a layer of abstraction between physical hardware and the applications and services that use that hardware.

More specifically, network virtualization allows network functions, hardware resources, and software resources to be delivered independent of hardware—as a virtual network. It can be used to consolidate many physical networks, subdivide one such network, or connect virtual machines (VMs) together.

Network virtualization is categorized as either external virtualization, combining many networks or parts of networks works into a virtual unit, or internal virtualization, providing network-like functionality to software containers on a single network server.

There are two popular approaches to network virtualization: software-defined networking (SDN) and network functions virtualization (NFV).

Software-defined networking (SDN) and network functions virtualization (NFV) are complementary approaches to managing networks. What is “virtualized” in each case varies. The two concepts were introduced in 2008 and 2012 respectively, and their technologies are governed by standards bodies: the Open Networking Foundation and European Telecommunications Standards Institute.

 

Why network virtualization?

Network virtualization is rewriting the rules for the way services are delivered, from the software-defined data center (SDDC) to the cloud, to the edge. This approach moves networks from static, inflexible, and inefficient to dynamic, agile, and optimized. Modern networks must keep up with the demands for cloud-hosted, distributed apps, and the increasing threats of cybercriminals while delivering the speed and agility you need for faster time to market for your applications. With network virtualization, you can forget about spending days or weeks provisioning the infrastructure to support a new application. Apps can be deployed or updated in minutes for rapid time to value.

In software testing, software developers use network virtualization to test software under development in a simulation a network environment 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 physical hardware and system software. Of course, the validity of the test depends on the accuracy of the network virtualization in emulating real hardware and operating system.

 

Components

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 smartphones

·       Network media, such as Ethernet add fibre channel

 

How does network virtualization work?

Network virtualization decouples network services from the underlying hardware and allows virtual provisioning of an entire network. It makes it possible to programmatically create, provision, and manage networks all in software, while continuing to leverage the underlying physical network as the packet-forwarding backplane. Physical network resources, such as switching, routing, firewalling, load balancing, virtual private networks (VPNs), and more, are pooled, delivered in software, and require only Internet Protocol (IP) packet forwarding from the underlying physical network.

Network and security services in software are distributed to a virtual layer (hypervisors, in the data center) and “attached” to individual workloads, such as your virtual machines (VMs) or containers, in accordance with networking and security policies defined for each connected application. When a workload is moved to another host, network services and security policies move with it. And when new workloads are created to scale an application, necessary policies are dynamically applied to these new workloads, providing greater policy consistency and network agility.

 

External virtualization

External network virtualization combines or subdivides one or more local area networks LANs into virtual networks to improve a large networks or data centers efficiency. A virtual local area that work VLAN and network switch comprise the key components. Using this technology, a system administrator can configure system 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.

 

Internal virtualization

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 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. *[1]

 

Benefits of network virtualization

Network virtualization helps organizations achieve major advances in speed, agility, and security by automating and simplifying many of the processes that go into running a data center network and managing networking and security in the cloud. Here are some of the key benefits of network virtualization:

  • Reduce network provisioning time from weeks to minutes.
  • Achieve greater operational efficiency by automating manual processes.
  • Place and move workloads independently of physical topology.
  • Improve network security within the data center.

Examples

       i.          Microsoft virtual server uses virtual machines to make a "network in a box" running on 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).

     ii.          One example of network virtualization is virtual LAN (VLAN). A VLAN is a subsection of a local area network (LAN) created with software that combines network devices into one group, regardless of physical location. VLANs can improve the speed and performance of busy networks and simplify changes or additions to the network.

   iii.          Another example is network overlays. There are various overlay technologies. One industry-standard technology is called virtual extensible local area network (VXLAN). VXLAN provides a framework for overlaying virtualized layer 2 networks over layer 3 networks, defining both an encapsulation mechanism and a control plane. Another is generic network virtualization encapsulation (GENEVE), which takes the same concepts but makes them more extensible by being flexible to multiple control plane mechanisms.

 

Software-Defined Networking (SDN)

Software-defined networking involves separating the control plane of a network from the data plane. In a network, the control plane is responsible for guiding how packets should move through a network whereas the data plane (or forwarding plane) is responsible for sending packets to their destinations. Traditionally, the control and data planes are packaged together in a network device. By separating the control and data planes, SDN makes a network programmable, that is, it frees a network from relying on the rules set in a routing table. Instead with SDN, an administrator can program rules in a switch. Switches must be programmed through an SDN controller which uses protocols such as OpenFlow. OpenFlow was introduced around the same time as software-defined networking and is a protocol that allows for the control of switch data planes.

Software-defined networking was originally designed to work on local area networks (LANs). The technology has led to the development of software-defined wide area networks (SD-WANs) for enterprises. SD-WANs connect geographically isolated data centers together.

Mobile carriers and internet service providers use software-defined networking to scale bandwidth during increases in usage. Because network provisioning is programmable, administrators can assign bandwidth to servers at will. Additionally, cloud service providers utilize SDN to support multi-tenant cloud architecture. In multi-tenancy, administrators manage switches to funnel traffic into segregated networks for different tenants.

Network Functions Virtualization (NFV)

While SDN abstracts physical network infrastructure so that networks can be programmable, NFV deploys the functions of a network without the use of physical network devices. Network functions virtualization happens when proprietary network devices such as routers and firewalls are replaced with software versions that deploy on commercial off-the-shelf (COTS) hardware such as ARM and x86.

Key to network functions virtualization are virtual network functions (VNFs). Virtual network functions are the namesake virtualized instances of network functions. These are the virtual routers and virtual firewalls for example. Most VNFs operate inside hypervisors.

Although VNFs (the components) are integral to NFV (the architecture), NFV architecture also consists of a framework that oversees the management, automation, and orchestration (MANO) of VNF components, as well as both the hardware and software-based compute, storage, and networking components that enable network functions to be virtualized. Therefore, NFV architecture isn’t restricted to VNFs or software alone.

Both network functions virtualization and software-defined networking, mentioned in the previous section, decouple hardware and software. The difference to remember between the two network virtualization methods is that NFV imitates the network function on a physical device, so that the function can run on a server, while SDN separates the control and data planes of a network in order for both planes to be programmable.

Network Virtualization: Benefits of Edge Over Cloud

At their conception, network virtualization technologies brought about data center modernization. They have been an accelerator for the adoption of cloud computing. Cloud computing permits organizations to access and use shared computing resources located in a public data center via the internet. Network virtualization helped move infrastructures to the cloud since they gave rise to remote administration of networks.

Yet the centralized management of networks in cloud computing has exacerbated an already existing latency problem. While delays in data transmissions were already happening inside local networks, the phenomenon is worse over the internet. Latency worsens in cloud computing because data must travel for longer geographical distances.

A new decentralized approach is on the rise, focusing on reducing the impact of latency for scenarios involving mobility and real-time processing of data.

Use in Mobile Networks

Network virtualization applies to mobile networks as much as data networks. In mobile telecommunications, network virtualization can partition resources so that different users can transmit data on a single network.

The practice of network slicing uses NFV to overlay multiple virtual networks on a shared physical infrastructure. Because of the plethora of wireless internet devices available (think IoT, smartphones, mobile broadband, etc.), mobile networks need to run applications with different bandwidth requirements. Network slicing configures the optimum grouping of network traffic in order to decrease latency. In this way, network slicing is vital to upcoming 5G mobile networks and mobile edge computing.



 



Comments