CN113890855A - 一种报文转发方法、系统、设备以及介质 - Google Patents
一种报文转发方法、系统、设备以及介质 Download PDFInfo
- Publication number
- CN113890855A CN113890855A CN202111116014.6A CN202111116014A CN113890855A CN 113890855 A CN113890855 A CN 113890855A CN 202111116014 A CN202111116014 A CN 202111116014A CN 113890855 A CN113890855 A CN 113890855A
- Authority
- CN
- China
- Prior art keywords
- weight
- port
- member port
- message
- outgoing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000002776 aggregation Effects 0.000 claims abstract description 28
- 238000004220 aggregation Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文转发方法,包括以下步骤:获取以太网链路聚合组中的多个成员端口;获取每一个成员端口的速率并根据速率确定每一个成员端口的权重;根据每一个成员端口的权重为每一个成员端口分配若干个出链路;响应于接收到报文,根据报文的内容进行哈希运算以确定对应的出链路;根据报文对应的出链路确定对应的成员端口并利用对应的成员端口转发报文。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案实现了当聚合组成员端口速率发生改变时,按照速率更新每个端口的负载均衡的权重,按照权重给每个成员端口分配Eth‑LAG的出链路数量,速率高的端口权重大,占据的出链路数量多,有效的避免了报文在速率低的端口拥塞而丢包。
Description
技术领域
本发明涉及报文领域,具体涉及一种报文转发方法、系统、设备以及存储介质。
背景技术
以太网链路聚合组(Ethernet Link Aggregation Group,简称Eth-LAG)是指将多个以太网物理端口捆绑(Trunk)成一个逻辑端口使用,参见图1。在数据通信领域中的交换机或路由器通常使用该技术来提供链路冗余和提高网络带宽。
Eth-LAG是一个逻辑端口,报文从Eth-LAG转发的时候,为了在Eth-LAG的成员端口做到负载均衡,会根据报文的内容(如五元组,源IP地址,目的IP地址,协议号,源端口号,目的端口号)进行某种运算(如crc,xor),根据运算结果选择Eth-LAG中的某个物理端口转发出去。当网络中的流量较大,而Eth-LAG中的各个成员端口速率不一致的情况下,可能会在低速率端口造成拥塞,引起丢包。
现有技术中,主要是根据以太网端口的状态变化来设置以太网链路聚合组的出端口链路,达到负载均衡的目的。CPU响应Eth-LAG成员端口的状态变化,当成员端口由down变为up,设置芯片:把端口标示为Eth-LAG的成员端口,并加入到对应LAG的端口位图中,CPU重新计算Eth-LAG的出端口物理链路,把该端口加入到出端口链路中;当成员端口由up变为down时设置芯片:取消该端口的Eth-LAG成员端口属性,设置为普通端口,将该端口从LAG的端口位图中去除,CPU重新计算Eth-LAG的出端口物理链路,把该端口从出端口链路中去除。
上述处理过程中,CPU针对端口的状态变化更新聚合组链路设置,由于芯片不支持针对某条链路设置负载分担的权重,这样对于不同速率的聚合组成员端口,权重都是一样的,导致流量在从汇聚组转发出去的时候,根据运算结果随机选择某一条链路,低速率端口链路可能造成拥塞,引起报文丢失,而高速率端口链路却没有得到充分利用。
综上所述,当Eth-LAG的成员端口的速率不一致时,基于芯片的限制,现有技术并没有一个有效的方案修改出端口负载分担权重,在出口流量较大时,高速率端口链路没有得到充分利用,而低速率端口链路产生拥塞,从而造成报文的丢失。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种报文转发方法,包括以下步骤:
获取以太网链路聚合组中的多个成员端口;
获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种报文转发系统,包括:
获取模块,配置为获取以太网链路聚合组中的多个成员端口;
权重模块,配置为获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
分配模块,配置为根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
哈希模块,配置为响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
转发模块,配置为根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,分配模块还配置为:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,分配模块还配置为:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行以下步骤:
获取以太网链路聚合组中的多个成员端口;
获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行以下步骤:
获取以太网链路聚合组中的多个成员端口;
获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
本发明具有以下有益技术效果之一:本发明的实施例提出的方案实现了聚合组成员端口速率发生改变时,按照速率更新每个端口的负载均衡的权重,按照权重给每个成员端口分配Eth-LAG的出链路数量,速率高的端口权重大,占据的出链路数量多,速率低的端口权重低,占据的出链路数量少,有效的避免了报文在速率低的端口拥塞而丢包。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的报文转发方法的流程示意图;
图2为本发明的实施例提出的出链路的配置示意图;
图3为Eth-LAG的成员端口速率发生改变时的出链路的配置示意图;
图4为本发明的实施例提供的报文转发系统的结构示意图;
图5为本发明的实施例提供的计算机设备的结构示意图;
图6为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种报文转发方法,如图1所示,其可以包括步骤:
S1,获取以太网链路聚合组中的多个成员端口;
S2,获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
S3,根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
S4,响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
S5,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
本发明提出的实施例通过监控太网链路聚合组中成员端口的速率变化,并根据端口的速率给每个端口分配不同的出链路数量,达到按速率给成员端口分配负载分担的权重的目的,实现以太网链路聚合组基于端口速率的负载均衡。
在一些实施例中,步骤S1中,获取以太网链路聚合组中的多个成员端口,具体的,如图2所示,首先创建Eth-LAG聚合组,然后将Eth-LAG的所有成员端口在芯片中标示为LAG的成员端口,并分配LAG-ID,LAG-ID用于索引LAG Portbitmap表和LAG Group表。
在一些实施例中,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
具体的,如图2所示,初始时默认每一个端口成员的权重是相同的,例如Eth-LAG聚合组含有4个端口,每个端口的速率为10G,则所有端口的权重是相等的,每个端口的权重为1/4。将Eth-LAG聚合组的出链路数量设置为芯片支持的最大数量,假设为32条,根据计算出来的每个端口的权重都是1/4,因此依次将4个端口填入到出链路中,直到将32条链路填满。在一些实施例中,可以按照Port1,Port2,Port3,Port4,……,Port1,Port2,Port3,Port4的顺序设置到出链路中。这时每个端口都占据了8条出口链路,报文转发到该LAG时,芯片采用报文的内容(MAC或IP等)作hash运算以得到对应的出链路,将hash结果作为索引到LAGGroup表得到出端口,每个端口所占据的出链路数一样,转发机会均等。如果端口的速率发生改变,则重新计算端口权重,并根据端口权重重新更新Eth-LAG的出链路,例如Port1的速率由10G变为1G,Port2-Port4仍为10G,则Port1的权重变为1/31,Port2-Port4的权重变为10/31。Port1占用1条出链路,Port2占用11条出链路,Port3和Port4各占用10条出链路,Port1的速率变低,则Port1的权重变低,它所占据的部分出口链路分配给Port2-Port4,如图3所示,按照新的端口速率更新各端口的权重后,Port1占据1条出链路,Port2占据11条出链路,Port3占据10条出链路,Port4占据10条出链路,例如,出链路设置顺序为Port1,Port2,Port3,Port4,Port2,Port2,Port3,Port4,Port3,Port2,Port3,Port4,Port4,Port2,Port3,Port4,Port2,Port2,Port3,Port4,Port3,Port2,Port3,Port4,Port4,Port2,Port3,Port4,Port2,Port2,Port3,Port4。当报文从LAG转发出去的时候,由于Port1仅仅占据32条出链路中的1条,报文经过hash运算选择到它所在链路的机会大大降低,从而避免了流量的拥塞。
在一些实施例中,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
具体的,定时查询获取Eth-LAG的每个成员端口的速率。并将本次获取的Eth-LAG的成员端口的速率与上次的速率比较,判断端口速率是否发生改变,如果发生改变,重新计算各端口的权重,端口权重=本端口速率/所有端口速率总和。例如,成员端口Port1的速率由10G变为1G,Port2-Port4端口速率为10G,则Port1端口的权重变为1/31,Port2-Port4的权重为10/31。而端口占用的链路数量=总的链路数量*权重,这样即可根据更新后的Port1段端口的权重确定更新对应关系的若干个出链路的数量。
本发明的实施例提出的方案实现了聚合组成员端口速率发生改变时,按照速率更新每个端口的负载均衡的权重,按照权重给每个成员端口分配Eth-LAG的出链路数量,速率高的端口权重大,占据的出链路数量多,速率低的端口权重低,占据的出链路数量少,有效的避免了报文在速率低的端口拥塞而丢包。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种报文转发系统400,如图4所示,包括:
获取模块401,配置为获取以太网链路聚合组中的多个成员端口;
权重模块402,配置为获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
分配模块403,配置为根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
哈希模块404,配置为响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
转发模块405,配置为根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,分配模块403还配置为:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,分配模块403还配置为:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
本发明的实施例提出的方案实现了聚合组成员端口速率发生改变时,按照速率更新每个端口的负载均衡的权重,按照权重给每个成员端口分配Eth-LAG的出链路数量,速率高的端口权重大,占据的出链路数量多,速率低的端口权重低,占据的出链路数量少,有效的避免了报文在速率低的端口拥塞而丢包。
基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
获取以太网链路聚合组中的多个成员端口;
获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
本发明的实施例提出的方案实现了聚合组成员端口速率发生改变时,按照速率更新每个端口的负载均衡的权重,按照权重给每个成员端口分配Eth-LAG的出链路数量,速率高的端口权重大,占据的出链路数量多,速率低的端口权重低,占据的出链路数量少,有效的避免了报文在速率低的端口拥塞而丢包。
基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
获取以太网链路聚合组中的多个成员端口;
获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
在一些实施例中,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
在一些实施例中,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
在一些实施例中,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
在一些实施例中,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
本发明的实施例提出的方案实现了聚合组成员端口速率发生改变时,按照速率更新每个端口的负载均衡的权重,按照权重给每个成员端口分配Eth-LAG的出链路数量,速率高的端口权重大,占据的出链路数量多,速率低的端口权重低,占据的出链路数量少,有效的避免了报文在速率低的端口拥塞而丢包。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,包括以下步骤:
获取以太网链路聚合组中的多个成员端口;
获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
2.如权利要求1所述的方法,其特征在于,根据所述每一个成员端口的权重分配出链路,还包括:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
3.如权利要求2所述的方法,其特征在于,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口,进一步包括:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
4.如权利要求2所述的方法,其特征在于,根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文,进一步包括:
查询所述预设表以根据所述预设表确定所述报文对应的出链路当前对应的成员端口。
5.如权利要求1所述的方法,其特征在于,根据所述速率确定每一个成员端口的权重,进一步包括:
根据成员端口的速率与所有成员端口的速率之和的比值确定对应的权重。
6.一种报文转发系统,其特征在于,包括:
获取模块,配置为获取以太网链路聚合组中的多个成员端口;
权重模块,配置为获取每一个成员端口的速率并根据所述速率确定每一个成员端口的权重;
分配模块,配置为根据所述每一个成员端口的权重为每一个成员端口分配若干个出链路;
哈希模块,配置为响应于接收到报文,根据所述报文的内容进行哈希运算以确定对应的出链路;
转发模块,配置为根据所述报文对应的出链路确定对应的成员端口并利用对应的成员端口转发所述报文。
7.如权利要求6所述的系统,其特征在于,分配模块还配置为:
为每一个成员端口设置初始权重并根据初始权重为每一个成员端口分配多个出链路;
将每一个成员端口与对应的出链路记录到预设表中;
响应于若干个成员端口的权重小于初始权重且若干个成员端口的权重大于初始权重,将预设表中权重小于初始权重的成员端口对应的多个出链路中的若干个出链路的对应关系更新为权重大于初始权重的若干个成员端口。
8.如权利要求7所述的系统,其特征在于,分配模块还配置为:
根据权重小于初始权重的成员端口当前对应的权重确定更新对应关系的若干个出链路的数量。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-5任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-5任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111116014.6A CN113890855A (zh) | 2021-09-23 | 2021-09-23 | 一种报文转发方法、系统、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111116014.6A CN113890855A (zh) | 2021-09-23 | 2021-09-23 | 一种报文转发方法、系统、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113890855A true CN113890855A (zh) | 2022-01-04 |
Family
ID=79010309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111116014.6A Withdrawn CN113890855A (zh) | 2021-09-23 | 2021-09-23 | 一种报文转发方法、系统、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113890855A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114007152A (zh) * | 2022-01-05 | 2022-02-01 | 北京国科天迅科技有限公司 | 一种针对光纤交换机的端口汇聚处理方法及装置 |
-
2021
- 2021-09-23 CN CN202111116014.6A patent/CN113890855A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114007152A (zh) * | 2022-01-05 | 2022-02-01 | 北京国科天迅科技有限公司 | 一种针对光纤交换机的端口汇聚处理方法及装置 |
CN114007152B (zh) * | 2022-01-05 | 2022-06-07 | 北京国科天迅科技有限公司 | 一种针对光纤交换机的端口汇聚处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735323B2 (en) | Service traffic allocation method and apparatus | |
US8958418B2 (en) | Frame handling within multi-stage switching fabrics | |
US10567345B2 (en) | Verifying firewall filter entries using rules associated with an access control list (ACL) template | |
US9270601B2 (en) | Path resolution for hierarchical load distribution | |
US20140105012A1 (en) | Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forwarding Device | |
CN113132249A (zh) | 一种负载均衡方法和设备 | |
WO2017117908A1 (zh) | 负荷分担的方法及装置 | |
US10348683B2 (en) | Network packet filtering via media access control (MAC) address learning | |
CN110191064B (zh) | 流量负载均衡方法、装置、设备、系统及存储介质 | |
CN106130920A (zh) | 一种报文转发方法及装置 | |
US10291518B2 (en) | Managing flow table entries for express packet processing based on packet priority or quality of service | |
CN110290072B (zh) | 流量控制方法、装置、网络设备及存储介质 | |
US7397762B1 (en) | System, device and method for scheduling information processing with load-balancing | |
CN113890855A (zh) | 一种报文转发方法、系统、设备以及介质 | |
US8867408B2 (en) | Fast convergence on child link failures and weighted load balancing of aggregate ethernet/sonet bundles | |
CN111464443B (zh) | 基于服务功能链的报文转发方法、装置、设备及存储介质 | |
CN110945844A (zh) | 一种分发报文的方法及装置 | |
CN117459462A (zh) | 网络负载均衡方法和装置 | |
CN116668374A (zh) | 通信方法及装置 | |
CN113595919A (zh) | 一种负载分担的方法及装置 | |
CN116318554A (zh) | 网络传输方法及装置 | |
US11240164B2 (en) | Method for obtaining path information of data packet and device | |
CN107948091B (zh) | 一种网包分类的方法及装置 | |
CN112702277B (zh) | 一种负载均衡配置优化的方法和装置 | |
CN115022248B (zh) | 一种HQoS业务接入方法及装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220104 |