■中国移动通信集团设计院有限公司山东分公司 张延彬 张誌 岳思思
近年来随着云计算、大数据技术的不断发展,电信运营商IT 系统云化的速度在不断加快,各种层次的资源池不断出现,资源池内承载的IT 系统越来越多,其中虚拟化技术改变了IT 基础设施的运营模式,使得计算、存储成为可以运营的资源,资源的按需供给、弹性伸缩,业务创新瞬息万变,这对底层的承载网络也提出了极高要求,要求能够适应频繁变化的业务需求并进行灵活调整,因此SDN 得以快速发展并在运营商网络中收到青睐,在私有云资源池中得以大面积的部署和应用。
SDN 目标在应用和网络控制层之间引入一个通信框架,使现有控制平面变的灵活且允许快速可靠的配置更改,将网络控制功能与转发功能分离,最终实现控制可编程,图1 为SDN 标准架构。
处于SDN 的网络架构最上层,SDN 的核心价值所在。用户根据业务需求调用控制器开放的网络编程接口编写应用程序、定义网络行为、实现应用创新。
应用层和控制层的通信接口,目前无统一北向接口标准,主要和控制器的实现方式有关,应用最广泛的是RESTful。
图1 SDN 架构
包括1 个或多个控制器,负责修改和控制底层网络设备的转发行为。一方面将网络资源抽象成可操作的信息模型提供给上层应用,另一方面将网络需求转发行为转换为低层次的指令。
分为配置管理类和控制类,如:NetCONF、OVS-DB、XMPP 和OpenFlow 等。
具体网络转发设备,例如交换机。
SDN 网络架构在私有云资源池中的应用主要体现在:为多租户提供虚拟、隔离、可扩展、自管理服务,在网络部署灵活性增强的基础上,提高了网络资源利用率,实现网络和业务自动化、网络流量调优、资源的有效调度和管控、多租户的网络隔离,做到数据中心网络资源实现真正的池化。
(1)虚拟的网络:租户按需申请虚拟计算/ 存储/ 基础网络/ 增值网络资源,构成虚拟私有云(VPC,virtual private cloud)网络,分钟级开通时间。
(2)隔离的网络:租户间网络互不可见,租户可任意定义IP 网段、负载均衡策略、防火墙策略等。
(3)扩展的网络:资源按需使用、按需扩容;通过SDN DCI 或VPN 等方式可实现DC互联。
(4)自管理的网络:虚拟网络提供流量可视化能力,租户可自管理监控、自配置虚拟网络。
目前来看由于运营商私有云资源池中网络设备数量、设备种类较多,标准上很难统一,因此运营商私有云资源池的SDN 组网方案基本都是采用Overlay 技术,而且Overlay 技术可以快速形成能力,部署时间短。
当前主流的Overlay 技术主要有VXLAN,GRE/NVGRE和STT,这三种二层Overlay技术,大体思路均是将以太网报文承载到某种隧道层面,差异性在于选择和构造隧道的不同,而底层均是IP转发。
(1)VXLAN:VXLAN 是将以太网报文封装在UDP 传输层上的一种隧道转发模式,在3层网络之上创建叠加的逻辑2 层网络,VXLAN 使用1 个24 位的VNI 字段区分不同的逻辑2 层网络,以此实现租户识别和隔离网络。VXLAN的封装/解封装和隧道的建立通过VXLAN 隧道终端实体进行。
(2)NVGRE:NVGRE 是将以太网报文封装在GRE 内的一种隧道转发模式;采用24 比特标识二层网络分段,称为VSID,每个VSID 代表了一个虚拟2 层广播。NVGRE 帧的封装/解封装和隧道的建立通过NVGRE Endpoint 实现。
(3)STT:STT 采用MACin-IP 方式进行封装,利用了TCP 的数据封装形式,但改造了TCP 的传输机制,建立无状态的隧道,在隧道端点之间传输以太网帧,采用64 比特Context ID 标识二层网络分段。
这三种二层Overlay 技术相比而言,VXLAN 和STT 对于现网设备对流量均衡要求较低,即负载链路负载分担适应性好,一般的网络设备都能对L2-L4 的数据内容参数进行链路聚合或等价路由的流量均衡,而NVGRE 则需要网络设备对GRE 扩展头感知并对flow ID 进行HASH,需要硬件升级;STT 对于TCP有较大修改,隧道模式接近UDP 性质,隧道构造技术属于革新性,且复杂度较高,而VXLAN 利用了现有通用的UDP 传输,成熟性极高。总体比较,VLXAN 技术相对具有优势,而且就运营商内部私有云资源池来看,大部分也都是采用的VXLAN 技术。
上面介绍了Overlay的技术,下面讲一下主流的3 种Overlay 的方式,主要分为网络Overlay、主机Overlay 和混合式Overlay。
⑴网络Overlay 指的是隧道封装在物理交换机上完成,通过控制协议对边缘的网络设备完成网络构建和扩展。网络Overlay 应用最重要也是最成熟的技术就是VXLAN。在网络Overlay 中,要求所有的物理接入交换机都能支持VXLAN,接入层交换机负责VXLAN 报文的封装和卸载,在VXLAN 网络和VLAN网络之间要部署VXLAN GW交换机,实现VXLAN 网络主机与VLAN 网络主机之间的通信。
目前,网络设备的主流芯片已经实现了VXLAN 技术,而且这种采用硬件设备的Overlay 网络性能高、转发效率快,适合部署在运营商的大型数据中心网络。
⑵主机Overlay 指的是隧道封装在服务器的vSwitch 上完成,不用增加新的网络设备即可完成Overlay 部署,仅支持虚拟化的服务器之间组网互通。主机Overlay 使用服务器上的vSwitch 软件实现VXLAN网络功能,VXLAN 技术中的VTEP、VXLAN GW、VXLAN IP GW 均通过安装在服务器上的vSwitch 软件实现。
主机Overlay 方式不依赖于数据转发设备,对网络设备是否支持VXLAN 没有要求,只要虚拟化软件支持就可以,如果网络规模较大的话,通过软件实现 VXLAN IP GW 很可能会成为整个网络的瓶颈,适合在小型网络中部署使用。
⑶混合式Overlay 指的是采用网络Overlay 和主机Overlay 的混合组网,可以支持物理服务器和虚拟服务器之间的组网互通。混合Overlay 采用软硬件结合的方式,使得软硬件都能发挥自己的优势,也保障了Overlay 网络的整体性能。
上面介绍的各种Overlay 技术以及应用方式都是属于SDN 架构中转发和控制分离中的业务数据的转发技术,而控制层面技术目前应用最广泛的是EVPN 技术,各种技术相互结合才能真正实现转发和控制分离的核心理念。
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种二层VPN 技术,控制平面采用MP-BGP 通告EVPN 路由信息,数据平面采用VXLAN封装方式转发报文。隧道建立和VXLAN 关联:利用EVPN的BGP RR 实现邻居发现,自动发现VXLAN 网络中的VTEP,并在有相同vxlan id各VTEP 之间自动创建VXLAN隧道,自动关联VXLAN 隧道和VXLAN。
某省级运营商私有云资源池已经建设数年,形成了两大资源池,组网架构基本相同,但是由于所用的硬件设备厂商的不同,形成了两种不同的组网方案,两种SDN网络的工作原理也不相同。某省私有云资源池的组网架构如图2 所示。
VXLAN+Openflow+NetCO NF,采用集中式网关部署。数据转发层面采用VXLAN方式,控制层面控制器通过Openflow 和NetCONF 向 交换机下发转发策略和配置信息,出口核心交换机处设置SDN 网关。
为了管理方便以及提升网络效率,虚拟机的VXLAN 报文的封装和卸载并不是在vSwtich 上完成的,物理机和虚拟机的VXLAN 报文的封装和卸载都在接入层VTEP 上完成,对于不同VXLAN 之间的互访都要通过出口核心交换机。
对于东西向流量比较大的网络中,SDN 网关会成为整个网络的瓶颈,而且SDN网关发生故障的话,会导致整个网络的瘫痪,但是集中式网关的优点就是易管理,易于排查故障。
VXLAN+EVPN+NetConf,采用分布式网关部署。数据转发层面同样是采用VXLAN方式,控制层面采用EVPN 和NetCONF 向交换机下发转发策略和配置信息,SDN 网关设置在每个接入层交换机上。
同样为了管理方便以及提升网络效率,虚拟机的VXLAN 报文的封装和卸载并不是在vSwtich 上完成的,物理机和虚拟机的VXLAN 报文的封装和卸载都在接入层VTEP 上完成,对于同一接入交换机下的不同VXLAN 互访通过接入层交换机就可以完成,对于不同接入层交换机下不同VXLAN 的互访需要通过上层的SDN 网关实现。
由于通过EVPN 技术实现了自动创建VXLAN 隧道,自动关联VXLAN 隧道和VXLAN,这样的话整个网络的转发效率非常高,而且由于是分布式网关的部署方式,出口核心交换机不会成为整个网络的瓶颈,但是分布式网关维护起来非常复杂和麻烦,不易于故障的排查。
图2 资源池组网架构
运营商网络中SDN 网络架构的实现提升了网络交付效率,实现了网络资源的共享和弹性伸缩,解决了多租户的难题,但是要真正实现SDN 理念,还有很长的路要走,需要与Openstack 的协同,与应用层交互,如何不受厂商硬件的绑定,能够实现异构厂商资源池大二层网络的互通和资源的共享、灵活调度,才是未来更加需要探讨的地方。