当前位置: 首页 > 专利查询>上海大学专利>正文

基于SDN的支持QoS的多播路由构建方法及系统技术方案

技术编号:15519110 阅读:115 留言:0更新日期:2017-06-04 09:04
本发明专利技术提供了一种基于SDN的支持QoS的多播路由构建方法和系统,应用于包含Open vSwitch和OpenFlow控制器的网络中。该方法包括:OpenFlow控制器接收、解析IGMP报文,若所述报文是请求加入多播组的报文:OpenFlow控制器为主机创建满足QoS保障的多播路径和多播队列;若所述报文是请求退出多播组的报文:OpenFlow控制器更新流表项,查询此主机所在多播组中是否有其他多播成员,并决定是否继续维护此多播组。本发明专利技术方法构建的多播能够使网络带宽占用达到负载均衡,有效地减少了网络延迟和网络丢包率,在不影响其他应用QoS的情况下满足特定多播组对于时延的要求。

【技术实现步骤摘要】
基于SDN的支持QoS的多播路由构建方法及系统
本专利技术属于网络
,具体为一种基于SDN的支持QoS的多播路由构建方法及系统。
技术介绍
近些年,互联网发生了巨大的变化。新兴多媒体应用,如音频/视频会议、视频点播、ip电话通常比电子邮件和文件传输服务等传统网络应用需求更大。这些网络应用可能包括一组用户而不是一个发送方和一个接收方。多播指把信息从一个地址同时传递给一组目的地址,目的是为了减少网络资源的消耗,在互联网中应用广泛,如音频/视频会议、视频点播、ip电话,而且被大量应用到数据中心,如分布式并行处理、分布式文件系统。在传统多播中,多播组通过树结构覆盖所有多播组成员。树上的路由器必须维护每个多播组的转发状态。随着多播应用在网络中的增加,多播组的数量会不断增加,这大大增加了路由器中路由表的大小。超大路由表的维护不仅需要容量大的内存支持,而且会减缓路由地址的查找速度。此外,维护多播树需要路由器之间交换控制信息,这将随着多播组数量的增加造成巨大的时间和空间开销。在网络中,许多应用,例如:视频会议,多媒体广播,多人游戏等,都要求网络保证服务质量(QoS)。QoS是指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络传输带宽、传输延迟、网络阻塞和丢包率等问题的一种技术。各种多播应用对网络带宽、时延以及抖动提出了各种不同的要求,媒体广播往往要求较高的带宽、较小的抖动;分布式并行处理要求高带宽和低时延。如何感知现有网络状况,根据当前网络的状态,带宽占用率,时延信息等,为多播应用选择最佳多播路径,在保证网络负载均衡的同时保障应用的服务质量(QoS)成为了一个亟待解决的问题。软件定义网络(SoftwareDefinedNetwork,SDN)概念的提出对解决传统网络存在的问题提供了新的思路。SDN不同于传统的TCP/IP的分布式架构,它是一种数据控制分离、软件可编程的新型网络体系架构。SDN采用了集中式的控制平面和分布式的转发平面,两个平面互相分离,控制平面利用控制—转发通信接口对转发平面的网络设备进行集中式控制,并且提供灵活的可编程能力,最终达到自由控制流量转发的目的。
技术实现思路
鉴于
技术介绍
中现有多播技术存在的缺点,本专利技术目的在于提供一种基于SDN的支持QoS的多播路由构建方法及系统,使得多播既可以达到网络带宽负载均衡,又能根据业务需求保证业务带宽和时延。为实现上述目的,本专利技术提供一种基于SDN的支持QoS的多播路由构建方法,应用于包含OpenFlow控制器和OpenvSwitch的通信网络中,其中OpenvSwitch是支持OpenFlow协议的虚拟交换机,所述基于SDN的支持QoS的多播路由构建方法,包括以下步骤:1.本方法是基于IGMPv2协议的,具体步骤如下:(1).OpenvSwitch将用户主机发送的IGMP报文转发给支持IGMP协议的OpenFlow控制器,此OpenFlow控制器解析所述IGMP报文;(2).若(1)中所述报文是请求加入多播组的MembershipReport报文:所述OpenFlow控制器根据解析的IGMP报文获取用户主机地址与多播组地址,并根据多播路由算法为所述主机计算满足QoS保障的多播路径;(3).若(1)中所述报文是请求加入多播组的MembershipReport报文:根据(2)中步骤计算出多播路径后,OpenFlow控制器测量出网络带宽,在存在于多播路径中的OpenvSwitch中创建多播队列并为多播队列预留带宽资源;(4).若(1)中所述报文是请求加入多播组的MembershipReport报文:OpenFlow控制器在(3)中所述OpenvSwitch中安装或更新流表项,使OpenvSwitch可以转发多播组报文;(5).若(1)中所述报文是请求离开多播组的LeaveGroup报文:所述OpenFlow控制器根据解析的IGMP报文获取用户主机地址与多播组地址,并查询此用户主机所在多播组中是否有其他多播成员,若没有,则所述OpenFlow控制器停止维护此多播组,并释放多播资源给通用队列;若有其他成员存在,则所述OpenFlow控制器继续维护此多播组,重新安装流表项并重新设置QoS队列。所述步骤(2)中所述多播路由算法具体内容为:OpenFlow控制器根据全网拓扑结构,使用基于Prim算法的动态多播路由算法为多播组建立多播路由路径。为了适应网络实际状况,将与多播组成员主机直接相连的OpenvSwitch当作多播成员节点计算多播路径。设SDN网络G=(V,E),其中G表示连通图,V表示SDN网络中的OpenvSwitch的集合,E表示网络节点与节点之间的剩余可用带宽的倒数的集合。具体包括:(2-1).加入多播组默认将第一个加入到多播树T的节点为多播组的发送者。如果节点v要加入到多播树T,若v已经在树T上,则只要对节点v进行流表更新和QoS队列设置即可;否则,就在已存在的树T的基础上继续通过Prim算法算得最小生成树;然后对新算得的最小生成树进行修剪,去掉不是多播组成员且节点度数小于2的节点;最后形成新的多播树T。具体实现步骤如下:S1:输入多播树的结点treeNodes和边treeEdges,以及新加入的多播成员member。S2:判断多播树的结点个数,若为0,则将新加入的多播成员member加入到多播树的结点treeNodes中,作为多播组的发送者,并结束算法;否则,继续步骤S3。S3:判断新加入的多播成员是否包含于treeNodes,若是,则更新该多播成员的流表,并结束算法;否则,继续步骤S4。S4:在已有的多播树的基础上,继续按照Prim算法寻找与已有多播树直接相连的,并且权值最小的边;然后将这条边加入treeEdges,将这条边的顶点加入到treeEdges;接着重复上述步骤,直到将新的多播节点加入到treeNodes。S5:剪枝:遍历多播树结点treeNodes,若结点为非多播成员结点,且结点度数小于2,则删除;重复上述步骤,直到多播树结点treeNodes的非多播成员结点的度数均大于等于2。S6:更新多播树结点treeNodes的流表。S7:重新设置多播结点treeNodes的QoS队列。(2-2).退出多播组如果节点v要退出多播树T,若该节点v为多播组的发送者,则删除多播树T,更新整棵多播树的节点的流表和QoS队列。否则,若v的度数大于等于2,则只要对节点v进行流表更新和QoS队列设置即可;否则,删除节点v,并对生成树T进行修剪,去掉不是多播组成员且节点度数小于2的节点,最后形成新的多播树T。具体实现步骤如下:S1:输入多播树的结点treeNodes和边treeEdges,以及要退出的多播成员member。S2:判断多播树的结点treeNodes的个数,若个数为1,则删除该多播树,并结束算法;否则继续执行步骤S3。S3:判断退出的多播成员member结点的度数,若结点度数大于等于2,则更新该多播成员的流表,修改QoS队列,并结束算法;否则执行步骤4。S4:从多播树结点treeNodes中删除多播成员member以及与member直接相连的多播树的边。S5:剪枝:遍历多播树结点treeNod本文档来自技高网
...
基于SDN的支持QoS的多播路由构建方法及系统

