王瑞雪 熊学涛 翁思俊
摘要:提出了一种适用于大规模数据中心的SDN组网方案及其对应的网络架构和关键技术。在该组网方案下,引入多POD组网结构,每个POD内部署独立的SDN控制器及转发设备,通过统一的云管理平台集中管理多个POD。基于SDN的大规模数据中心组网方案旨在打破传统云平台和SDN控制器管理规模性能的限制,满足数十万台服务器的数据中心建设需求。该方案已成为通信行业SDN大规模网络的标杆方案,目前已在中国移动私有云数据中心规模商用。
关键词:软件定义网络;大规模数据中心;底层网络;路由规划
1 引言
为满足通信4.0时代敏捷化、开放化、软件化和虚拟化的网络需求,中国移动提出以NovoNet为愿景的下一代网络构想,旨在通过网络革新构建一张资源可全局调度、能力可全面开放、容量可弹性伸缩、架构可灵活调整的新一代网络架构[1-4],以适应中国移动数字化服务转型发展需要,为“互联网”+发展奠定良好的网络基础。
SDN(Software Defined Network,软件定义网络)作为下一代网络关键技术之一,提供了全新的网络架构[5-7]。基于编排层、控制层和转发层三层架构,网络资源可实现按需分配、灵活调度,网络能力可实现全面开放、定制开发。中国移动多年来积极探索并推动基于SDN的新型网络发展,分领域分阶段在数据中心、传输网、承载网等各类场景进行网络演进,其中数据中心场景因为杀手级业务VPC(Virtual Private Cloud,虚拟专用云),成为SDN商用部署最成熟最主要的场景之一。
中国移动公有云和私有云目前已全面引入SDN技术,通过部署云管平台、商用SDN控制器及转发设备,面向实际业务提供数据中心网络自动开通、灵活部署、自助管理等云服务。在建设过程中,为满足区域资源池集中建设以及多节点资源池融合等实际需求,数据中心SDN网络存在规模性、互通性和定制化三大挑战。
(1)规模性,实现上万台服务器规模的大型数据中心网络部署。SDN网络的规模受限于云管平台纳管计算节点的数量、控制器纳管转发节点的数量和转发设备的性能等多个瓶颈,组网规模存在限制,无法满足上万台服务器规模的大型数据中心网络部署需求。此外,集中控制的短板在于规模性,受限于算法健壮性、逻辑严密性和处理并发性,集中控制的网络不具备大规模承载能力。
(2)互通性,实现异构异厂家方案的互联互通。SDN技术给网络带来灵活性的同时也引入了方案的多样性,各厂家SDN方案在设备形态、通信协议、配置模型等方面都存在较大差异,不具备互通性。长期以来,受限于私有实现方案,资源池网络依旧为烟囱式建设方式,不利于网络能力的开放和生态的发展。同时,SDN控制层和转发层之间接口标准化程度较低,相关网元(控制器、交换机、防火墙、负载均衡器等)均由单一厂商提供或由某厂商集成后提供,设备选择受限于厂商合作模式,功能受限于厂家私有实现,方案灵活性较差。
(3)定制化,SDN网络功能需结合实际业务需求进行有效裁剪和增加。由于承载业务的差异性,面向公有云和私有云的SDN网络功能需求不同,随之而来的安全域要求、流量模型不尽相同,因此SDN网络功能需要结合实际业务需求进行有效的裁剪和增加,此时需要SDN网络在普适性的基础上可灵活增加定制化功能。
2 大规模SDN数据中心组网架构
大规模的SDN数据中心组网需实现几万台服务器作为一个资源池来承载和编排调度,受限于Underlay组网规模及SDN方案管理规模,现有网络架构无法满足大规模数据中心的部署需求。
(1)底层Underlay组网能力受限。虽然随着芯片不断的升级换代,数据中心交换机处理转发能力极大提升,但是基于目前的数据中心交换机端口能力,同时考虑到每个机房实际机柜的数目,以及机房间跨机房布线的难易程度,传统单一的Spine-leaf组网架构无法满足上万服务器的承载需求。
(2)SDN控制器及OpenStack管理规模受限。首先,SDN控制器管理VSW或者硬件交换机会启用TCP长连接,从占用CPU内存资源,数量过多的被纳管设备将极大地消耗SDN控制器的资源,进而降低控制器的性能,这是SDN控制器管理规模主要限制因素。SDN控制器的管理范围主要受控制器和被纳管设备间的网络时延限制,因此SDN控制器建议本地部署而不建议长距离异地远程管理。目前主流设备厂家在SDN控制器3機集群的情况下,可以管理2 000个VSW或者1 000个硬件SDN交换机。其次,OpenStack采用集中式消息处理机制,所有交互操作会到指令层面进行拆分,而指令并发处理能力低,主要以单进程队列方式进行,如同时对资源池内100台虚拟机进行操作,因指令并发处理能力差,拆解出的大量指令不得不排队等待执行,响应效率和及时性都会恶化,影响用户的实际感知。
在此背景下,为推动中国移动集中化数据中心建设方案落地,满足后续数据中心SDN网络大规模部署需求,中国移动创新性提出POD(Point of Delivery,最小交付单元)概念,将超大规模资源池划分为多个独立的POD模块,每个POD内采用经典SDN数据中心三层架构,部署独立OpenStack管理模块、SDN控制器及对应网络转发设备。综合考虑物理组网规模及SDN方案管理能力,建议裸金属服务器场景下POD内服务器数量不超过3 000台,虚拟化服务器场景下POD内服务器数量不超过1 500台。各POD内所有计算、存储和网络资源受上层云管理平台统一纳管和集中编排,并根据业务需求实现POD间互联网络按需开通,打破组网架构及设备性能对于资源池规模的限制,实现统一的资源池化服务。
中国移动大规模数据中心组网架构如图1所示,其中,纵向分为网络出口层、POD互联层、核心层以及接入层,相比于传统数据中心资源池网络架构,新增POD互联层,包括南北汇接交换机和东西向POD互联C-Spine交换机。其中南北汇接交换机对各POD访问外部网络的流量进行汇聚,然后统一出口送往出口层,有效节省外部接入路由器端口数量。东西向POD互联C-Spine负责跨POD流量访问,南北向汇聚交换机及C-Spine交换机的数量可以根据实际的POD规模、POD数量和网络收敛比要求灵活设置。组网架构横向按照功能区域划分为管理网络、存储网络及业务网络,其中存储和管理各自采用独立POD组网,考虑其配置相对稳定,沿用传统组网,不引入SDN,管理网络中部署统一云管理平台及各POD所对应的OpenStack管理模块和SDN控制器,由于SDN控制器与转发设备通过管理网交互,SDN的引入对管理网提出更高的可靠性要求。业务网络根据机房规模或用户需求划分为多个POD,POD内采用经典三层组网架构并引入SDN,包括计算节点服务器、SDN转发设备(包括SDN TOR、SDN网关、vSwitch等Overlay设备)、传统转发设备(Underlay设备)以及增值业务设备(包括防火墙和负载均衡器)。跨POD业务网络互访及业务网络与存储网络互访均通过POD互联层实现。
3 组网关键技术
(1)关键技术一:底层网络与路由规划
多POD的大规模数据中心的Underlay组网,网络内网络设备数量众多,按每POD内500台网络设备数量计算,10个POD组网网络设备将超过5 000台,因此如何规划好Underlay层面的路由配置,对大规模数据中心网络的高性能转发非常重要。
普通数据中心场景IGP(Interior Gateway Protocol,内部网关协议)路由主要是以OSPF(Open Shortest Path First,开放式最短路径优先)路由为主,OSPF路由技术成熟,网络建设运维人员使用经验丰富。使用OSPF作为大规模数据中心组网的IGP路由协议,各POD应划分为不同的Area区域,东西汇聚交换机作为骨干区域Area0,以减少LSA(Link-State Advertisement,链路状态广播)的传播区域和传播数量。各POD内SDN-GW作为OSPF区域边界网络设备,将不同接口划入不同的区域,上连东西汇聚交换机接口划入Area0,下连POD内Spine接口划入各POD单独Area。南北汇聚交换机一般工作在二层透传模式,三层终结在外网防火墙,因此南北汇聚交换机可不运行路由协议。
相比较OSPF,ISIS(Intermediate System to Intermediate System,中间系统到中间系统)支持ISPF(Incremental SPF),对大规模网络的支持能力和收敛性能更好。ISIS支持灵活的TLV编码方式,协议扩展性更好。ISIS因其收敛速度快、结构清晰、适用于较大规模网络,一直比较多应用于城域网场景或者IP专网场景作为IGP路由协议。随着数据中心规模越来越大、设备数量越来越多,ISIS也更多地应用于数据中心场景。ISIS的区域边界在链路,每台网络设备只能属于一个ISIS区域。为减少LSP的传播区域和传播数量,在大规模数据中心场景ISIS分层次进行规划,骨干区域包括POD间东西汇聚交换机和每个POD内的SDN-GW。POD间东西汇聚交换机运行ISIS level2,POD内的SDN-GW运行ISIS的level-1-2。每个POD内Spine和Leaf运行ISIS level1。
RFC7938提出了将EBGP路由协议应用于大规模数据中心的建议,而且目前也有少量将EBGP应用于数据中心内作为底层路由协议的实例。有别于OSPF、ISIS等链路状态协议,BGP是一种距离矢量路由协议,因此BGP的扩展性更好。在中小型的数据中心组网时,使用BGP和使用ISIS、OSPF等链路状态协议性能区别不大,但是在超大型数据中心的网络中,应用BGP的性能会更优。OSPF、ISIS等链路状态协议需要在网络内传递大量的LSA,路由信息生成过程是先完成LSA信息同步,再计算生成路由信息。在网络部分节点发生变动或者网络割接升级时,会引起大量LSA的传递。而距离矢量路由协议BGP不存在这样的问题,BGP节点间直接通告路由,在网络扩展和割接升级时的网络稳定性更好。
目前关于OSPF和ISIS路由协议的LSA优化在IETF已经有相应的draft,目的都是减少LSA的传播数量和传播范围,已使OSPF和ISIS在超大规模数据中心组网中的性能更优,但是目前并没有非常有效的并被实际应用的方案。虽然目前将EBGP用于数据中心的应用并不广泛,但是未来超大规模数据中心的底层路由协议选择中,距离矢量路由协议BGP很可能会得到更广泛的应用。
(2)关键技术二:异厂商异构数据中心互联技术
大规模的SDN数据中心划POD部署后,必然存在业务跨POD部署及互访需求,POD间网络应具备需动态开通,灵活变更的自动化配置能力[8-10]。中国移动研究院基于私有云、公有云数据中心实际业务跨POD间二层、三层互访需求、防火墙负载均衡器等业务链需求、安全域需求等场景,定义并发布业界首个POD互联场景下控制器北向接口规范,接口覆盖POD间二层互通、POD三层互通等全业务场景,其中对于三层互通,可根据实际业务需求定义POD互访流量是否经过防火墙、是否需要对部分网段互通进行抑制等。通过对接口规范内参数的定义和统一,保证了多厂家SDN控制器北向接口規范化,也屏蔽异厂家SDN解决方案差异性,保证云管理平台编排层逻辑的统一化,最终实现对数据中心内部多POD互联统一编排和多厂家SDN方案的兼容性。目前该接口已得到国内主流SDN厂商的广泛支持,并在中国移动BC-EPC产品、中国电信SDN-HUB产品中实现,并纳入ONAP(Network Automation & Orchestration Platform,自动化管理与编排开源平台)支持计划。同时,单资源池内多POD间业务互访主要通过交互各POD内部私网路由,以裸IP方式互访,为保证异厂家POD的互联互通,采用标准EVPN(Ethernet Virtual Private Network,以太虚拟私有网络)作为控制面协议,结合转发面的VXLAN(Virtual eXtend Local Access Network,虚拟局域网)实现跨POD互通,其中各POD内SDN网关设备不仅作为POD内出口网关,也作为POD互联的互通点设备。不同POD内SDN网关之间通过EBGP(External Border Gateway Protocol,外部边界网关协议)建立EVPN邻居关系,控制器通过北向接口接收云管平台跨POD编排信息,对下完成对于本POD内SDN网关设备对应EVPN协议、静态路由等策略配置,SDN网关间通过EVPN协议交换对租户内的MAC、ARP以及IP等信息的传递,最终实现控制面和转发面跨POD互联互通,互联部署架构如图4所示。
受限于EVPN协议及部分交换机转发实现机制,异厂家异构资源池在进行跨POD互通时,存在业务跨POD互访流量无法实现安全隔离、各POD内业务地址及对应VNI(Virtual Network Identifier,虚拟网络标识符)标示无法独立规划、资源池的网关与防火墙到业务VPC(Virtual Private Cloud,虚拟私有云)流量分流与隔离复杂等问题。为解决上诉问题,中国移动创新性提出L2/L3 VNI Mapping功能,在POD间引入L2/L3 VXLAN隧道,通过在各POD内SDN网关设备上实现VxLAN Mapping,解决现有EVPN协议实现存在的单资源池节点内多POD独立编排管理后VNI资源冲突及不一致问题,保证了每个POD规划建设独立性和POD间的互通性,满足业务互访的同时解决流量隔离问题,实现业务跨POD互访的可控和可信,相比传统互联方案无论是效率还是安全性都有极大的提升。