基于业务感知的多路径负载均衡方法
【专利摘要】本发明提供一种基于业务感知的多路径负载均衡方法,其用于根据路径权重及感知业务流量以实现负载均衡,所述负载均衡方法包括以下步骤:确定网络拓扑结构;收集网络拓扑结构的路由信息及带宽信息;根据收集的路由信息计算各路由的多条路径;根据收集的带宽信息获取每条路径的各链路带宽信息及可用带宽信息以计算各路径权重;配置计算的多条路径及对应路径权重;感知业务并根据配置的多路径及相应权重实现负载平衡。本发明提供的基于业务感知的多路径负载均衡方法跟进链路带宽来计算多条路径及相应路径权重,避免路由的频繁更新,在负载均衡时,根据各路径的权重进行带宽分配,同时对流量进行感知以根据感知流量及多路径权重来实现负载均衡。
【专利说明】基于业务感知的多路径负载均衡方法
【技术领域】
[0001]本发明涉及计算机网络领域,具体涉及一种基于业务感知的多路径负载均衡方法。
【背景技术】
[0002]目前,互联网上的用户和应用都在快速增长,网络中的拥塞成为一个十分重要的问题,网络中的拥塞来源于网络资源和网络流量的分布和分配的不均衡性,因而,流量负载平衡的意义就显得尤为突出。内部网关协议通过路由优化实现负载均衡目标,调整设置网络中各链路的权值对网络路由进行控制,达到负载均衡目标。
[0003]然而,由于没有利用网络中流量分布信息,因此不能有效地利用网络资源,同时将链路权值与当前链路上的负载状态对应会带来频繁的路由改变,导致网络不稳定。
【发明内容】
[0004]有鉴于此,本发明提供一种能避免路由频繁更新的基于业务感知的多路径负载均衡方法。
[0005]一种基于业务感知的多路径负载均衡方法,其用于根据路径权重及感知业务流量以实现负载均衡,所述基于业务感知的多路径负载均衡方法包括以下步骤:
[0006]确定网络拓扑结构;
[0007]收集网络拓扑结构的路由信息及带宽信息;
[0008]根据收集的路由信息计算各路由的多条路径;
[0009]根据收集的带宽信息获取每条路径的各链路带宽信息及可用带宽信息以计算各路径权重;
[0010]配置计算的多条路径及对应路径权重;
[0011]感知业务并根据配置的多路径及相应权重实现负载平衡。
[0012]与现有技术相比,本发明提供的基于业务感知的多路径负载均衡方法中,跟进带宽信息计算多条路径及相应路径权重,从而避免路由的频繁更新,在负载均衡时,根据各路径的权重进行带宽分配,同时对流量进行感知以根据感知流量及多路径权重来实现负载均衡,避免网络拥塞。
【专利附图】
【附图说明】
[0013]图1是本发明提供的一种基于业务感知的多路径负载均衡方法的流程图。
[0014]图2是图1中确定的核心网络拓扑示例图。
[0015]图3为图2的多路径计算分流方法示意图。
[0016]如下【具体实施方式】将结合上述附图进一步说明本发明。
【具体实施方式】[0017]请参阅图1,其为本发明实施方式提供的一种基于业务感知的多路径负载均衡方法,其用于根据路径权重及感知业务流量以实现负载均衡,所述基于业务感知的多路径负载均衡方法包括以下步骤:
[0018]SlOO:确定网络拓扑结构;
[0019]S200:收集网络拓扑结构中的路由信息及带宽信息;
[0020]S300:根据收集的路由信息计算各路由的多条路径;
[0021]S400:根据收集的带宽信息获取每条路径的各链路带宽信息及可用带宽信息以计算各路径权重;
[0022]S500:配置计算的多条路径及对应路径权重;
[0023]S600:感知业务并根据配置的多路径及相应权重实现负载平衡。
[0024]在步骤SlOO中,如图2所示,为随机生成的网络拓扑图。
[0025]在步骤S200中,路由器通过收集本地各链路带宽信息和该链路最近一段时间的平均剩余带宽作为可用带宽,本实施方式中,收集10分钟内的平均剩余带宽。路由器通过域内路由协议(如OSPF、ISIS等)对路由信息进行收集与更新。通过收集、存放相邻节点的路由信息,并发布节点链路带宽和可用带宽信息,通过域内路由协议周期性的交互,路由器可获取整个拓扑结构中的路由信息和带宽信息。
[0026]在步骤S300中,需要在网络拓扑图中寻找无连接的多路径路由图,该路由图是一个无连接有向非循环连通图,若不保持无连接,可能会出现拥塞点的转移。如图3所示,若采用图3(a)中虚线所示路径分流虽然可以消除链路(1,2)的拥塞,但由于虚线所示路径又汇聚于节点2,使得节点I的负载更快地到达节点2,如果链路(2,3)没有足够的容量,就会变成新的拥塞点。而在图3(b)中,分流路径(虚线所示)并没有汇聚于节点2,所有的路径都是无连接的,拥塞不会向链路(2,3)转移。
[0027]路由器在进行多路径计算时,根据收集到的路由信息,通过最短路径算法计算到一个目的路由的最短路径,将该条最短路径作为到该目的路由的多路径中的一条,然后计算到该条路由的其他路径,也即收集网络拓扑结构中各节点的信息,对于任意节点之间的链路,根据链路带宽值计算节点间的最短路径作为第一条路径,其路由权值最高。计算过程如下:首先删除先前已经作为第一条路径中的链路,然后在剩余拓扑中,计算该路由的最短路径,并将该路径最为第二条路径,依此类推,直至计算出该目的路由的所有路径。对所有其他目的路由,根据路由器收集的路由信息,按照以上方法进行计算相应的多路径。并记录所有目的路由的多条路径。可以理解的是,网络拓扑结构中的节点对之间一般存在多条路径。对于只有一条路径的节点对,则不需要进行负载均衡。
[0028]在步骤S300中,由于各路径上所有链路带宽信息已通过路由信息收集获取,通过比较即可获取每条路径上各链路带宽的最小值和可用带宽的最小值,将每条路径上各链路带宽中的最小值作为该路径带宽值,每条路径上各链路可用带宽的最小值作为该链路的可用带宽值。每条路由的各路径权重计算公式如下:
[0029]路径权重=最短路径权重+链路带宽权重+链路可用带宽权重;
[0030]其中:设定第一条最短路径权重为W1,则第二条最短路径为λ晃,其余各最短路径为λ,ρ?Κλχλ^Ι,本实施方式中,A1SOJ,入2为0.5。可以理解的是,以上各参数的值依据实际需要设定即可。[0031]由于在实际网络中链路带宽相差较大,因此,在本实施方式中,将链路带宽权重分为四个等级,设定上限链路带宽值B1,常用链路带宽值为B2,下限链路带宽值为B3,当前链路带宽为B,若阶81时,则链路带宽权重取最大值W2,若&〈8〈82时,则链路带宽权重为P2W2,SB2〈B〈B3时,则链路带宽权重为0具,其中,0〈03〈02〈01〈1。本实施方式中,对应以太网的各参数取值如下=B1为IOGbps (千兆比特每秒),B2为IGbps, B3为IOOMbps (兆比特每秒),Pi为0.8,P2S0.65,P3S0.5。可以理解的是,对应不同网络,根据网络状况对以上各参数进行相应设置。
[0032]可用带宽为链路带宽减去已使用带宽,设定各路径中可用带宽的最大路径的权重为W3,各路径最小可用带宽值为A,可用带宽最大路径的带宽值为B,则除可用带宽最大路径外的其余路径的可用带宽权重为=W3X (A/B)。
[0033]在以上各路径权重计算中,各权重值的比例可根据需要进行配置修改,满足较高带宽对应的权重较大即可,一般根据网络状况,对使用的链路进行划分,并根据各类链路需要承载的数据流量大小设置相应的权重值。
[0034]在步骤S500中,将计算的多路径下发到路由器转发硬件(网络处理器或者多核CPU芯片)中。在设置时,除出端口外,还需包含该端口对应的路由权重、链路带宽权重和链路可用带宽权重。如果多路径没有变化,只有链路可用带宽权重发生变化时,则仅需修改该链路的可用带宽权重。
[0035]在步骤S600中,在网络业务流量感知时。路由器通过访问控制列表(AccessControl List,ACL)功能对进入的数据包头部信息中包含的源/目的IP地址、源/目的端口和协议类型等,进行数据流量的感知,同时通过ACL和硬件计数相结合,实现对流经路由器的各类数据业务占用带宽进行测量,以便实现负载均衡和向外通告可用链路带宽信息,并根据该流量的特征进行记录。
[0036]根据网络流量感知,若记录中有相同流量的出端口,检查该出端口带宽是否超过重载的上限,如果不超过,则从该端口转发。若记录中没有该业务,则根据负载情况和各路径已分配的带宽情况,尽量保证各路径已分配业务转发速率与其权重的比例一致。具体选择原则如下:
[0037](I)在路径之间的业务带宽小于多条路径带宽和的比例下限kmin时为轻载时,即为轻载时,在网络中交换压力较少的情况下,应当尽量利用路由权重大的链路,以均衡网络负载。本实施方式中,设置比例下限为20%,可以理解的是,比例下限可依据实际需要设置。
[0038](2)在路径之间的业务带宽大于多条路径带宽和的比例上限kmax时为重载时,选择可用带宽权重大的链路作为分配带宽路径,可有效减少链路上的排队、发送时延,使得网络有良好的动态响应,有利于节约网络资源。本实施方式中,设置比例上限为60%,可以理解的是,比例上限可依据实际需要设置。
[0039](3)在轻载和重载之间时,根据各路径最近一段时间已分配的平均带宽,计算已分配带宽与链路带宽权重之比并选择比值最小的路径作为分配带宽的路径,以便尽量保证各路径之间的比例分配。本实施方式中,设置最近一段时间为10分钟,可以理解的是,时间可依据实际需要设置。
[0040]在进行负载均衡过程中,首要原则是尽量保证相同业务从同一路径传输,若一条路径无法满足业务传输时对业务进行不同路径的拆分。本实施方式中,路带宽的告警门限设置为链路带宽能力的80%,保证带宽门限设置为链路带宽能力的20%。
[0041]若一条路径的分配带宽达到该链路带宽的告警门限值,则依据根据负载均衡重新选择多路径中的一条路径进行转发,也即如果存在其他某一条路径分配带宽小于设置的保证带宽门限时,需要对该路径的业务进行拆分,首先清除该路径的记录,使需要通过该路径的数据业务根据负载均衡重新选择多路径中的一条路径进行转发,使该路径的业务重新依据负载均衡的原则分配路径,从而打破一个业务从同一路径传输规则。
[0042]若单个业务的分配带宽达到该链路带宽的告警门限时,则拆分业务并另选取多路径中已分配带宽最小的链路传输以使所述单个业务存在两条路径进行传输。若拆分后仍存在单个业务在单链路上的带宽超过链路带宽的告警门限时,则进行进一步拆分直至所有链路分配的带宽均不超过告警门限,以保证各路径的负载均衡。
[0043]本发明提供的基于业务感知的多路径负载均衡方法中,计算多条不相交的路径及相应路径权重,进行路径计算时,根据链路带宽能力进行计算,不考虑负载状况,避免路由的频繁更新,在负载均衡时,根据各路径的权重进行负载的动态均衡分配,同时对流量进行感知,并对感知的转发业务进行记录,相同业务流尽量分配到同一条路径上,对优先级高的业务使用路径权重高的路径,优先级较低的业务则使用次优路径权重的路径,从而保证时延和抖动的一致性。
[0044]可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
【权利要求】
1.一种基于业务感知的多路径负载均衡方法,其用于根据路径权重及感知业务流量以实现负载均衡,所述基于业务感知的多路径负载均衡方法包括以下步骤: 确定网络拓扑结构; 收集网络拓扑结构的路由信息及带宽信息; 根据收集的路由信息计算各路由的多条路径; 根据收集的带宽信息获取每条路径的各链路带宽信息及可用带宽信息以计算各路径权重; 配置计算的多条路径及对应路径权重; 感知业务并根据配置的多路径及相应权重实现负载平衡。
2.如权利要求1所述的基于业务感知的多路径负载均衡方法,其特征在于,在目的路由的多条路径计算的步骤中: 计算各目的路由的最短路径并记录为第一条最短路径; 删除第一条路径后在剩下的网络拓扑中计算各目的路由的最短路径并记录为第二条最短路径; 依次计算最短路径以记录各目的路由的多条路径。
3.如权利要求2所述的基于业务感知的多路径负载均衡方法,其特征在于,在各路径权重计算的步骤中:每条路由的各路径权重计算公式为: 路径权重=最短路径权重+链路带宽权重+链路可用带宽权重; 其中:设定第一条最短路径权重为W1,第二条最短路径为λ ^,其余各最短路径为入具,0〈入2〈入^1。
4.如权利要求3所述的基于业务感知的多路径负载均衡方法,其特征在于,X1Sas,λ 2 为 0.5。
5.如权利要求3所述的基于业务感知的多路径负载均衡方法,其特征在于,在各路径权重计算公式中,设定上限链路带宽值B1,常用链路带宽值为B2,下限链路带宽值为B3,当前链路带宽为B,若B>Bi时,则链路带宽权重取最大值W2,若时,则链路带宽权重为P2W2,若B2〈B〈B3时,则链路带宽权重为0具,其中,0030201〈1。
6.如权利要求5所述的基于业务感知的多路径负载均衡方法,其特征在于,B1为IOGbps, B2 为 IGbps, B3 为 100Mbps, P1SO-S, P 2 为 0.65, P 3 为 0.5。
7.如权利要求3所述的基于业务感知的多路径负载均衡方法,其特征在于,在各路径权重计算公式中,设定各路径中可用带宽的最大路径的权重为W3,各路径最小可用带宽值为A,可用带宽最大路径的带宽值为B,则除可用带宽最大路径外的其余路径的可用带宽权重为=W3X (A/B)。
8.如权利要求1所述的基于业务感知的多路径负载均衡方法,其特征在于,在实现负载平衡步骤中: 在路径之间的业务带宽小于多条路径带宽和的比例下限时为轻载时,选择路由权重大的链路作为分配带宽路径;在路径之间的业务带宽大于多条路径带宽和的比例上限时为重载时,选择可用带宽权重大的链路作为分配带宽路径; 在轻载和重载之间时,根据各路径已分配的带宽计算已分配带宽与链路带宽权重之比并选择比值最小的路径作为分配带宽的路径。
9.如权利要求1所述的基于业务感知的多路径负载均衡方法,其特征在于,在感知业务并实现负载平衡步骤中: 感知业务流量并记录各流量转发路径; 将后续进入的流量中与前面感知的业务流量相同的业务依据记录的转发路径进行转发。
10.如权利要求9所述的基于业务感知的多路径负载均衡方法,其特征在于,在依据记录的转发路径转发步骤中: 若一条路径的分配带宽达到该链路带宽的告警门限值,则依据根据负载均衡重新选择多路径中的一条路径进行转发; 若单个业务的分配带宽达到该链路带宽的告警门限时,则拆分业务并另选取多路径中已分配带宽最小的链路传输以使所述单个业务存在两条路径进行传输; 若拆分后单个业务在单链路上的带宽超过链路带宽的告警门限时,则进行进一步拆分直至所有链路分配的带宽均不超过告`警门限。
【文档编号】H04L12/803GK103685054SQ201310698451
【公开日】2014年3月26日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】汪学舜, 余少华, 戴锦友, 朱国胜 申请人:武汉烽火网络有限责任公司