邻居关系管理方法、装置、设备及存储介质转让专利

申请号 : CN201910213393.7

文献号 : CN111726296B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王海波

申请人 : 北京华为数字技术有限公司

摘要 :

本申请提供了一种邻居关系管理方法、装置、设备及存储介质,属于网络技术领域。本申请通过第一路由设备通过在与第二路由设备之间的邻居关系中断时,不删除从第二路由设备接收到的路由表项,可以在从邻居关系中断至邻居关系重建的时间范围内仍通过从第二路由设备接收到的路由表项来处理业务,从而避免删除这些路由表项后对这些路由表项相关的业务产生影响。

权利要求 :

1.一种邻居关系管理方法,其特征在于,应用于第一路由设备,所述方法包括:所述第一路由设备针对第二路由设备使能目标地址族能力、互联网协议地址的出方向路由表项过滤IP‑ORF能力或平滑升级能力;

响应于针对第二路由设备使能目标地址族能力、IP‑ORF能力或平滑升级能力,中断所述第一路由设备与所述第二路由设备之间的邻居关系;

所述第一路由设备不删除路由表中的第一路由表项,所述第一路由表项为所述第一路由设备从所述第二路由设备接收到的路由信息对应的路由表项;

所述第一路由设备通过所述第一路由表项转发报文;

当所述邻居关系重建时,从所述第二路由设备接收路由,并生成第二路由表项;

根据所述第一路由表项和所述第二路由表项,从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息。

2.根据权利要求1所述的方法,其特征在于,所述从所述第二路由设备接收路由之前,所述方法还包括:

向所述第一路由表项写入准备删除标记;

所述根据所述第一路由表项和所述第二路由表项,从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息,包括:根据所述第一路由表项中的准备删除标记以及所述第二路由表项,从所述第一路由表项中选择属于所述第一路由表项且不属于所述第二路由表项的路由信息。

3.根据权利要求2所述的方法,其特征在于,所述根据所述第一路由表项中的准备删除标记以及所述第二路由表项,从所述第一路由表项中选择属于所述第一路由表项且不属于所述第二路由表项的路由信息,包括:对于所述第一路由表项中的任一条路由表项,当所述第二路由表项中包括所述路由表项时,从所述第一路由表项中删除所述路由表项中的准备删除标记;

从所述第一路由表项中选择包括准备删除标记的路由表项。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括下述任意一项:当所述邻居关系中断时,启动定时器,当所述定时器的时长达到预设时长时,执行所述从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息的步骤;

当接收到所述第二路由设备的路由更新结束消息时,执行所述从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息的步骤。

5.一种邻居关系管理装置,其特征在于,应用于第一路由设备,所述装置包括:使能模块,所述使能模块用于针对第二路由设备使能目标地址族能力、互联网协议地址的出方向路由表项过滤IP‑ORF能力或平滑升级能力;

处理模块,用于响应于针对第二路由设备使能目标地址族能力、IP‑ORF能力或平滑升级能力,中断所述第一路由设备与所述第二路由设备之间的邻居关系;

删除模块,用于不删除路由表中的第一路由表项,所述第一路由表项为所述第一路由设备从所述第二路由设备接收到的路由信息对应的路由表项;

所述处理模块,还用于通过所述第一路由表项转发报文;

接收模块,用于当所述邻居关系重建时,从所述第二路由设备接收路由,并生成第二路由表项;

所述删除模块,还用于根据所述第一路由表项和所述第二路由表项,从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息。

6.根据权利要求5所述的装置,其特征在于,所述装置还包括:写入模块,用于向所述第一路由表项写入准备删除标记;

所述删除模块,用于根据所述第一路由表项中的准备删除标记以及所述第二路由表项,从所述第一路由表项中选择属于所述第一路由表项且不属于所述第二路由表项的路由信息。

7.根据权利要求6所述的装置,其特征在于,所述删除模块,用于对于所述第一路由表项中的任一条路由表项,当所述第二路由表项中包括所述路由表项时,从所述第一路由表项中删除所述路由表项中的准备删除标记;从所述第一路由表项中选择包括准备删除标记的路由表项。

8.根据权利要求5所述的装置,其特征在于,所述装置还包括启动模块,所述启动模块用于执行下述任意一项:当所述邻居关系中断时,启动定时器,当所述定时器的时长达到预设时长时,执行所述从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息的步骤;当接收到所述第二路由设备的路由更新结束消息时,执行所述从所述路由表中删除属于所述第一路由表项且不属于所述第二路由表项的路由信息的步骤。

9.一种路由设备,其特征在于,所述路由设备包括处理器和收发器,所述处理器用于加载以及运行指令,以实现如权利要求1至权利要求4任一项所述的邻居关系管理方法,所述收发器用于执行如权利要求1至权利要求4任一项所述的邻居关系管理方法中的收发步骤。

10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求4任一项所述的邻居关系管理方法。

说明书 :

邻居关系管理方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及网络技术领域,特别涉及一种邻居关系管理方法、装置、设备及存储介质。

背景技术

