邻居关系管理方法、装置、设备及存储介质转让专利
申请号 : CN201910213393.7
文献号 : CN111726296B
文献日 : 2021-10-22
发明人 : 王海波
申请人 : 北京华为数字技术有限公司
摘要 :
权利要求 :
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任一项所述的邻居关系管理方法。
说明书 :
邻居关系管理方法、装置、设备及存储介质
技术领域
背景技术
路由设备之间的邻居关系,例如中断与其他路由设备之间的邻居关系、保持与其他路由设
备之间的邻居关系等。
发送给路由设备1,路由设备1会从路由设备2接收到路由表项,将接收到的路由表项存入路
由设备1的路由表;当路由设备1与路由设备2之间的邻居关系中断时,路由设备1会从路由
表中删除之前从路由设备2接收到的路由表项;当路由设备1与路由设备2之间的邻居关系
重建时,路由设备2会重新将本端当前存储的路由表项发送给路由设备1,路由设备1会从路
由设备2重新接收到路由表项,将接收到的路由表项重新存入路由设备1的路由表。
到的路由表项处理业务,也就导致这些路由表项相关的业务受损。
发明内容
述技术方案如下:
表项;
时间范围内仍通过从第二路由设备接收到的路由表项来处理业务,从而避免删除这些路由
表项后对这些路由表项相关的业务产生影响。同时,如果从邻居关系中断至邻居关系重建
的时间范围内,第二路由设备更新了本端存储的路由表项,导致第一路由设备在邻居关系
重建之后接收到的路由表项与邻居关系中断之前接收到的路由表项不一致,第一路由设备
可以通过从路由表中删除两次接收到的路由表项之间的差异路由表项,来保证路由表中路
由表项的时效性和准确性,从而保证按照路由表项处理业务的准确性。
路由设备从所述第一路由设备接收到的路由表项;
一种可选方式所述的邻居关系管理方法的功能模块。
管理方法,所述收发器用于执行上述第一方面或第一方面的任一种可选方式所述的邻居关
系管理方法中的收发步骤。
述的邻居关系管理方法。
面的任一种可选方式所述的邻居关系管理方法。
式所述的邻居关系管理方法。
于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面或
第一方面的任一种可选方式所述的邻居关系管理方法。
附图说明
具体实施方式
102可以通过网络连接。第一路由设备101可以是路由器、三层交换机等。可选地,第一路由
设备101可以是支持边界网关协议(英文全称:border gateway protocol,英文简称:BGP)
的任意路由设备,例如,第一路由设备101可以是运营商边缘(英文全称:provider edge,英
文简称:PE)设备,第一路由设备可以部署在自治系统(英文全称:autonomous system,英文
简称:AS)的边缘。第二路由设备102的形态与第一路由设备101的形态同理,在此不做赘述。
其中,PE设备是指运营商骨干网的边缘设备,PE设备是一种重要的网络节点,PE设备可以连
接用户边缘设备(英文全称:customer edge,英文简称:CE)设备以及运营商骨干路由器。
因配置或性能不同而产生比较大的差异,可以包括处理器(英文全称: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还可以包括其他用于实现设备功能的部件,在此不做赘述。
因配置或性能不同而产生比较大的差异,可以包括主控板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中至少一项。
中,第一路由设备可以称为第二路由设备的邻居设备,第二路由设备可以称为第一路由设
备的邻居设备。
以及第二路由设备可以基于BGP路由通告原则交换彼此的路由表项。其中,BGP是一种在不
同AS之间交换路由表项的动态路由协议。BGP路由通告原则中约定,当任意路由设备与其他
路由设备建立了BGP邻居关系后,路由设备会将本端存储的所有路由表项发送给该建立了
BGP邻居关系的其他路由设备。
设备可以接收到第二路由设备发送的路由表项,将第二路由设备的路由表项存入本端的路
由表,第二路由设备可以接收到第一路由设备发送的路由表项,将第一路由设备的路由表
项存入本端的路由表。其中,第一路由设备和第二路由设备可以在第一次交换路由表项时,
采用全量更新的方式来交换路由表项,即,第一路由设备可以将本端存储的全量的路由表
项发送给第二路由设备,第二路由设备可以将本端存储的全量的路由表项发送给第一路由
设备,第一路由设备和第二路由设备可以在第二次以及第二次以后的每次交换路由表项信
息时,采用增量更新的方式来交换路由表项,即,第一路由设备可以将本端存储的更新了的
路由表项发送给第二路由设备,第二路由设备可以将本端存储的更新了的路由表项发送给
第一路由设备。
一种地址族能力,建立该地址族能力对应的邻居关系,从而在邻居关系建立后,交换该地址
族能力对应的路由表项。以地址族能力为第四版因特网协议(英文全称:internet
protocol version 4,英文缩写:IPv4)单播能力为例,如果第一路由设备和第二路由设备
均支持IPv4单播能力,第一路由设备和第二路由设备可以基于IPv4单播能力,建立IPv4单
播邻居关系,基于IPv4单播邻居关系,交换彼此存储的IPv4路由表项。
单播能力、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邻居关系中的一项或多项,本实施例对
第一路由设备以及第二路由设备支持的地址族能力以及基于地址族能力建立的邻居关系
的类型不做限定。
路由设备从第二路由设备学习到的路由表项。第一路由表项为第一路由设备的路由表中的
部分路由表项。举例来说,假设第一路由设备的路由表包括4万条路由表项,记为路由表项1
至路由表项40000,其中路由表项1至路由表项10000是从第二路由设备接收到的路由表项,
路由表项10001至路由表项20000是从第二路由设备以外的其他路由设备接收到的路由表
项,路由表项20001至路由表项40000是管理员人工配置的路由表项,则路由表项1至路由表
项10000是第一路由表项。
BGP邻居关系升级前,第一路由设备与第二路由设备之间基于N种地址族能力,建立了N种
BGP邻居关系,当第一路由设备与第二路由设备之间要新增M种BGP邻居关系时,第一路由设
备与第二路由设备可以中断N种BGP邻居关系,使用目标能力,不删除之前从彼此接收到的
路由表项,当邻居关系重建后,第一路由设备与第二路由设备可以基于(N+M)种地址族能
力,建立(N+M)种BGP邻居关系,从而实现了邻居关系的平滑升级。其中,N为正整数,M为正整
数。
与第二路由设备可以中断IPv4单播邻居关系以及IPv6单播邻居关系,第一路由设备可以使
用目标能力,不删除从第二路由设备接收到的IPv4路由表项以及IPv6路由表项,第二路由
设备可以使用目标能力,不删除从第一路由设备接收到的IPv4路由表项以及IPv6路由表
项,当邻居关系重建后,第一路由设备与第二路由设备可以升级为建立了IPv4单播邻居关
系、IPv6单播关系以及VPNv4邻居关系,同时,在邻居关系升级的过程中,第一路由设备以及
第二路由设备仍可以通过之前从对端接收到的IPv4路由表项以及IPv6路由表项处理业务,
从而避免对业务造成影响,从而实现了VPNv4邻居关系的平滑升级。
设备使能针对第二路由设备的目标能力。该使能指令可以包括第二路由设备的标识,第一
路由设备可以从使能指令中获取第二路由设备的标识,以便根据该第二路由设备的标识,
确定要对第二路由设备使能目标能力。其中,该第二路由设备的标识可以是第二路由设备
的名称、网络地址、编号等。该使能指令可以根据管理员的配置操作触发。
第一路由表项。其中,第一路由设备可以在执行业务的过程中,中断邻居关系。作为示例,可
以在以下场景一至场景三中的任一项中,中断邻居关系。
系时,可以中断邻居关系。
二路由设备使能目标地址族能力,中断与第二路由设备之间的邻居关系。同理地,第二路由
设备可以针对第一路由设备使能目标地址族能力,中断与第一路由设备之间的邻居关系。
当第一路由设备以及第二路由设备针对彼此使能目标地址族能力后,第一路由设备以及第
二路由设备可以基于目标地址族能力,建立目标邻居关系。
VPNv4能力,中断与第二路由设备之间的IPv4单播邻居关系。第二路由设备可以针对第一路
由设备使能VPNv4能力,中断与第一路由设备之间的IPv4单播邻居关系。当第一路由设备要
与第二路由设备部署IP‑ORF邻居关系时,第一路由设备可以针对第二路由设备使能IP‑ORF
能力,中断与第二路由设备之间的IPv4单播邻居关系。第二路由设备可以针对第一路由设
备使能IP‑ORF能力,中断与第一路由设备之间的IPv4单播邻居关系。
包括第一路由设备已使能了目标地址族能力的至少一个邻居设备的标识。第一路由设备可
以在该地址族视图界面中接收使能指令,从该使能指令获取第二路由设备的标识,对第二
路由设备使能目标地址族能力。
部署新地址族能力时不影响已有业务,从而可以极大地提升新业务的部署效率,便于在已
部署的邻居关系上叠加各种新的功能,让运营商无需深更半夜进行割接操作,也就减少了
操作工作量,有利于电信网络的业务的升级演进。
中,配置指令可以根据用户的输入操作触发,配置指令用于指示第一路由设备对已存储的
第二路由设备相关的配置信息进行更新,该第二路由设备相关的配置信息可以包括第一路
由设备已对第二路由设备使能的地址族能力、第二路由设备的网络地址、从第二路由设备
接收到的路由表项、第一路由设备与第二路由设备之间的通信协议等。
路由设备可以接收配置指令,中断与第二路由设备之间的邻居关系,根据配置指令,重置与
第二路由设备之间的邻居关系。
通知消息可以用来通知对端进行平滑升级,即在升级邻居关系的基础上,不影响业务处理。
作为示例,可以在BGP中约定,当本端与对端要升级邻居关系时,本端要向对端发送一种通
知对端不删除路由表项的通知(英文:notification)报文,该notification报文即为第一
通知消息。
如当第二路由设备接收到配置指令时,第二路由设备可以生成第一通知消息,向第一路由
设备发送第一通知消息,则第一路由设备可以从第二路由设备接收到第一通知消息。
息后,可以中断与第一路由设备之间的邻居关系。其中,第二通知消息用于通知第二路由设
备中断邻居关系以及不删除第四路由表项,第四路由表项为第二路由设备从第一路由设备
接收到的路由表项。
或字符串等任意数据形式,该准备删除标记的具体取值可以预先存储在第一路由设备中。
表中每条路由表项的来源,从路由表中选择来源为第二路由设备的路由表项,作为第一路
由表项。
说,当邻居关系中断后,当第一路由设备接收到报文时,第一路由设备可以从报文中获取报
文的目的地址,根据报文的目的地址,查询第一路由表项,从第一路由表项中得到该目的地
址对应的下一跳地址,向下一跳地址发送报文。也即是,在邻居关系中断至邻居关系重建期
间,目的地址属于第一路由表项的报文仍可以正常地从第一路由设备转发出去,而不会由
于第一路由表项被删除,导致第一路由设备无法查询到报文的下一跳地址而丢弃报文,从
而避免了业务受损。
中,第二路由表项和第一路由表项可以不同或相同,该不同可以是部分相同而部分不同,也
可以是完全不同。
项替换为其他路由表项,那么第二路由设备在邻居关系重建后重新发送的路由表项,会由
于进行了更新,而与邻居关系中断前发送的路由表项不一致,则第二路由表项会和第一路
由表项不同。而在从邻居关系中断至邻居关系重建的时间范围内,如果第二路由设备未对
存储的路由表项进行更新,那么第二路由设备在邻居关系重建后重新发送的路由表项会与
邻居关系中断前发送的路由表项一致,因此第二路由表项会和第一路由表项相同。
化了的路由表项。举例来说,假设邻居关系中断之前,第一路由设备从第二路由设备接收到
1万条路由表项,分别是路由表项1至路由表项10000,在邻居关系中断至邻居关系重建期
间,第二路由设备删除了1000条路由表项,分别是路由表项1至路由表项1000,则在邻居关
系重建后,第一路由设备会从第二路由设备接收到剩下的9000条路由表项,即路由表项
1001至路由表项10000,则路由表项1至路由表项1000这1000条路由表项即为第三路由表
项。
当路由表项为第二路由表项中的路由表项时,第一路由设备从第一路由表项中删除该路由
表项中的准备删除标记。在一种可能的实现中,第一路由设备可以获取该路由表项的前缀
以及第二路由表项的前缀,比对该路由表项的前缀与第二路由表项的前缀是否相同,当路
由表项的前缀与第二路由表项的前缀相同时,则确定该路由表项为第二路由表项中的路由
表项。另外,当路由表项不为第二路由表项中的路由表项时,第一路由设备可以不删除该路
由表项中的准备删除标记。
中删除路由表项1001至路由表项10000中的准备删除标记,而不删除路由表项1至路由表项
1000中的准备删除标记。
项包括准备删除标记,则将路由表项作为第三路由表项,删除该路由表项,如果该路由表项
不包括准备删除标记,可以不删除该路由表项。
第一路由设备可以从路由表项1至路由表项10000选择仍然具有准备删除标记的路由表项1
至路由表项1000,删除路由表项1至路由表项1000。
非删除第三路由表项的必选方式。在其他可能的实现中,也可以通过其他方式来删除第三
路由表项,例如,可以当接收到第二路由表项时,判断第一路由表项中的每条路由表项是否
属于第二路由表项,如果任一条路由表项属于第二路由表项,则不删除该路由表项,如果该
路由表项不属于第二路由表项,则将路由表项作为第三路由表项,删除该路由表项。当然,
第一路由设备还可以采用其他方式,来根据第一路由表项和第二路由表项,从路由表中删
除第三路由表项,本实施例对此不做限定。
项:
第一路由设备与第二路由设备之间的邻居关系已经重建,且第二路由设备已经向第一路由
设备发送第二路由表项结束,则第一路由设备会开始删除第三路由表项。其中,该预设时长
可以根据经验设置,该预设时长可以预先存储在第一路由设备中。
体来说,第二路由设备可以判断路由表项是否已经发送结束,当已经发送结束时,第二路由
设备可以生成EOR消息,向第一路由设备发送EOR消息,则第一路由设备会接收到第二路由
设备的EOR消息,开始删除第三路由表项。
项。
以在从邻居关系中断至邻居关系重建的时间范围内,仍通过从第一路由设备接收到的路由
表项来处理业务,从而避免删除路由表项导致的业务受损。另外,步骤410至步骤417与步骤
402至步骤409同理,在此不做赘述。
时间范围内仍通过从第二路由设备接收到的路由表项来处理业务,从而避免删除这些路由
表项后对这些路由表项相关的业务产生影响。同时,如果从邻居关系中断至邻居关系重建
的时间范围内,第二路由设备更新了本端存储的路由表项,导致第一路由设备在邻居关系
重建之后接收到的路由表项与邻居关系中断之前接收到的路由表项不一致,第一路由设备
可以通过从路由表中删除两次接收到的路由表项之间的差异路由表项,来保证路由表中路
由表项的时效性和准确性,从而保证按照路由表项处理业务的准确性。
同的功能模块完成,即将邻居关系管理装置的内部结构划分成不同的功能模块,以完成以
上描述的全部或者部分功能。另外,上述实施例提供的邻居关系管理装置与邻居关系管理
方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储
器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技
术人员可以理解,装置500可以具体为上述实施例中的邻居关系管理装置,装置500可以用
于执行上述方法实施例中与邻居关系管理装置对应的各个流程和/或步骤,为避免重复,在
此不再赘述。
括一个或多个与上述功能相对应的模块;例如接收模块可以由接收机替代,如处理模块等
可以由处理器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。
理方法。
存储器(英文全称:read‑only memory,英文简称:ROM)、随机存取存储器(英文全称:random
access memory,英文简称:RAM)、只读光盘(英文全称:compact disc read‑only memory,
英文简称:CD‑ROM)、磁带、软盘和光数据存储设备等。
法。
连,该处理器用于执行该存储器中的代码,当该代码被执行时,该处理器用于执行上述邻居
关系管理方法。
品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或
部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、
计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者
从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令
可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、
计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任
何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该
可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital
video disc,DVD)、或者半导体介质(例如固态硬盘)等。
申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
定。
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。