电信云网络VxLAN改造需求的分析和实践

2020-06-10 01:00史庭祥田会芹中兴通讯股份有限公司江苏南京210012
邮电设计技术 2020年5期
关键词:交换机路由虚拟化

史庭祥,田会芹(中兴通讯股份有限公司,江苏南京 210012)

1 研究背景

起初的数据中心服务于电信网络的互联网业务,包括基于互联网方式的、用户访问数据中心的互联网业务服务器,以及数据中心的服务器通过路由器访问到互联网,这2类流量统称为南北向流量。相应的,数据中心采用传统三层交换机组网,主要用于疏通南北向流量。该数据中心的设备包括:接入层交换机,即TOR(Top of Rack)交换机,提供物理服务器的接入功能;汇聚层交换机,即Spine 交换机,对接入层交换机提供数据二层汇聚;Border交换机,即DC-GW,提供跨汇聚和三层交换功能,并作为南北向流量的转发出口。这样设计数据中心的目的是使接入层的二层流量在Spine交换机汇聚,汇聚层通过三层交换在汇聚和Border层之间实现高速转发。

随着云计算和虚拟化技术的发展,应用层网元和业务的跨服务器和虚拟数据中心等更加灵活的部署需求使得数据中心的设计者更加关注东西向流量。东西向流量一般是指数据中心内部、跨内部交换机网络的流量,也包括跨数据中心的流量,也就是说,各种业务和服务要基于大二层环境来部署。

传统的VLAN 的作用是将大的广播域隔开成多个小的广播域,减少处理广播包和ARP 包的CPU 等资源消耗,域内可以直接通信,域间必须通过三层路由转发。虚拟化网络也需要使用VLAN 构建更多的IP 子网,即在现有网络架构上创建虚拟局域网,用12 bit 的VLAN ID 表示网段名,网段数量被限制在4 096 个以内,这是传统VLAN 不足以支撑大二层网络的第1 点原因。第2 点原因是传统TOR 交换机存储的MAC 地址数受限。虚拟化网络的业务需要跨多个物理节点部署,这使得二层交换需要存储更多的MAC 地址,大量的东西向流量导致MAC 表项增加。还有一点和虚拟化网络发展密切相关的是,当虚拟网络功能(VNF)的不同组件分布在不同的物理节点、不同的数据中心(DC)或虚拟数据中心(VDC)时,需要在三层网络之上叠加二层网络,以便延续业务原有的通信机制,并满足虚拟机迁移等虚拟化网络的新需求。

那么,为什么VxLAN 技术能解决这些问题呢?作为一种大二层的虚拟网络技术,它的技术原理是引入UDP 格式的外层隧道(MAC in UDP),作为数据的链路层,既解决VLAN 的规模限制问题(VxLAN Header 的VNI,即VxLAN 网络标识,VLAN 规模受限于该标识的容量),又通过打包原有数据报文,使其作为隧道净荷在二三层网络中传送。通过VxLAN 技术,将二层Vx-LAN 标记封装于三层数据包,通过路由转发,实现数据中心间的二层互联。由此可见,尽管VxLAN 和VLAN 都是二层网络服务,但VxLAN 比VLAN 更具灵活性。

a)VxLAN 基于共享网络设施,提供扩展二层网段的可靠解决方案,使多租户的载荷可以在数据中心内跨物理节点传输,并为多租户提供业务隔离功能。

b)VxLAN 使用24 位的VNI 标识符,扩展VLAN ID,消除原有的数量限制。

c)VxLAN 数据包基于三层报头,完整地利用三层路由协议优化可用路径选择,如引入三层IP 组播来代替以太网广播。

虚拟化网络进入SDN 阶段,需要紧密结合VxLAN技术。VxLAN 端点通过学习对端地址,保留它的二层协议特征,依靠组播消息发现和获取主机信息,包括IP 地址、MAC 地址、VNI 等,导致数据中心存在大量的泛洪流量。为统一控制和简化管理,VxLAN 网络需要独立的控制平面收集和管理设备上线信息,自动搭建和拆除VxLAN 隧道以及规划网络环境。而随着5G 和边缘计算等业务兴起,传统虚拟化网络技术难以满足云网协同、高性能转发、资源节点的边缘化等方面的需求,SDN 正是当前的最佳选择。VxLAN 网络有SDN Controller 后,就可以向SDN 单播获取这些信息,避免大量的组播流量浪费带宽和性能。同时,VxLAN 有自学习功能,当收到的UDP 报文不是来自已知虚拟机的数据时,VxLAN隧道节点会记录该虚拟机的VNI、IP地址和MAC地址的对应关系,减少组播消息需求。

