一种基于差异化QoS的多业务分层拓扑路由方法转让专利

申请号 : CN201711375435.4

文献号 : CN108173766B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭一珺李江舟葛维春罗涛郝建军杜瑜罗桓桓周桂平王英杰于波涛

申请人 : 北京邮电大学国网辽宁省电力有限公司北京国电通网络技术有限公司

摘要 :

本发明提供一种基于差异化QoS多业务分层拓扑路由方法和系统,所述方法包括:S1、基于业务的服务质量QoS要求,计算每一种业务所需的链路带宽门限;S2、根据所述带宽门限和当前网络状态,删除网络拓扑中不满足所述带宽门限的链路,生成每一种业务的分层拓扑,并在所述分层拓扑上计算每一种业务的最短路由路径。针对每一种业务生成了对应的逻辑分层拓扑,将业务的QoS需求和网络的负载均衡结合考虑,可以有效的提高网络的负载均衡水平,减少业务流之间的相互影响,并在区分业务的路由过程中尽可能的优化网络负载均衡,使每条链路尽可能多的有一些剩余带宽,从而减少网络局部拥塞,也就减少了业务流之间的相互影响。

权利要求 :

1.一种多业务分层拓扑路由方法,其特征在于,包括:S1、基于业务的服务质量QoS要求,计算每一种业务所需链路的带宽门限;

S2、根据所述带宽门限和当前网络状态,删除网络拓扑中不满足所述带宽门限的链路,生成每一种业务的分层拓扑,并在所述分层拓扑上计算每一种业务的最短路由路径;

其中,所述步骤S1具体包括:

S11、根据业务的丢包率要求,设定业务的初始带宽门限;

S12、根据业务的时延要求,在大于初始带宽门限的链路中,选取剩余带宽最大链路对应的剩余带宽Bmax和剩余带宽最小链路对应的剩余带宽Bmin,并根据业务时延要求和Bmax、Bmin得到业务的带宽门限;

其中,所述步骤S11具体包括:

对于所述丢包率要求小于设定丢包率阈值的业务,其所需链路的剩余带宽需大于该业务所需带宽,对应业务的初始带宽门限为:Qinit=Bs;Bs为业务所需带宽;

对于没有丢包限制的业务,其初始带宽门限为:Qinit=0;

所述步骤S12中,业务的带宽门限为:

式中,n为对应业务时延要求类型数目,i表示当前业务S对应的时延级别,所述时延级别为该业务时延要求在所有业务时延要求中的排名。

2.根据权利要求1所述的多业务分层拓扑路由方法,其特征在于,所述步骤S1中,所述业务的QoS要求包括时延要求、丢包率要求和带宽要求。

3.根据权利要求1所述的多业务分层拓扑路由方法,其特征在于,所述步骤S2还包括:若当前业务的分层拓扑上不存在可达路由路径,则降低业务的QoS要求,直至在所述分层拓扑上寻找到可达路由路径。

说明书 :

一种基于差异化QoS的多业务分层拓扑路由方法

技术领域

[0001] 本发明涉及通信技术领域,更具体地,涉及一种基于差异化QoS 的多业务分层拓扑路由方法和系统。

背景技术

[0002] PON(Passive Optical Network,无源光纤网络)是指(光配线网中)不含有任何电子器件及电子电源,ODN(Optical Distribution Network,光分配网络)全部由光分路器(Splitter)等无源器件组成,不需要贵重的有源电子设备。一个无源光网络包括一个安装于中心控制站的OLT(Optical Line Terminal,光线路终端),以及一批配套的安装于用户场所的ONUs(Optical Network Unit,光网络单元)。在OLT与 ONU之间的ODN包含了光纤以及无源分光器或者耦合器。
[0003] PON是一种广泛采用的光接入技术,是现代社会中广泛部署的重要的接入网络。随着“三网融合”进程的发展,PON承载了越来越多不同网络的业务,包括互联网业务、通信网业务、广播电视网业务、智能电网业务(如远程抄表等)。然而,不同种类的业务往往有不同的 QoS需求,主要包括时延要求,丢包率要求以及带宽要求。业务要求的广泛性和差异性对路由策略和网络管理两方面提出了更高的要求。分层拓扑路由算法针对PON网络中多种业务并存的场景,通过分析业务的QoS要求,为不同业务提供差异化的逻辑拓扑和路由策略,在尽可能满足不同业务需求的前提下,达到网络负载均衡的目标。
[0004] 在当前广泛采用网络层协议中,并没有提供针对业务的QoS要求进行差异化的路由服务,而已经提出的QoS路由算法,主要有以下三点不足:一、大多数QoS路由算法都假设网络为某个服务预留了足够的网络资源,即网络中一定存在一条符合其QoS要求的路径;然而实际中由于网络资源的有限性,网络不可能永远为所有服务预留好足够的资源;因此业务的QoS要求在实际中应转化为对网络资源的分配方式,即在总体资源有限的情况下针对不同的业务的QoS要求进行网络资源分配;二、目前已提出的解决方案并没有考虑业务流之间存在的相互的影响;由于 QoS寻路过程往往是和当前网络状态紧密相关的;当某个业务流改变了网络状态,下一个到来的服务流势必会受到前一个业务流的影响;例如,如果一个时延不敏感的业务类1占用了最短路径A,那么后面到来的时延敏感的业务类2势必会受到影响;三、由于业务流的路由过程和当前网络负载状态紧密相关,因此如何实时获取和维护全局网络负载情况成为一大问题。

