Understanding Virtual Networks – The Basics
In order understand Virtual Networking let us start with the simplest network that many of us operate every day – our home network. The picture below captures what a typical home network looks like. I am sure most of us use wireless rather than wired networks at home but the underlying concepts are very much alike.
Components of a home network
- Computing devices: these are our desktop and/or notebook computers
- Physical NIC (pNIC): These are the Network Interface Card and ports on the computing devices
- Layer 2 switch: The main component which provides networking support is a Layer 2 Ethernet Switch.
- External network: The switch is usually connected to a cable or DSL modem which in turn gives Internet access to our home computing devices. Note: Most of us probably use an ‘all-in-one’ device that acts as a Modem as well as a switch. But for understanding the important entity is the Switch part of the device.
Steps to configure the home network
Let us take a look at the main steps involved in setting up and configuring this home network.
- Step 1: Power up the Ethernet Switch
- Step 2: Configure the Internet (external network) access. This includes configure your ISP details and credentials.
- Step 3: Configuring the LAN features such as DHCP etc.
- Step 4: Connect the computing device to the Switch. The computing devices will get IP address from the DHCP server on the switch. The switch will act as the gateway for external connectivity.
At the end of this process the two computing devices will be able to communicate with one another and also be able to access the external network.
In a virtualized environment many of the physical components get converted into virtual components. But you still need the physical components that will act as hosts. The following picture shows the different components involved in a virtual computing environment:
- Virtual Computing Device: Popularly known as Virtual Machine (VM) runs as a software entity within the host server.
- Virtual NIC (vNIC): Virtual machines have virtual network adapters (vNIC) that provide networking support.
- Virtual L2 Switch: Since multiple virtual machines can be instantiated within a single host server, a virtual switch is required to provide inter-VM connectivity as well as external access.
- Physical NIC (pNIC): On the host servers the physical NIC supports physical network connectivity.
- Host Server: This computing device runs the operating systems and hypervisor software that support the life cycle of virtual machines.
As you can see there is strong similarity between the home networking setup and the virtualized computing setup.
The physical devices at home are connected to physical switch. Similarly the physical host server is connected to physical switch. The virtual devices (virtual machines) are connected to virtual switch. For the virtual switch, the physical switch acts as external connectivity provider.
Let us now look at the steps to configure the virtual network as described in the picture below.
- Step 1: Power up the Ethernet Switch
- Step 2: Configure the external network access. This includes configure your ISP/WAN details.
- Step 3: Configuring the LAN features such as VLAN etc. VLAN or Virtual LAN is one of the most heavily used LAN functionality especially for virtual networking.
- Step 4: Create a Virtual Switch. Depending on the hypervisor and the operating system there are several options to create virtual switches. We will discuss these in detail in subsequently.
- Step 5: Configure the physical network information (pNIC) in the Virtual Switch.
- Step 6: On the virtual switch configure LAN features such as DHCP etc.
- Step 7: Instantiate Virtual Machines and associate the virtual NIC to the virtual Switch.
So at a broad level, we can see that conceptually home networking setup and a virtual networking setup are very similar. But as they say the devil is in the details. While physical networking features are well standardized, virtual network configuration is still very vendor and technology specific. The advent of cloud computing has accelerated new products such as OpenStack and CloudStack that provide automated APIs for configuring virtual networks. On the other hand vendors such as VMware provide fabulous tools for creating and managing virtual networks.
In the next part we will take a look at the networking aspects of OpenStack – the Quantum project.