面向vDC的overlay网络关键技术研究
2014-03-12张届新吴志明徐文华
张届新,吴志明,徐文华
(中国电信股份有限公司上海分公司 上海 200085)
1 引言
随着我国云计算进入应用落地的快速发展期,作为云计算基础的数据中心也面临从传统的部署管理模式向云计算数据中心转型的问题。云计算从互联网演变而来,本质是通过网络将计算力进行集中和存储,并通过网络提供服务。如果没有网络,计算力集中规模、服务的种类和可获得性就会受到极大的限制。可见,面向云计算的数据中心包括计算、存储和网络3种资源。又由于这些资源采用物理形式或虚拟形式存在,且用户所需的整体系统资源可能分布在用户端、电信运营商的一个或多个数据中心内;反之,电信运营商的一个数据中心内的资源可以虚拟为多个独立的虚拟环境,分别为不同用户提供逻辑上完全隔离的DC微环境,这种模式的数据中心架构称为虚拟数据中心(vDC)。
现阶段,电信运营商的vDC发展面临以下3方面的驱动。
一是业务更新驱动,包括电信运营商内外部双方的驱动。就外部环境而言,企业的IT系统主要为企业实现减少成本、创造价值和提高效率这3种价值可能性。基于云计算虚拟化、集中化运营的IT外包日益成为趋势,越来越多的企业将部分或全部IT系统部署在电信运营商的数据中心,这就需要电信运营商为群体用户提供大量的计算和存储资源,同时又要保障个体用户的应用体验。就内部环境而言,电信运营商在积极开发创新型业务实现开源的同时,还需尽可能降低运营成本,如保护既有投资、引入可以提升运维效率和降低总体建设成本的新技术等。
二是网络发展驱动,IT技术的变革带来高密度的虚拟机,也带来高密度的MAC和ARP,需要提供大量虚拟资源隔离,因此需要二层网络突破4096个VLAN资源的限制问题。同时,用户IT应用模式的改变和IT技术本身的变革,需要电信运营商的数据中心提供更加高可靠的二层网络环境,如规避环路以支持虚拟机实时迁移等。而对于电信运营商而言,面对大量虚拟机接入所带来的高带宽接入、高质量迁移需求,电信运营商需要以较低成本提供更高的带宽资源利用率及带宽通道,才能保证降本、提质、增效。
三是技术演进驱动,云计算风起云涌,一方面IT虚拟化技术不断发展,如VM等;另一方面,承载IT并提供业务互通的数据中心网络组网技术也在快速发展。如可以突破VLAN数量限制,且可以较好地利用现有网络组网技术——overlay网络技术,如VXLAN(virtual extensible VLAN,VLAN 虚拟化扩展)、STT(stateless TCP transmission,无状态 TCP 传送)、NVGRE (network virtualization GRE,网络虚拟化的 GRE)、SPB-M (shortest path bridging-MAC in MAC,基于MAC in MAC的最短路径桥接协议)等。
因此,在尽可能保护既有网络投资(包括用户接入网络、数据中心内组网等)、降低网络改造成本和风险的前提下,如何接应云计算时代的IT服务变革需求,选择哪种技术进行vDC组网,是一个亟需研究的问题。本文就vDC组网的overlay网络关键技术及其组网的难点进行研究、对比,以期为电信运营商的vDC组网提供参考。
2 vDC应用需求及组网架构
从 vDC定义可以看出,vDC包括 CPN(customer premise network,用户驻地网)和电信运营商的DC,涉及组网包括用户接入网络、DC内网络、DC互联网络,如图1所示。
vDC的主要应用需求及网络互通要求见表1。
因此,用户接入网络可以利用已有的二层或三层网络,如光接入网、VPN(virtual private network,虚拟专用网络)等;而对于DC内网络,二层和三层两种网络技术都可以实现异地DC互联,以实现数据中心灾备、业务弹性扩展、就近接入和按需迁移等价值,但两者有差异,表现在以下两方面。
·三层互联技术:组网简单灵活、经济。不支持大二层网络,DC间虚拟机互访需要进行三层IP路由转发,需要ARP的广播报文,三层多播报文开销较大,主要技术为L3 VPN。
·二层互联技术:支持大二层网络,DC间建立端到端二层网络,可靠性高,时延小于三层组网,报文开销也比三层网络小,承载率高。主要技术为L2 VPN(如 VPLS)等。
图1 vDC组网涉及网络示意
表1 vDC的主要应用需求及网络互通要求对应
对于DC互联网络,传统DC内既有二层组网也有三层组网。但云计算的发展,带来了DC内虚拟机数量日益增大、虚拟机间必须安全隔离、虚拟机需要实时迁移等新要求,需考虑引入可以解决这些问题的overlay网络。
3 面向vDC的overlay网络关键技术
所谓overlay网络,是指在现有网络上叠加一层网络进行数据承载与传送。相对于实现目标尚远、标准尚未完善、电信级商用设备尚未成熟的SDN(software defined networking,软件定义网络),overlay网络技术可以看作SDN应用于虚拟数据中心的前导模式,基于overlay网络的vDC组网不仅可以突破传统二层网络4096个VLAN数量的限制,而且可以与现有二层或三层网络较好地共存、融合,满足虚拟机隔离、实时迁移等需求,技术实现相对简单,引入部署对现网的改动相对较小。
目前,基于overlay网络的技术主要有4种,分别是VXLAN、STT协议、NVGRE协议和 SPB-M,这 4种 overlay技术的本质区别体现在封装方式和转发机制两方面。
3.1 VXLAN技术
VXLAN是由思科和VMware为主导提出的IETF草案,支持方主要是网络设备制造商、芯片厂商和软件服务提供商,除思科和VMware之外,还有红帽、思杰(Citrix)、Arista Networks和博通等。
(1)封装方式
VXLAN是一种MAC over IP的协议,使用UDP封装内层以太帧,封装报文头共50 byte。VXLAN使用24 bit VXLAN 网络标识符 VNI(virtual network identifier,逻辑网络标识),如图 2所示,一个 VXLAN管理域最大支持16000000个逻辑网络(VNI),而一般一个VNI最多支持4096个VLAN。
VXLAN封装包括如下部分:
·VNI,同一个VNI内的主机才可互相通信;
·RRRR IRRR中的I置1,表示是一个有效的VNI;
·目的端口号为4789;
·源端口号可根据内部的以太头散列算法生成,这样路径上的设备可根据隧道的UDP信息实现路径均衡;
图2 VXLAN帧封装格式示意
·外层源IP地址为源VTEP(virtual tunnel end point,虚拟通道终端)的IP地址;
·外层目的IP地址为目的VTEP的IP地址。
在将以太帧封装到隧道时,一般应把VLAN剥掉;在接收端,如隧道内的以太帧带VLAN,一般把这个帧扔掉。实际应用中,也可以通过配置,改变处理规则。
(2)转发机制
在VXLAN网内,广播或多播的报文被封装在IP多播中,如ARP报文,在初始化阶段,采用IP多播进行ARP学习;也可以采用IP单播方式。而在ARP老化时间内通过MAC∶VNI寻找目的地址数据分组。
VXLAN 利用 ECMP(equal-cost multi-path routing,等价多路径路由)对不同数据流使用不同的UDP源端口,实现等价多路径的多链路负载均衡,有效提升带宽利用率。
VXLAN可跨越物理三层网络,使用UDP封装能在三层物理网络上建立二层逻辑网络。在三层组网时,VXLAN网关进行MAC in UDP封装,定义UDP隧道的目的IP地址及目的UDP端口号4798进行寻径。其中,需要注意的是,VXLAN的UDP隧道是个不可靠的通信信道,如果需要可靠通信,则需要终端虚拟机的TCP保证。
3.2 STT技术
无状态TCP传送技术主要为VMware旗下的Nicira倡导,并提出IETF草案,支持厂商较少。
(1)封装方式
STT是一种MAC over IP的协议,在IP报文的有效载荷(payload)中,除了虚拟网络的二层分组以外,还要依次封装一个TCP头和一个STT头,如图2所示。但STT是一种无状态TCP,采用TCP封装形式,将TCP各字段意义重新定义,无需3次握手建立TCP连接。
STT帧封装格式如图3所示。其中,4层偏移量(L4 offset)表示 STT头+TCP头的长度;STT frame(即 STT分组头+有效载荷)是按照最大分段尺寸 (max segment size,MSS)的大小分段的,分段之后每个段会加上TCP分组头,利用TSO(TCP segment offload,TCP分段卸载)机制交给网卡;PCP(priority ceiling protocol,优先级上限协议)表示优先级,可以不设;V|VLAN是VLAN相关的设置,略过;context ID表示租户ID,每个租户不同。
(2)转发机制
图3 STT帧封装格式示意
STT的TCP源端口号和目的端口号都是随机选的,源端口号范围建议在49152~65535,目的端口号范围建议在1024~49151。对于一条隧道/通道两端固定的端点而言,两者之间的通信应该用固定的源/目的端口。
在数据帧转发过程中,SEQ/ACK也不会用作窗口重传或者拥塞控制,而是用作一个STT帧的分段/合并,对于被分段的同一个STT帧,其TCP头的ACK字段是相同的。
STT端点需要给STT预留TCP端口,所有发往这个端口的TCP分组会被认为是STT分组,从而不会走正常的TCP协议栈路径。
同VXLAN类似,STT隧道也是不可靠通信信道,如要可靠通信,则需要终端虚拟机的TCP协议栈保证。
3.3 NVGRE技术
NVGRE是一种基于GRE优化的面向虚拟数据中心组网的overlay技术。目前NVGRE为IETF草案,主要支持者为软件服务提供商和芯片厂商,如微软、惠普、Arista Networks、英特尔、戴尔和博通等。
(1)封装方式
RFC1701定义的GRE帧封装格式如图4所示。NVGRE封装是对GRE的改造和再利用,利用GRE封装中key域的低24 bit标识隧道VNI。其中,协议类型为2 byte,表示GRE报文内的净荷协议类型,如IP或IPX等非IP;校验和为2 byte,表示GRE头部和IP净荷的校验和;key为4 byte,表示隧道内的单个业务流,同一业务流采用相同的key,隧道拆除点根据key域的值判断业务流归属;流序列号为4 byte,表示隧道内的报文顺序。
图4 RFC1701定义的GRE帧封装格式示意
(2)转发机制
NVGRE在GRE基础上,引入控制平面 (尚未完全定义),如利用GRE关键域进行ECMP。
3.4 SPB-M技术
首先,介绍一下 PBB(provider backbone bridge,运营商骨干桥接)技术。PBB是IEEE 802.1ah标准草案定义的MAC in MAC(下文简写为 MinM)技术;采用MinM封装,基于运营商MAC地址,而不是用户MAC地址转发流量。PBB分为骨干网和接入网两个层次。接入网是标准的二层网络,可以采用STP或其他二层技术管理控制。2006年左右在业界有部分商用,用于进行基础数据网络的二层专线迁移。但随着标准制定的旗手北电网络公司倒闭,PBB后来的标准和网络发展一度停滞。
SPB-M技术是基于PBB技术,在其控制平面进行优化而形成的一个新的IEEE标准,封装格式与PBB帧相同,如图5所示。
SPB-M的数据转发平面基于PBB技术,但控制平面对PBB进行了优化,增加了等价多路径计算等。SPB-M管理二层网络的拓扑、环路、计算路径等,通过IS-IS(intermediate system to intermediate system,中间系统到中间系统)协议学习骨干网的拓扑,计算最短转发路径和等价路径,指导报文在骨干网上进行最优的二层转发,有效地减少转发跳数,提高转发性能;PBB根据SPB-M计算的路径进行转发。
3.5 overlay网络技术对比
从封装方式及转发机制等理念上看,VXLAN、STT、NVGRE与SPB-M分属于两种不同类型的overlay大二层组网技术。VXLAN、STT、NVGRE是采用MAC in IP封装,一般在服务器上安装插件即可支持隧道建立,VXLAN与STT关系最为紧密,体现在:一是基于无状态隧道进行二层数据传送,可通过软件或硬件支持;二是等价多路径算法基本相同;三是两者都是同一个厂商VMware的子产品。相对而言,SPB-M是MinM协议,不仅封装和转发机制完全不同,而且还需要专门的硬件交换机支持隧道的起止,目前无法直接在虚拟化服务器上通过软件支持。
因此,技术对比分两个层面展开:一是以VXLAN为代表的基于MAC in IP封装的隧道,与基于MinM封装的SPB-M隧道进行对比,见表2;二是在3种MAC in IP封装的隧道技术中进行进一步细化比较,比较结果见表3。
综上所述,通过全方位的技术对比,针对当前技术发展及设备实现,总结如下。
·VXLAN与STT封装方式类似且转发机制相同,但VXLAN相对于STT更易于现网部署。虽然VXLAN也尚未完全标准化,但VXLAN基于现有成熟协议UDP实现,对服务器要求低;而理论上STT优于VXLAN技术的“控制平面”仍尚未定义,且STT基于的无状态TCP不仅非标准,而且对现有协议进行了改造,对服务器有较高要求,需要支持TSO和TOE功能。
·与VXLAN相比,NVGRE最具优势的控制平面也尚未完全定义,且NVGRE对现网设备的硬件处理能力要求高,改造成本大。
图5 PBB/SPB-M帧封装格式示意
表2 VXLAN与SPB-M技术对比
表3 VXLAN与STT、NVGRE技术对比
·SPB-M相对于VXLAN具有标准化的优势,同时有较好的技术储备和商用基础——不仅其转发平面机制PBB技术本身曾有多个商用案例,而且SPB-M也有商用,如索契冬运会网络采用Avaya的SPB-M产品构建。但当前服务器虚拟化与SPB-M的契合度尚欠缺,SPB-M无法直接部署在服务器的虚拟平台上,因而导致基于SPB-M的vDC组网实现相对复杂,vDC中部署成本相对VXLAN较高。
4 结束语
vDC网络涉及用户接入DC、DC内组网和异地DC间互联3个层面;而云计算仍在发展阶段,每个vDC部分都可能有物理资源和虚拟资源共存。因此,vDC整体组网环境比较复杂。
近期,用户接入DC可以充分利用已有光网城市网络或IP/MPLS网络 (视用户需求及用户类型而定);DC间互联也可利用已有IP/MPLS三层网络或OTN等二层网络。但DC内的overlay组网架构具体实现以及面向vDC全网的虚拟机迁移与资源访问等应用需求所涉及的用户接入与 DC内 overlay网络、DC内 overlay网络跨 IP城域网、其他DC互联的平滑衔接,尚需等待相关技术进一步发展成熟和相关设备能力进一步完善后,再进行组网测试验证。
现网部署时,需要结合技术成熟度、技术经济性、技术扩展性、现有资源保护性等因素综合考虑,选择对现网影响最小、运营效率最高、风险最低的技术进行vDC组网。
1 STT协议解析.http://blog.csdn.net/majieyue/article/details/7941878,2012
2 IETF.A Stateless Transport Tunneling Protocol for Network Virtualization(STT).draft-davie-stt-05,2014
3 IETF.VXLAN:a Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks.draft-mahalingam-dutt-dcopsvxlan-08,2014
4 李明.网络虚拟化技术在云计算数据中心的应用.电信工程技术与标准化,2011(4)
5 雷鸣,刘玲.云计算数据中心组网技术.电信工程技术与标准化,2012(4)