发明内容

[0005] 本发明提供一种克服上述问题或者至少部分地解决上述问题的一种基于差异化QoS的多业务分层拓扑路由方法和系统,解决了现有技术中PON上的多业务流量竞争造成的网络拥塞和负载不均衡的问题。
[0006] 根据本发明的一个方面,提供一种多业务分层拓扑路由方法,包括:
[0007] S1、基于业务的服务质量QoS要求,计算每一种业务所需链路的带宽门限;
[0008] S2、根据所述带宽门限和当前网络状态,删除网络拓扑中不满足所述带宽门限的链路,生成每一种业务的分层拓扑,并在所述分层拓扑上计算每一种业务的最短路由路径。
[0009] 作为优选的,所述步骤S1中,所述业务的QoS要求包括时延要求、丢包率要求和带宽要求。
[0010] 作为优选的,所述步骤S1具体包括:
[0011] S11、根据业务的丢包率要求和业务带宽要求,设定业务的初始带宽门限;
[0012] S12、根据业务的时延要求,在大于初始带宽门限的链路中,选取剩余带宽最大链路对应的剩余带宽Bmax和剩余带宽最小链路对应的剩余带宽Bmin,并根据Bmax和Bmin得到业务的带宽门限。
[0013] 作为优选的,所述步骤S11具体包括:
[0014] 对于所述丢包率要求小于设定丢包率阈值的业务,其所需链路的剩余带宽需大于该业务所需带宽,对应业务的初始带宽门限为: Qinit=Bs;Bs为业务所需带宽;
[0015] 对于没有丢包限制的业务,即丢包率要求不需小于设定丢包率阈值的业务,其初始带宽门限为:Qinit=0。
[0016] 作为优选的,所述步骤S12中,业务的带宽门限为:
[0017]
[0018] 式中,n为对应业务时延要求类型数目,i表示当前业务S对应的时延级别,所述时延级别指该业务时延要求在所有业务的时延要求中的排名。
[0019] 作为优选的,所述步骤S2还包括:
[0020] 若当前业务的分层拓扑上不存在可达路由路径,则降低业务的 QoS要求,直至在所述分层拓扑上寻找到可达路由路径。
[0021] 一种多业务分层拓扑路由系统,包括链路负载检测模块、路由模块、转发模块;
[0022] 所述链路负载检测模块用于周期性获取网络拓扑信息及交换机端口速率,计算生成每条链路的剩余带宽数据;
[0023] 所述路由模块用于根据当前网络中各条链路的剩余带宽信息和业务类型的QoS要求,计算业务的带宽门限,生成分层拓扑并计算最短路由路径,将所述路由路径存储至路由缓存,并将路由路径发送至交换机;
[0024] 所述转发模块用于接收来自交换机的Packet-in消息时,查询路由缓存得到路由路径,并下发到相应的交换机。
[0025] 作为优选的,还包括拓扑发现模块,所述拓扑发现模块用于通过 LLDP协议发现网络中的链路。
[0026] 作为优选的,所述转发模块用于:
[0027] 监听Packet-in消息,判断收到Packet-in消息的消息类型;若是 Forward消息类型,则获取主机地址和接入交换机地址,从路由缓存获取路由结果,若不是Forward消息类型,则根据其消息类型采用泛洪报文或者忽略该消息的方式处理;
[0028] 若当前业务的分层拓扑上不存在可达路由路径,则降低业务的 QoS要求,直至寻找到可达路由路径。
[0029] 作为优选的,所述链路负载检测模块向网络发送STATS_REQUEST查询请求消息,采集网络中各个交换机的端口的转发速率,计算并更新链路的剩余带宽。
[0030] 本发明提出一种基于差异化QoS的多业务分层拓扑路由方法和系统,结合了业务的多种QoS需求,针对每一种业务生成了对应的逻辑分层拓扑,将业务的QoS需求和网络的负载均衡结合考虑,通过在不同业务的路由过程中关闭相对拥塞的链路,使每条链路尽可能多的有一些剩余带宽,从而减少网络局部拥塞,减少业务流之间的相互影响,同时也尽可能的满足了业务的差异化QoS需求。

