CN101272347A - 负载分担的方法和设备 - Google Patents

负载分担的方法和设备 Download PDF

Info

Publication number
CN101272347A
CN101272347A CNA2008101054516A CN200810105451A CN101272347A CN 101272347 A CN101272347 A CN 101272347A CN A2008101054516 A CNA2008101054516 A CN A2008101054516A CN 200810105451 A CN200810105451 A CN 200810105451A CN 101272347 A CN101272347 A CN 101272347A
Authority
CN
China
Prior art keywords
token number
jumping
flow
bucket
message
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.)
Granted
Application number
CNA2008101054516A
Other languages
English (en)
Other versions
CN101272347B (zh
Inventor
施维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhitong World Technology Service Co. Ltd.
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2008101054516A priority Critical patent/CN101272347B/zh
Publication of CN101272347A publication Critical patent/CN101272347A/zh
Application granted granted Critical
Publication of CN101272347B publication Critical patent/CN101272347B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种负载分担的方法和设备。属于通信领域。所述方法包括:对接收到的任一报文,根据所述报文的目的地址查找对应的下一跳;当查到多个下一跳时,更新所述多个下一跳中每个下一跳对应的流量桶内的令牌数;比较更新后的每个下一跳对应的令牌数的大小,选择令牌数最大的下一跳;将所述报文发送给所选择的下一跳。所述设备包括:查找模块、更新模块、选择模块和转发模块。本发明通过更新每个下一跳对应的流量桶内的令牌数,将报文发送给令牌数最大的下一跳,实现了实时保证流量带宽的平均分配。

Description

负载分担的方法和设备
技术领域
本发明涉及通信领域,特别涉及负载分担的方法和设备。
背景技术
随着IP业务转发逐步扩容,流量负载分担的转发算法变得越来越重要,流量负载分担算法直接影响着网络中资源是否能自动调配使用。
不合适的IP流量负载分担算法直接造成网络资源的浪费,甚至影响到网络转发的服务质量。现有技术中有两种负载分担方法,分别如下:
1)逐流的负载分担
该方法根据报文的源IP地址和目的IP地址来选择下一跳,一般通过对源IP地址、目的IP地址进行HASH(哈希)运算,根据运算的结果选择对应的下一跳。这种方式对于源IP地址、目的IP地址相同的报文所选择的下一跳都相同。
2)逐包的负载分担
该方法采用对几个下一跳进行平均发送,保证流量通过下一跳的平均性,每个下一跳出接口转发的流量都一致。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
对于逐流的负载分担,无法实现均衡流量的目的,例如,某条同一个源IP地址、目的IP地址的报文过多,会造成某下一跳负载过重;
对于逐包的负载分担,可以将流量进行平均,但是这种平均是针对数学的平均,不能做到真实流量的平均。例如:某个300MB/S的转发流对应三个下一跳,分别是POS(Packet OverSynchronous Digital Hierarchy,同步数字系列传送包)接口、ATM(Asynchronous Trunk Module,异步中继模块)接口、E1(以太网接口),其中,POS出口转发能力有155MB/S,ATM出口转发能力100MB/S(例如,由于转发芯片的原因不能达到155MB/S),E1出口转发能力2MB/S。POS、ATM、E1每个出接口各100MB/S,E1带宽能力不能达到,ATM勉强达到,POS完全达到并且有55MB/S的空闲,这样会导致转发流量并没有完全分配正确。
发明内容
为了使流量转发均衡,本发明实施例提供了一种负载分担的方法和设备。所述技术方案如下:
一种负载分担的方法,所述方法包括:
对接收到的任一报文,根据所述报文的目的地址查找对应的下一跳;
当查到多个下一跳时,更新所述多个下一跳中每个下一跳对应的流量桶内的令牌数;
比较更新后的每个下一跳对应的令牌数的大小,选择令牌数最大的下一跳;
将所述报文发送给所选择的下一跳。
本发明实施例还提供了一种负载分担的设备,所述设备包括:
查找模块,用于对接收到的任一报文,根据所述报文的目的地址查找对应的下一跳;
更新模块,用于当所述查找模块查到多个下一跳时,更新所述多个下一跳中每个下一跳对应的流量桶内的令牌数;
选择模块,用于比较所述更新模块更新后的每个下一跳对应的令牌数的大小,选择令牌数最大的下一跳;
转发模块,用于将所述报文发送给所述选择模块选择的下一跳。
本发明实施例提供的技术方案的有益效果是:
通过更新每个下一跳对应的流量桶内的令牌数,将对接收到的任一报文发送给令牌数最大的下一跳,实现了实时保证流量带宽的平均分配,增强了网络的性能。
附图说明
图1是本发明实施例1提供的负载分担的方法流程图;
图2是本发明实施例1提供的组网结构图;
图3是本发明实施例2提供的负载分担的设备示意图;
图4是本发明实施例2提供的另一种负载分担的设备示意图;
图5是本发明实施例2提供的第三种负载分担的设备示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例通过对接收到的任一报文,根据该报文的目的地址查找对应的下一跳;当查到多个下一跳时,更新每个下一跳对应的流量桶内的令牌数;将该报文发送给令牌数最大的下一跳,实现了实时保证流量带宽的平均分配。
实施例1
本实施例提供了一种负载分担的方法,该方法基于流量桶实时计算出每个下一跳流量负载情况,即令牌桶的个数,选择转发报文的下一跳。参见图1,该方法具体包括:
步骤101:收到报文后,查找该报文的目的地址对应的下一跳;例如在FIB(ForwardingInformation Table,转发信息表)或其它路由转发表中进行查找;
步骤102:判断查找到的下一跳的个数是否大于1,如果是,执行步骤103;否则,执行步骤106;
在进行报文转发时,通常会查到多个对应的下一跳;
步骤103:更新查找到的下一跳对应的流量桶内的令牌数,即分别对每个下一跳进行如下计算:
1)计算最近一次向该下一跳发送报文到当前时间的时间差DT=Tn-Tp,其中,Tn为当前时间戳,Tp为上一次向该下一跳转发报文的时间戳;
2)向该下一跳的设定流量桶内注入DT时间内的令牌数,并计算当前流量桶内的令牌数;
因为每个设备都会按照一定的速率不断地转发报文,而流量桶内的令牌数是该设备能够承载报文多少的能力体现,所以需要将DT时间内该流量桶内的令牌数更新,即根据该设备DT时间内转发报文的多少注入相应的令牌数;
BTn=BT+V×DT,其中,BTn为当前流量桶内的令牌数,BT为上一次流量桶内的令牌数,V为出接口速率或用户配置出接口分担的转发速率,参数V可以是出接口的物理速率;也可以是用户自定义出接口速率,因为某些出接口虽然带宽足够,但是因为芯片转发能力不一定能够线速转发;也可以用流量工程资源预留协议计算出资源分配情况的出接口带宽,通过资源预留,保证网络中某节点设备各个下一跳应该有的带宽;
3)判断当前流量桶内的令牌数BTn是否大于桶高H,如果是,则BTn=H;否则,BTn=BT+V×DT;其中,桶高H是根据出接口的带宽大小预先设定的值;
步骤104:比较更新后的每个下一跳对应的令牌数的大小,选择令牌数(BTn)最大的下一跳;
步骤105:将收到的报文转发给所选择的下一跳。
步骤106:将收到的报文转发给查到的下一跳。
进一步地,将该报文转发给所选择的下一跳后,记录所选择的下一跳新的转发时间戳,即Tp=Tn;转发完成后,更新并记录所选择的下一跳的流量桶的令牌数,具体更新如下:
如果BTn大于该报文的字节数S,则该下一跳的令牌数BT=BTn-S;
如果BTn小于等于该报文的字节数S,则该下一跳的令牌数BT=0。
如果只查找到一个下一跳时,记录该下一跳新的转发时间戳,即Tp=Tn;转发完成后,更新并记录该下一跳的流量桶的令牌数,具体更新如下:
如果上一次流量桶内的令牌数BTn-1大于该报文的字节数S,则该下一跳的令牌数BT=BTn-1-S;
如果上一次流量桶内的令牌数BTn-1小于等于该报文的字节数S,则该下一跳的令牌数BT=0。
下面以图2提供的组网结构为例,其中,路由器Router-A的路由202.204.10.1,有两个下一跳Router-B、Router-C,分别走链路A和链路B,链路A的带宽155MB/S,链路B的带宽100MB/S。目的地为202.204.10.1,经过Router-A流量为255MB/S。下面简单介绍一下上述方法的应用过程:
在Router-A中,根据链路A和链路B的带宽,为这两个下一跳分配桶高为BT,BT(n)为n时刻的桶高;到202.204.10.1的流量假设为255MB/S,Tn为当前时间,Tp为上一次报文到来时间;
Router-A以带宽155MB/S向链路A的令牌桶注入令牌,BT(n)=BT(n-1)+155×(Tn-Tp);
以带宽100MB/S向链路B的令牌桶注入令牌,BT(n)=BT(n-1)+100×(Tn-Tp)。
随着时间推移,BT(n)=BT(n-1)+链路带宽×(Tn-Tp)-实际流量V×(Tn-Tp),所以从较长时间来看链路A和链路B的令牌桶分别为:
链路A的令牌桶:BT(n-1)+链路A带宽155×(Tn-Tp)-链路A实际流量×(Tn-Tp);
链路B的令牌桶:BT(n-1)+链路B带宽100×(Tn-Tp)-链路B实际流量×(Tn-Tp);进行负载分担时,可以分配链路A的实际流量为155MB/S,链路B实际流量为100MB/S,从而达到根据链路带宽进行分载分担的效果。
本实施例通过检查下一跳的令牌数判断下一跳的负载流量情况,进而选择负载流量最空闲的下一跳,实现了负载均衡,增强了网络性能。
实施例2
参见图3,本实施例提供了一种负载分担的设备,包括:
查找模块,用于对接收到的任一报文,根据报文的目的地址查找对应的下一跳;
更新模块,用于当查找模块查到多个下一跳时,更新多个下一跳中每个下一跳对应的流量桶内的令牌数;
选择模块,用于比较更新模块更新后的每个下一跳对应的令牌数的大小,选择令牌数最大的下一跳;
转发模块,用于将报文发送给选择模块选择的下一跳。
参见图4,本实施例中的更新模块包括:
计算单元,用于计算上一次向查找模块查找到的下一跳转发报文的时间戳与当前时间戳的时间差,根据该下一跳对应的出接口速率计算时间差内该下一跳转发报文的流量;
更新单元,用于根据计算单元计算出的下一跳转发报文的流量更新该下一跳对应的流量桶内的令牌数。
进一步地,更新单元包括:
计算子单元,用于将该下一跳对应的流量桶内原有的令牌数加上计算单元计算出的下一跳转发报文的流量,得到新的令牌数;
更新子单元,用于判断计算子单元计算出的新的令牌数是否大于流量桶设定的桶高,如果是,该下一跳当前的令牌数为桶高,否则,该下一跳当前的令牌数为新的令牌数。
参见图5,该设备还包括:
记录模块,用于转发模块转发报文完成后,判断选择模块选择的下一跳更新后的令牌数是否大于该报文的字节数,如果是,记录所选择的下一跳的令牌数为更新后的令牌数减去该报文的字节数的差值;否则,记录所选择的下一跳的令牌数为0。
上述设备中的查找模块查找到的下一跳为一个时,该转发模块还用于直接将该报文发送给查找到的下一跳。相应地,记录模块还用于判断该下一跳上一次的令牌数是否大于所转发的报文的字节数,如果是,记录该下一跳的令牌数为上一次的令牌数减去该报文的字节数的差值;否则,记录该下一跳的令牌数为0。
本实施例通过选择模块选择令牌数最大的下一跳作为转发设备,达到了负载均衡的目的,同时,通过记录模块实时更新下一跳的令牌数,使进行后续报文转发时能够根据令牌数的多少选择下一跳,增强了网络性能,以及该设备的实用性。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种负载分担的方法,其特征在于,所述方法包括:
对接收到的任一报文,根据所述报文的目的地址查找对应的下一跳;
当查到多个下一跳时,更新所述多个下一跳中每个下一跳对应的流量桶内的令牌数;
比较更新后的每个下一跳对应的令牌数的大小,选择令牌数最大的下一跳;
将所述报文发送给所选择的下一跳。
2.如权利要求1所述的负载分担的方法,其特征在于,所述更新所述多个下一跳中每个下一跳对应的流量桶内的令牌数包括:
计算上一次向下一跳转发报文的时间戳与当前时间戳的时间差;
根据该下一跳对应的出接口速率计算所述时间差内该下一跳转发报文的流量;
根据所述转发报文的流量更新该下一跳对应的流量桶内的令牌数。
3.如权利要求2所述的负载分担的方法,其特征在于,所述根据该下一跳对应的出接口速率计算所述时间差内该下一跳转发报文的流量包括:
将该下一跳对应的出接口速率乘以所述时间差,将乘积的结果作为所述时间差内该下一跳转发报文的流量。
4.如权利要求2所述的负载分担的方法,其特征在于,所述根据所述转发报文的流量更新该下一跳对应的流量桶内的令牌数包括:
将该下一跳对应的流量桶内原有的令牌数加上所述时间差内该下一跳转发报文的流量,得到新的令牌数;
判断所述新的令牌数是否大于所述流量桶设定的桶高,如果是,该下一跳当前的令牌数为所述桶高,否则,该下一跳当前的令牌数为所述新的令牌数。
5.如权利要求2所述的负载分担的方法,其特征在于,所述下一跳对应的出接口速率为用户预先配置、出接口的物理速率或流量工程资源预留协议预先设定的。
6.如权利要求1-5中任一权利要求所述的负载分担的方法,其特征在于,所述将所述报文发送给所选择的下一跳之后还包括:
判断所选择的下一跳更新后的令牌数是否大于所述报文的字节数,如果是,记录所选择的下一跳的令牌数为所述更新后的令牌数减去所述报文的字节数的差值;否则,记录所选择的下一跳的令牌数为0。
7.一种负载分担的设备,其特征在于,所述设备包括:
查找模块,用于对接收到的任一报文,根据所述报文的目的地址查找对应的下一跳;
更新模块,用于当所述查找模块查到多个下一跳时,更新所述多个下一跳中每个下一跳对应的流量桶内的令牌数;
选择模块,用于比较所述更新模块更新后的每个下一跳对应的令牌数的大小,选择令牌数最大的下一跳;
转发模块,用于将所述报文发送给所述选择模块选择的下一跳。
8.如权利要求7所述的负载分担的设备,其特征在于,所述更新模块包括:
计算单元,用于计算上一次向所述查找模块查找到的下一跳转发报文的时间戳与当前时间戳的时间差,根据该下一跳对应的出接口速率计算所述时间差内该下一跳转发报文的流量;
更新单元,用于根据所述计算单元计算出的下一跳转发报文的流量更新该下一跳对应的流量桶内的令牌数。
9.如权利要求8所述的负载分担的设备,其特征在于,所述更新单元包括:
计算子单元,用于将该下一跳对应的流量桶内原有的令牌数加上所述计算单元计算出的下一跳转发报文的流量,得到新的令牌数;
更新子单元,用于判断所述计算子单元计算出的新的令牌数是否大于所述流量桶设定的桶高,如果是,该下一跳当前的令牌数为所述桶高,否则,该下一跳当前的令牌数为所述新的令牌数。
10.如权利要求8所述的负载分担的设备,其特征在于,所述设备还包括:
记录模块,用于所述转发模块转发报文完成后,判断所述选择模块选择的下一跳更新后的令牌数是否大于所述报文的字节数,如果是,记录所选择的下一跳的令牌数为所述更新后的令牌数减去所述报文的字节数的差值;否则,记录所选择的下一跳的令牌数为0。
CN2008101054516A 2008-04-29 2008-04-29 负载分担的方法和设备 Expired - Fee Related CN101272347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101054516A CN101272347B (zh) 2008-04-29 2008-04-29 负载分担的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101054516A CN101272347B (zh) 2008-04-29 2008-04-29 负载分担的方法和设备