[0002] 网络中通常会部署大量的路由设备,每个路由设备可以与其他路由设备之间建立邻居关系,基于邻居关系交换彼此存储的路由表项。每个路由设备还可以管理本端与其他
路由设备之间的邻居关系,例如中断与其他路由设备之间的邻居关系、保持与其他路由设
备之间的邻居关系等。
[0003] 以路由设备1以及路由设备2为例,两个路由设备管理彼此的邻居关系的过程可以包括:当路由设备1与路由设备2建立邻居关系时,路由设备2会将本端当前存储的路由表项
发送给路由设备1,路由设备1会从路由设备2接收到路由表项,将接收到的路由表项存入路
由设备1的路由表;当路由设备1与路由设备2之间的邻居关系中断时,路由设备1会从路由
表中删除之前从路由设备2接收到的路由表项;当路由设备1与路由设备2之间的邻居关系
重建时,路由设备2会重新将本端当前存储的路由表项发送给路由设备1,路由设备1会从路
由设备2重新接收到路由表项,将接收到的路由表项重新存入路由设备1的路由表。
[0004] 从上述举例可以看出,在从邻居关系中断至邻居关系重建的时间范围内,路由设备1由于删除了从路由设备2接收到的路由表项,导致路由设备1无法通过从路由设备2接收
到的路由表项处理业务,也就导致这些路由表项相关的业务受损。

发明内容

[0005] 本申请实施例提供了一种邻居关系管理方法、装置、设备及存储介质,能够解决相关技术中从邻居关系中断至邻居关系重建的时间范围内,会出现业务受损的技术问题。所
述技术方案如下:
[0006] 第一方面,提供了一种邻居关系管理方法,应用于第一路由设备,所述方法包括:
[0007] 当所述第一路由设备与第二路由设备之间的邻居关系中断时,不删除路由表中的第一路由表项,所述第一路由表项为所述第一路由设备从所述第二路由设备接收到的路由
表项;
[0008] 通过所述第一路由表项处理业务;
[0009] 当所述邻居关系重建时,从所述第二路由设备接收第二路由表项;
[0010] 根据所述第一路由表项和所述第二路由表项,从所述路由表中删除第三路由表项,所述第三路由表项属于所述第一路由表项且不属于所述第二路由表项。
[0011] 本实施例提供的方法,第一路由设备通过在与第二路由设备之间的邻居关系中断时,不删除从第二路由设备接收到的路由表项,可以在从邻居关系中断至邻居关系重建的
时间范围内仍通过从第二路由设备接收到的路由表项来处理业务,从而避免删除这些路由
表项后对这些路由表项相关的业务产生影响。同时,如果从邻居关系中断至邻居关系重建
的时间范围内,第二路由设备更新了本端存储的路由表项,导致第一路由设备在邻居关系
重建之后接收到的路由表项与邻居关系中断之前接收到的路由表项不一致,第一路由设备
可以通过从路由表中删除两次接收到的路由表项之间的差异路由表项,来保证路由表中路
由表项的时效性和准确性,从而保证按照路由表项处理业务的准确性。
[0012] 可选地,所述从所述第二路由设备接收第二路由表项之前,所述方法还包括:向所述第一路由表项写入准备删除标记;
[0013] 所述根据所述第一路由表项和所述第二路由表项,从所述路由表中删除第三路由表项,包括:
[0014] 根据所述第一路由表项中的准备删除标记以及所述第二路由表项,从所述第一路由表项中选择所述第三路由表项。
[0015] 可选地,所述根据所述第一路由表项中的准备删除标记以及所述第二路由表项,从所述第一路由表项中选择所述第三路由表项,包括:
[0016] 对于所述第一路由表项中的任一条路由表项,当所述第二路由表项中包括所述路由表项时,从所述第一路由表项中删除所述路由表项中的准备删除标记;
[0017] 从所述第一路由表项中选择包括准备删除标记的路由表项,作为所述第三路由表项。
[0018] 可选地,所述不删除路由表中的第一路由表项之前,所述方法还包括下述任意一项:
[0019] 当针对所述第二路由设备使能目标地址族能力时,中断所述邻居关系,所述目标地址族能力与已经针对所述第二路由设备使能的任一种地址族能力不同;
[0020] 当接收到配置指令时,中断所述邻居关系,所述配置指令用于指示所述第一路由设备对已存储的所述第二路由设备相关的配置信息进行更新;
[0021] 当接收到所述第二路由设备的第一通知消息时,中断所述邻居关系,所述第一通知消息用于通知所述第一路由设备中断所述邻居关系以及不删除所述第一路由表项。
[0022] 可选地,所述方法还包括:
[0023] 当接收到所述配置指令时,生成第二通知消息,所述第二通知消息用于通知所述第二路由设备中断所述邻居关系以及不删除第四路由表项,所述第四路由表项为所述第二
路由设备从所述第一路由设备接收到的路由表项;
[0024] 向所述第二路由设备发送所述第二通知消息。
[0025] 可选地,所述方法还包括下述任意一项:
[0026] 当所述邻居关系中断时,启动定时器,当所述定时器的时长达到预设时长时,执行所述从所述路由表中删除第三路由表项的步骤;
[0027] 当接收到所述第二路由设备的路由更新结束消息时,执行所述从所述路由表中删除第三路由表项的步骤。
[0028] 可选地,所述当所述第一路由设备与第二路由设备之间的邻居关系中断时,不删除路由表中的第一路由表项之前,所述方法还包括:
[0029] 使能针对所述第二路由设备的目标能力,所述目标能力为从邻居关系中断至邻居关系重建的时间范围内不删除所述第一路由表项的能力。
[0030] 第二方面,提供了一种邻居关系管理装置,所述装置包括:用于执行上述种邻居关系管理方法。具体地,该种邻居关系管理装置包括用于执行上述第一方面或第一方面的任
一种可选方式所述的邻居关系管理方法的功能模块。
[0031] 第三方面,提供一种路由设备,所述路由设备包括处理器和收发器,所述处理器用于加载以及运行指令,以实现上述第一方面或第一方面的任一种可选方式所述的邻居关系
管理方法,所述收发器用于执行上述第一方面或第一方面的任一种可选方式所述的邻居关
系管理方法中的收发步骤。
[0032] 第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述第一方面或第一方面的任一种可选方式所
述的邻居关系管理方法。
[0033] 第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述第一方面或第一方
面的任一种可选方式所述的邻居关系管理方法。
[0034] 第六方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的设备执行上述第一方面或第一方面的任一种可选方
式所述的邻居关系管理方法。
[0035] 第七方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用
于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面或
第一方面的任一种可选方式所述的邻居关系管理方法。

