现在,“虚拟”事物的概念已经被大家所熟悉。例如最常见的虚拟机,在用户看来它们就像是真正的计算机,它具有实际的硬盘驱动器和内存。然而,在现实中,这些元素并没有真实存在。只是,虚拟操作系统环境(通常是指VMware vSphere、Citrix Xen Server或者微软Hyper-V)向我们呈现了这些元素。
虚拟路由器也是如此。虚拟路由器具有物理路由器的所有组成部分,并且,它们的工作方式也相同。但是,与虚拟机一样,虚拟路由器并不是具有物理连接且真实存在的设备。
为了理解虚拟路由器,重要的是要了解物理路由器的元素。在其最简单的形式中,路由器通过协议来连接两个局域网,该协议会部署和了解子网络,并在这些子网络之间进行路由,即可路由的协议。此外,路由器还会通过广域网(WAN)连接不同地理位置的子网络。
因此,虚拟路由器需要三个组件:LAN接口、WAN接口和路由代码—用于确定哪些流量需要穿过WAN以及如何相应地对其进行封装。
在20世纪90年代,当WAN路由第一次成为连接不同地理位置的企业LAN的可行方法时,路由世界还处于“狂野西部”阶段。我们可能会认为目前的网络很复杂,但其实就基本路由而言,这已经相当简单,互联网和路由器都是通过IP运行。
连接位置不像第一代路由器那么简单
然而,对于早期路由器,并没有那么简单。很多这些路由器通过私有WAN(而不是互联网)连接,并且,可能运行很多数量的可路由协议,例如DECNet、Novell的IPX,甚至还有Banyan VINES。(例如当时,思科的营销团队就声称他们的产品通过十几个协议进行路由)。因此,这可能需要非常高的处理能力和内存来处理这些协议,特别是相对于当时的计算机能力。
WAN连接也不简单。广域接口通常是高级别数据控制或者帧中继,这些需要专门的硬件接口,而只有专用路由器中才有这种接口。
而现在,我们的世界已经变得非常简单。我们不仅只使用单个协议来路由,而且CPU已经显著提升,内存也是如此--即使是在标准的商用服务器。
限制,WAN接口(通过有线供应商和DSL提供商部署)已经成为又一个标准以太网连接。并且,随着10千兆以太网卡逐渐普及—甚至在现成的服务器中,为处理偶尔超过100 Mbps的互联网速度提供带宽并不是挑战。
商品PC可很好地满足基本路由需求
这意味着什么?现在具有两个以太网连接的商品PC的性能水平已经完全可以满足基本路由器要求(对于简单的分支机构级路由器)。并且,这个商品PC不需要是真实的PC—它可以被虚拟化。
在虚拟化成为主流技术之前,Vyatta公司(现在属于Brocade)就构建了可在标准戴尔PC运行的企业级路由器。而最近,思科、惠普等供应商也在其平台部署了代码,以允许在单台物理服务器生成多个独立的路由器。这意味着,虚拟化方法将在多租户环境特别有吸引力,因为每个租户都可以拥有专门的路由器,尽管是虚拟路由器。