VXLAN: What is It, and Why Do We Need It?
Amr Ibrahim is a Global Knowledge instructor who teaches and blogs from Global Knowledge Egypt.
A lot of new technologies and concepts are coming to the data center realm in response to the pressuring needs of new business requirements. In this post, we will discuss one of those technologies named VXLAN. We will try to examine it closely to understand what the need for it is in data centers.
“The Cloud is the problem.” Yes it is, but how? The most basic definition of the cloud is the abstraction of software from hardware, which means that you can run your applications on any hardware that can be rented from a cloud provider. This hardware will also be used to host other companies’ applications, so I can have one cloud system running the applications of multiple companies at the same time. This, of course, will enhance resource utilization and introduce some advantages like pay-as-you-go models, but it also raises some concerns from the network perspective. Now we will have a shared physical infrastructure used to provide resources to multi-companies or multitenants in that situation, so how we can guarantee unique MAC addresses and unique VLAN assigned to the multitenants using the cloud?
Even if somehow you did manage to have some rigorous rules in place so you can guarantee that all companies using your cloud will never run into this situation, this can only happen if you restrict each tenant to a special range of VLANs and mac addresses — administrators won’t accept.
Also, do we have enough VLANS to run the network on the same cloud? Even if it is enough, do we have switches powerful enough to run STP for each VLAN to avoid looping? Even if we do, it is still not an efficient way of using the network since half of the links are blocked most of the time.
Server virtualization has placed increased demands on the physical network infrastructure. At a minimum, there is a need for more MAC address table entries throughout the switched Ethernet network due to potential attachment of hundreds of thousands of Virtual Machines (VMs), each with its own MAC address.
A related requirement for virtualized environments is having the Layer 2 network scale across the entire data center or even between data centers for efficient allocation of network and storage resources. Using traditional approaches like Spanning Tree Protocol (STP) for a loop free topology can result in a large number of disabled links in such environments.
So we try to replace STP with other technologies like CAT65k VSS or Nexus VPC, which relies mainly on port channel technologies. But instead of load balancing across physical links terminated on the same device, thanks to VSS or VPC we can now have a port channel terminated on two physical devices which is considered a good replacement for STP as it eliminates the need to block half of my links to avoid loops.
Now add hosting applications in the cloud. Cloud basic building blocks are pods, and a pod is a number of racks where each rack is a collection of prewired pretested devices that provide applications with system network and storage resources. When you deploy your application over the cloud, you might run into a situation where your applications are deployed over different pods, meaning in different layer 3 domains. Still these applications require layer two connectivity.
So to summarize all the above, here is what we need:
If we host two different companies’ applications, and both of them use the same VLANS or even the same MAC address, this should not be a problem.
If the applications are deployed on the same pod, meaning they are in the same layer 2 domain or on different pods, meaning the applications are in different layer 2 domains, the applications still have layer 2 connectivity.
Also we need to effectively load balance the traffic across the PC since now most of the connections between the pods will rely on VPC and not STP.
The secret answer is VXLAN. So what is VXLAN? In short, it is the encapsulation of layer 2 frames in 4 headers:
- VXLAN headers
- UDP header
- Ip header
- Ethernet header
- VXLAN: What is It, and Why Do We Need It?
- VXLAN: What is It, and Why Do We Need It — the Conclusion