一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种转发表项生成的方法、装置和设备与流程

2022-12-09 19:19:53 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别是涉及一种转发表项生成的方法、装置和设备。


背景技术:

2.内部网关协议(英文:interior gateway protocol,简称:igp),是在一个自治系统(英文:,简称:as)内部所使用的一种路由协议。基于igp选路时,通常根据链路状态数据库(英文:link state database,简称:lsdb)进行最短路径优先(英文:shortest path first,简称:spf)算路,而lsdb用于描述网络拓扑,即,igp的算路结果与网络拓扑强相关。
3.目前,网络拓扑发生变化时,通常需要让全网的设备均感知到该变化(即全网基于该变化更新lsdb),并基于更新后的lsdb进行spf算路,从而更新每个前缀的下一跳信息。但是,在一些大规模网络中,网络拓扑可能发生变化的情况十分复杂,如果针对每个一个网络拓扑细微的变化都进行全局路由收敛,会造成网络负担大且路由收敛时间长的问题,影响路由收敛性能。
4.基于此,亟待提供一种生成转发表项的方法,能够在网络发生变化时快速的实现路由收敛,节约网络资源,提升路由收敛性能。


技术实现要素:

5.基于此,本技术实施例提供了一种转发表项生成的方法、装置和设备,实现简单、快速的路由收敛,提高路由收敛性能。
6.第一方面,本技术实施例提供了一种转发表项生成的方法,应用于第一网络设备,其中,第一网络中的第一网络设备通过网络设备集合连接第二网络,所述网络设备集合包括一个或多个网络设备,所述网络设备集合为连接所述第一网络和所述第二网络的设备,该方法例如可以包括:第一网络设备确定多条路由对应的转发路径分别经过该网络设备集合时,为所述多条路由分配关联标识,该多条路由对应相同的第一转发信息,第一转发信息包括第一出接口和所述网络设备集合中的第二网络设备的段标识;从而,该第一网络设备生成对应所述多条路由的多个第一转发表项,所述多个第一转发表项中的每个第一转发表项中匹配项通过所述关联标识关联到所述第一转发信息。其中,匹配项可以是路由前缀或mpls标签。这样,将经过相同的网络设备的多条路由生成转发信息相同的多个转发表项,在转发平面仅需要存储一份转发信息,使得生成转发表项的过程简单、快速;而且,在网络拓扑发生变化的情况下,无需再进行全局路由收敛,执行下一跳分离收敛即可,例如,第一网络设备经过第一出接口到达第二网络设备的第一路径上发生故障,第一网络设备只需要根据更新多个转发表项中的转发信息即可,无需再针对每个匹配项都进行更新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
7.其中,本技术实施例提供的方法可以应用到基于第六版互联网协议的分段路由(英文:segment routing over internet protocol version 6,srv6)场景或sr多协议标签交换(英文:multiprotocol label switching,简称:mpls)场景中。如果应用于srv6场
景,那么,上述第二网络设备的sid可以是第二网络设备的第六版互联网协议(英文:internet protocol version 6,简称:ipv6)地址。如果应用于sr mpls场景,那么,上述第二网络设备的sid可以是第二网络设备的mpls标签。
8.其中,本技术实施例中的所述多条路由可以均为igp路由。
9.作为一个示例,所述第一网络为运营商边缘(英文:provider edge,简称:pe)设备和核心(英文:provider,简称:p)设备之间的网络,所述第二网络为p设备之间的网络。
10.作为另一个示例,所述第一网络为p之间的网络,所述第二网络为p设备和pe设备之间的网络。
11.在一些场景中,所述p设备可以为区域边界路由器(英文:area border router,简称:abr)。
12.可以理解的是,本技术实施例中,在第一网络设备的转发平面的存储模块中存储一份所述第一转发信息。这样,能够有效的节约存储资源。
13.在一些可能的实现方式中,该方法还可以包括:第一网络设备接收第一报文,该第一报文的目的地址和多个第一转发表项中的一个匹配项匹配;那么,第一网络设备可以根据多个第一转发表项中的第一关联标识获得第一转发信息;从而,第一网络设备根据第一转发信息中的段标识处理第一报文,得到第二报文,并从所述第一转发信息中的第一出接口向所述第二网络设备发送第二报文。如此,在根据本技术实施例提供的方法生成的转发表项的基础上,第一网络设备能够将所接收的报文准确的发送到网络设备集合中的设备,本技术实施例为报文的转发过程提供了重要的依据。
14.作为一个示例,当第二网络设备的段标识是ipv6地址时,第一网络设备根据所述第一转发信息中的段标识处理第一报文,得到第二报文,例如可以包括:第一网络设备将所述第一报文的目的地址字段的内容修改为所述第二网络设备的段标识,得到所述第二报文。可见,在srv6场景中,本技术实施例提供的方法所生成的转发表项,能够有效的指导对所接收的报文的处理,从而为准确转发处理后的报文作好了准备。
15.作为另一个示例,当第二网络设备的段标识是mpls标签时,所述第一网络设备根据所述第一转发信息中的段标识处理所述第一报文,得到第二报文,例如也可以包括:第一网络设备在所述第一报文的标签栈中添加所述第二网络设备的段标识,得到所述第二报文。可见,在sr mpls场景中,本技术实施例提供的方法所生成的转发表项,能够有效的指导对所接收的报文的处理,从而为准确转发处理后的报文作好了准备。
16.在一些可能的实现方式中,该方法还可以包括:当确定经过所述第一出接口到达所述第二网络设备的第一路径故障时,所述第一网络设备获得第二出接口,所述网络设备经过所述第二出接口到达所述第二网络设备的第二路径可达;从而,第一网络设备更新所述第一转发信息,更新后的所述第一转发信息包括所述第二网络设备的段标识和所述第二出接口。可见,在网络拓扑发生变化的情况下,无需再进行全局路由收敛,执行下一跳分离收敛即可,例如,在网络设备集合仅包括一个网络设备(即第二网络设备)时,第一网络设备经过第一出接口到达第二网络设备的第一路径上发生故障,第一网络设备只需要根据更新多个转发表项中的转发信息即可,无需再针对每个路由前缀都进行更新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
17.在另一些可能的实现方式中,当网络设备集合包括第二网络设备和第三网络设备
时,该方法还可以包括:当确定经过所述第一出接口到达所述第二网络设备的第一路径故障时,所述第一网络设备获得第二出接口,第一网络设备经过所述第二出接口到达所述第三网络设备的第二路径可达;从而,第一网络设备更新所述第一转发信息,更新后的所述第一转发信息包括所述第三网络设备的段标识和所述第二出接口。可见,在网络拓扑发生变化的情况下,无需再进行全局路由收敛,执行下一跳分离收敛即可,例如,在网络设备集合包括多个网络设备(以包括第二网络设备和第三网络设备为例)时,第一网络设备经过第一出接口到达第二网络设备的第一路径上发生故障,第一网络设备只需要根据更新多个转发表项中的转发信息即可,无需再针对每个路由前缀都进行更新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
18.该实现方式中,作为一个示例,第二网络设备和第三网络设备可以具有相同的段标识,例如,该相同的段标识为anycast sid。作为另一个示例,第二网络设备的段标识和第三网络设备的段标识可以不同。需要说明的是,无论网络设备集合中的设备的段标识是否相同,均不影响本技术实施例的实现以及达到的技术效果。
19.在当确定经过所述第一出接口到达所述第二网络设备的第一路径故障且进行转发表项更新后,该方法还可以包括:第一网络设备接收第三报文,该第三报文的目的地址和更新后的多个第一转发表项中的一个匹配项匹配;那么,第一网络设备根据关联标识获得更新后的第一转发信息;从而,第一网络设备根据更新后的所述第一转发信息中的段标识处理所述第三报文,得到第四报文,并且,从更新后的所述第一转发信息中的所述第二出接口发送所述第四报文。如此,在网络拓扑发生变化(例如路径故障)时,即使网络结构非常复杂,本技术实施例提供的方法也能够快速、简单的更新生成的转发表项,从而,第一网络设备能够将所接收的报文及时、准确的发送到网络设备集合中的设备,使得报文的转发不会长时间中断,实现了快速路由收敛,提高了业务连续性。
20.第二方面,本技术实施例还提供了一种转发表项生成的装置,第一网络中的第一网络设备通过网络设备集合连接第二网络,所述网络设备集合包括一个或多个网络设备,所述网络设备集合为连接所述第一网络和所述第二网络的设备,所述装置应用于所述第一网络设备,所述装置可以包括:确定单元、分配单元和生成单元。其中,确定单元用于确定多条路由对应的转发路径分别经过所述网络设备集合;分配单元用于为所述多条路由分配关联标识,所述多条路由对应相同的第一转发信息,所述第一转发信息包括第一出接口和所述网络设备集合中的第二网络设备的段标识;生成单元用于生成对应所述多条路由的多个第一转发表项,所述多个第一转发表项中的每个第一转发表项中匹配项通过所述关联标识关联到所述第一转发信息。
21.其中,所述段标识包括第六版互联网协议ipv6地址或多协议标签交换mpls标签。
22.在一些可能的实现方式中,所述装置还可以包括:第一接收单元、第一获取单元、第一处理单元和第一发送单元。其中,第一接收单元用于接收第一报文,所述第一报文的目的地址和所述多个第一转发表项中的一个匹配项匹配;第一获取单元用于根据所述多个第一转发表项中的所述第一关联标识获得所述第一转发信息;第一处理单元用于根据所述第一转发信息中的段标识处理所述第一报文,得到第二报文;第一发送单元用于从所述第一转发信息中的所述第一出接口向所述第二网络设备发送所述第二报文。
23.作为一个示例,当所述第二网络设备的段标识是ipv6地址时,所述第一处理单元,
具体用于:将所述第一报文的目的地址字段的内容修改为所述第二网络设备的段标识,得到所述第二报文。
24.作为另一个示例,当所述第二网络设备的段标识是mpls标签时,所述第一处理单元,具体用于:在所述第一报文的标签栈中添加所述第二网络设备的段标识,得到所述第二报文。
25.在一些可能的实现方式中,所述装置还包括:第二获取单元和更新单元。其中,第二获取单元用于当确定经过所述第一出接口到达所述第二网络设备的第一路径故障时,获得第二出接口,所述第一网络设备经过所述第二出接口到达所述第二网络设备的第二路径可达;更新单元用于更新所述第一转发信息,更新后的所述第一转发信息包括所述第二网络设备的段标识和所述第二出接口。
26.在另一些可能的实现方式中,当所述网络设备集合还包括第三网络设备时,所述装置还包括:第二获取单元和更新单元。其中,第二获取单元用于当确定经过所述第一出接口到达所述第二网络设备的第一路径故障时,获得第二出接口,所述第一网络设备经过所述第二出接口到达所述第三网络设备的第二路径可达;更新单元用于更新所述第一转发信息,更新后的所述第一转发信息包括所述第三网络设备的段标识和所述第二出接口。
27.该实现方式中,一种情况下,所述第二网络设备和所述第三网络设备具有相同的段标识,例如,所述相同的段标识为anycast sid。另一种情况下,所述第二网络设备的段标识和所述第三网络设备的段标识不同。
28.在一些可能的实现方式中,所述装置还包括:第二接收单元、第三获取单元、第二处理单元和第二发送单元。其中,第二接收单元用于接收第三报文,所述第三报文的目的地址和所述多个第二转发表项中的一个匹配项匹配;第三获取单元用于根据所述关联标识获得更新后的所述第一转发信息;第二处理单元用于根据更新后的所述第一转发信息中的段标识处理所述第三报文,得到第四报文;第二发送单元用于从更新后的所述第一转发信息中的所述第二出接口发送所述第四报文。
29.其中,在第一网络设备的转发平面的存储模块中存储一份所述第一转发信息。
30.其中,所述多条路由均为内部网关协议igp路由。
31.作为一个示例,所述第一网络为运营商边缘pe设备和核心p设备之间的网络,所述第二网络为p设备之间的网络。
32.作为另一个示例,所述第一网络为p之间的网络,所述第二网络为p设备和pe设备之间的网络。
33.例如,所述p设备可以为区域边界路由器abr。
34.需要说明的是,该转发表项生成的装置中名称相同的单元,可以通过一个或多个具有相同功能的单元实现,例如第一接收单元和第二接收单元可以通过一个具有接收功能的接收单元实现,也可以通过两个独立的具有接收功能的接收单元实现,在本技术实施例中不作限定。该转发表项生成的装置中名称不相同的单元,例如第一接收单元和第二接收单元,可以根据实际设计进行合并或拆分,只要不影响本技术实施例的实现即可。
35.需要说明的是,第二方面提供的转发表项生成的装置与第一方面提供的方法对应,具体实现方式以及达到的效果,参见第一方面所示的方法的相关描述。
36.第三方面,本技术实施例还提供了一种网络设备,包括处理器和存储器,所述存储
器用于存储计算机程序或指令,所述处理器用于调用存储器中存储的所述计算机程序或指令,使得所述网络设备执行上述第一方面提供的方法。
37.第四方面,本技术实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面提供的方法。
38.第五方面,本技术实施例还提供了一种计算机程序产品,包括程序,当所述程序在处理器上运行时,实现上述第一方面提供的方法。
39.第六方面,本技术实施例还提供了一种芯片,包括处理器和接口电路,其中,接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令以执行上述第一方面提供的方法。
附图说明
40.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例提供的一种适用场景的结构示意图;
42.图2为本技术实施例提供的另一种适用场景的结构示意图;
43.图3a为本技术实施例提供的一种转发表项的数据形式的示意图;
44.图3b为本技术实施例提供的另一种转发表项的数据形式的示意图;
45.图4为本技术实施例提供的一种转发表项生成的方法100的流程示意图;
46.图5为本技术实施例提供的又一种适用场景的结构示意图;
47.图6a为本技术实施例提供的一种报文1格式的示意图;
48.图6b为本技术实施例提供的一种报文2格式的示意图;
49.图6c为本技术实施例提供的一种报文3格式的示意图;
50.图7a为本技术实施例提供的一种报文2’格式的示意图;
51.图7b为本技术实施例提供的一种报文3’格式的示意图;
52.图8a为本技术实施例提供的一种报文1的mpls标签栈的示意图;
53.图8b为本技术实施例提供的一种报文2的mpls标签栈的示意图;
54.图8c为本技术实施例提供的一种报文3的mpls标签栈的示意图;
55.图9为本技术实施例提供的另一种转发表项生成的方法200的流程示意图;
56.图10为本技术实施例提供的又一种转发表项生成的方法300的流程示意图;
57.图11为本技术实施例提供的一种报文转发过程的示意图;
58.图12为本技术实施例提供的一种转发表项生成的装置1200的结构示意图;
59.图13为本技术实施例提供的一种网络设备1300的结构示意图。
具体实施方式
60.下面将结合附图,对本技术实施例中的技术方案进行描述。本技术实施例描述的网络架构以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
61.本技术实施例中的“1”、“2”、“3”、“第一”、“第二”以及“第三”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
62.本技术实施例中提及的“a和/或b”,应该理解为包括以下情形:仅包括a,仅包括b,或者同时包括a和b。
63.通常,互联网会被分成多个as,一个as包括一个或多个实体管辖下的所有互联网协议(英文:internet protocol,简称:ip)网络和网络设备。一个as内部使用igp选择路由,对互联网执行共同的路由策略。基于igp选路时,通常根据网络的lsdb进行spf算路,选择到达目的网络设备的最佳路径。其中,lsdb用于描述网络拓扑,是网络的“完整视图”。
64.基于igp选路与网络拓扑强相关,当网络拓扑发生变化时,全网的网络设备基于拓扑变化更新lsdb,并基于更新后的lsdb进行spf算路,从而更新每个前缀的下一跳信息,以更新路由转发表。也就是说,在as内网络拓扑即使发生细微的变化,也需要每个网络设备对路由转发表进行全量更新,实现全局的路由收敛,该实现方式会导致网络负担大、路由收敛时间长的问题。尤其对于一些大规模网络,网络拓扑可能发生的变化有很多种,存在微小差异的网络拓扑对应的路由转发表中的下一跳信息都可能不一致,所以,每个ip前缀都需要更新路由转发表,造成收敛时间过长,igp全局路由收敛的性能较差。
65.基于此,本技术实施例提供了一种转发表项生成的方法,两个网络通过网络设备集合中的设备连接,网络设备集合包括了两个网络的边缘设备,网络设备集合中至少包括第二网络设备,两个网络中的一个网络通过第一网络设备连接另一个网络。当第一网络设备确定多条路由对应的转发路径分别经过该网络设备集合的第二网络设备时,可以认为该多条路由对应相同的转发信息,为该多条路由分配一个共同的关联标识,其中,该相同的转发信息包括第二网络设备的段标识和第一出接口;那么,第一网络设备即可生成对应该多条路由的多个转发表项,该多个转发表项的每个转发表项中的匹配项通过关联标识关联到所述转发信息。其中,匹配项可以是路由前缀或mpls标签。这样,将经过相同的网络设备的多条路由生成转发信息相同的多个转发表项,在转发平面仅需要存储一份转发信息,使得生成转发表项的过程简单、快速;而且,在网络拓扑发生变化的情况下,无需再进行全局路由收敛,执行下一跳分离收敛即可,例如,第一网络设备经过第一出接口到达第二网络设备的第一路径上发生故障,第一网络设备只需要根据更新多个转发表项中的转发信息即可,无需再针对每个匹配项都进行更新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
66.举例来说,本技术实施例可以是应用到如图1所示的场景中,该场景中例如可以包括:广东运营商边缘(英文:provider edge,简称:pe)设备111、广东pe设备112、广州核心设备121、沈阳pe设备211、沈阳pe设备212和沈阳核心设备221。其中,广东pe设备111、广东pe设备112和广州核心设备121属于网络10,广州核心设备121和沈阳核心设备221属于网络12,沈阳pe设备211、沈阳pe设备212和沈阳核心设备221属于网络20。那么,广州核心设备121属于连接网络10和网络11的网络设备集合1的设备,沈阳核心设备221属于连接网络12和网络20的网络集合2中的设备。其中,广东核心设备121连接沈阳核心设备221,网络10中广东pe设备111和广东pe设备112分别连接广州核心设备121,网络20中沈阳pe设备211和沈阳pe设备212分别连接沈阳核心设备221。需要说明的是,图1所示的场景中,所有的网络设备均属于同一个as,例如均属于as 9808。每个核心设备可以连接多个pe设备,本实施例中
以一个核心设备连接本地区的两个pe设备为例进行说明。as中可以包括多个地区的网络设备,例如,该场景中还可以包括:北京pe设备311、北京pe设备312和北京核心设备321,本实施例中以场景中的广州地区和沈阳地区这两个地区为例进行描述。
67.以图1所示的场景为例,以转发表项中的匹配项为路由前缀为例,介绍本技术实施例提供的转发表项生成的方法。
68.作为一个示例,沈阳pe设备211、沈阳pe设备212分别向广东pe设备111发送路由1和路由2,其中,路由1可以包括沈阳pe设备211的路由前缀1,路由2可以包括沈阳pe设备212的路由前缀2。广东pe设备111可以接收沈阳pe设备211发送的路由1以及沈阳pe设备212发送的路由2,从而确定路由1对应的转发路径1和路由2对应的转发路径2均经过网络设备集合1中的广州核心设备121以及网络设备集合2中的沈阳核心设备221,其中,转发路径1包括:广东pe设备111到广州核心设备121的路径11、广州核心设备121到沈阳核心设备221的路径12、以及沈阳核心设备221到沈阳pe设备211的路径13,转发路径2包括:广东pe设备111到广州核心设备121的路径11、广州核心设备121到沈阳核心设备221的路径12、以及沈阳核心设备221到沈阳pe设备212的路径14。
69.对于广东pe设备111,由于确定转发路径1和转发路径2均经过广州核心设备121,所以,可以为路由1和路由2分配关联标识1,并确定该关联标识1对应转发信息1,该转发信息1包括出接口1和广州核心设备121的段标识(英文:segment identifier,简称:sid)1,其中,出接口1为广东pe设备111上经过路径11连接广州核心设备121的接口。接着,广东pe设备111即可生成对应路由1的转发表项1以及对应路由2的转发表项2,其中,转发表项1至少可以包括:路由前缀1、关联标识1、sid 1和出接口1,转发表项2至少可以包括:路由前缀2、关联标识1、sid 1和出接口1,即,转发表项1和转发表项2中的路由前缀均通过关联标识1关联到转发信息1。生成的转发表项1和转发表项2例如可以参见下述表1所示:
70.表1转发表项1和转发表项2
[0071][0072]
需要说明的是,本技术实施例中的表中的转发表项都是示例性的。例如:上述表1所示的转发表项中,pe设备1的转发平面的存储模块中仅需要存储一份关联标识1,同理,也仅需要存储一份转发信息1,如此,能够有效节约转发表项的存储资源。
[0073]
对于广州核心设备121,由于确定转发路径1和转发路径2均经过沈阳核心设备221,所以,可以为路由1和路由2分配关联标识2,并确定该关联标识2对应转发信息2,该转发信息2包括出接口2和沈阳核心设备221的段标识sid 2,其中,出接口2为广州核心设备121上经过路径12连接沈阳核心设备221的接口。接着,广州核心设备121即可生成对应路由1的转发表项3以及对应路由2的转发表项4,其中,转发表项3至少可以包括:路由前缀1、关联标识2、sid 2和出接口2,转发表项4至少可以包括:路由前缀2、关联标识2、sid 2和出接口2,即,转发表项3和转发表项4中的路由前缀均通过关联标识2关联到转发信息2。生成的转发表项3和转发表项4例如可以参见下述表2所示:
[0074]
表2转发表项3和转发表项4
[0075][0076]
该示例下,如果广东pe设备111接收到报文1,该报文1的目的地址和路由前缀1匹配,那么,广东pe设备111可以基于转发表项1中的出接口1,从出接口1经过路径11将该报文1发送到广州核心设备121;广州核心设备121可以基于转发表项3中的出接口2,从出接口2经过路径12将报文1发送到沈阳核心设备221;沈阳核心设备221可以基于本地的转发表项中的出接口,将报文1经过路径13转发到沈阳pe设备211。其中,报文1的目的地址和路由前缀1匹配,可以是指:报文1的目的地址和路由前缀1属于相同的网段。
[0077]
作为另一个示例,如果路径11故障,广东pe设备111可以确定从广东pe设备111到广州核心设备121之间的路径11’可达,从而,广东pe设备111的控制平面可以向转发平面下发关联标识1和出接口1’,并更新转发表项1和转发表项2,更新后的转发表项1和转发表项2分别记作转发表项1’和转发表项2’,转发表项1’相比转发表项1以及转发表项2’相比转发表项2,区别包括:将出接口1更新为出接口1’。其中,出接口1’为广东pe设备111上通过路径11’连接广州核心设备121的接口。转发表项1’和转发表项2’例如可以参见下述表3所示:
[0078]
表3转发表项1’和转发表项2’[0079][0080][0081]
这样,在路径11发生故障时,该场景中的其他网络设备无需进行路由收敛,也无需重新下发包括路由前缀的路由,只有广东pe设备111对转发表项1和转发表项2中的出接口1进行更新即可,大大的提高了路由收敛的效率。
[0082]
同理,如果路径12故障,则,广州核心设备121可以确定从广州核心设备121到沈阳核心设备221之间的路径12’可达,从而,广东核心设备121的控制平面可以向转发平面下发关联标识2和出接口2’,并更新转发表项3和转发表项4,更新后的转发表项3和转发表项4分别可以记作转发表项3’和转发表项4’,转发表项3’相比转发表项3以及转发表项4’相比转发表项4,区别包括:将出接口2更新为出接口2’。其中,出接口2’为广州核心设备121上通过路径12’连接沈阳核心设备221的接口。转发表项3’和转发表项4’例如可以参见下述表4所示:
[0083]
表4转发表项3’和转发表项4’[0084][0085]
该示例下,假设路径11和路径12均故障,广东pe设备111和广州核心设备121分别
更新转发表项,参见表3和表4所示。如果广东pe设备111接收到报文1,该报文1的目的地址和路由前缀1匹配,那么,广东pe设备111可以基于转发表项1’中的出接口1’,从出接口1’经过路径11’将该报文1发送到广州核心设备121;广州核心设备121可以基于转发表项3’中的出接口2’,从出接口2’经过路径12’将报文1发送到沈阳核心设备221;沈阳核心设备221可以基于本地的转发表项中的出接口,将报文1经过路径13转发到沈阳pe设备211。
[0086]
需要说明的是,在该网络中,为了提高网络性能,每个地区还可以配置多个核心设备,多个核心设备分别与该地区的各个pe设备连接,实现主备安全倒换或负载分担。以每个地区包括两个核心设备为例,本技术实施例适用的场景可以参见图2。该场景中还可以包括广州核心设备122和沈阳核心设备222,其中,广州核心设备122属于网络10,沈阳核心设备222属于网络12和网络20。广州核心设备122与广州核心设备121均属于连接网络10和网络11的网络设备集合1的设备,沈阳核心设备221与沈阳核心设备222属于连接网络12和网络20的网络集合2中的设备。
[0087]
在图2所示的场景中,以转发表项中的匹配项为路由前缀为例,广东pe设备111上的转发表项可以包括上述表1的转发表项,广州核心设备121上的转发表项可以包括上述表2的转发表项。
[0088]
当广东pe设备111确定从出接口1到达广州核心设备121的路径11不可达时,广东pe设备111可以确定从广东pe设备111到广州核心设备122之间的路径21可达,从而,广东pe设备111的控制平面可以向转发平面下发关联标识1和出接口1”,并更新转发表项1和转发表项2,更新后的转发表项1和转发表项2分别可以记作转发表项1”和转发表项2”,转发表项1”相比转发表项1以及转发表项2”相比转发表项2,区别包括:将出接口1更新为出接口1”,并且将广州核心设备121的sid 1更新为广州核心设备122的sid 3。其中,出接口1”为广东pe设备111上通过路径21连接广州核心设备122的接口。转发表项1”和转发表项2”例如可以参见下述表5所示:
[0089]
表5转发表项1”和转发表项2”[0090][0091]
这样,在路径11或广州核心设备121发生故障时,该场景中的其他网络设备无需进行路由收敛,也无需重新下发包括路由前缀的路由,只有广东pe设备111对转发表项1和转发表项2中的转发信息1进行更新即可,大大的提高了路由收敛的效率。
[0092]
同理,当广州核心设备121确定从出接口2到达沈阳核心设备221的路径12不可达时,广州核心设备121可以确定从广州核心设备121到沈阳核心设备222之间的路径22可达,从而,广东核心设备121的控制平面可以向转发平面下发关联标识2和出接口2”,并更新转发表项3和转发表项4,更新后的转发表项3和转发表项4可以分别记作转发表项3”和转发表项4”,转发表项3”相比转发表项3以及转发表项4”相比转发表项4,区别包括:将出接口2更新为出接口2”,并且将沈阳核心设备221的sid 2更新为沈阳核心设备222的sid 4。其中,出接口2”为广州核心设备121上通过路径22连接沈阳核心设备222的接口。转发表项3”和转发表项4”例如可以参见下述表6所示:
[0093]
表6转发表项3”和转发表项4”[0094][0095]
该场景中,假设路径11可达,路径12不可达,路径22可达,那么,广州核心设备121分别更新转发表项,参见表6所示。如果广东pe设备111接收到报文1,该报文1的目的地址和路由前缀1匹配,那么,广东pe设备111可以基于转发表项1中的出接口1,从出接口1经过路径11将该报文1发送到广州核心设备121;广州核心设备121可以基于转发表项3”中的出接口2”,从出接口2”经过路径22将报文1发送到沈阳核心设备222;沈阳核心设备222可以基于本地的转发表项中的出接口,将报文1转发到沈阳pe设备211。
[0096]
假设路径11不可达,路径21可达,广州核心设备122到沈阳核心设备222的路径23可达,且广州核心设备122上包括如下表7所示的转发表项:
[0097]
表7转发表项5和转发表项6
[0098][0099][0100]
其中,转发表项5和转发表项6中的转发信息包括:沈阳核心设备222的sid 4、以及从广州核心设备222上经过路径23到达沈阳核心设备222的出接口3。如果广东pe设备111接收到报文1,该报文1的目的地址和路由前缀1匹配,那么,广东pe设备111可以基于转发表项1”中的出接口1”,从出接口1”经过路径21将该报文1发送到广州核心设备122;广州核心设备122可以基于转发表项5中的出接口3,从出接口3经过路径23将报文1发送到沈阳核心设备222;沈阳核心设备222可以基于本地的转发表项中的出接口,将报文1转发到沈阳pe设备211。
[0101]
需要说明的是,上述关联标识也可以称为间接标识(英文:indirect identifier,简称:iid),可以通过不同的数字标识不同转发信息相同的路由组。如果连接两个网络的网络设备集合所包括的网络设备数量为多个时,一种情况下,该网络设备集合中的多个网络设备可以配置相同的sid,该相同的sid可以是任播(英文:anycast)sid,例如,图2所示的场景中,广州核心设备121和广州核心设备122的sid可以均为anycast sid a1:2::10。另一种情况下,该网络设备集合中的多个网络设备可以分别配置不同的sid,例如,图2所示的场景中,广州核心设备121和广州核心设备122的sid可以分别为:a1:2::10和a1:2::11。在网络设备集合中的多个网络设备配置的sid不同的情况下,可以为该网络设备集合中的多个网络设备分配相同的关联标识,也可以分别分配不同的关联标识,不影响本技术实施例中的实现。
[0102]
连接该网络设备集合的网络设备的控制平面,可以预先将网络设备集合的关联标识绑定多个出接口,当该网络设备通过一个出接口到达该网络设备集合的路径不可达时,
控制平面可以及时的向转发平面下发该关联标识和绑定的其他出接口,以便该网络设备快速的完成转发表项的更新。例如,广东pe设备111的控制平面可以预先将网络设备集合1的关联标识10023绑定出接口1、出接口1’和出接口1”,当确定路径11不可达时,广东pe设备111的控制平面可以向转发平面下发10023和出接口1’,从而指示广东pe设备111将转发表项1更新为转发表项1’;或者,广东pe设备111的控制平面可以向转发平面下发10023和出接口1”,从而指示广东pe设备111将转发表项1更新为转发表项1”。
[0103]
需要说明的是,本技术实施例中,pe设备、核心设备等网络设备,可以是交换机、路由器或防火墙等设备,在本技术实施例中不作具体限定。
[0104]
需要说明的是,对于转发表项在网络设备的转发平面的数据形式,上述各表仅是示例性的,本技术实施例不对转发表项的数据形式进行限定,该数据形式也可以理解为转发表项在存储模块的存储格式或转发表项的组织方式。以表1所示的转发表项1和转发表项2为例,数据形式可以参见图3a所示,路由前缀1和路由前缀2均对应关联标识1,关联标识1对应sid 1和出接口1。图3a所示的转发表项,关联标识1只需要在存储模块保存一份,转发信息也只需要在存储模块保存一份。转发表项的数据形式也可以参见图3b所示,路由前缀1和路由前缀2均对应关联标识1,关联标识1对应sid 1和出接口1,图3b与图3a所示的转发表项格式区别在于,关联标识1和路由前缀存储在一个子的存储单元中,关联标识1需要在每个路由前缀对应的子存储单元中都有保存。图3b对应的转发表项的内容具体可以参见下表8所示:
[0105]
表8转发表项1和转发表项2
[0106][0107]
需要说明的是,上述对报文转发过程的描述中,在多个网络设备之间转发的报文以相同的名称予以描述,但是,在实际转发过程中,会按照场景支持的模式以及网络设备的不同对报文进行修改,具体的细节可以参见下述s104~s107以及s401~s404的相关描述,在此不再赘述。
[0108]
上述以图1和图2所示的场景为例,分别介绍了本技术实施例的技术方案在不同场景下的应用,仅是本技术实施例提供的几个场景示例,其并不构成对本技术实施例的限定。
[0109]
以下结合附图介绍本技术实施例提供的转发表项的生成方法。
[0110]
图4为本技术实施例提供的一种转发表项的生成方法100的流程示意图。该方法100的实施场景为:第一网络中的第一网络设备通过网络设备集合连接第二网络,网络设备集合中至少包括第二网络设备,网络设备集合为连接第一网络和第二网络的设备。一种情况下,第一网络为pe设备和核心(英文:provider,简称:p)设备之间的网络,第二网络为p设备之间的网络,例如,第一网络为图1或图2中的网络10,第二网络为图1或图2中的网络12。另一种情况下,第一网络为p之间的网络,第二网络为p设备和pe设备之间的网络,例如,第一网络为图1或图2中的网络12,第二网络为图1或图2中的网络20。该方法100以第一网络设备为执行主体进行描述。例如,该方法100中的第一网络设备可以是图1或图2中的广东pe设
备111,那么,网络设备集合可以为网络设备集合1,第二网络设备可以是广州核心设备121。又例如,该方法100中的第一网络设备也可以是图1或图2中的广州核心设备121,那么,网络设备集合可以为网络设备集合2,第二网络设备可以是沈阳核心设备221。
[0111]
参见图4,该方法100例如可以包括s101~s103:
[0112]
s101,第一网络设备确定多条路由对应的转发路径分别经过所述网络设备集合。
[0113]
其中,多条路由可以均为igp路由,例如可以是中间系统到中间系统(英文:intermediate system to intermediate system,简称:isis)路由,也可以是开放式最短路径优先(英文:open shortest path first,简称:ospf)路由。
[0114]
第一网络设备确定网络设备集合的方式,作为一个示例,可以通过计算确定多个路由对应的转发路径必须经过的特定网络设备,并将计算所确定的一个或多个特定网络设备确定为网络设备集合中的设备。例如,第一网络设备可以在计算多个路由对应的转发路径时,将一个或多个网络设备从网络拓扑中删除,删除后的网络中这多个路由到达目的设备不可达,那么,可以确定所删除的一个或多个网络设备为多个路由对应的转发路径必须经过的特定网络设备。例如,在图1所示的场景中,广东pe设备111可以将广州核心设备121删除,确定路由1到沈阳pe设备211以及路由2到沈阳pe设备211均不可达,从而,确定路由1对应的转发路径1和路由2对应的转发路径2必须经过的特定网络设备为广州核心设备121,即,广州pe设备111确定路由1对应的转发路径1和路由2对应的转发路径2分别经过网络设备集合1,该网络设备集合1包括广州核心设备121。又例如,在图2所示的场景中,广东pe设备111可以将广州核心设备121和广州核心设备122删除,确定路由1到沈阳pe设备211以及路由2到沈阳pe设备211均不可达,从而,确定路由1对应的转发路径1和路由2对应的转发路径2必须经过的特定网络设备包括广州核心设备121和广州核心设备122,即,广州pe设备111确定路由1对应的转发路径1和路由2对应的转发路径2分别经过网络设备集合1,该网络设备集合1包括广州核心设备121和广州核心设备122。
[0115]
作为另一个示例,也可以在第一网络设备上静态配置网络设备集合,所配置的网络设备集合满足:第一网络设备接收的多个路由对应的转发路径必须经过的该网络设备集合中的设备。
[0116]
此外,对于跨域的场景,可以直接将区域边界路由器(英文:area border router,简称:abr)作为网络设备集合中的设备,无需通过上述计算或静态配置。例如,在图5所示的场景中,包括pe设备1、pe设备2、pe设备3、pe设备4、abr 1和abr2,其中,abr 1、pe设备1和pe设备2属于域l1,abr 2、pe设备3和pe设备4属于域l1,abr 1和abr 2之间属于域l2,abr 1和abr 2为域l1和域l2的abr。假设pe设备1和pe设备2分别经过abr 1、abr 2向pe设备3发布路由,pe设备3接收到多条路由,该场景下,pe设备3作为第一网络设备,abr 2可以视作网络设备集合中的设备;abr 2作为第一网络设备,abr 1可以视作网络设备集合中的设备。该场景中pe设备3和abr 2作为第一网络设备生成多个第一转发表项的实现,可以参见图1、图2以及图4所示实施例的描述。
[0117]
如果第一网络设备对应图1或图2中的广东pe设备111,那么,多条路由可以包括路由1和路由2,多条路由对应的转发路径可以包括转发路径1和转发路径2,网络设备集合可以为网络设备集合1。如果第一网络设备对应图1或图2中的广州核心设备121,那么,多条路由可以包括路由1和路由2,多条路由对应的转发路径可以包括转发路径1和转发路径2,网
络设备集合可以为网络设备集合2。
[0118]
需要说明的是,多条路由也可以是沈阳pe设备211接收到的路由,例如可以是广东pe设备111和广东pe设备112发送给沈阳pe设备211的路由,那么,第一网络设备可以对应图1或图2中的沈阳pe设备211,网络设备集合可以为网络设备集合2。第一网络设备也可以对应图1或图2中的沈阳核心设备221,网络设备集合可以为网络设备集合1。
[0119]
s102,第一网络设备为所述多条路由分配关联标识,该多条路由对应相同的第一转发信息,第一转发信息包括第一出接口和网络设备集合中的第二网络设备的段标识。
[0120]
当第一网络设备确定多条路由均经过网络设备集合中的设备时,可以为这多条路由分配一个关联标识。可选地,可以为网络设备集合分配一个关联标识,也可以分别为网络设备集合中的每个设备分别分配关联标识。
[0121]
所述关联标识用于标识一个路由组,同一个路由组多个条路由中每个路由的匹配项对应的转发信息相同,其中,匹配项可以是路由前缀,也可以是mpls标签。该转发信息包括下一跳(即网络设备集合中的设备)和出接口,该转发信息为s102中的第一转发信息。转发平面可以仅保存一份该多条路由对应的转发信息,能够大大的节约存储资源,提高空间利用率。
[0122]
该第一转发信息,用于指导第一网络设备对目的地址与该多条路由中任一路由对应的路由前缀匹配的报文的转发,第一转发信息包括下一跳信息和出接口信息,当网络设备集合包括第二网络设备,多条路由对应的转发路径必须经过第二网络设备时,第一转发信息包括第二网络设备的sid和第一出接口,该第一出接口为第一网络设备上的连接第二网络设备的接口。
[0123]
需要说明的是,本技术实施例可以应用到基于第六版互联网协议的分段路由(英文:segment routing over internet protocol version 6,srv6)场景或sr多协议标签交换(英文:multiprotocol label switching,简称:mpls)场景中。如果该实施例应用于srv6场景,那么,第二网络设备的sid可以是第六版互联网协议(英文:internet protocol version 6,简称:ipv6)地址。如果该实施例应用于sr mpls场景,那么,第二网络设备的sid可以是mpls标签。
[0124]
如果第一网络设备对应图1或图2中的广东pe设备111,那么,关联标识可以是上述关联标识1,第一转发信息可以是转发信息1,第二网络设备的sid可以是广州核心设备121的sid 1,第一出接口可以是出接口1。如果第一网络设备对应图1或图2中的广州核心设备121,那么,关联标识可以是上述关联标识2,第一转发信息可以是转发信息2,第二网络设备的sid可以是沈阳核心设备221的sid 2,第一出接口可以是出接口2。
[0125]
对于图5所示的场景,pe设备3作为第一网络设备,abr 2作为第二网络设备,第一转发信息中可以包括abr 2的sid和pe设备3上连接abr 2的出接口;abr 2作为第一网络设备,abr 1作为第二网络设备,第一转发信息中可以包括abr 1的sid和abr 2上连接abr 1的出接口。
[0126]
可见,通过为必须经过相同网络设备集合的多条路由分配相同的关联标识,并将该关联标识关联一个第一转发信息,为后续第一网络设备快速生成该多条路由对应的多个第一转发表项提供了数据基础。
[0127]
s103,第一网络设备生成对应所述多条路由的多个第一转发表项,其中,多个第一
转发表项中的每个第一转发表项中匹配项通过关联标识关联到第一转发信息。
[0128]
具体实现时,在s102之后,第一网络设备的控制平面可以向转发平面下发关联标识和第一转发信息,从而第一网络设备在转发平面生成对应多条路由的多个第一转发表项。多个第一转发表项中每个第一转发表项中的匹配项不同,而关联标识和转发信息均相同。即,第一网络设备的转发平面的多个第一转发表项仅存储一份所述第一转发信息,能够有效的节约存储资源。
[0129]
以匹配项为路由前缀为例,如果第一网络设备对应图1或图2中的广东pe设备111,第二网络设备是广州核心设备121,多条路由包括路由1和路由2,那么,多个第一转发表项可以参见上述表1,可以包括路由1对应的转发表项1和路由2对应的转发表项2。如果第一网络设备对应图1或图2中的广州核心设备121,第二网络设备是沈阳核心设备221,多条路由包括路由1和路由2,那么,多个第一转发表项可以参见上述表2,可以包括路由1对应的转发表项3和路由2对应的转发表项4。
[0130]
这样,将经过相同的网络设备的多条路由生成转发信息相同的多个转发表项,在转发平面仅需要存储一份转发信息,使得生成转发表项的过程简单、快速;而且,生成的多个转发表项中,将多条路由通过相同的关联标识关联到相同的转发信息上,实现路由的下一跳分离收敛,这样,即使网络拓扑发生变化,也无需再针对每个路由前缀都进行更新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
[0131]
在一些可能的实现方式中,在s103之后,第一网络设备即可基于多个第一转发表项实现将报文发送到网络设备集合中的第二网络设备。例如,该方法100在s103之后还可以包括下述s104~s107:
[0132]
s104,第一网络设备接收第一报文,第一报文的目的地址和多个第一转发表项中的一个匹配项匹配。
[0133]
s105,第一网络设备根据多个第一转发表项中的第一关联标识获得第一转发信息。
[0134]
具体实现时,当第一网络设备接收到第一报文后,可以解析第一报文获得第一报文的目的地址,并从本地的多个转发表项中查找匹配项与该目的地址匹配的转发表项,以便按照所查找到的转发表项指导对该第一报文的转发。例如,转发表项中的匹配项为路由前缀,则,第一报文的目的地址与转发表项的匹配项匹配,可以是指该目的地址和路由前缀属于相同的网段。接着,第一网络设备可以从与该第一报文的目的地址匹配的第一转发表项中确定第一关联标识所关联的第一转发信息。
[0135]
例如,第一报文可以是上述报文1,该报文1的目的地址和路由前缀1属于相同的网段,那么,作为第一网络设备的广东pe设备111可以从表1所示的转发表项1中确定关联标识1所关联的转发信息1,该转发信息1包括广州核心设备121的sid 1以及出接口1。或者,作为第一网络设备的广州核心设备121可以从表2所示的转发表项3中确定关联标识2所关联的转发信息2,该转发信息2包括沈阳核心设备221的sid 2以及出接口2。
[0136]
如此,为第一网络设备有效的转发所接收的第一报文作好了准备工作。
[0137]
s106,第一网络设备根据第一转发信息中的段标识处理第一报文,得到第二报文。
[0138]
s107,第一网络设备从第一转发信息中的第一出接口向第二网络设备发送第二报文。
[0139]
当第二网络设备的sid是ipv6地址时,作为一个示例,如果第一网络设备是pe设备,那么,s106例如可以包括:第一网络设备在第一报文中插入分段路由头(英文:segment routing header,简称:srh),所述srh中的sid列表(英文:list)字段中包括对应所述第一报文的目的地址的sid,并将所述第一报文的目的地址字段的内容修改为第二网络设备的sid,得到第二报文。作为另一个示例,如果第一网络设备是p设备,那么,第一报文中可以包括srh,s106例如可以包括:第一网络设备修改第一报文中的srh,如修改srh中剩余段(英文:segment left,简称:sl)字段的值,第一网络设备还将所述第一报文的目的地址字段的内容修改为第二网络设备的sid,得到第二报文。
[0140]
假设广东pe设备111的地址为a3::1,广州核心设备121的sid 1为anycast sid a1:2::10,沈阳核心设备221的sid 2为anycast sid a1:1::10,沈阳pe设备211的地址为a2::1。以第一网络设备为广东pe设备111、第一报文为报文1、第二网络设备为广州核心设备121为例,报文1的结构参见图6a,ipv6头包括目的地址字段,该目的地址字段的值为a3::1。
[0141]
一种情况下,当采用简化(英文:reduce)模式处理报文1时,第一网络设备仅修改第一报文的目的地址字段为第二网络设备的sid,无需在第一报文的srh中的sid list字段中添加第二网络设备的sid。经过s106,广东pe设备111得到的第二报文(可以记作报文2)的结构参见图6b,ipv6头中目的ip地址字段的值为a1:2::10,插入的srh的sid list包括a2::1。以第一网络设备为广州核心设备121、第一报文为报文2、第二网络设备为沈阳核心设备221为例,报文2的结构参见图6b;经过s106,广州核心设备121得到的第二报文(可以记作报文3)的结构参见图6c,ipv6头中目的ip地址字段的值为a1:1::10,srh的sid list包括a2::1。
[0142]
另一种情况下,当采用非reduce模式处理报文1时,那么,第一网络设备不仅修改第一报文的目的地址字段为第二网络设备的sid,还需要在第一报文的srh中的sid list字段中添加该第二网络设备的sid。经过s106,广东pe设备111得到的第二报文(可以记作报文2’)的结构参见图7a,ipv6头中目的地址字段的值为a1:2::10,srh的sid list包括a2::1和a1:2::10。以第一网络设备为广州核心设备121、第一报文为报文2、第二网络设备为沈阳核心设备221为例,报文2的结构参见图7a;经过s106,广州核心设备121得到的第二报文(可以记作报文3’)的结构参见图7b,ipv6头中目的ip地址字段的值为a1:1::10,srh的sid list包括a2::1、a1:2::10和a1:1::10。
[0143]
当第二网络设备的sid是mpls标签时,s106例如可以包括:第一网络设备在第一报文的标签栈中添加第二网络设备的段标识,得到第二报文。从而,第一网络设备即可从第一出接口将第二报文发送到第二网络设备。
[0144]
假设广东pe设备111的mpls标签为100,广州核心设备121的mpls标签为200,沈阳核心设备221的mpls标签为300,沈阳pe设备211的mpls标签为400。以第一网络设备为广东pe设备111、第一报文为报文1、第二网络设备为广州核心设备121为例,报文1的mpls标签栈参见图8a,包括mpls标签100和400;经过s106,广东pe设备111得到的第二报文(可以记作报文2)的mpls标签栈参见图8b,包括mpls标签200和400。以第一网络设备为广州核心设备121、第一报文为报文2、第二网络设备为沈阳核心设备221为例,报文2的mpls标签栈参见图8b;经过s106,广州核心设备121得到的第二报文(可以记作报文3)的mpls标签栈参见图8c,
包括mpls标签300和400。
[0145]
如此,在方法100生成的转发表项的基础上,第一网络设备能够将所接收的报文准确的发送到网络设备集合中的设备,即,该方法100在报文转发过程中起到了重要的作用。
[0146]
在一些可能的实现方式中,本技术实施例还考虑到在网络拓扑发生变化的情况下,例如场景中发生故障,如何实现快速路由收敛,保障报文转发的正常进行,提高业务连续性。基于此,本技术实施例提供了下述方法200和方法300,分别对应于网络设备集合包括一个网络设备和多个网络设备的场景,实现转发表项的更新。
[0147]
图9为本技术实施例提供的一种转发表项的生成方法200的流程示意图。该方法200以第一网络设备为执行主体进行描述。例如,该方法200中的第一网络设备可以是图1中的广东pe设备111,那么,第二网络设备是广州核心设备121。又例如,该方法200中的第一网络设备也可以是图1中的广州核心设备121,那么,第二网络设备是沈阳核心设备221。第一转发表项、第一出接口和第一转发信息参见图4所示方法100的相关说明。
[0148]
参见图9,该方法200在方法100中的s103之后,例如还可以包括s201~s202:
[0149]
s201,当确定经过第一出接口到达第二网络设备的第一路径故障时,第一网络设备获得第二出接口,第一网络设备经过第二出接口到达第二网络设备的第二路径可达。
[0150]
具体实现时,当第一网络设备确定从第一出接口经过第一路径到第二网络设备的第一路径不可达时,即可确定第一路径故障,从而,第一网络设备可以确定从第一网络设备到第二网络设备可达的第二路径,从而确定该第一网络设备上连接第二路径的出接口——第二出接口。
[0151]
需要说明的是,第一网络设备的控制平面,可以预先将网络设备集合的关联标识绑定多个出接口,多个出接口中包括第一出接口和第二出接口,当该第一网络设备通过第一出接口到达第二网络设备集合的第一路径不可达时,控制平面可以及时的获得与该关联标识绑定的第二出接口,以便快速的实现转发表项的更新。
[0152]
例如,对于图1所示的场景中,如果广东pe设备111确定到广州核心设备121的路径11故障,那么,可以确定广东pe设备111到广州核心设备121可达的路径11’,从而确定该广东pe设备111上连接路径11’的出接口1’。
[0153]
s202,第一网络设备更新第一转发表项,更新后的所述第一转发表项包括第二网络设备的段标识和第二出接口。
[0154]
具体实现时,第一网络设备获得第二出接口后,控制平面可以向转发平面下发关联标识和第二出接口,指示第一网络设备的转发平面更新多个第一转发表项中该关联标识所关联的出接口,即,将第一转发信息中的第一出接口更新为第二出接口。
[0155]
例如,对于图1所示的场景中,如果广东pe设备111确定到广州核心设备121的路径11故障,并该广东pe设备111上连接路径11’的出接口1’,那么,广东pe设备111的控制平面向转发平面发送关联标识1和出接口1’,指示广东pe设备111的转发平面将表1所示的转发表项1和转发表项2分别更新为表3所示的转发表项1’和转发表项2’。
[0156]
可见,本技术实施例中,在网络拓扑发生变化的情况下,无需再进行全局路由收敛,执行下一跳分离收敛即可,例如,在网络设备集合仅包括一个网络设备(即第二网络设备)时,第一网络设备经过第一出接口到达第二网络设备的第一路径上发生故障,第一网络设备只需要根据更新多个转发表项中的转发信息即可,无需再针对每个路由前缀都进行更
新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
[0157]
图10为本技术实施例提供的一种转发表项的生成方法300的流程示意图。该方法300以第一网络设备为执行主体进行描述。该方法300中网络设备集合包括多个网络设备,为了方便描述,以网络设备集合包括第二网络设备和第三网络设备为例进行说明。例如,该方法300中的第一网络设备可以是图1中的广东pe设备111,那么,网络设备集合包括第二网络设备和第三网络设备,第二网络设备是广州核心设备121,第三网络设备是广州核心设备122。又例如,该方法300中的第一网络设备也可以是图1中的广州核心设备121,那么,网络设备集合包括第二网络设备和第三网络设备,第二网络设备是沈阳核心设备221,第三网络设备是沈阳核心设备222。第一转发表项、第一出接口和第一转发信息参见图4所示方法100的相关说明。
[0158]
参见图10,该方法300在方法100中的s103之后,例如还可以包括s301~s302:
[0159]
s301,当确定经过第一出接口到达第二网络设备的第一路径故障时,第一网络设备获得第二出接口,第一网络设备经过第二出接口到达第三网络设备的第二路径可达。
[0160]
具体实现时,当第一网络设备确定从第一出接口经过第一路径到第二网络设备的第一路径不可达时,即可确定第一路径故障,那么,第一网络设备可以确定从第一网络设备到第三网络设备可达的第二路径,从而确定该第一网络设备上连接第二路径的出接口——第二出接口。需要说明的是,该实施例中的第一路径故障,可以包括第一网络设备和第二网络设备之间的第一路径发生链路故障,也可以包括第二网络设备故障。
[0161]
需要说明的是,第一网络设备的控制平面,可以预先将网络设备集合的关联标识绑定多个出接口,多个出接口中包括第一出接口和第二出接口,当该第一网络设备通过第一出接口到达第二网络设备集合的第一路径不可达时,控制平面可以及时的获得与该关联标识绑定的第二出接口,以便快速的实现转发表项的更新。
[0162]
例如,对于图2所示的场景中,如果广东pe设备111确定到广州核心设备121的路径11故障,那么,可以确定广东pe设备111到广州核心设备122可达的路径21,从而确定该广东pe设备111上连接路径21的出接口1”。
[0163]
s302,第一网络设备更新第一转发表项,更新后的所述第一转发信息包括第三网络设备的段标识和第二出接口。
[0164]
其中,第二网络设备和第三网络设备可以具有相同的sid,例如,第二网络设备的sid和第三网络设备的sid均为anycast sid。或者,二网络设备的sid和第三网络设备的sid也可以不同,不影响本技术实施例的实现。
[0165]
具体实现时,第一网络设备获得第二出接口后,控制平面可以向转发平面下发关联标识和第二出接口,指示第一网络设备的转发平面更新多个第一转发表项中该关联标识所关联的出接口,即,将第一转发信息中的第一出接口更新为第二出接口。
[0166]
例如,对于图2所示的场景中,如果广东pe设备111确定到广州核心设备121的路径11故障,并该广东pe设备111上连接路径21的出接口1”,那么,广东pe设备111的控制平面向转发平面发送关联标识1和出接口1”,指示广东pe设备111的转发平面将表1所示的转发表项1和转发表项2分别更新为表5所示的转发表项1”和转发表项2”。
[0167]
可见,本技术实施例中,在网络拓扑发生变化的情况下,无需再进行全局路由收敛,执行下一跳分离收敛即可,例如,在网络设备集合包括多个网络设备(以包括第二网络
设备和第三网络设备为例)时,第一网络设备经过第一出接口到达第二网络设备的第一路径上发生故障,第一网络设备只需要根据更新多个转发表项中的转发信息即可,无需再针对每个路由前缀都进行更新,能够以下一跳分离收敛的方式实现路由简单、快速的收敛,提高了igp路由收敛的性能。
[0168]
对于上述方法200和方法300,在s202或s302之后,第一网络设备更新后的多个所述第一转发表项实现将报文发送到网络设备集合。例如,参见图11,该方法200在s202之后或方法300的s302之后,还可以包括下述s401~s404:
[0169]
s401,第一网络设备接收第三报文,第三报文的目的地址和更新后的所述第一转发表项中的一个匹配项匹配。
[0170]
s402,第一网络设备根据更新后的所述第一转发表项中的关联标识获得更新后的所述第一转发信息。
[0171]
例如,第一报文可以是上述报文1,该报文1的目的地址和路由前缀1匹配,那么,适用于方法200,作为第一网络设备的广东pe设备111可以从表3所示的转发表项1’中确定关联标识1所关联的转发信息1’,该转发信息1’包括广州核心设备121的sid 1以及出接口1’;作为第一网络设备的广州核心设备121可以从表4所示的转发表项3中确定关联标识2所关联的转发信息2’,该转发信息2’包括沈阳核心设备221的sid 2以及出接口2’。适用于方法300,作为第一网络设备的广东pe设备111可以从表5所示的转发表项1”中确定关联标识1所关联的转发信息1”,该转发信息1”包括广州核心设备122的sid 3以及出接口1”;作为第一网络设备的广州核心设备121可以从表6所示的转发表项3”中确定关联标识2所关联的转发信息2”,该转发信息2”包括沈阳核心设备222的sid 4以及出接口2”。
[0172]
如此,为第一网络设备有效的转发所接收的第三报文作好了准备工作。
[0173]
s403,第一网络设备根据更新后的所述第一转发信息中的段标识处理第三报文,得到第四报文。
[0174]
s404,第一网络设备从更新后的所述第一转发信息中的第二出接口发送第四报文。
[0175]
作为一个示例,当第二网络设备的sid是ipv6地址时,适用于方法200,s403例如可以包括:第一网络设备将第三报文的目的地址字段的内容,修改为第二网络设备的sid,得到第四报文;从而,第一网络设备即可从第二出接口将第四报文发送到第二网络设备。或者,适用于方法300,s403例如可以包括:第一网络设备将第三报文的目的地址字段的内容,修改为第三网络设备的sid,得到第四报文;从而,第一网络设备即可从第二出接口将第四报文发送到第三网络设备。
[0176]
作为另一个示例,当第二网络设备的sid是mpls标签时,适用于方法200,s403例如可以包括:第一网络设备将第三报文的标签栈中第一网络设备的sid替换为第二网络设备的sid,得到第四报文;从而,第一网络设备即可从第二出接口将第四报文发送到第二网络设备。或者,适用于方法300,s403例如可以包括:第一网络设备将第三报文的标签栈中第一网络设备的sid替换为第三网络设备的sid,得到第四报文;从而,第一网络设备即可从第二出接口将第四报文发送到第三网络设备。
[0177]
需要说明的是,该s401~s404的具体实现方式以及达到的效果,可以参见上述s104~s107的相关描述。
[0178]
如此,在网络拓扑发生变化(例如路径故障)时,即使网络结构非常复杂,借助方法200或方法300能够快速、简单的更新方法100生成的转发表项,从而,第一网络设备能够将所接收的报文及时、准确的发送到网络设备集合中的设备,使得报文的转发不会长时间中断,实现了快速路由收敛,提高了业务连续性。
[0179]
相应的,本技术实施例还提供了一种转发表项生成的装置1200,参见图12所示。该转发表项生成的装置1200应用于第一网络设备,该第一网络设备可以为图4所示实施例中的第一网络设备。其中,第一网络中的第一网络设备通过网络设备集合连接第二网络,所述网络设备集合包括一个或多个网络设备,所述网络设备集合为连接所述第一网络和所述第二网络的设备,所述装置应用于所述第一网络设备,该装置1200可以包括:确定单元1201、分配单元1202和生成单元1203。其中,确定单元1201用于确定多条路由对应的转发路径分别经过所述网络设备集合;分配单元1202用于为所述多条路由分配关联标识,所述多条路由对应相同的第一转发信息,所述第一转发信息包括第一出接口和所述网络设备集合中的第二网络设备的段标识;生成单元1203用于生成对应所述多条路由的多个第一转发表项,所述多个第一转发表项中的每个第一转发表项中匹配项通过所述关联标识关联到所述第一转发信息。
[0180]
该转发表项生成的装置1200用于执行图4所示的方法100时,上述确定单元1201,用于执行图4所示的方法100中的s101,具体实现以及相同描述参见s101。上述分配单元1202,用于执行图4所示的方法100中的s102,具体实现以及相同描述参见s102。上述生成单元1203,用于执行图4所示的方法100中的s103,具体实现以及相同描述参见s103。
[0181]
其中,所述段标识包括第六版互联网协议ipv6地址或多协议标签交换mpls标签。
[0182]
在一些可能的实现方式中,所述装置1200还可以包括:第一接收单元、第一获取单元、第一处理单元和第一发送单元。其中,第一接收单元用于接收第一报文,所述第一报文的目的地址和所述多个第一转发表项中的一个匹配项匹配;第一获取单元用于根据所述多个第一转发表项中的所述第一关联标识获得所述第一转发信息;第一处理单元用于根据所述第一转发信息中的段标识处理所述第一报文,得到第二报文;第一发送单元用于从所述第一转发信息中的所述第一出接口向所述第二网络设备发送所述第二报文。上述各单元用于执行图4所示的方法100中的s104~s107,具体实现以及相同描述参见s104~s107。
[0183]
作为一个示例,当所述第二网络设备的段标识是ipv6地址时,所述第一处理单元,具体用于:将所述第一报文的目的地址字段的内容修改为所述第二网络设备的段标识,得到所述第二报文。
[0184]
作为另一个示例,当所述第二网络设备的段标识是mpls标签时,所述第一处理单元,具体用于:在所述第一报文的标签栈中添加所述第二网络设备的段标识,得到所述第二报文。
[0185]
在一些可能的实现方式中,所述装置1200还包括:第二获取单元和更新单元。其中,第二获取单元用于当确定经过所述第一出接口到达所述第二网络设备的第一路径故障时,获得第二出接口,所述第一网络设备经过所述第二出接口到达所述第二网络设备的第二路径可达;更新单元用于更新所述第一转发信息,更新后的所述第一转发信息包括所述第二网络设备的段标识和所述第二出接口。该实施例中各单元用于执行图9所示的方法200,具体实现以及相同描述参见方法200。
[0186]
在另一些可能的实现方式中,当所述网络设备集合还包括第三网络设备时,所述装置1200还包括:第二获取单元和更新单元。其中,第二获取单元用于当确定经过所述第一出接口到达所述第二网络设备的第一路径故障时,获得第二出接口,所述第一网络设备经过所述第二出接口到达所述第三网络设备的第二路径可达;更新单元用于更新所述第一转发信息,更新后的所述第一转发信息包括所述第三网络设备的段标识和所述第二出接口。该实施例中各单元用于执行图10所示的方法300,具体实现以及相同描述参见方法300。
[0187]
该实现方式中,一种情况下,所述第二网络设备和所述第三网络设备具有相同的段标识,例如,所述相同的段标识为anycast sid。另一种情况下,所述第二网络设备的段标识和所述第三网络设备的段标识不同。
[0188]
在一些可能的实现方式中,所述装置1200还包括:第二接收单元、第三获取单元、第二处理单元和第二发送单元。其中,第二接收单元用于接收第三报文,所述第三报文的目的地址和所述多个第二转发表项中的一个匹配项匹配;第三获取单元用于根据所述关联标识获得更新后的所述第一转发信息;第二处理单元用于根据更新后的所述第一转发信息中的段标识处理所述第三报文,得到第四报文;第二发送单元用于从更新后的所述第一转发信息中的所述第二出接口发送所述第四报文。该实施例中各单元用于执行图11所示的s401~s404,具体实现以及相同描述参见s401~s404。
[0189]
其中,在第一网络设备的转发平面的存储模块中存储一份所述第一转发信息。
[0190]
其中,所述多条路由均为内部网关协议igp路由。
[0191]
作为一个示例,所述第一网络为运营商边缘pe设备和核心p设备之间的网络,所述第二网络为p设备之间的网络。
[0192]
作为另一个示例,所述第一网络为p之间的网络,所述第二网络为p设备和pe设备之间的网络。
[0193]
例如,所述p设备可以为区域边界路由器abr。
[0194]
需要说明的是,该转发表项生成的装置1200中名称相同的单元,可以通过一个或多个具有相同功能的单元实现,例如第一接收单元和第二接收单元可以通过一个具有接收功能的接收单元实现,也可以通过两个独立的具有接收功能的接收单元实现,在本技术实施例中不作限定。该转发表项生成的装置1200中名称不相同的单元,例如第一接收单元和第二接收单元,可以根据实际设计进行合并或拆分,只要不影响本技术实施例的实现即可。
[0195]
需要说明的是,该转发表项生成的装置1200与上述方法100、200或300对应,具体实现方式以及达到的效果,参见方法100、200或300的相关描述。
[0196]
此外,参见图13,本技术实施例还提供了一种网络设备1300,该网络设备1300可以实现上述图12所示实施例中转发表项生成的装置1200的功能,或者,该网络设备1300可以实现上述图4、图9、图10或图11所示的第一网络设备的功能。网络设备1300包括存储器1301、处理器1302和通信接口1303。
[0197]
所述存储器1301用于存储计算机程序或指令;
[0198]
所述处理器1302用于调用存储器中存储的计算机程序或指令,使得所述网络设备1300执行上述图4、图9、图10或图11所示实施例中第一网络设备实施的方法。
[0199]
通信接口1303,用于与该网络中的其他设备进行通信。
[0200]
存储器1301、处理器1302和通信接口1303通过总线1304相互连接;总线1304可以
是外设部件互连标准(英文:peripheral component interconnect,简称:pci)总线或扩展工业标准结构(英文:extended industry standard architecture,简称:eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0201]
在具体实施例中,处理器1301用于确定多条路由对应的转发路径分别经过所述网络设备集合;处理器1301还用于为所述多条路由分配关联标识,所述多条路由对应相同的第一转发信息;处理器1301还用于生成对应所述多条路由的多个第一转发表项。该处理器1301的详细处理过程请参考上述图4所示实施例中s101~s103,这里不再赘述。
[0202]
通信接口1303用于接收第一报文,通信接口1303还用于从所述第一转发信息中的所述第一出接口向所述第二网络设备发送所述第二报文。具体的过程请参考上述图4所示实施例中s104、s107,这里不再赘述。
[0203]
上述存储器1301可以是随机存取存储器(英文:random-access memory,简称:ram)、闪存(英文:flash)、只读存储器(英文:read only memory,简称:rom)、可擦写可编程只读存储器(英文:erasable programmable read only memory,简称:eprom)、电可擦除可编程只读存储器(英文:electrically erasable programmable read only memory,简称:eeprom)、寄存器(英文:register)、硬盘、移动硬盘、cd-rom或者本领域技术人员知晓的任何其他形式的存储介质。
[0204]
上述处理器1302例如可以是中央处理器(英文:central processing unit,简称:cpu)、通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application-specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。
[0205]
上述通信接口1303例如可以是接口卡等,可以为以太(英文:ethernet)接口或异步传输模式(英文:asynchronous transfer mode,简称:atm)接口。
[0206]
本技术实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述转发表项生成的方法。
[0207]
本技术实施例还提供了一种芯片,芯片设置在转发表项生成的装置1200或网络设备1300中,芯片包括处理器和接口电路。接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令以执行上述应用于图4所示实施例中第一网络设备的转发表项生成的方法。
[0208]
本技术中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本技术中认为“a和/或b”包含单独a,单独b,和a b。
[0209]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示
或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0210]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0211]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0212]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
[0213]
另外,在本技术各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
[0214]
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0215]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0216]
以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已。
[0217]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献