Network virtualization is the most complex part of virtualization technology and the most difficult to learn. But because the network is a very important resource in virtualization, the hard bones must be chewed down.
To give you a visual understanding of the complexity of your virtualization network, see
This is the logical diagram of a virtual network of compute nodes (which can be understood as KVM hosts) on the OpenStack official web site, with many network devices and complex layers.
The first time I saw this picture, I really got a jump.
But we also do not fear, towering high-rise from the ground, virtual network complex, is also composed of a number of basic components. As long as we understand the concepts of these basic components and the logical relationship between them, we can have a deep understanding of the architecture of the virtual network, then the virtual network in the cloud environment will be a cinch.
Let's learn about the two most important things in Network virtualization: Linux Bridge and VLAN
Basic concepts of Linux Bridge
Assuming that the host has 1 network connection with the physical network card eth0, which ran 1 virtual machine VM1, now has a problem is: How to let VM1 access to the extranet?
There are at least two scenarios
-
-
assign a virtual NIC to VM1 Vnet0, br0 by Linux Bridge eth0 and Vnet0 connected as shown in
Linux Bridge is used on Linux to do TCP/IP Layer Two protocol exchange device, its functions can be easily understood as a two-layer switch or Hub. Multiple network devices can connect to the same Linux bridge, and when a device receives a packet, Linux bridge forwards the data to the other device.
In the above example, when there is data to eth0, BR0 will send the data to vnet0, so that the VM1 can receive data from the external network, in turn, VM1 send data to Vnet0,br0 will also forward the data to eth0, thus realizing the VM1 and the external network communication.
Now we add a virtual machine VM2, as shown in
The VM2 virtual network card Vnet1 is also connected to the BR0. Now VM1 and VM2 can communicate, while VM1 and VM2 can also communicate with the external network.
With the basics above, the next section shows how to implement this virtual network in an experimental environment.
KVM Network Virtualization Fundamentals-5 minutes a day to play with OpenStack (9)