不仅如此,SDN 能通过SNMPv3 自动发现网络设备,可以利用Netconf 协议下发配置和流表,控制网络设备的转发面,同时还能通过北向接口提供API,向云平台开放可编程接口。SDN 的这些功能使得基于Vx-LAN技术的SDN网络既可控,又具有灵活性。

2 以硬件VTEP为核心的VxLAN技术

VxLAN 是数据层协议,需要一种控制层协议来传输二层ARP消息,用于二层网络的不同站点之间MAC地址学习和发布。最典型的控制层协议是以太网虚拟私有网(EVPN)协议,它定义了一种二层网络互联的VPN 技术,但需要单独设备计算和传输二层消息,因此,和EVPN 相比,SDN 作为控制面的Overlay 技术是更好的选择。

VxLAN 是一种网络虚似化技术,技术标准包括VTEP(VxLAN Tunnel End Point)和VxLAN 网关。前者完成VxLAN 报文的封装和解封装,后者实现VxLAN虚拟网络之间以及虚拟网络与物理网络之间的通信。如何确定业务虚拟机的VxLAN 报文产生的节点位置,即VTEP 节点的位置,是电信云网络的VxLAN 改造方案首先要解决的问题。当VTEP 节点位于交换机网络,VxLAN网络采用的VTEP方案被称为硬件VTEP方案,如图1所示。

VTEP 节点置于Leaf 交换机是当前主流设计之一,显著的好处是服务器虚拟化的网络配置不必考虑VxLAN设计,不会增加DVS(Distributed Virtual Switch)开销。这样设计的优势,具体描述如下:

a)简化VxLAN组网:接入层的Leaf交换机提供硬件VTEP 功能,使机架内虚拟机之间通信实现直通,支持VLAN 和VxLAN 之间的协议转换,也支持VxLAN 网络(VNI不同)之间的通信。服务器不提供VTEP功能,使其网络配置更加简单,既不需要VxLAN 设计,不增加DVS 额外开销,也不需要承担二层交换功能。如此设计,有利于快速扩容机架内的服务器,达到扩容业务容量的目的;同时该设计在Leaf 中引入VTEP 节点,不必配置大量MAC地址,节约系统开销。

图1 硬件VTEP+分布式路由方案

b)分布式路由L3 GW:传统DC 组网的三层交换由DC-GW 实现,造成许多问题,如DC-GW 资源消耗很大,Leaf 和Spine 相对负载不足,广播域过大等。采用SDN 组网后,通过Leaf 启用三层路由功能,使同机架下虚拟机之间的三层流量在Leaf 终结,节省DCGW 带宽;同时有利于简化SDN 组网配置,将本地节点路由配置固化在Leaf节点。

c)简化SDN组网:服务器不作为VTEP节点,该设计将弱化SDN 控制器对服务器的影响,避免SDN 控制器出问题时,影响全网通信。电信云网络有安全管控和统一互联网出口等负载均衡的需求,为实现该需求,需要提供vFW,vLB 功能,该功能用于主动控制虚拟机流量在Leaf 完成二层交换;同时Leaf、Spine 和DC-GW 由SDN 控制器统一管理,Overlay 的SDN 网络架构和管理更加清晰。

VTEP 和L3 GW 部署在Leaf,只解决机架内虚拟机之间的通信,当不同机架下的虚拟机之间,即跨Leaf的通信发生时,Spine起到二层汇聚作用;当DC内虚拟机需要和DC 外的设备通信时,流量需要从Spine 导入到DC-GW,完成三层交换,同时作为DC 外网络的交换节点,VTEP 和VxLAN GW 功能都需要部署在DC,并支持虚拟化网络和物理网络的通信。

3 以虚拟化软件为核心的VxLAN技术

SDN 起初以控制和交换分离的思想得到业界认可,通过控制和下发交换机参数配置来弱化对交换机和路由器等网络设备的要求。“SDN+白盒交换机”试图颠覆以Cisco为代表的传统网络设备厂家的优势地位,两者斗争的结果是互让一步,在虚拟化和云计算网络中达成一致,传统厂家保住物理交换机的份额,但需要支持ONF、SNMPv3 和NetConf 协议,以便接受SDN控制器的控制。

然而对于部署云计算业务、拥有电信云网络的广大业主而言,电信云网络面临业务网元繁多、网络复杂、大流量爆发、传统和虚拟化硬件混杂、安全可靠性要求高等诸多挑战。因此,电信云网络要考虑DC 内容纳多个厂家的交换路由设备、多个厂家的服务器,甚至多个SDN 控制器和多个云平台管理系统,即异构化的云网络。硬件VTEP方案将面临诸多问题,例如:

