新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 关于网络虚拟化的完备指南

关于网络虚拟化的完备指南

作者:时间:2012-11-15来源:网络收藏

针对如何优化数据中心以太网,支持其提供服务器,已经出现了很多新的和推荐的协议。其中有些协议的目的是希望通过创建多个可共享同一物理基础设施的虚拟以太网来实现,其共享方式有些类似于多个虚拟机共享同一台物理服务器。

本文引用地址:http://www.eepw.com.cn/article/153725.htm

适用于的大部分协议基本上都是利用封装和隧道技术来创建虚拟覆盖的。其中业界讨论最多的协议包括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地址的能力。

● 在虚拟网络中支持多路径转发。

各种覆盖协议之间的主要差异在于其封装格式和控制平面的功能性,即允许入口(封装)设备将一个帧映射到适当的出口(拆装)设备。

VXLAN

虚拟可扩展LAN(VXLAN)是在一个3层网络上借助MAC-in-UDP封装,叠加一个2层网络来实现网络虚拟的。VXLAN网段是一个3层构建,可替代VLAN为数据中心的VM生成LAN网段。

因此,一个VM只能在一个VXLAN段内通信或迁移。该VXLAN段有一个24位的VXLAN网络标识符。VXLAN对VM来说是透明的,仍可使用MAC地址来通信。VXLAN封装借助所谓VXLAN隧道端点(VTEP)来完成,该端点一般是通过一台hypervisor交换机或物理接入交换机来提供的。

VXLAN封装允许2层与任何端点进行通信,只要该端点在同一个VXLAN网段内即可,即便这些端点是在不同的IP子网内也没有关系。这可以让VM的实时迁移越出3层边界。因为MAC帧是在IP包内封装的,因此对个别的2层交换机来说是无需知道MAC地址的。

这样做可以减轻交换机出现MAC地址表的硬件容量问题。覆盖的IP和MAC地址可由VXLAN ID来处理,这个VXLAN ID就像是特定VXLAN网段的限定符/标识符,在这一网段内,IP和MAC地址都是有效的。这种VXLAN控制解决方案是使用基于任意源组播(ASM)的泛红来传播端系统位置信息的。

如上所述,VXLAN采用的是MAC-in-UDP封装。这么做的理由之一是现代的3层设备可解析5元组(包括4层的源和目的端口)。VXLAN虽然采用了清晰明确的目的UDP端口,但源UDP端口却可以是任何值。因此一个VTEP便可从跨很多UDP源端口的单一VM上传播所有的流。这样便允许中转的3层交换机在仅有的两个VM之间充分利用多路径,甚至是多流的优势。

在一个VXLAN覆盖网络上,如果VXLAN节点需要和网络的传统网段(例如VLAN)中的节点通信,可以用一个VXLAN网关来执行要求的隧道终端功能,包括封装/拆装。该网关的功能可利用硬件或软件来实现。

VXLAN是IETF标准草案的一个子集,支持厂商有VMware、思科、Arista网络、博科、红帽和Citrix。IBM也支持VXLAN。在hypervisor vSwitch和物理交换机上实现这个预标准的现象已开始出现。

NVGRE

采用通用路由封装的网络虚拟化(NVGRE)用的是RFC 2784和RFC 2890所定义的GRE隧道协议。NVGRE在很多方面和VXLAN相似,只有两处例外。虽然GRE封装不是什么新概念,但大多数网络设备却不会去解析硬件的GRE报头,因为这样做可能影响性能,在多路径数据中心LAN中解析流量分发的5元组哈希表也可能产生问题。

另一个例外是现有的IETF NVGRE标准草案并没有为前面在讲述一般的网络覆盖时所提到的控制平面功能指定一种解决方案,这可能得留待未来的草案去解决,或者留待SDN控制器去解决。

支持NVGRE的一些厂商(例如微软和Emulex)认为,某些性能问题可通过智能网卡来解决,即用智能网卡卸载hypervisor vSwitch上的NVGRE端点处理。智能网卡还拥有与覆盖控制器和hypervisor管理系统集成的API。Emulex还演示过可卸载VMware分布式交换机的VXLAN处理的智能网卡。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