Publications (2)

Publication Number Publication Date
CN101272347A true CN101272347A (zh) 2008-09-24
CN101272347B CN101272347B (zh) 2010-09-29

Family

ID=40006043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101054516A Expired - Fee Related CN101272347B (zh) 2008-04-29 2008-04-29 负载分担的方法和设备

Country Status (1)

Country Link
CN (1) CN101272347B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860486A (zh) * 2010-06-07 2010-10-13 北京邮电大学 一种基于漏桶算法的动态负载均衡机制
CN101505279B (zh) * 2009-03-20 2012-07-25 中国人民解放军信息工程大学 一种路由查找方法和装置
CN102647333A (zh) * 2011-02-21 2012-08-22 中国移动通信集团公司 分布式基站系统下基带处理设备之间的通信方法和装置
CN102739518A (zh) * 2012-05-30 2012-10-17 杭州华三通信技术有限公司 一种流量负载分担方法和设备
CN102904826A (zh) * 2012-09-28 2013-01-30 华为技术有限公司 流量负载分担的方法及设备
CN103414651A (zh) * 2013-08-02 2013-11-27 杭州华三通信技术有限公司 一种调整等价路由均衡分担的方法和网络设备
CN110447209A (zh) * 2017-03-16 2019-11-12 英特尔公司 用于用户平面流量转发的系统、方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469600B (zh) * 2002-07-15 2010-11-24 华为技术有限公司 一种互联网协议报文转发过程中快速重选路由的方法
CN1302638C (zh) * 2003-04-03 2007-02-28 华为技术有限公司 采用令牌漏桶进行报文限流的方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505279B (zh) * 2009-03-20 2012-07-25 中国人民解放军信息工程大学 一种路由查找方法和装置
CN101860486A (zh) * 2010-06-07 2010-10-13 北京邮电大学 一种基于漏桶算法的动态负载均衡机制
CN102647333A (zh) * 2011-02-21 2012-08-22 中国移动通信集团公司 分布式基站系统下基带处理设备之间的通信方法和装置
CN102647333B (zh) * 2011-02-21 2016-03-30 中国移动通信集团公司 分布式基站系统下基带处理设备之间的通信方法和装置
CN102739518A (zh) * 2012-05-30 2012-10-17 杭州华三通信技术有限公司 一种流量负载分担方法和设备
CN102739518B (zh) * 2012-05-30 2015-12-09 杭州华三通信技术有限公司 一种流量负载分担方法和设备
CN102904826A (zh) * 2012-09-28 2013-01-30 华为技术有限公司 流量负载分担的方法及设备
CN102904826B (zh) * 2012-09-28 2016-06-29 华为技术有限公司 流量负载分担的方法及设备
CN103414651A (zh) * 2013-08-02 2013-11-27 杭州华三通信技术有限公司 一种调整等价路由均衡分担的方法和网络设备
CN103414651B (zh) * 2013-08-02 2016-06-08 杭州华三通信技术有限公司 一种调整等价路由均衡分担的方法和网络设备
CN110447209A (zh) * 2017-03-16 2019-11-12 英特尔公司 用于用户平面流量转发的系统、方法和设备
US11089511B2 (en) 2017-03-16 2021-08-10 Apple Inc. Systems, methods and devices for user plane traffic forwarding

