张国平
【摘要】 云计算环境下,为适应计算虚拟化和存储虚拟化对网络的需求,以VXLAN为代表的Overlay、SDN等实现技术和发展思路相继被提出。围绕云计算数据中心存在的问题,提出基于SDN控制的Overlay数据中心网络方案,使得网络的控制更加灵活,更加方便快速的部署网络设备,便于网络的扩展。
【关键词】 软件定义网络 云计算 数据中心网络 虚拟可扩展局域网
Data Center Network for Cloud Computing based on SDN and Overlay technology
ZHANG Guoping Xuchang Electricpower,Xuchang 461000, China
Abstract:In order to meet the computing virtualization and virtual storage requirements of the network in Cloud computing environment, Overlay, SDN and other implementation technologies and development ideas have been proposed. According to the existing problems of cloud computing datacenter, A data center network scheme based on Overlay and SDN is proposed. This allows more flexible in network control, more convenient and fast in deploying and more easy to expand.
Key word:SDN; Cloud Computing; Data Center Network; VXLAN
随着云计算的发展,更多的应用处理集中在云端,促使云计算数据中心的规模急剧增长,在云计算中大量采用和部署的虚拟化几乎成为一个基本的技术模式。虚拟计算负载的高密度增长,需要虚拟机在网络中无限制地迁移到目的物理位置,虚机增长的快速性以及虚机迁移成为一个常态性业务,然而当前虚拟机的规模与可迁移性受物理网络能力约束,传统的网络已经不能很好满足企业的这种需求。
目前,网络存在的问题如下:(1)网络架构限制:传统网络架构以三层为主,主要是以控制南北数据流量为主,数据中心虚拟机的大规模使用使虚拟机迁移的特点以东西流量为主,在迁移后需要其IP地址、MAC地址等参数保持不变,要求业务网络是一个二层网络,且要求网络本身具备多路径多链路的冗余和可靠性。传统的生成树(STP)等,部署和维护繁琐,网络规模也受到很大限制。(2)网络规模限制:云业务中虚拟机的大规模部署,在大二层网络环境下,数据流均需要通过明确的网络寻址以保证准确到达目的地,因此网络设备的二层地址表项大小(即MAC地址表)限制了云计算环境下虚拟机的规模,特别是对于接入设备而言,二层地址表项规格较小,限制了整个云计算数据中心的业务规模。(3)网络隔离/分离能力限制:云业务需要大量租户之间的隔离,当前的主流二层网络隔离技术为VLAN,但是在大量租户部署时会有两大限制。一是VLAN可用的数量为4K左右,远远不能满足公有云或大型私有云的部署需求;二是如果在大规模数据中心部署VLAN,这样使得整个数据中心的网络几乎为所有VLAN被允许通过(核心设备更是如此),导致任何一个VLAN的未知目的广播数据会在整网泛滥,无节制消耗网络交换能力与带宽。
为了解决出现的问题,诸多技术相继被提出,如虚拟机接入感知(VEPA/802.1Qbg)、数据中心二层网络扩展(IRF/vPC/TRILL/Fabric Path)、数据中心间二层技术(OTV/EVI)等,厂家私有的IRF/vPC等网络虚拟化技术,对于网络的拓扑架构有严格要求,并且不支持互通,在网络的可扩展性上有所欠缺。新出现的大规模二层网络技术TRILL/SPB/Fabric Path等,虽然能支持二层网络的良好扩展,但对网络设备有特殊要求,网络中的设备需要软硬件升级才能支持此类新技术,带来部署成本的上升。在大规模云计算环境下,这些技术并不能完全解决问题,一定程度上还需要更大范围的技术革新来消除这些限制,以满足云计算虚拟化的网络能力需求。在此驱动力基础上,逐步演化出Overlay虚拟化网络技术、SDN软件定义网络等新型技术和思想。在不改变原先架构的基础之上新建一个Overlay的网络,来为云业务提供支撑。SDN则通过网络控制与转发分离,转发行为可编程,实现真正意义上的资源完全自动化部署、实时资源调度和快速网络故障排除,并具有随时增加新业务的潜力。通过把SDN和Overlay相结合,构建新型的云数据中心网络架构,从而使网络的控制更加功能灵活,性能更加强大。
一、Overlay虚拟化网络技术
1.1 Overlay技术
在网络技术领域,Overlay网络是指在一个网络上再叠加一个网络的虚拟化技术模式,对基础网络不进行大规模修改,具有独立的控制和转发平面。主要应用于数据中心内部网络的大规模互联,是物理网络向云和虚拟化的深度延伸,使云资源池化能力可以摆脱物理网络的重重限制,实现网络的转发和多租户,是实现云网融合的关键。
其实这种模式是以对传统技术的优化而形成的。早期的就有标准支持了二层Overlay技术,如RFC3378(Ethernet in IP),,H3C与Cisco也都有基于Ethernet over GRE的私有二层Overlay技术EVI(Ethernet Virtual Interconnection)和OTV(Overlay Transport Virtualization)。
Overlay技术可以较好地解决计算和存储虚拟化对网络带来的挑战。
引入类似12比特VLAN ID的用户标识,支持高达16M的用户,解决了 VLAN网络下虚拟网络数量不足的问题。针对VLAN技术下广播风暴问题,对广播流量转化为组播流量,避免网络本身的无效流量带宽浪费。
通过增加隧道,使得虚拟网络内的净荷通信不再受到二层限制,可以任意穿越三层网络,使得VM的迁移可以实现跨越三层。
通过虚拟机数据封装在IP数据包中,对于承载网络(特别是接入交换机)只需要学习隧道端点的MAC,MAC地址规格需求极大降低。解决了对物理交换机地址表能力不足的问题。解决虚机规模受网络规格的限制。
目前Overlay主流技术主要有虚拟可扩展局域网(VXLAN)、通用路由封装的网络虚拟化(NVGRE)、无状态传输隧道(STT)三种,三种协议之间有很多相似之处。VXLAN是一种在UDP中封装MAC的机制,NVGRE采用通用路由封装(GRE)协议,将以太网报文封装在GRE内进行隧道传输。两者的虚拟网络ID号均为24位,可以支持16M用户。STT是无状态传输协议,通过将以太网报文封装成TCP报文进行隧道传输,隔离标识采用64比特来表示。
这三种技术,思路均是将以太网报文承载到某种隧道层面,底层均为IP转发,区别主要在于选择和构造隧道的不同。表1对这三种技术关键特性进行了对比。通过对比,NVGRE需要网络设备对GRE扩展头感知并对flow ID进行HASH,需硬件升级,STT对于TCP有较大修改,复杂度较高,VLXAN技术相对具有优势。
1.2 VXLAN技术
VXLAN通过引入一个UDP格式的外层隧道,使得原有数据报文内容作为净荷来传输,可以让净荷数据轻而易举的在二三层网络中传送。VLXAN的封装结构如图1所示。
VXLAN头部共有8个字节,目前使用Flags中的一个标识位和24bit的VXLAN Network Identifier,其他作为预留,但在使用的时候需要设置为0x0000。外层的UDP报头目的端口使用4789,可以根据需要进行修改。同时UDP的校验和必须设置成全0。目的IP地址可以是单播地址,也可以是多播地址。单播情况下,目的IP地址是VXLAN Tunnel End Point(VTEP)的IP地址。在多播情况下引入VXLAN管理层,利用VNI和IP多播组的映射来确定VTEPs。在VXLAN标准中,引入了一个VTEP(VXLAN Tunnel EndPoint,VXLAN隧道终端)的逻辑体,来完成VXLAN报文的封装和解封装。VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。为了让VXLAN虚拟网络之间以及虚拟网络与物理网络之间能够进行通信,VXLAN标准还定义了一个VXLAN网关实体(VXLAN GW-VXLAN Gateway)。在两个VM发生真正交互前,可能需要解决交互VM间的ARP,获得对方VM的MAC地址,源VTEP也建立到对端VTEP的映射。之后,源VM發送到目的VM的数据包,数据包中包含源MAC地址、目标MAC地址、源IP地址和目的IP地址。源VTEP收到数据包后,检查表格,确认有到目标网络的信息后,对数据包进行封装。加上外层的MAC头、IP头以及UDP头,进行发送。一旦这个数据包到达路由器,它执行正常的路由和依据相应接口进行转发,目标VTEP收到数据包后,进行解封装,然后把内层的数据包发送给目标的VM,完成一次的数据传递。VXLAN控制平面隧道的实现方式主要分为三种:通过数据平面自学习、通过控制协议学习(扩展路由协议IS-IS或BGP)和通过SDN Controller实现。Controller方式无需物理网络支持大量组播组,采用标准协议,可扩展性强,部署简单,可通过Controller集中管理和控制设备,可以通过Controller很方便的实现应用与网络的联动,而自学习模式本身无法实现网络与应用联动,也需要借助Controller实现网络与应用联动。
二、SDN
2.1 SDN概述
软件定义网络(Software Defined Network, SDN),是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构。SDN的核心理念有三个,一个是控制和转发分离,第二个是集中控制,第三个是开放的API-可编程、开放的API接口。SDN通过将转发与控制分离,将网络抽象为一个逻辑或虚拟实体,提供标准化的、开放的控制接口,使得转发能力可以直接编程进行控制。实现更加灵活的控制能力。这种原来与网络设备紧密耦合的控制能力,通过可编程的方式调用底层设施能力的抽象描述,以便将网络能力看成逻辑分离或者虚拟化的子网以支持多种用户或应用的不同需求。
将SDN架构分为3个层面(见图2):即应用层、控制层和基础设施层。最上层为应用层,包括了各种不同的业务和应用。应用层根据网络不同的应用需求,调用与控制层相接的应用编程接口(API),实现不同功能的应用程序。利用API接口,业务应用可以充分利用网络的服务和能力,并在一个抽象的网络上进行操作,管理和控制网络对应用转发/处理的策略,也支持对网络属性的配置实现提升网络利用率、保障特定应用的安全和服务质量。中间为控制层,负责对底层转发设备的集中统一控制,集中维护网络拓扑及网络状态信息,实现不同业务特性的适配,同时向上层业务提供网络能力调用的接口。由于摆脱了硬件设备对网络控制功能的束缚,网络管理人员可以灵活配置、管理和优化网络资源,实现了网络的可编程及灵活可控。基础设施层由网络的底层转发设备构成,负责基于业务的流表的数据处理、转发和状态收集。在SDN中,网络设备只负责单纯的数据转发,降低了对网络设备硬件的要求。
图2 SDN分层架构
2.2 基于Openflow的SDN实现
OpenFlow作为SDN的原型实现方式,已被看作是SDN通信协议事实上的标准。OpenFlow由控制器和OpenFlow交换机组成,控制器和OpenFlow交换机之间是加密的OpenFlow协议。控制器作为软件平台形式,通过在之上运行不同的应用程序实现不同的逻辑管控功能。在控制器中,NOS是网络实现可编程控制的中央执行单元。使所有基于业务流的智能决策,并将这些决策发送给 OpenFlow 交换机。这些决策以指令的形式存在于流表中。OpenFlow交换机负责数据转发功能,图3所示。OpenFlow交换机采取流的匹配和转发模式,匹配过程从第一个流表开始。流表包含了多个流表项,数据包按照流表项的优先级进行匹配,若匹配到一个流表项,则执行与该流表项对应的指令。根据OpenFlow协议,针对流表中的流表项,控制器可以完成增加、更新以及删除等操作。
三、基于SDN和Overlay的云计算数据中心网络
Overlay网络虚拟化实现了应用与物理网络的解耦,但是网络与计算还是相互独立的,当前的网络架构还无法实现网络与虚拟机的联动。SDN定义了一种控制和管理的网络架构,通过将SDN技术应用到数据中心网络中,使网络资源能够与计算资源和存储资源一起进行统一调度,并提供开放接口给上层应用,进一步提供新业务开发能力。本文提出一种将SDN和Overlay结合的云计算中心网络的实现方案,见图4。
图4 基于SDN和Overlay的云计算数据中心网络
VTEP功能也可以由交换机或者vSwitch完成,实现把报文封装为VXLAN格式。VXLAN GW可以由交换机完成,终结VXLAN报文,实现VXLAN和VLAN网络互通。核心设备实现IP网关功能,终结VXLAN报文,并进入L3转发。
网络中,所有设备由Controller通过标准协议集中管理。通过集中控制器,把底层物理设备的控制权集中起来,从而能够实现所有资源的相互联动,减少设备管理的复杂性,同时对外提供了开发的接口供第三方进行定制化开发,当用户业务扩展时,通过集中管理用户可以方便快速的部署网络设备,便于网络的扩展。
四、总结
随着云计算的发展,计算虚拟化和存储虚拟化已经取得长足发展,对网络虚拟化需求越来越强烈,Overlay的网络架构是在传统物理网络基础上构建了逻辑的二层网络,SDN则为网络管理、性能优化等提出了新的思路。两者结合为云数据中心提供了良好的解决方案。但是,由于这些技术还在不断完善中,标准化和技术成熟度等方面仍存在不足,如何更加优化云计算数据中心网络,还需要进一步深入研究。
Data Center Network for Cloud Computing based on SDN and Overlay technology
ZHANG Guoping
Xuchang Electricpower,Xuchang 461000, China)
Abstract:In order to meet the computing virtualization and virtual storage requirements of the network in Cloud computing environment, Overlay, SDN and other implementation technologies and development ideas have been proposed. According to the existing problems of cloud computing datacenter, A data center network scheme based on Overlay and SDN is proposed. This allows more flexible in network control, more convenient and fast in deploying and more easy to expand.
Key word:SDN; Cloud Computing; Data Center Network; VXLAN
參 考 文 献
[1]朱明明, 夏寅贲, 徐小飞. 基于SDN的数据中心网络研究[J]. 邮电设计技术, 2014, 3
[2]李丹, 陈贵海等. 数据中心网络的研究进展与趋势[J]. 计算机学报. 2013.
[3] VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks[S]. draft-mahalingam-dutt-dcops-vxlan-09.txt. 2014.10 IETF Draft M.Mahalingam, Storvisor等
[4]左青云, 陈鸣等. 基于OpenFlow的SDN技术[J]. 软件学报. 2013.3