Virtual Extensible LAN is designed for large-scale service providers and data centers. In this video, you’ll learn about VXLAN and how a virtual extensible LAN design can scale to millions of virtual networks.
Many organizations will distribute their applications, their servers, and other devices across many different data centers. Instead of treating each of these data centers as an individual entity, it would be useful if we could have Data Center Interconnection, or DCI, a way to connect these different data centers seamlessly with each other. If you are a service provider, you may have 100 or even thousands of customers using resources that span across multiple data centers located anywhere in the world.
And of course, we use the cloud to distribute our applications to multiple data centers that may be located in many different locations. And those applications may move at any time to any of these cloud based data centers. When you have devices located in different data centers, however, you may run into situations where IP addressing is very different across those different data centers. There might be one IP addressing scheme for data center A and a completely different IP addressing scheme for data center B.
The connectivity to these data centers may also be very different. Some data centers may be in a large metropolitan area with lots of fiber connectivity and large amounts of bandwidth. Other data centers might connect through metro ethernet or other types of copper based connectivity.
The applications that are residing in these data centers shouldn’t have to worry about connectivity types, IP address schemes, or anything else that’s unique to that data center. We should be able to put an application in any location and that application should work without any type of issue. We need a way to seamlessly connect these data centers together without a concern about IP address schemes or the underlying network infrastructure.
The solution to this problem is a virtual extensible LAN or VXLAN. This technology was designed to support thousands of different customers, all using the same data centers located across the world. You may already be familiar with VLANs, or Virtual Local Area Networks. VLANs are designed to span across multiple switches at layer 2 so that you can have different areas of the network supporting the same IP subnets.
Unfortunately, VLANs have a limited scope because they can only support around 4,000 different virtual networks and they are limited to layer 2, which makes them non-routable. With VXLAN, we can support up to 16 million virtual networks. And those virtual networks can be connected to each other over a layer 3 network, which makes it very easy to route over the existing public internet. This is designed for the large virtual environments that we’ve created and allows us to support our applications wherever they might be.
Let’s take a scenario where we have two data centers. In one data center, we have a virtualization server. Inside of that virtualization server is a virtual switch and three separate virtual machines, A1, B1, and C1.
In a different data center, we have a similar virtualization server with its own VSwitch and a virtual machine, A2, B2 and C2. And in this example, virtual machine A1 is associated with virtual machine A2. Virtual machine B1 is associated with B2 and virtual machine C1 is associated with virtual machine C2.
This virtualization server is contained within a rack that has a top of rack switch that contains a VXLAN tunnel endpoint. In one data center that VTEP is numbered 1.1.1.1, and in a different data center, there’s a completely different IP address for this VTEP of 2.2.2.2.
Notice that both of these VXLAN tunnel endpoints will support a VXLAN Network Identifier, or VNI. You can see there is a VNI 2000, a VNI 3000 and VNI 4000 in both of these data centers. So the challenge is connecting VNI 2000 in data center with VNI 2000 in another data center, VNI 3000 in one data center to the other, and VNI 4000 in one data center to the other.
The way that we would accomplish this is through the use of a VXLAN tunnel. This uses an existing IP network to be able to provide the transportation and we’re able to encapsulate information in one data center, send it through this tunnel, and decapsulate it on the other end. Here’s how this would work.
We have our original frame in the first data center. This is a standard ethernet frame with an ethernet header, an IP header, and the payload that we would like to send to the other data center. We’re going to encapsulate that original frame within a VXLAN header that sits inside a UDP header in an IP header in an ethernet frame. This information is routed across a VXLAN tunnel, where on the other side it is decapsulated from the tunnel and the original ethernet frame is then in the second data center and added to the existing virtualization server. This allows us to connect virtual machines into completely different data centers, but still have those virtual machines feel that they are both directly connected to each other.