SDN网络IPv6组播机制研究*

2018-05-25 03:09丹,秦
通信技术 2018年5期
关键词:网络拓扑交换机链路

李 丹,秦 华

(北京工业大学信息学部,北京 100124)

0 引 言

近年来,随着互联网的迅猛发展,诸如视频直播、网络教学等实时业务广泛应用,多个接收者需要同时从一个或多个源节点接收相同的流媒体数据,致使网络传输的信息容量大大增加,占用了大量的网络带宽。针对这样的应用需求,传统的点播技术不仅对源节点资源和网络带宽的消耗很大,而且限制了用户数量的扩展。比较而言,组播是一个更好的传输方案。但是,传统网络中,路由器需要预先配置,然后才可以动态支持组播订阅者的加入操作、离开操作和组播树的生成操作。针对组播流量对带宽的需求未动态选择传输路径,很容易造成链路拥塞,不能够为用户提供较好的服务质量。以OpenFlow技术为核心的软件定义网络框架,具有集中控制的功能[1-2],能够自己感知网络拓扑的变化,为IPv6组播实现提供好的解决方案。

文献[3]提出了一种在IPv4网络下基于SDN分层组播的视频会议系统架构。该系统舍弃了传统的互联网组管理协议(IGMP)和多点控制单元(MCU)硬件设备,结合可伸缩视频编码(SVC)实现分层视频组播,以满足不同设备能力的会议终端需求,用视频层数之间的切换来避免拥塞。

文献[4]在IPv4网络下从控制器的安全性出发,设计了一种基于OpenFlow的可信可控的组播控制器。组播控制器通过OpenFlow交换机连接到身份认证的主机,组播控制器制定并下发流表给OpenFlow交换机,实现将组播数据传输到通过身份认证的主机。基于组播接收者的身份认证,实现了组播接收者的可信;组播在组播组成员管理时,使用可信可控的组播控制器进行集中管理,没有使用传统的IGMP协议。

文献[5]提出了一种基于IPv4的新型组播机制OpenFlow,称为OpenFLow组播(OFM)。在控制器中设计了一个集中控制器负责实现组播,负责处理组播订阅者请求、构造组播树以及组播状态维护。交换机根据生成的组播流表转发组播流量,没有考虑带宽拥塞的需求。

文献[6]采用TCAM为交换机细粒度流量控制提供了较大的存储空间,并采用分段路由解决流量工程中的可扩展问题。通过在组播源端交换机和分支交换机上用包头编码MPLS标签来更改包头,配置有序列表段来表明路由路径,并考虑了交换节点的负载情况,但TCAM非常昂贵且能耗高。它用斯坦纳树构造组播生成树,但没有考虑到组成员加入、离开的动态性。

本文在SDN网络中研究IPv6组播实现技术,在保证协议栈(MLD)[7]不变的前提下,对组播订阅者加入和离开进行感知和维护;可根据组播流量需求,考虑在网络带宽负载情况下,根据组播订阅者加入/离开组播组的动态次序构建组播生成树;对组播转发路径进行动态调整,实现组播业务的有效转发。

1 总体思路

1.1 传统网络与SDN网络实现对比

SDN将分布式路由转换为集中式路径选择,其控制器具有主导网络资源管理和流量控制的能力,能够实现更灵活、细粒度的流量调度管理。传统网络与SDN网络实现组播功能方式的对比,如表1所示。

表1 传统网络与SDN网络实现对比

1.2 SDN网络下功能性需求

组成员管理功能。在SDN网络中,组播订阅者将MLD报文发送给组成员管理功能进行处理。该功能对组播订阅者的加入、离开消息进行维护。即需要感知组播订阅者的加入,同步在组播拓扑中增加该成员并维护网络拓扑,同时离开后在拓扑中删除该成员并维护网络拓扑。

组播拓扑维护功能。与SDN控制器一起,维护整个网络实时的网络拓扑信息,包括交换机的加入、离开、改变、交换机端口的变化和新增链路的实时带宽信息。

组播选路功能。根据组播拓扑维护功能,维护网络拓扑信息、实时可用带宽信息和组成员管理功能维护的组播订阅者信息。为每个新加入(S,G)组的交换机节点(S2)找到距离转发组播流量交换机(S1)的最短路径。如果有多条路径,选择路径带宽之和较大的路径。

2 SDN网络下IPv6组播功能的设计

基于IPv6组播的RFC标准,在保证组播订阅者MLD协议栈不变的前提下,依据SDN控制器具有动态、可管理和可配置的特性,提出了SDN网络下Ipv6组播功能的设计,如图1所示。

SDN网络中,实现IPv6组播需要设计3个功能:组成员管理、组播拓扑维护和组播选路。图1是整体功能设计图。整体架构主要有3部分组成:控制器应用层、控制器控制层和物理拓扑层。

控制器应用层是ONOS控制器中的应用APP,开发者可以自定义实现一个或多个APP来完成自己的应用需求。本文针对单播源组播应用场景,在应用层上实现组成员管理、组播拓扑维护和组播选路3个功能。

