CN117459462A - 网络负载均衡方法和装置 - Google Patents

网络负载均衡方法和装置 Download PDF

Info

Publication number
CN117459462A
CN117459462A CN202311402241.4A CN202311402241A CN117459462A CN 117459462 A CN117459462 A CN 117459462A CN 202311402241 A CN202311402241 A CN 202311402241A CN 117459462 A CN117459462 A CN 117459462A
Authority
CN
China
Prior art keywords
load balancing
forwarded
data
flow
data packet
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
Application number
CN202311402241.4A
Other languages
English (en)
Inventor
王杰新
牛华宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202311402241.4A priority Critical patent/CN117459462A/zh
Publication of CN117459462A publication Critical patent/CN117459462A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding 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

本公开提供了一种网络负载均衡方法和装置,涉及数据处理领域。该方法包括:将数据流划分为多个流量片段,其中,多个流量片段中每个流量片段包括多个数据包;以及将多个流量片段均衡分配到多条链路上进行转发。相比于逐流负载均衡,按照流量片段进行负载均和,其均衡粒度较小,能够实现更加均衡的流量分配。

Description

网络负载均衡方法和装置
技术领域
本公开涉及数据处理领域,尤其涉及一种网络负载均衡方法和装置。
背景技术
随着互联网数据中心业务的不断发展,互联网应用对于数据中心通信网络的需求越来越高。为了进一步提高数据中心网络的利用率,往往采用一些方法对经过多条数据链路的流量进行负载均衡。
数据中心网络按照逐流进行负载均衡时,由于对不同通信需求的数据流没有进行区分,且每条数据流的负载均衡的最终路径不会随着时间或者端口的拥塞程度动态改变,还会存在负载分担不均衡的情况。
发明内容
本公开要解决的一个技术问题是,提供一种网络负载均衡方法和装置,能够提高负载均衡程度。
根据本公开一方面,提出一种网络负载均衡方法,包括:将数据流划分为多个流量片段,其中,多个流量片段中每个流量片段包括多个数据包;以及将多个流量片段均衡分配到多条链路上进行转发。
在一些实施例中,将多个流量片段均衡分配到多条链路上进行转发包括:接收待转发数据包;确定当前流量片段中已接收到的数据包的数量;以及在当前流量片段中已接收到的数据包的数量大于阈值的情况下,将待转发数据包按照当前流量片段以及下一流量片段所分配的链路进行转发。
在一些实施例中,将待转发数据包按照下一流量片段所分配的链路进行转发包括:在下一流量片段的数据包转发之前,将待转发数据包按照下一流量片段所分配的链路进行转发。
在一些实施例中,将多个流量片段均衡分配到多条链路上进行转发包括:在当前流量片段中已接收到的数据包的数量小于或等于阈值的情况下,将待转发数据包按照当前流量片段所分配的链路进行转发。
在一些实施例中,确定当前流量片段中已接收到的数据包的数量包括:在待转发数据包对应的出口链路类型为多路径类型的情况下,识别待转发数据包是否属于流表中已记录的数据流;在待转发数据包属于流表中已记录的数据流的情况下,确定数据流的当前流量片段中已接收到的数据包的数量。
在一些实施例中,在待转发数据包不属于流表中已记录的数据流的情况下,在流表中创建新的数据流的记录,并将待转发数据包随机选择一个出口链路进行转发。
在一些实施例中,识别待转发数据包是否属于流表中已记录的数据流包括:对待转发数据包的信息进行散列值计算;将待转发数据包的信息的散列值,与流表内记录的流信息散列值进行匹配;在匹配成功的情况下,确定待转发数据包属于流表中已记录的数据流。
在一些实施例中,流表包含流信息散列值字段、数据包计数字段、负载均衡组字段、和当前转发数据包的出口链路编号字段,其中,负载均衡组字段用于标识待转发数据包所属数据流。
在一些实施例中,在待转发数据包对应的出口链路类型为单路径类型的情况下,直接转发待转发数据包。
在一些实施例中,每个流量片段包括的数据包的数量,基于负载均衡质量和数据包乱序风险值确定。
在一些实施例中,阈值根据需要重复传输的数据包的数量确定。
在一些实施例中,需要重复传输的数据包的数量,基于网络设备的负载均衡的有效带宽和数据包乱序风险值确定。
根据本公开的另一方面,还提出一种网络负载均衡装置,包括:流量划分模块,被配置为将数据流划分为多个流量片段,其中,多个流量片段中每个流量片段包括多个数据包;以及负载均衡模块,被配置为将多个流量片段均衡分配到多条链路上进行转发。
在一些实施例中,负载均衡模块还被配置为接收待转发数据包;确定当前流量片段中已接收到的数据包的数量,在当前流量片段中已接收到的数据包的数量大于阈值的情况下,将待转发数据包按照当前流量片段以及下一流量片段所分配的链路进行转发。
根据本公开的另一方面,还提出一种网络负载均衡装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上述的网络负载均衡方法。
根据本公开的另一方面,还提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如上述的网络负载均衡方法。
本公开实施例中,按照流量片段进行负载均衡相比于逐流负载均衡,其均衡粒度较小,能够实现更加均衡的流量分配。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的网络负载均衡方法的一些实施例的流程示意图;
图2为本公开的网络负载均衡方法的另一些实施例的流程示意图;
图3为本公开的流量片段划分的一些实施例的示意图;
图4为本公开的网络负载均衡方法的另一些实施例的流程示意图;
图5为本公开的网络负载均衡装置的一些实施例的结构示意图;
图6为本公开的网络负载均衡装置的另一些实施例的结构示意图;以及
图7为本公开网络负载均衡方法的应用的一些实施例的示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
相关技术中,针对逐流均衡,若两个通信容量和需求带宽很大的流量被分配到同一个链路上,多个通信容量和带宽需求小的流量被分配到多个不同的链路上时,可能出现负载不均的情况。
图1为本公开的网络负载均衡方法的一些实施例的流程示意图。
在步骤110,将数据流划分为多个流量片段,其中,多个流量片段中每个流量片段包括多个数据包。
在一些实施例,按照数据包数量对数据流进行划分,将该数据流划分为多个流量片段。例如,该数据流包括512个数据包,按照每个流量片段包括126个数据包,则将该数据流划分为4个流量片段。
在接收到一个待转发数据包的情况下,按照每个流量片段对应的数据包数量,以及已接收到的该数据流中当前流量片段的数据包的数量,来确定待转发数据包是属于当前流量片段还是下一流量片段。例如,每个流量片段对应128个数据包,若已接收60个数据包,该待转发数据包属于第一个流量片段,已接收129个数据包,则该待转发数据包属于第二个流量片段。
在步骤120,将多个流量片段均衡分配到多条链路上进行转发。
在一些实施例中,每个流量片段被分配到最多两个目标链路上。即,每个流量片段中的部分数据包可以在两个目标链路上重复传输。
在上述实施例中,对于容量较大的流量,按照流量片段进行负载均衡相比于逐流负载均衡,其均衡粒度较小,能够实现更加均衡的流量分配。
由于本公开实施例中的每个流量片段包括多个数据包,即每个流量片段至少包括两个数据包。按照流量片段进行负载均衡相比于逐包均衡或逐信元均衡,其均衡粒度要大,能够降低因数据流中的不同数据包走的路径不同、以及每个数据包传输到目的地的时间有差异导致的丢包误判进而引发的重新传输问题。
在一些实施例中,每个流量片段包含的数据包的数量,基于负载均衡质量和数据包乱序风险值确定。例如,每个流量片段包含的数据包个数越少,则会增加负载均衡的均匀性,但会增加数据包乱序风险;当流量片段包含的数据包个数越多,则乱序风险降低,负载均衡性也降低。因此,需要合理设定每个流量片段包含的数据包的个数。
在一些实施例中,可以设置流量片段包含的数据包的个数为默认值,例如为128。
图2为本公开的网络负载均衡方法的另一些实施例的流程示意图。
在步骤210,确定当前流量片段中已接收到的数据包的数量。
在步骤220,判断当前流量片段中已接收到的数据包的数量是否大于阈值,在大于阈值的情况下,执行步骤230,否则,执行步骤240。
例如,该流量片段可包含k个数据包,且已收到p个属于该流量片段中数据包,则说明接收到的待转发数据包属于该当前流量片段的末尾若干数据包,由于即将切换到另一链路进行流量转发,因此,接收端可能出现数据包乱序的问题。
在一些实施例中,该阈值根据需要重复传输的数据包的数量确定。例如,需要重复传输m个数据包,则该阈值p=k-m+1。
如图3所示,从时间维度上,对数据流进行切片,每k个数据包分配到一个流量片段中,例如,数据包Pkt1-Pktk属于流量片段G1,数据包Pktk+1-Pkt2k属于流量片段G2,在转发数据包时,若重复传输2个数据包,则第Pkt1-1和第Pktk数据包需要重复传输。
在一些实施例中,该需要重复传输的数据包的数量,基于网络设备的负载均衡的有效带宽和数据包乱序风险值确定。例如,需要重复传输的数据包的个数越多,则减少数据包乱序的风险,但会降低负载均衡的有效带宽,需要重复传输的数据包的个数越少,则相应增加数据包乱序的风险,但会提高负载均衡的有效带宽。针对不同的网络环境设置不同的需要重复传输的数据包的个数。
在一些实施例中,该需要重复传输的数据包的个数可以为默认值,例如为1。若每个流量片段包括的数据包的个数为128,需重复传输的数据包的个数为1,在负载均衡的有效带宽=127/128=99.2%。
在步骤230,将接收到的待转发数据包按照当前流量片段以及下一流量片段所分配的链路进行转发。
例如,该待转发数据包属于流量片段1的最后一个数据包,则该待转发数据包按照流量片段1的链路进行转发,同时,按照流量片段2的链路进行转发。
在一些实施例中,在下一流量片段的数据包转发之前,将待转发数据包按照下一流量片段所分配的链路进行转发。例如,对于上一个流量片段的末尾若干数据包复制到下一个流量片段之前进行传输,从而减少时序混乱的风险。
在步骤240,将待转发数据包按照当前流量片段所分配的链路进行转发。
若该当前流量片段中已接收到的数据包的个数较少,即该数据包不属于该当前流量片段末尾的几个数据包,则该待转发数据包在接收端出现乱序的可能性很低,为了降低设备负担,因此,不进行二次传输。
在上述实施例中,对于属于某流量片段末尾的若干个数据包,在两个链路中进行传输,即重复传输,能够降低接收端出现数据包乱序的风险。
在本公开的一些实施例中,在待转发数据包对应的出口链路类型为多路径类型的情况下,识别待转发数据包是否属于流表中已记录的数据流;在待转发数据包属于流表中已记录的数据流的情况下,确定该数据流的当前流量片段中已接收到的数据包的个数;根据已接收到的数据包的个数,确定待转发数据是否属于当前流量片段。
例如,接收到一个待转发数据包后,通过查询转发表,能够确定该待转发数据包为多路径类型还是为单路径类型。该转发表中包括目的地址和掩码,以及对应的下一条。若该数据包的下一条对应多条路径,则说明该数据包为多路径类型。
再例如,在网络设备上创建并维护一个流表,该流表可以记录已执行负载均衡策略的数据流的相关信息,例如,已接收到该数据流的当前流量片段中数据包的个数,该数据流所属负载均衡组,当前转发数据包的出口链路编号,通过该负载均衡组能够确定该待转发数据包所属数据流。
该流表中还可以包括流信息散列值。例如,对待转发数据包的信息进行散列值计算,例如通过HASH(哈希)算法进行散列计算;将待转发数据包的信息的散列值,与流表内记录的流信息散列值进行匹配;在匹配成功的情况下,确定待转发数据包属于流表中已记录的数据流。该实施例中,通过散列值的计算,能够快速确定该待转发数据是否属于已记录的数据流,即判断出是否需要新增流表记录,以记录新的数据流的相关信息。
在待转发数据包不属于流表中已记录的数据流的情况下,在流表中创建新的数据流的记录,并将待转发数据包随机选择一个出口链路进行转发。即将该数据包作为一个新的数据流的第一个流量片段的第一个数据包,该数据包可以通过任意一个出口链路转发。
根据已接收到的当前流量片段的数据包的个数,可以确定该待转发数据包是否通过当前正在转发数据的链路进行数据传输,还是通过下一条链路进行传输。
图4为本公开的网络负载均衡方法的另一些实施例的流程示意图。
在步骤410,接收数据包。
在步骤420,确定该数据包的出口链路类型,若属于单路径类型,则执行步骤430,若属于多路径类型,则执行步骤440。
例如,在一个数据包进入网络设备后,首先通过查询转发表确定该数据包对应的出口链路类型。
在步骤430,直接转发该数据包。
由于该数据包只有一条链路到下一跳,则直接在通过该单一链路转发该数据包。
在步骤440,判断该数据包是否属于流表中记录的数据流,若不是,则执行步骤450,否则,执行步骤460。
该流表包含流信息散列值字段、数据包计数字段、数据流所属的负载均衡组字段、以及当前出口链路编号字段等,该数据包计数字段用于记录已接收的当前流量片段的数据包的个数。若该数据包属于多路径类型,则对该数据包的信息进行HASH散列计算,并将计算的散列值在流表中进行匹配,若能够匹配出对应的流信息散列值,则说明该数据包属于流表中记录的数据流,否则,说明该数据包不属于流表中记录的数据流。
在步骤450,创建流表记录,即新建新的数据流的相关信息。
将该数据包所在流量片段的已接收的数据包的计数设置为0,随机选择一个出口并且将出口链路编号记录到流表中。
在步骤460,判断数据包计数字段记录的数据包的个数是否在k-m+1到k的区间内,若是,则执行步骤460,否则,执行步骤470。
在步骤中,k为每个流量片段内包含的数据包的个数,m为需要重读传输的数据包个数。
在步骤460,将该数据包复制,在当前出口链路和下一出口链路分别转发该数据包。
例如,若每个流量片段内包含的数据包的个数为128,需要重复传输的数据包个数为2,则若已记录当前流量片段中的126个数据包,该数据包为第127个数据包,属于当前流量片段中倒数第二个数据包,为了降低乱序,则需要重复传输。若已记录当前流量片段中的127个数据包,该数据包为第128个数据包,属于当前流量片段中最后一个数据包,为了降低乱序,则需要重复传输。
在步骤470,在当前出口链路转发该数据包。
在步骤480,判断该数据包计数字段记录的数据包的个数是否等于k,若是,则执行步骤490,否则,继续执行步骤410。
在一些实施例中,也可以将记录的数据包个数+1,确定是否大于记录的数据包数量是否大于k,若大于则执行步骤4100
在步骤490,数据包计数字段记录数据包个数重置,并修改流表当前出口链路。
例如,若数据包计数字段记录的数据包的个数已满足k,则修改流表中的路径信息为下一条链路,再接收到数据包后,将该数据包按照新的出口链路进行转发。
在上述实施例中,对于容量较大的数据流,按照数据包个数进行切片,得到多个流量片段,每个流量片段逐一分配到若干目标链路上进行转发,可以降低逐流均衡中分配分担不均的问题,另外,对于上一个流量片段的末尾若干数据包复制到下一个流量片段之前进行两次传输的方式,能够减少接收端乱序数据包的产生。
图5为本公开的网络负载均衡装置的一些实施例的结构示意图,该装置包括流量划分模块510和负载均衡模块520。
流量划分模块510被配置为将数据流划分为多个流量片段,其中,多个流量片段中每个流量片段包括多个数据包。
在一些实施例中,每个流量片段包括的数据包的数量,基于负载均衡质量和数据包乱序风险值确定。
负载均衡模块520被配置为将多个流量片段均衡分配到多条链路上进行转发。
在一些实施例中,负载均衡模块520接收待转发数据包;确定当前流量片段中已接收到的数据包的数量;以及根据每个流量片段包括的数据包数量,以及当前流量片段中已接收到的数据包的数量,确定待转发数据包是否属于当前流量片段。例如,若当前流量片段中已接收到的数据包的数量小于或者等于该流量片段对应的数据包数量,则说明该数据包属于当前流量片段。
在一些实施例中,在待转发数据包对应的出口链路类型为多路径类型的情况下,识别待转发数据包是否属于流表中已记录的数据流;在待转发数据包属于流表中已记录的数据流的情况下,确定数据流的当前流量片段中已接收到的数据包的数量。在待转发数据包不属于流表中已记录的数据流的情况下,在流表中创建新的数据流的记录,并将待转发数据包随机选择一个出口链路进行转发。
在一些实施例中,对待转发数据包的信息进行散列值计算;将待转发数据包的信息的散列值,与流表内记录的流信息散列值进行匹配;在匹配成功的情况下,确定待转发数据包属于流表中已记录的数据流。
在一些实施例中,流表包含流信息散列值字段、数据包计数字段、负载均衡组字段、和当前转发数据包的出口链路编号字段,其中,负载均衡组字段用于标识待转发数据包所属数据流。
在一些实施例中,在待转发数据包对应的出口链路类型为单路径类型的情况下,直接转发待转发数据包。
在上述实施例中,按照流量片段进行负载均衡相比于逐流负载均衡,其均衡粒度较小,能够实现更加均衡的流量分配。
在本公开的一些实施例中,负载均衡模块520还被配置为接收待转发数据包;确定当前流量片段中已接收到的数据包的数量,在当前流量片段中已接收到的数据包的数量大于阈值的情况下,将待转发数据包按照当前流量片段以及下一流量片段所分配的链路进行转发。
该阈值根据需要重复传输的数据包的数量确定。需要重复传输的数据包的数量,基于网络设备的负载均衡的有效带宽和数据包乱序风险值确定。
在上述实施例中,对于属于某流量片段末尾的若干个数据包,在两个链路中进行传输,即重复传输,能够降低接收端出现数据包乱序的风险。
图6为本公开的网络负载均衡装置的另一些实施例的结构示意图。该装置600包括存储器610和处理器620。其中:存储器610可以是磁盘、闪存或其它任何非易失性存储介质。存储器610用于上述实施例所对应实施例中训练方法的指令。处理器620耦接至存储器610,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器620用于执行存储器中存储的指令。
在一些实施例中,处理器620通过BUS总线630耦合至存储器610。该装置600还可以通过存储接口640连接至外部存储系统650以便调用外部数据,还可以通过网络接口660连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,按照流量片段进行负载均衡相比于逐流负载均衡,其均衡粒度较小,能够实现更加均衡的流量分配;相比于逐包均衡或逐信元均衡,其均衡粒度要大,能够降低因数据流中的不同数据包走的路径不同、以及每个数据包传输到目的地的时间有差异导致的丢包误判进而引发的重新传输问题。
在本公开的一些实施例中,如图7所示,若网络设备1接收两个数据流:Flow1和Flow2,该网络设备1例如为负载均衡设备,这两个数据流可通过多条链路到达网络设备2。若按照相关技术中逐流均衡的方案,则数据流Flow1通过网络设备3到达网络设备2,数据流Flow2通过网络设备4到达网络设备2。而应用本公开实施例中的方法,将每个数据流划分为4个流量片段,例如,数据流Flow1划分为流量片段G11、G12、G13、G14,数据流Flow2划分为流量片段G21、G22、G23、G24。网络设备1能够将每个数据流通过网络设备3、4、5、6传输至网络设备2,执行负载均衡的网络设备在刚刚收到G11的第一个数据包时,按照初始流量路径分别将G11的数据包发送至网络设备3,将G21的数据包发送至网络设备4,随着流量的发送,Flow1和Flow 2在负载均衡网络设备1流表上记录的数据数量达到阈值,则完成数据包重复传输后,流量片段的路径发生改变,例如,G12中的数据包发送至网络设备4,G22的数据包发送至网络设备5等,即实现按照流量片段的均衡。
从该图可知,按照流量片段进行负载均衡相比于逐流负载均衡,能够实现更加均衡的流量分配。
在另一些实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (16)

