一种实现网络流量负载均衡的方法和装置制造方法及图纸

技术编号:15189520 阅读:98 留言:0更新日期:2017-04-19 18:55
本发明专利技术公开了一种实现网络流量负载均衡的方法和装置,具体包括:建立链路聚合,将芯片内的多个端口设置为一个链路聚合组;将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);报文到达时,在第1至第N端口之间顺次轮询进行报文转发。采用本发明专利技术在大量报文到达芯片时,链路聚合组内的各个端口对报文进行轮值转发,使得每个端口皆有流量担当,不会因为传统的静态选路方式导致某些端口流量负载很重,某些端口却处于负载空闲的不均衡状态。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,具体涉及一种实现网络流量负载均衡的方法和装置。
技术介绍
在现在的网络环境中,为了增加网络带宽和负载分担,往往把几个端口绑成一个组作为一个端口使用,这种技术就是链路聚合(LinkAggregation)技术。转发报文通过聚合组会根据报文自身的HashKey得到一个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)模式,即轮询负载均衡(RoundRobinLoadBanlance)机制,将每一次到达的报文轮流分配给链路聚合组内的各个成员端口,从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作为下一次轮询开始的第一个端口,假设当第本文档来自技高网...

【技术保护点】
一种实现网络流量负载均衡的方法,其特征在于包括:建立链路聚合,将芯片内的多个端口设置为一个链路聚合组;将链路聚合组内的成员端口依次标记为第1至第N端口(N>1);报文到达时,在第1至第N端口之间顺次轮询进行报文转发。

【技术特征摘要】
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.一种实现网络流量负载均衡的的装置,其特征在于包括:链路聚合单元,用...

【专利技术属性】
技术研发人员:赵仕中李磊何志川赵茂聪蒋华
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1