2 Overlay虚拟化网络的技术标准及比较

2.1 Overlay技术形态

Overlay在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主(如图2所示)。其实这种模式是以对传统技术的优化而形成的。早期的就有标准支持了二层Overlay技术,如RFC3378(Ethernet in IP),就是早期的在IP上的二层Overlay技术。并且基于Ethernet over GRE的技术,H3C与Cisco都在物理网络基础上发展了各自的私有二层Overlay技术——EVI(Ethernet Virtual Interconnection)与OTV(Overlay Transport Virtualization)。EVI与OTV都主要用于解决数据中心之间的二层互联与业务扩展问题,并且对于承载网络的基本要求是IP可达,部署上简单且扩展方便。

图2 Overlay网络模型

随着云计算虚拟化的驱动,基于主机虚拟化的Overlay技术出现,在服务器的Hypervisor内vSwitch上支持了基于IP的二层Overlay技术,从更靠近应用的边缘来提供网络虚拟化服务,其目的是使虚拟机的部署与业务活动脱离物理网络及其限制,使得云计算的网络形态不断完善。(如图3所示)主机的vSwitch支持基于IP的Overlay之后,虚机的二层访问直接构建在Overlay之上,物理网不再感知虚机的诸多特性,由此,Overlay可以构建在数据中心内,也可以跨越数据中心之间。

图3 hypervisor支持的二层Overlay

2.2 Overlay如何解决当前的主要问题

针对前文提出的三大技术挑战,Overlay在很大程度上提供了全新的解决方式。

针对虚机迁移范围受到网络架构限制的解决方式

Overlay是一种封装在IP报文之上的新的数据格式,因此,这种数据可以通过路由的方式在网络中分发,而路由网络本身并无特殊网络结构限制,具备良性大规模扩展能力,并且对设备本身无特殊要求,以高性能路由转发为佳,且路由网络本身具备很强的的故障自愈能力、负载均衡能力。采用Overlay技术后,企业部署的现有网络便可用于支撑新的云计算业务,改造难度极低(除性能可能是考量因素外,技术上对于承载网络并无新的要求)。

针对虚机规模受网络规格限制的解决方式

虚拟机数据封装在IP数据包中后,对网络只表现为封装后的的网络参数,即隧道端点的地址,因此,对于承载网络(特别是接入交换机),MAC地址规格需求极大降低,最低规格也就是几十个(每个端口一台物理服务器的隧道端点MAC)。当然,对于核心/网关处的设备表项(MAC/ARP)要求依然极高,当前的解决方案仍然是采用分散方式,通过多个核心/网关设备来分散表项的处理压力。(另一种更分散的方式便是虚拟网络路由服务方式,详见后文描述)。

针对网络隔离/分离能力限制的解决方式

针对VLAN数量4000以内的限制,在Overlay技术中引入了类似12比特VLAN ID的用户标识,支持千万级以上的用户标识,并且在Overlay中沿袭了云计算“租户”的概念,称之为Tenant ID(租户标识),用24或64比特表示。针对VLAN技术下网络的TRUANK ALL(VLAN穿透所有设备)的问题,Overlay对网络的VLAN配置无要求,可以避免网络本身的无效流量带宽浪费,同时Overlay的二层连通基于虚机业务需求创建,在云的环境中全局可控。

2.3 Overlay主要技术标准及比较

目前,IETF在Overlay技术领域有如下三大技术路线正在讨论,为简单起见,本文只讨论基于IPv4的Overlay相关内容(如图4所示)。

VXLAN。VXLAN是将以太网报文封装在UDP传输层上的一种隧道转发模式,目的UDP端口号为4798;为了使VXLAN充分利用承载网络路由的均衡性,VXLAN通过将原始以太网数据头(MAC、IP、四层端口号等)的HASH值作为UDP的号;采用24比特标识二层网络分段,称为VNI(VXLAN Network Identifier),类似于VLAN ID作用;未知目的、广播、组播等网络流量均被封装为组播转发,物理网络要求支持任意源组播(ASM)。

NVGRE。NVGRE是将以太网报文封装在GRE内的一种隧道转发模式;采用24比特标识二层网络分段,称为VSI(Virtual Subnet Identifier),类似于VLAN ID作用;为了使NVGRE利用承载网络路由的均衡性,NVGRE在GRE扩展字段flow ID,这就要求物理网络能够识别到GRE隧道的扩展信息,并以flow ID进行流量分担;未知目的、广播、组播等网络流量均被封装为组播转发。

STT。STT利用了TCP的数据封装形式,但改造了TCP的传输机制,数据传输不遵循TCP状态机,而是全新定义的无状态机制,将TCP各字段意义重新定义,无需三次握手建立TCP连接,因此称为无状态TCP;以太网数据封装在无状态TCP;采用64比特Context ID标识二层网络分段;为了使STT充分利用承载网络路由的均衡性,通过将原始以太网数据头(MAC、IP、四层端口号等)的HASH值作为无状态TCP的源端口号;未知目的、广播、组播等网络流量均被封装为组播转发。

VXLAN NVGRE SST

图4 三种数据详细封装

这三种二层Overlay技术,大体思路均是将以太网报文承载到某种隧道层面,差异性在于选择和构造隧道的不同,而底层均是IP转发。如表1所示为这三种技术关键特性的比较:VXLAN和STT对于现网设备对流量均衡要求较低,即负载链路负载分担适应性好,一般的网络设备都能对L2-L4的数据内容参数进行链路聚合或等价路由的流量均衡,而NVGRE则需要网络设备对GRE扩展头感知并对flow ID进行HASH,需要硬件升级;STT对于TCP有较大修改,隧道模式接近UDP性质,隧道构造技术属于革新性,且复杂度较高,而VXLAN利用了现有通用的UDP传输,成熟性极高。总体比较,VLXAN技术相对具有优势。

表1 IETF三种Overlay技术的总体比较

IETF讨论的Overlay技术,主要聚焦在数据转发层面的实现上,控制层面并无涉及,因此在基本实现上依赖于不同厂家的控制层面设计,IETF讨论稿《draft-pfaff-ovsdb-proto-02.pdf》则针对Open vSwitch提供了一种控制管理模型的建议(如图5所示),但在细节实现上仍不是很明确。

图5 IETF draft讨论的OVS管理方式


相关内容