附图说明

[0036] 图1是本申请实施例提供的一种邻居关系管理方法的实施环境的架构图;
[0037] 图2是本申请实施例提供的一种路由设备200的结构示意图;
[0038] 图3是本申请实施例提供的一种路由设备300的结构示意图;
[0039] 图4是本申请实施例提供的一种邻居关系管理方法的流程图;
[0040] 图5是本申请实施例提供的一种邻居关系管理装置500的结构示意图。

具体实施方式

[0041] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0042] 图1是本申请实施例提供的一种邻居关系管理方法的实施环境的架构图,该实施环境包括第一路由设备101以及第二路由设备102,该第一路由设备101与该第二路由设备
102可以通过网络连接。第一路由设备101可以是路由器、三层交换机等。可选地,第一路由
设备101可以是支持边界网关协议(英文全称:border gateway protocol,英文简称:BGP)
的任意路由设备,例如,第一路由设备101可以是运营商边缘(英文全称:provider edge,英
文简称:PE)设备,第一路由设备可以部署在自治系统(英文全称:autonomous system,英文
简称:AS)的边缘。第二路由设备102的形态与第一路由设备101的形态同理,在此不做赘述。
其中,PE设备是指运营商骨干网的边缘设备,PE设备是一种重要的网络节点,PE设备可以连
接用户边缘设备(英文全称:customer edge,英文简称:CE)设备以及运营商骨干路由器。
[0043] 图2是本申请实施例提供的一种路由设备200的结构示意图,该路由设备200可以提供为下述实施例中的第一路由设备以及第二路由设备中的至少一项。该路由设备200可
因配置或性能不同而产生比较大的差异,可以包括处理器(英文全称:central processing 
units,英文简称:CPU)201和存储器202以及收发器203。该存储器202中存储有指令,处理器
201用于从存储器202中调用并运行存储器202中存储的指令,以执行下述实施例提供的邻
居关系管理方法中的步骤401、步骤402、步骤403、步骤404、步骤407、步骤408、步骤409、步
骤401、步骤410、步骤411、步骤412、步骤413、步骤416、步骤417中的至少一项,处理器还用
于控制收发器203执行下述实施例的步骤405、步骤406、步骤414、步骤415中的至少一项。处
理器201、存储器202以及收发器203可以通过总线连接,能够通过总线进行通信。当然,该路
由设备200还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0044] 图3是本申请实施例提供的一种路由设备300的结构示意图,该路由设备300可以提供为下述实施例中的第一路由设备以及第二路由设备中的至少一项。该路由设备300可
因配置或性能不同而产生比较大的差异,可以包括主控板301和接口板302,主控板301包括
处理器(英文全称:central processing units,英文简称:CPU)3011和存储器3012,接口板
302包括处理器3021、存储器3022和接口卡3023。接口板302的处理器3021用于调用接口板
302的存储器3022中的程序指令来执行下述实施例中步骤405、步骤406、步骤414、步骤415
中的至少一项。主控板301的处理器3011用于调用主控板301的存储器3022中的程序指令执
行下述实施例中步骤401、步骤402、步骤403、步骤404、步骤407、步骤408、步骤409、步骤
401、步骤410、步骤411、步骤412、步骤413、步骤416、步骤417中至少一项。
[0045] 图4是本申请实施例提供的一种邻居关系管理方法的流程图,如图4所示,该方法包括第一路由设备以及第二路由设备执行的步骤401至步骤417:
[0046] 401、第一路由设备与第二路由设备建立邻居关系。
[0047] 第一路由设备以及第二路由设备可以基于路由协议建立邻居关系,当建立邻居关系后,第一路由设备以及第二路由设备可以基于该邻居关系,交换彼此存储的路由表项。其
中,第一路由设备可以称为第二路由设备的邻居设备,第二路由设备可以称为第一路由设
备的邻居设备。
[0048] 在一种可能的实现中,第一路由设备以及第二路由设备可以支持BGP,第一路由设备以及第二路由设备可以基于BGP建立BGP邻居关系,当建立BGP邻居关系后,第一路由设备
以及第二路由设备可以基于BGP路由通告原则交换彼此的路由表项。其中,BGP是一种在不
同AS之间交换路由表项的动态路由协议。BGP路由通告原则中约定,当任意路由设备与其他
路由设备建立了BGP邻居关系后,路由设备会将本端存储的所有路由表项发送给该建立了
BGP邻居关系的其他路由设备。
[0049] 具体地,第一路由设备可以将第一路由设备存储的路由表项发送给第二路由设备,第二路由设备可以将第二路由设备存储的路由表项发送给第一路由设备,则第一路由
设备可以接收到第二路由设备发送的路由表项,将第二路由设备的路由表项存入本端的路
由表,第二路由设备可以接收到第一路由设备发送的路由表项,将第一路由设备的路由表
项存入本端的路由表。其中,第一路由设备和第二路由设备可以在第一次交换路由表项时,
采用全量更新的方式来交换路由表项,即,第一路由设备可以将本端存储的全量的路由表
项发送给第二路由设备,第二路由设备可以将本端存储的全量的路由表项发送给第一路由
设备,第一路由设备和第二路由设备可以在第二次以及第二次以后的每次交换路由表项信
息时,采用增量更新的方式来交换路由表项,即,第一路由设备可以将本端存储的更新了的
路由表项发送给第二路由设备,第二路由设备可以将本端存储的更新了的路由表项发送给
第一路由设备。
[0050] 在一种可能的实现中,第一路由设备可以支持至少一种地址族能力,第二路由设备可以支持至少一种地址族能力,第一路由设备和第二路由设备可以基于彼此均支持的任
一种地址族能力,建立该地址族能力对应的邻居关系,从而在邻居关系建立后,交换该地址
族能力对应的路由表项。以地址族能力为第四版因特网协议(英文全称:internet 
protocol version 4,英文缩写:IPv4)单播能力为例,如果第一路由设备和第二路由设备
均支持IPv4单播能力,第一路由设备和第二路由设备可以基于IPv4单播能力,建立IPv4单
播邻居关系,基于IPv4单播邻居关系,交换彼此存储的IPv4路由表项。
[0051] 当然,IPv4单播能力仅是地址族能力的一种示例,地址族能力包括但不限于IPv4单播能力、第六版因特网协议(英文全称:internet protocol version 6,英文缩写:IPv6)
单播能力、3层虚拟专有网络(英文全称:layer 3virtual private network,英文缩写:
L3VPN)能力、以太虚拟专有网络(英文全称:ethernet virtual private network,英文缩
写:EVPN)能力、第四版专有网络(英文全称:virtual private network version 4,英文缩
写:VPNv4)能力、组播虚拟专有网络(英文全称:multicast virtual private network,英
文缩写:MVPN)能力、基于IP地址的出方向路由表项过滤(英文全称:internet protocol 
outbound route filter,英文缩写:IP‑ORF)能力、组播分发树(英文全称:multicast 
distribution tree,英文缩写:MDT)能力、虚拟专用局域网业务(英文全称:virtual 
private lan service,英文缩写:VPLS)能力中的一项或多项,相应地,邻居关系包括但不
限于IPv4单播邻居关系、VPNv4邻居关系、IPv6单播邻居关系、L3VPN邻居关系、EVPN邻居关
系、MVPN邻居关系、ORF邻居关系、MDT邻居关系、VPLS邻居关系中的一项或多项,本实施例对
第一路由设备以及第二路由设备支持的地址族能力以及基于地址族能力建立的邻居关系
的类型不做限定。
[0052] 402、第一路由设备针对第二路由设备使能目标能力。
[0053] 目标能力可以为从邻居关系中断至邻居关系重建的时间范围内不删除第一路由表项的能力。第一路由表项为第一路由设备从该第二路由设备接收到的路由表项,即第一
路由设备从第二路由设备学习到的路由表项。第一路由表项为第一路由设备的路由表中的
部分路由表项。举例来说,假设第一路由设备的路由表包括4万条路由表项,记为路由表项1
至路由表项40000,其中路由表项1至路由表项10000是从第二路由设备接收到的路由表项,
路由表项10001至路由表项20000是从第二路由设备以外的其他路由设备接收到的路由表
项,路由表项20001至路由表项40000是管理员人工配置的路由表项,则路由表项1至路由表
项10000是第一路由表项。
[0054] 可选地,目标能力可以为邻居关系升级的时间段内不删除第一路由表项的能力,例如,目标能力可以称为平滑升级能力,比如称为BGP平滑升级能力。以BGP协议为例,假设
BGP邻居关系升级前,第一路由设备与第二路由设备之间基于N种地址族能力,建立了N种
BGP邻居关系,当第一路由设备与第二路由设备之间要新增M种BGP邻居关系时,第一路由设
备与第二路由设备可以中断N种BGP邻居关系,使用目标能力,不删除之前从彼此接收到的
路由表项,当邻居关系重建后,第一路由设备与第二路由设备可以基于(N+M)种地址族能
力,建立(N+M)种BGP邻居关系,从而实现了邻居关系的平滑升级。其中,N为正整数,M为正整
数。
[0055] 作为示例,如果第一路由设备与第二路由设备已部署了IPv4单播邻居关系以及IPv6单播关系,当第一路由设备要与第二路由设备要新增VPNv4邻居关系时,第一路由设备
与第二路由设备可以中断IPv4单播邻居关系以及IPv6单播邻居关系,第一路由设备可以使
用目标能力,不删除从第二路由设备接收到的IPv4路由表项以及IPv6路由表项,第二路由
设备可以使用目标能力,不删除从第一路由设备接收到的IPv4路由表项以及IPv6路由表
项,当邻居关系重建后,第一路由设备与第二路由设备可以升级为建立了IPv4单播邻居关
系、IPv6单播关系以及VPNv4邻居关系,同时,在邻居关系升级的过程中,第一路由设备以及
第二路由设备仍可以通过之前从对端接收到的IPv4路由表项以及IPv6路由表项处理业务,
从而避免对业务造成影响,从而实现了VPNv4邻居关系的平滑升级。
[0056] 关于使能目标能力的过程,第一路由设备可以接收使能指令,第一路由设备可以根据该使能指令,使能针对第二路由设备的目标能力。其中,该使能指令用于指示第一路由
设备使能针对第二路由设备的目标能力。该使能指令可以包括第二路由设备的标识,第一
路由设备可以从使能指令中获取第二路由设备的标识,以便根据该第二路由设备的标识,
确定要对第二路由设备使能目标能力。其中,该第二路由设备的标识可以是第二路由设备
的名称、网络地址、编号等。该使能指令可以根据管理员的配置操作触发。
[0057] 403、当邻居关系中断时,第一路由设备不删除路由表中的第一路由表项。
[0058] 可选地,本实施例可以应用于存量网络中,该存量网络是指当前正在运行的网络,相应地,第一路由设备可以在运行的过程中,中断与第二路由设备之间的邻居关系,不删除
第一路由表项。其中,第一路由设备可以在执行业务的过程中,中断邻居关系。作为示例,可
以在以下场景一至场景三中的任一项中,中断邻居关系。
[0059] 场景一、当针对第二路由设备使能目标地址族能力时,第一路由设备中断邻居关系,目标地址族能力与已经针对第二路由设备使能的任一种地址族能力不同。
[0060] 场景一可以视为邻居关系升级的场景。在场景一中,第一路由设备与第二路由设备可以已经建立了一种或多种地址族的邻居关系,当要新部署一种或多种地址族的邻居关
系时,可以中断邻居关系。
[0061] 具体来讲,以第一路由设备与第二路由设备之间要新部署的邻居关系称为目标邻居关系,目标邻居关系对应的地址族称为目标地址族能力为例,第一路由设备可以针对第
二路由设备使能目标地址族能力,中断与第二路由设备之间的邻居关系。同理地,第二路由
设备可以针对第一路由设备使能目标地址族能力,中断与第一路由设备之间的邻居关系。
当第一路由设备以及第二路由设备针对彼此使能目标地址族能力后,第一路由设备以及第
二路由设备可以基于目标地址族能力,建立目标邻居关系。
[0062] 以第一路由设备与第二路由设备已建立了IPv4单播邻居关系为例,当第一路由设备要与第二路由设备建立VPNv4邻居关系时,第一路由设备可以针对第二路由设备使能
VPNv4能力,中断与第二路由设备之间的IPv4单播邻居关系。第二路由设备可以针对第一路
由设备使能VPNv4能力,中断与第一路由设备之间的IPv4单播邻居关系。当第一路由设备要
与第二路由设备部署IP‑ORF邻居关系时,第一路由设备可以针对第二路由设备使能IP‑ORF
能力,中断与第二路由设备之间的IPv4单播邻居关系。第二路由设备可以针对第一路由设
备使能IP‑ORF能力,中断与第一路由设备之间的IPv4单播邻居关系。
[0063] 关于针对第二路由设备使能目标地址族能力的具体过程,第一路由设备可以接收地址族视图显示指令,根据地址族视图显示指令,显示地址族视图界面,该地址族视图界面
包括第一路由设备已使能了目标地址族能力的至少一个邻居设备的标识。第一路由设备可
以在该地址族视图界面中接收使能指令,从该使能指令获取第二路由设备的标识,对第二
路由设备使能目标地址族能力。
[0064] 通过在场景一中采用本实施例提供的方法,后续可以通过不删除路由表项等步骤,避免删除路由表项而导致业务中断的问题,从而让现网设备在已有邻居关系的基础上
部署新地址族能力时不影响已有业务,从而可以极大地提升新业务的部署效率,便于在已
部署的邻居关系上叠加各种新的功能,让运营商无需深更半夜进行割接操作,也就减少了
操作工作量,有利于电信网络的业务的升级演进。
[0065] 场景二、当接收到配置指令时,第一路由设备中断该邻居关系。
[0066] 第一路由设备可以接收配置指令,从配置指令中获取第二路由设备的标识,中断与第二路由设备之间的邻居关系,对已存储的第二路由设备相关的配置信息进行更新。其
中,配置指令可以根据用户的输入操作触发,配置指令用于指示第一路由设备对已存储的
第二路由设备相关的配置信息进行更新,该第二路由设备相关的配置信息可以包括第一路
由设备已对第二路由设备使能的地址族能力、第二路由设备的网络地址、从第二路由设备
接收到的路由表项、第一路由设备与第二路由设备之间的通信协议等。
[0067] 作为示例,配置指令可以指示第一路由设备重置与第二路由设备之间的邻居关系,即先将第二路由设备作为邻居设备下线,再将第二路由设备作为邻居设备上线,则第一
路由设备可以接收配置指令,中断与第二路由设备之间的邻居关系,根据配置指令,重置与
第二路由设备之间的邻居关系。
[0068] 场景三、当接收到第二路由设备的第一通知消息时,第一路由设备中断邻居关系。
[0069] 第一通知消息用于通知第一路由设备中断邻居关系以及不删除第一路由表项。第一通知消息可以是一种新类型的通知报文,例如,如果应用于邻居关系升级的场景中,第一
通知消息可以用来通知对端进行平滑升级,即在升级邻居关系的基础上,不影响业务处理。
作为示例,可以在BGP中约定,当本端与对端要升级邻居关系时,本端要向对端发送一种通
知对端不删除路由表项的通知(英文:notification)报文,该notification报文即为第一
通知消息。
[0070] 关于第一路由设备以及第二路由设备针对该第一通知消息的交互过程,在一种可能的实现中,当第二路由设备将要对已存储的第一路由设备相关的配置信息进行更新,例
如当第二路由设备接收到配置指令时,第二路由设备可以生成第一通知消息,向第一路由
设备发送第一通知消息,则第一路由设备可以从第二路由设备接收到第一通知消息。
[0071] 同理地,在上述场景二中,当第一路由设备接收到配置指令时,第一路由设备可以生成第二通知消息,向第二路由设备发送第二通知消息,第二路由设备接收到第二通知消
息后,可以中断与第一路由设备之间的邻居关系。其中,第二通知消息用于通知第二路由设
备中断邻居关系以及不删除第四路由表项,第四路由表项为第二路由设备从第一路由设备
接收到的路由表项。
[0072] 404、第一路由设备向第一路由表项写入准备删除标记。
[0073] 本实施例新设计了一种标记(英文:flag),在此称为准备删除标记,该准备删除标记用于在邻居关系重建后选择出需要删除的路由表项。该准备删除标记可以是数字、字母
或字符串等任意数据形式,该准备删除标记的具体取值可以预先存储在第一路由设备中。
[0074] 具体来说,第一路由设备可以从路由表中选择第一路由表项,对于该第一路由表项中的每条路由表项,向该路由表项写入准备删除标记。其中,第一路由设备可以根据路由
表中每条路由表项的来源,从路由表中选择来源为第二路由设备的路由表项,作为第一路
由表项。
[0075] 405、第一路由设备通过第一路由表项处理业务。
[0076] 步骤405中的业务可以是依赖于第一路由表项的任意业务,本实施例对业务的具体类型不做限定。例如,第一路由设备可以通过该第一路由表项转发接收到的报文,具体来
说,当邻居关系中断后,当第一路由设备接收到报文时,第一路由设备可以从报文中获取报
文的目的地址,根据报文的目的地址,查询第一路由表项,从第一路由表项中得到该目的地
址对应的下一跳地址,向下一跳地址发送报文。也即是,在邻居关系中断至邻居关系重建期
间,目的地址属于第一路由表项的报文仍可以正常地从第一路由设备转发出去,而不会由
于第一路由表项被删除,导致第一路由设备无法查询到报文的下一跳地址而丢弃报文,从
而避免了业务受损。
[0077] 406、当邻居关系重建时,第二路由设备向第一路由设备发送第二路由表项。
[0078] 第二路由表项是指邻居关系重建时第二路由设备向第一路由设备发送的路由表项。当邻居关系重建时,第二路由设备可以将存储的第二路由表项发送给第一路由设备。其
中,第二路由表项和第一路由表项可以不同或相同,该不同可以是部分相同而部分不同,也
可以是完全不同。
[0079] 具体来讲,在从邻居关系中断至邻居关系重建的时间范围内,如果第二路由设备对存储的路由表项进行了更新,例如删除了路由表项,又如修改了路由表项,再如将路由表
项替换为其他路由表项,那么第二路由设备在邻居关系重建后重新发送的路由表项,会由
于进行了更新,而与邻居关系中断前发送的路由表项不一致,则第二路由表项会和第一路
由表项不同。而在从邻居关系中断至邻居关系重建的时间范围内,如果第二路由设备未对
存储的路由表项进行更新,那么第二路由设备在邻居关系重建后重新发送的路由表项会与
邻居关系中断前发送的路由表项一致,因此第二路由表项会和第一路由表项相同。
[0080] 407、第一路由设备从第二路由设备接收第二路由表项。
[0081] 408、第一路由设备根据第一路由表项中的准备删除标记以及第二路由表项,从第一路由表项中选择第三路由表项。
[0082] 409、第一路由设备从路由表中删除第三路由表项。
[0083] 第三路由表项属于该第一路由表项且不属于该第二路由表项,第三路由表项可以视为第一路由表项与第二路由表项相比较得出的差异路由表项,第三路由表项可以称为老
化了的路由表项。举例来说,假设邻居关系中断之前,第一路由设备从第二路由设备接收到
1万条路由表项,分别是路由表项1至路由表项10000,在邻居关系中断至邻居关系重建期
间,第二路由设备删除了1000条路由表项,分别是路由表项1至路由表项1000,则在邻居关
系重建后,第一路由设备会从第二路由设备接收到剩下的9000条路由表项,即路由表项
1001至路由表项10000,则路由表项1至路由表项1000这1000条路由表项即为第三路由表
项。
[0084] 当第一路由设备从路由表中删除第三路由表项后,第一路由设备即可恢复到正常状态,可以按照正常处理流程处理业务。
[0085] 在一种可能的实现中,删除第三路由表项的过程可以包括下述步骤一至步骤二:
[0086] 步骤一、对于该第一路由表项中的任一条路由表项,当第二路由表项中包括该路由表项时,第一路由设备从第一路由表项中删除该路由表项中的准备删除标记。
[0087] 第一路由设备可以遍历第一路由表项中的每条路由表项,对于第一路由表项中的任一条路由表项,第一路由设备可以判断该路由表项是否为第二路由表项中的路由表项,
当路由表项为第二路由表项中的路由表项时,第一路由设备从第一路由表项中删除该路由
表项中的准备删除标记。在一种可能的实现中,第一路由设备可以获取该路由表项的前缀
以及第二路由表项的前缀,比对该路由表项的前缀与第二路由表项的前缀是否相同,当路
由表项的前缀与第二路由表项的前缀相同时,则确定该路由表项为第二路由表项中的路由
表项。另外,当路由表项不为第二路由表项中的路由表项时,第一路由设备可以不删除该路
由表项中的准备删除标记。
[0088] 举例来说,假设第一路由表项是路由表项1至路由表项10000,第一路由设备从第二路由设备接收到路由表项1001至路由表项10000,则第一路由设备可以从第一路由表项
中删除路由表项1001至路由表项10000中的准备删除标记,而不删除路由表项1至路由表项
1000中的准备删除标记。
[0089] 步骤二、第一路由设备从该第一路由表项中选择包括准备删除标记的路由表项,作为该第三路由表项,删除第三路由表项。
[0090] 第一路由设备可以遍历第一路由表项中的每条路由表项,对于第一路由表项中的任一条路由表项,第一路由设备可以判断该路由表项是否包括准备删除标记,如果路由表
项包括准备删除标记,则将路由表项作为第三路由表项,删除该路由表项,如果该路由表项
不包括准备删除标记,可以不删除该路由表项。
[0091] 举例来说,假设步骤一中,第一路由设备删除了路由表项1001至路由表项10000中的准备删除标记,而没有删除路由表项1至路由表项1000中的准备删除标记,则步骤二中,
第一路由设备可以从路由表项1至路由表项10000选择仍然具有准备删除标记的路由表项1
至路由表项1000,删除路由表项1至路由表项1000。
[0092] 需要说明的是,向第一路由表项中写入准备删除标记,根据第一路由表项中的准备删除标记以及第二路由表项来删除第三路由表项仅是删除第三路由表项的可选方式,而
非删除第三路由表项的必选方式。在其他可能的实现中,也可以通过其他方式来删除第三
路由表项,例如,可以当接收到第二路由表项时,判断第一路由表项中的每条路由表项是否
属于第二路由表项,如果任一条路由表项属于第二路由表项,则不删除该路由表项,如果该
路由表项不属于第二路由表项,则将路由表项作为第三路由表项,删除该路由表项。当然,
第一路由设备还可以采用其他方式,来根据第一路由表项和第二路由表项,从路由表中删
除第三路由表项,本实施例对此不做限定。
[0093] 可选地,第一路由设备可以设置触发条件,当符合该触发条件时,从路由表中删除第三路由表项。作为示例,该触发条件可以包括下述触发条件一至触发条件二中的任意一
项:
[0094] 触发条件一、当邻居关系中断时,启动定时器,当定时器的时长达到预设时长时,第一路由设备从路由表中删除第三路由表项。
[0095] 第一路由设备可以设置定时器,当邻居关系中断时则启动定时器,当定时器的时长未达到预设时长则进行等待,当定时器的时长达到预设时长时,第一路由设备可以默认
第一路由设备与第二路由设备之间的邻居关系已经重建,且第二路由设备已经向第一路由
设备发送第二路由表项结束,则第一路由设备会开始删除第三路由表项。其中,该预设时长
可以根据经验设置,该预设时长可以预先存储在第一路由设备中。
[0096] 触发条件二、当接收到第二路由设备的路由更新结束消息时,第一路由设备从路由表中删除第三路由表项。
[0097] 路由表项更新结束(英文全称:end of routing information base,英文简称:End of RIB,也称EOR)消息表示第二路由设备已经向第一路由设备发送路由表项结束。具
体来说,第二路由设备可以判断路由表项是否已经发送结束,当已经发送结束时,第二路由
设备可以生成EOR消息,向第一路由设备发送EOR消息,则第一路由设备会接收到第二路由
设备的EOR消息,开始删除第三路由表项。
[0098] 需要说明的是,上述是从第一路由设备的角度为例描述,第二路由设备可以同理地执行上述流程。具体来说,本实施例还可以包括下述步骤410至步骤417。
[0099] 410、第二路由设备可以针对第一路由设备使能目标能力。
[0100] 411、当邻居关系中断时,第二路由设备不删除第二路由设备的路由表中的第四路由表项。
[0101] 412、第二路由设备向第四路由表项写入准备删除标记。
[0102] 413、第二路由设备通过第四路由表项处理业务。
[0103] 414、当邻居关系重建时,第一路由设备向第二路由设备发送第五路由表项。
[0104] 415、第二路由设备从第一路由设备接收第五路由表项。
[0105] 416、第二路由设备根据第四路由表项中的准备删除标记以及第五路由表项,从第四路由表项中选择第六路由表项,第六路由表项属于第四路由表项且不属于第五路由表
项。
[0106] 417、第二路由设备从第二路由设备的路由表中删除第六路由表项。
[0107] 需要说明的是,步骤410至步骤417为可选步骤,如果执行上述步骤410至步骤417,第二路由设备可以通过当邻居关系中断时,不删除从第一路由设备接收到的路由表项,可
以在从邻居关系中断至邻居关系重建的时间范围内,仍通过从第一路由设备接收到的路由
表项来处理业务,从而避免删除路由表项导致的业务受损。另外,步骤410至步骤417与步骤
402至步骤409同理,在此不做赘述。
[0108] 本实施例提供的方法,第一路由设备通过在与第二路由设备之间的邻居关系中断时,不删除从第二路由设备接收到的路由表项,可以在从邻居关系中断至邻居关系重建的
时间范围内仍通过从第二路由设备接收到的路由表项来处理业务,从而避免删除这些路由
表项后对这些路由表项相关的业务产生影响。同时,如果从邻居关系中断至邻居关系重建
的时间范围内,第二路由设备更新了本端存储的路由表项,导致第一路由设备在邻居关系
重建之后接收到的路由表项与邻居关系中断之前接收到的路由表项不一致,第一路由设备
可以通过从路由表中删除两次接收到的路由表项之间的差异路由表项,来保证路由表中路
由表项的时效性和准确性,从而保证按照路由表项处理业务的准确性。
[0109] 上述所有可选技术方案,可采用任意结合形成本申请的可选实施例,在此不再一一赘述。
[0110] 图5是本申请实施例提供的一种邻居关系管理装置500的结构示意图,应用于第一路由设备,如图5所示,该装置500包括:
[0111] 删除模块501,用于执行上述步骤403;处理模块502,用于执行上述步骤405;接收模块503,用于执行上述步骤407;删除模块501,还用于执行上述步骤409。
[0112] 可选地,该装置还包括:写入模块,用于执行上述步骤404;删除模块501,用于执行上述步骤408。
[0113] 可选地,该装置还包括中断模块,中断模块用于执行步骤403中的场景一至场景三中任一项的步骤。
[0114] 可选地,该装置还包括:生成模块,用于当接收到配置指令时,生成第二通知消息;发送模块,用于向第二路由设备发送第二通知消息。
[0115] 可选地,该装置还包括启动模块,启动模块用于执行触发条件一至触发条件二中的任意一项的步骤。
[0116] 可选地,该装置还包括使能模块,使能模块用于使能针对第二路由设备的目标能力。
[0117] 需要说明的一点是,图5实施例提供的邻居关系管理装置在管理邻居关系时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不
同的功能模块完成,即将邻居关系管理装置的内部结构划分成不同的功能模块,以完成以
上描述的全部或者部分功能。另外,上述实施例提供的邻居关系管理装置与邻居关系管理
方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0118] 应理解,这里的装置500以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一
个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储
器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技
术人员可以理解,装置500可以具体为上述实施例中的邻居关系管理装置,装置500可以用
于执行上述方法实施例中与邻居关系管理装置对应的各个流程和/或步骤,为避免重复,在
此不再赘述。
[0119] 上述各个方案的装置500具有实现上述方法中邻居关系管理装置执行的相应步骤的功能;该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包
括一个或多个与上述功能相对应的模块;例如接收模块可以由接收机替代,如处理模块等
可以由处理器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。
[0120] 在一个示例性实施例中,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被计算机运行时,使得该计算机执行上述邻居关系管
理方法。
[0121] 在一个示例性实施例中,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述邻居关系管理方法的指令。例如,计算机可读介质可以是只读
存储器(英文全称:read‑only memory,英文简称:ROM)、随机存取存储器(英文全称:random 
access memory,英文简称:RAM)、只读光盘(英文全称:compact disc read‑only memory,
英文简称:CD‑ROM)、磁带、软盘和光数据存储设备等。
[0122] 在一个示例性实施例中,本申请还提供了一种芯片,包括处理器,用于从存储器中调用并运行该存储器中存储的指令,使得安装有该芯片的设备执行上述邻居关系管理方
法。
[0123] 在一个示例性实施例中,本申请还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路相
连,该处理器用于执行该存储器中的代码,当该代码被执行时,该处理器用于执行上述邻居
关系管理方法。
[0124] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产
品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或
部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、
计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者
从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令
可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、
计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任
何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该
可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital 
video disc,DVD)、或者半导体介质(例如固态硬盘)等。
[0125] 本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本
申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
[0126] 本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据包是指两个或两个以上的数据包。
[0127] 本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,本领域技术人员可以理解,“第一”“第二”等字样不对数量和执行顺序进行限
定。
[0128] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0129] 以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。