1.一种网络负载均衡方法,包括:
将数据流划分为多个流量片段,其中,所述多个流量片段中每个流量片段包括多个数据包;以及
将所述多个流量片段均衡分配到多条链路上进行转发。
2.根据权利要求1所述的网络负载均衡方法,其中,将所述多个流量片段均衡分配到多条链路上进行转发包括:
接收待转发数据包;
确定当前流量片段中已接收到的数据包的数量;以及
在所述当前流量片段中已接收到的数据包的数量大于阈值的情况下,将所述待转发数据包按照所述当前流量片段以及下一流量片段所分配的链路进行转发。
3.根据权利要求2所述的网络负载均衡方法,其中,将所述待转发数据包按照所述下一流量片段所分配的链路进行转发包括:
在所述下一流量片段的数据包转发之前,将所述待转发数据包按照所述下一流量片段所分配的链路进行转发。
4.根据权利要求2所述的网络负载均衡方法,其中,将所述多个流量片段均衡分配到多条链路上进行转发包括:
在所述当前流量片段中已接收到的数据包的数量小于或等于所述阈值的情况下,将所述待转发数据包按照所述当前流量片段所分配的链路进行转发。
5.根据权利要求2至4任一所述的网络负载均衡方法,其中,确定当前流量片段中已接收到的数据包的数量包括:
在所述待转发数据包对应的出口链路类型为多路径类型的情况下,识别所述待转发数据包是否属于流表中已记录的数据流;以及
在所述待转发数据包属于所述流表中已记录的数据流的情况下,确定所述数据流的当前流量片段中已接收到的数据包的数量。
6.根据权利要求5所述的网络负载均衡方法,还包括:
在所述待转发数据包不属于所述流表中已记录的数据流的情况下,在所述流表中创建新的数据流的记录,并将所述待转发数据包随机选择一个出口链路进行转发。
7.根据权利要求5所述的网络负载均衡方法,其中,识别所述待转发数据包是否属于所述流表中已记录的数据流包括:
对所述待转发数据包的信息进行散列值计算;
将所述待转发数据包的信息的散列值,与所述流表内记录的流信息散列值进行匹配;以及
在匹配成功的情况下,确定所述待转发数据包属于所述流表中已记录的数据流。
8.根据权利要求5所述的网络负载均衡方法,其中,
所述流表包含流信息散列值字段、数据包计数字段、负载均衡组字段、和当前出口链路编号字段,其中,所述负载均衡组字段用于标识所述待转发数据包所属数据流。
9.根据权利要求5所述的网络负载均衡方法,其中,
在所述待转发数据包对应的出口链路类型为单路径类型的情况下,直接转发所述待转发数据包。
10.根据权利要求1至4任一所述的网络负载均衡方法,其中,
所述每个流量片段包括的数据包的数量,基于负载均衡质量和数据包乱序风险值确定。
11.根据权利要求2至4任一所述的网络负载均衡方法,其中,
所述阈值根据需要重复传输的数据包的数量确定。
12.根据权利要求11所述的网络负载均衡方法,其中,
所述需要重复传输的数据包的数量,基于网络设备的负载均衡的有效带宽和数据包乱序风险值确定。
13.一种网络负载均衡装置,包括:
流量划分模块,被配置为将数据流划分为多个流量片段,其中,所述多个流量片段中每个流量片段包括多个数据包;以及
负载均衡模块,被配置为将所述多个流量片段均衡分配到多条链路上进行转发。
14.根据权利要求13所述的网络负载均衡装置,其中,
所述负载均衡模块还被配置为接收待转发数据包;确定当前流量片段中已接收到的数据包的数量,在所述当前流量片段中已接收到的数据包的数量大于阈值的情况下,将所述待转发数据包按照所述当前流量片段以及下一流量片段所分配的链路进行转发。
15.一种网络负载均衡装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至12任一项所述的网络负载均衡方法。
16.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至12任一项所述的网络负载均衡方法。
CN202311402241.4A 2023-10-26 2023-10-26 网络负载均衡方法和装置 Pending CN117459462A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311402241.4A CN117459462A (zh) 2023-10-26 2023-10-26 网络负载均衡方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311402241.4A CN117459462A (zh) 2023-10-26 2023-10-26 网络负载均衡方法和装置

