精通网络虚拟化的必备攻略
扫描二维码
随时随地手机看文章
针对如何优化数据中心以太网,支持其提供服务器虚拟化,已经出现了很多新的和推荐的协议。其中有些协议的目的是希望通过创建多个可共享同一物理基础设施的虚拟以太网来实现网络虚拟化,其共享方式有些类似于多个虚拟机共享同一台物理服务器。
适用于网络虚拟化的大部分协议基本上都是利用封装和隧道技术来创建虚拟网络覆盖的。其中业界讨论最多的协议包括VXLAN、NVGRE、STT和SPB MAC-in-MAC。SPB已是IEEE标准,而在有可能成为IETF标准的各种协议中,最有可能成为标准的是VXLAN。
传统意义的网络虚拟化
网络实体的一对多虚拟化并不是什么新概念。最常见的例子就是VLAN和VRF(虚拟路由与转发)。
VLAN可将网络划分为最多4094个广播域,在以太网报头中为每个广播域指定一个12位的VLAN ID。VLAN是在共享同一个包交换LAN基础设施中隔离不同类型流量的一种很方便的方法。
数据中心在大量使用着服务器虚拟化,而VLAN数量上的限制可能产生问题,尤其当大量的租户需要获得支持,每个租户都需要多个VLAN的时候。借助802.1Q的trunk链路可在数据中心内部扩展VLAN以便支持VM(虚拟机)的移动性,但这样会增加运营成本和复杂程度。即便在基于2层的服务器-服务器连接的数据中心里,大量的VM每个都有自己的MAC地址,也会给2层交换机的转发表功能带来负担。
VRF是3层网络虚拟化的一种,其中的物理路由器支持多个虚拟路由器实例,每个实例都运行自己的路由协议实例,维护自己的转发表。
和VLAN不同,VRF不会在报头中使用标签为每个分组指定具体的VRF。在每一跳都会根据输入接口和帧的信息获得适当的VRF。另外一个要求是,在数据包经过的端到端路径中的每一个中转路由器都需要配置一个VRF实例,以便能够转发该数据包。
利用覆盖的网络虚拟化
由于传统VLAN或VRF模式存在缺陷,于是开始涌现出众多创建虚拟网络的新技术。其中大多数都是采用封装和隧道技术,在同一个物理网络上通过覆盖来构建多个虚拟网络拓扑。
一个虚拟网络可以是2层的或3层的网络,而物理网络可以是2层的、3层的,或者两者结合的网络,这要取决于采用了何种覆盖技术。利用覆盖技术,外层(封装)报头包含一个24位长的域,携带一个虚拟网络实例ID(VNID),给要转发的数据包专门指定一个虚拟网络。
虚拟网络的覆盖可提供众多的好处,包括:
● 可支持基本上没有数量限制的虚拟网络;例如24位报头可创建高达1600万个虚拟网络。
● 可解耦虚拟网络拓扑、服务类别(L2或L3)和物理网络寻址。这种解耦可避免出现诸如物理交换机上MAC表过大的问题。
● 支持虚拟机的迁移与物理网络的无关性。如果一个VM要改变位置,甚至迁移到新的子网,在覆盖边缘的交换机只须更新其映射表便可反映出这个VM的新位置。新的VM的网络完全可在网络边缘进行预配置。
● 管理多个租户间相互覆盖IP地址的能力。
● 在虚拟网络中支持多路径转发。
各种覆盖协议之间的主要差异在于其封装格式和控制平面的功能性,即允许入口(封装)设备将一个帧映射到适当的出口(拆装)设备。