In the past few years we have seen the words cloud and computing pop up more and more. Most recently we started seeing trends towards what could be called cloud virtual routers. I know, I know, the term “virtual router” means different things to different people and every router vendor out there has their own definition. I added “cloud” to hopefully distinguish between the two.
A Cloud Virtual Router or CVR for short, is a router that exists within a hypervisor. The concept is not new, we have been running routing daemons on computing platforms for years and since the introduction of hypervisors, people have been running them there. It is also a well known fact that Juniper Networks utilizes a PC based control plane in their very first router, the M40.
The need for a CVR has been growing due to the density of blade servers and the growing number of virtualized machines you can run on a single box. If each box has an uplink for each machine (or even vlans, etc) going to a TOR (Top of Rack) Switch and back to your core, the amount of noise you will see in your network if you use an IGP (or STP, etc) will be massive, and useless.
You could deploy TOR Routers, but to get the density necessary would be very expensive. When I speak of routers I mean routers, not routing switches, to me there is a difference.
So a CVR becomes a real and reasonable option within the cloud space and it lays out like this (kept small for explanatory purposes):
Essentially in a system with 4 Virtual Machines (which could be multi-tenant) you have an 5th which is in reality a router. Each VM links to the router via a virtual link and the router links to the TOR Switch using multiple links. This saves ports on the TOR and hides instability from your network.
In this scenario, when a link flaps on a VM, it is handled by the CVR before being announced to the core. You can have all of the flexibilities of backup machines, failover, link detection, etc handled by the CVR. You could deploy 2 CVRs for redundancy.
So what do you use for the router? You have quite a few options, there are open source routing project such as Quagga. There are commercial solutions from Cisco such as the Nexus 1000-v. And many other options. Feel free to comment on this story if you have options to add.
TL;DR – Racks that used to hold 6 machines now hold hundreds of virtual machines, instability is exploding and there is a need for routed interfaces. Putting a Cloud Virtual Router in the chassis with the virtual machines is one solution to this issue.