12
《有线电视技术》 2018年第5期 总第341
期
中国广电云数据中心按照资源池化、按需服务的方式构建了IaaS 层云平台,承载以视音频业务为核心的融合媒体服务系统。面对媒体业务的高带宽、多受众等流量特征,IP 组播是平台内必须支持的网络技术,但是如何在一个基于VXLAN(Virtual Extensible LAN,可扩展虚拟局域网络)数据平面的双层网络内高效承载组播流量是云平台面临的从未遇到的新课题,也是本文要探讨的主要内容。 1 IP 组播技术原理
IP 数据传输有广播、组播、单播三种方式。组播方式中,当接收者(Receiver)需要特定信息时,组播源(Source)仅发送一份信息,以组播源及组播组的IP 地址分别为报文的源地址和目的地址,借助组播路由协议在组播路由设备之间建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。相比单播来说,增加组播的接收用户不会导致信息源负载的加重以及网络资源消耗的显著 增加;相比广播来说,组
播提高信息传输的安全性,且可以实现跨网段的传输。
组播服务模型的分类是针对接收者,根据其接收数据时是否对源进行选择,分为ASM 和SSM 两种服务模型,使用不同的组播组地址范围。ASM 模型中接收者只能选择加入某个组,不能选择具体组播源。SSM 模型中接收者在加入组播组时,可以指定只接收哪些源的数据。加入组播组以后,接收者只会收到指定源发送到该组的数据。
组播技术中关键是管理组播路由
及组播组成员。三层组播主要是PIM 及IGMP 协议,PIM 协议负责在域内组播路由器之间处理组播路由与转发,主要工作是按需创建组播路由、动态响应网络拓扑变化维护组播路由表以及按照路由表项进行转发;IGMP 协议在用户主机与组播路由器之间,实现组播组成员动态加入与离开,实现组播组成员管理的维护管理以及与上层组播路由协议的信息交互。二层组播主要是IGMP Snooping 协议,通过侦听三层设备与主机之间 的IGMP 报文来生成二层组播转发表,从而管理和控制组播数据报文的转
发,实现组播数据报文在二层的按需分发。
2 云数据中心组播业务场景
中国广电云数据中心为融合媒体服务系统提供计算、网络及存储资源,其业务要求是广电云设计的输入需求,本节主要分析其组播业务流向及承载要求。
图1是该系统的基本框图和业务流向,直播及点播的媒体内容通过收录注入到实时/异步编码系统,适配带宽及屏幕要求的不同码率内容注入中心CDN,同时将信息同步入内容管理系统以进行直播频道及点播内容的播出管理,监控系统对于重要业务节点的运行状态及输出视频质量进行实时监控。
对以上业务流程进行梳理,在直播信源输出、转码系统输出、中心CDN 注入、监控监看系统的信源输入等多个环节,使用IP 组播技术,从带宽占用率及冗余信源可靠性等方面都
具备优势,且从转码、监控等部分系统功能要求来看,组播也是必选项。
中国广电云数据中心网络组播演进方案
傅力军 中国广播电视网络有限公司
摘要:中国广电云数据中心按照Underlay+Overlay 网络构建,承载以视音频业务为核心的融合媒体服务系统,IP 组播是必须支持的网络技术。本文探讨了基于VXLAN 的二层组播转发与三层组播转发方
案,分析了现有业务需求及技术发展成熟程度,提出了广电云组播演进方案,为相关平台建设提供参考。
关键词:VXLAN Overlay Muliticast
13
为了使云资源可以摆脱传统物理网络的限制,灵活快速适应多租户网络需求,广电云的业务网络平面按照Underlay+Overlay 进行设计,使用VXLAN 技术构建跨三层互联Underlay 网络的Overlay 平面。中国广电云数据中心网络平面如图2所示。
可以将上述业务场景对应的组播需求归纳为以下几种情况。
(1)广电云内租户的主机(虚拟机或裸金属)接收来自外网的组播数据,即跨VXLAN 到外部IP 网络的三层组播。
(2)广电云内租户的主机(虚拟机或裸金属)作为组播源向外网发送组播数据,即跨VXLAN 到外部IP 网络的三层组播。
(3)同一广电云内租户的主机(虚拟机或裸金属)之间互为组播源和组播接收端发收组播数据,即同一VXLAN 内的二层组播。
(4)广电云内某租户的主机(虚拟机或裸金属)与另一个租户的主机之间互为组播源和组播接收端发收组
播数据,即云内跨VXLAN 的三层组播。综上,在Overlay 平面内,所有需
求可对应到VXLAN 内的二层组播、跨VXLAN 的三层组播两种需求。
3 Overlay 网络平面的组播
技术方案
Overlay 网络平面内的组播问题可以转化为VXLAN 的组播转发问题,分为VXLAN 的二层组播转发和三层组播转发来分别讨论。VXLAN 的二层转发是VTEP(VXLAN Tunnel End Point)通过查MAC 地址表项对流量进行转c型钢是怎么做成的
发。同一VXLAN 内主机间的组播分发
目前主要可通过单播路由方式(头部复制)、组播路由方式(核心复制)、VXLAN 二层受控组播来实现。
(1)头部复制
在单播路由方式下,VTEP 负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN 隧道发送给VXLAN 内的所有远端VTEP。具体实现:VTEP 接收到本地虚拟机发送的BUM 帧(组播、广播和未知单播数据帧)后,判断数据帧所属的VXLAN,通过该
热转印油墨VXLAN 内除接收接口外的所有本地接口和VXLAN 隧道转发该数据帧。通过VXLAN 隧道转发数据帧时,需要为其封装VXLAN 头、UDP 头和IP 头,将泛洪流量封装在多个单播报文中,发送到VXLAN 内的所有远端VTEP。远端VTEP 接收到VXLAN 报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN 内泛洪。为了避免环路,远端VTEP 从VXLAN 隧道上接收到报文后,不会再将其泛洪到其他的VXLAN 隧道。
(2)核心复制
云数据中心网络中需要通过IP
核
图
1 融合媒体服务系统
图2 中国广电云数据中心网络平面
14
《有线电视技术》 2018年第5期 总第341
期
心网络进行二层互联的站点较多时,采用组播路由方式可以节省泛洪流量对核心网络带宽资源的占用。
在组播路由方式下,同一个VXLAN 内的所有VTEP 都加入同一个组播组,利用组播路由协议PIM 在IP 核心网上为该组播组建立组播转发表项。VTEP 接收到泛洪流量后,不仅在本地站点内泛洪,还会为其封装组播目的IP 地址,封装后的报文根据已建立的组播转发表项转发到远端VTEP。
高纯硝酸钾组播路由方式的泛洪流量转发过程为:VTEP 接收到本地虚拟机发送的BUM 数据帧后,判断数据帧所属的VXLAN,不仅通过该VXLAN 内除接收接口外的所有本地接口将数据帧转发到本地站点,还会为其封装VXLAN 头、UDP 头和IP 头(目的IP 地址为组播地址),通过组播转发表项将其发送到远端VTEP。在IP 核心网内,P 设备根据已经建立的组播转发表项复制并转发该组播报文。远端VTEP 接收到VXLAN 报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN 内泛洪。为了避免环路,远端VTEP 从VXLAN 隧道上接收到报文后,不会再将其泛洪到其他的VXLAN 隧道。
(3)二层受控组播
调频电源
在VXLAN 内实现IGMP Snooping,该功能可在现有的VXLAN Overlay 网络内较好的自动实现二层组播功能,对Underlay 网络无配置和影响。
运行IGMP Snooping 的VTEP 设备通过对收到的IGMP 报文进行分析,在VSI 中为端口和组播地址建立起映射关系,并根据这样的映射关系转发IP 组播数据报文。当VTEP 交换机没有运行IGMP Snooping 时,IP 组播数
据报文在VXLAN 内按照头部复制的方式被广播;当运行了IGMP Snooping 后,已知IP 组播组的组播数据报文不会在VXLAN 内被广播,而是发给指定的接收者。
VXLAN 网络的三层组播转发即跨VXLAN 网段的三层组播分发。由于过于复杂,尤其是跨EVPN VXLAN 三层组播的技术方案,需要面对一系列的技术难题,例如对现有EVPN 协议进行扩展实现VXLAN 组播路由信息的分发,将IGMP/IGMP Snooping 等IP 组播协议与EVPN/VXLAN 结合,在现有Spine-Leaf 架构中设计组播分发树、交换机底层驱动优化以对VXLAN 关联的二三层组播报文的处理等。目前没有相关的国际/国家标准,据公开资料检索,当前没有主流厂商可实现云内跨租户VDC(跨Neutron Vrouter)、同一租户内跨VXLAN(跨Neutron Network)的三层组播实现方案。当前公有云数据中心网络中也基本不支持租户VPC 内的组播。以阿里云为例,如果要部署组播,是通过在业务主机的操作系统上安装组播代理程序来实现,即该程序将组播源的组播转化成单播进行数据发送。
在云网络内使用组播分发方式,VXLAN 的二层组播可作为主要的技术方式,几种方案对比如下:头部复制方案由于作为组播源的业务虚机所属的VXLAN ID 可能分布在云网络的多个VTEP 节点(TOR 交换机)上,因此该方式类似于在云DC 网络内针对一定范围内的TOR 交换机进行广播,如果是持续组播应用对网络带宽占用较大。一般VTEP 针对BUM 的头端复制只适合解决主机偶尔产生的BUM 报
文处理。核心复制方案较好地解决了VXLAN 二层组播分发时的链路带宽浪费问题,实际部署中要求运维人员在交换机的Underlay 层面做较多的特定配置,且存在临时变更的可能,在大规模的DC 场景,组播业务系统较多,且存在SDN 控制器的弱控网络方案中,扩展性较差。例如,假设在云平台上增加一个组播业务系统,将该系统的组播源和终端对应的主机创建在同一个VXLAN 1000,并分布在多个Leaf 下。需要从SDN 控制器上查看到这些主机所在的VXLAN ID(1000),以及上述主机所分布的Leaf 交换机,然后在对应的Leaf 节点以及Spine 上配置三层组播路由及针对该VXLAN 1000的组播组。一旦某个依赖于组播方式的虚拟机发生漂移,则需要在其新接入的Leaf 上增加相关Underlay 层面的配置,并删除原有Leaf 的配置,否则业务无法正常转发。二层受控组播方案通过建立VXLAN 网络内的组播表,既减轻了干网带宽压力,减少了流量浪费,又避免了复杂的人工配置,但是其实施依赖于数据中心网络产品支持与技术成熟程度。
4 广电云网络的组播
演进方案
基于以上分析,广电云的组播网络将采用三个的阶段演进方案:Underlay 组播区域、Overlay 二层组播、Overlay 三层组播。
第一阶段:广电云中心建设初期,为了尽快形成生产能力,承载组播业务,依赖于组播方式的源和接收端主机均部署在Underlay 层面,单独设置一个区域组播业务接入区,该区域不
15
部署Overlay,不纳入到SDN 控制器管理范围。该区域部署一组或多组业务TOR、存储TOR。业务TOR 与核心交换机互联,运行特定OSPF 进程(与其他云计算资源区的业务TOR 在Underlay 上运行的OSPF 进程不同),组播业务网段路由由该OSPF 进程承载,配置IGMP、PIM 等组播路由协议,不运行VXLAN 和EVPN。另外,防火墙在处理组播报文时消耗的系统资源要远高于单播报文,并会影响整
余票查询系统机的最大单播流量处理性能。可考虑从业务核心交换机直连一条链路到路由器只转发组播流量,将组播流量从防火墙上旁路。中国广电云数据中心Underlay 组播方案如图3所示。
亲贝
第二阶段:随着广电云数据中心逐步进入运营期,主流网络设备的VXLAN 二层组播也具备了成熟商用能力,云管平台对于所有计算资源、网络资源、存储资源需要进行统一调度和对外服务,单独的Underlay 组播业
务区域需要纳入计算资源池及Overlay 网络平面统一管理,将组播业务接入区进行调整,区域内的TOR 纳入到EVPN 网络被SDN 统一调度,计算资源被云平台统一管理。同时让组播源和接受端主机分配到同一个租户的同一个子网(对应为一个VXLAN)内,优先考虑基于IGMP Snooping 的方式实现VXLAN 二层受控组播的转发。中国广电云数据中心Overlay 二层受控组播方案如图4所示。
第三阶段:Overlay 的二层组播对于组播源和接收主机要求在同一个VXLAN 隧道内,随着组播业务增加,必然会存在分属不同租户网络内的情况,将对网络规划带来了诸多不便和限制,Overlay 三层组播是解决VXLAN 组播转发的根本途径。随着组播业务的增加,Overlay 平面内实现跨VXLAN 隧道的组播树,将广电云二层组播平滑升级为三层组播,打造具备媒体中心特征的广电云网络。
5 总结
本文分析了广电云数据中心的融合服务业务的组播需求,对比了VXLAN 的二层组播与三层组播方案,基于广电云网络的Underlay+Overlay 的双层架构,提出了广电云网络组播演进路径,为建设承载以媒体内容为核心业务的云数据中心网络体系提供了参考。
参考文献
[1]RFC7348:Virtual eXtensible Local Area Network (Vxlan): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks.
[2]RFC4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping
Switches.
CATV
图4 中国广电云数据中心Overlay
二层受控组播方案
图3 中国广电云数据中心Underlay 组播方案