附图说明

[0031] 图1为根据本发明实施例的多业务分层拓扑路由方法流程框图;
[0032] 图2为根据本发明实施例的基于业务类型的分层拓扑示意图;
[0033] 图3为根据本发明实施例的多业务分层拓扑路由系统示意图;
[0034] 图4为根据本发明实施例的路由模块工作流程图;
[0035] 图5为根据本发明实施例的链路负载检测模块工作流程图;
[0036] 图6为根据本发明实施例的转发模块工作流程图。

具体实施方式

[0037] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0038] 如图1所示,图中示出了一种多业务分层拓扑路由方法,包括:
[0039] S1、基于业务的服务质量QoS要求,计算每一种业务所需链路的带宽门限;
[0040] S2、根据所述带宽门限和当前网络状态,删除网络拓扑中不满足所述带宽门限的链路,生成每一种业务的分层拓扑,并在所述分层拓扑上计算每一种业务的最短路由路径。
[0041] 在本实施例中,所述步骤S1中,所述业务的QoS要求包括时延要求、丢包率要求和带宽要求。如下表中所示,列举了PON中一些业务类型的QoS(Quality of Service,服务质量)需求:
[0042] 序号 服务类型 时延要求 丢包率要求 带宽要求1 远程抄表 宽松 严格 低
2 智能控制 一般 严格 低
3 IPTV 严格 宽松 很高
4 IP电话 严格 宽松 中等
5 实时交互 严格 宽松 高
6 后台数据 宽松 严格 中等
7 文件传输 宽松 严格 高
[0043] QoS(Quality of Service,服务质量)是一种对通信、网络等信息服务整体性能的描述和度量。为了定量描述网络中的服务质量,通常会考虑网络服务的几个相关方面,如时延、丢包率、吞吐量、可用性等。由表中可知,如远程抄表、智能控制等智能电网类业务往往有更加严格的丢包率要求,但并不需要大带宽和低时延,而这与很多互联网业务并不相同。
[0044] 因此在本实施例中,所述步骤S1具体包括:
[0045] S11、根据业务的丢包率要求,设定业务的初始带宽门限;
[0046] S12、根据业务的时延要求,在大于初始带宽门限的链路中,选取剩余带宽最大链路对应的剩余带宽Bmax和剩余带宽最小链路对应的剩余带宽Bmin,并根据Bmax和Bmin得到业务的带宽门限。
[0047] 在本实施例中,为了简化计算,分析业务多种QoS要求之间的关系,由于丢包的主要原因来源于带宽不足,因此,对于有严格丢包限制的业务,其所需的链路剩余带宽必须大于业务所需的最小带宽;而对于没有丢包限制的业务,则没有该要求,因此,具体的,所述步骤 S11具体包括:
[0048] 对于所述丢包率要求小于设定丢包率阈值的业务,其所需链路的剩余带宽需大于该业务所需带宽,对应业务的初始带宽门限为: Qinit=Bs;Bs为业务所需链路的最小带宽;
[0049] 对于没有丢包限制的业务,即丢包率要求不需小于设定丢包率阈值的业务,其初始带宽门限为:Qinit=0。
[0050] 考虑到丢包要求后,需要考虑业务的时延要求对带宽门限的影响,拓扑剪枝的目标是尽可能为需要短时延的业务保留更多的链路,使该类业务能从尽可能多的链路中选择更短的路由路径;而对于没有太多时延要求的业务,则应尽可能删除剩余带宽相对较少的链路,以此来减少局部网络堵塞,使整个网络负载均衡,因此,在本实施例中,具体的,所述步骤S12中,将Bmax到Bmin区间内划分n个区间,得到每个服务的带宽门限为:
[0051]
[0052] 式中,n为对应业务时延要求类型数目,i表示当前业务S对应的时延级别,所述时延级别为该业务时延要求在所有业务时延要求中的排名。
[0053] 在本实施例中,如图2所示,对于每一种业务类型,根据计算出的带宽门限,将网络中每条链路的剩余带宽与业务的带宽门限进行比较,删除剩余带宽小于带宽门限的链路,得到该业务的逻辑分层拓扑,实现了基于业务类型的分层拓扑路由;然后在该逻辑分层拓扑上通过最短路径算法,得到网络中各个节点之间针对该业务类型的路由路径结果,在本实施例中,可采用Floyd算法,Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法。
[0054] 所述步骤S2还包括:
[0055] 若当前业务的分层拓扑上不存在可达路由路径,则降低业务的 QoS要求,直至在所述分层拓扑上寻找到可达路由路径。具体的,如果当前逻辑拓扑不存在可达路径,首先逐步降低业务的时延要求,也即在时延要求相对较低的业务逻辑拓扑上搜索可达路径;如果仍然没有可达路径,则在原时延要求的基础上放宽丢包要求,然后再逐步降低时延要求,直到在原拓扑上寻找可达路径。
[0056] 本实施例中还提供了一种多业务分层拓扑路由系统,如图3所示,包括链路负载检测模块(LinkCostManager)、路由模块(RouteByToS)、转发模块(ForwardByToS);
[0057] 所述链路负载检测模块用于周期性获取网络拓扑信息及交换机端口速率,计算生成每条链路的剩余带宽数据;
[0058] 所述路由模块用于根据当前网络中各条链路的剩余带宽信息和业务类型的QoS要求,计算业务的带宽门限,生成分层拓扑并计算最短路由路径,将所述路由路径存储至路由缓存,并将路由路径发送至交换机;路由模块采用如上述多业务分层拓扑路由方法进行拓扑路由处理。
[0059] 在本实施例中,如图4所示,具体的,初始化数据结构后,基于业务的服务质量QoS要求,计算每一种业务所需链路的带宽门限;具体包括:S11、根据业务的丢包率要求,设定业务的初始带宽门限;
[0060] S12、根据业务的时延要求,在大于初始带宽门限的链路中,选取剩余带宽最大链路对应的剩余带宽Bmax和剩余带宽最小链路对应的剩余带宽Bmin,并根据Bmax和Bmin得到业务的带宽门限。
[0061] 步骤S11具体包括:
[0062] 对于有严格丢包限制的业务,其所需链路的剩余带宽需大于该业务所需带宽,对应业务的初始带宽门限为:Qinit=Bs;Bs为业务所需带宽;
[0063] 对于没有丢包限制的业务,其初始带宽门限为:Qinit=0。
[0064] 则业务的带宽门限为:
[0065]
[0066] 式中,n为对应业务时延要求类型数目,i表示当前业务S对应的时延级别,所述时延级别为该业务时延要求在所有业务时延要求中的排名。
[0067] 生成逻辑拓扑的邻接矩阵,根据所述带宽门限和当前网络状态,删除网络拓扑中不满足所述带宽门限的链路,生成每一种业务的分层拓扑;
[0068] 运行Floyd算法计算路由,更新路由缓存,重复以上步骤直至遍历完所有业务类型。
[0069] 所述转发模块用于接收来自交换机的Packet-in消息时,查询路由缓存得到路由路径,并下发到相应的交换机。
[0070] 在本实施例中,还包括拓扑发现模块,所述拓扑发现模块用于通过LLDP协议发现网络中的链路。
[0071] 具体的,在本实施例中,本实施例基于SDN控制器Floodlight的架构设计和模块实例。实例采用了SDN控制器Floodlight作为SDN网络控制器,主要用于网络状态的采集,路由计算和流表下发。HTA-ToS 算法也可用于任何SDN控制器上,包括但不限于Ryu,OpenDaylight, POX等。
[0072] 具体的,在本实施例中,如图3所示,多业务分层拓扑路由系统的运行过程可分为路由生成过程和流表下发过程,两个过程为两个独立的线程:
[0073] 路由生成过程是一个周期执行的线程,会周期性的查询、更新网络中的链路负载情况,进而周期性的更新路由结果。
[0074] 具体的,路由生成过程包括:
[0075] A1、拓扑发现模块通过LLDP协议发现网络中的链路;
[0076] A2、链路负载检测模块从拓扑发现模块中查询拓扑信息;
[0077] A3、向网络发送STATS_REQUEST查询请求消息,采集网络中各个交换机的端口的转发速率,网络向控制器反馈STATS_REPLY消息作为查询结果;
[0078] A4、路由模块从链路负载检测模块中获取网络中各条链路的剩余带宽。
[0079] 流表下发过程分为两个部分:主动下发流表和被动下发流表。
[0080] 具体的,主动下发流表包括:
[0081] B1、转发模块收到来自网络中交换机的Packet-in消息查询路由信息;
[0082] B2、转发模块从路由模块的路由缓存中获取路由结果;
[0083] B3、转发模块根据查询到路由结果生成OpenFlow流表,以 Flow-Mod消息的形式下发到网络中对应的交换机。
[0084] 被动下发流表包括:
[0085] B3’、路由模块根据更新的路由结果生成OpenFlow流表,以 Flow-Mod消息的形式主动下发到网络中的交换机。
[0086] B3’则是一个独立的周期执行的线程,用于周期性的下发OpenFlow 流表。图中虚线表示查询请求消息,实线表示查询结果反馈。
[0087] 本实施例的系统各个模块中,路由模块(RouteByToS)是为各个业务生成路由和下发路由的关键模块,也是分层拓扑路由算法的具体实现,如图4所示,图4给出了路由模块生成和下发路由路径的依次完整过程的流程图;该流程包括:
[0088] 该流程主要有以下几个部分组成:
[0089] 1)生成每一种业务类型的带宽门限,得到逻辑拓扑;
[0090] 2)在逻辑拓扑上运行Floyd算法得到路由结果,并更新路由缓存;
[0091] 3)遍历网络中的节点对,判断在该业务逻辑拓扑中是否有可达路径,如没有则降低业务类型的QoS要求,重新查询路由缓存;
[0092] 4)从缓存中获取路由结果;
[0093] 5)遍历路由结果路径上的所有交换机,生成并下发对应的 Flow-mod消息;
[0094] 链路负载检测模块(LinkCostManager)是独立于路由模块的另一个线程,主要负责完成链路负载和剩余带宽的监测。图5给出了该模块主要的流程。所述链路负载检测模块向网络发送STATS_REQUEST 查询请求消息,采集网络中各个交换机的端口的转发速率,获取各个交换机各个端口的数据包统计信息,与上一次统计信息相减,得到这一时段的平均速率,计算并更新链路的剩余带宽。
[0095] 在本实施例中,转发模块(ForwardByToS)是由Floodlight控制器 Forwarding模块改造而来,主要用于处理交换机上报控制器的Packet-in 消息,并通过Flow-Mod消息反馈交换机。原有的Forwarding模块并没有考虑流业务类型,并且路由计算查询方式依赖于原有的 TopologyManager模块生成的路由结果。转发模块主要对这两点进行了改变,首先是增加了处理包业务类型的部分;其次是依赖于路由模块,改变了查询路由的过程。图6给出了转发模块的消息处理流程。
[0096] 监听Packet-in消息,判断收到Packet-in消息的消息类型;若是 Forward消息类型,则获取主机地址和接入交换机地址,从路由缓存获取路由结果,若不是Forward消息类型,则根据其消息类型采用泛洪报文或者忽略该消息的方式处理;
[0097] 若当前业务的分层拓扑上不存在可达路由路径,则降低业务的 QoS要求,直至寻找到可达路由路径。
[0098] 本发明提出一种基于差异化QoS的多业务分层拓扑路由方法和系统,结合了业务的多种QoS需求,针对每一种业务生成了对应的逻辑分层拓扑,将业务的QoS需求和网络的负载均衡结合考虑,通过在不同业务的路由过程中关闭相对拥塞的链路,使每条链路尽可能多的有一些剩余带宽,从而减少网络局部拥塞,减少业务流之间的相互影响,同时也尽可能的满足了业务的差异化QoS需求。
[0099] 最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。