CN110838974A - 一种实现负载均衡的方法和装置 - Google Patents
一种实现负载均衡的方法和装置 Download PDFInfo
- Publication number
- CN110838974A CN110838974A CN201911115647.8A CN201911115647A CN110838974A CN 110838974 A CN110838974 A CN 110838974A CN 201911115647 A CN201911115647 A CN 201911115647A CN 110838974 A CN110838974 A CN 110838974A
- Authority
- CN
- China
- Prior art keywords
- group table
- hash
- message
- backup
- outlet
- 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.)
- Pending
Links
Images
Classifications
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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
Abstract
本发明揭示了一种实现负载均衡的方法及装置,所述方法包括:将报文进行第一次哈希选路,获得第一成员出口,若所述第一成员出口的链路是故障的,则将报文通过备份组表进行第二次哈希选路,选取出除第一成员出口外的其他备份的第二成员出口,报文从第二成员出口出去。本发明实现负载均衡,不会产生报文的流失和丢包现象,且总的带宽维持不变。
Description
技术领域
本发明涉及负载均衡技术领域,尤其是涉及一种实现负载均衡的方法和装置。
背景技术
随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,达到增加链路带宽的目的。在实现增大带宽目的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。
但是现有技术是通过检测链路的状态,当一个链路聚合组的某一成员链路突然发生故障时,直接把这个成员从这个成员组内去掉,这样的话故障链路上的数据流量就会从其他几个正常工作的成员链路上出去。但是,把成员从聚合组中去掉不是瞬间完成的,需要更新链路聚合组(LAG group) 表和链路聚合组成员(LAG Group member)表,然而在这段时间内可能就有报文从故障链路流出导致被丢掉。并且由于成员数的减少,单一的故障链路会影响到整个组的流量都要重新取出口,到最后,该成员从组表中去掉之后无法再自动添加进来,导致故障修复后,整个链路的带宽变小。
因此,需在此基础上提供一种实现负载均衡的方法,使得报文不会从故障链路中流出,并且不减少故障链路中的带宽。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种实现负载均衡的方法和装置,保障报文不丢包,维持总带宽不变。
为实现上述目的,本发明提出如下技术方案:一种实现负载均衡的方法,所述方法包括:
S1,将报文进行第一次哈希选路,获得第一成员出口,若所述第一成员出口的链路是故障的,则进入步骤S2;
S2,将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口,报文从所述第二成员出口出去。
优选地,S1中,所述将报文进行第一次哈希选路,获得第一成员出口的过程包括:
S11,根据报文的字段进行哈希运算,计算出一第一哈希值;
S12,从链路聚合组表获取成员个数;
S13,将所述第一哈希值和成员个数进行运算,得到一用于索引所述链路聚合组表的成员表项的成员索引值;
S14,使用所述成员索引值从所述链路聚合组表中索引出所述第一成员出口。
优选地,S11中,所述报文的字段为源IP地址。
优选地,S13中,将所述第一哈希值和成员个数进行取余运算。
优选地,S2中,所述将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口的过程包括:
S21,将报文进行第二次哈希运算,得到一用于索引所述备份组表的成员索引值;
S22,利用所述备份组表的成员索引值从所述备份组表中索引出所述第二成员出口。
优选地,所述备份组表的成员索引值通过将所述第一哈希值与备份组表的成员个数进行运算得到。
优选地,所述S21包括:
S211,根据报文的其他字段进行哈希运算,计算出一第二哈希值;
S212,将所述第二哈希值与备份组表的成员个数进行运算,得到所述备份组表的成员索引值。
优选地,所述S212中,所述第二哈希值与备份组表的成员个数进行取余运算。
优选地,所述S2中,所述备份组表是由第一成员出口索引得到的。
优选地,所述方法还包括:所述第一成员出口的链路故障恢复后,报文重新从所述第一成员出口发送出去。
本发明还公开一种实现负载均衡的装置,所述装置包括:
第一选路模块,用于将报文进行第一次哈希选路,获得第一成员出口;
第二选路模块,用于在检测出所述第一成员出口的链路是故障的后,将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口。
本发明的有益效果是:
1、实现负载均衡,不会产生报文的流失和丢包现象。
2、故障恢复后,总的带宽维持不变。
3、故障链路不会影响其他正常工作链路上已有流量的选路。
附图说明
图1是本发明一种实现负载均衡的装置的示意图;
图2是本发明一种实现负载均衡方法的流程示意图;
图3是本发明实施例链路聚合组成员发生故障的示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种实现负载均衡的方法,结合图1及图2所示,所述方法包括:S1,将报文进行第一次哈希选路,获得第一成员出口,若所述第一成员出口的链路是故障的,则进入步骤S2;
具体地过程包括:S11,根据报文的字段进行哈希运算,计算出一第一哈希值;S12,从链路聚合组表获取成员个数;S13,将所述第一哈希值和成员个数进行运算,得到一用于索引所述链路聚合组表的成员表项的成员索引值;S14,使用所述成员索引值从所述链路聚合组表中索引出所述第一成员出口。此时第一成员出口的链路为故障时,则报文不会从此成员出口出去,则进入步骤S2。
进一步地,在S11中,所述报文的字段为源IP地址,也可以定义选取其他字段,所述源IP地址的报文或其他字段进行哈希运算得出第一哈希值。在S13中,将所述第一哈希值和成员个数进行取余运算得到所述成员索引值。
S2,将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口,报文从所述第二成员出口出去。
具体过程包括:S21,将报文进行第二次哈希运算,得到一用于索引所述备份组表的成员索引值;S22,利用所述备份组表的成员索引值从所述备份组表中索引出所述第二成员出口。在S21中,所述备份组表的成员索引值可以通过第一哈希值与备份组表的成员个数进行运算得到,也可以通过 S211,根据报文的其他字段进行哈希运算,计算出一第二哈希值;S212,将所述第二哈希值与备份组表的成员个数进行运算,得到所述备份组表的成员索引值。不同的得到所述成员索引值的方法,可以得到相同或不同的成员索引值,相同或不同的成员索引值会索引出相同或不同的第二成员出口,在索引不同的成员出口时,报文会均匀的分散在各个备份组成员上。报文从第二成员出口出去时,不会产生丢包现象。所述备份组成员用于在链路聚合组出现故障时,在其中选出一个新的成员出口,此时成员出口之间不会产生相互影响,并且会均匀的分担故障出口上的流量。
所述S212中,所述第二哈希值与备份组表的成员个数进行取余运算,进一步地,所述实现负载均衡的方法还包括:所述第一成员出口的链路故障恢复后,报文重新从所述第一成员出口发送出去,那么就没有在备份组成员中来进行第二次哈希选路的这一过程,所有成员出口均正常,因此使得原静态链路聚合的总带宽不变。
本发明所揭示一种实现负载均衡的装置,包括第一选路模块和第二选路模块,所述第一选路模块用于将报文进行第一次哈希选路,获得第一成员出口;所述第二选路模块用于将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的成员出口,此出口为第二成员出口。
下面以一个具体的实施例来描述上述在静态链路聚合组成员故障后实现负载均衡的方法:
如图3所示,在静态链路中包含交换机A和交换机B,且交换机A和交换机B之间设有链路聚合组,所述链路聚合组上有4条成员出口link1、 link2、link3及link4,当link4出现故障时,先通过第一次哈希选路,此时选的成员出口为故障的成员出口link4,由于是故障的成员出口,因此报文不会从此成员出口出去,因而需启动第二次哈希选路,第二次哈希选路从备份组成员的link1、link2及link3中选出一个新的成员出口link1,此时报文就会从成员出口link1出去,在整个过程中,报文不会发生丢包的现象,故障的成员出口link4也不会影响备份组成员的流量传输。在后续过程中,若故障的成员出口link4修复后,总带宽不会发生变化,并且故障链路不会影响其他工作链路上已有流量的传输,不用进行整个链路聚合组的重新选路。
本发明在静态负载分担模式下的聚合链路组成员的链路故障时,采用第二次哈希选路,从备份组成员中选出新的成员出口,解决了发生故障时不产生丢包的状况,又使得故障恢复后原聚合链路组的总带宽不变,且故障不会影响到其他正常工作链路上已有流量的链路。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种实现负载均衡的方法,其特征在于,所述方法包括:
S1,将报文进行第一次哈希选路,获得第一成员出口,若所述第一成员出口的链路是故障的,则进入步骤S2;
S2,将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口,报文从所述第二成员出口出去。
2.根据权利要求1所述的实现负载均衡的方法,其特征在于,S1中,所述将报文进行第一次哈希选路,获得第一成员出口的过程包括:
S11,根据报文的字段进行哈希运算,计算出一第一哈希值;
S12,从链路聚合组表获取成员个数;
S13,将所述第一哈希值和成员个数进行运算,得到一用于索引所述链路聚合组表的成员表项的成员索引值;
S14,使用所述成员索引值从所述链路聚合组表中索引出所述第一成员出口。
3.根据权利要求2所述的实现负载均衡的方法,其特征在于,S11中,所述报文的字段为源IP地址。
4.根据权利要求2所述的实现负载均衡的方法,其特征在于,S13中,将所述第一哈希值和成员个数进行取余运算。
5.根据权利要求1所述的实现负载均衡的方法,其特征在于,S2中,所述将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口的过程包括:
S21,将报文进行第二次哈希运算,得到一用于索引所述备份组表的成员索引值;
S22,利用所述备份组表的成员索引值从所述备份组表中索引出所述第二成员出口。
6.根据权利要求5所述的实现负载均衡的方法,其特征在于,所述备份组表的成员索引值通过将所述第一哈希值与备份组表的成员个数进行运算得到,备份组表是由第一成员出口索引得到的。
7.根据权利要求5所述的实现负载均衡的方法,其特征在于,所述S21包括:
S211,根据报文的其他字段进行哈希运算,计算出一第二哈希值;
S212,将所述第二哈希值与备份组表的成员个数进行运算,得到所述备份组表的成员索引值。
8.根据权利要求7所述的实现负载均衡的方法,其特征在于,所述S212中,所述第二哈希值与备份组表的成员个数进行取余运算。
9.根据权利要求1所述的实现负载均衡的方法,其特征在于,所述方法还包括:所述第一成员出口的链路故障恢复后,报文重新从所述第一成员出口发送出去。
10.一种实现负载均衡的装置,其特征在于,所述装置包括:
第一选路模块,用于将报文进行第一次哈希选路,获得第一成员出口;
第二选路模块,用于在检测出所述第一成员出口的链路是故障的后,将报文通过备份组表进行第二次哈希选路,选取出除所述第一成员出口外的其他备份的第二成员出口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115647.8A CN110838974A (zh) | 2019-11-14 | 2019-11-14 | 一种实现负载均衡的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115647.8A CN110838974A (zh) | 2019-11-14 | 2019-11-14 | 一种实现负载均衡的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110838974A true CN110838974A (zh) | 2020-02-25 |
Family
ID=69575070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911115647.8A Pending CN110838974A (zh) | 2019-11-14 | 2019-11-14 | 一种实现负载均衡的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110838974A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740917A (zh) * | 2020-03-23 | 2020-10-02 | 北京京东尚科信息技术有限公司 | 一种报文转发方法和装置 |
CN113014502A (zh) * | 2021-02-08 | 2021-06-22 | 北京星网锐捷网络技术有限公司 | 基于线卡的负载均衡方法及装置 |
CN113542145A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 以太网链路聚合组负载分担的方法以及网络设备 |
WO2024040959A1 (zh) * | 2022-08-22 | 2024-02-29 | 中兴通讯股份有限公司 | 一种报文转发处理方法、装置、存储介质及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363181A (zh) * | 2014-08-28 | 2015-02-18 | 杭州华三通信技术有限公司 | 流量传输控制方法及装置 |
US20170214619A1 (en) * | 2013-11-05 | 2017-07-27 | Cisco Technology, Inc. | Multicast multipathing in an overlay network |
CN109218179A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载分担方法及装置、交换机及计算机可读存储介质 |
CN109347623A (zh) * | 2018-10-18 | 2019-02-15 | 盛科网络(苏州)有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
CN110417924A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 分布式设备中的报文处理方法和分布式设备 |
-
2019
- 2019-11-14 CN CN201911115647.8A patent/CN110838974A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170214619A1 (en) * | 2013-11-05 | 2017-07-27 | Cisco Technology, Inc. | Multicast multipathing in an overlay network |
CN104363181A (zh) * | 2014-08-28 | 2015-02-18 | 杭州华三通信技术有限公司 | 流量传输控制方法及装置 |
CN109218179A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载分担方法及装置、交换机及计算机可读存储介质 |
CN110417924A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 分布式设备中的报文处理方法和分布式设备 |
CN109347623A (zh) * | 2018-10-18 | 2019-02-15 | 盛科网络(苏州)有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740917A (zh) * | 2020-03-23 | 2020-10-02 | 北京京东尚科信息技术有限公司 | 一种报文转发方法和装置 |
CN113542145A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 以太网链路聚合组负载分担的方法以及网络设备 |
CN113542145B (zh) * | 2020-04-20 | 2023-08-22 | 华为技术有限公司 | 以太网链路聚合组负载分担的方法以及网络设备 |
CN113014502A (zh) * | 2021-02-08 | 2021-06-22 | 北京星网锐捷网络技术有限公司 | 基于线卡的负载均衡方法及装置 |
CN113014502B (zh) * | 2021-02-08 | 2022-08-19 | 北京星网锐捷网络技术有限公司 | 基于线卡的负载均衡方法及装置 |
WO2024040959A1 (zh) * | 2022-08-22 | 2024-02-29 | 中兴通讯股份有限公司 | 一种报文转发处理方法、装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110838974A (zh) | 一种实现负载均衡的方法和装置 | |
US8018844B2 (en) | Reliable message transfer over an unreliable network | |
CN102761479B (zh) | 链路选择方法和装置 | |
CN101252494B (zh) | 业务负载分担的方法和设备 | |
JP2002199005A (ja) | 相互接続構造を設計する方法 | |
CN112653575B (zh) | 一种网络配置方法、控制器及流量引导系统 | |
US20100128611A1 (en) | Transmitting apparatus, alarm control method, and computer product | |
CN101714944A (zh) | 用于恢复网络中的连接的方法 | |
CN108804260B (zh) | 一种srio系统倒换的方法和装置 | |
JP2013085245A (ja) | 通信ネットワークにおける複合型マルチレイヤメッシュ回復方法およびシステム | |
JPH0529171B2 (zh) | ||
CN110191064A (zh) | 流量负载均衡方法、装置、设备、系统及存储介质 | |
US20090296737A1 (en) | Method and system for connecting two nodes over multiple communication links | |
CN103236986A (zh) | 负载分担方法及装置 | |
CN101499960A (zh) | 一种流量路径切换的方法和装置 | |
EP1529386B1 (de) | Verfahren zum aufbau eines ersatzpfades in einem netzwerk | |
CN110190996B (zh) | 一种基于sdn通信网络故障隧道修复方法 | |
CN115883469B (zh) | 一种数据流负载平衡方法、装置及数据中心 | |
EP1328085A1 (en) | Method and apparatus for healing of failures for chained boards with SDH interfaces | |
WO2016206433A1 (zh) | 服务器负载均衡的方法及装置 | |
CN103414591A (zh) | 一种端口故障恢复时的快速收敛方法和系统 | |
US20090296697A1 (en) | Method for verifying shared state synchronization of redundant modules in a high availability network switch | |
US10666553B2 (en) | Method for quick reconfiguration of routing in the event of a fault in a port of a switch | |
EP1289208B1 (en) | A method of controlling data routing on a network | |
CN108390780B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200225 |