【技术保护点】
一种基于SDN的支持QoS的多播路由构建方法,应用于包含OpenFlow控制器和Open vSwitch的通信网络中,其特征在于:基于IGMP v2协议,包括以下操作步骤:(1).Open vSwitch将用户主机发送的IGMP报文转发给支持IGMP协议的OpenFlow控制器,此OpenFlow控制器解析所述IGMP报文;(2).若步骤(1)中所述报文是请求加入多播组的Membership Report报文:所述OpenFlow控制器根据解析的IGMP报文获取用户主机地址与多播组地址,并根据多播路由算法为所述主机计算满足QoS保障的多播路径;(3).若步骤(1)中所述报文是请求加入多播组的Membership Report报文:根据步骤(2)计算出多播路径后,OpenFlow控制器测量出网络带宽,在存在于多播路径中的Open vSwitch中创建多播队列并为多播队列预留带宽资源;(4).若步骤(1)中所述报文是请求加入多播组的Membership Report报文:OpenFlow控制器在步骤(3)中所述Open vSwitch中安装或更新流表项,使Open vSwitch可以转发多播组报文;(5).若步骤(1)中所述报文是请求离开多播组的Leave Group报文:所述OpenFlow控制器根据解析的IGMP报文获取用户主机地址与多播组地址,并查询此用户主机所在多播组中是否有其他多播成员,若没有,则所述OpenFlow控制器停止维护此多播组,并释放多播资源给通用队列;若有其他成员存在,则所述OpenFlow控制器继续维护此多播组,重新安装流表项并重新设置QoS队列。...

