CN110572318B - 一种主备切换方法及路由器 - Google Patents
一种主备切换方法及路由器 Download PDFInfo
- Publication number
- CN110572318B CN110572318B CN201910939350.7A CN201910939350A CN110572318B CN 110572318 B CN110572318 B CN 110572318B CN 201910939350 A CN201910939350 A CN 201910939350A CN 110572318 B CN110572318 B CN 110572318B
- Authority
- CN
- China
- Prior art keywords
- router
- vrrp
- information
- mac address
- standby
- 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
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/22—Alternate routing
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请属于通信技术领域,涉及一种主备切换方法及路由器。该主备切换方法包括:备用路由器通过数据面确定与备用路由器同属于一个VRRP网关的主用路由器发生故障;备用路由器通过数据面向与VRRP网关直连的交换机发送以VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使交换机将自身存储的转发表中源MAC地址对应的出端口更新为接收当前VRRP通告报文的端口,从而将以源MAC地址为目的MAC地址的流量报文切换到备用路由器的链路。数据面在确定主用路由器发生故障后,直接向交换机发送VRRP通告报文,节约了控制面和数据面之间来回切换的时间消耗,使得整个过程的倒换时间性能得到最大化的优化。
Description
技术领域
本申请属于通信技术领域,具体涉及一种主备切换方法及路由器。
背景技术
在现有的网络系统中,为了保证通讯的连续和可靠性,通常会在网关节点上部署虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP),实现双机热备。通过VRRP协议可以选出网关节点上的主用路由器和备用路由器,一旦主用路由器出现故障,备用路由器可以自动倒换为主用路由器,从而避免由于网关节点的故障导致业务长时间得不到恢复。
同属于一个VRRP网关内的主用路由器和备用路由器之间通过VRRP通告报文进行监听和保活。只有主用路由器可以周期性的发送VRRP通告报文,周期为1秒;备用路由器只负责监听,在连续三个周期没有收到主用路由器发送的通告报文后认为主用路由器发生了故障,在延迟一段时间后,如果还没收到主用路由器的VRRP通告报文后,便自动将自己倒换为主用路由器。所以在主用路由器故障后,备用路由器倒换为主用路由器的收敛时间至少为三秒。在当前的业务高速的发展的情况下,对业务中断时间要求十分高,连续至少三秒的中断,已经无法满足这些业务的需求。
为了解决以上问题当前有两种通用的解决方案:一种是单纯的缩短发送VRRP通告报文的周期,另外一种是采用双向转发检测(Bidirectional Forwarding Detection,BFD)技术,来实现故障的快速感知。由于VRRP报文的收发都由控制面来处理,在第一种方案下,单纯的将VRRP通告报文周期调整后,会导致单位时间内控制面会触发更多的VRRP报文,进而会使单位时间内控制面和数据面之间的VRRP报文数会激增,在单位时间内VRRP报文发送的数量变多以后,不仅会占用当前设备很多资源,也会占用整个网络系统过多的带宽资源。第二种实现方案是结合BFD协议来检测主用路由器的故障,并在检测到故障时告知本地的VRRP模块,促使VRRP模块快速的发生倒换。而从图1可以清楚的知道VRRP模块从BFD模块感知到主用路由器异常到VRRP模块发生倒换的实际处理流程路径为1-2-3-4-5,即从数据面(BFD感知)到控制面(VRRP协议倒换)到数据面(报文收发),其中涉及多次数据面到控制面之间的切换动作,在毫秒级场景下,尤其在分布式设备上,虽然在一定程度上减少了对当前整体系统的消耗,但是这两次数据面和控制面的耗时成为了当前业务快速恢复的最大瓶颈。
发明内容
鉴于此,本申请的目的在于提供一种主备切换方法及路由器,以改善现有主备路由器倒换方法存在的倒换时间长,以导致业务中断或震荡的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种主备切换方法,包括:备用路由器通过数据面确定与所述备用路由器同属于一个VRRP网关的主用路由器发生故障;所述备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述备用路由器的链路。本申请实施例中,数据面在确定主用路由器发生故障后,不再是从数据面到控制面再到数据面,而是直接向交换机发送VRRP通告报文,节约了控制面和数据面之间来回切换的时间消耗,使得整个过程的倒换时间性能得到最大化的优化,最大化缩短备用路由器倒换为主用路由器的收敛时间。
结合第一方面实施例的一种可能的实施方式,所述备用路由器包括:BFD模块和运行在数据面的VRRP模块,所述备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,包括:所述运行在数据面的VRRP模块从接收到的所述BFD模块在检测到所述主用路由器发生故障时推送的会话故障信息中获取特征参数;确定所述特征参数满足预设条件,向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文。本申请实施例中,通过在数据面引入VRRP模块,当运行在数据面的VRRP模块接收到BFD模块推送的会话故障信息后,通过获取该会话故障信息中的特征参数并判断该特征参数是否满足预设条件,在会话故障信息中的特征参数满足预设条件后,才向与VRRP网关直连的交换机发送以VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以避免误操作,导致业务中断或震荡。
结合第一方面实施例的一种可能的实施方式,所述特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息,所述确定所述特征参数满足预设条件,包括:所述运行在数据面的VRRP模块在预先存储的表征所述备用路由器的关键信息的表项中查找是否存在所述标识信息、所述接口信息以及所述主用路由器信息;在从所述表项中查找到所述标识信息、所述接口信息以及所述主用路由器信息时,表征所述特征参数满足预设条件,其中,所述关键信息包括:所述备用路由器所关联BFD会话的接口信息、所述备用路由器所关联BFD会话的标识信息、所述备用路由器所关联BFD会话的对端的主用路由器信息。本申请实施例中,通过确认当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息这几个关键信息均已事先记录,来避免误操作,在可允许的消耗时间内,又能保证结果的可靠性。
结合第一方面实施例的一种可能的实施方式,所述备用路由器还包括:运行在控制面的VRRP模块,在所述备用路由器的数据面确定与所述备用路由器同属于一个VRRP网关的主用路由器发生故障之前,所述方法还包括:所述运行在数据面的VRRP模块接收所述运行在控制面的VRRP模块发送的所述备用路由器的关键信息,所述关键信息包括:所述备用路由器所关联BFD会话的接口信息、所述备用路由器所关联BFD会话的标识信息、所述备用路由器所关联BFD会话的对端的主用路由器信息;所述运行在数据面的VRRP模块保存所述关键信息。本申请实施例中,由于控制面向数据面下发的备用路由器的关键信息,是在主用路由器发生故障之前,因此,该动作并不会影响倒换的效率。
结合第一方面实施例的一种可能的实施方式,所述备用路由器包括:BFD模块和运行在控制面的VRRP模块,在所述备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文之前,所述方法还包括:所述运行在控制面的VRRP模块接收所述BFD模块在检测到所述主用路由器发生故障时推送的会话故障信息;所述运行在控制面的VRRP模块响应所述会话故障信息进行主备路由器协议切换。本申请实施例中,BFD模块在检测到主用路由器发生故障时,除了向运行在数据面的VRRP模块推送征所述主用路由器发生故障的会话故障信息外,还会向运行在控制面的VRRP模块推送表征主用路由器发生故障的会话故障信息,以便运行在控制面的VRRP模块进行主备路由器协议切换,使得倒换过程中的链路切换和协议切换同时进行,以最大化缩短备用路由器倒换为主用路由器的收敛时间。
第二方面,本申请实施例还提供了一种路由器,包括:BFD模块以及运行在数据面的VRRP模块;所述BFD模块,用于检测与所述路由器同属于一个VRRP网关的主用路由器是否发生故障;VRRP模块,用于根据所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息,确定所述主用路由器发生故障;以及还用于向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述路由器的链路。
结合第二方面实施例的一种可能的实施方式,所述运行在数据面的VRRP模块,还用于在向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文之前,获取所述会话故障信息中的特征参数,以及确定所述特征参数满足预设条件。
结合第二方面实施例的一种可能的实施方式,所述特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息;所述运行在数据面的VRRP模块,还用于在预先存储的表征所述路由器的关键信息的表项中查找是否存在所述标识信息、所述接口信息以及所述主用路由器信息;在从所述表项中查找到所述标识信息、所述接口信息以及所述主用路由器信息时,表征所述特征参数满足预设条件,其中,所述关键信息包括:所述路由器所关联BFD会话的接口信息、所述路由器所关联BFD会话的标识信息、所述路由器所关联BFD会话的对端的主用路由器信息。
结合第二方面实施例的一种可能的实施方式,还包括:运行在控制面的VRRP模块,所述运行在数据面的VRRP模块,还用于在接收到所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息之前,接收所述运行在控制面的VRRP模块发送的所述路由器的关键信息,所述关键信息包括:所述路由器所关联BFD会话的接口信息、所述路由器所关联BFD会话的标识信息、所述路由器所关联BFD会话的对端的主用路由器信息;所述运行在数据面的VRRP模块,还用于保存所述关键信息。
结合第二方面实施例的一种可能的实施方式,还包括:运行在控制面的VRRP模块,所述运行在控制面的VRRP模块,用于在接收到所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息时,响应所述会话故障信息进行主备路由器协议切换。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了现有技术中提供的一种部署于备用路由器中的用于实现主备快速倒换的系统的结构框图。
图2示出了本申请实施例提供的一种主备切换方法的流程图。
图3示出了部署有BFD的VRRP网关的网络拓扑图。
图4示出了本申请实施例提供的一种部署于备用路由器中的用于实现主备快速倒换的系统的结构框图。
图5示出了本申请实施例提供的一种匹配特征参数的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者路由器不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者路由器所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者路由器中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于当前普遍采用的用于实现主备路由器快速倒换的两种方案所存在的缺陷,本申请实施例提供了一种全新的主备切换方法,以更高效地实现主备路由器的快速倒换,最大化缩短备用路由器倒换为主用路由器的收敛时间。请参阅图2,为本申请实施例提供的一种主备切换方法,下面将结合图2对其所包含的步骤进行说明。
步骤S101:备用路由器通过数据面确定与所述备用路由器同属于一个VRRP网关的主用路由器发生故障。
本申请实施例中,在VRRP协议的基础上结合双向转发检测(BidirectionalForwarding Detection,BFD)技术,利用BFD技术来检测主用路由器的故障,以实现故障的快速感知。其中,部署有BFD的网络拓扑图,如图3所示。由于当前对业务的吞吐要求较高,为了达到更高的性能,在设计路由器的时候,会采用数据面和控制面分离的设计理念。其中,数据面主要负责高速报文的转发,控制面主要处理低速的协议报文的交互和协议状态的变更。
备用路由器通过数据面确定与自身同属于一个VRRP网关的主用路由器发生故障可以是确定主用路由器的数据面出现故障,也可以是确定主用路由器的控制面出现故障,还可以是确定主用路由器和备用路由器之间链路出现故障。
其中,备用路由器包括:BFD模块。该BFD模块也可以运行在数据面,以缩短数据面获知到与自身所属的备用路由器同属于一个VRRP网关的主用路由器发生故障的时间,当BFD模块运行在数据面时,此时数据面通过BFD模块来检测主用路由器是否发生故障,在BFD模块检测到主用路由器发生故障时,数据面便能获知这一情况。当然,该BFD模块也可以不运行在数据面,此时,数据面根据BFD模块推送的表征主用路由器发生故障的会话故障信息,确定主用路由器发生故障,也即数据面在接收到BFD模块在检测到主用路由器发生故障时推送的会话故障信息时,即可确定主用路由器发生故障。因此,不能将BFD模块运行在数据面的方式理解成是对本申请的限制。
其中,主用路由器发生故障包含但不限于下述几种情况,第一种情况是指主用路由器的控制面出现故障,第二种情况是指主用路由器的数据面出现故障,第三种情况是指主用路由器和备用路由器之间链路出现故障。其中,利用BFD来检测主用路由器发生故障这个技术是本领域技术人员所熟知的内容,为了避免累赘,不再叙述。
其中,需要说明的是,部署了VRRP协议的网关节点即为VRRP网关,该VRRP网关对外表现有唯一的网络协议地址(Internet Protocol Address,IP地址)和媒体访问控制地址(Media Access Control Address,MAC地址)。同属于一个VRRP网关下的路由器协同工作,根据协议自身的规定,一个VRRP网关内可能存在一个或多个备用路由器,但是只能存在一个主用路由器。主用路由器则主要负责接管VRRP网关的IP地址进行地址解析协议(AddressResolution Protocol,ARP)应答和流量转发功能,备份路由器则主要负责监听和热备主用路由器,一旦主用路由器出现故障,备用路由器则会根据协议算法将自己切换为主用路由器,进而接管VRRP网关的IP地址进行ARP的应答和流量转发,从而保证业务的快速自动恢复。
步骤S102:所述备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述备用路由器的链路。
备用路由器通过数据面在获悉到与自身同属于一个VRRP网关的主用路由器发生故障时,便可直接通过数据面向与VRRP网关直连的交换机发送以VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到备用路由器的链路。
在主用路由器发生故障后,备用路由器可以快速倒换成为新的主用路由器,以尽快的接管VRRP网关的业务,从而使业务尽可能快速恢复。从业务恢复的角度,这个过程主要分为两个阶段,第一阶段是备用路由器检测到主用路由器发生故障;第二阶段是备用路由器自动倒换接管原主用路由器所承担的业务流程。本申请为了尽可能减少从感知到主用路由器故障后,VRRP协议触发备用路由器升级为主用路由器中间的开销,以尽可能缩短在备用路由器感知到主用路由器故障后到实际业务恢复的时间,也就是在第一阶段完成的基础上,缩短以上描述的第二阶段的收敛时间。本申请在数据面引入VRRP模块,运行与数据面的VRRP模块在接收到BFD模块推送的表征主用路由器异常的会话故障信息后,可直接向与VRRP网关直连的交换机发送以VRRP网关的MAC地址为源MAC地址的VRRP通告报文,从而快速接管恢复原主用路由器所承载的业务流量。为了便于理解,结合图4来说,在现有的方案中,从BFD模块感知到主用路由器异常到VRRP协议发生倒换的实际处理流程路径为1-2-3-4-5,其中,路径1和路径4涉及到数据面和控制面的切换,在毫秒级场景就十分耗时;而本申请的优化后的路径为7-6-5,这一核心步骤减少了从数据面到控制面再到数据面中间的处理开销,并且在优化以后的路径过程均在数据面进行,节约了控制面和数据面之间来回切换的时间消耗,使得整个过程的倒换时间性能得到最大化的优化。
其中,交换机会自主维护一张表征MAC地址和端口的映射关系的动态MAC地址表,即转发表(Forwarding DataBase,FDB)。当交换机收到一帧数据时,它将主动学习这帧数据的源MAC地址和接收这帧数据的端口之间的映射关系,如果本地不存在这种映射关系或者和存在的映射关系不一致,交换机将会以最新学习到的映射关系进行新增和补充表项,并且交换机会根据自己的MAC地址表来决定这帧数据转发的出端口是哪个出端口。当交换机收到以VRRP网关的MAC地址为源MAC地址的VRRP通告报文后,交换机将会自动把FDB表项中以该源MAC地址对应的出端口更新为新主用路由器连接的端口,即更新为接收当前VRRP通告报文的端口,从而以该源MAC地址为目的MAC地址的数据流量将会切换到直连新主用路由器的链路,进而新主用路由器开始接管VRRP网关当前的业务。为了便于理解,结合图3进行说明,在主用路由器正常的时候,此时,FDB表中记录的以VRRP网关的MAC地址(如MAC_V1)为目的MAC地址数据流量的出端口为主用路由器与交换机直连的端口sw_g1,即此时FDB表中记录的映射关系是MAC_V1对应sw_g1;当交换机接收到备用路由器的发送的VRRP通告报文,便会学习到MAC_V1对应的端口为sw_g2,此时,交换机会自动更新FDB表中MAC_V1对应的端口,后续在接收到以MAC_V1为目的MAC地址的数据流量时,便将该数据流量以sw_g2端口发送至该VRRP网关。
BFD模块在检测到与备用路由器同属于一个VRRP网关的主用路由器发生故障时,除了向运行在数据面的VRRP模块推送表征主用路由器发生故障的会话故障信息外,还会向运行在控制面的VRRP模块推送表征主用路由器发生故障的会话故障信息,以使运行在控制面的VRRP模块响应会话故障信息进行主备路由器协议切换。即BFD模块感知到主用路由器异常后,会同时向运行在数据面的VRRP模块以及运行在控制面的VRR模块推送会话故障信息,运行在控制面的VRRP模块在接收到BFD模块推送的消息后,会根据自身的协议开始相对慢速的切换过程,该过程主要是完成协议面的切换动作,其中,包括在该备用路由器上安装VRRP网关对外所表现出的唯一MAC地址和IP地址,从而从协议上将该备用路由器切换为主用路由器,然后通过正常的协议报文交互,通过路径3到协议栈然后通过路径4,开始定时的报文收发功能。
其中,为了避免误操作,作为一种实施方式,备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文的过程还可以是:所述运行在数据面的VRRP模块从接收到的所述BFD模块在检测到所述主用路由器发生故障时推送的会话故障信息中获取特征参数;确定所述特征参数满足预设条件,向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文。该种实施方式下,运行在数据面的VRRP模块在接收到BFD模块发送的会话故障信息后,并不是直接向与VRRP网关直连的交换机发送以VRRP网关的MAC地址为源MAC地址的VRRP通告报文,而是先获取会话故障信息中的特征参数并判断该特征参数是否满足预设条件,在满足预设条件的情况下,才发送VRRP通告报文,以避免误操作。
在该种实施方式下,获取的特征参数可以包括:当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息中的至少一种参数。当然特征参数还可以包含其他的信息,可根据需求相应的调整。相应地,运行在数据面的VRRP模块确定特征参数满足预设条件可以是,运行在数据面的VRRP模块在预先存储的表征备用路由器的关键信息的表项中查找是否存在上述的特征参数,若运行在数据面的VRRP模块在从该表项中查找到上述的特征参数时,表征该特征参数满足预设条件。例如,当特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息中的至少两种参数时,运行在数据面的VRRP模块可以是先判断该表项中是否存在其中的一个参数,若存在,在进一步判断是否存在剩余的参数;反之,若不存在,则直接判定该特征参数不满足预设条件,这样可提高效率。例如,在特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息和当前BFD会话对端的主用路由器信息时,则可以是先判断该表项中是否存在当前BFD会话的标识信息,若存在该标识信息,则进一步判断该表项中是否存在当前BFD会话的接口信息,若存在该接口信息,则进一步判断该表项中是否存在当前BFD会话对端的主用路由器信息,若存在主用路由器信息,也即从该表项中查找到同时存在该标识信息、该接口信息以及该主用路由器信息,则表征该特征参数满足预设条件,其过程可以参阅图5所示。其中,需要说明的是,判断的顺序没有先后之后,例如,可以是先判断该表项中是否存在当前BFD会话的接口信息,若存在接口信息,再判断该表项中是否存在当前BFD会话对端的主用路由器信息,若存在主用路由器信息,再判断该表项中是否存在当前BFD会话的标识信息。
其中,所述关键信息包括:所述备用路由器所关联BFD会话的接口信息、所述备用路由器所关联BFD会话的标识信息、所述备用路由器所关联BFD会话的对端的主用路由器信息。作为一种实施方式,在备用路由器通过数据面确定与备用路由器同属于一个VRRP网关的主用路由器发生故障之前,即在主用路由器未发生故障的时候,运行在控制面的VRRP模块向运行在数据面的VRRP模块发送备用路由器的关键信息,运行在数据面的VRRP模块将接收到的上述关键信息进行存储。由于这次下发动作是发生在部署VRRP网关的过程中,是在运行在数据面的VRRP模块在接收到BFD模块推送的表征主用路由器发生故障的会话故障信息之前,所以,这一次多余的下发并不会影响倒换的效率。
从上述的描述可知,本申请结合当前比较通用的BFD技术和VRRP技术,并且通过在数据面引入VRRP模块,借助于BFD模块对主用路由器故障进行检测,在检测到故障时,同时向运行在数据面的VRRP模块和运行在控制面的VRRP模块推送表征主用路由器发生故障的会话故障信息,运行在数据面的VRRP模块在接收到BFD模块推送的会话故障信息后,直接向与VRRP网关直连的交换机发送以VRRP网关的MAC地址为源MAC地址的VRRP通告报文,已完成以该源MAC地址为目的MAC地址的流量报文的链路切换(即将以该源MAC地址为目的MAC地址的流量报文的链路从原来的主用路由器切换至备用路由器),同时运行在控制面的VRRP模块响应BFD模块推送的会话故障信息进行主备路由器协议切换,以完成协议面的切换动作,将整个倒换切分为快速(链路切换)和慢速(协议切换)两个过程,使得备份路由器可以主动快速的接管起原主用路由器的业务流量,进而保证在主用路由器故障后业务中断时间可以快速收敛,同时避免了单纯调整VRRP通告报文周期时间给系统带来的压力。此外,整个实现过程中,没有对协议的一致性进行破坏,所以对下联交换机和对端的主用路由器的选择并没有特殊的倾向,进而和其他厂商设备具有良好的兼容性。
本申请实施例还提供了一种路由器,当其部署于VRRP网关中时,扮演备用路由器的角色。该路由器包括:BFD模块和运行在数据面的VRRP模块。
BFD模块,用于检测与所述路由器同属于一个VRRP网关的主用路由器是否发生故障,并在检测到所述主用路由器发生故障时,向所述运行在数据面的VRRP模块推送表征所述主用路由器发生故障的会话故障信息。
所述运行在数据面的VRRP模块,用于根据所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息确定所述主用路由器发生故障,以及还用于向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述路由器的链路。
可选地,所述运行在数据面的VRRP模块,还用于在向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文之前,获取所述会话故障信息中的特征参数,以及确定所述特征参数满足预设条件。
其中,所述特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息,相应地;所述运行在数据面的VRRP模块,还用于在预先存储的表征所述路由器的关键信息的表项中查找是否存在所述标识信息、所述接口信息以及所述主用路由器信息;在从所述表项中查找到所述标识信息、所述接口信息以及所述主用路由器信息时,表征所述特征参数满足预设条件,其中,所述关键信息包括:所述路由器所关联BFD会话的接口信息、所述路由器所关联BFD会话的标识信息、所述路由器所关联BFD会话的对端的主用路由器信息。
该路由器还包括:运行在控制面的VRRP模块。所述运行在数据面的VRRP模块,还用于在接收到所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息之前,接收所述运行在控制面的VRRP模块发送的所述备用路由器的关键信息,所述关键信息包括:所述路由器所关联BFD会话的接口信息、所述路由器所关联BFD会话的标识信息、所述路由器所关联BFD会话的对端的主用路由器信息;所述运行在数据面的VRRP模块,还用于保存所述关键信息。
所述BFD模块,还用于在检测到所述主用路由器发生故障时,向所述运行在控制面的VRRP模块推送表征所述主用路由器发生故障的会话故障信息。所述运行在控制面的VRRP模块,用于在接收到所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息时,响应所述会话故障信息进行主备路由器协议切换。
申请实施例所提供的路由器,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本申请实施例还提供了一种VRRP网关,包括:主用路由器和备用路由器。所述备用路由器和所述主用路由器均与交换机连接。所述备用路由器通过数据面确定所述主用路由器发生故障;所述备用路由器通过数据面向所述交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述备用路由器的链路。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的备用路由器运行时,执行上述主备切换方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机路由器(可以是个人计算机,笔记本电脑,服务器,或者网络路由器等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种主备切换方法,其特征在于,包括:
备用路由器通过数据面确定与所述备用路由器同属于一个VRRP网关的主用路由器发生故障;
所述备用路由器直接通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述备用路由器的链路。
2.根据权利要求1所述的方法,其特征在于,所述备用路由器包括:BFD模块和运行在数据面的VRRP模块,所述备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,包括:
所述运行在数据面的VRRP模块从接收到的所述BFD模块在检测到所述主用路由器发生故障时推送的会话故障信息中获取特征参数;确定所述特征参数满足预设条件,向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文。
3.根据权利要求2所述的方法,其特征在于,所述特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息,所述确定所述特征参数满足预设条件,包括:
所述运行在数据面的VRRP模块在预先存储的表征所述备用路由器的关键信息的表项中查找是否存在所述标识信息、所述接口信息以及所述主用路由器信息;在从所述表项中查找到所述标识信息、所述接口信息以及所述主用路由器信息时,表征所述特征参数满足预设条件,其中,所述关键信息包括:所述备用路由器所关联BFD会话的接口信息、所述备用路由器所关联BFD会话的标识信息、所述备用路由器所关联BFD会话的对端的主用路由器信息。
4.根据权利要求3所述的方法,其特征在于,所述备用路由器还包括:运行在控制面的VRRP模块,在所述备用路由器通过数据面确定与所述备用路由器同属于一个VRRP网关的主用路由器发生故障之前,所述方法还包括:
所述运行在数据面的VRRP模块接收所述运行在控制面的VRRP模块发送的所述备用路由器的关键信息,所述关键信息包括:所述备用路由器所关联BFD会话的接口信息、所述备用路由器所关联BFD会话的标识信息、所述备用路由器所关联BFD会话的对端的主用路由器信息;
所述运行在数据面的VRRP模块保存所述关键信息。
5.根据权利要求1所述的方法,其特征在于,所述备用路由器包括:BFD模块和运行在控制面的VRRP模块,在所述备用路由器通过数据面向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文之前,所述方法还包括:
所述运行在控制面的VRRP模块接收所述BFD模块在检测到所述主用路由器发生故障时推送的会话故障信息;
所述运行在控制面的VRRP模块响应所述会话故障信息进行主备路由器协议切换。
6.一种路由器,其特征在于,包括:BFD模块以及运行在数据面的VRRP模块;
所述BFD模块,用于检测与所述路由器同属于一个VRRP网关的主用路由器是否发生故障;
所述运行在数据面的VRRP模块,用于根据所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息,确定所述主用路由器发生故障;
所述运行在数据面的VRRP模块,还用于向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文,以使所述交换机将自身存储的转发表中所述源MAC地址对应的出端口更新为接收当前所述VRRP通告报文的端口,从而将以所述源MAC地址为目的MAC地址的流量报文切换到所述路由器的链路。
7.根据权利要求6所述的路由器,其特征在于:
所述运行在数据面的VRRP模块,还用于在向与所述VRRP网关直连的交换机发送以所述VRRP网关的MAC地址为源MAC地址的VRRP通告报文之前,获取所述会话故障信息中的特征参数,以及确定所述特征参数满足预设条件。
8.根据权利要求7所述的路由器,其特征在于,所述特征参数包括当前BFD会话的标识信息、当前BFD会话的接口信息以及当前BFD会话对端的主用路由器信息;
所述运行在数据面的VRRP模块,还用于在预先存储的表征所述路由器的关键信息的表项中查找是否存在所述标识信息、所述接口信息以及所述主用路由器信息;在从所述表项中查找到所述标识信息、所述接口信息以及所述主用路由器信息时,表征所述特征参数满足预设条件,其中,所述关键信息包括:所述路由器所关联BFD会话的接口信息、所述路由器所关联BFD会话的标识信息、所述路由器所关联BFD会话的对端的主用路由器信息。
9.根据权利要求8所述的路由器,其特征在于,还包括:运行在控制面的VRRP模块,
所述运行在数据面的VRRP模块,还用于在接收到所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息之前,接收所述运行在控制面的VRRP模块发送的所述路由器的关键信息,所述关键信息包括:所述路由器所关联BFD会话的接口信息、所述路由器所关联BFD会话的标识信息、所述路由器所关联BFD会话的对端的主用路由器信息;
所述运行在数据面的VRRP模块,还用于保存所述关键信息。
10.根据权利要求6-8中任一项所述的路由器,其特征在于,还包括:运行在控制面的VRRP模块,
所述运行在控制面的VRRP模块,用于在接收到所述BFD模块推送的表征所述主用路由器发生故障的会话故障信息时,响应所述会话故障信息进行主备路由器协议切换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939350.7A CN110572318B (zh) | 2019-09-29 | 2019-09-29 | 一种主备切换方法及路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939350.7A CN110572318B (zh) | 2019-09-29 | 2019-09-29 | 一种主备切换方法及路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572318A CN110572318A (zh) | 2019-12-13 |
CN110572318B true CN110572318B (zh) | 2021-11-26 |
Family
ID=68783422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910939350.7A Active CN110572318B (zh) | 2019-09-29 | 2019-09-29 | 一种主备切换方法及路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572318B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698157B (zh) * | 2020-07-23 | 2022-05-24 | 迈普通信技术股份有限公司 | 一种链路管理方法、板卡及交换机 |
CN114629781B (zh) * | 2020-11-27 | 2024-09-06 | 中国移动通信有限公司研究院 | 一种设备切换方法、装置、设备及可读存储介质 |
CN112689032A (zh) * | 2021-03-10 | 2021-04-20 | 北京太一星晨信息技术有限公司 | 一种数据处理方法、设备及存储介质 |
CN115842777A (zh) * | 2021-08-24 | 2023-03-24 | 中国电信股份有限公司 | 路由方法及相关设备 |
CN114095442B (zh) * | 2021-11-17 | 2024-03-15 | 迈普通信技术股份有限公司 | 负载均衡方法、装置、电子设备和计算机可读存储介质 |
CN114338357B (zh) * | 2021-12-13 | 2024-05-14 | 阿里巴巴(中国)有限公司 | 一种在网络中的数据报文传输的方法及装置 |
CN117176546A (zh) * | 2022-05-26 | 2023-12-05 | 华为技术有限公司 | 故障处理方法、相关设备和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159701A (zh) * | 2007-12-04 | 2008-04-09 | 杭州华三通信技术有限公司 | 基于vrrp的路由器动态分配带宽的方法及系统 |
CN101572675A (zh) * | 2009-06-23 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种发现直连网段中运行vrrp网络设备的方法及装置 |
CN102571612A (zh) * | 2012-03-07 | 2012-07-11 | 杭州华三通信技术有限公司 | 一种vrrp状态切换方法和三层交换设备 |
CN104135440A (zh) * | 2014-08-11 | 2014-11-05 | 杭州华三通信技术有限公司 | 用于抑制主机迁移的方法和装置 |
CN109391488A (zh) * | 2017-08-08 | 2019-02-26 | 北京亿阳信通科技有限公司 | 一种用于sdn网络的链路管理方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341249A (zh) * | 2015-07-10 | 2017-01-18 | 中兴通讯股份有限公司 | 冗余端口的切换方法及装置 |
CN107911291B (zh) * | 2017-11-28 | 2019-04-12 | 中国移动通信集团湖北有限公司 | Vrrp路由器切换方法、路由器、vrrp主备切换系统及存储介质 |
CN108075971B (zh) * | 2017-12-25 | 2021-01-26 | 新华三技术有限公司 | 一种主备切换方法及装置 |
CN108540379A (zh) * | 2018-04-19 | 2018-09-14 | 南方电网科学研究院有限责任公司 | 基于ieee 1588v2的时间同步故障倒换方法、时间同步装置及系统 |
-
2019
- 2019-09-29 CN CN201910939350.7A patent/CN110572318B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159701A (zh) * | 2007-12-04 | 2008-04-09 | 杭州华三通信技术有限公司 | 基于vrrp的路由器动态分配带宽的方法及系统 |
CN101572675A (zh) * | 2009-06-23 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种发现直连网段中运行vrrp网络设备的方法及装置 |
CN102571612A (zh) * | 2012-03-07 | 2012-07-11 | 杭州华三通信技术有限公司 | 一种vrrp状态切换方法和三层交换设备 |
CN104135440A (zh) * | 2014-08-11 | 2014-11-05 | 杭州华三通信技术有限公司 | 用于抑制主机迁移的方法和装置 |
CN109391488A (zh) * | 2017-08-08 | 2019-02-26 | 北京亿阳信通科技有限公司 | 一种用于sdn网络的链路管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110572318A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572318B (zh) | 一种主备切换方法及路由器 | |
AU2004306913B2 (en) | Redundant routing capabilities for a network node cluster | |
US6983294B2 (en) | Redundancy systems and methods in communications systems | |
US7206309B2 (en) | High availability packet forward apparatus and method | |
CN101217402B (zh) | 一种提高集群可靠性的方法和一种高可靠性通信节点 | |
US7036051B1 (en) | Responsive virtual routing system | |
CN106411727B (zh) | 一种报文处理方法、装置及自治系统 | |
CN102281200A (zh) | 选取当前备份路由的方法和路由器 | |
JP2002057682A (ja) | ネットワークインタフェース切替え方法及びネットワークに接続可能なコンピュータ | |
JP6308534B2 (ja) | ネットワーク保護方法およびネットワーク保護装置、オフリングノード、ならびにシステム | |
CN101984600A (zh) | 路由协议的优雅重启方法、设备和系统 | |
CN112583708B (zh) | 一种连接关系控制方法、装置和电子设备 | |
CN102315969A (zh) | 邻居发现协议优雅重启的处理方法及装置 | |
CN102420737B (zh) | 一种处理mrp环网中的故障的方法和mrp环网 | |
CN109302328B (zh) | 一种vxlan网络热备切换方法及系统 | |
CN101277262B (zh) | 虚拟路由器冗余协议的重启方法及路由器 | |
CN104243304A (zh) | 非全连通拓扑结构的数据处理方法、设备和系统 | |
CN117459482B (zh) | 交换机的重启方法和装置、存储介质及电子装置 | |
CN102271049B (zh) | 通信设备状态设置方法、装置和系统 | |
CN111954102B (zh) | 一种dhcpv6 pd场景下的路由控制方法与装置 | |
CN112511419B (zh) | 一种分布式转发系统 | |
CN111835544B (zh) | 一种基于用户态协议栈的虚拟路由器的监控方法及系统 | |
JP2001168899A (ja) | ネットワークシステム | |
US11641322B2 (en) | System, computer program, computer-readable medium and method for providing a redundant relay, particularly a routing function | |
CN115865772B (zh) | 流量回切方法、装置、电子设备、m-lag系统及存储介质 |
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 |