Publications (1)

Publication Number Publication Date
CN117459462A true CN117459462A (zh) 2024-01-26

Family

ID=89588585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311402241.4A Pending CN117459462A (zh) 2023-10-26 2023-10-26 网络负载均衡方法和装置

Country Status (1)

Country Link
CN (1) CN117459462A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117834540A (zh) * 2024-02-29 2024-04-05 成都秦川物联网科技股份有限公司 一种基于超声波水表的通信优化方法、物联网系统及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117834540A (zh) * 2024-02-29 2024-04-05 成都秦川物联网科技股份有限公司 一种基于超声波水表的通信优化方法、物联网系统及设备
CN117834540B (zh) * 2024-02-29 2024-05-14 成都秦川物联网科技股份有限公司 一种基于超声波水表的通信优化方法、物联网系统及设备

Similar Documents

Publication Publication Date Title
CN107819663B (zh) 一种实现虚拟网络功能服务链的方法和装置
JP6592595B2 (ja) コンピューティングネットワークにおけるデータトラフィックを管理する方法およびシステム
CN107438994B (zh) 用于服务器负载均衡的方法、设备和计算机存储介质
EP2985961B1 (en) Packet traffic control method and device based on multi-path transmission
US9602428B2 (en) Method and apparatus for locality sensitive hash-based load balancing
CN104618253B (zh) 一种动态变更的传输报文处理方法和装置
US11398977B2 (en) Packet classifier
US9419910B2 (en) Communication system, control apparatus, and communication method
CN117459462A (zh) 网络负载均衡方法和装置
JP2011103614A (ja) パケット振り分け機能を有する装置及びパケット振り分け方式
CN103685057B (zh) 流量统计方法和装置
US20160149820A1 (en) Hash Level Load Balancing For Deduplication Of Network Packets
WO2018013443A1 (en) Multiple core software forwarding
US20170048145A1 (en) Switching device and control method of switching device
US20150180793A1 (en) Method and an apparatus for virtualization of a quality-of-service
CN113542145A (zh) 以太网链路聚合组负载分担的方法以及网络设备
CN114006863A (zh) 一种多核负载均衡协同处理方法、装置及存储介质
CN109327400B (zh) 一种数据通信方法及数据通信网络
EP2104285B1 (en) Method and apparatus for reducing service loss in a link aggregation group
US20150263990A1 (en) Network device, control method, and program
CN105519058A (zh) 控制器、服务节点和数据包转发方法
CN109714269B (zh) 一种数据处理方法及网络设备
US11012378B2 (en) Methods and apparatus for shared buffer allocation in a transport node
CN110636003A (zh) 报文转发方法、装置、系统和计算机可读存储介质
US9166815B2 (en) Communication apparatus and communication controlling method in ring network

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