CN106572025A - 一种实现网络流量负载均衡的方法和装置 - Google Patents
一种实现网络流量负载均衡的方法和装置 Download PDFInfo
- Publication number
- CN106572025A CN106572025A CN201610910969.1A CN201610910969A CN106572025A CN 106572025 A CN106572025 A CN 106572025A CN 201610910969 A CN201610910969 A CN 201610910969A CN 106572025 A CN106572025 A CN 106572025A
- Authority
- CN
- China
- Prior art keywords
- port
- network traffic
- traffic load
- link aggregation
- chip
- 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.)
- Withdrawn
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现网络流量负载均衡的方法和装置,具体包括:建立链路聚合,将芯片内的多个端口设置为一个链路聚合组;将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);报文到达时,在第1至第N端口之间顺次轮询进行报文转发。采用本发明在大量报文到达芯片时,链路聚合组内的各个端口对报文进行轮值转发,使得每个端口皆有流量担当,不会因为传统的静态选路方式导致某些端口流量负载很重,某些端口却处于负载空闲的不均衡状态。
Description
技术领域
本发明涉及网络通信技术,具体涉及一种实现网络流量负载均衡的方法和装置。
背景技术
在现在的网络环境中,为了增加网络带宽和负载分担,往往把几个端口绑成一个组作为一个端口使用,这种技术就是链路聚合(Link Aggregation)技术。转发报文通过聚合组会根据报文自身的Hash Key得到一个Hash值,然后通过Hash值对端口数量取余的方法得到一个成员端口作为报文转发出口。
上述方式的链路聚合可以达到负荷分担的效果,但属于静态选路方法,报文选择哪个成员端口作为转发出口完全根据Hash的结果来决定。当Hash的方式确定,报文确定,出口也随之确定,而对于该出口的流量并不去关心,这样就会出现在当前链路聚合组linkagg中流量不均匀,有些成员端口可能已经出现拥堵,甚至出现丢包,而有些成员端口负载却仍然很轻甚至没有流量。
发明内容
针对上述技术的不足,本发明的主要目的在于,在链路聚合组内,以轮询机制实现网络流量的负载均衡。
为实现前述目的,本发明公开了一种实现网络流量负载均衡的方法,具体包括:
建立链路聚合,将芯片内的多个端口设置为一个链路聚合组;
将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);
报文到达时,在第1至第N端口之间顺次轮询进行报文转发。
优选地,所述方法还包括:当第M*N+1(M≥0)个报文到达时,选择所述第1端口作为轮询起始端口进行报文转发。
优选地,所述方法还包括:当第M*N+1(M≥0)个报文到达时,随机选择一个端口作为轮询起始端口进行报文转发。
优选地,所述方法还包括:当第M*N+1(M≥0)个报文到达时,芯片可以选择使用所述第1端口作为轮询起始端口进行报文转发或是随机选择一个端口作为轮询起始端口进行报文转发。
优选地,所述芯片包括ASIC芯片、FPGA芯片、NP芯片。
相应地,本发明还公开了一种实现网络流量负载均衡的装置,具体包括:
链路聚合单元,用于将芯片内的多个端口设置为一个链路聚合组;
端口轮询单元,用于对链路聚合单元内的成员端口进行轮询选择;
报文交互单元,用于接收报文,及依据端口轮询单元选择的端口转发报文。
其中,所述链路聚合单元还包括将所述链路聚合组内的成员端口依次标记为第1至第N端口(N>1);
优选地,所述端口轮询单元包括:当第M*N+1(M≥0)个报文到达时,选择所述第1端口作为轮询起始端口进行报文转发。
优选地,所述端口轮询单元包括:当第M*N+1(M≥0)个报文到达时,随机选择一个端口作为轮询起始端口进行报文转发。
优选地,所述端口轮询单元还包括一选择单元,当第M*N+1(M≥0)个报文到达时,芯片可以选择使用所述第1端口作为轮询起始端口进行报文转发或是随机选择一个端口作为轮询起始端口进行报文转发。
优选地,所述芯片包括ASIC芯片、FPGA芯片、NP芯片。
与现有技术相比,本发明的优点在于:本发明公开的一种实现网络流量负载均衡的方法和装置,在大量报文到达芯片时,链路聚合组内的各个端口对报文进行轮值转发,使得每个端口皆有流量担当,不会因为传统的静态选路方式导致某些端口流量负载很重,某些端口却处于负载空闲的不均衡状态。
附图说明
图1是本发明一实施例提出的一种使用RR模式实现网络流量负载均衡的流程图;
图2是本发明一实施例提出的一种使用randomRR模式实现网络流量负载均衡的流程图;
图3是本发明一实施例提出的一种链路聚合组示意图;
图4是本发明一实施例提出的一种使用RR模式实现网络流量负载均衡的示意图;
图5是本发明一实施例提出的一种使用randomRR模式实现网络流量负载均衡的示意图;
图6是本发明一实施例提出的一种实现网络流量负载均衡的流程图;
图7是本发明一实施例提出的一种实现网络流量负载均衡的装置的示意图。
具体实施方式
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
本发明实施例是基于链路聚合技术,使用轮询负载分担的方式实现网络流量的负载均衡,具体包括:首先,建立链路聚合,将芯片内的多个端口设置为一个链路聚合组;然后,将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);当报文到达时,采用轮询机制依次选择第1至第N端口进行报文转发。
所述轮询机制一般为RR(Round-Robin)模式,即轮询负载均衡(Round Robin LoadBanlance)机制,将每一次到达的报文轮流分配给链路聚合组内的各个成员端口,从1开始,直到N(组内端口数),然后重新开始循环。
作为RR模式的一种改进,也可以使用randomRR模式,即每当所有的成员端口遍历一次后,对成员端口数选取一随机数,作为下一个报文到达时的第一个转发端口,然后以该成员端口开始依次进行轮询。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1是本发明一实施例提出的一种使用RR模式实现网络流量负载均衡的流程图,执行轮询前首先对轮询计数变量roundCount初始化为0。具体的RR模式流程包括:
步骤101,判断轮询计数roundCount是否为0,若roundCount=0,则执行步骤102;否则执行步骤103;
步骤102,将roundCount值赋给中间变量selectedMember;
步骤103,中间变量selectedMember值+1;
步骤104,判断轮询计数roundCount是否大于端口成员数mem_num,若小于则执行步骤105;否则执行步骤107;
步骤105,轮询计数roundCount+1;
步骤106,将中间变量selectedMember值赋给端口选择变量Output_member,然后返回步骤101。
步骤107,轮询计数变量roundCount归零,然后返回步骤101。
图2是本发明一实施例提出的一种实现网络流量负载均衡的roundRR模式流程图,randomRR过程与RR过程类似,主要区别在于,如步骤202所示,每当所有成员端口遍历结束后,以成员端口数为基础取一随机数作为下一次轮询的起始端口,之后再依次进行轮询选择。在端口数顺次累加的过程中,为防止端口数取值溢出,步骤203对端口数进行取余操作。
下面以一组示意图对本发明实施例的技术方案作进一步阐述,图3是本发明实施例提出的一种链路聚合组示意图,左侧301表示当前报文队列内有8个报文即将进入芯片,302表示报文即将进入链路聚合组,属于链路聚合组302的成员端口共有6个,依次编号为member0,member1,……,member5。
图4是本发明实施例提出的一种使用RR模式的报文转发示意图,如图所示,上述8个报文进入Linkage组内,首先从端口member0开始依次进行报文转发,当member0至member5依次被遍历选择后,第7、第8个报文进入时,则分别依次选择member0、member1端口进行报文转发。
图5是本发明实施例提出的一种使用randomRR模式的报文转发示意图,与图4所述RR模式不同的是,当member0至member5依次被遍历选择后,第7个报文进入时,则采用随机数random%6作为下一次轮询开始的第一个端口,假设当第7个报文进入时random%6=3,则第7个报文选择member2进行报文转发,第8个报文则顺次选择member3进行报文转发。
在链路聚合组内采用简单的轮询机制,报文依据端口数进行轮询选路,可以避免因静态选路的负荷分担方式导致的端口负载不均的现象,减少因端口拥堵而导致的丢包或因端口过于空闲而导致的空载状况发生。
作为本发明实施例的进一步改进,还可以在RR模式和randomRR模式基础上增加一选择步骤,由芯片选择使用RR模式或randomRR模式。如图6的节点601所示,每当一次轮询结束后,都可选择使用RR模式或是randomRR模式进行下一次轮询。
相应地,本发明实施例提供了一种实现网络流量负载均衡的装置,如图7所示,所述装置包括:
链路聚合单元701,用于将芯片内的多个端口设置为一个链路聚合组;
端口轮询单元702,用于对链路聚合单元内的成员端口进行轮询选择;
报文交互单元703,用于接收报文,及依据端口轮询单元选择的端口转发报文。
具体地,所述链路聚合单元还包括将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);
所述端口轮询单元还包括一选择单元,在进行端口轮询选择时,可使用前述RR模式,也可以使用前述randomRR模式,或二者结合模式;
由于本发明实施例提供的装置植入了本发明实施例提供的实现网络流量负载均衡的方法,因此,关于本发明提供的装置进行轮询选路的具体工作过程,在此不复赘述。
本发明任一实施例中所述的芯片包括但不限于ASIC(Application SpecificIntegrated Circuit,专用集成电路)芯片,FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片或NP(Network Processor,网络处理器)芯片等。本领域技术人员应当知晓,由于篇幅有限,其他未详尽的芯片类型不代表排除在本发明实施例的技术方案之外。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种实现网络流量负载均衡的方法,其特征在于包括:
建立链路聚合,将芯片内的多个端口设置为一个链路聚合组;
将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);
报文到达时,在第1至第N端口之间顺次轮询进行报文转发。
2.根据权利要求1所述的实现网络流量负载均衡的方法,其特征在于所述方法还包括:当第M*N+1(M≥0)个报文到达时,选择所述第1端口作为轮询起始端口进行报文转发。
3.根据权利要求1所述的实现网络流量负载均衡的方法,其特征在于所述方法还包括:当第M*N+1(M≥0)个报文到达时,随机选择一个端口作为轮询起始端口进行报文转发。
4.根据权利要求1所述的实现网络流量负载均衡的方法,其特征在于所述方法还包括:当第M*N+1(M≥0)个报文到达时,芯片可以选择使用所述第1端口作为轮询起始端口进行报文转发或是随机选择一个端口作为轮询起始端口进行报文转发。
5.根据权利要求1至4所述的实现网络流量负载均衡的方法,其特征在于:所述芯片包括ASIC芯片、FPGA芯片、NP芯片。
6.一种实现网络流量负载均衡的的装置,其特征在于包括:
链路聚合单元,用于将芯片内的多个端口设置为一个链路聚合组;
端口轮询单元,用于对链路聚合单元内的成员端口进行轮询选择;
报文交互单元,用于接收报文,及依据端口轮询单元选择的端口转发报文;
其中,所述链路聚合单元还包括将所述链路聚合组内的成员端口依次标记为第1至第N端口(N>1)。
7.根据权利要求6所述的实现网络流量负载均衡的装置,其特征在于所述端口轮询单元包括:当第M*N+1(M≥0)个报文到达时,选择所述第1端口作为轮询起始端口进行报文转发。
8.根据权利要求6所述的实现网络流量负载均衡的装置,其特征在于所述端口轮询单元包括:当第M*N+1(M≥0)个报文到达时,随机选择一个端口作为轮询起始端口进行报文转发。
9.根据权利要求6所述的实现网络流量负载均衡的装置,其特征在于所述端口轮询单元还包括一选择单元,当第M*N+1(M≥0)个报文到达时,芯片可以选择使用所述第1端口作为轮询起始端口进行报文转发或是随机选择一个端口作为轮询起始端口进行报文转发。
10.根据权利要求6至9所述的实现网络流量负载均衡的装置,其特征在于:所述芯片包括ASIC芯片、FPGA芯片、NP芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610910969.1A CN106572025A (zh) | 2016-10-19 | 2016-10-19 | 一种实现网络流量负载均衡的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610910969.1A CN106572025A (zh) | 2016-10-19 | 2016-10-19 | 一种实现网络流量负载均衡的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106572025A true CN106572025A (zh) | 2017-04-19 |
Family
ID=58533901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610910969.1A Withdrawn CN106572025A (zh) | 2016-10-19 | 2016-10-19 | 一种实现网络流量负载均衡的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106572025A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286686A (zh) * | 2018-11-23 | 2019-01-29 | 盛科网络(苏州)有限公司 | 基于轮询机制的负载均衡方法 |
CN111654449A (zh) * | 2020-05-29 | 2020-09-11 | 新华三信息安全技术有限公司 | 一种物理链路流量均衡方法及装置 |
CN112039783A (zh) * | 2020-08-19 | 2020-12-04 | 恒安嘉新(北京)科技股份公司 | 通信数据输出方法、装置、计算机设备及存储介质 |
CN112073318A (zh) * | 2020-08-27 | 2020-12-11 | 天津芯海创科技有限公司 | 聚合链路报文发送和接收方法、装置、设备及存储介质 |
CN113645145A (zh) * | 2021-08-02 | 2021-11-12 | 迈普通信技术股份有限公司 | 负载均衡方法、装置、网络设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369991A (zh) * | 2002-04-01 | 2002-09-18 | 北京港湾网络有限公司 | 交换机捆绑端口分流方法及交换机芯片 |
CN1809021A (zh) * | 2005-01-17 | 2006-07-26 | 华为技术有限公司 | 以太网链路聚合方法 |
CN1809022A (zh) * | 2005-01-17 | 2006-07-26 | 华为技术有限公司 | 以太网设备堆叠方法及其系统 |
CN102148768A (zh) * | 2011-05-26 | 2011-08-10 | 杭州华三通信技术有限公司 | 报文转发方法和报文转发设备 |
CN103401802A (zh) * | 2013-08-26 | 2013-11-20 | 盛科网络(苏州)有限公司 | 基于传输协议的报文负载均衡方法及装置 |
CN103701712A (zh) * | 2013-12-03 | 2014-04-02 | 中国电子科技集团公司第三十研究所 | 一种将多个e1线路绑定且实现逻辑通道分离的方法 |
-
2016
- 2016-10-19 CN CN201610910969.1A patent/CN106572025A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369991A (zh) * | 2002-04-01 | 2002-09-18 | 北京港湾网络有限公司 | 交换机捆绑端口分流方法及交换机芯片 |
CN1809021A (zh) * | 2005-01-17 | 2006-07-26 | 华为技术有限公司 | 以太网链路聚合方法 |
CN1809022A (zh) * | 2005-01-17 | 2006-07-26 | 华为技术有限公司 | 以太网设备堆叠方法及其系统 |
CN102148768A (zh) * | 2011-05-26 | 2011-08-10 | 杭州华三通信技术有限公司 | 报文转发方法和报文转发设备 |
CN103401802A (zh) * | 2013-08-26 | 2013-11-20 | 盛科网络(苏州)有限公司 | 基于传输协议的报文负载均衡方法及装置 |
CN103701712A (zh) * | 2013-12-03 | 2014-04-02 | 中国电子科技集团公司第三十研究所 | 一种将多个e1线路绑定且实现逻辑通道分离的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286686A (zh) * | 2018-11-23 | 2019-01-29 | 盛科网络(苏州)有限公司 | 基于轮询机制的负载均衡方法 |
CN109286686B (zh) * | 2018-11-23 | 2021-05-14 | 盛科网络(苏州)有限公司 | 基于轮询机制的负载均衡方法 |
CN111654449A (zh) * | 2020-05-29 | 2020-09-11 | 新华三信息安全技术有限公司 | 一种物理链路流量均衡方法及装置 |
CN111654449B (zh) * | 2020-05-29 | 2023-05-19 | 新华三信息安全技术有限公司 | 一种物理链路流量均衡方法及装置 |
CN112039783A (zh) * | 2020-08-19 | 2020-12-04 | 恒安嘉新(北京)科技股份公司 | 通信数据输出方法、装置、计算机设备及存储介质 |
CN112073318A (zh) * | 2020-08-27 | 2020-12-11 | 天津芯海创科技有限公司 | 聚合链路报文发送和接收方法、装置、设备及存储介质 |
CN113645145A (zh) * | 2021-08-02 | 2021-11-12 | 迈普通信技术股份有限公司 | 负载均衡方法、装置、网络设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106572025A (zh) | 一种实现网络流量负载均衡的方法和装置 | |
CN107005485B (zh) | 一种确定路由的方法、对应装置及系统 | |
CN103716208B (zh) | 支持大象流的网络管理方法、系统、交换机和网络 | |
CN109510780B (zh) | 流控方法、交换芯片及网络设备 | |
CN105027511B (zh) | 在无线通信中用于并行化分组处理的方法和系统 | |
EP3082304A1 (en) | Service routing method, device and system | |
US7760629B2 (en) | Aggregate data frame generation | |
CN113676924B (zh) | 通信方法、装置及系统 | |
US8416684B2 (en) | Time and data rate policing | |
CN102148768B (zh) | 报文转发方法和报文转发设备 | |
CN109218215B (zh) | 一种报文传输的方法和网络设备 | |
US8363668B2 (en) | Avoiding unfair advantage in weighted round robin (WRR) scheduling | |
WO2020187006A1 (zh) | 流量均衡方法及装置 | |
CN100571218C (zh) | 一种实现流转换的方法和设备 | |
US10693814B2 (en) | Ultra-scalable, disaggregated internet protocol (IP) and ethernet switching system for a wide area network | |
US20130107707A1 (en) | Emulating network traffic shaping | |
CN107566293B (zh) | 一种用于报文限速的方法及装置 | |
CN104518984A (zh) | 一种基于多重分类器对数据包进行流量分类的sdn控制器 | |
CN105490958B (zh) | 一种lacp负载均衡的方法及系统 | |
CN104580002B (zh) | 大流负载均衡转发方法及装置 | |
CN106302016A (zh) | 小流量快速获取网络物理带宽的方法及系统 | |
CN105659543A (zh) | 下行链路流管理 | |
Bai et al. | Effective hybrid link-adding strategy to enhance network transport efficiency for scale-free networks | |
CN106330710B (zh) | 数据流调度方法及装置 | |
CN112188557B (zh) | 一种拥塞时保证绿包优先QoS的方法和装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170419 |
|
WW01 | Invention patent application withdrawn after publication |