CN118055069A - 负载控制方法、装置、网络设备及存储介质 - Google Patents
负载控制方法、装置、网络设备及存储介质 Download PDFInfo
- Publication number
- CN118055069A CN118055069A CN202211436841.8A CN202211436841A CN118055069A CN 118055069 A CN118055069 A CN 118055069A CN 202211436841 A CN202211436841 A CN 202211436841A CN 118055069 A CN118055069 A CN 118055069A
- Authority
- CN
- China
- Prior art keywords
- flooding
- load
- paths
- candidate
- path
- 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
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
-
- 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/15—Flow control; Congestion control in relation to multipoint traffic
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示出了本申请实施例提供的一种二层组播场景的示例图四。
图8示出了本申请实施例提供的一种负载控制方法的流程示意图三。
图9示出了本申请实施例提供的一种负载控制方法的流程示意图四。
图10示出了本申请实施例提供的一种负载控制装置的方框示意图。
图11示出了本申请实施例提供的一种网络设备的方框示意图。
图标:100-负载控制装置;101-选择模块;102-负载管理模块;103-路径分配模块;104-报文发送模块;10-网络设备;11-处理器;12-存储器;13-总线。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
目前,针对二层网络中到同一目的地有多条路径的场景,单播可以通过负载均衡技术提高路径的利用率,但是,组播、广播等泛洪逻辑通常不支持负载,因为泛洪是一种一对多的通信方式,所以为了防止出现多包,到同一目的地只能有一条路径。下面以二层组播为例进行说明。
二层组播的机制描述为:一个二层组播可以支持添加多个成员,报文通过指定组播组,向组播组中所有的成员泛洪一份报文,实现报文的组播发送。
例如,请参照图1,在图1所示的二层组播场景中,有三个设备,设备1和设备2之间有三条路径,设备1和设备3之间有一条路径,设备1要向设备2和设备3发送二层组播报文。如果将路径1~路径4都加入组播组,那么设备2将会收到三份重复的报文,所以,虽然设备1到设备2的路径有三条,但实际上只能使用一条,否则就会出现多包。
但是,实际应用场景中,经常会存在两台设备间有多条路径的场景,针对这种场景,现有技术中,单播可以通过负载均衡技术提高这些路径的利用率,组播、广播等泛洪逻辑却没有对应的负载方法。
下面以图1中的设备1和设备2为例进行说明,请参照图2,假设设备1上有六个组播组,一个组播组承担一项业务,每个组播组都需要向设备2发送报文,并且设备1到设备2的三条路径都是可负载的路径。
由于现有技术中没有对可负载的路径进行统一管理的方法,也没有对系统中存在的多个组播组进行统一管理方法,所以此时每个组播组都是独立的,每条路径也是独立的,组播组选择路径时没有任何信息可以依赖。因此,现有技术中,针对图2所示的场景,每个组播组都是在三条路径中选择最先建立的路径(例如,路径1)作为唯一路径,导致路径利用率低。
并且,因为每个组播组都选择了路径1作为唯一路径,所以路径1的带宽就是组播数据的最大支持流量,而路径1的带宽是有限的,当场景中组播等泛洪报文较多时,会存在明显的资源浪费和数据流量的转发瓶颈。同时,如果路径1出现故障,将导致流量中断,影响组播数据的可靠性。
即,现有技术中,无法实现不同组播组间的协同,也无法实现不同路径的协同利用,导致网络路径的利用率低。
因此,在数据中心网络中的路径冗余非常普遍,并且二层网络中的泛洪流量越来越大的情况下,针对二层网络中存在多个泛洪组、并且两台设备间有多条路径的场景,如何实现所有泛洪组的负载分担,是亟待解决的技术问题。
为了解决上述技术问题,本申请实施例针对与网络设备之间具有多条路径的目的主机,先从多条路径中确定出需要进行负载分担的每条候选路径形成一个负载对象,再将包含目的主机的每个泛洪组均与该负载对象绑定,最后把负载对象中的候选路径相对均匀地分配给不同的泛洪组,从而实现了网络设备上所有泛洪组的负载分担,提高了网络路径的利用率。
本实施例中的二层网络,可以是VLAN(Virtual Local Access Network,虚拟局域网),也可以是VXLAN(Virtual eXtensible Local Access Network,虚拟可扩展局域网),下述以VXLAN网络为例进行说明。
本实施例中的泛洪组,可以是组播组、广播域、未知单播流量的泛洪逻辑等,下述以组播组为例进行说明。即,下述均以二层组播场景为例,描述本申请实施例的具体实现。
在介绍本申请实施例的具体实现之前,先对一种可能的应用场景进行介绍。请参照图3,图3示出了一种应用场景的示意图,包括网络设备及n个主机,网络设备与n个主机通信连接,网络设备到每个主机均有至少一条路径。
需要指出的是,图3中示出的网络设备到各个主机的路径条数仅为示例,本领域技术人员应当理解,实际应用中应当以网络设备到不同主机的实际路径数为准,本申请实施例对此不做任何限制。
在本实施例中,网络设备可以是,但不限于交换机、路由器、数据中心等。
由于每个组播组到相同目的地只能添加一条路径,否则就会多包,所以,为了提高二层组播多条路径的利用率,提高二层组播的转发效率,在VXLAN网络中,网络设备到每个主机都是一条VXLAN隧道,可以关联不同的VXLAN实例,每个VXLAN实例都可以有一个或多个二层组播组。
也就是,结合到图3,图3中网络设备到每个主机都是一条隧道,网络设备到每个主机的路径都在各自的VXLAN隧道内,例如,网络设备到主机1的三条路径都在网络设备到主机1的VXLAN隧道内。
下面对本申请实施例提供的负载控制方法进行详细介绍。
请参照图4,图4示出了本申请实施例提供的负载控制方法的一种流程示意图。该负载控制方法应用于图3中的网络设备,可以包括以下步骤:
S101,从多个主机中,获得与网络设备之间具有多条路径的目的主机。
由于网络设备与多个主机通信连接,网络设备到每个主机均有至少一条路径,所以,如果网络设备到一个主机只有一条路径,则不需要进行负载控制,只有与网络设备之间具有多条路径的主机才需要进行负载控制。例如,结合到图3,网络设备到主机1有三条路径,则主机1为目的主机。
S102,从目的主机对应的多条路径中确定出需要进行负载分担的每条候选路径,并将所有候选路径形成一个负载对象。
实际应用场景中,虽然网络设备到目的主机有多条路径,但并不是所有的路径都是用来发送泛洪报文的,即,不是所有路径都需要进行负载分担。换句话说,多条路径中,有些路径是用来发送泛洪报文的,这部分路径就需要进行负载分担,但是,有些路径是用来发送其他报文的,例如,单播报文,这部分路径则不需要进行负载分担。因此,需要从目的主机对应的多条路径中确定出需要进行负载分担的每条候选路径,即,用来发送泛洪报文的路径,并将所有候选路径形成一个负载对象。
以VXLAN网络为例,当用户配置VXLAN时,设备根据EVPN(Ethernet VirtualPrivate Network,增强型虚拟专用网)协议计算建立VXLAN隧道,每个VXLAN隧道就是一个负载对象。例如,以图3中的网络设备和主机1为例,网络设备和主机1上运行EVPN协议,网络设备根据路由协议计算出网络设备到主机1的三条等价路径,并将这三条等价路径作为一个负载对象。
同时,网络设备以负载对象为单位进行管理,一个负载对象对应一个目的地,一个负载对象可以包括多个成员,每个成员就是一条候选路径。网络设备维护负载对象的添加和删除,同时维护负载对象中成员的添加和删除。
S103,获得包含目的主机的每个泛洪组,并将每个泛洪组均与负载对象绑定;其中,泛洪组用于将同一业务的报文泛洪至自身包含的每个主机。
在本实施例中,以二层组播为例,实际应用场景中,网络设备上会有多个组播组,通常,一个组播组承担一项业务,每个组播组都需要向自身包含的每个主机发送组播报文。由于网络设备上每个组播组到同一目的地只能添加一条路径,否则就会多包,所以单独一个组播组无法提高二层组播多条路径的利用率。
因此,为了提高目的主机对应的多条候选路径的利用率,可以先获得包含目的主机的每个组播组,并将每个组播组均与负载对象绑定,之后,再把负载对象中的候选路径相对均匀地分配给不同的组播组,使得每个组播组都有一条候选路径用于向目的主机发送组播报文。
同时,当创建一个组播组时,可以根据该组播组的组播报文的接收逻辑口,确定与接收逻辑口在同一广播域内的发送逻辑口,然后根据发送逻辑口确定负载对象,再根据负载对象当前的负载状态,从负载对象中找到相对空闲的一条候选路径作为该组播组的转发路径。
S104,基于负载对象,为每个泛洪组分配候选路径,使得一个泛洪组关联一条候选路径。
在本实施例中,以二层组播为例,通过步骤S102将包含目的主机的每个组播组均与负载对象绑定之后,把负载对象中的候选路径相对均匀地分配给不同的组播组,从而实现网络设备上所有组播组的负载分担,提高网络路径的利用率。
在一种可能的实现方式中,可以预先为负载对象和每条候选路径均配置权重值,并且初始的权重值相同,例如,均为0,后续基于负载对象和每条候选路径的权重值,把负载对象中的候选路径相对均匀地分配给不同的泛洪组。
下面以一个泛洪组为例,对步骤S104中基于负载对象为泛洪组分配候选路径的过程进行介绍。
可选地,步骤S104中基于负载对象为泛洪组分配候选路径的过程,可以包括:
S1041,获得负载对象的当前权重值和每条候选路径的当前权重值。
S1042,逐个将候选路径的当前权重值与负载对象的当前权重值进行比对。
S1043,若当前候选路径的当前权重值小于负载对象的当前权重值,则将当前候选路径分配给泛洪组,并将当前候选路径的当前权重值加设定数值。
S1044,若所有候选路径的当前权重值均等于负载对象的当前权重值,则将最后一条候选路径分配给泛洪组,并将最后一条候选路径的当前权重值加设定数值、将负载对象的当前权重值加设定数值。
与图3中的网络设备和主机1为例,请参照图5,假设网络设备上共有6个组播组,网络设备到主机1有一条VXLAN隧道,该VXLAN隧道即为一个负载对象,包含3条路径,即,路径1、2、3。为负载对象设置权重值X,为负载对象中的每一条路径设置一个权重值Y,初始权重值均为0。
从组播组1开始,依次为每个组播组分配候选路径。以组播组1为例,逐个将负载对象中路径的当前权重值与负载对象的当前权重值进行比对,即,先比对路径1的当前权重值Y1与负载对象的当前权重值X,若Y1<X,则将路径1分配给组播组1,并将路径1的当前权重值Y1加设定数值,例如,加1。若Y1=X,则比对路径2的当前权重值Y2与负载对象的当前权重值X,如果Y2=X则继续比对路径2的当前权重值Y3与负载对象的当前权重值X,直至遍历至负载对象中的最后一条路径时,若最后一条路径的当前权重值Yn仍等于X,则将最后一条路径分配给组播组1,并将负载对象的当前权重值X加设定数值、将路径1的当前权重值Y1加设定数值,例如,加1。以此类推,直至完成每个组播组的路径分配。
如图5所示,按照上述过程进行路径分配之后,组播组1、4分配到路径3,组播组2、5分配到路径1,组播组3、6分配到路径2。这样把负载对象中的候选路径均匀地分配给不同的组播组,使得不同的组播组有了不同的路径,从而解决了现有技术中每个组播组都选择最先建立的路径1作为唯一路径,路径2和路径3却处于空闲的问题,提高了网络路径的利用率。
需要指出的是,为了便于理解,上述是以一个泛洪组为例进行说明,但本领域技术人员应当理解,针对包含目的主机的每个组播组,都需要按照S1041~S1044的方式为分配候选路径,从而将负载对象中的候选路径均匀地分配给不同的组播组。
在一种可能的情形下,实际应用场景中,因为各种各样的原因,负载对象中的候选路径可能会发生故障,为了避免路径状态变化导致流量中断,可以先将发生故障的候选路径从负载对象中移除,再重新为与发生故障的候选路径关联的每个组播组分配路径。
因此,在图4的基础上,请参照图6,在步骤S104之后,本申请实施例提供的负载控制方法还包括S105~S106。
S105,当任意一条候选路径发生故障时,将发生故障的候选路径从负载对象中移除。
S106,基于移除发生故障的候选路径的负载对象,为与发生故障的候选路径关联的每个泛洪组重新分配候选路径。
例如,在图5的基础上,请参照图7,假设路径1发生故障,为了避免路径状态变化导致流量中断,先将路径1从负载对象中移除,此时负载对象中包括状态正常的路径2和路径3,;然后,保持与路径2和路径3已建立关联关系的组播组(即,组播组1、3、4、6)不变,重新为与路径1关联的组播组2、5分配路径,将组播组2分配到路径3,组播组5分配到路径2。
需要指出的是,为与发生故障的候选路径关联的每个组播组重新分配候选路径的过程,与上述S1041~S1044的过程类似,本申请实施例对此不再赘述。
在另一种可能的情形下,实际应用场景中,可能会在负载对象中增加新的候选路径,也可能会新建包含目的主机的组播组。为了避免路径状态变化导致流量中断,当负载对象中增加新的候选路径时,可以保持路径状态正常且已建立关联关系的组播组和候选路径不变,仅将新建的组播组分配到当前负载较低的新的候选路径。
因此,在图4的基础上,请参照图8,在步骤S104之后,本申请实施例提供的负载控制方法还包括S107~S108。
S107,当负载对象中新增候选路径时,保持已建立关联关系的泛洪组和候选路径不变。
S108,基于新增候选路径的负载对象,为新建的泛洪组分配候选路径。
例如,结合到图5,当负载对象中新增一条路径4时,为了避免路径状态变化导致流量中断,如果负载对象中原有的路径1、2、3均正常,则保持已分配路径的组播组1、2、3、4、5、6不变。之后,当新建组播组7、8时,将新建的组播组分配到当前负载较低的路径4。
可选地,在一种可能的实现方式中,为了提高业务的稳定性和灵活性,可以在业务空闲时,为每个组播组重新分配候选路径,以提高业务的稳定性和灵活性。
因此,在步骤S104之后,本申请实施例提供的负载控制方法还包括S109。
S109,当业务空闲时,基于负载对象,为每个泛洪组重新分配所述候选路径。
例如,结合到上述举例,假设有组播组1、2、3、4、5、6、7、8,负载对象包括路径1、2、3、4,则可以在业务空闲时,重新为8个组播组分配负载对象中的4条路径,从而在业务空闲时,强制重新分配负载,实现流量重新负载,提高了业务的稳定性和灵活性。
需要指出的是,为新建组播组候选路径的过程、以及在业务空闲时为每个组播组重新分配候选路径的过程,与上述S1041~S1044的过程类似,本申请实施例对此不再赘述。
下面基于上述介绍的负载控制过程,对网络设备上组播报文的发送过程进行介绍。
在图4的基础上,请参照图9,在步骤S104之后,本申请实施例提供的负载控制方法还包括S110~S112。
S110,获得业务报文。
S111,若业务报文为泛洪报文,则确定用于泛洪该业务报文的特定泛洪组。
S112,通过特定泛洪组,将业务报文泛洪至特定泛洪组包含的每个主机;其中,特定泛洪组通过与自身关联的候选路径将业务报文发送至与网络设备之间具有多条路径的目的主机。
在本实施例中,泛洪报文包括组播流量、广播流量、未知单播流量等中的一种。泛洪报文可以是与网络设备通信的其它设备发送至网络设备,需要网络设备泛洪至相关主机的,也可以是网络设备自身产生并泛洪至相关主机的,本申请实施例对此不做任何限制。
即,本申请实施例提供的负载控制方法应用于二层域负载,可以包括广播流量、组播流量、未知单播流量等泛洪流量的转发逻辑,也可以包括广播流量、组播流量、未知单播流量等泛洪流量的CPU发送逻辑。
与现有技术相比,本申请实施例具有以下有益效果:
首先,将包含同一目的主机的多个泛洪组统一管理,并将相同目的地的多条候选路径形成一个负载对象统一管理,把负载对象中的候选路径相对均匀地分配给不同的泛洪组,从而可以在保证每个泛洪组到同一目的地只有一条候选路径的基础上,提高网络路径的利用率。
其次,由于把负载对象中的候选路径相对均匀地分配给不同的泛洪组,与现有技术中每个组播组都选择最先建立的路径作为唯一路径的方式相比,可以支持更高的泛洪流量上限。
第三,当负载对象中的候选路径发生故障时,保持状态正常的候选路径已分配的组播组不变,仅为与发生故障的候选路径关联的每个泛洪组重新分配路径,从而可以避免路径状态变化导致流量中断。
第四,当负载对象中增加新的候选路径时,保持已建立关联关系的泛洪组和候选路径不变,仅将新建的组播组分配到当前负载较低的新的候选路径,从而可以避免路径状态变化导致流量中断。
第五,当业务空闲时,强制重新分配负载,实现流量重新负载,提高了业务的稳定性和灵活性。
为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面给出一种负载控制装置的实现方式。
请参照图10,图10示出了本申请实施例提供的负载控制装置100的方框示意图。负载控制装置100应用于图3中的网络设备,负载控制装置100包括:选择模块101、负载管理模块102和路径分配模块103。
选择模块101,用于从多个主机中,获得与网络设备之间具有多条路径的目的主机。
负载管理模块102,用于从目的主机对应的多条路径中确定出需要进行负载分担的每条候选路径,并将所有候选路径形成一个负载对象。
负载管理模块102,还用于获得包含目的主机的每个泛洪组,并将每个泛洪组均与负载对象绑定;其中,泛洪组用于将同一业务的报文泛洪至自身包含的每个主机。
路径分配模块103,用于基于负载对象,为每个泛洪组分配候选路径,使得一个泛洪组关联一条候选路径。
可选地,负载对象和每条候选路径均预先配置有权重值,且初始权重值相同;路径分配模块103具体用于:
针对每个泛洪组,获得负载对象的当前权重值和每条候选路径的当前权重值;
逐个将候选路径的当前权重值与负载对象的当前权重值进行比对;
若当前候选路径的当前权重值小于负载对象的当前权重值,则将当前候选路径分配给泛洪组,并将当前候选路径的当前权重值加设定数值;
若所有候选路径的当前权重值均等于负载对象的当前权重值,则将最后一条候选路径分配给泛洪组,并将最后一条候选路径的当前权重值加设定数值、将负载对象的当前权重值加设定数值。
可选地,负载管理模块102,还用于当任意一条候选路径发生故障时,将发生故障的候选路径从负载对象中移除。
路径分配模块103,还用于基于移除发生故障的候选路径的负载对象,为与发生故障的候选路径关联的每个泛洪组重新分配候选路径。
可选地,负载管理模块102,还用于当负载对象中新增候选路径时,保持已建立关联关系的泛洪组和候选路径不变。
路径分配模块103还用于:
基于新增候选路径的负载对象,为新建的泛洪组分配候选路径。
可选地,路径分配模块103,还用于当业务空闲时,基于的负载对象,为每个泛洪组重新分配候选路径。
可选地,负载控制装置100还可以包括报文发送模块104,报文发送模块104用于:
获得业务报文;
若业务报文为泛洪报文,则确定用于泛洪该业务报文的特定泛洪组;
通过特定泛洪组,将业务报文泛洪至特定泛洪组包含的每个主机;其中,特定泛洪组通过与自身关联的候选路径将业务报文发送至与网络设备之间具有多条路径的目的主机。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的负载控制装置100的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参照图11,图11示出了本申请实施例提供的网络设备10的方框示意图。网络设备10可以是路由器、交换机等,包括处理器11、存储器12及总线13,处理器11通过总线13与存储器12连接。
存储器12用于存储程序,处理器11在接收到执行指令后,执行所述程序以实现上述实施例揭示的负载控制方法。
存储器12可能包括高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失存储器(non-volatile memory,NVM)。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、微控制单元(Microcontroller Unit,MCU)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、嵌入式ARM等芯片。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器11执行时实现上述实施例揭示的负载控制方法。
综上所述,本申请实施例提供的一种负载控制方法、装置、网络设备及存储介质,针对与网络设备之间具有多条路径的目的主机,先从目的主机对应的多条路径中确定出需要进行负载分担的每条候选路径形成一个负载对象,再将包含目的主机的每个泛洪组均与该负载对象绑定,最后,基于负载对象为每个泛洪组分配候选路径,使得一个泛洪组关联一条候选路径;从而把负载对象中的候选路径相对均匀地分配给不同的泛洪组,实现了网络设备上所有泛洪组的负载分担,提高了路径利用率。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种负载控制方法,其特征在于,应用于网络设备,所述网络设备与多个主机通信连接,所述方法包括:
从所述多个主机中,获得与所述网络设备之间具有多条路径的目的主机;
从所述目的主机对应的多条路径中确定出需要进行负载分担的每条候选路径,并将所有候选路径形成一个负载对象;
获得包含所述目的主机的每个泛洪组,并将每个所述泛洪组均与所述负载对象绑定;其中,所述泛洪组用于将同一业务的报文泛洪至自身包含的每个主机;
基于所述负载对象,为每个所述泛洪组分配所述候选路径,使得一个所述泛洪组关联一条所述候选路径。
2.如权利要求1所述的方法,其特征在于,所述负载对象和每条所述候选路径均预先配置有权重值,且初始权重值相同;
所述基于所述负载对象,为每个所述泛洪组分配所述候选路径的步骤,包括:
针对每个所述泛洪组,获得所述负载对象的当前权重值和每条所述候选路径的当前权重值;
逐个将所述候选路径的当前权重值与所述负载对象的当前权重值进行比对;
若当前候选路径的当前权重值小于所述负载对象的当前权重值,则将所述当前候选路径分配给所述泛洪组,并将所述当前候选路径的当前权重值加设定数值;
若所有候选路径的当前权重值均等于所述负载对象的当前权重值,则将最后一条候选路径分配给所述泛洪组,并将最后一条候选路径的当前权重值加所述设定数值、将所述负载对象的当前权重值加所述设定数值。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当任意一条候选路径发生故障时,将发生故障的候选路径从所述负载对象中移除;
基于移除发生故障的候选路径的负载对象,为与发生故障的候选路径关联的每个泛洪组重新分配所述候选路径。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述负载对象中新增候选路径时,保持已建立关联关系的泛洪组和候选路径不变;
基于新增候选路径的负载对象,为新建的泛洪组分配所述候选路径。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当业务空闲时,基于所述负载对象,为每个所述泛洪组重新分配所述候选路径。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
获得业务报文;
若所述业务报文为泛洪报文,则确定用于泛洪所述业务报文的特定泛洪组;
通过所述特定泛洪组,将所述业务报文泛洪至所述特定泛洪组包含的每个主机;其中,所述特定泛洪组通过与自身关联的候选路径将所述业务报文发送至与所述网络设备之间具有多条路径的目的主机。
7.如权利要求6所述的方法,其特征在于,所述泛洪报文包括组播流量、广播流量、未知单播流量中的一种。
8.一种负载控制装置,其特征在于,应用于网络设备,所述网络设备与多个主机通信连接,所述装置包括:
选择模块,用于从所述多个主机中,获得与所述网络设备之间具有多条路径的目的主机;
负载管理模块,用于从所述目的主机对应的多条路径中确定出需要进行负载分担的每条候选路径,并将所有候选路径形成一个负载对象;
所述负载管理模块,还用于获得包含所述目的主机的每个泛洪组,并将每个所述泛洪组均与所述负载对象绑定;其中,所述泛洪组用于将同一业务的报文泛洪至自身包含的每个主机;
路径分配模块,用于基于所述负载对象,为每个所述泛洪组分配所述候选路径,使得一个所述泛洪组关联一条所述候选路径。
9.一种网络设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现权利要求1-7任一项所述的负载控制方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的负载控制方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211436841.8A CN118055069A (zh) | 2022-11-16 | 2022-11-16 | 负载控制方法、装置、网络设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211436841.8A CN118055069A (zh) | 2022-11-16 | 2022-11-16 | 负载控制方法、装置、网络设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118055069A true CN118055069A (zh) | 2024-05-17 |
Family
ID=91050726
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211436841.8A Pending CN118055069A (zh) | 2022-11-16 | 2022-11-16 | 负载控制方法、装置、网络设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118055069A (zh) |
-
2022
- 2022-11-16 CN CN202211436841.8A patent/CN118055069A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7417825B2 (ja) | スライスベースルーティング | |
| US10063470B2 (en) | Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof | |
| US11218537B2 (en) | Load balancing in distributed computing systems | |
| US8855116B2 (en) | Virtual local area network state processing in a layer 2 ethernet switch | |
| CN111600806B (zh) | 负载均衡方法、装置、前端调度服务器、存储介质及设备 | |
| US8549120B2 (en) | System and method for location based address assignment in the distribution of traffic in a virtual gateway | |
| KR102340683B1 (ko) | 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법 | |
| EP2993838B1 (en) | Methods for setting a member identity of gateway device and corresponding management gateway devices | |
| US9577956B2 (en) | System and method for supporting multi-homed fat-tree routing in a middleware machine environment | |
| US20170264496A1 (en) | Method and device for information processing | |
| CN107735989B (zh) | 用于传输网络上站点互连的方法和系统 | |
| WO2020062268A1 (zh) | 在网络中的负载均衡和报文重排序方法及装置 | |
| Cheng et al. | Application-aware SDN routing for big data networking | |
| Zahid et al. | Efficient network isolation and load balancing in multi-tenant HPC clusters | |
| US9900804B2 (en) | Method and device for processing to share network resources, and method, device and system for sharing network resources | |
| CN114157668B (zh) | 多租户跨集群的组网方法、通信系统和可读存储介质 | |
| CN104243304B (zh) | 非全连通拓扑结构的数据处理方法、设备和系统 | |
| CN113422735A (zh) | 负载均衡配置方法、汇聚分流器及介质 | |
| CN108259205B (zh) | 一种路由发布方法及网络设备 | |
| CN111030932B (zh) | 一种数据报文锚定的方法、装置及系统 | |
| CN110391987B (zh) | 从运营商边缘设备集合中选择指定转发器的方法、设备及计算机可读介质 | |
| CN109889421B (zh) | 路由器的管理方法、装置、终端、系统及存储介质 | |
| CN118055069A (zh) | 负载控制方法、装置、网络设备及存储介质 | |
| US10567271B2 (en) | Topology-aware packet forwarding in a communication network | |
| Shpiner et al. | SAL: Scaling data centers using smart address learning |
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 |