How Does This Fit with NFV and SDN?
With a basic grasp of what server virtualization is from previous chapters and with the newly gained understanding of network virtualization, it’s worth spending a few words on how they are related to network functions virtualization (NFV) and software-defined networking (SDN). To keep it in context, all four topics are summarized here.
Server virtualization is the abstraction of applications and operating systems from physical servers. This allows for the creation of VMs (app and OS pairs) that offer much greater usage efficiency on physical servers and afford enormous flexibility with regard to provisioning of applications.
Network Virtualization refers to the creation of logical groupings of endpoints on a network. In this case, the endpoints are abstracted from their physical locations so that VMs (and other assets) can look, behave, and be managed as if they are all on the same physical segment of the network. This is an older technology, but one that is critical in virtual environments where assets are created and moved around without much regard for the physical location. What is new here is the automation and management tools that have been purposely built for the scale and elasticity of virtualized data centers and clouds.
Network Functions Virtualization
NFV refers to the virtualization of Layer 4 through 7 services such as load balancing and firewalling. Basically, this is converting certain types of network appliances into VMs, which can then be quickly and easily deployed where they are needed. NFV came about because of the inefficiencies that were created by virtualization. This is a new concept; so far, only the benefits of virtualization have been covered, but virtualization causes a lot of problems, too. One of them was the routing of traffic to and from network appliances that typically were located at the edge of the data center network. With VMs springing up and being moved all over, the traffic flows became highly varied, which caused problems for fixed appliances that had to serve the traffic. NFV allows us to create a virtual instance of a function such as a firewall, which can be easily “spun up” and placed where it is needed, just as they would a VM. Much of this section focused on how this is done.
SDN refers to the ability to program the network. SDN is a newer technology, one that was born as a result of virtualization and the shift of where the “chokepoint” is in data communications. In short, the ability to set up or make changes to a network cannot keep up with the ability to provision applications with a click of a button. SDN makes the network programmable (which means network admins can quickly make adjustments to the network based on changing requirements). SDN is made possible by separating the control plane (the brains of the network) from the data plane (the muscle of the network). SDN is covered in depth in Part 5, “Software Defined Networks: Virtualizing the Network,” and Part 6, “SDN Controllers,” of this book.
All four of these technologies are designed to improve the mobility, agility, and flexibility of networks and data communication. However, virtualization, network virtualization, and network functions virtualization can all work on existing networks because they reside on servers and interact with “groomed” traffic sent to them. SDN, however, requires a new network topology and SDN-aware devices where the data and control planes are separate and programmable.