【技术特征摘要】
1.一种基于SDN的支持QoS的多播路由构建方法,应用于包含OpenFlow控制器和OpenvSwitch的通信网络中,其特征在于:基于IGMPv2协议,包括以下操作步骤:(1).OpenvSwitch将用户主机发送的IGMP报文转发给支持IGMP协议的OpenFlow控制器,此OpenFlow控制器解析所述IGMP报文;(2).若步骤(1)中所述报文是请求加入多播组的MembershipReport报文:所述OpenFlow控制器根据解析的IGMP报文获取用户主机地址与多播组地址,并根据多播路由算法为所述主机计算满足QoS保障的多播路径;(3).若步骤(1)中所述报文是请求加入多播组的MembershipReport报文:根据步骤(2)计算出多播路径后,OpenFlow控制器测量出网络带宽,在存在于多播路径中的OpenvSwitch中创建多播队列并为多播队列预留带宽资源;(4).若步骤(1)中所述报文是请求加入多播组的MembershipReport报文:OpenFlow控制器在步骤(3)中所述OpenvSwitch中安装或更新流表项,使OpenvSwitch可以转发多播组报文;(5).若步骤(1)中所述报文是请求离开多播组的LeaveGroup报文:所述OpenFlow控制器根据解析的IGMP报文获取用户主机地址与多播组地址,并查询此用户主机所在多播组中是否有其他多播成员,若没有,则所述OpenFlow控制器停止维护此多播组,并释放多播资源给通用队列;若有其他成员存在,则所述OpenFlow控制器继续维护此多播组,重新安装流表项并重新设置QoS队列。2.根据权利要求1所述基于SDN的支持QoS的多播路由构建方法,其特征在于:所述步骤(2)中所述多播路由算法具体内容为:OpenFlow控制器根据全网拓扑结构,使用基于Prim算法的动态多播路由算法为多播组建立多播路由路径;为了适应网络实际状况,将与多播组成员主机直接相连的OpenvSwtich当作多播成员节点计算多播路径;设SDN网络G=(V,E),其中G表示连通图,V表示SDN网络中的OpenvSwitch的集合,E表示网络节点与节点之间的剩余可用带宽的倒数的集合;具体包括:(2-1).加入多播组默认将第一个加入到多播树T的节点为多播组的发送者,如果节点v要加入到多播树T,若v已经在树T上,则只要对节点v进行流表更新和QoS队列设置即可;否则,就在已存在的树T的基础上继续通过Prim算法算得最小生成树;然后对新算得的最小生成树进行修剪,去掉不是多播组成员且节点度数小于2的节点;最后形成新的多播树T;具体实现步骤如下:(2-1-1):输入多播树的结点treeNodes和边treeEdges,以及新加入的多播成员member;(2-1-2):判断多播树的结点个数,若为0,则将新加入的多播成员member加入到多播树的结点treeNodes中,作为多播组的发送者,并结束算法;否则,继续步骤(2-1-3);(2-1-3):判断新加入的多播成员是否包含于treeNodes,若是,则更新该多播成员的流表,并结束算法;否则,继续步骤(2-1-4);(2-1-4):在已有的多播树的基础上,继续按照Prim算法寻找与已有多播树直接相连的,并且权值最小的边;然后将这条边加入treeEdges,将这条边的顶点加入到treeEdges;接着重复上述步骤,直到将新的多播节点加入到treeNodes;(2-1-5):剪枝:遍历多播树结点treeNodes,若结点为非多播成员结点,且结点度数小于2,则删除;重复上述步骤,直到多播树结点treeNodes的非多播成员结点的度数均大于等于2;(2-1-6):更新多播树结点treeNodes的流表;(2-1-7):重新设置多播结点treeNodes的QoS队列;(2-2).退出多播组如果节点v要退出多播树T,若该节点v为多播组的发送者,则删除多播树T,更新整棵多播树的节点的流表和QoS队列;否则,若v的度数大于等于2,则只要对节点v进行流表更新和QoS队列设置即可;否则,删除节点v,并对生成树T进行修剪,去掉不是多播组成员且节点度数小于2的节点,最后形成新的多播树T;具体实现步骤如下:(2-2-1):输入多播树的结点treeNodes和边treeEdges,以及要退出的多播成员member;(2-2-2):判断多播树的结点treeNodes的个数,若个数为1,则删除该多播树,并结束算法;否则继续执行步骤(2-2-3);(2-2-3):判断退出的多播成员member结点的度数,若结点度数大于等于2,则更新该多播成员的流表,修改QoS队列,并结束算法;否则执行步骤(2-2-4);(2-2-4):从多播树结点treeNodes中删除多播成员member以及与member直接相连的多播树的边;(2-2-5):剪枝:遍历多播树结点treeNodes,若结点为非多播成员结点,且结点度数小于2,则删除,直到多播树结点treeNodes的非多播成员结点的度数均大于等于2;(2-2-6):更新多播树结点treeNodes的流表;(2-2-7):重新设置多播结点treeNodes的Q...

【专利技术属性】
技术研发人员:黄磊支小莉高强童维勤张雷郑圣安
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1