控制器控制层由下往上包含协议层、适配器层、南向接口层、核心层和北向接口层。它通过OpenFlow协议接收物理拓扑等信息,并抽象给应用层。

物理拓扑层是由交换机通过链路连接成的网络拓扑。在实验环境中,可以通过Mininet模拟器模拟实现。

2.1 组成员管理功能

组成员管理功能管理组播订阅者的加入和离开消息,负责处理订阅者发来的MLD数据报文,维护订阅者列表HSL(主机交换机连接)表,如表2所示。

图1 SDN网络下IPv6组播的整体架构设计

表2 HSL表

处理过程的流程,如图2所示。对于加入组播组的报文,根据订阅者加入的组播组地址,在HSL表中新增一条记录,记录下组播源地址、组播组地址以及控制器存储的主机的IP地址、MAC地址、所连交换机的地址,端口信息在HSL表中添加一条记录。对于离开组播组的报文,在HSL表中删除一条记录。

2.2 组播拓扑维护功能

SDN控制器通过LLDP协议与交换机通信获得整个网络信息,包括网络拓扑、链路延迟等。网络管理和决策必须获得准确的网络监测数据。控制器可以周期性地向交换机发送查询消息,也可以由触发条件触发控制器发送查询消息。本文采用第二种方式。

链路带宽是进行组播选路的重要决策数据,同样可以通过南向接口的OpenFlow协议获取。在OpenFlow协议中,控制器通过发送OFPT_STATS_REQUEST消息向交换机查询端口的统计信息,包括已接收的字节数(g_bytes)、已发送的字节数(f_bytes)。控制器按照式(1)计算链路的吞吐量BT,再根据该链路的总带宽和当前周期T计算链路已使用的带宽,然后按照式(2)即可计算出该端口直连链路的可用带宽B_available。

图2 订阅者加入/离开组播组流程

组播拓扑维护功能利用SDN控制器周期性地发送OFPT_STATS_REQUEST消息,获取各个时刻的可用带宽信息。当有组成员加入时,组播拓扑功能通知控制器触发OFPT_STATS_REQUEST,实时获取各链路当前的可用带宽值,为新加入的订阅者选择组播路径提供必要的信息。

网络交换机表示为拓扑图中的顶点,如(S1,S2,S3,S4…)。每个顶点相连的边表示连接关系。网络拓扑中记录交换机互联关系、互联端口以及互联链路的可用带宽。图1中的网络拓扑可以表示为如表3所示。

表3 SL表

2.3 组播选路功能

根据组播订阅者的动态加入、离开消息,组成员管理功能维护HSL表。该表中的交换机是需要转发组播流量的交换机。由SL表中信息可知,组播拓扑维护功能已经维护了整个网络拓扑和链路之间的实时带宽。以上2张表为组播选路提供了选路依据,根据组成员管理功能和组播拓扑维护功能维护的表信息,可以选取合适的算法生成组播转发树。在进行组播算法选取时,必须考虑组播通信的扩展性问题。为了解决网络的链路拥塞,最小化网络资源利用,解决SDN中组播的可扩展性问题,本文提出了根据组播流量可用带宽需求选取的最短路径,对选择好的路径制定转发规则,通知控制层对接收组播流量的交换机进行流表下发的操作。转发组播流量的交换机以Gswitch字段描述存储在表GSL中。该表维护了一个(S,G)组的所有转发组播流量的交换机。0001、0002、0003、0004分别代表图1中的交换机S1、S2、S3、S4。根据组播订阅者加入/离开时的动态行为,同步添加/删除所需的交换机到相应的(S,G)组的交换机集合中。如果一个(S,G)组对应的交换机集合中没有交换机存在,则表示该(S,G)组没有订阅者接收组播流量,可以下发优先级较高的流表使组播转发表失效。

表4 GSL表

2.3.1 算法思想

一个网络可以用加权图G=(V,E)表示,如图3示。V表示节点集合,即交换机节点;E(S,t)表示链路集合,权值表示为从源节点S到组播订阅者t节点路径的可用带宽,即图3中的数字表示。图3的网络示例图是单播网络拓扑图。组播生成树的建立以单播链路信息为依据进行组播的选路。S节点为源端节点,组播树的生成与组成员的加入次序有关,不同的加入次序会生成不同的组播生成树。但是,组播路径选择的算法不变。根据组播流量需求带宽,对链路的带宽进行升序排序,在保证整个网络连通的情况下,依次删除带宽最小的路径,根据带宽选取网络,如图4所示。为每一个加入组播树的节点(d1)选择一个离转发组播流量交换机节点(ds1)的最短路径,即以d1为选择点,找到距离ds1的最短路径。如果有多条路径,则选择路径带宽总和较大的路径。

图3 示例网络

图4 满足带宽约束的单播路由网络

2.3.2 算法步骤