Also Published As

Publication number Publication date
CN101272347B (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
CN101272347B (zh) 负载分担的方法和设备
Wang et al. Implementation of multipath network virtualization with SDN and NFV
CN101340374B (zh) 控制传输优先级的方法、系统、装置和用户网络边缘设备
CN100505692C (zh) 高性能路由器bgp路由协议分布并行实现方法
CN105791169A (zh) 软件定义网络中交换机转发控制、转发方法及相关设备
US7092359B2 (en) Method for distributing the data-traffic load on a communication network and a communication network for implementing this method
CN101127703B (zh) 用于宽带卫星通信的星载路由交换系统
CN103152284B (zh) 一种路由器多径输出智能负载均衡的方法及路由器
CN101841487A (zh) 聚合链路服务流的配置方法及包交换装置
CN101510854B (zh) 一种业务负载分担的方法、系统和设备
CN102739518A (zh) 一种流量负载分担方法和设备
CN108173766B (zh) 一种基于差异化QoS的多业务分层拓扑路由方法
CN102281193A (zh) 一种在光纤通道网络中实现报文转发的方法和fc设备
CN105306365A (zh) 一种电力通信网络及其扩容与抗毁路由路径确定方法
Pinto et al. Cross-layer admission control to enhance the support of real-time applications in WSN
CN114398174A (zh) 一种sdn环境下的数据中心网络动态节能调度方法及系统
CN100561978C (zh) 一种策略路由装置和方法
CN104618157A (zh) 网络管理方法、设备及系统
WO2016170559A1 (en) Method and system for bandwidth reservation for multiple tree based traffic engineering in content centric networks
Szviatovszki et al. Minimizing re-routing in MPLS networks with preemption-aware constraint-based routing
CN107196856A (zh) 一种确定路由转发路径的方法和装置
Khoobbakht et al. Hybrid flow-rule placement method of proactive and reactive in SDNs
CN100486219C (zh) 一种实现端到端的流传输方法
Jiang et al. Qos control method based on sdn for mobile cloud service
WO2018179922A1 (ja) 通信装置、通信制御方法、及び通信システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170823

Address after: 201, room 1, building A, No. 518053, front Bay Road, Qianhai, Shenzhen Shenzhen cooperation zone, Guangdong, China

Patentee after: Shenzhen Zhitong World Technology Service Co. Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20080924

Assignee: Shenzhen Vimicro Tech Co. Ltd.

Assignor: Shenzhen Zhitong World Technology Service Co. Ltd.

Contract record no.: 2017440020097

Denomination of invention: Method and equipment for load sharing

Granted publication date: 20100929

License type: Common License

Record date: 20171211

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

Termination date: 20200429