CN113765781B - 处理路由报文的方法、通信设备、存储介质及系统 - Google Patents
处理路由报文的方法、通信设备、存储介质及系统 Download PDFInfo
- Publication number
- CN113765781B CN113765781B CN202010500275.7A CN202010500275A CN113765781B CN 113765781 B CN113765781 B CN 113765781B CN 202010500275 A CN202010500275 A CN 202010500275A CN 113765781 B CN113765781 B CN 113765781B
- Authority
- CN
- China
- Prior art keywords
- route
- unit
- routing
- processing unit
- fault
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/1036—Signalling gateways at the edge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种处理路由报文的方法、通信设备、存储介质及系统,属于通信技术领域。在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会对路由处理单元进行相应修改,更不会导致路由数据同步失败,也就是说,通过报文的形式同步数据能够保证多数据格式的路由处理单元的兼容性,而且,在路由报文携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种处理路由报文的方法、通信设备、存储介质及系统。
背景技术
边界网关协议(Border gateway protocol,BGP)不间断路由(Non-Stop Routing,NSR)技术能够在设备故障时,确保BGP邻居不中断,BGP路由不中断,以提高系统可靠性。在具体实现过程中,通过硬件层面或者软件层面来提高系统可靠性。以软件层面提高系统可靠性为例,传统的系统架构部署有两个路由单元,分别为主路由单元和备路由单元,当主路由单元故障时,备路由单元能够接替主路由单元的任务。其中,这两个路由单元能够实现BGP的路由处理功能,且主路由单元还能够向备路由单元同步主路由单元的相关数据。
具体实现中,当主路由单元感知备路由单元上线后,主路由单元需要主动给备路由单元同步BGP邻居信息、从邻居收到的路由(Route information base Input,RibIn)、向邻居发送的路由(Route information base Output,RibOut)、路由属性等数据,一旦主路由单元故障时,备路由单元能够基于同步的数据接替主路由单元的任务。但是,当主路由单元和备路由单元支持的数据格式不兼容,或者说路由单元不具有某些数据的收发能力时,将会导致数据同步失败,进而导致备路由单元无法接替主路由单元的任务。
发明内容
本申请实施例提供了一种处理路由报文的方法、通信设备、存储介质及系统,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性。所述技术方案如下:
第一方面,提供了一种处理路由报文的方法,在该方法中,备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个入方向路由报文,第一路由处理单元是指主路由容错单元对应的路由处理单元。备路由容错单元将第一路由处理单元的多个入方向路由报文发送至第二路由处理单元,第二路由处理单元是指备路由容错单元对应的路由处理单元。
由于第二路由处理单元能够获得第一路由处理单元接收到的路由信息,所以当第二路由处理单元对应的路由容错单元升为主之后,转发单元中的转发表会保持正确,或者在较大程度上保持正确。
而且,在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会对路由处理单元进行相应修改,更不会导致路由数据同步失败,也就是说,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性,而且在入方向路由报文中携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。
由于本申请实施例中部署的路由处理单元的上线时间可能不同,对于除第一路由处理单元之外的其他已上线的路由处理单元,这些路由处理单元对应的路由容错单元即为备路由容错单元,这些备路由容错单元能够从主数据库单元中读取第一路由处理单元的相关数据。而且,在转发单元接收到入方向路由报文之后,还需要将入方向路由报文发送给这些备路由容错单元。这样,这些备路由容错单元不仅能够接收转发单元发送的入方向路由报文,还能够从主数据库单元中读取入方向路由报文。但是,备路由容错单元到底获取哪个报文,存在多种实现方式。接下来对其中的两种方式进行介绍。
第一种方式,备路由容错单元接收来自转发单元的入方向路由报文。如果备路由容错单元未处于实时保护态,则备路由容错单元丢弃来自转发单元的入方向路由报文,从主数据库单元中读取第一路由处理单元的多个入方向路由报文。如果备路由容错单元已处于实时保护态,则备路由容错单元通过转发单元获取第一路由处理单元的多个入方向路由报文。
也即是,在上述第一种方式中,备路由容错单元处于实时保护态之前,备路由容错单元将会丢弃来自转发单元的入方向路由报文,而是从主数据库单元中读取入方向路由报文。在处于实时保护态之后,备路由容错单元不再从主数据库单元中读取入方向路由报文,而是获取来自转发单元的入方向路由报文。
实时保护态是指备路由容错单元对应的路由处理单元能够接替主路由容错单元对应的路由处理单元工作的状态。也即是,在主路由容错单元对应的路由处理单元故障,或者主路由容错单元故障时,主选举服务(leader election service,LES)能够从已处于实时保护态的备路由容错单元中选举一个路由容错单元作为主路由容错单元,重新选举的这个主路由容错单元对应的路由处理单元能够与路由节点建立路由邻居,并收发BGP路由,实现BGP邻居不中断,BGP路由不中断。也可以理解为,处于实时保护态的备路由容错单元从主数据库单元中读取的入方向路由报文和备路由容错单元接收到的来自转发单元的入方向路由报文无缝接续,确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
第二种方式,备路由容错单元接收来自转发单元的入方向路由报文,同时,从主数据库单元中读取第一路由处理单元的入方向路由报文。当从主数据库单元读取的最后一个入方向路由报文和来自转发单元的一个入方向路由报文相同或者相邻时,停止从主数据库单元中读取入方向路由报文。
也即是,在第二种方式中,并不需要确定备路由容错单元是否处于实时保护态,而是同时从转发单元和主数据库单元中获取入方向路由报文。当从主数据库单元获取的最后一个入方向路由报文和从转发单元获取的一个入方向路由报文相同或者相邻时,说明备路由容错单元从主数据库单元中获取的入方向路由报文和备路由容错单元从转发单元获取的入方向路由报文无缝接续,这样,后续可以直接接收来自转发单元的入方向路由报文,而无需再从主数据库单元中获取入方向路由报文,能够确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
需要说明的是,入方向路由报文中可以携带一个报文编号,这样,通过入方向路由报文中的报文编号,能够确定备路由容错单元从主数据库单元读取的最后一个入方向路由报文是否与来自转发单元的一个入方向路由报文相同或者相邻。
可选地,在一些实施例中,备路由容错单元还能够将第一路由处理单元的多个入方向路由报文发送至备数据库单元,由备数据库单元存储第一路由处理单元的多个入方向路由报文。这样,在备路由容错单元被选为新的主路由容错单元之后,其他上线的备路由容错单元还可以从备数据库单元中获取这些入方向路由报文。
在本申请实施例中,不仅可以对入方向路由报文进行处理,还可以对出方向路由报文进行处理。对于出方向路由报文来说,备路由容错单元获取第二路由处理单元的多个出方向路由报文。备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文。备路由容错单元基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息,在备路由容错单元切换为新的主路由容错单元后,新的主路由容错单元向第三路由处理单元发送路由更新信息,第三路由处理单元是指除新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会导致路由数据同步失败,也就是说,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性,而且在出方向路由报文中携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。同时,第二路由处理单元获得第一路由处理单元发出去的路由信息之后,还可以根据第一路由处理单元发出去的路由信息和自身想要发出去的路由进行比较,来确定路由更新信息,这样,当第二路由处理单元对应的路由容错单元升主后,可以将第一路由处理单元之前发布的、对于第二路由处理单元来说是错误的路由信息进行修改,避免在网络中存在错误的路由信息。
基于上述描述,本申请实施例中的路由处理单元并不存在主备关系,所以,各个路由处理单元都有可能向对应的路由容错单元发送出方向路由报文。但是,路由容错单元存在主备关系,且第一路由处理单元与路由节点建立有邻居关系,所以,主路由容错单元可以将第一路由处理单元发送的出方向路由报文通过转发单元发送给路由节点,但是,备路由容错单元却不能将第二路由处理单元发送的出方向路由报文通过转发单元发送给路由节,只能在本地存储第二路由处理单元发送的出方向路由报文。
这样,后续在第一路由处理单元故障或者主路由容错单元故障时,如果某个备路由容错单元被选举为新的主路由容错单元,那么,为了保证这个新的主路由容错单元对应的路由处理单元能够顺利地接替原来的第一路由处理单元的任务,这个新的主路由容错单元将第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文进行比较。如果第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文存在差异,此时,这个新的主路由容错单元可以基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息。
其中,该路由更新信息可以包括需要更新的路由,也可以理解为需要修改的路由,还可以包括需要撤销的路由。
需要说明的是,备路由容错单元可以在切换为新的主路由容错单元之前确定上述的路由更新信息,还可以在切换为新的主路由容错单元之后确定上述的路由更新信息,本申请实施例对确定路由更新信息的时机不做限定。在后者的情况下,上述的备路由容错单元实际上就是新的主路由容错单元。
在本申请实施例中,部署的路由处理单元的上线时间可能不同,对于除第一路由处理单元之外的其他已上线的路由处理单元,这些路由处理单元对应的路由容错单元即为备路由容错单元,这些备路由容错单元能够从主数据库单元中读取第一路由处理单元的相关数据。而且,在转发单元接收到出方向路由报文之后,还需要将出方向路由报文发送给这些备路由容错单元。这样,这些备路由容错单元不仅能够接收转发单元发送的出方向路由报文,还能够从主数据库单元中读取出方向路由报文。但是,备路由容错单元到底获取哪个报文,存在多种实现方式。接下来对其中的两种方式进行介绍。
第一种方式,备路由容错单元接收来自转发单元的出方向路由报文。如果备路由容错单元未处于实时保护态,则备路由容错单元丢弃来自转发单元的出方向路由报文,从主数据库单元中读取第一路由处理单元的出方向路由报文。如果备路由容错单元已处于实时保护态,则备路由容错单元通过转发单元获取第一路由处理单元的多个出方向路由报文。
也即是,在上述第一种方式中,备路由容错单元处于实时保护态之前,备路由容错单元将会丢弃来自转发单元的出方向路由报文,而是从主数据库单元中读取出方向路由报文。在处于实时保护态之后,备路由容错单元不再从主数据库单元中读取出方向路由报文,而是获取来自转发单元的出方向路由报文。
第二种方式,备路由容错单元接收来自转发单元的出方向路由报文,同时,从主数据库单元中读取第一路由处理单元的出方向路由报文。当从主数据库单元读取的最后一个出方向路由报文和来自转发单元的一个出方向路由报文相同或者相邻时,停止从主数据库单元中读取出方向路由报文。
也即是,在第二种方式中,并不需要确定备路由容错单元是否处于实时保护态,而是同时从转发单元和主数据库单元中获取出方向路由报文。当从主数据库单元获取的最后一个出方向路由报文和从转发单元获取的一个出方向路由报文相同或者相邻时,说明备路由容错单元从主数据库单元中获取的出方向路由报文和备路由容错单元从转发单元获取的出方向路由报文无缝接续,这样,后续可以直接接收来自转发单元的出方向路由报文,而无需再从主数据库单元中获取出方向路由报文,能够确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
需要说明的是,出方向路由报文中可以携带一个报文编号,这样,通过出方向路由报文中的报文编号,能够确定备路由容错单元从主数据库单元读取的最后一个出方向路由报文是否与来自转发单元的一个出方向路由报文相同或者相邻。
可选地,在一些实施例中,当备路由容错单元按照上述方式,获取到第一路由处理单元的多个出方向路由报文之后,备路由容错单元还能够将第一路由处理单元的多个出方向路由报文发送至备数据库单元,由备数据库单元存储第一路由处理单元的多个出方向路由报文。
在本申请实施例中,第一路由处理单元的入方向路由报文和出方向路由报文均可以为BGP报文、内部网关协议(interior gateway protocols,IGP)报文或者标签分发协议(label distribution protocol,LDP)报文,当然,还可以为其他的报文。其中,IPG报文可以为中间系统到中间系统(intermediate system-to-intermediate system,ISIS)报文或者开放式最短路径优先(open shortest path first,OSPF)报文。可选地,其他路由处理单元的出方向路由报文也可以为这些报文。
第二方面,提供了处理路由报文的方法,在该方法中,备路由容错单元获取第二路由处理单元的多个出方向路由报文,第二路由处理单元是指备路由容错单元对应的路由处理单元。备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文,第一路由处理单元是指主路由容错单元对应的路由处理单元。备路由容错单元基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息,在备路由容错单元切换为新的主路由容错单元后,新的主路由容错单元向第三路由处理单元发送路由更新信息,第三路由处理单元是指除新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
需要说明的是,本申请实施例提供的入方向路由报文和出方向路由报文的处理方法可以进行结合。当然,本申请实施例提供的入方向路由报文的处理方法与相关技术中的出方向路由报文的处理方法也可以结合,本申请实施例提供的出方向路由报文的处理方法与相关技术中的入方向路由报文的处理方法也可以结合。
第三方面,提供了一种通信设备,所述通信设备包括备路由容错单元,所述备路由容错单元具有实现上述第一方面中处理路由报文的方法行为的功能。所述备路由容错单元包括一个或多个模块,该一个或多个模块用于实现上述第一方面所提供的处理路由报文的方法。
第四方面,提供了一种通信设备,所述通信设备包括备路由容错单元,所述备路由容错单元具有实现上述第二方面中处理路由报文的方法行为的功能。所述备路由容错单元包括一个或多个模块,该一个或多个模块用于实现上述第二方面所提供的处理路由报文的方法。
第五方面,提供了一种通信设备,所述通信设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的处理路由报文的方法的程序,以及存储用于实现上述第一方面所提供的处理路由报文的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第六方面,提供了一种通信设备,所述通信设备包括处理器和存储器,所述存储器用于存储执行上述第二方面所提供的处理路由报文的方法的程序,以及存储用于实现上述第二方面所提供的处理路由报文的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的处理路由报文的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的处理路由报文的方法。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的处理路由报文的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的处理路由报文的方法。
第十一方面,提供了一种处理路由报文的系统,所述系统包括:路由节点和通信设备,所述通信设备包括备路由容错单元,所述备路由容错单元用于实现上述第一方面所述的方法的步骤,或者实现上述第二方面所述的方法的步骤。
上述第二方面至第十一方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请实施例提供的技术方案至少可以带来以下有益效果:
在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会对路由处理单元进行相应修改,更不会导致路由数据同步失败,也就是说,通过报文的形式同步数据能够保证多数据格式的路由处理单元的兼容性。而且,在路由报文携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。
附图说明
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种以BGP为例的实施环境的示意图;
图3是本申请实施例提供的一种通信设备的结构示意图;
图4是本申请实施例提供的一种对于入方向路由报文进行处理的方法的流程图;
图5是本申请实施例提供的一种以BGP为例的入方向路由报文的处理方法的流程图;
图6是本申请实施例提供的一种对于出方向路由报文进行处理的方法的流程图;
图7是本申请实施例提供的一种以BGP为例的出方向路由报文的处理方法的流程图;
图8是本申请实施例提供的一种通信设备的结构示意图;
图9是本申请实施例提供的另一种通信设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于理解,在对本申请实施例提供的处理路由报文的方法进行详细的解释说明之前,先对本申请实施例涉及的实施环境进行介绍。
请参考图1,图1是本申请实施例提供的一种处理路由报文的方法所涉及的一种实施环境的示意图。该实施环境所涉及的系统架构包括多个路由处理单元101、多个路由容错单元102、多个转发单元103以及多个数据库单元104,且多个路由处理单元101、多个路由容错单元102、多个转发单元103以及多个数据库单元104一一对应,也即是,一个路由处理单元101对应一个路由容错单元102、一个转发单元103和一个数据库单元104。
该多个路由处理单元101能够运行在同一通信设备的不同虚拟机中,也能够运行在不同通信设备中。每个路由处理单元均能够与路由节点建立会话,比如,对于BGP协议来说,每个路由处理单元均能够与路由节点建立传输控制协议(transmission controlprotocol,TCP)会话。其中,该多个路由处理单元101中的每个路由处理单元均用于实现路由处理功能。
该多个路由容错单元102能够运行在同一通信设备的不同虚拟机中,也能够运行在不同通信设备中,且路由容错单元102能够与对应的路由处理单元101运行在同一通信设备的同一虚拟机,也能够与对应的路由处理单元101运行在同一通信设备的不同虚拟机中,还能够与对应的路由处理单元101运行在不同通信设备中。但是,通常情况下,路由容错单元102与对应的路由处理单元101运行在同一通信设备的同一虚拟机中。其中,该多个路由容错单元102中的每个路由容错单元均用于实现容错功能,也即是,将多个路由处理单元101中与路由节点交互的路由处理单元101收发的路由报文同步给其他的路由处理单元。该多个路由容错单元102包括一个主路由容错单元和至少一个备路由容错单元,且路由容错单元102与对应的路由处理单元101能够连接以进行通信。
该多个转发单元103能够运行在同一通信设备的不同虚拟机中,也能够运行在不同通信设备中,且转发单元103能够与对应的路由处理单元101或者路由容错单元102运行在同一通信设备的同一虚拟机,也能够与对应的路由处理单元101或者路由容错单元102运行在同一通信设备的不同虚拟机中,还能够与对应的路由处理单元101或者路由容错单元102运行在不同通信设备中。其中,该多个转发单元103中的每个转发单元均用于在路由处理单元与路由节点之间传输报文,该多个转发单元103包括一个主转发单元和至少一个备转发单元。在同一时间,只有主转发单元用于在路由处理单元与路由节点之间传输报文,备转发单元不进行报文的传输,且主转发单元能够与每个备路由容错单元连接以进行通信。
该多个数据库单元104能够运行在同一通信设备的不同虚拟机中,也能够运行在不同通信设备中,且数据库单元104能够与对应的路由处理单元101、路由容错单元102或者转发单元103运行在同一通信设备的同一虚拟机,也能够与对应的路由处理单元101、路由容错单元102或者转发单元103运行在同一通信设备的不同虚拟机中,还能够与对应的路由处理单元101、路由容错单元102或者转发单元103运行在不同通信设备中。其中,与主路由容错单元对应的数据库单元可以称为主数据库单元,与备路由容错单元对应的数据库单元可以称为备数据库单元。数据库单元104与对应的路由容错单元102能够连接以进行通信,同时,备路由容错单元还能够与主路由容错单元对应的数据库单元104连接以进行通信。
在图1中以两个路由处理单元示意性表示该多个路由处理单元101,以一个主路由容错单元和一个备路由容错单元示意性表示该多个路由容错单元102,以一个主数据库单元和一个备数据库单元示意性表示该多个数据库单元104。其中,由于同一时间只有主转发单元用于在路由处理单元与路由节点之间传输报文,备转发单元不进行报文的传输,所以图1中仅示出了一个转发单元,该转发单元即为主转发单元。
需要说明的是,上述是以一个路由处理单元对应一个路由容错单元、一个转发单元和一个数据库单元为例进行说明,在其他实施环境中,整个系统架构可以只包括一个转发单元,这个转发单元能够在路由处理单元与路由节点之间传输报文。可选地,整个系统架构还可以只包括一个主数据库单元和一个备数据库单元,主数据库单元用于存储主路由容错单元对应的路由处理单元的相关数据,备数据库单元用于存储各个备路由容错单元对应的路由处理单元的相关数据。
以BGP协议为例,路由处理单元101为BGP单元,也称为BGP平面,用于实现BGP的路由处理功能。路由容错单元102为BGP容错框架(BGP fault-tolerance infrastructure),用于实现容错功能,也即是,在多个BGP单元之间进行数据同步。转发单元103为报文容错服务(Packets Fault-tolerance Service,PFS),用于传输BGP单元与路由节点之间的路由报文。数据库单元104为数据容错服务(Data fault-tolerance service,DFS),用于存储BGP相关数据。如图2所示,该系统架构包括多个BGP单元201、多个BGP FTI202、多个PFS203和多个DFS204,该多个BGP FTI202包括一个主FTI和至少一个备FTI,该多个PFS203包括一个主PFS和至少一个备PFS,该多个DFS包括一个主DFS和至少一个备DFS。每个BGP单元与对应的BGP FTI202连接以进行通信,每个BGP FTI202与主PFS连接以进行通信。每个BGP FTI202还与对应的DFS204连接以进行通信。其中,由于同一时间只有主PFS用于在BGP单元与路由节点之间传输报文,备PFS不进行报文的传输,所以图2中仅示出了一个PFS,该PFS即为主PFS。
在上述部署的多个BGP FTI中,LES能够在上述部署的多个BGP FTI中选举出一个BGP FTI作为主FTI,上述部署的多个BGP FTI中除主FTI以外的其他BGP FTI作为备FTI。只有主FTI对应的BGP单元与路由节点建立BGP邻居,并收发路由报文,该路由报文可以包括入方向路由报文或者出方向路由报文中的一种或者多种。入方向路由报文是指主FTI对应的BGP单元接收来自路由节点的路由报文,出方向路由报文是指主FTI对应的BGP单元向路由节点发送的路由报文。
在上述部署的多个PFS中,LES还能够在上述部署的多个PFS中选举出一个PFS作为主PFS。对于入方向路由报文,主PFS可以通过主FTI将入方向路由报文发送给主FTI对应的BGP单元,还可以将入方向路由报文发送给备FTI。主FTI可以截获主PFS传输的入方向路由报文,从而配合备FTI来实现上述部署的多个BGP单元的报文的一致性,详细内容将在后文进行介绍,此处不做详细阐述。
需要说明的是,上述是以BGP路由协议为例进行说明,在其他一些实施例中,本申请提供的方法还能够应用于其他的路由协议,比如ISIS、OSPF、LDP等路由协议。
请参考图3,图3是根据本申请实施例提供的一种通信设备的结构示意图,该通信设备可以包括一个或多个处理器301、通信总线302、存储器303以及一个或多个通信接口304。
处理器301可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processor,NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线302用于在上述组件之间传送信息。通信总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是只读存储器(read-only memory,ROM),也可以是随机存取存储器(random access memory,RAM),也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、光盘(包括只读光盘(compact discread-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器303可以是独立存在,并通过通信总线302与处理器301相连接。存储器303也可以和处理器301集成在一起。
通信接口304使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口304包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在一些实施例中,通信设备可以包括多个处理器,如图3中所示的处理器301和处理器305。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,通信设备还可以包括输出设备306和输入设备307。输出设备306和处理器301通信,可以以多种方式来显示信息。例如,输出设备306可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备307和处理器301通信,可以以多种方式接收用户的输入。例如,输入设备307可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器303用于存储执行本申请方案的程序代码310,也即是,用于存储实现路由处理单元、路由容错单元、转发单元和数据库单元中的一个或多个单元的程序代码。处理器301可以执行存储器303中存储的程序代码310。该通信设备可以通过处理器301以及存储器303中的程序代码310,来实现下文图4或图6实施例提供的处理路由报文的方法。
需要说明的是,上述图3所示的通信设备部署有路由处理单元、路由容错单元、转发单元和数据库单元中的一个或多个单元,也即是,路由处理单元、路由容错单元、转发单元和数据库单元中的一个或多个单元能够运行在上述图3所示的通信设备上。换句话说,路由处理单元、路由容错单元、转发单元和数据库单元中的每个单元能够分别运行在一个独立的如图3所示的通信设备上,或者上述单元中的k个单元运行在h个独立的如图3所示的通信设备上,其中h小于k。
对本申请实施例涉及的实施环境进行解释之后,接下来对本申请实施例提供的处理路由报文的方法进行详细解释说明。由于本申请实施例提供的方法,能够对入方向路由报文进行处理,还能够对出方向路由报文进行处理,因此,接下来将分为两个实施例分别进行介绍。
请参考图4,图4是本申请实施例提供的一种处理路由报文的方法的流程图。在该实施例中,对入方向路由报文进行处理的方法进行介绍,该方法包括如下步骤。
步骤401:转发单元接收来自路由节点的入方向路由报文。
转发单元用于在第一路由处理单元和路由节点之间传输报文,由于入方向路由报文是指路由节点发送给第一路由处理单元的报文,所以,转发单元可以接收来自路由节点的入方向路由报文。其中,第一路由处理单元是指主路由容错单元对应的路由处理单元。
需要说明的是,在本申请实施例中,当整个系统架构包括多个转发单元时,也即是,每个路由处理单元分别对应有一个转发单元,本申请实施例中提及的转发单元为该多个转发单元中的主转发单元。当整个系统架构包括一个转发单元时,也即是,多个路由处理单元对应同一个转发单元,本申请实施例中提及的转发单元为这个转发单元。
步骤402:转发单元向主路由容错单元和至少一个备路由容错单元发送入方向路由报文。
转发单元不仅用于在第一路由处理单元和路由节点之间传输报文,还用于向其他已上线的路由处理单元同步第一路由处理单元的相关数据。所以,转发单元接收到入方向路由报文之后,一方面将入方向路由报文发送给主路由容错单元,由主路由容错单元将入方向路由报文发送给第一路由处理单元,另一方面将入方向路由报文发送给其他已上线的备路由容错单元,实现入方向路由报文的同步。
需要说明的是,本申请实施例部署的路由处理单元的启动时间可能不同,也即是,部署的路由处理单元的上线时间可能不同。对于除第一路由处理单元之外的其他未上线的路由处理单元来说,转发单元接收到入方向路由报文之后,并不会将入方向路由报文发送给未上线的这些路由处理单元对应的路由容错单元。但是,对于除第一路由处理单元之外的其他已上线的路由处理单元来说,已上线的这些路由处理单元对应的路由容错单元即为备路由容错单元,转发单元在接收到入方向路由报文之后,向主路由容错单元发送入方向路由报文的同时,还需要向这些备路由容错单元发送入方向路由报文。
为了实现多点故障容错,所部署的路由处理单元的数量需要大于可靠路由处理单元的需求数量。例如所部署的路由处理单元数量和可靠路由处理单元的需求数量成正比例关系,又如所部署的路由处理单元数量和可靠路由处理单元的需求数量之间的差值大于参考数值。举例来说,为了实现n点故障容错,需要确保至少n+1个路由处理单元可靠,即需要部署m*n+1个路由处理单元。其中,n为正整数,m为正数,且m≧1。由于路由处理单元和路由容错单元一一对应,所以,所部署的路由容错单元的数量需要大于可靠路由处理单元的需求数量。
步骤403:主路由容错单元接收来自转发单元的入方向路由报文,将入方向路由报文发送给第一路由处理单元。
主路由容错单元接收到入方向路由报文之后,将入方向路由报文发送给第一路由处理单元,实现了入方向路由报文的传输。
可选地,在一些实施例中,为了实现第一路由处理单元接收的入方向路由报文同步给其他路由处理单元,主路由容错单元还需要将入方向路由报文存储至主数据库单元。
步骤404:备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个入方向路由报文。
基于上述描述,部署的路由处理单元的上线时间可能不同,对于除第一路由处理单元之外的其他已上线的路由处理单元,这些路由处理单元对应的路由容错单元即为备路由容错单元,这些备路由容错单元能够从主数据库单元中读取第一路由处理单元的相关数据。而且,在转发单元接收到入方向路由报文之后,还需要将入方向路由报文发送给这些备路由容错单元。这样,这些备路由容错单元不仅能够接收转发单元发送的入方向路由报文,还能够从主数据库单元中读取入方向路由报文。但是,备路由容错单元到底获取哪个报文,存在多种实现方式。接下来对其中的两种方式进行介绍。
第一种方式,备路由容错单元接收来自转发单元的入方向路由报文。如果备路由容错单元未处于实时保护态,则备路由容错单元丢弃来自转发单元的入方向路由报文,从主数据库单元中读取第一路由处理单元的多个入方向路由报文。如果备路由容错单元已处于实时保护态,则备路由容错单元通过转发单元获取第一路由处理单元的多个入方向路由报文。
实时保护态是指备路由容错单元对应的路由处理单元能够接替主路由容错单元对应的路由处理单元工作的状态。也即是,在主路由容错单元对应的路由处理单元故障,或者主路由容错单元故障时,LES能够从已处于实时保护态的备路由容错单元中选举一个路由容错单元作为主路由容错单元,重新选举的这个主路由容错单元对应的路由处理单元能够与路由节点建立路由邻居,并收发BGP路由,实现BGP邻居不中断,BGP路由不中断。也可以理解为,处于实时保护态的备路由容错单元从主数据库单元中读取的入方向路由报文和备路由容错单元接收到的来自转发单元的入方向路由报文无缝接续,确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
当备路由容错单元未处于实时保护态时,说明备路由容错单元未读取完主数据库单元中第一路由处理单元在入方向上的所有数据,所以,备路由容错单元需要从主数据库单元中读取入方向路由报文。当备路由容错单元已处于实时保护态时,说明备路由容错单元已读取完主数据库单元中第一路由处理单元在入方向上的所有数据,此时,备路由容错单元不需要再从主数据库单元中读取入方向路由报文,而是直接获取转发单元发送的入方向路由报文。也即是,在上述第一种方式中,备路由容错单元处于实时保护态之前,备路由容错单元将会丢弃来自转发单元的入方向路由报文,而是从主数据库单元中读取入方向路由报文。在处于实时保护态之后,备路由容错单元不再从主数据库单元中读取入方向路由报文,而是获取来自转发单元的入方向路由报文。
第二种方式,备路由容错单元接收来自转发单元的入方向路由报文,同时,从主数据库单元中读取第一路由处理单元的入方向路由报文。当从主数据库单元读取的最后一个入方向路由报文和来自转发单元的一个入方向路由报文相同或者相邻时,停止从主数据库单元中读取入方向路由报文。
也即是,在第二种方式中,并不需要确定备路由容错单元是否处于实时保护态,而是同时从转发单元和主数据库单元中获取入方向路由报文。当从主数据库单元获取的最后一个入方向路由报文和从转发单元获取的一个入方向路由报文相同或者相邻时,说明备路由容错单元从主数据库单元中获取的入方向路由报文和备路由容错单元从转发单元获取的入方向路由报文无缝接续,这样,后续可以直接接收来自转发单元的入方向路由报文,而无需再从主数据库单元中获取入方向路由报文,能够确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
需要说明的是,入方向路由报文中可以携带一个报文编号,这样,通过入方向路由报文中的报文编号,能够确定备路由容错单元从主数据库单元读取的最后一个入方向路由报文是否与来自转发单元的一个入方向路由报文相同或者相邻。
步骤405:备路由容错单元将第一路由处理单元的多个入方向路由报文发送至第二路由处理单元,第二路由处理单元是指备路由容错单元对应的路由处理单元。
备路由容错单元将第一路由处理单元的多个入方向路由报文发送至第二路由处理单元,能够实现第一路由处理单元的入方向路由报文同步至第二路由处理单元。
可选地,在一些实施例中,备路由容错单元还能够将第一路由处理单元的多个入方向路由报文发送至备数据库单元,由备数据库单元存储第一路由处理单元的多个入方向路由报文。这样,在备路由容错单元被选为新的主路由容错单元之后,其他上线的备路由容错单元还可以从备数据库单元中获取这些入方向路由报文。
需要说明的是,第一路由处理单元的入方向路由报文为BGP报文、IGP报文或者LDP报文,当然,还可以为其他的报文。其中,IPG报文可以为ISIS报文或者OSPF报文。
综上,在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会对路由处理单元进行相应修改,更不会导致路由数据同步失败,也就是说,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性,而且在入方向路由报文中携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。同时,第二路由处理单元能够获得第一路由处理单元接收到的路由信息,所以当第二路由处理单元对应的路由容错单元升为主之后,转发单元中的转发表会保持正确,或者在较大程度上保持正确。
另外,在本申请实施例中,由于各个路由处理单元之间互不影响,只有主备路由容错单元相互影响且逻辑存在差异,且路由容错单元并不感知、不依赖路由处理单元的内容实现,也即是,将路由处理功能和容错功能解耦,这样,在主路由容错单元对应的路由处理单元故障或者主路由容错单元故障时,可以在线从其他路由处理单元中快速选择一个路由处理单元来建立与路由节点的邻居关系,无需考虑容错功能的影响,使得路由不中断的效果更好,还能够进行一些其他的在线验证工作。再者,由于将路由处理功能和容错功能解耦,所以,在需要扩展一个路由处理单元时,可以单独增加一个路由处理单元和一个路由容错单元,无需考虑路由处理单元之间的影响,使得系统架构的可扩展性较好。
而且,在本申请实施例中,由于将路由处理功能和容错功能解耦,且各个路由处理单元不存在主备关系,所以,路由处理单元无需处理主从数据同步、实时保护态的定界、主从切换等逻辑。另外,由于备数据库单元中存储所有的入方向路由报文,所以,在某个备路由容错单元对应的路由处理单元故障之后,可以通过这个备数据库单元中的入方向路由报文完成故障数据恢复,进一步提高了系统的可靠性。
接下来以BGP协议为例,对入方向路由报文的同步方法进行介绍。请参考图5,PFS接收来自路由节点的入方向路由报文。PFS向主FTI和已上线的至少一个备FTI发送入方向路由报文。主FTI接收入方向路由报文,将入方向路由报文发送给对应的BGP单元,以及将入方向路由报文存储至主DFS。备FTI通过PFS和主DFS获取主FTI对应的BGP单元的多个入方向路由报文,并将获取的入方向路由报文发送给备FTI对应的BGP单元。
需要说明的是,在图5中以两个BGP单元为例进行示意,以一个主FTI和一个备FTI为例进行示意,由于同步入方向路由报文的过程中只有一个PFS参与,所以图5中仅仅示意出一个PFS。
请参考图6,图6是本申请实施例提供的一种处理路由报文的方法的流程图。在该实施例中,对出方向路由报文进行处理的方法进行介绍,该方法包括如下步骤。
步骤601:第一路由处理单元向主路由容错单元发送出方向路由报文,第一路由处理单元是指主路由容错单元对应的路由处理单元。
出方向路由报文是指主路由容错单元对应的路由处理单元发送给路由节点的报文。
步骤602:主路由容错单元接收来自第一路由处理单元的出方向路由报文,将第一处理单元的出方向路由报文发送给转发单元。
转发单元用于在第一路由处理单元和路由节点之间传输报文,所以,主路由容错单元接收到出方向路由报文之后,将出方向路由报文发送给转发单元。
可选地,为了便于第一路由处理单元与其他路由处理单元之间的路由数据同步,主路由容错单元接收到出方向路由报文之后,还需要将出方向路由报文存储在主数据库单元中。
需要说明的是,在本申请实施例中,当整个系统架构包括多个转发单元时,也即是,每个路由处理单元分别对应有一个转发单元,本申请实施例中提及的转发单元为该多个转发单元中的主转发单元。当整个系统架构包括一个转发单元时,也即是,多个路由处理单元对应同一个转发单元,本申请实施例中提及的转发单元为这个转发单元。
步骤603:转发单元接收出方向路由报文,将出方向路由报文发送给路由节点和至少一个备路由容错单元。
转发单元不仅用于在第一路由处理单元和路由节点之间传输报文,还用于向其他已上线的路由处理单元同步第一路由处理单元的相关数据。所以,转发单元接收到出方向路由报文之后,一方面将出方向路由报文发送给路由节点,实现了出方向路由报文的传输,另一方面将出方向路由报文发送给其他已上线的备路由容错单元,实现出方向路由报文的同步。
需要说明的是,本申请实施例部署的路由处理单元的启动时间可能不同,也即是,部署的路由处理单元的上线时间可能不同。对于除第一路由处理单元之外的其他未上线的路由处理单元来说,转发单元接收到出方向路由报文之后,并不会将出方向路由报文发送给未上线的这些路由处理单元对应的路由容错单元。但是,对于除第一路由处理单元之外的其他已上线的路由处理单元来说,已上线的这些路由处理单元对应的路由容错单元即为备路由容错单元,转发单元在接收到出方向路由报文之后,向路由节点发送出方向路由报文的同时,还需要向这些备路由容错单元发送出方向路由报文。
基于上述描述,为了实现多点故障容错,所部署的路由处理单元的数量需要大于可靠路由处理单元的需求数量。例如所部署的路由处理单元数量和可靠路由处理单元的需求数量成正比例关系,又如所部署的路由处理单元数量和可靠路由处理单元的需求数量之间的差值大于参考数值。由于路由处理单元和路由容错单元一一对应,所以,所部署的路由容错单元的数量需要大于可靠路由处理单元的需求数量。
步骤604:备路由容错单元获取第二路由处理单元的多个出方向路由报文,第二路由处理单元是指备路由容错单元对应的路由处理单元。
在本申请实施例中,由于路由处理单元并不存在主备关系,所以,各个路由处理单元都有可能向对应的路由容错单元发送出方向路由报文。也即是,备路由容错单元可以接收来自第二路由处理单元的多个出方向路由报文。
需要说明的是,在本申请实施例中,路由容错单元存在主备关系,且主路由容错单元对应的路由处理单元与路由节点建立有邻居关系,也即是,第一路由处理的那元与路由节点建立有邻居关系,第二路由处理单元与路由节点并未建立邻居关系,所以,主路由容错单元可以将第一路由处理单元发送的出方向路由报文通过转发单元发送给路由节点,但是,备路由容错单元却不能将第二路由处理单元发送的出方向路由报文通过转发单元发送给路由节,只能在本地存储第二路由处理单元发送的出方向路由报文。也即是,备路由容错单元接收到来自第二路由处理单元的多个出方向路由报文之后,将第二路由处理单元的多个出方向路由报文存储至备路由容错单元的本地。
步骤605:备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文。
基于上述描述,部署的路由处理单元的上线时间可能不同,对于除第一路由处理单元之外的其他已上线的路由处理单元,这些路由处理单元对应的路由容错单元即为备路由容错单元,这些备路由容错单元能够从主数据库单元中读取第一路由处理单元的相关数据。而且,在转发单元接收到出方向路由报文之后,还需要将出方向路由报文发送给这些备路由容错单元。这样,这些备路由容错单元不仅能够接收转发单元发送的出方向路由报文,还能够从主数据库单元中读取出方向路由报文。但是,备路由容错单元到底获取哪个报文,存在多种实现方式。接下来对其中的两种方式进行介绍。
第一种方式,备路由容错单元接收来自转发单元的出方向路由报文。如果备路由容错单元未处于实时保护态,则备路由容错单元丢弃来自转发单元的出方向路由报文,从主数据库单元中读取第一路由处理单元的出方向路由报文。如果备路由容错单元已处于实时保护态,则备路由容错单元通过转发单元获取第一路由处理单元的多个出方向路由报文。
实时保护态是指备路由容错单元对应的路由处理单元能够接替主路由容错单元对应的路由处理单元工作的状态。也即是,在主路由容错单元对应的路由处理单元故障,或者主路由容错单元故障时,LES能够从已处于实时保护态的备路由容错单元中选举一个路由容错单元作为主路由容错单元,重新选举的这个主路由容错单元对应的路由处理单元能够与路由节点建立路由邻居,并收发BGP路由,实现BGP邻居不中断,BGP路由不中断。也可以理解为,处于实时保护态的备路由容错单元从主数据库单元中读取的出方向路由报文和备路由容错单元接收到的来自转发单元的出方向路由报文无缝接续,确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
当备路由容错单元未处于实时保护态时,说明备路由容错单元未读取完主数据库单元中第一路由处理单元在出方向上的所有数据,所以,备路由容错单元需要从主数据库单元中读取出方向路由报文。当备路由容错单元已处于实时保护态时,说明备路由容错单元已读取完主数据库单元中第一路由处理单元在出方向上的所有数据,此时,备路由容错单元不需要再从主数据库单元中读取出方向路由报文,而是直接获取转发单元发送的出方向路由报文。也即是,在上述第一种方式中,备路由容错单元处于实时保护态之前,备路由容错单元将会丢弃来自转发单元的出方向路由报文,而是从主数据库单元中读取出方向路由报文。在处于实时保护态之后,备路由容错单元不再从主数据库单元中读取出方向路由报文,而是获取来自转发单元的出方向路由报文。
第二种方式,备路由容错单元接收来自转发单元的出方向路由报文,同时,从主数据库单元中读取第一路由处理单元的出方向路由报文。当从主数据库单元读取的最后一个出方向路由报文和来自转发单元的一个出方向路由报文相同或者相邻时,停止从主数据库单元中读取出方向路由报文。
也即是,在第二种方式中,并不需要确定备路由容错单元是否处于实时保护态,而是同时从转发单元和主数据库单元中获取出方向路由报文。当从主数据库单元获取的最后一个出方向路由报文和从转发单元获取的一个出方向路由报文相同或者相邻时,说明备路由容错单元从主数据库单元中获取的出方向路由报文和备路由容错单元从转发单元获取的出方向路由报文无缝接续,这样,后续可以直接接收来自转发单元的出方向路由报文,而无需再从主数据库单元中获取出方向路由报文,能够确保主路由容错单元对应的路由处理单元和备路由容错单元对应的路由处理单元保持最终一致性。
需要说明的是,出方向路由报文中可以携带一个报文编号,这样,通过出方向路由报文中的报文编号,能够确定备路由容错单元从主数据库单元读取的最后一个出方向路由报文是否与来自转发单元的一个出方向路由报文相同或者相邻。
可选地,在一些实施例中,当备路由容错单元按照上述方式,获取到第一路由处理单元的多个出方向路由报文之后,备路由容错单元还能够将第一路由处理单元的多个出方向路由报文发送至备数据库单元,由备数据库单元存储第一路由处理单元的多个出方向路由报文。
步骤606:备路由容错单元基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息。
基于上述描述,本申请实施例中的路由处理单元并不存在主备关系,所以,各个路由处理单元都有可能向对应的路由容错单元发送出方向路由报文。但是,路由容错单元存在主备关系,且第一路由处理单元与路由节点建立有邻居关系,所以,主路由容错单元可以将第一路由处理单元发送的出方向路由报文通过转发单元发送给路由节点,但是,备路由容错单元却不能将第二路由处理单元发送的出方向路由报文通过转发单元发送给路由节,只能在本地存储第二路由处理单元发送的出方向路由报文。
这样,后续在第一路由处理单元故障或者主路由容错单元故障时,如果某个备路由容错单元被选举为新的主路由容错单元,那么,为了保证这个新的主路由容错单元对应的路由处理单元能够顺利地接替原来的第一路由处理单元的任务,这个新的主路由容错单元将第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文进行比较。如果第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文存在差异,此时,这个新的主路由容错单元可以基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息。
其中,该路由更新信息可以包括需要修改的路由,还可以包括需要撤销的路由。
比如,以BGP协议为例,对于入方向路由刷新(RouteRefresh)报文,原来的主FTI对应的BGP单元未完成批量更新(Update)报文发送的话,新的主FTI将向对应的BGP单元上送RouteRefresh报文,触发新的主FTI对应的BGP单元重新发送批量Update报文。对于出方向Update报文,新的主FTI将比较自身对应的BGP单元发送的Update报文和原来的主FTI对应的BGP单元发送的Update报文是否存在差异,如果存在差异,将向路由节点发送新的主FTI对应的BGP单元发送的Update报文,触发修改或撤销路由。
基于上述描述,备路由容错单元将第二路由处理单元的出方向路由报文存储在自身的本地,将第一路由处理单元的出方向路由报文存储在备数据库单元中,所以,在一些实施例中,备路由容错单元可以将本地存储的出方向路由报文和备数据库单元中存储的出方向路由报文进行比较,从而确定第二路由处理单元的出方向路由报文和第一路由处理单元的出方向路由报文是否存在差异。
步骤607:在备路由容错单元切换为新的主路由容错单元后,新的主路由容错单元向第三路由处理单元发送路由更新信息,第三路由处理单元是指除新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
由于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文存在差异,所以,为了保证这个新的主路由容错单元对应的路由处理单元能够顺利地接替原来的第一路由处理单元的任务,新的主路由容错单元向第三路由处理单元发送路由更新信息。在一些实施例中,新的主路由容错单元可以通过更新报文的方式向第三路由处理单元发送路由更新信息。
需要说明的是,备路由容错单元可以在切换为新的主路由容错单元之前确定上述的路由更新信息,还可以在切换为新的主路由容错单元之后确定上述的路由更新信息,本申请实施例对确定路由更新信息的时机不做限定。在后者的情况下,上述的备路由容错单元实际上就是新的主路由容错单元。
需要说明的是,第一路由处理单元的出方向路由报文为BGP报文、IGP报文或者LDP报文,当然,还可以为其他的报文。其中,IPG报文可以为ISIS报文或者OSPF报文。可选地,其他路由处理单元的出方向路由报文也可以为这些报文。
综上,在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会导致路由数据同步失败,也就是说,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性,而且在出方向路由报文中携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。同时,第二路由处理单元获得第一路由处理单元发出去的路由信息之后,还可以根据第一路由处理单元发出去的路由信息和自身想要发出去的路由进行比较,来确定路由更新信息,这样,当第二路由处理单元对应的路由容错单元升主后,可以将第一路由处理单元之前发布的、对于第二路由处理单元来说是错误的路由信息进行修改,避免在网络中存在错误的路由信息。
另外,在本申请实施例中,由于各个路由处理单元之间互不影响,只有主备路由容错单元相互影响且逻辑存在差异,且路由容错单元并不感知、不依赖路由处理单元的内容实现,也即是,将路由处理功能和容错功能解耦,这样,在主路由容错单元对应的路由处理单元故障或者主路由容错单元故障时,可以在线从其他路由处理单元中快速选择一个路由处理单元来建立与路由节点的邻居关系,无需考虑容错功能的影响,使得路由不中断的效果更好,还能够进行一些其他的在线验证工作。再者,由于将路由处理功能和容错功能解耦,所以,在需要扩展一个路由处理单元时,可以单独增加一个路由处理单元和一个路由容错单元,无需考虑路由处理单元之间的影响,使得系统架构的可扩展性较好。
而且,在本申请实施例中,由于将路由处理功能和容错功能解耦,且各个路由处理单元不存在主备关系,所以,路由处理单元无需处理主从数据同步、实时保护态的定界、主从切换等逻辑。另外,由于备数据库单元中存储所有的出方向路由报文,所以,在某个备路由容错单元对应的路由处理单元故障之后,可以通过这个备数据库单元中的报文完成故障数据恢复,进一步提高了系统的可靠性。
接下来以BGP协议为例,对出方向路由报文的处理方法进行介绍。请参考图7,主FTI接收来自对应的BGP单元的出方向路由报文。主FTI将出方向路由报文发送给PFS,以及将出方向路由报文存储至主DFS。主PFS接收出方向路由报文,将出方向路由报文发送给路由节点和已上线的至少一个备FTI。备FTI通过PFS和主DFS获取主FTI对应的BGP单元的多个出方向路由报文。备FTI还可以获取自身对应的BGP单元的出方向路由报文,进而确定路由更新信息,向其他的BGP单元发送路由更新信息。
需要说明的是,在图7中以两个BGP单元为例进行示意,以一个主FTI和一个备FTI为例进行示意,由于处理出方向路由报文的过程中只有一个PFS参与,所以图7中仅仅示意出一个PFS。
以BGP协议为例,入方向路由报文和出方向路由报文可以包括但不限于如下报文:Open报文、保持心跳(KeepAlive)报文、Update报文、RouteRefresh报文、终止(Eor)报文、通知(Notification)报文、能力(Capability)报文。其中,多个路由处理单元之间通过Open报文和KeepAlive报文,实现BGP邻居状态和能力协商结果同步。多个路由处理单元之间通过BGP Update报文,实现BGP接收路由数据的同步。多个路由处理单元之间通过BGP Update报文,实现BGP发送路由数据的同步。多个路由处理单元之间通过BGP RouteRefresh和Eor报文,实现BGP路由刷新过程同步。多个路由处理单元之间通过BGP Notification报文,实现BGP邻居故障信息同步。多个路由处理单元之间通过BGP Capability报文,实现BGP能力动态协商结果同步。
需要说明的是,图4和图6两个实施例能够结合来实现入方向路由报文和出方向路由报文的处理。当然,图4所示实施例提供的入方向路由报文的处理方法与相关技术中的出方向路由报文的处理方法也可以结合,图6所示实施例提供的出方向路由报文的处理方法与相关技术中的入方向路由报文的处理方法也可以结合。
图8是本申请实施例提供的一种通信设备的结构示意图,该通信设备包括备路由容错单元,参见图8,该备路由容错单元包括第一获取模块801和第一发送模块802;
第一获取模块801,用于通过转发单元和主数据库单元获取第一路由处理单元的多个入方向路由报文,第一路由处理单元是指主路由容错单元对应的路由处理单元;
第一发送模块802,用于将第一路由处理单元的多个入方向路由报文发送至第二路由处理单元,第二路由处理单元是指备路由容错单元对应的路由处理单元。
可选地,备路由容错单元还包括第二获取模块、第三获取模块、确定模块和第二发送模块;
第二获取模块,用于获取第二路由处理单元的多个出方向路由报文;
第三获取模块,用于通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文;
确定模块,用于基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息;
第二发送模块,用于在备路由容错单元切换为新的主路由容错单元后,向第三路由处理单元发送路由更新信息,第三路由处理单元是指除新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
可选地,第一获取模块具体用于:
如果备路由容错单元未处于实时保护态,则从主数据库单元中读取第一路由处理单元的多个入方向路由报文,实时保护态是指第二路由处理单元能够接替第一路由处理单元工作的状态;
如果备路由容错单元已处于实时保护态,则通过转发单元获取第一路由处理单元的多个入方向路由报文。
可选地,备路由容错单元还包括第三发送模块;
第三发送模块,用于将第一路由处理单元的多个入方向路由报文发送至备数据库单元。
可选地,备路由容错单元还包括第四发送模块;
第四发送模块,用于将第一路由处理单元的多个出方向路由报文发送至备数据库单元。
可选地,第一路由处理单元的入方向路由报文为边界网关协议BGP报文、内部网关协议IGP报文、或者标签分配协议LDP报文。
综上,在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会对路由处理单元进行相应修改,更不会导致路由数据同步失败,也就是说,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性,而且在入方向路由报文中携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。同时,第二路由处理单元能够获得第一路由处理单元接收到的路由信息,所以当第二路由处理单元对应的路由容错单元升为主之后,转发单元中的转发表会保持正确,或者在较大程度上保持正确。
另外,在本申请实施例中,由于各个路由处理单元之间互不影响,只有主备路由容错单元相互影响且逻辑存在差异,且路由容错单元并不感知、不依赖路由处理单元的内容实现,也即是,将路由处理功能和容错功能解耦,这样,在主路由容错单元对应的路由处理单元故障或者主路由容错单元故障时,可以在线从其他路由处理单元中快速选择一个路由处理单元来建立与路由节点的邻居关系,无需考虑容错功能的影响,使得路由不中断的效果更好,还能够进行一些其他的在线验证工作。再者,由于将路由生成功能和容错功能解耦,所以,在需要扩展一个路由处理单元时,可以单独增加一个路由处理单元和一个路由容错单元,无需考虑路由处理单元之间的影响,使得系统架构的可扩展性较好。
而且,在本申请实施例中,由于将路由生成功能和容错功能解耦,且各个路由处理单元不存在主备关系,所以,路由处理单元无需处理主从数据同步、实时保护态的定界、主从切换等逻辑。另外,由于备路由容错单元对应的数据库单元中存储所有的报文,所以,在某个备路由容错单元对应的路由处理单元故障之后,可以通过这个备数据库单元中的入方向路由报文完成故障数据恢复,进一步提高了系统的可靠性。
需要说明的是:上述实施例提供的备路由容错单元在处理路由报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将备路由容错单元的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的备路由容错单元与处理路由报文的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本申请实施例提供的一种通信设备的结构示意图,该通信设备包括备路由容错单元,参见图9,该备路由容错单元包括第一获取模块901、第二获取模块902、确定模块903和发送模块904;
第一获取模块901,用于获取第二路由处理单元的多个出方向路由报文,第二路由处理单元是指备路由容错单元对应的路由处理单元;
第二获取模块902,用于通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文,第一路由处理单元是指主路由容错单元对应的路由处理单元;
确定模块903,用于基于第二路由处理单元的多个出方向路由报文和第一路由处理单元的多个出方向路由报文确定路由更新信息;
发送模块904,用于在备路由容错单元切换为新的主路由容错单元后,向第三路由处理单元发送路由更新信息,第三路由处理单元是指除新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
综上,在本申请实施例中,路由处理单元之间通过报文的形式同步数据,由于报文的格式是标准的、统一的,所以,通过报文的形式同步数据之后,就算各个路由处理单元支持的数据格式不兼容,或者说某个路由处理单元不具有某些数据的收发能力,也不会导致路由数据同步失败,也就是说,通过报文的形式同步路由数据能够保证多数据格式的路由处理单元的兼容性,而且在出方向路由报文中携带新的属性时,路由处理单元在不经过修改的情况下就可以接收,相对来说减少了大量的修改工作。同时,第二路由处理单元获得第一路由处理单元发出去的路由信息之后,还可以根据第一路由处理单元发出去的路由信息和自身想要发出去的路由进行比较,来确定路由更新信息,这样,当第二路由处理单元对应的路由容错单元升主后,可以将第一路由处理单元之前发布的、对于第二路由处理单元来说是错误的路由信息进行修改,避免在网络中存在错误的路由信息。
另外,在本申请实施例中,由于各个路由处理单元之间互不影响,只有主备路由容错单元相互影响且逻辑存在差异,且路由容错单元并不感知、不依赖路由处理单元的内容实现,也即是,将路由生成功能和容错功能解耦,这样,在主路由容错单元对应的路由处理单元故障或者主路由容错单元故障时,可以在线从其他路由处理单元中快速选择一个路由处理单元来建立与路由节点的邻居关系,无需考虑容错功能的影响,使得路由不中断的效果更好,还能够进行一些其他的在线验证工作。再者,由于将路由生成功能和容错功能解耦,所以,在需要扩展一个路由处理单元时,可以单独增加一个路由处理单元和一个路由容错单元,无需考虑路由处理单元之间的影响,使得系统架构的可扩展性较好。
而且,在本申请实施例中,由于将路由生成功能和容错功能解耦,且各个路由处理单元不存在主备关系,所以,路由处理单元无需处理主从数据同步、实时保护态的定界、主从切换等逻辑。另外,由于备数据库单元中存储所有的出方向路由报文,所以,在某个备路由容错单元对应的路由处理单元故障之后,可以通过这个备数据库单元中的报文完成故障数据恢复,进一步提高了系统的可靠性。
需要说明的是:上述实施例提供的备路由容错单元在理路由报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将备路由容错单元的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的备路由容错单元与处理路由报文的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))或半导体介质(例如:固态硬盘(solid state disk,SSD))等。值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种处理路由报文的方法,其特征在于,包括:
备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个入方向路由报文,所述第一路由处理单元是指主路由容错单元对应的路由处理单元;
所述备路由容错单元将所述第一路由处理单元的多个入方向路由报文发送至第二路由处理单元,所述第二路由处理单元是指所述备路由容错单元对应的路由处理单元。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述备路由容错单元获取所述第二路由处理单元的多个出方向路由报文;
所述备路由容错单元通过所述转发单元和所述主数据库单元获取所述第一路由处理单元的多个出方向路由报文;
所述备路由容错单元基于所述第二路由处理单元的多个出方向路由报文和所述第一路由处理单元的多个出方向路由报文确定路由更新信息;
在所述备路由容错单元切换为新的主路由容错单元后,所述新的主路由容错单元向第三路由处理单元发送所述路由更新信息,所述第三路由处理单元是指除所述新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
3.根据权利要求1所述的方法,其特征在于,所述备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个入方向路由报文,包括:
如果所述备路由容错单元未处于实时保护态,则所述备路由容错单元从所述主数据库单元中读取所述第一路由处理单元的多个入方向路由报文,所述实时保护态是指所述第二路由处理单元能够接替所述第一路由处理单元工作的状态;
如果所述备路由容错单元已处于所述实时保护态,则所述备路由容错单元通过所述转发单元获取所述第一路由处理单元的多个入方向路由报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述备路由容错单元将所述第一路由处理单元的多个入方向路由报文发送至备数据库单元。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述备路由容错单元将所述第一路由处理单元的多个出方向路由报文发送至备数据库单元。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一路由处理单元的入方向路由报文为边界网关协议BGP报文、内部网关协议IGP报文、或者标签分配协议LDP报文。
7.一种处理路由报文的方法,其特征在于,包括:
备路由容错单元获取第二路由处理单元的多个出方向路由报文,所述第二路由处理单元是指所述备路由容错单元对应的路由处理单元;
所述备路由容错单元通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文,所述第一路由处理单元是指主路由容错单元对应的路由处理单元;
所述备路由容错单元基于所述第二路由处理单元的多个出方向路由报文和所述第一路由处理单元的多个出方向路由报文确定路由更新信息;
在所述备路由容错单元切换为新的主路由容错单元后,所述新的主路由容错单元向第三路由处理单元发送所述路由更新信息,所述第三路由处理单元是指除所述新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
8.一种通信设备,其特征在于,所述通信设备包括备路由容错单元,所述备路由容错单元包括第一获取模块和第一发送模块;
所述第一获取模块,用于通过转发单元和主数据库单元获取第一路由处理单元的多个入方向路由报文,所述第一路由处理单元是指主路由容错单元对应的路由处理单元;
所述第一发送模块,用于将所述第一路由处理单元的多个入方向路由报文发送至第二路由处理单元,所述第二路由处理单元是指所述备路由容错单元对应的路由处理单元。
9.根据权利要求8所述的通信设备,其特征在于,所述备路由容错单元还包括第二获取模块、第三获取模块、确定模块和第二发送模块;
所述第二获取模块,用于获取所述第二路由处理单元的多个出方向路由报文;
所述第三获取模块,用于通过所述转发单元和所述主数据库单元获取所述第一路由处理单元的多个出方向路由报文;
所述确定模块,用于基于所述第二路由处理单元的多个出方向路由报文和所述第一路由处理单元的多个出方向路由报文确定路由更新信息;
所述第二发送模块,用于在所述备路由容错单元切换为新的主路由容错单元后,向第三路由处理单元发送所述路由更新信息,所述第三路由处理单元是指除所述新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
10.根据权利要求8所述的通信设备,其特征在于,所述第一获取模块具体用于:
如果所述备路由容错单元未处于实时保护态,则从所述主数据库单元中读取所述第一路由处理单元的多个入方向路由报文,所述实时保护态是指所述第二路由处理单元能够接替所述第一路由处理单元工作的状态;
如果所述备路由容错单元已处于所述实时保护态,则通过所述转发单元获取所述第一路由处理单元的多个入方向路由报文。
11.根据权利要求8所述的通信设备,其特征在于,所述备路由容错单元还包括第三发送模块;
所述第三发送模块,用于将所述第一路由处理单元的多个入方向路由报文发送至备数据库单元。
12.根据权利要求9所述的通信设备,其特征在于,所述备路由容错单元还包括第四发送模块;
所述第四发送模块,用于将所述第一路由处理单元的多个出方向路由报文发送至备数据库单元。
13.根据权利要求8至12任一项所述的通信设备,其特征在于,所述第一路由处理单元的入方向路由报文为边界网关协议BGP报文、内部网关协议IGP报文、或者标签分配协议LDP报文。
14.一种通信设备,其特征在于,所述通信设备包括备路由容错单元,所述备路由容错单元包括第一获取模块、第二获取模块、确定模块和发送模块:
所述第一获取模块,用于获取第二路由处理单元的多个出方向路由报文,所述第二路由处理单元是指所述备路由容错单元对应的路由处理单元;
所述第二获取模块,用于通过转发单元和主数据库单元获取第一路由处理单元的多个出方向路由报文,所述第一路由处理单元是指主路由容错单元对应的路由处理单元;
所述确定模块,用于基于所述第二路由处理单元的多个出方向路由报文和所述第一路由处理单元的多个出方向路由报文确定路由更新信息;
所述发送模块,用于在所述备路由容错单元切换为新的主路由容错单元后,向第三路由处理单元发送所述路由更新信息,所述第三路由处理单元是指除所述新的主路由容错单元之外的备路由容错单元对应的路由处理单元。
15.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法的步骤,或者实现权利要求7所述的方法的步骤。
16.一种处理路由报文的系统,其特征在于,所述系统包括:路由节点和通信设备;
所述通信设备包括备路由容错单元,所述备路由容错单元用于实现权利要求1-6任一项所述的方法的步骤,或者实现权利要求7所述的方法的步骤。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210685994.XA CN115190061A (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
CN202010500275.7A CN113765781B (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
EP21816924.1A EP4152158A4 (en) | 2020-06-04 | 2021-06-02 | METHOD FOR PROCESSING A ROUTING MESSAGE, COMMUNICATIONS DEVICE, STORAGE MEDIUM AND SYSTEM |
PCT/CN2021/098013 WO2021244588A1 (zh) | 2020-06-04 | 2021-06-02 | 处理路由报文的方法、通信设备、存储介质及系统 |
US18/061,251 US20230095362A1 (en) | 2020-06-04 | 2022-12-02 | Routing Packet Processing Method, Communication Device, Storage Medium, and System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010500275.7A CN113765781B (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210685994.XA Division CN115190061A (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113765781A CN113765781A (zh) | 2021-12-07 |
CN113765781B true CN113765781B (zh) | 2022-07-12 |
Family
ID=78783648
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210685994.XA Pending CN115190061A (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
CN202010500275.7A Active CN113765781B (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210685994.XA Pending CN115190061A (zh) | 2020-06-04 | 2020-06-04 | 处理路由报文的方法、通信设备、存储介质及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230095362A1 (zh) |
EP (1) | EP4152158A4 (zh) |
CN (2) | CN115190061A (zh) |
WO (1) | WO2021244588A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308689B (zh) * | 2023-05-26 | 2023-07-21 | 厦门触网科技有限公司 | 一种投标保函投保处理装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889464A (zh) * | 2006-07-26 | 2007-01-03 | 华为技术有限公司 | 一种实现通信接管的方法及装置 |
CN1976313A (zh) * | 2006-09-19 | 2007-06-06 | 中国人民解放军国防科学技术大学 | 高性能路由器bgp路由协议分布并行实现方法 |
WO2008138255A1 (fr) * | 2007-05-14 | 2008-11-20 | Huawei Technologies Co., Ltd. | Procédé de traitement d'acheminement, processeur d'acheminement et routeur |
CN102255798A (zh) * | 2011-06-15 | 2011-11-23 | 福建星网锐捷网络有限公司 | 路由转发表项的同步方法及线卡 |
CN103166849A (zh) * | 2013-03-06 | 2013-06-19 | 杭州华三通信技术有限公司 | IPSec VPN互联组网路由收敛的方法及路由设备 |
CN103997459A (zh) * | 2009-09-17 | 2014-08-20 | 中兴通讯股份有限公司 | 发起通信、信息/数据报文的转发及路由配置方法/系统 |
RU2013129169A (ru) * | 2013-06-25 | 2014-12-27 | Открытое акционерное общество "НИИ измерительных приборов-Новосибирский завод имени Коминтерна" (ОАО "НПО НИИИП-НЗиК") | Способ распознавания трассы цели и ложной трассы, формируемой синхронной ответной помехой (варианты) |
CN110011921A (zh) * | 2019-03-22 | 2019-07-12 | 新华三技术有限公司合肥分公司 | 一种路由同步方法、装置、网络设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910148B1 (en) * | 2000-12-07 | 2005-06-21 | Nokia, Inc. | Router and routing protocol redundancy |
US7417947B1 (en) * | 2005-01-05 | 2008-08-26 | Juniper Networks, Inc. | Routing protocol failover between control units within a network router |
WO2017175033A1 (en) * | 2016-04-06 | 2017-10-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for enabling non stop routing (nsr) in a packet network |
CN108494675A (zh) * | 2018-02-07 | 2018-09-04 | 华为技术有限公司 | 实现虚拟路由冗余协议备份组的方法、装置和路由设备 |
CN111225006A (zh) * | 2018-11-23 | 2020-06-02 | 中兴通讯股份有限公司 | 连接建立方法、报文传输方法、设备及存储介质 |
CN111190767B (zh) * | 2019-12-24 | 2024-02-27 | 广州市高科通信技术股份有限公司 | 一种ospf协议中实现lsdb主备同步方法及装置 |
-
2020
- 2020-06-04 CN CN202210685994.XA patent/CN115190061A/zh active Pending
- 2020-06-04 CN CN202010500275.7A patent/CN113765781B/zh active Active
-
2021
- 2021-06-02 EP EP21816924.1A patent/EP4152158A4/en active Pending
- 2021-06-02 WO PCT/CN2021/098013 patent/WO2021244588A1/zh unknown
-
2022
- 2022-12-02 US US18/061,251 patent/US20230095362A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889464A (zh) * | 2006-07-26 | 2007-01-03 | 华为技术有限公司 | 一种实现通信接管的方法及装置 |
CN1976313A (zh) * | 2006-09-19 | 2007-06-06 | 中国人民解放军国防科学技术大学 | 高性能路由器bgp路由协议分布并行实现方法 |
WO2008138255A1 (fr) * | 2007-05-14 | 2008-11-20 | Huawei Technologies Co., Ltd. | Procédé de traitement d'acheminement, processeur d'acheminement et routeur |
CN103997459A (zh) * | 2009-09-17 | 2014-08-20 | 中兴通讯股份有限公司 | 发起通信、信息/数据报文的转发及路由配置方法/系统 |
CN102255798A (zh) * | 2011-06-15 | 2011-11-23 | 福建星网锐捷网络有限公司 | 路由转发表项的同步方法及线卡 |
CN103166849A (zh) * | 2013-03-06 | 2013-06-19 | 杭州华三通信技术有限公司 | IPSec VPN互联组网路由收敛的方法及路由设备 |
RU2013129169A (ru) * | 2013-06-25 | 2014-12-27 | Открытое акционерное общество "НИИ измерительных приборов-Новосибирский завод имени Коминтерна" (ОАО "НПО НИИИП-НЗиК") | Способ распознавания трассы цели и ложной трассы, формируемой синхронной ответной помехой (варианты) |
CN110011921A (zh) * | 2019-03-22 | 2019-07-12 | 新华三技术有限公司合肥分公司 | 一种路由同步方法、装置、网络设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
"Some synchronization issues in OSPF routing";Anne Bouillard等;《2013 International Conference on Data Communication Networking (DCNET)》;20150827;1-10 * |
BA-BGP:一种基于备份AS通告的域间路由协议;胡乔林等;《计算机工程与科学》;20110115(第01期);5-10 * |
Also Published As
Publication number | Publication date |
---|---|
CN115190061A (zh) | 2022-10-14 |
CN113765781A (zh) | 2021-12-07 |
EP4152158A1 (en) | 2023-03-22 |
EP4152158A4 (en) | 2023-11-08 |
WO2021244588A1 (zh) | 2021-12-09 |
US20230095362A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729111B (zh) | 用于管理分布式系统的方法、设备和计算机程序产品 | |
CN112769587B (zh) | 双归设备接入流量的转发方法、设备及存储介质 | |
JP5498102B2 (ja) | ネットワークシステム、ネットワーク中継装置、それらの制御方法 | |
US9385944B2 (en) | Communication system, path switching method and communication device | |
CN103782544A (zh) | 为机箱间冗余配置的网络单元上虚拟地址不匹配时通知网络操作员 | |
EP3817338B1 (en) | Method and apparatus for acquiring rpc member information, electronic device and storage medium | |
CN112787960A (zh) | 一种堆叠分裂的处理方法、装置、设备及存储介质 | |
CN103631652A (zh) | 虚拟机迁移的实现方法及系统 | |
CN115333991B (zh) | 跨设备链路聚合方法、装置、系统及计算机可读存储介质 | |
CN113765781B (zh) | 处理路由报文的方法、通信设备、存储介质及系统 | |
CN106657187A (zh) | 报文处理的方法及装置 | |
US9762510B2 (en) | Relay system and switching device | |
CN112787939B (zh) | 路径转发表更新方法及装置 | |
CN111460029B (zh) | 数据同步方法和装置 | |
US20220173996A1 (en) | Route advertisement method, route generation method, and device | |
CN111064622B (zh) | 网络设备、同步装置及信息传输方法 | |
US20230126682A1 (en) | Fault tolerance method and apparatus of network device system, computer device, and storage medium | |
CN114143853A (zh) | 通信链路选择方法、装置及存储介质 | |
CN115152192A (zh) | Pce受控网络可靠性 | |
CN113746730B (zh) | 一种路由信息处理方法及装置 | |
CN113765783B (zh) | 通信方法及装置 | |
JP7273130B2 (ja) | 通信方法および装置 | |
CN111565141B (zh) | 数据传输方法、第一pe和第二pe | |
CN109039798B (zh) | 分裂检测系统及方法 | |
CN111131500B (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 |