步骤1:初始时,X只包含源点,即X={S}。Y包含除S外的其他顶点,即Y={其余顶点}。X集合和Y集合中节点之间的可用带宽,在某一个时间是固定的。根据组播流量需求,提供组播路径选择的依据。

步骤2:当Y中的第一个节点(d1)加入组播树时,为节点d1选择一个离组播源S的最短路径。如果路径有多条,则选择带宽总和较大的路径。

步骤3:当Y中的其他节点(d2)加入组播树时,为该节点选择一个离转发组播流量交换机节点(除组播源节点)的最短路径。如果路径有多条,则选择带宽总和较大的路径。

步骤4:重复步骤3,直到所有节点都加入组播树。

步骤5:当Y中的最后一个节点离开组播树时,意味组播网络中已不存在组播订阅者,则并行下发流表,删除转发组播流量的交换机中的转发表(根据流表的优先级)。

算法的节点选择结果,如表5所示。根据节点加入的次序I、A、B、C、D、E、L、G、H、K、F、J,依据图4的路由网络,生成组播树。

依据算法,根据加入的节点次序,生成的组播树如图5所示,组播源端只发送一份流量。

表5 不同节点加入组播树的过程

图5 组播树生成示例

3 实验验证

在mininet模拟器[8]环境下构建网络拓扑图,连接到onos控制器上,并把源端和组播订阅者的IPv4地址改为IPv6地址,如图6所示。

在mininet模拟器中通过xterm命令开启3个主机。h1为源端,发送组播流量;h2、h3为组播订阅者,接收组播流量。用python命令运行发送和接收组播流量的程序,实验结果如图7所示。其中,h2、h3同一时刻能收到相同的数据。

图6 实验网络拓扑

图7 组播实验结果

4 结 语

本文基于传统网络下的IPv6组播思想,利用SDN灵活控制的思路,提出了在SDN控制器下实现IPv6组播的方案,并结合链路带宽,提供可保证服务质量的组播路径选择,但是没有考虑时延、时延抖动等因素,可以作为未来的研究内容。

参考文献:

[1] 左青云,陈鸣,赵广松.基于OpenFlow的SDN技术研究 [J].软件学报 ,2013,24(05):1078-1097.ZUO Qing-yun,CHEN Ming,ZHAO Guang-song.Research on SDN Technology Based on OpenFlow[J].Journal of Software,2013,24(05):1078-1097.

[2] 王亚昕,陈量,康宗绪.用SDN改造GoogleWAN网络-GoogleB4网络项目研究[J].通信技术 ,2015,48(12):1432-1436.WANG Ya-xin,CHEN Liang,KANG Zong-xu.Research on the Transformation of Google WAN Network with SDN-Google B4 Network Project[J].Communications Tec hnology,2015,48(12):1432-1436.

[3] 张琳凯,杨恩众,姚振.SDN分层组播视频会议系统设计与实现[J].小型微型计算机系统 ,2017,38(03):425-430.ZHANG Lin-kai,YANG En-zhong,YAO Zhen.Design and Implementation of SDN Layered Multicast Video Conference System[J].Miniature Microcomputer Systems,2017,38(03):425-430.

[4] 田金川,兰少华,卜祥贺.一种基于OpenFlow的可信可控组播控制器:中国,CN103825828A[P].2014-05-28.TIAN Jin-chuan,LAN Shao-hua,BU Xiang-he A Trusted Controllable Multicast Controller Based on OpenFlow:Ch ina,CN103825828A[P].2014-05-28.

[5] Yu Y,Zhen Q,Xin L,et al.OFM:A Novel Multicast Mechanism Based on OpenFlow[J].Advances in Information Sciences & Service Sciences,2012,9(04):278-286..

[6] Huang L,Hung H,Lin C,et al.Scalable Steiner Tree for Multicast Communications in Software-Defined Networking[C].Computing Research Repository(CoRR),2014.

[7] 朱秀峰,钱华林,柴政.MLD协议与PIM-SM协议实现IPv6组播[J].微电子学与计算机,2005,22(06):206-209.ZHU Xiu-feng,QIAN Hua-lin,CHAI Zheng.Implementing IPv6 Multicast with MLD Protocol and PIM-SM Protocol[J].Microelectronics &Computer,2005,22(06):206-209.

[8] Kaur K,Singh J,Ghumman N S.Mininet as Software Defined Networking Testing Platform[C].International Conference on Communiction,Computing &Systems,2014.

猜你喜欢
网络拓扑交换机链路
基于通联关系的通信网络拓扑发现方法
天空地一体化网络多中继链路自适应调度技术
基于星间链路的导航卫星时间自主恢复策略
更换汇聚交换机遇到的问题
基于地铁交换机电源设计思考
能量高效的无线传感器网络拓扑控制
2017款捷豹F-PACE网络拓扑图及图注
劳斯莱斯古斯特与魅影网络拓扑图
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
缔造工业级的强悍——评测三旺通信IPS7110-2GC-8PoE工业交换机