CN101247348B - 负载分担方法及设备 - Google Patents
负载分担方法及设备 Download PDFInfo
- Publication number
- CN101247348B CN101247348B CN2008101017983A CN200810101798A CN101247348B CN 101247348 B CN101247348 B CN 101247348B CN 2008101017983 A CN2008101017983 A CN 2008101017983A CN 200810101798 A CN200810101798 A CN 200810101798A CN 101247348 B CN101247348 B CN 101247348B
- Authority
- CN
- China
- Prior art keywords
- flow
- current path
- path
- transmitted
- described current
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种负载分担方法及设备,属于通信领域。所述方法包括:报文转发至当前路径时,记录当前路径转发的流量,并累计转发的流量;当当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发;所述设备包括:记录模块与切换模块。本发明通过在一段时间内只在一条路径上转发流量,并累计转发的流量;当累计的转发流量达到预设的门限时,就切换路径;在切换路径时,对于同一路径而言,将这次发送流量多于预设流量的部分,计算在下次发送的流量之中,以保证负担的均匀性;在切换流量时,由于是按照报文达到一定流量之后才切换,所以其乱序的概率比按包切换的要小。
Description
技术领域
本发明涉及通信领域,特别涉及负载分担方法及设备。
背景技术
在网络建设中,为了提高数据传输的可靠性和实现数据流量的分担传输,会在数据流量的源端和目的端之间建立多条等价路径,等价路径为源端与目的端之间的优先级相同的路由。如图1所示为现有技术路由器等价路径组网示意图,其中从R1到R2之间有两条路径:一条是R1-R3-R2,另一条是R1-R4-R2;在R1上转发数据报文时,需要采用一定的方法,将负载分担到这两条路径上。负载分担方法需要满足二个要求:同一条流的报文在转发过程中避免乱序,但允许少量报文有乱序,例如乱序报文概率不超过1%;负载分担方法应使负载分担均匀,即多条路径上的流量相差在一定范围内,例如相差不超过5%。其中,同一条流指的是对于IPv4报文,具有相同的源IP地址,用户数据包协议(UDP,User Datagram Protocol)或传输控制协议(TCP,Transmission Control Protocol)的源端口和目的端口;乱序指对于同一台路由器在转发同一条流时,存在先接收的报文比后接收的报文后发送出去。
现有技术中的负载分担方法采用按流分担,由于流的数量、流的报文长度等因素的不确定性,使得负载分担的均匀性得不到保证,与网络的流量情况有密切的关系。
现有技术的另一种负载分担方法采用按包分担,这使得同一条流的报文在转发过程中出现乱序。报文的顺序得不到保证,乱序的比例难以控制,而且在报文字节不相等的情况下,负载分担的均匀性也得不到保证。
发明内容
为了使同一条流的报文在转发过程中的乱序概率降低,同时使负载分担满足均匀性要求,本发明实施例提供了一种负载分担方法及设备。所述技术方案如下:
一种负载分担方法,所述方法包括:
报文转发至当前路径时,记录所述当前路径转发的流量,并累计所述流量;
当所述当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发,并将切换时所述当前路径累计转发的超过预设转发流量门限的流量记录在所述当前路径下次发送的流量中。
一种负载分担设备,所述设备包括:
记录模块,用于当报文转发至当前路径时,记录所述当前路径转发的流量,并累计所述流量;
切换模块,用于当所述记录模块记录的当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发,并将切换时所述当前路径累计转发的超过预设转发流量门限的流量记录在所述当前路径下次发送的流量中。
本发明实施例提供的技术方案的有益效果是:
通过在一段时间内只在一条路径上转发流量,并累计转发的流量;当累计的转发流量达到预设的门限时,就切换到下一条路径转发;依次循环处理。同时,在一次切换流量时,对于同一路径而言,发送的流量可能会大于预设的流量,这次多发送的流量,计算在下次发送的流量之中,以保证负担的均匀性。在切换流量时,由于是按照报文达到一定流量之后才切换,所以其乱序的概率比按包切换的要小。
附图说明
图1是现有技术路由器等价路径组网示意图;
图2是本发明实施例1提供的负载分担方法流程图;
图3是本发明实施例2提供的负载分担设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供的技术方案,在一段时间内只在一条路径上转发流量,累计该转发的流量,例如可以按照字节单位统计转发的流量,也可以按照比特单位统计转发的流量,还可以按照其他单位统计转发的流量;当转发流量达到预设的门限时,就切换到下一条路径转发;依次循环处理。
同时,在一次切换流量时,对于同一路径而言,由于报文发送的最小单位是包,发送流量按照包的整数倍进行发送,因此发送的流量可能会大于预设的流量,这次多发送的流量,计算在下次发送的流量之中,以保证负担的均匀性。
在切换流量时,由于网络中链路和路由节点时延原因,可能出现报文的乱序,但是由于本发明实施例是按照报文累计达到一定流量之后才切换,切换次数少;相比之下,按包切换转发路径的切换次数频繁,每次切换由于网络时延或路由节点的转发时间不同会造成乱序的比例难以控制,所以本发明实施例的技术方案乱序的概率比按包切换的要小。
实施例1
本实施例提供一种负载分担方法,包括:
报文转发至当前路径时,记录当前路径转发的流量,并累计该流量;
当当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发。
下面以以太网1G比特(bit)速度接口为例,具体说明负载分担方法,该方法涉及以下数据:按照转发流量达到10Mbit切换路径,即预设转发流量门限为10Mbit,此流量相当于1Gbit接口满负荷时1秒钟传输流量的1/100;存在三条路径,排列为A,B,C;对应的各路径转发流量计数分别记为CounterA,CounterB,CounterC。
参见图2,本实施例负载分担方法包括:
S101:对路径参数进行初始化。
初始化过程包括:将A,B,C路径对应的流量计数器清空,各路径的转发流量计数分别记为CounterA,CounterB,CounterC;记录当前转发的路径为A;记录预设转发流量门限即切换流量阈值为TH。
其中,预设转发流量门限即切换流量阈值推荐配置为:负载分担路径中最小速率端口10ms~50ms线速流量,即:
切换流量阈值=端口速率×(10ms~50ms),例如1000Mbps端口,切换流量阈值=1000Mbps×(10ms~50ms)=10Mb~50Mb。
本实施例中预设转发流量门限即切换流量阈值TH为10Mbits,按字节为单位计算TH等于10M/8即1.25M字节。
S102:转发报文至当前路径,流量累计至当前路径的转发流量计数值。
当需要转发报文时,直接转发到当前路径,本实施例设从路径A开始;转发流量增加,路径A对应的转发流量计数CounterA增大。
S103:判断当前路径的累计转发流量是否大于等于切换流量阈值,如果是,则执行S104;否则执行S102。
以当前转发路径A为例,判断路径A一次累计的转发流量CounterA是否大于等于TH,如果大于等于TH,则执行S104;如果小于TH,执行S102。
S104:切换转发路径,并修改切换前转发路径的累计转发流量计数值。
切换转发路径为下一条,本实施例选择为B。当转发路径切换为B时,即当前路径改为B,转发流量增加,路径B对应的转发流量计数CounterB增大。同理,当路径B的累计转发流量CounterB大于等于TH,则再切换至下一条转发路径,本实施例为C。
切换转发路径至B的同时,修改CounterA的值为原切换前的CounterA减TH之后所得差,将其作为下次切换转发路径至A时CounterA的初值,转发流量增大,在此基础上累计增加。该步骤中,在一次切换流量时,因为发送报文的最小单位是包,发送流量为报文包的整数倍,因此发送的流量可能会大于预设的流量阈值,例如本实施例切换流量阈值为1.25M字节,而在切换路径至B时,路径A的累计转发流量为1.30M字节,其中包含整数个报文的包,则此次路径A多发送的流量为0.05M字节,将此多发送的流量记录在路径A下次发送的流量中,即作为下次流量计数的初值,当流量再次切换到此路径上进行转发时,以这个初值为起始值进行流量的计数,保证了负载分担的均匀性。
上述各标号只是用于引用方便,并不对各流程的先后顺序造成限定。
对于由路径B切换至路径C的过程同上述由路径A切换至路径B的过程,路径B与路径C转发流量的累计过程也同上述,此处不再赘述。
根据以上所述的技术方案,按转发流量切换路径的方式对报文进行转发进而实现负载分担,包含负载分担均匀的情况,同样也包含各路径非等值负载分担的情况。例如可以为每条转发路径设置不同的预设转发流量门限或者可以重复加载某一条转发路径对报文进行转发,使该路径的转发流量增大,均可以实现转发路径的非等值的负载分担。
另外,按照流的负载分担方法在于,流的识别标准包括:对于IPv4报文,根据数据报文中的源IP地址,目的IP地址,UDP或TCP的源端口和目的端口,报文的生存时间(TTL,TimeTo Live)等信息识别;对于多协议标签交换(MPLS,Multiprotocol Label Switch)报文,根据MPLS标签信息识别;这种负载分担方法使具有相同信息的报文即同一条流选择从同一条路径或同一个接口发送出去,克服了同一条流在转发过程中因选择不同路径而产生的乱序的问题,但是负载分担的均匀性得不到保证。
将本实施例提供的技术方案与现有技术中按流负载分担方法对比,以三条转发路径为例,可得到表1所示的结果:
表1
流类型 | 按流分担方法效果 | 按流量分担方法效果 |
1条流 | 不能分担,1∶0∶0 | 均匀分担,1∶1∶1 |
2条流,包长比1∶1 | 部分分担,1∶1∶0 | 均匀分担,1∶1∶1 |
2条流,包长比4∶1 | 部分分担,4∶1∶0 | 均匀分担,1∶1∶1 |
3条流,包长比1∶1∶1 | 均匀分担,1∶1∶1 | 均匀分担,1∶1∶1 |
3条流,包长比3∶2∶1 | 部分分担,3∶2∶1 | 均匀分担,1∶1∶1 |
128条流,包长相同 | 基本均匀分 | 均匀分担 |
128条流,包长不同 | 结果不确定 | 均匀分担 |
10000条流,包长随机 | 结果不确定 | 均匀分担 |
其中,按流分担方法是假设各条流都能分担开,是按流分担方法的最好效果;如果选择流分类方法不能区分各条流,那么实际结果会更差。
对于按照包的负载分担方法,根据接收到的包来选择转发路径,例如第一个包发送到路径1,第二个包发送到路径2,依此类推。这种负载分担方法在报文字节相等的前提下,使负载分担均匀。该技术方案不能满足负载分担方法的第一个要求即同一条流的报文在转发过程中不乱序。每个包选择不同的路径进行转发,由于网络时延与路由节点的转发时间不同,同一条流的报文的顺序得不到保证,乱序的比例难以控制,而且在报文字节不相等的情况下,负载分担的均匀性也得不到保证。
由此可见,按流分担方法在流数目较少和包长不确定时,分担效果很差;在流多时,其结果是不确定的;但对于本发明实施例提供的按流量的负载分担方法,按照字节统计发送到各条路径的报文流量,当转发流量达到预定的门限时,就切换到下一条路径上转发,依次循环处理。本方法满足了负载分担的均匀性要求;在切换流量时,流量选择不同的路径,由于网络中链路和路由节点时延的原因,会出现报文乱序,但由于是报文累计达到一定的流量才切换,因此乱序的概率比报文按每包切换出现乱序的概率小。
实施例2
参见图3,本实施例提供一种负载分担设备,包括:
记录模块,用于当报文转发至当前路径时,记录当前路径转发的流量,并累计流量;
切换模块,用于当记录模块记录的当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发。
其中,记录模块可以具体包括:
流量记录单元,用于按照字节单位记录当前路径转发的流量;
累计单元,用于累计当前路径转发的流量。
本实施例提供的负载分担设备通过记录模块记录当前路径的累计转发流量,通过切换模块在当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发,实现了负载分担的均匀性要求;同时,由于是报文达到一定流量才切换,因此乱序的概率比报文按每包切换出现乱序的概率小。
本发明实施例可以通过软件实现,相应的软件可以存储在可读取的存储介质中,例如计算机的硬盘、光盘或软盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种负载分担方法,其特征在于,包括:
报文转发至当前路径时,记录所述当前路径转发的流量,并累计所述流量;
当所述当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发,并将切换时所述当前路径累计转发的超过预设转发流量门限的流量记录在所述当前路径下次发送的流量中。
2.根据权利要求1所示的负载分担方法,其特征在于,所述记录所述当前路径转发的流量的步骤具体为:
按照字节单位记录所述当前路径转发的流量。
3.根据权利要求1所示的负载分担方法,其特征在于,所述将切换时所述当前路径累计转发的超过预设转发流量门限的流量记录在所述当前路径下次发送的流量中具体为:
将切换时所述当前路径累计转发的超过预设转发流量门限的流量记为所述当前路径下次转发流量的初值。
4.一种负载分担设备,其特征在于,包括:
记录模块,用于当报文转发至当前路径时,记录所述当前路径转发的流量,并累计所述流量;
切换模块,用于当所述记录模块记录的当前路径的累计转发流量达到或超过预设转发流量门限时,将路径切换至下一条路径对报文进行转发,并将切换时所述当前路径累计转发的超过预设转发流量门限的流量记录在所述当前路径下次发送的流量中。
5.根据权利要求4所示的负载分担设备,其特征在于,所述记录模块具体包括:
流量记录单元,用于按照字节单位记录所述当前路径转发的流量;
累计单元,用于累计所述当前路径转发的流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101017983A CN101247348B (zh) | 2008-03-12 | 2008-03-12 | 负载分担方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101017983A CN101247348B (zh) | 2008-03-12 | 2008-03-12 | 负载分担方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101247348A CN101247348A (zh) | 2008-08-20 |
CN101247348B true CN101247348B (zh) | 2010-08-04 |
Family
ID=39947558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101017983A Active CN101247348B (zh) | 2008-03-12 | 2008-03-12 | 负载分担方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101247348B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281252B (zh) * | 2013-05-14 | 2017-04-26 | 华为技术有限公司 | 一种基于多路径传输的报文流量控制方法和装置 |
CN103560964B (zh) * | 2013-10-28 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种基于多链接半透明互联trill协议的vlan负载分担方法和装置 |
CN104168212B (zh) * | 2014-08-08 | 2017-10-17 | 北京华为数字技术有限公司 | 发送报文的方法和装置 |
CN107968748A (zh) * | 2016-10-20 | 2018-04-27 | 华为技术有限公司 | 一种多路径流量发送的方法及装置 |
CN109587068B (zh) * | 2018-12-03 | 2022-08-12 | 深圳前海微众银行股份有限公司 | 流量切换方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798096A (zh) * | 2004-12-28 | 2006-07-05 | 杭州华为三康技术有限公司 | 在路由器或交换机上进行多出口流量管理的方法和设备 |
CN1859286A (zh) * | 2005-11-19 | 2006-11-08 | 华为技术有限公司 | 一种负载分担的方法 |
CN101094185A (zh) * | 2007-07-27 | 2007-12-26 | 杭州华三通信技术有限公司 | 基于多链路的报文转发方法和装置 |
CN101119313A (zh) * | 2007-09-14 | 2008-02-06 | 杭州华三通信技术有限公司 | 一种负载分担方法和设备 |
-
2008
- 2008-03-12 CN CN2008101017983A patent/CN101247348B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798096A (zh) * | 2004-12-28 | 2006-07-05 | 杭州华为三康技术有限公司 | 在路由器或交换机上进行多出口流量管理的方法和设备 |
CN1859286A (zh) * | 2005-11-19 | 2006-11-08 | 华为技术有限公司 | 一种负载分担的方法 |
CN101094185A (zh) * | 2007-07-27 | 2007-12-26 | 杭州华三通信技术有限公司 | 基于多链路的报文转发方法和装置 |
CN101119313A (zh) * | 2007-09-14 | 2008-02-06 | 杭州华三通信技术有限公司 | 一种负载分担方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101247348A (zh) | 2008-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080159150A1 (en) | Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly | |
US6947379B1 (en) | Packet routing to reduce susceptibility to disturbances | |
US7978682B2 (en) | Methods, systems, and computer-readable media for optimizing the communication of data packets in a data network | |
US6643292B2 (en) | Efficient packet data transport mechanism and an interface therefor | |
US20180176131A1 (en) | Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (sain) network | |
US9379969B2 (en) | Method and system for energy-efficiency-based packet classification | |
CN102118277B (zh) | 丢包检测方法和装置及路由器 | |
US20210083970A1 (en) | Packet Processing Method and Apparatus | |
CN101247348B (zh) | 负载分担方法及设备 | |
CN101656663B (zh) | 一种mpls多播报文的转发方法、装置及系统 | |
US9118494B2 (en) | Method for group-based multicast with non-uniform receivers | |
EP3547690B1 (en) | Real-time video transmission method of multipath network | |
CN102804707A (zh) | 用于在数据链路层内管理源节点和目标节点之间的路径的方法,以及相应的源节点和表 | |
US20060072600A1 (en) | Devices, softwares and methods for incorporating burstiness of packet loss metric in QoS based network routing | |
WO2022062930A1 (zh) | 一种码块流的处理方法及装置 | |
CN101548509B (zh) | Vci路由表的聚集 | |
CN113612698A (zh) | 一种数据包发送方法及装置 | |
US20040215812A1 (en) | Packet-drop tolerant method for transmitting time-critical data over ethernet | |
CN111600798B (zh) | 一种发送和获取断言报文的方法和设备 | |
CN1311939A (zh) | 把数据包转接到其它网的方法 | |
Khurshid et al. | Comparative study of congestion notification techniques for hop‐by‐hop‐based flow control in data centre Ethernet | |
Lei et al. | An adaptive model of RED/ECN parameters | |
WO2024114361A1 (zh) | 一种数据传输方法和节点 | |
CA2236085C (en) | Efficient packet data transport mechanism and an interface therefor | |
US20080159332A1 (en) | Methods and devices for using variable length subpackets in data transmissions |
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 |