CN108712345B - 基于逐跳计算的分布式负载均衡方法 - Google Patents
基于逐跳计算的分布式负载均衡方法 Download PDFInfo
- Publication number
- CN108712345B CN108712345B CN201810476749.1A CN201810476749A CN108712345B CN 108712345 B CN108712345 B CN 108712345B CN 201810476749 A CN201810476749 A CN 201810476749A CN 108712345 B CN108712345 B CN 108712345B
- Authority
- CN
- China
- Prior art keywords
- node
- destination address
- hop
- link
- cost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于逐跳计算的分布式负载均衡方法,为所有节点设置虚拟流量,然后根据虚拟流量计算所有链路的代价,最后采用分布式算法计算最优路由;该方法不需要实际流量矩阵,采用分布式计算方法,可在没有流量矩阵的前提下实现分布式载均衡。
Description
技术领域
本发明属于互联网技术领域,涉及域内负载均衡方案,具体涉及一种基于逐跳计算的分布式负载均衡方法。
背景技术
随着网络中流量的增加,网络拥塞频繁发生。然而目前互联网部署的域内路由协议采用最短路径转发报文,无法灵活应对网络拥塞问题。因此,因特网服务提供商(Internet Service Provider,ISP)通过配置链路权值来优化资源利用,尽量降低由于流量增加而引起的网络拥塞问题。由于该问题的重要性,在过去的几十年里大量的研究者致力于对网络拥塞问题的研究。
业界通常采用优化链路权值(Optimizing OSPF Weights,OPW)的负载均衡方法来降低网络拥塞,该方法的核心思想为给定一个网络拓扑结构和流量矩阵,通过设置网络中链路的权重来优化流量的分配。该问题可以描述为一个多商品流问题,然后利用领域搜索算法计算近似最优解。但是该方法必须采用集中式节方案,并且算法的代价较大,因此无法直接应用在逐跳方式的链路状态路由协议中。多协议标签协议(Multi-Protocol LabelSwitching,MPLS)不受最短路径路由协议的约束,可以任意配置路由。研究者利用MPLS实现负载均衡的问题归结为线性整数规划模型,然后利用LP计算器求解。但是上述所有的负载均衡算法都需要完整的流量矩阵,并且算法的复杂度高。
发明内容
本发明主为解决现有问题的不足之处而提供一种基于逐跳计算的分布式负载均衡方法。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于逐跳计算的分布式负载均衡方法,包括以下步骤:
创建一个优先级队列Q,将网络拓扑节点中的目的地址节点d加入到优先级队列Q;
从队列中取出第一个节点,将该节点存储在变量u中,将节点u的访问属性标记为已访问;
查询节点u的邻居节点v的访问属性,如果节点u的所有邻居的访问属性均为已访问,则计算节点u与邻居节点v组成的链路(v,u)的代价w(v,u);
如果节点u到目的地址节点d的最小代价C(u)与链路(v,u)的代价w(v,u)之和小于邻居节点v到目的地址节点d的最小代价C(ν),或者节点u到目的地址节点d的最小代价C(u)与链路(v,u)的代价w(v,u)之和等于邻居节点v到目的地址节点d的最小代价C(ν)之和,且邻居节点v到目的地址节点d的跳数小于节点u到目的地址节点d的跳数加1时,将邻居节点v加入到队列Q中。
其中,在将目的地址节点d加入到优先级队列Q的步骤之后,包括步骤:
初始化网络拓扑节点的节点参数;其中,节点参数包括三个参数,分别:该节点的父亲节点、该节点到目的地址节点d的代价,该节点到目的地址节点d的跳数。
其中,初始化网络拓扑节点的节点参数的步骤包括:将网络拓扑节点到目的地址节点d的最小代价设置为无穷大,将目的地址节点d到目的地址节点d的最小代价设置为0,将所有节点到目的地址节点d的最小跳数设置为无穷大,将目的地址节点d到目的地址节点d的最小跳数设置为0,将所有节点的访问属性标记为未访问,将所有节点的父亲节点设置为null。
其中,初始化后,目的地址节点表示为d(d,null,0,0)。
其中,计算链路(v,u)的代价w(v,u)方法为:对于目的地址节点d,给该节点设置一个虚拟流量T(d),该流量的大小为与其直接相连的链路的带宽总和的0.2倍,链路(v,u)的虚拟流量可以表示为t(v,u)=0.2*T(d)*(H(u)+1)0.1,其中H(u)表示节点u到d的最小跳数;链路(v,u)的链路利用率表示为μ(v,u)=t(v,u)/c(v,u),其中c(v,u)表示链路(v,u)的带宽;链路(v,u)的代价w(v,u)表示为
区别于现有技术,本发明的基于逐跳计算的分布式负载均衡方法具有如下优点:为所有节点设置虚拟流量,然后根据虚拟流量计算所有链路的代价,最后采用分布式算法计算最优路由;该方法不需要实际流量矩阵,采用分布式计算方法,可在没有流量矩阵的前提下实现分布式载均衡。
附图说明
图1是本发明提供的一种基于逐跳计算的分布式负载均衡方法的流程示意图。
图2是本发明提供的一种基于逐跳计算的分布式负载均衡方法的逻辑示意图。
图3是本发明提供的一种基于逐跳计算的分布式负载均衡方法的具体实施例的网络拓扑结构。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
参阅图1,图1是本发明提供的一种基于逐跳计算的分布式负载均衡方法,该方法的步骤包括:
S1:创建一个优先级队列Q,将网络拓扑节点中的目的地址节点d加入到优先级队列Q。
S2:从队列中取出第一个节点,将该节点存储在变量u中,将节点u的访问属性标记为已访问。
S3:查询节点u的邻居节点v的访问属性,如果节点u的所有邻居的访问属性均为已访问,则计算节点u与邻居节点v组成的链路(v,u)的代价w(v,u)。
S4:如果节点u到目的地址节点d的最小代价C(u)与链路(v,u)的代价w(v,u)之和小于邻居节点v到目的地址节点d的最小代价C(ν),或者节点u到目的地址节点d的最小代价C(u)与链路(v,u)的代价w(v,u)之和等于邻居节点v到目的地址节点d的最小代价C(ν)之和,且邻居节点v到目的地址节点d的跳数小于节点u到目的地址节点d的跳数加1时,将邻居节点v加入到队列Q中。
优选的,在将目的地址节点d加入到优先级队列Q的步骤之后,包括步骤:
初始化网络拓扑节点的节点参数;其中,节点参数包括四个参数,分别:节点本身、该节点的父亲节点、该节点到目的地址节点d的代价,该节点到目的地址节点d的跳数。
优选的,初始化网络拓扑节点的节点参数的步骤包括:将网络拓扑节点到目的地址节点d的最小代价设置为无穷大,将目的地址节点d到目的地址节点d的最小代价设置为0,将所有节点到目的地址节点d的最小跳数设置为无穷大,将目的地址节点d到目的地址节点d的最小跳数设置为0,将所有节点的访问属性标记为未访问,将所有节点的父亲节点设置为null。
优选的,初始化后,目的地址节点表示为d(d,null,0,0)。
优选的,计算链路(v,u)的代价w(v,u)方法为:对于目的地址节点d,给该节点设置一个虚拟流量T(d),该流量的大小为与其直接相连的链路的带宽总和的0.2倍,链路(v,u)的虚拟流量可以表示为t(v,u)=0.2*T(d)*(H(u)+1)0.1,其中H(u)表示节点u到d的最小跳数;链路(v,u)的链路利用率表示为μ(v,u)=t(v,u)/c(v,u),其中c(v,u)表示链路(v,u)的带宽;链路(v,u)的代价w(v,u)表示为
由于互联网中的域内路由协议一般采用分布式方法,因此本文研究如何采用分布式方法进行负载均衡,降低网络拥塞。因为本发明利用的是分布式解决方法,所以下面仅仅讨论计算节点为c,目的节点为d的计算过程。本发明需要维护一个优先级队列Q。示例的,以下结合附图对本发明作进一步地详细说明。下面详细说明本实施例的各个步骤,因为该实施例的过程比较多,下面列出计算节点为2,目的节点为5的计算过程。其网络拓扑结构如图3所示。
步骤1:初始化节点参数,将所有节点(除去5)到5的最小代价设置为无穷大,将5到5的最小代价设置为0,将所有节点(除去5)到5的最小跳数设置为无穷大,将5到5的最小跳数设置为0,将所有节点的访问属性标记为未访问,创建一个优先级队列Q,将5加入到优先级队列Q;其中,5是目的地址节点;
步骤2:判断队列Q是否为空,此时队列不为空,则执行步骤3;
步骤3:从队列中取出第一个元素5,此时u=5;
步骤4:判断u的数值是否为0,因为该值不为0,所以执行步骤5;
步骤5:将节点5到5的最小代价设置为0,将节点5到5的最小跳数设置为0,将节点5的访问属性标记为已访问;
步骤6:访问节点5的邻居节点1;
步骤7:因为节点1的访问标记属性为未访问,所以执行步骤8;
步骤8:对于目的地址5,给该节点设置一个虚拟流量T(5),该流量的大小为与其直接相连的链路的带宽总和的0.2倍,即T(5)=(9920000+2480000+9920000)*0.2=2480000,则链路(1,5)的虚拟流量可以表示为t(1,5)=0.2*T(5)*(H(5)+1)0.1=4464000,链路(1,5)的链路利用率可以表示为μ(1,5)=t(1,5)/c(1,5)=4464000/2480000=1.8,则w(1,5)=5000;
步骤6:访问节点5的邻居节点2;
步骤7:因为节点2的访问标记属性为未访问,所以执行步骤8;
步骤8:则链路(2,5)的虚拟流量可以表示为t(2,5)=0.2*T(d)*(H(d)+1)0.1=4464000,链路(2,5)的链路利用率可以表示为μ(2,5)=t(2,5)/c(2,5)=4464000/9920000=0.45,则w(2,5)=3
步骤9:因为C(5)+w(5,2)=3<C(2),计算tc=3,th←H(u)+1=1,将2加入到队列Q中,执行步骤6;
步骤6:访问节点5的邻居节点6;;
步骤7:因为节点6的访问标记属性为未访问,所以执行步骤8;
步骤8:则链路(6,5)的虚拟流量可以表示为t(6,5)=0.2*T(d)*(H(d)+1)0.1=4464000,链路(6,5)的链路利用率可以表示为μ(6,5)=t(6,5)/c(6,5)=4464000/9920000=0.45,则w(6,5)=3;
步骤9:因为C(5)+w(5,6)=3<C(1),计算tc=3,th←H(u)+1=1,将6加入到队列Q中,执行步骤6;
步骤6:因为节点5的所有邻居节点的访问属性就为已访问,因此执行步骤2;
步骤2:判断队列Q是否为空,此时队列不为空,则执行步骤3;
步骤3:从队列中取出第一个元素2,此时u=2;
步骤4:判断u的数值是否为2,因为该值是2,,返回2到5的最优下一跳,即2的父亲节点5。
区别于现有技术,本发明的基于逐跳计算的分布式负载均衡方法具有如下优点:为所有节点设置虚拟流量,然后根据虚拟流量计算所有链路的代价,最后采用分布式算法计算最优路由;该方法不需要实际流量矩阵,采用分布式计算方法,可在没有流量矩阵的前提下实现分布式载均衡。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
1.一种基于逐跳计算的分布式负载均衡方法,其特征在于,包括以下步骤:
创建一个优先级队列Q,将网络拓扑节点中的目的地址节点d加入到优先级队列Q;
从队列中取出第一个节点,将该节点存储在变量u中,将节点u的访问属性标记为已访问;
查询节点u的邻居节点v的访问属性,如果节点u的所有邻居的访问属性均为已访问,则计算节点u与邻居节点v组成的链路(v,u)的代价w(v,u);
如果节点u到目的地址节点d的最小代价C(u)与链路(v,u)的代价w(v,u)之和小于邻居节点v到目的地址节点d的最小代价C(ν),或者节点u到目的地址节点d的最小代价C(u)与链路(v,u)的代价w(v,u)之和等于邻居节点v到目的地址节点d的最小代价C(ν),且邻居节点v到目的地址节点d的跳数小于节点u到目的地址节点d的跳数加1时,将邻居节点v加入到队列Q中;
其中,计算链路(v,u)的代价w(v,u)方法为:对于目的地址节点d,给该节点设置一个虚拟流量T(d),该流量的大小为与其直接相连的链路的带宽总和的0.2倍,链路(v,u)的虚拟流量可以表示为t(v,u)=0.2*T(d)*(H(u)+1)0.1,其中H(u)表示节点u到d的最小跳数;链路(v,u)的链路利用率表示为μ(v,u)=t(v,u)/c(v,u),其中c(v,u)表示链路(v,u)的带宽;链路(v,u)的代价w(v,u)表示为
2.根据权利要求1所述的基于逐跳计算的分布式负载均衡方法,其特征在于,在将目的地址节点d加入到优先级队列Q的步骤之后,包括步骤:
初始化网络拓扑节点的节点参数;其中,节点参数包括三个参数,分别为:该节点的父亲节点、该节点到目的地址节点d的代价,该节点到目的地址节点d的跳数。
3.根据权利要求2所述的基于逐跳计算的分布式负载均衡方法,其特征在于,初始化网络拓扑节点的节点参数的步骤包括:将网络拓扑节点到目的地址节点d的最小代价设置为无穷大,将目的地址节点d到目的地址节点d的最小代价设置为0,将所有节点到目的地址节点d的最小跳数设置为无穷大,将目的地址节点d到目的地址节点d的最小跳数设置为0,将所有节点的访问属性标记为未访问,将所有节点的父亲节点设置为null。
4.根据权利要求3所述的基于逐跳计算的分布式负载均衡方法,其特征在于,初始化后,目的地址节点表示为d(d,null,0,0)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810476749.1A CN108712345B (zh) | 2018-05-17 | 2018-05-17 | 基于逐跳计算的分布式负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810476749.1A CN108712345B (zh) | 2018-05-17 | 2018-05-17 | 基于逐跳计算的分布式负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108712345A CN108712345A (zh) | 2018-10-26 |
CN108712345B true CN108712345B (zh) | 2021-07-27 |
Family
ID=63868428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810476749.1A Active CN108712345B (zh) | 2018-05-17 | 2018-05-17 | 基于逐跳计算的分布式负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712345B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620683B (zh) | 2019-08-30 | 2021-03-23 | 华为技术有限公司 | 一种应用于分布式路由器组网的报文发送方法、设备及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002917B1 (en) * | 1999-01-15 | 2006-02-21 | Cisco Technology, Inc. | Method for path selection in a network |
CN103532861A (zh) * | 2013-09-30 | 2014-01-22 | 清华大学 | 基于生成树的域内动态多路径生成方法 |
CN103763191A (zh) * | 2014-01-23 | 2014-04-30 | 清华大学 | 基于生成树的域内多路径生成方法 |
CN107426097A (zh) * | 2017-04-24 | 2017-12-01 | 山西大学 | 一种基于增量最短路径优先的域内路由保护方法 |
-
2018
- 2018-05-17 CN CN201810476749.1A patent/CN108712345B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002917B1 (en) * | 1999-01-15 | 2006-02-21 | Cisco Technology, Inc. | Method for path selection in a network |
CN103532861A (zh) * | 2013-09-30 | 2014-01-22 | 清华大学 | 基于生成树的域内动态多路径生成方法 |
CN103763191A (zh) * | 2014-01-23 | 2014-04-30 | 清华大学 | 基于生成树的域内多路径生成方法 |
CN107426097A (zh) * | 2017-04-24 | 2017-12-01 | 山西大学 | 一种基于增量最短路径优先的域内路由保护方法 |
Non-Patent Citations (1)
Title |
---|
A Hop-by-Hop Routing Mechanism for Green Internet;Yuan Yang,et al.;《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》;20160131;第27卷(第1期);第2-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108712345A (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2911348B1 (en) | Control device discovery in networks having separate control and forwarding devices | |
US6538991B1 (en) | Constraint-based routing between ingress-egress points in a packet network | |
US8619785B2 (en) | Pre-computing alternate forwarding state in a routed ethernet mesh network | |
Bolotin et al. | Routing table minimization for irregular mesh NoCs | |
KR102123035B1 (ko) | 802.1aq에 대한 3 스테이지 폴딩된 clos 최적화 | |
CN107370673B (zh) | 一种网络中建立转发路径的方法、控制器及系统 | |
US9807035B1 (en) | Using available bandwidths of an IP fabric to intelligently distribute data | |
EP3809646A1 (en) | Routing tables for forwarding packets between switches in a data center network | |
CN107294852B (zh) | 一种使用拓扑分散短路径集的网络路由方法 | |
CN103746852B (zh) | 业务路由配置方法及网络管理设备 | |
EP3541028B1 (en) | Adaptive load-balancing over a multi-point logical interface | |
CN101841487A (zh) | 聚合链路服务流的配置方法及包交换装置 | |
CN105516025B (zh) | 端到端的路径控制和数据传输方法、OpenFlow控制器和交换机 | |
CN111147372A (zh) | 下行报文发送、转发方法和装置 | |
CN104283807A (zh) | 一种te隧道建立方法和装置 | |
Li et al. | Pasr: An efficient flow forwarding scheme based on segment routing in software-defined networking | |
CN108712345B (zh) | 基于逐跳计算的分布式负载均衡方法 | |
Nace et al. | Computing optimal max-min fair resource allocation for elastic flows | |
Kalyan et al. | Optimal selection of Dynamic Routing Protocol with real time case studies | |
CN104994019A (zh) | 一种用于sdn控制器的水平方向接口系统 | |
WO2015135284A1 (zh) | 数据流转发的控制方法及系统、计算机存储介质 | |
WO2023082815A1 (zh) | 确定性路由的构建方法、装置和存储介质 | |
EP2686983B1 (en) | Method for reserving network bandwidth for versioned network services | |
CN111245716A (zh) | 域间路由方法、设备和系统 | |
CN104184666A (zh) | 一种处理拓扑信息的方法、路由处理服务器、网元及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |