CN115967669B - 基于vrrp拓展协议的脑裂抑制方法及装置 - Google Patents

基于vrrp拓展协议的脑裂抑制方法及装置 Download PDF

Info

Publication number
CN115967669B
CN115967669B CN202310252533.8A CN202310252533A CN115967669B CN 115967669 B CN115967669 B CN 115967669B CN 202310252533 A CN202310252533 A CN 202310252533A CN 115967669 B CN115967669 B CN 115967669B
Authority
CN
China
Prior art keywords
node
main
message
priority
address
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
Application number
CN202310252533.8A
Other languages
English (en)
Other versions
CN115967669A (zh
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.)
Beijing Zhiling Haina Technology Co ltd
Original Assignee
SmartX Inc
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 SmartX Inc filed Critical SmartX Inc
Priority to CN202310252533.8A priority Critical patent/CN115967669B/zh
Publication of CN115967669A publication Critical patent/CN115967669A/zh
Application granted granted Critical
Publication of CN115967669B publication Critical patent/CN115967669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于VRRP拓展协议的脑裂抑制方法及装置,应用于备用节点,该方法包括:判断是否接收到多个主节点的通告报文;在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。用以解决现有技术的解决方案中无法低成本、高可靠性地发现并解决脑裂问题的缺陷。

Description

基于VRRP拓展协议的脑裂抑制方法及装置
技术领域
本发明涉及数据通信技术领域,尤其涉及一种基于VRRP拓展协议的脑裂抑制方法及装置。
背景技术
虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的一个VRRP组中多台VRRP路由器中的一台。VRRP组内多个路由器都映射为一个虚拟的路由器,拥有相同的虚拟路由器IP地址。VRRP保证同时有且只有一台VRRP路由器在代表该虚拟的路由器进行数据包的发送。控制虚拟路由器IP地址的VRRP路由器称为主用路由器,它负责转发数据包到虚拟路由器IP地址。一旦主用路由器不可用,备用路由器可以在不影响内外数据通信的前提下进行功能切换,且不需要修改内部网络的参数。这就使得局域网内的路由器看上去只使用了一台路由器,并且即使在它当前所使用的首跳路由器不能识别的情况下仍然能够保持路由的连通性。
当主备两台高可用服务器(VRRP路由器)之间的通信出现异常,在指定的时间内,无法互相检测到对方存在而各自启动故障转移功能,取得了资源以及服务的所有权,而此时的两台高可用服务器对端还存在并作正常运行,这样就会导致同一个服务在两个服务器端同时启动而发生冲突的问题,最严重的情况就是两台主机同时占用一个虚拟IP地址(Virtual IP address,VIP),类似双端导入概念,当用户写入数据的时候可能会分别写入到两端,这样可能会导致服务器两端的数据不一致或造成数据的丢失,导致通信流量异常,这种情况称为脑裂,或称为分区集群或大脑垂直分隔。
针对脑裂问题,目前的解决方案包括以下三种方式:
多数投票:多数投票为节点之间进行投票选举,必须过半节点的认可,才能成为新的主节点,此方案需要布置较多数量节点,带来额外的节点数量开销和系统复杂度增加(增设选举投票的模块),成本投入较高。
第三方仲裁:第三方仲裁为当多个节点出现冲突的情况,可以由第三方仲裁来决定谁是主节点,此方案引入第三方增加了系统的资源和复杂度,且存在第三方节点失活的风险,可靠性较低。
冗余通信:冗余通信为集群中采用多种通信方式,防止一种通信方式失效导致集群中的节点无法通信,此方案只能在一定程度上降低脑裂风险,但不能发现并解决脑裂问题。
发明内容
本发明提供一种基于VRRP拓展协议的脑裂抑制方法,用以解决现有技术的解决方案中无法低成本、高可靠性地发现并解决脑裂问题的缺陷。
本发明提供一种基于VRRP拓展协议的脑裂抑制方法,应用于备用节点,该方法包括:
判断是否接收到多个主节点的通告报文;
在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
根据本发明提供的一种基于VRRP拓展协议的脑裂抑制方法,所述判断是否接收到多个主节点的通告报文,包括:
接收并缓存通告报文中的主节点信息,主节点信息包括:主节点优先级和主节点IP地址;
在缓存中存在多个主节点信息的情况下,判断为接收到多个主节点的通告报文。
根据本发明提供的一种基于VRRP拓展协议的脑裂抑制方法,所述在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,包括:
从各主节点的通告报文中分别获取各主节点优先级和主节点IP地址;
对于具有相同优先级的主节点,合并相同优先级的主节点对应的抑制报文。
根据本发明提供的一种基于VRRP拓展协议的脑裂抑制方法,还包括:
在接收到抑制报文的情况下,忽略所述抑制报文。
本发明还提供一种基于VRRP拓展协议的脑裂抑制方法,应用于主节点,该方法包括:
接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送;
根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
根据本发明提供的一种基于VRRP拓展协议的脑裂抑制方法,所述根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态;
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址;
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
本发明还提供一种基于VRRP拓展协议的脑裂抑制装置,应用于备用节点,该装置包括:
通告报文判断模块,用于判断是否接收到多个主节点的通告报文;
抑制报文发送模块,用于在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
本发明还提供一种基于VRRP拓展协议的脑裂抑制装置,应用于主节点,该装置包括:
抑制报文接收模块,用于接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送;
节点状态判断模块,用于根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种基于VRRP拓展协议的脑裂抑制方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种基于VRRP拓展协议的脑裂抑制方法。
本发明提供的一种基于VRRP拓展协议的脑裂抑制方法,通过备用节点判断是否接收到多个主节点的通告报文,并发送多个主节点的抑制报文,以实现对脑裂问题的抑制。对于备用节点侧,若同时接收到至少两个主节点的通告报文,说明此时VRRP组出现了多个主节点服务器,即发生了脑裂问题。备用节点则会向外发送两个主节点的抑制报文,由于主节点之间的通信出现异常,因此通过备用节点发送的抑制报文能够用于当前主节点进行状态的判断。主节点接收抑制报文后,会根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,最终VRRP组只保留一个主节点,至此VRRP脑裂抑制的过程完成。本发明仅通过VRRP协议拓展,即可实现脑裂场景的抑制,不依赖其他外部组件,具备较低的成本投入;并且本发明在直接协议层面实现脑裂抑制,能够快速发现并解决脑裂问题,减少了服务异常的时间,具备高可靠性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于VRRP拓展协议的脑裂抑制方法的流程示意图之一;
图2是本发明提供的基于VRRP拓展协议的脑裂抑制方法的VRRP拓展协议的工作流程示意图;
图3是本发明提供的基于VRRP拓展协议的脑裂抑制方法的流程示意图之二;
图4是本发明提供的基于VRRP拓展协议的脑裂抑制方法的主节点处理报文的流程示意图;
图5是本发明提供的基于VRRP拓展协议的脑裂抑制装置的结构示意图之一;
图6是本发明提供的基于VRRP拓展协议的脑裂抑制装置的结构示意图之二;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明第一实施例的基于VRRP拓展协议的脑裂抑制方法,应用于备用节点,具体包括以下步骤(本实施例对各步骤的编号仅做步骤区分作用,不限制各步骤的具体执行顺序):
S110:判断是否接收到多个主节点的通告报文。
S120:在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
如图2所示,初始阶段一,通过VRRP选举,VRRP1节点成为VRRP主节点(Master节点),对外发布虚拟IP地址,提供服务,VRRP2节点和VRRP3节点是备用节点(Backup节点),当主节点异常时切换为主节点。在初始阶段,主节点会定期向外发送通告报文(Advertisement报文),VRRP2节点和VRRP3节点接收到通告报文保持备用状态。
阶段二,VRRP1节点和VRRP2节点之间的链路出现了故障,通信出现异常,导致VRRP2节点无法正常收到VRRP1节点发送的通告报文,VRRP2节点开始进入超时定时器阶段。
阶段三,VRRP2节点持续未能收到广播报文,导致定时器超时,VRRP2节点认为自己成为了新的主节点,并且开始往外发送通告报文,此时即发生了脑裂的场景。通信中断的情况下,VRRP1节点和VRRP2节点互相不知道彼此的状态,导致两个节点同时成为主节点。
阶段四,作为备用节点侧的VRRP3节点会同时接收VRRP1和VRRP2两个节点发来的通告报文。于是,在当前场景下,VRRP3节点会向外广播VRRP1节点和VRRP2节点的抑制报文(Restrain报文)。
本实施例对于VRRP协议的改造如下:
增加一个新的抑制VRRP类型,该字段的值为2(通告报文的字段的值为1),即VRRP数据报文中Type = 2,表示该数据报文为抑制报文,于是抑制报文如下表1所示:
表1 VRRP协议数据报文格式
Figure SMS_1
其中,VRRP协议版本(Version)、虚拟路由器标识(Virtual Route ID)、认证类型(Auth Type)、VRRP通告间隔时间(Adver Int)、校验和(Checksum)与通告报文字段定义和值均相同,不同定义的有如下字段:
优先级(Priority):原本的定义是标识发送主节点优先级。对于抑制报文,该字段的定义为发生冲突的一个主节点优先级。
虚拟IP地址(IP Address):虚拟路由器IP地址,原本的定义是提供服务的虚拟IP地址列表。对于抑制报文,该字段的定义为发生冲突的主节点IP地址,该地址是从主节点通告报文的IP地址报头中的源IP地址字段获取。
虚拟IP地址数量(Count IP Addrs):VRRP通告报文中包含的虚拟IP地址数量。对于抑制报文,该字段的值表示当前优先级发生冲突的主节点数量。
VRRP1节点和VRRP2节点收到抑制报文后,分别根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断是否保持主节点状态或者切换为备用节点状态。由于VRRP1节点的优先级更高,或者优先级相同的情况下主接口的IP地址更大,所以可以继续保持主节点状态,VRRP2节点此时就相应的切换为备用节点,至此VRRP脑裂抑制的过程完成。
本发明提供的一种基于VRRP拓展协议的脑裂抑制方法,通过备用节点判断是否接收到多个主节点的通告报文,并发送多个主节点的抑制报文,以实现对脑裂问题的抑制。对于备用节点侧,若同时接收到至少两个主节点的通告报文,说明此时VRRP组出现了多个主节点服务器,即发生了脑裂问题。备用节点则会向外发送两个主节点的抑制报文,由于主节点之间的通信出现异常,因此通过备用节点发送的抑制报文能够用于当前主节点进行状态的判断。主节点接收抑制报文后,会根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,最终VRRP组只保留一个主节点,至此VRRP脑裂抑制的过程完成。本发明仅通过VRRP协议拓展,即可实现脑裂场景的抑制,不依赖其他外部组件,具备较低的成本投入;并且本发明在直接协议层面实现脑裂抑制,能够快速发现并解决脑裂问题,减少了服务异常的时间,具备高可靠性。
本实施例中,步骤S110包括:
接收并缓存通告报文中的主节点信息,主节点信息包括:主节点优先级和主节点IP地址。
在缓存中存在多个主节点信息的情况下,判断为接收到多个主节点的通告报文。
备用节点接收到通告报文,会保持备用节点状态,并刷新定时器超时时间。对于原始的通告报文,备用节点会按照标准 VRRP 协议,处理通告报文中的优先级等内容后丢弃报文,对于本发明的VRRP扩展协议,此时备用节点还会缓存主节点信息,并且判断缓存中是否存在多个主节点信息,如果有至少两个主节点同时出现,则判断接收到多个主节点的通告报文,就会向外发送抑制报文。
备用节点通过缓存主节点信息判断是否存在多个主节点,并及时发送抑制报文,通过上述过程能够及时发现并处理脑裂问题。
本实施例中,步骤S120包括:
从各主节点的通告报文中分别获取各主节点优先级和主节点IP地址。
对于具有相同优先级的主节点,合并相同优先级的主节点对应的抑制报文。
若此时缓存中有两个主节点的主节点信息,优先级分别为100和200,主接口的IP地址分别为IP-A和IP-B,则备用节点对外发送的抑制报文为:
报文1:Type=Restrain,Priority=100,IP Addr=IP-A,Count IP Addr=1。
报文2:Type=Restarin,Priority=200,IP Addr=IP-B,Count IP Addr=1。
若此时缓存中有两个主节点,优先级都为100,主接口IP地址分别为IP-A和IP-B,则会对外广播的抑制报文为合并后的报文:
报文:Type=Restrain,Priority=100,IP Addr=IP-A、IP-B,Count IP Addr=2。
将存在相同优先级的主节点的抑制报文进行合并,减少重复信息的发送,确保报文信息的高效处理。
本实施例中,还包括:在接收到抑制报文的情况下,忽略所述抑制报文。
备用节点根据接收的报文类型选择相应的处理方式,若接收的报文类型为抑制报文,对于已处于备用节点状态的节点则不产生实际意义。因此为保证信息处理的高效性,对于接收的抑制报文将不做处理直接忽略。
本发明的基于VRRP拓展协议的脑裂抑制方法,至少需要三个节点以实现脑裂抑制功能。如果同一个虚拟路由器组的只有两个节点,为保持协议兼容性,两节点场景则退化成原始VRRP协议的逻辑。
此外,在本发明中,若存在多个备用节点(VRRP4、VRRP5…),以上备用节点在接收到多个主节点的通告报文的情况下,均会向外发送多个主节点的抑制报文,以提高抑制报文的冗余度,确保脑裂抑制的可靠性。
如图3所示,本发明第二实施例的基于VRRP拓展协议的脑裂抑制方法,应用于主节点,具体包括以下步骤(本实施例对各步骤的编号仅做步骤区分作用,不限制各步骤的具体执行顺序):
S310:接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送。
S320:根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
本实施例中,步骤S320,包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态。
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址。
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
如图4所示,图4为VRRP组主节点处理报文的完整流程示意图。本发明方法属于VRRP协议拓展,因此对原始VRRP协议的逻辑具备兼容性。对于现有的VRRP协议,当前组报文中只有通告报文,本发明对VRRP协议拓展后,在脑裂发生的情况下,当前组报文中既包括通告报文又包括抑制报文,但主节点只会收到抑制报文。对于VRRP主节点,原本只会接受并处理通告报文,在本发明的VRRP扩展协议中,由于优先级字段的设定本身没有大的变化,因此优先级比较逻辑仍然可以复用。
在VRRP组运行的过程中,主节点能够接收到的报文包括通告报文和抑制报文。主节点收到当前组报文,此处不区分报文的类型是通告报文还是抑制报文,首先比较报文的优先级字段。若当前主节点优先级大于接收到报文中主节点优先级,则继续保持主节点状态;若当前主节点优先级小于接收到报文中主节点优先级,则当前主节点就需要切换为备用节点状态,即在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,可以直接判断节点状态。
若当前主节点优先级等于接收到报文中主节点优先级,则需要根据报文类型区别处理通告报文和抑制报文,根据不同类型的报文获取对端主节点IP地址,根据当前主节点与对端(除自身主节点以外的其他主节点)主节点IP地址的大小判断保持主节点状态或切换为备用节点状态,以确保主节点在优先级相同的情况下也能及时判断并选择相应状态,具体过程如下:
此时获取并比较对端主节点IP地址(通告报文协议有一个,抑制报文协议可能有多个),对于通告报文的数据包,对端主节点IP地址位于接收到的原始IP数据包的源IP地址字段;对于抑制报文的数据包,对端主节点IP地址位于VRRP协议的虚拟IP地址字段,该字段可能有多个值,数量由VRRP协议的虚拟IP地址数量字段确定。
确定对端主节点IP地址之后开始进行比较,如果当前节点的主接口IP地址大于等于所有对端主节点IP地址(等于自身主节点IP地址,大于其余对端主节点IP地址),则继续保持主节点状态;若当前节点的主接口IP地址小于任意一个对端主节点IP地址,则当前主节点需要切换为备用节点状态。通过以上过程,在接收到报文中主节点优先级相同的情况下,主节点根据对端主节点IP地址也能迅速判断并调整状态,尽快恢复通信服务正常。
下面对本发明提供的基于VRRP拓展协议的脑裂抑制装置进行描述,下文描述的基于VRRP拓展协议的脑裂抑制装置与上文描述的基于VRRP拓展协议的脑裂抑制方法可相互对应参照。
如图5所示,本发明第三实施例还提供基于VRRP拓展协议的脑裂抑制装置,应用于备用节点,该装置包括:
通告报文判断模块510,用于判断是否接收到多个主节点的通告报文。
抑制报文发送模块520,用于在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
本发明提供的一种基于VRRP拓展协议的脑裂抑制装置,通过备用节点判断是否接收到多个主节点的通告报文,并发送多个主节点的抑制报文,以实现对脑裂问题的抑制。对于备用节点侧,若同时接收到至少两个主节点的通告报文,说明此时VRRP组出现了多个主节点服务器,即发生了脑裂问题。备用节点则会向外发送两个主节点的抑制报文,由于主节点之间的通信出现异常,因此通过备用节点发送的抑制报文能够用于当前主节点进行状态的判断。主节点接收抑制报文后,会根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,最终VRRP组只保留一个主节点,至此VRRP脑裂抑制的过程完成。本发明仅通过VRRP协议拓展,即可实现脑裂场景的抑制,不依赖其他外部组件,具备较低的成本投入;并且本发明在直接协议层面实现脑裂抑制,能够快速发现并解决脑裂问题,减少了服务异常的时间,具备高可靠性。
可选地,所述通告报文判断模块510具体包括:
接收并缓存通告报文中的主节点信息,主节点信息包括:主节点优先级和主节点IP地址。
在缓存中存在多个主节点信息的情况下,判断为接收到多个主节点的通告报文。
可选地,所述抑制报文发送模块520具体包括:
从各主节点的通告报文中分别获取各主节点优先级和主节点IP地址。
对于具有相同优先级的主节点,合并相同优先级的主节点对应的抑制报文。
可选地,还包括:
抑制报文忽略模块,用于在接收到抑制报文的情况下,忽略所述抑制报文。
如图6所示,本发明第四实施例还提供基于VRRP拓展协议的脑裂抑制装置,应用于主节点,该装置包括:
抑制报文接收模块610,用于接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送。
节点状态判断模块620,用于根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
可选地,所述节点状态判断模块620具体包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态。
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址。
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于VRRP拓展协议的脑裂抑制方法,应用于备用节点,该方法包括:
判断是否接收到多个主节点的通告报文。
在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
或,执行基于VRRP拓展协议的脑裂抑制方法,应用于主节点,该方法包括:
接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送。
根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于VRRP拓展协议的脑裂抑制方法,应用于备用节点,该方法包括:
判断是否接收到多个主节点的通告报文。
在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
或,基于VRRP拓展协议的脑裂抑制方法,应用于主节点,该方法包括:
接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送。
根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于VRRP拓展协议的脑裂抑制方法,应用于备用节点,该方法包括:
判断是否接收到多个主节点的通告报文。
在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式。
或,基于VRRP拓展协议的脑裂抑制方法,应用于主节点,该方法包括:
接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送。
根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于VRRP拓展协议的脑裂抑制方法,其特征在于,应用于备用节点,该方法包括:
判断是否接收到多个主节点的通告报文;
在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式;
其中,所述根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态;
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址;
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
2.根据权利要求1所述的基于VRRP拓展协议的脑裂抑制方法,其特征在于,所述判断是否接收到多个主节点的通告报文,包括:
接收并缓存通告报文中的主节点信息,主节点信息包括:主节点优先级和主节点IP地址;
在缓存中存在多个主节点信息的情况下,判断为接收到多个主节点的通告报文。
3.根据权利要求1所述的基于VRRP拓展协议的脑裂抑制方法,其特征在于,所述在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,包括:
从各主节点的通告报文中分别获取各主节点优先级和主节点IP地址;
对于具有相同优先级的主节点,合并相同优先级的主节点对应的抑制报文。
4.根据权利要求1 ~ 3中任一项所述的基于VRRP拓展协议的脑裂抑制方法,其特征在于,还包括:
在接收到抑制报文的情况下,忽略所述抑制报文。
5.一种基于VRRP拓展协议的脑裂抑制方法,其特征在于,应用于主节点,该方法包括:
接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送;
根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态;
其中,所述根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态;
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址;
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
6.一种基于VRRP拓展协议的脑裂抑制装置,其特征在于,应用于备用节点,该装置包括:
通告报文判断模块,用于判断是否接收到多个主节点的通告报文;
抑制报文发送模块,用于在接收到多个主节点的通告报文的情况下,发送多个主节点的抑制报文,所述抑制报文用于指示每个所述主节点根据抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,所述抑制报文与所述通告报文具有相同的报文格式;
其中,所述根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态,包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态;
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址;
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
7.一种基于VRRP拓展协议的脑裂抑制装置,其特征在于,应用于主节点,该装置包括:
抑制报文接收模块,用于接收抑制报文,所述抑制报文由备用节点在接收到多个主节点的通告报文的情况下发送;
节点状态判断模块,用于根据收到的抑制报文中的主节点优先级或主节点优先级结合主节点IP地址,判断保持主节点状态或切换为备用节点状态;
其中,所述节点状态判断模块,包括:
在当前主节点优先级大于或小于抑制报文中主节点优先级的情况下,优先级最大的主节点保持主节点状态,其余主节点切换为备用节点状态;
在当前主节点优先级等于抑制报文中主节点优先级的情况下,通过VRRP协议的虚拟IP地址字段和虚拟IP地址数量字段从抑制报文中获取至少一个对端主节点IP地址;
在当前主节点IP地址大于等于所有对端主节点IP地址的情况下,保持主节点状态,在当前主节点IP地址小于任一对端主节点IP地址的情况下,切换为备用节点状态。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1 ~ 4中任一项所述的基于VRRP拓展协议的脑裂抑制方法,或实现如权利要求5所述的基于VRRP拓展协议的脑裂抑制方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1 ~ 4中任一项所述的基于VRRP拓展协议的脑裂抑制方法,或实现如权利要求5所述的基于VRRP拓展协议的脑裂抑制方法。
CN202310252533.8A 2023-03-16 2023-03-16 基于vrrp拓展协议的脑裂抑制方法及装置 Active CN115967669B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310252533.8A CN115967669B (zh) 2023-03-16 2023-03-16 基于vrrp拓展协议的脑裂抑制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310252533.8A CN115967669B (zh) 2023-03-16 2023-03-16 基于vrrp拓展协议的脑裂抑制方法及装置

Publications (2)

Publication Number Publication Date
CN115967669A CN115967669A (zh) 2023-04-14
CN115967669B true CN115967669B (zh) 2023-06-27

Family

ID=85897907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310252533.8A Active CN115967669B (zh) 2023-03-16 2023-03-16 基于vrrp拓展协议的脑裂抑制方法及装置

Country Status (1)

Country Link
CN (1) CN115967669B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653734A (zh) * 2020-12-11 2021-04-13 邦彦技术股份有限公司 服务器集群实时主从控制和数据同步系统及方法
WO2021120778A1 (zh) * 2020-08-06 2021-06-24 平安科技(深圳)有限公司 Vrrp 与业务接口联动方法、装置及系统、存储装置
CN114221902A (zh) * 2021-11-26 2022-03-22 上海弘积信息科技有限公司 一种按照指定序列进行vrrp主备切换的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595546B2 (en) * 2011-10-28 2013-11-26 Zettaset, Inc. Split brain resistant failover in high availability clusters
CN109495312B (zh) * 2018-12-05 2020-01-17 广州鼎甲计算机科技有限公司 基于仲裁盘和双链路的高可用集群的实现方法和系统
CN111314098A (zh) * 2018-12-11 2020-06-19 杭州海康威视系统技术有限公司 一种ha系统中实现vip地址漂移的方法和装置
US10972337B2 (en) * 2019-08-30 2021-04-06 Versa Networks, Inc. Method and apparatus for split-brain avoidance in sub-secondary high availability systems
CN110750393B (zh) * 2019-09-03 2023-10-13 北京字节跳动网络技术有限公司 避免网络服务双机热备脑裂的方法、装置、介质和设备
US11385975B2 (en) * 2019-11-27 2022-07-12 Amazon Technologies, Inc. Systems and methods for enabling a highly available managed failover service
CN110912780B (zh) * 2019-12-13 2021-08-27 华云数据控股集团有限公司 一种高可用集群检测方法、系统及受控终端
CN111698158B (zh) * 2020-04-17 2023-03-31 新华三技术有限公司成都分公司 主设备选举方法、装置及机器可读存储介质
CN114285795B (zh) * 2021-12-02 2023-01-31 中国银联股份有限公司 一种虚拟设备的状态控制方法、装置、设备及存储介质
CN114979036B (zh) * 2022-05-31 2024-05-10 山东中网云安智能科技有限公司 一种基于心跳和隔离交换矩阵的网闸的双机热备系统
CN115665035A (zh) * 2022-10-27 2023-01-31 深信服科技股份有限公司 一种信息处理方法、装置、第一节点及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021120778A1 (zh) * 2020-08-06 2021-06-24 平安科技(深圳)有限公司 Vrrp 与业务接口联动方法、装置及系统、存储装置
CN112653734A (zh) * 2020-12-11 2021-04-13 邦彦技术股份有限公司 服务器集群实时主从控制和数据同步系统及方法
CN114221902A (zh) * 2021-11-26 2022-03-22 上海弘积信息科技有限公司 一种按照指定序列进行vrrp主备切换的方法

Also Published As

Publication number Publication date
CN115967669A (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
CN110912780B (zh) 一种高可用集群检测方法、系统及受控终端
US10257265B2 (en) Redundancy network protocol system
EP1055304B1 (en) Router pooling in a network flowswitch
US7107481B2 (en) Server takeover system and method
US9219641B2 (en) Performing failover in a redundancy group
US7159034B1 (en) System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
CN106911728A (zh) 分布式系统中主节点的选取方法和装置
CN107911291A (zh) Vrrp路由器切换方法、路由器、vrrp主备切换系统及存储介质
CN113839862B (zh) Mclag邻居之间同步arp信息的方法、系统、终端及存储介质
CN100492984C (zh) 一种通过地址解析协议报文实现数据转发备份的方法
CN113169895A (zh) 用于具有低时延故障转移的虚拟化服务的n+1冗余
KR101075462B1 (ko) 서브넷에서 마스터 노드를 선출하는 방법
CN112367257A (zh) 路由通告方法及装置
CN111953591A (zh) 故障处理方法及装置
JP5039975B2 (ja) ゲートウェイ装置
US11683257B1 (en) Method and device for improving link aggregation protocol timeout
CN112260928B (zh) 节点切换方法、装置、电子设备及可读存储介质
CN115967669B (zh) 基于vrrp拓展协议的脑裂抑制方法及装置
CN108574587B (zh) 分布式设备的容量更新方法及装置
CN104158694B (zh) DHCPv6服务器的热备方法和装置
CN114585009A (zh) Upf双机热备切换方法、装置、电子设备及存储介质
JP2001168899A (ja) ネットワークシステム
CN112398731A (zh) 一种处理报文的方法和第一网络设备
CN111555970A (zh) 一种基于双机冗余系统的网络切换方法、系统及存储介质
CN115801555B (zh) 基于抢占延时的主备切换方法、装置和电子设备

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 8b, building 1, No. 48, Zhichun Road, Haidian District, Beijing 100086

Patentee after: Beijing Zhiling Haina Technology Co.,Ltd.

Country or region after: China

Address before: 100086 8th floor, block a, Yingdu building, No.48, Zhichun Road, Haidian District, Beijing

Patentee before: Beijing zhilinghaina Technology Co.,Ltd.

Country or region before: China