a)SDN 控制和管理系统与交换网络设备不同厂家的耦合问题。

b)跨DC的大二层互通没有解决方案。

c)交换网络扩展速度和服务器扩容节奏不匹配。

d)DC 内不同厂家的交换网络设备的互通互联问题。

e)将VLAN 改造成VxLAN,需要重新配置交换网络设备,无法平滑升级。

可见,采用硬件VTEP 为核心的VxLAN 技术用于解决大规模虚拟化网络扩展时不够完美。此改造方案过于依赖交换网络设备,也违背了SDN 以软件定义网络的初衷。

遵循硬件虚拟化原则,如果把VTEP 功能内置在虚拟化交换机,对物理交换机网络将没有额外要求,而交换设备可以维持VLAN 网络不变,由服务器上的虚拟化软件和云平台管理系统来实现DC 内的VxLAN组网,这样的网络设计是一种更“软件化”的Overlay网络。和硬件VTEP 方案不同,VMware 的网络虚拟化功能没有采用SDN 和Openflow 技术,而是NSX。按照NSX for vSphere 6.3.1 版本的定义,NSX 的关键角色如下:

a)VDS:虚拟化分布式交换机。内置在虚拟化管理程序vSphere 内核,提供和虚拟机的连接,包括VLAN和VxLAN功能。VDS起到本地逻辑交换机(LS)的作用,也包括VTEP功能。

b)DLR:分布式逻辑路由器。驻留在vSphere 内核,提供东西向分布式路由,用于租户的IP 地址空间和数据空间分离。DLR 使得同一主机上不同VxLAN子网之间的虚拟机通信不需要跨越传统路由接口。

c)ESG:边界服务网关。运行在虚拟机,提供统一网关业务,包括DHCP、VPN、NAT、动态路由和负载均衡功能,用于把逻辑分开的VxLAN 网络连接到共享的上行网络。ESG 支持OSPF/BGP 协议,连接虚拟化网络和物理网络。

上述3个关键软件组件构成逻辑路由隔离,如图2所示,VNF 内部虚拟机之间的通信组成一类VxLAN 网络,DC 内部跨VNF 的通信构成一类VxLAN 网络,ESG上行网络是一类VLAN 网络。这些网络之间的隔离通过VDS、DLR 和ESG 实现。NSX 构建的这种网络,私有云内(无论是DC 内部还是跨DC)的流量都采用Vx-LAN 方式,当需要路由或桥接到外部物理网络(或VLAN 网络)时则使用ESG 进行隔离。如果VxLAN 和VLAN 转换不在ESG 完成,也可以在Leaf 启用二层网桥,但这样就会对Leaf交换机有特殊要求,所以建议采用ESG,以虚拟机方式部署在Edge Cluster,实现该转换。

图2 VTEP内置虚拟交换机

由此,解决了硬件VTEP 组网方案的上述诸多问题,同时,该方案面向虚拟机进行组网配置,而不像硬件VTEP 方案面向物理硬件组网,因此,具备以下优势。

a)简化路由:VDS 内置VTEP 和DLR,不仅运行效率高,而且服务器内虚拟机之间的通信不必像硬件VTEP 方案上行到Leaf 节点进行VxLAN 打包,降低Leaf 下行带宽需求。此外,云内跨DC 之间虚拟机通信,采用VDS 内置DLR 进行路由,无须关注DC 间的物理交换机网络,不像硬件VTEP 方案的交换机网络和DC 需要一一对应,造成跨DC 的物理交换机组网和VxLAN组网的交叉影响。

2.2.3 构建多元线性回归模型 血药浓度作为因变量,把所有考察因素作为自变量,采用逐步法构建多元线性回归模型,结果见表2。模型结果显示,体表面积和白蛋白水平是血药浓度的影响因素,模型检验F=16.959,P<0.01,提示模型有效。残差图见图2。通过对标准化残差和标准化预测值绘制的散点图看出,标准化残差的散点波动范围基本保持稳定,不随标准化预测值的变化而变化,可以认为基本满足方差齐性,残差满足正态分布的条件。

b)管理简化:SDN 控制和管理系统只会影响到服务器,不必和交换机网络协同,而且作为Overlay 网络,采用软件方式解决路由隔离,对服务器硬件和物理网卡的组网配置没有影响,因而降低了管理难度。

c)丰富的控制手段:SDN 直接管理和控制服务器VDS/DLR/ESG 的流表,而且可以进一步控制到虚拟机粒度,甚至每个虚拟机的vPort,将控制手段精细化到极致,有利于性能优化和故障定位。

4 VLAN改造成VxLAN网络的实践

目前国内相关云化网络的VxLAN 方案是直接部署VxLAN,没有提供从VLAN 平滑演进到VxLAN 的方案。本文对面向虚拟机的逻辑路由隔离方案和以物理交换机为核心的硬件VTEP 方案进行了深入分析和对比,发现前者更有优势,下文将从改造网络和平滑演进的角度,展现其更多的优势和落地价值。

4.1 VxLAN网络的必备要素

VxLAN 是大规模云化网络发展的必备技术,SDN是简化VxLAN 组网配置的利器,两者的架构设计和演进是云计算发展的重要一环。以VMware NSX 系统为例,其必备要素有:

a)NSX Manager:配置NSX Controller,在Hypervisor上安装VIB(vSphere Installation Bundles),以便开启VxLAN、DLR、分布式防火墙(DFW),还提供配置ESG以及负载均衡、VPN和NAT等网络服务。

b)NSX Controller:路由控制平面,实现对转发平面流量的集中式策略控制,本身支持集群配置,并特别针对VxLAN 网络环境提供抑制ARP广播包功能,以减少二层网络的广播泛洪。

d)安全服务:包括云网络内部租户或虚拟机的安全隔离,与物理网络的互通管控,以及对租户的权限管理等。

4.2 改造方法和相关过程

以虚拟化软件为核心的VxLAN 技术,不必改造关联的物理交换机网络,也能完成包括跨DC 的云内网络的VxLAN改造。

VLAN 网络逐步改造成VxLAN,需要实现两者的互通和共存,为此,移植计划包括以下工作:

a)下挂主机的Leaf 上配置VLAN 网络,支持新配置VxLAN网络的南北向流量和跨DC的东西向流量。

b)基于必备要素,创建NSX/VxLAN网络组件:

(a)管理集群(Management Cluster)部署NSX Manager,边缘集群(Edge Cluster)部署NSX Controller。

(b)主机Hypervisor上部署VIB。

(c)主机上部署VDS实现本地虚拟交换机(LS)功能,部署DLR实现主机之间虚拟机的通信。

(d)Edge Cluster部署ESG。

(e)DLR和ESG位于不同主机,跨主机创建OSPF/BGP路由。

c)ESG 和下挂主机的Leaf 之间创建OSPF/BGP 路由。

d)在主机VLAN 网络的VDS 端口组和VxLAN 网络的LS 之间创建二层逻辑网桥,如图3所示,除Edge Cluster 是新建主机节点外,现有Management Cluster 和Resource Cluster(部署应用的服务器节点)所在的VLAN网络也要和“新增的VxLAN网络”建立二层网桥实现互通,以便在移植过程中共存。建议在Hypervisor的VDS 上内置网桥,比在主机Leaf 上部署更能简化网络。

e)将虚拟机的vNIC 从现有VDS 端口组迁移到VxLAN网络的LS。

图3 VLAN上移植VxLAN

f)将虚拟机的上行到Leaf 的交换虚拟接口(SVI)迁移到DLR,从而将跨主机的东西向流量迁移到Vx-LAN网络。

g)所有虚拟机路由移植到VxLAN网络后,拆除二层网桥。

上述移植过程无须增加额外的应用服务器节点,也不需要重新部署租户业务,除跨主机的东西向流量迁移会有少量业务中断外,VLAN 向VxLAN 网络移植平滑可控,而且可以逐个主机节点进行迁移,比硬件VTEP方案更加灵活可靠。

5 结束语

本文给出的VLAN 平滑移植到VxLAN 的示例虽然基于VMware NSX 系统,但是该方案也可以基于Openstack云平台的DVS技术来构建,只要实现同样的逻辑路由隔离,也会达到同样的效果。

以硬件VTEP为核心的VxLAN 方案的最大困扰是被交换机和SDN 厂家绑定,而基于Openstack 技术的VxLAN 组网方案由于面向虚拟机组网,会更加高效,而且虚拟化软件技术更有利于国内IT 和电信设备供应商发挥软件定制的本土优势,运营商也相应有更多选择。

猜你喜欢
交换机路由虚拟化
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
更换汇聚交换机遇到的问题
基于OpenStack虚拟化网络管理平台的设计与实现
基于地铁交换机电源设计思考
路由重分发时需要考虑的问题
对基于Docker的虚拟化技术的几点探讨
浅析虚拟化技术的安全保障
缔造工业级的强悍——评测三旺通信IPS7110-2GC-8PoE工业交换机