CN105939258B - Vrrp报文的发送方法及装置 - Google Patents
Vrrp报文的发送方法及装置 Download PDFInfo
- Publication number
- CN105939258B CN105939258B CN201610150992.5A CN201610150992A CN105939258B CN 105939258 B CN105939258 B CN 105939258B CN 201610150992 A CN201610150992 A CN 201610150992A CN 105939258 B CN105939258 B CN 105939258B
- Authority
- CN
- China
- Prior art keywords
- cpu
- bound
- target
- timer
- vrrp
- 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.)
- Active
Links
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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种VRRP报文的发送方法及装置,所述方法包括:在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量;基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU;将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。在本申请中,由于使用了多个CPU来发送VRRP报文,提高了每个CPU的处理效率,减小了VRRP报文的发送间隔,因此,可以解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种VRRP(Virtual Router RedundancyProtocol,虚拟路由冗余协议)报文的发送方法及装置。
背景技术
为了保证终端用户更好的与网络其他部分保持联系,VRRP应运而生。VRRP可以将局域网内的一组网关设备虚拟成一台虚拟的网关设备,并对外提供一个统一的虚IP地址作为网关地址。当真实承担网关功能的网关设备发生故障时,VRRP可以迅速的把作为网关地址的虚IP地址切换到正常运行的网关设备中,从而实现网络故障的快速恢复。
由于同一台网关设备可以配置多个VRRP实例的虚IP地址,因此,同一台网关设备上可以配置多个与VRRP实例对应的内核定时器。内核定时器可以定时触发VRRP报文。当大量的内核定时器同时触发多个VRRP报文时,网关设备的CPU使用率会很高,此时,CPU处理效率变低,一些VRRP报文不能被及时发出,从而导致网络出现震荡。
现有技术通过增大VRRP报文的发送间隔来减少多个VRRP报文同时发出的概率,从而可以缓解网关设备CPU因发送VRRP报文而导致的使用率过高的问题,但是一些VRRP报文还是未能及时发出,此时,网络仍然会出现震荡。
发明内容
有鉴于此,本申请提供一种VRRP报文的发送方法及装置,来解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种VRRP报文的发送方法,所述方法应用于网络设备上,所述网络设备包括多个中央处理器CPU,并且预先配置了多个VRRP备份组,所述方法包括:
在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量;
基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU;
将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。
可选的,所述统计所述多个CPU上已绑定定时器的数量之前,还包括:
检测设备型号;
基于所述设备型号确定CPU的类型;所述CPU的类型包括数据核CPU或控制核CPU。
可选的,所述基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU包括:
确定所述多个CPU中已绑定定时器最少的CPU;
将所述多个CPU中已绑定定时器最少的CPU确定为待绑定的目标CPU;
或者
计算所述多个CPU的使用率;将所述多个CPU中已绑定定时器数量最少,并且使用率最低的CPU确定为待绑定的目标CPU。
可选的,所述方法还包括:
当存在多个已绑定定时器最少的CPU时,进一步计算该多个CPU的使用率;
选择该多个CPU中使用率最低的CPU作为待绑定的目标CPU。
可选的,所述基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU包括:
计算所述多个CPU的使用率;
将所述多个CPU中每一CPU已绑定定时器的数量与该CPU的使用率进行加权计算;
将加权计算得到的加权值最小的CPU确定为待绑定的目标CPU。
根据本申请实施例的第二方面,提供一种VRRP报文的发送装置,所述装置应用于网络设备上,所述网络设备包括多个中央处理器CPU,并且预先配置了多个VRRP备份组,所述装置包括:
统计单元,用于在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量;
确定单元,用于基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU;
发送单元,用于将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。
可选的,所述统计单元进一步用于:
检测设备型号;
基于所述设备型号确定CPU的类型;所述CPU的类型包括数据核CPU或控制核CPU。
可选的,所述确定单元具体用于:
确定所述多个CPU中已绑定定时器最少的CPU;
将所述多个CPU中已绑定定时器最少的CPU确定为待绑定的目标CPU;
或者
计算所述多个CPU的使用率;将所述多个CPU中已绑定定时器数量最少,并且使用率最低的CPU确定为待绑定的目标CPU。
可选的,所述装置还包括:
计算单元,用于当存在多个已绑定定时器最少的CPU时,进一步计算该多个CPU的使用率;
选择单元,用于选择该多个CPU中使用率最低的CPU作为待绑定的目标CPU。
可选的,所述确定单元具体用于:
计算所述多个CPU的使用率;
将所述多个CPU中每一CPU已绑定定时器的数量与该CPU的使用率进行加权计算;
将加权计算得到的加权值最小的CPU确定为待绑定的目标CPU。
本申请提供VRRP报文的发送方法以及装置,在针对任一VRRP备份组绑定目标定时器时,可以先统计所述多个CPU上已绑定定时器的数量,然后基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU,确定所述目标CPU后,可以将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。在本申请中,由于使用多个CPU来发送VRRP报文,提高了每个CPU的处理效率,减小了VRRP报文的发送间隔,因此,可以解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
附图说明
图1为相关技术中VRRP报文的发送方法的流程图;
图2是本申请一实施例示出的一种VRRP报文的发送方法的流程图;
图3是本申请一实施例示出的一种承载VRRP报文的发送装置的网络设备的硬件结构图;
图4是本申请一实施例示出的VRRP报文的发送装置的逻辑框图;
图5是本申请另一实施例示出的VRRP报文的发送装置的逻辑框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为相关技术中VRRP报文的发送方法的流程图,在该应用场景中包括网关设备G、网关设备F和网关设备H这三个网关设备,其中,这三个网关设备上可以使能VRRP协议。
VRRP是一种动态选举协议,可以通过动态选举把局域网唯一虚IP地址202.38.160.111/24加载到运行VRRP的网关设备G、网关设备F或网管设备H上。假设此虚IP地址加载到了网关设备G上,此时,网关设备G承担了连接局域网内的主机与Internet的网关功能。当网关设备G发生故障时,网关设备F和网关设备H可以重新进行选举,然后可以将该虚IP地址加载到选举成功的网关设备上。
在实际使用带有VRRP功能的网关设备时,为了充分使用每一台网关设备,可以在每台设备上配置多个VRRP实例,其中,每个VRRP实例的虚IP地址可以各不相同。由于VRRP报文是基于内核定时器实现的,因此当网关设备上配置了大量的VRRP实例且VRRP报文发送时间设置过短时,设备上的定时器会频繁触发,从而导致CPU使用率过高,VRRP报文无法发出或者延时较严重。在这种情况下,由于局域网内的其他网关设备没有及时接收到VRRP报文,所以,会触发重新进行网关选举,从而可能会由于网络的震荡二影响网络的使用。
可见,在现有技术中,通过增大VRRP报文的发送间隔,可以减少设备CPU同时发送多个VRRP报文的概率,从而可以缓解网关设备CPU因发送VRRP报文而导致的使用率过高的问题。然而,由于一些VRRP报文可能未及时发出,因此仍然可能会导致网络出现震荡。
有鉴于此,本申请提供一种VRRP报文的发送方法及装置来解决现有技术的问题,在本申请中,在针对任一VRRP备份组绑定目标定时器时,可以先统计所述多个CPU上已绑定定时器的数量,然后基于预设的负载分担策略以及所述出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU,确定所述目标CPU后,可以将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。由于本申请使用多个CPU来发送VRRP报文,提高了每个CPU的处理效率,减小了VRRP报文的发送间隔,因此,可以解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
参见图2,是本申请一实施例示出的一种VRRP报文的发送方法的流程图,该实施例应用于网络设备,包括以下步骤:
步骤201:在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量。
在本申请实施例中,上述网络设备可以包括多个CPU,并且预先配置了多个VRRP备份组。其中,每一CPU可以是物理CPU,也可以是基于物理CPU虚拟出的虚拟CPU。
在针对任一VRRP备份组绑定目标定时器时,可以通过统计多个CPU上已绑定定时器的数量,然后基于一定负载分担策略结合统计出的各CPU已绑定定时器的数量从该多个CPU中为目标定时器确定待绑定的目标CPU。其中,在示出的一个实施例中,在统计多个CPU上已绑定定时器的数量之前,可以先检测设备型号,然后基于检测出的设备型号来确定CPU的类型。
其中,上述设备通常可以包括数据处理型的设备,也可以包括控制型设备,上述多个CPU的类型可以包括数据核CPU和控制核CPU。当检测出该网络设备为数据处理型网络设备,此时该设备更偏重于数据转发处理,该设备上的数据核CPU较多,在这种情况下,可以将待绑定的CPU的类型确定为数据核CPU,并从该设备的数据核CPU中选择CPU作为待绑定的目标CPU;同样的,当检测出该网络设备为控制型网络设备时,可以确定该设备更偏重于分析处理,该设备上的控制核CPU较多,在这种情况下,可以将待绑定的CPU的类型确定为控制核CPU,从该设备的控制核CPU中选择CPU作为待绑定的目标CPU。
其中,检测该网络设备类型的具体过程为现有技术,本申请在此不再赘述。
步骤202:基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU。
在本例中,当统计出多个CPU上已绑定定时器的数量之后,可以基于预设的负载分担策略以及统计出的上述已绑定定时器的数量从多个CPU中为目标定时器确定待绑定的目标CPU。
在示出的一个实施例中,上述负载分担策略可以包括:
在统计了多个CPU上已绑定定时器的数量之后,可以确定多个CPU中已绑定定时器最少的CPU,然后,可以将该已绑定定时器最少的CPU确定为待绑定的目标CPU。
当然,当存在两个或两个以上的已绑定定时器数量最少的CPU时,可以进一步计算该两个或该多个CPU中每个CPU的使用率,并选择使用率最低的CPU作为待绑定的目标CPU。
在示出的另一个实施例中,可以先分别计算多个CPU的使用率。然后,可以根据计算结果选择使用率最低的CPU为待绑定的目标CPU。
当存在两个或两个以上的使用率最低的CPU时,可以进一步查看该两个或该多个CPU上已绑定定时器的数量,并选择已绑定定时器数量最少的CPU作为待绑定的目标CPU。
除了以上描述的,根据已绑定定时器的数量以及CPU使用率来确定待绑定的目标CPU外,在实际应用中,也可以综合考虑已绑定的定时器的数量以及CPU使用率这两种因素来确定目标CPU。
在示出的另一个实施例中,在统计了多个CPU上已绑定定时器的数量之后,可以计算该多个CPU的使用率,然后将该多个CPU中已绑定定时器数量最少且使用率最低的CPU确定为待绑定的目标CPU。
例如,在实现时,可以先根据上述统计出的已绑定定时器的数量对该多个CPU进行排序,排序完成后,可以按照排序结果将每个CPU分为一个或一个以上的分组,具体分组数量可以为默认值或者由用户自定义设置。分组完成后,可以从上述分组中选择一个分组作为指定分组,例如,可以选择其中使用率最低的一个分组,然后,可以将上述指定分组中使用率最低的CPU确定为待绑定的目标CPU。
需要说明的是,当根据上述统计出的数量按照从小到大的顺序将每一CPU进行排序时,可以选择上述分组中的第一个分组为指定分组;当根据上述统计出的数量按照从大到小的顺序将每个CPU进行排序时,可以选择上述分组中的最后一个分组为指定分组。
在本例中,在综合考虑已绑定定时器的数量以及CPU使用率这两种因素来确定目标CPU时,也可以通过对这两种因素进行加权计算来确定目标CPU。
在示出的另一个实施例中,在统计了多个CPU上已绑定定时器的数量之后,可以先计算该多个CPU的使用率,然后可以将该多个CPU中每一CPU已绑定定时器的数量与该CPU的使用率分别进行加权计算,其中,该权重值可以为默认值或者由用户自定义设置,加权计算完成后,可以将加权计算得到的加权值最小的CPU确定为待绑定的目标CPU。
步骤203:将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。
从CPU中确定了待绑定的目标CPU后,设备可以将目标定时器绑定至目标CPU,以基于该目标定时器发送与上述VRRP备份组对应的VRRP定时报文。
当VRRP定时报文及时发出时,网关设备可以接收该VRRP定时报文,并根据VRRP定时报文确定自身的当前状态,此时,局域网内的VRRP备份组不会出现较大震荡,从而不会因影响网络的使用而造成网络的震荡。
在本申请中,在针对任一VRRP备份组绑定目标定时器时,可以先统计多个CPU上已绑定定时器的数量,然后可以基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU,确定所述目标CPU后,可以将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。由于本申请使用多个CPU来发送VRRP报文,提高了每个CPU的处理效率,减小了VRRP报文的发送间隔,因此,可以解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
下面通过具体实施例对以上实施例进行详细说明:
在本申请实施例中,在针对任一VRRP备份组绑定目标定时器时,可以先确定CPU的类型,其中,CPU的类型可以包括数据核CPU或控制核CPU。
由于,不同型号的网络设备对数据核CPU和控制核CPU的数量分配不同,如,数据处理型网络设备因更偏重于数据转发处理,所以其上数据核CPU较控制核CPU多;控制型网络设备因更偏重于分析处理,所以其上控制核CPU较数据核CPU多,因此,在确定CPU的类型之前,可以先检测网络设备的型号,然后基于检测出的设备型号来确定CPU的类型。
当检测出该网络设备为数据处理型网络设备时,可以将待绑定的CPU的类型确定为数据核CPU,并从该设备的数据核CPU中选择CPU作为待绑定的目标CPU;当检测出该网络设备为控制型网络设备时,可以将待绑定的CPU的类型确定为控制核CPU,从该设备的控制核CPU中选择CPU作为待绑定的目标CPU。
确定了CPU的类型之后,可以统计该多个CPU上已绑定定时器的数量。需要说明的是,每一CPU可以是物理CPU,也可以是基于物理CPU虚拟出的虚拟CPU。
统计了该多个CPU上已绑定定时器的数量之后,可以基于预设的负载分担策略以及统计出的上述数量从多个CPU中为目标定时器确定待绑定的目标CPU。
在示出的一个实施例中,上述负载分担策略可以包括:
算法一:
可以假设设备上包括5个CPU,该5个的CPU可以分别为CPU1、CPU2、CPU3、CPU4和CPU5。假设统计出的该5个的CPU已绑定定时器的数量如表1所示:
CPU | 已绑定定时器的数量(个) |
CPU1 | 5 |
CPU2 | 4 |
CPU3 | 2 |
CPU4 | 2 |
CPU5 | 3 |
表1
在统计了该多个CPU上已绑定定时器的数量之后,可以选择已绑定定时器数量最少的CPU作为待绑定的目标CPU,由表1可知,CPU3和CPU4都为已绑定定时器数量最少的CPU,此时,可以进一步计算CPU3和CPU4的使用率,假设CPU3的使用率为10%、CPU4的使用率为15%,则由使用率较低的CPU为待绑定的目标CPU可知,可以将CPU3作为待绑定的目标CPU。
算法二:
同样假设设备上包括CPU1、CPU2、CPU3、CPU4和CPU5这5个CPU,且统计出的该5个CPU已绑定定时器的数量可以如表1所示。此时,可以先计算出每一CPU的使用率。假设计算出的每一CPU的使用率如表2所示:
CPU | 使用率(%) |
CPU1 | 9 |
CPU2 | 9 |
CPU3 | 10 |
CPU4 | 15 |
CPU5 | 14 |
表2
计算出每一CPU的使用率后,可以选择使用率最低的CPU为待绑定的目标CPU,由表2可知,使用率最低的CPU为CPU1和CPU2,此时,可以进一步查看统计结果中该两个CPU上已绑定定时器的数量,并选择已绑定定时器数量最少的CPU作为待绑定的目标CPU。由表1可知,CPU1上已绑定定时器的数量为5、CPU2上已绑定定时器的数量为4,则由选择已绑定定时器数量最少的CPU为待绑定的目标CPU可知,可以将CPU2作为待绑定的目标CPU。
算法三:
同样假设设备上包括CPU1、CPU2、CPU3、CPU4和CPU5这5个CPU,且统计出的该5个的CPU已绑定定时器的数量可以如表1所示。此时,可以计算出每一CPU的使用率。假设计算出的每一CPU的使用率如表3所示:
CPU | 使用率(%) |
CPU1 | 9 |
CPU2 | 9 |
CPU3 | 5 |
CPU4 | 15 |
CPU5 | 14 |
表3
计算出每一CPU的使用率后,可以选择已绑定定时器数量最少且使用率最低的CPU为待绑定的目标CPU,由表1和表3可以,CPU3中已绑定定时器数量最少且使用率最低,此时,可以将CPU3作为待绑定的目标CPU。
算法四:
同样假设设备上包括CPU1、CPU2、CPU3、CPU4和CPU5这5个CPU,且统计出的该5个CPU已绑定定时器的数量可以如表1所示。根据如表1所示的统计结果对每一CPU进行排序时,可以得到按照从小到大的顺序排列的排序结果1:CPU3>-CPU4>-CPU5>-CPU2>-CPU1以及得到按照从大到小的顺序排列的排序结果2:CPU1>-CPU2>-CPU5>-CPU4>-CPU3这两个排序结果。
排序完成后,可以按照排序结果将每一CPU分为一个或一个以上的分组,具体分组数量可以为默认值或者由用户自定义设置。
以将排序结果1分为三组为例,可以将CPU3和CPU4设为第一分组、将CPU5和CPU2设为第二分组、将CPU1设为第三分组。
分组完成后,可以从上述分组中选择一个分组作为指定分组,然后,可以将上述指定分组中使用率最低的CPU确定为待绑定的目标CPU。其中,当根据上述统计结果按照从小到大的顺序将每一CPU进行排序时,可以选择上述分组中的第一个分组为指定分组。
同样以排序结果1为例,因为排序结果1是按照从小到大的顺序排列的,所以,可以将排序结果1的第一个分组作为指定分组,因此,上述第一分组CPU3和CPU4为指定分组。确定了指定分组后,可以计算指定分组中CPU的使用率。假设第一分组中CPU3的使用率为10%、CPU4的使用率为15%,则由使用率较低的CPU为待绑定的目标CPU可知,可以将CPU3作为待绑定的目标CPU。
算法五:
同样假设设备上包括CPU1、CPU2、CPU3、CPU4和CPU5这5个CPU,且统计出的该5个CPU已绑定定时器的数量可以如表1所示。此时,可以先计算出每一CPU的使用率。假设计算出的每一CPU的使用率可以如表2所示。每一CPU的使用率计算完成后,可以基于每一CPU已绑定定时器的数量以及每一CPU的使用率进行加权计算,该权重值可以为默认值或者由用户自定义设置,假设已绑定定时器的数量的权重值为0.7、使用率的权重值为0.3,则可以由表1和表2计算得知,CPU1、CPU2、CPU3、CPU4和CPU5的加权计算结果分别为6.2、5.5、4.4、5.9和6.3。由选择加权计算结果最小的CPU为待绑定的目标CPU可知,可以选择CPU3作为待绑定的目标CPU。
从CPU中确定了待绑定的目标CPU后,设备可以将目标定时器绑定至目标CPU,以基于该目标定时器发送与上述VRRP备份组对应的VRRP定时报文。
当VRRP定时报文及时发出时,网关设备可以接收该VRRP定时报文,并根据VRRP定时报文确定自身的当前状态,此时,局域网内的VRRP备份组不会出现较大震荡,从而不会因影响网络的使用而造成网络的震荡。
在本申请中,在针对任一VRRP备份组绑定目标定时器时,可以先统计多个CPU上已绑定定时器的数量,然后基于预设的负载分担策略以及统计出的数量从多个CPU中为目标定时器确定待绑定的目标CPU,确定目标CPU后,可以将目标定时器绑定至所述目标CPU,以基于该目标定时器发送与VRRP备份组对应的VRRP定时报文。由于本申请使用多个CPU来发送VRRP报文,提高了每个CPU的处理效率,减小了VRRP报文的发送间隔,因此,可以解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
与前述VRRP报文的发送方法的实施例相对应,本申请还提供了VRRP报文的发送装置的实施例。
本申请VRRP报文的发送装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请一实施例示出的一种承载VRRP报文的发送装置的网络设备的硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。
请参考图4,为本申请一实施例示出的VRRP报文的发送装置的逻辑框图:
该装置可以包括:统计单元410、确定单元420以及发送单元430。
统计单元410,用于在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量;
确定单元420,用于基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU;
发送单元430,用于将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。
在本例中,所述统计单元410可以进一步用于:
检测设备型号;
基于所述设备型号确定CPU的类型;所述CPU的类型包括数据核CPU或控制核CPU。
在一个可选的实现方式中,所述确定单元420可以具体用于:
确定所述多个CPU中已绑定定时器最少的CPU;
将所述多个CPU中已绑定定时器最少的CPU确定为待绑定的目标CPU;
或者
计算所述多个CPU的使用率;将所述多个CPU中已绑定定时器数量最少,并且使用率最低的CPU确定为待绑定的目标CPU。
请参见图5,在本例中,所述装置还可以包括:
计算单元440,用于当存在多个已绑定定时器最少的CPU时,进一步计算该多个CPU的使用率;
选择单元450,用于选择该多个CPU中使用率最低的CPU作为待绑定的目标CPU。
在一个可选的实现方式中,所述确定单元420可以具体用于:
计算所述多个CPU的使用率;
将所述多个CPU中每一CPU已绑定定时器的数量与该CPU的使用率进行加权计算;
将加权计算得到的加权值最小的CPU确定为待绑定的目标CPU。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请提供VRRP报文的发送装置,在针对任一VRRP备份组绑定目标定时器时,可以先统计所述多个CPU上已绑定定时器的数量,然后基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU,确定所述目标CPU后,可以将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。在本申请中,由于使用多个CPU来发送VRRP报文,提高了每个CPU的处理效率,减小了VRRP报文的发送间隔,因此,可以解决现有技术中因不能及时发出VRRP报文造成的网络震荡的问题。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种虚拟路由冗余协议VRRP报文的发送方法,其特征在于,所述方法应用于网络设备上,所述网络设备包括多个中央处理器CPU,并且预先配置了多个VRRP备份组,所述方法包括:
在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量;
基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU;
将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。
2.根据权利要求1所述的方法,其特征在于,所述统计所述多个CPU上已绑定定时器的数量之前,还包括:
检测设备型号;
基于所述设备型号确定CPU的类型;所述CPU的类型包括数据核CPU或控制核CPU。
3.根据权利要求1所述的方法,其特征在于,所述基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU包括:
确定所述多个CPU中已绑定定时器最少的CPU;
将所述多个CPU中已绑定定时器最少的CPU确定为待绑定的目标CPU;
或者
计算所述多个CPU的使用率;
将所述多个CPU中使用率最低的CPU确定为待绑定的目标CPU。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当存在多个已绑定定时器最少的CPU时,进一步计算该多个CPU的使用率;
选择该多个CPU中使用率最低的CPU作为待绑定的目标CPU。
5.根据权利要求1所述的方法,其特征在于,所述基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU包括:
计算所述多个CPU的使用率;
将所述多个CPU中每一CPU已绑定定时器的数量与该CPU的使用率进行加权计算;
将加权计算得到的加权值最小的CPU确定为待绑定的目标CPU。
6.一种虚拟路由冗余协议VRRP报文的发送装置,其特征在于,所述装置应用于网络设备上,所述网络设备包括多个中央处理器CPU,并且预先配置了多个VRRP备份组,所述装置包括:
统计单元,用于在针对任一VRRP备份组绑定目标定时器时,统计所述多个CPU上已绑定定时器的数量;
确定单元,用于基于预设的负载分担策略以及所述统计出的所述数量从所述多个CPU中为所述目标定时器确定待绑定的目标CPU;
发送单元,用于将所述目标定时器绑定至所述目标CPU,以基于该目标定时器发送与所述VRRP备份组对应的VRRP定时报文。
7.根据权利要求6所述的装置,其特征在于,所述统计单元进一步用于:
检测设备型号;
基于所述设备型号确定CPU的类型;所述CPU的类型包括数据核CPU或控制核CPU。
8.根据权利要求6所述的装置,其特征在于,所述确定单元具体用于:
确定所述多个CPU中已绑定定时器最少的CPU;
将所述多个CPU中已绑定定时器最少的CPU确定为待绑定的目标CPU;
或者
计算所述多个CPU的使用率;将所述多个CPU中使用率最低的CPU确定为待绑定的目标CPU。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
计算单元,用于当存在多个已绑定定时器最少的CPU时,进一步计算该多个CPU的使用率;
选择单元,用于选择该多个CPU中使用率最低的CPU作为待绑定的目标CPU。
10.根据权利要求6所述的装置,其特征在于,所述确定单元具体用于:
计算所述多个CPU的使用率;
将所述多个CPU中每一CPU已绑定定时器的数量与该CPU的使用率进行加权计算;
将加权计算得到的加权值最小的CPU确定为待绑定的目标CPU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610150992.5A CN105939258B (zh) | 2016-03-16 | 2016-03-16 | Vrrp报文的发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610150992.5A CN105939258B (zh) | 2016-03-16 | 2016-03-16 | Vrrp报文的发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105939258A CN105939258A (zh) | 2016-09-14 |
CN105939258B true CN105939258B (zh) | 2019-09-06 |
Family
ID=57152519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610150992.5A Active CN105939258B (zh) | 2016-03-16 | 2016-03-16 | Vrrp报文的发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105939258B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953561B (zh) * | 2020-07-28 | 2022-12-13 | 锐捷网络股份有限公司 | Vrrp震荡的抑制方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155129B (zh) * | 2006-09-29 | 2011-03-16 | 中兴通讯股份有限公司 | 一种实现虚拟路由通告时间动态最优调整的方法 |
US8547844B2 (en) * | 2007-07-10 | 2013-10-01 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for balancing IP gateway services |
CN101635648B (zh) * | 2009-08-05 | 2011-09-21 | 中兴通讯股份有限公司 | 一种对虚拟冗余路由协议组进行管理及快速切换的方法 |
CN102932281B (zh) * | 2012-10-31 | 2015-08-26 | 华为技术有限公司 | 一种资源的动态分配方法及设备 |
CN103259740B (zh) * | 2013-04-27 | 2017-03-15 | 杭州华三通信技术有限公司 | 一种负载均衡处理方法及装置 |
-
2016
- 2016-03-16 CN CN201610150992.5A patent/CN105939258B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105939258A (zh) | 2016-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6441404B2 (ja) | クライアントをアップデートするための方法およびデバイス | |
US11171969B2 (en) | Systems and methods for real-time configurable load determination | |
US9218203B2 (en) | Packet scheduling in a multiprocessor system using inter-core switchover policy | |
US9888048B1 (en) | Supporting millions of parallel light weight data streams in a distributed system | |
JP7020616B2 (ja) | リソーススケジューリングのための方法およびシステム | |
CN104951357B (zh) | 并行用户态协议栈的管理方法和协议栈系统 | |
JP5664098B2 (ja) | 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム | |
US10153979B2 (en) | Prioritization of network traffic in a distributed processing system | |
US9853906B2 (en) | Network prioritization based on node-level attributes | |
US20170091013A1 (en) | Pcie error reporting and throttling | |
WO2016107340A1 (zh) | 业务请求处理方法和装置 | |
CN111149325A (zh) | 用于选择区块链事务的事务选择设备 | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
CN110224943B (zh) | 基于url的流量服务限流方法、电子设备及计算机存储介质 | |
US9736235B2 (en) | Computer system, computer, and load balancing method | |
US9323596B2 (en) | Network apparatus and method of monitoring processor | |
CN107819825A (zh) | 一种服务调度方法、装置和电子设备 | |
CN111490963A (zh) | 基于quic协议栈的数据处理方法、系统、设备及存储介质 | |
CN102473121A (zh) | 系统芯片的缺点检测 | |
CN104484219B (zh) | 虚拟化平台中下发策略的方法和装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN105939258B (zh) | Vrrp报文的发送方法及装置 | |
CN105656794B (zh) | 数据分发方法、装置及计算机可读存储介质 | |
CN110808967A (zh) | 挑战黑洞攻击的检测方法及相关装置 | |
US10454709B2 (en) | Delivering messages according to a desired delivery order in a software defined network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |