CN112437008B - 网络路由收敛处理和报文处理方法、装置及设备 - Google Patents
网络路由收敛处理和报文处理方法、装置及设备 Download PDFInfo
- Publication number
- CN112437008B CN112437008B CN202011344895.2A CN202011344895A CN112437008B CN 112437008 B CN112437008 B CN 112437008B CN 202011344895 A CN202011344895 A CN 202011344895A CN 112437008 B CN112437008 B CN 112437008B
- Authority
- CN
- China
- Prior art keywords
- block
- table entry
- level
- routing
- routing table
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 25
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000005538 encapsulation Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 23
- 238000004806 packaging method and process Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000009516 primary packaging Methods 0.000 claims description 2
- 238000009517 secondary packaging Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 claims 7
- 230000002596 correlated effect Effects 0.000 claims 1
- 238000000926 separation method Methods 0.000 abstract description 17
- 238000004891 communication Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101000984710 Homo sapiens Lymphocyte-specific protein 1 Proteins 0.000 description 2
- 102100027105 Lymphocyte-specific protein 1 Human genes 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100455541 Drosophila melanogaster Lsp2 gene Proteins 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络路由收敛处理和报文处理方法、装置及设备,涉及通信技术领域,用于解决VPN FTN的更新次数大导致的处理器资源消耗大的问题。在该方法中,VPN路由表项采用二级分离结构,即采用VPN中下一跳节点信息和公网中下一跳节点信息分离的结构,在公网转发路径发生改变下发VPN路由表项时,由于包括公网中下一跳节点信息公网更新表项块已经下发,那么仅需要根据VPN路由表项对应的一级表项块中的下一跳节点地址查找对应的公网更新表项块,并对一级表项块中二级表项块的块标识更新即可,无需针对每一条VPN路由表项更新公网下一跳节点信息,从而减少处理器资源消耗。
Description
技术领域
本申请涉及通信技术领域,提供一种网络路由收敛处理和报文处理方法、装置及设备。
背景技术
在常规的表项组织及下发过程中,不同表项的前缀之间是完全独立,分别对应自身的更新转发信息。当多协议标签交换(Multi-Protocol Label Switching,MPLS)网络所更新的标签交换路径(Label Switched Path,LSP)变化时,虚拟专用网络(VirtualPrivate Network,VPN)需要重新计算更新后的转发信息,即分别对每个前缀对应的下一跳(nexthop)进行重新更新计算和组装。所有VPN表项都需要更新一次,例如,当存在100W条VPN FTN时,VPN表项则一共需要更新100W次,其中,FTN为VPN中的所有将转发等价类(Forwarding Equivalence Class,FEC)映射到下一跳标签转发条目(Next Hop LabelForwarding Entry,NHLFE)。
但是,目前通信芯片的更新速率是有限的,如果按每秒更新10W条表项进行计算,也需要10秒才能更新完毕,然而随着人们对通信性能需求的提高,这个更新效率远远不能满足人们的需求,所以需要通过减少路由更新次数以加快收敛速度,来满足人们对性能的需求。
因此,如何最大化减少VPN FTN的更新次数是一个亟待解决的问题。
发明内容
本申请实施例提供一种网络路由收敛处理和报文处理方法、装置及设备,用于减少VPN FTN的更新次数,降低处理器资源消耗。
一方面,提供一种网络路由收敛处理方法,所述方法包括:
在公网转发路径发生改变时,接收指示向转发面下发至少一个路由表项的指示消息;所述至少一个路由表项与改变后的转发路径相关;
在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据所述第一路由表项的一级表项块中的下一跳节点地址查找所述第一路由表项的二级表项块;所述一级表项块用于指示在VPN中的下一跳节点信息,所述二级表项块用于指示在公网中的下一跳节点信息;
将所述二级表项块对应的块标识与所述第一路由表项对应的一级表项块进行关联,得到关联后的一级表项块;其中,所述块标识用于唯一标识所述二级表项块;
将所述第一路由表项的前缀块与所述关联后的一级表项块下发至转发面。
一方面,提供一种报文处理方法,所述方法包括:
根据待发送报文的路径选择策略,确定所述待转发报文对应的至少一个路由表项;
针对所述至少一个路由表项中的任一路由表项,根据所述任一路由表项的前缀块指示的一级表项块的块标识,确定所述任一路由表项的一级表项块;
对所述一级表项块中下一跳节点的节点标识进行封装,获得一级封装块;
确定所述一级表项块是否存在指向的二级表项块;
在确定所述一级表项块存在指向的二级表项块时,根据所述一级封装块与所述二级表项块包括的内容进行封装,获得所述待发送报文的头部。
一方面,提供一种网络路由收敛处理装置,所述装置包括:
接收单元,用于在公网转发路径发生改变时,接收指示向转发面下发至少一个路由表项的指示消息;所述至少一个路由表项与改变后的转发路径相关;
查找单元,用于在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据所述第一路由表项的一级表项块中的下一跳节点地址查找所述第一路由表项的二级表项块;所述一级表项块用于指示在VPN中的下一跳节点信息,所述二级表项块用于指示在公网中的下一跳节点信息;
关联单元,用于将所述二级表项块对应的块标识与所述第一路由表项对应的一级表项块进行关联,得到关联后的一级表项块;其中,所述块标识用于唯一标识所述二级表项块;
下发单元,用于将所述第一路由表项的前缀块与所述关联后的一级表项块下发至转发面。
可选的,所述装置还包括获取单元,用于:
在确定当前待下发的第二路由表项为公网路由表项时,获取所述第二路由表项包含的转发路径信息,所述转发路径信息包括所述公网的网络标识、在所述公网中的下一跳节点地址以及改变后的下一跳节点在所述公网中的路径标识;
可选的,所述装置还包括第二确定单元,用于:
根据所述转发路径信息确定实际直连下一跳节点地址和报文转发出口,根据确定的实际直连下一跳节点地址和报文转发出口生成公网更新表项块;其中,所述公网更新表项块用于指示改变后公网转发路径中下一跳节点信息,所述公网更新表项块的块标识与公网转发路径改变前的公网原始表项块块标识相同;
可选的,所述下发单元,还用于将所述第二路由表项的前缀块与所述公网更新表项块下发至所述转发面。
可选的,所述第二确定单元,还用于:
根据所述一级表项块中的下一跳节点地址确定对应的二级表项块的块标识;
根据所述二级表项块的块标识确定所述公网更新表项块;
将所述公网更新表项块确定为所述第一路由表项的二级表项块。
可选的,所述第二确定单元,还用于将所述转发路径信息中的所述下一跳节点地址确定为实际直连下一跳节点地址。
可选的,所述第二确定单元,还用于在所述第一路由表项中未包含有报文转发出口时,确定所述第一路由表项为虚拟专用网络VPN路由表项。
一方面,提供一种报文处理装置,所述装置包括:
第一确定单元,用于根据待发送报文的路径选择策略,确定所述待转发报文对应的至少一个路由表项;
所述第一确定单元,还用于针对所述至少一个路由表项中的任一路由表项,根据所述任一路由表项的前缀块指示的一级表项块的块标识,确定所述任一路由表项的一级表项块;
封装单元,用于对所述一级表项块中下一跳节点的节点标识进行封装,获得一级封装块;
所述第一确定单元,还用于确定所述一级表项块是否存在指向的二级表项块;
所述封装单元,还用于在确定所述一级表项块存在指向的二级表项块时,根据所述一级封装块与所述二级表项块包括的内容进行封装,获得所述待发送报文的头部。
可选的,所述封装单元,还用于:
在确定所述一级表项块不存在指向的二级表项块时,根据所述一级封装块、所述一级表项块的实际直连下一跳节点地址以及报文转发出口封装得到所述待转发报文的头部。
可选的,所述第一确定单元,还用于:
在确定所述一级表项块存在指向的二级表项块时,根据所述一级表项块包括的二级表项块的块标识,确定所述任一路由表项的二级表项块;
可选的,所述封装单元,还用于:
根据所述一级封装块与所述二级表项块中的下一跳节点的节点标识进行封装,获得二级封装块;
根据所述二级封装块与所述二级表项块中的实际直连下一跳节点地址以及报文转发出口封装得到所述待转发报文的头部。
可选的,所述第一确定单元,还用于:
根据所述一级表项块是否包括二级表项块的块标识,确定所述一级表项块是否存在指向的二级表项块;其中,
在所述一级表项块不包括二级表项块的块标识时,所述一级表项块不存在指向的二级表项块;
在所述一级表项块包括二级表项块的块标识时,所述一级表项块存在指向的二级表项块。
可选的,所述第一确定单元,还用于确定所述二级表项块是否存在指向的三级表项块;
可选的,所述封装单元,还用于若存在,根据所述三级表项块包括的内容进行封装,获得第三封装表项块。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
本申请实施例中,在公网转发路径发生改变时,接收指示向转发面下发至少一个路由表项的指示消息;至少一个路由表项与改变后的转发路径相关;在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据第一路由表项的一级表项块中的下一跳节点地址查找第一路由表项的二级表项块;一级表项块用于指示在VPN中的下一跳节点信息,二级表项块用于指示在公网中的下一跳节点信息;将二级表项块对应的块标识与第一路由表项对应的一级表项块进行关联,得到关联后的一级表项块;其中,块标识用于唯一标识二级表项块;将第一路由表项的前缀块与关联后的一级表项块下发至转发面。本申请实施例中的VPN路由表项采用二级分离技术,即VPN路由表项包括由VPN路由信息组成的一级表项块和公网路由信息组成的二级表项块构成,因此,在当前待下发的路由表项为VPN路由表项时,可以根据VPN路由表项的一级VPN表项块查找到对应的二级表项块,进而将一级VPN表项块与二级表项块进行关联,在公网转发路径发生改变时,只需对公网表项块进行更新,即二级表项块发生了更新,而无需对VPN路由表项中其他信息进行更新,因而大大减少了VPN FTN的更新次数,降低处理器资源消耗。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种场景示意图;
图2为本申请实施例提供的一种路由节点设备架构示意图;
图3为本申请实施例提供的网络路由收敛处理方法的流程示意图;
图4为本申请实施例提供的公网路由表项的结构示意图;
图5为本申请实施例提供的公网路由表项的关联示意图;
图6为本申请实施例提供的VPN路由表项的结构示意图。
图7为本申请实施例提供的VPN路由表项的关联示意图;
图8为本申请实施例提供的报文处理方法的流程示意图;
图9为本申请实施例提供一种网络路由收敛处理装置示意图;
图10为本申请实施例提供一种报文处理装置示意图;
图11为本申请实施例提供的计算机设备的一种示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
首先,对本申请中的部分用语进行解释说明。
1)前缀,又称为网络前缀,用于标识连接的公网网络。
2)下一跳地址nexthop,在公网中,下一跳地址可以为要到达目的节点地址的下一个要经过的公网邻居节点地址。在VPN网络中,下一跳地址可以为要到达目的节点地址的下一个VPN邻居节点地址,也可以为要到达目的节点地址的在几跳之后的要经过的节点地址。
3)实际直连下一跳地址,为要到达目的节点地址的下一个要经过的实际直连的邻居节点地址。在公网中,实际直连下一跳地址一定与下一跳地址nexthop相同。而在VPN中,实际直连下一跳地址不一定与下一跳地址nexthop相同。
4)报文转发出口,为当前待进行报文转发的路由设备的报文转发虚拟端口。
5)路径标识,用于唯一标识一个网络的路径状况,例如可以为公网的标签。
如图1所示,为本申请实施例提供的一种场景示意图,由运营商边缘路由器(Provider Edge Router,PE)以及运营商路由器(Provider Router,P)可以建立内部网关协议(Interior Gateway Protocol,IGP)网络以及MPLS网络,从PE1到达PE2的网际互联协议(Internet Protocol,IP)路径为Path1:PE1-P1-PE2,MPLS路径为LSP1:PE1-P1-PE2。PE1和PE2建立MPLS VPN,发布100W条VPN表项,VPN表项更新到LSP1。
示例性,PE2的回环(loopback)IP地址为1.1.1.1。Gi0/1对应的邻接的路由节点IP地址为192.168.1.1,报文转发出口Gi0/2对应的邻接的路由节点IP地址为192.168.2.1;公网路由前缀为1.1.1.1/32,VPN路由前缀为4.4.4.4/32,P1为公网1.1.1.1/32分发的标签为1024,PE2为VPN4.4.4.4/32分发的标签为2048。所以,在PE1上,会生成两条MPLS路由表项,一条为公网标签分发协议(Label Distribution Protocol,LDP)FTN,其本身带有出口和下一跳地址,该出口为报文转发出口;一条为VPN FTN,由于原始VPN FTN中只有通过单播发送更新(Peer IP-Address)地址,所以,需要通过Peer IP地址更新计算出实际的报文转发出口和下一跳。
当公网转发路径PE1-P1-PE2未发生改变之前,公网FTN和VPN FTN的内容如表1示所示:
表1
当公网转发路径PE1-P1-PE2发生改变之后,以转发路径发生故障为例,IGP网络中PE1到PE2路径更新为Path2:PE1-P2-PE2,所以,对应MPLS网络中PE1到PE2路径也更新为LSP2:PE1-P2-PE2。令公网转发路径发生后,P2为公网1.1.1.1/32分发的标签为1025,则公网FTN和VPN FTN的内容如表2示所示:
表2
目前,常用以下2种方式进行FTN的更新。
第一种方式为“将更新计算下沉至转发面”的方式,这种方式由于是转发面进行路由的更新计算,虽然可以解决控制面路由下发效率低的问题,但在报文转发时,每个报文都需要进行路由的更新计算,增加了转发面的负担,降低了报文转发效率。
第二种方式为“将表项前缀与nexthop进行一级分离”,将表项前缀和下一跳独立出来,所有前缀都指向同一个nexthop,在部署“每虚拟路由转发(Virtual RoutingForwarding,VRF)分发标签”时,所有VPN指向的nexthop都相同,所以只需要更新一次nexthop即可。但是在部署“每路由分发标签”时,因为每条VPN的VPN label不一样,所以nexthop就不一样,进而如果存在100W个nexthop,那么公网变动时,VPN FTN还是需要更新100W次nexthop,导致VPN FTN更新次数大的情况依然得不到解决。
因此,目前的FTN更新方式仍然存在更新效率低的问题,并且第二种方式在部署“每路由分发标签”时,由于每条VPN的VPN label不一样,所以并不能减少VPN FTN的更新次数,因此,不能兼顾“每VRF分发标签”和“每路由分发标签”的场景,且还有可能增加转发面的负担,降低报文的转发效率。
因而亟需一种方法来解决更新效率低的问题。
从表1与表2中可以看出,在公网转发路径发生改变后,LDP FTN的下一跳、实际直连下一跳、出口以及标签栈均发生了改变,而VPN FTN中,只有实际直连下一跳、出口以及标签栈发生了改变。因为实际上,当公网转发路径发生改变时,VPN路由其实并不能感知到转发路径发生了改变,例如在PE1上,从PE2接收边界网关协议(Border Gateway Protocol,BGP)通告的VPN路由实际都是没有发生变化的,VPN路由的下一跳依然是PE2,VPN标签也不会发生变,其变化的是进行更新后的实际公网报文转发出口,所以,只需要转发面能感知VPN的实际报文转发出口变化即可。因此,公网转发路径发生改变对于VPN来说,只需要BGP通告更新后公网的信息就可以获取更新后的路径信息,而该路径信息与VPN信息和VPN前缀都不相关。也就是说,在如图1所示的路由网络架构示意图中,VPN只需要更新一条公网FTN路由表项即可完成100W VPN的收敛,因此如果能够设计一种VPN表项块和公网表项块分离的结构,那么只需要更新公网表项块即可,大大减少FTN的更新次数。
基于此,本申请实施例提供一种网络路由收敛处理方法,在该方法中,本申请实施例中的VPN路由表项采用二级分离技术,即VPN路由表项包括由VPN路由信息组成的一级表项块和公网路由信息组成的二级表项块构成,因此,在当前待下发的路由表项为VPN路由表项时,可以根据VPN路由表项的一级VPN表项块查找到对应的二级表项块,进而将一级VPN表项块与二级表项块进行关联,在公网转发路径发生改变时,只需对公网表项块进行更新,即二级表项块发生了更新,而无需对VPN路由表项中其他信息进行更新,因而大大减少了VPNFTN的更新次数,降低处理器资源消耗。
此外,本申请实施例还提供一种报文处理方法,在该方法中,在转发面进行报文转发时,首先根据路由表项的前缀块指示的一级表项块的块标识,确定该路由表项的一级表项块;然后对该一级表项块中下一跳节点的节点标识进行封装,获得一级封装块,由于将VPN路由表项设计为二级分离的结构,那么需要进一步确定是否存在指向的二级表项块,如果存在指向的二级表项块,则需要结合二级表项块的内容进行封装,进而通过二级分离的结构提高路由表项收敛的同时,保证报文的正确封装和转发。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的网络架构做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
如图2所示,为本申请实施例提供的一种路由节点设备架构示意图,在本申请实施例中采用的网络架构可以含有控制面与转发面。该控制面在进行协议交互、路由计算之后,生成若干表项,下发到转发面,指导转发面对报文进行转发。例如,控制面通过开放式最短路径优先(Open Shortest Path First,OSPF)协议建立了路由表项,再进一步生成转发信息表(Forwarding Information Base,FIB)、快速转发表等,指导转发面进行IP报文转发。
其中,控制面可用于传送指令、计算表项等,例如,协议表项计算、维护等都属于控制面的范畴,且控制面还可负责路由协议学习、路由表项维护的进程。此外,还可用于控制和管理网络协议的运行,例如,OSPF协议、路由信息协议(Routing Information Protocol,RIP)、BGP协议、MPLS协议等,查看IP路由表也属于控制面的范畴。
转发面可用于数据处理过程中各种具体处理转发过程,例如,数据报文的二层流量或者三层流量等流量的接收、解封装、封装、转发等,且在接收到IP报文之后,转发面需要进行解封装、查路由表以及从报文转发出接口转发等工作。
本申请实施例提供的方法可以应用于如图1和如图2所示的网络架构场景中,在实现报文转发之前,需要控制面向转发面下发路由表项,这样,转发面执行报文转发时才能够找到正确的路由进行转发。因此,下面首先对控制面向转发面下发路由表项的过程进行介绍。如图3所示,为本申请实施例提供的网络路由收敛处理方法的流程示意图,该方法的流程介绍如下,该方法可以通过图2网络架构中控制面来执行。
步骤301:在公网转发路径发生改变时,接收指示向转发面下发至少一个路由表项的指示消息。
本申请实施例中,公网转发路径发生改变可以是多种原因引起的,在公网路径发生改变后,为了转发面在转发报文时能够按照正确的路径进行转发,那么需要控制面重新下发路径改变后的转发路径相关的路由表项。
在本申请实施例中,控制面可以包括控制模块和协议模块,路由表项的下发可以由控制面中的控制模块来执行,因而在公网转发路径发生改变时,控制面中的协议模块可以向控制模块发送指示向转发面下发至少一个路由表项的指示消息,进而指示控制模块向转发面下发上述至少一个路由表项。该指示消息中可以携带有改变后的转发路径的转发路径信息,例如公网的网络标识、在公网中的下一跳节点地址以及改变后的下一跳节点在公网中的路径标识,其中,公网的网络标识例如可以为网络前缀。此外,该指示消息中还携带有待下发的各个路由表项的具体路由表项信息,包括公网路由信息和VPN路由信息,例如公网的网络标识、报文转发出口、在公网中的下一跳节点地址以及改变前的下一跳节点在公网中的路径标识等等信息。
示例性的,以转发路径发生故障引起的公网转发路径发生改变为例,如图1所示,当公网路径PE1-P1-PE2发生故障时,该故障可以为P1路由器故障、PE1路由器与P1路由器之间的路径发生故障、或者P1路由器与PE2路由器之间的路径发生故障等,PE1路由器控制面中的协议模块会接收到控制模块发送的下发路由表项的指示消息,该指示消息可以为控制面向转发面添加路由表项的FTN添加消息,该FTN添加消息可以携带有公网的网络标识,即表2所示的该网络前缀1.1.1.1,在公网中的下一跳节点地址,即表2所示的P2路由器的地址192.168.2.1,以及改变后的下一跳节点在公网中的路径标识即表2所示的P2路由器的标签1025。
步骤302:确定当前待下发的路由表项的类型。
本申请实施例中,至少一个路由表项可以包括公网路由表项和VPN路由表项,不同类型的路由表项所采用的更新方式不同,所以在对路由表项进行下发之前需要对待下发的路由表项的类型进行判定。
具体的,可以根据路由表项中是否包括报文转发出口来判定路由表项的类型。其中,如果当前待下发的路由表项中未包含有报文转发出口,那么确定该路由表项为VPN路由表项;如果当前待下发的路由表项中包含有报文转发出口,那么确定该路由表项为公网路由表项。
示例性的,如图4所示,为本申请实施例提供的公网路由表项的结构示意图,如图4中所示,路由表项中的报文转发出口oif为Gi0/2,即不为空,所以,可以判定该路由表项为公网路由表项。如图6所示,为本申请实施例提供的公网路由表项的结构示意图,其中的路由表项中的报文转发出口oif为空,即未包括报文转发出口,所以,可以判定该路由表项为VPN路由表项。
步骤303:确定当前待下发的第二路由表项为公网路由表项。
通常情况下,可以先下发公网路由表项,其后才下发VPN路由表项,当然,也可以先下发VPN路由表项,再下发公网路由表项,本申请实施例对此不做限制。
在本申请实施例中,当确定当前待下发的第二路由表项确定为公网路由表项时,则获取该路由表项包含的转发路径信息,即上面所述的公网的网络标识、在公网中的下一跳节点地址以及改变后的下一跳节点在公网中的路径标识。
步骤304:获得公网更新表项块以及公网路由表项的前缀块,并将公网路由表项的前缀块与公网更新表项块一起下发至转发面。
本申请实施例中,公网路由表项采用一级分离结构,如图5所示,公网路由表项包括前缀块以及一级表项块,其中,公网路由表项的前缀块可以包含有公网的网络标识以及一级表项块的块标识,一级表项块可以包含有在公网中的实际直连下一跳节点地址、报文转发出口、改变后的下一跳节点在公网中的路径标识等内容。
具体的,可以根据上述转发路径信息确定出实际直连下一跳节点地址和报文转发出口,即对转发路径信息中的公网的网络标识、在公网中的下一跳节点地址以及改变后的下一跳节点在公网中的路径标识通过内部网关协议IGP选路进行计算获得相应的实际直连下一跳节点地址和报文转发出口,其中,该实际直连下一跳节点地址与下一跳节点地址相同,如表2所示,下一跳节点地址为192.168.2.1,可以确定实际直连下一跳节点地址也为192.168.2.1。
进而,可以根据改变后的下一跳节点在公网中的路径标识、实际直连下一跳节点地址以及报文转发出口生成公网更新表项块,并将该公网更新表项块确定为公网路由表项的一级表项块,并为该公网更新表项块分配一个块标识,该块标识用于唯一标识到达目的地址的公网表项块。
如图4所示,给生成的公网更新表项块分配的块标识为nh_block_id1,且在该公网中,所有公网路由表项的一级表项块的块标识都相同。例如,在报文转发路径为PE1-P1-PE2时,准备下发的公网路由表项中的一级表项块的块标识为nh_block_id1,在报文转发路径为PE1-P2-PE2时,准备下发的公网路由表项的一级表项块的块标识同样也为nh_block_id1。
进而,根据公网的网络标识以及一级表项块的块标识生成该公网路由表项的前缀块。由于该前缀块中包含有一级表项块的块标识,所以可以在前缀块中通过该块标识对一级表项块中的内容进行查询,相当于“指针”的形式,且将一级表项块的块标识加入前缀块中,就相当于通过一级表项块的块标识将前缀块与一级表项块关联了起来,根据该块标识即可链接至一级表项块。如图5所示,为本申请实施例提供的公网路由表项的关联示意图,公网路由表项的前缀块由前缀1.1.1.1/32和公网更新表项块的块标识nh_block_id1构成,可以通过前缀块的块标识nh_block_id1就可以找到块标识为nh_block_id1的一级表项块。
在本申请实施例中,在获得公网路由表项的前缀块及一级表项块之后,会将公网路由表项的前缀块与一级表项块一起下发至转发面,进而后续在进行报文转发时,则可以根据下发的公网路由表项进行转发。
步骤305:确定待下发的第一路由表项为VPN路由表项。
在确定待下发的路由表项中未包含有报文转发出口时,则可以确定出该路由表项为VPN路由表项,如图6所示,在该待下发的路由表项中报文转发出口oif为空值,所以该待下发的路由表项为VPN路由表项。
步骤306:获得VPN路由表项的前缀块、一级表项块以及二级表项块。
参见图6所示,VPN路由表项采用二级分离结构,其中,VPN路由表项包括前缀块、一级表项块以及二级表项块,其中,一级表项块用于指示在VPN中的下一跳节点信息,二级表项块用于指示在公网中的下一跳节点信息,一级表项块与二级表项块都有自己的块标识。为了使得前缀表项块、一级表项块以及二级表项块关联起来,所以可以是使前缀块中含有一级表项块的块标识,通过该一级表项块的块标识,该前缀表项块就可以与一级表项块进行关联。类似的,可以是使一级表项块中也含有二级表项块的块标识,通过该二级表项块的块标识,该一级表项块也可以与二级表项块进行关联。
具体的,根据在VPN中的下一跳节点地址以及改变后的VPN转发路径中下一跳节点的节点标识生成VPN路由表项的一级表项块,且给该一级表项块分配一个块标识,与公网更新表项相似,该VPN路由表项对应的一级表项块的块标识也是用于唯一标识到达目的地址的公网表项块。此外,该一级表项块中还包含有值为“空”的报文转发出口以及一个未赋值的二级表项块的块标识。如图6所示,在该一级表项块中含有在VPN中的下一跳节点地址1.1.1.1以及改变后的VPN转发路径中下一跳节点的节点标识2048等内容,且该一级表项块的块标识为nh_block_id2,报文转发出口oif以及二级表项块的块标识都为null。
进而,根据VPN的网络标识以及一级表项块的块标识生成该VPN路由表项的前缀块,从而将VPN路由表项的前缀块与一级表项块进行了关联,进而可以根据前缀块中的块标识查询到一级表项块。
由于VPN路由表项中的下一跳节点地址与公网的网络标识相同,因此,在本申请实施例中,通过VPN路由表项中的下一跳节点地址可以对公网路由表项进行查找,进而可以将查找到的公网路由表项的公网更新表项块,并将公网更新表项块作为VPN路由表项的二级表项块,这样,就无需重新更新VPN路由表项中公网相关的信息,以达到减少VPN路由表项更新次数的目的。
具体的,在使用VPN路由表项中的下一跳节点地址查找公网路由表项之后,由于路由表项更新的目的就是为了更新路由表项中实际直连下一跳节点地址与报文转发出口,所以,在本申请实施例中,可以将查找到的公网路由表项中的公网更新表项块的块标识,赋给VPN路由表项对应的一级表项块中未赋值的二级表项块的块标识,获得关联后的一级表项块。即,该VPN路由表项对应的一级表项块就包含有公网更新表项块的块标识了,通过该一级表项块中公网更新表项块的块标识就可链接至该公网更新表项块。
示例性,如图7所示,为本申请实施例提供的VPN路由表项的关联示意图,根据VPN路由表项的下一跳节点地址1.1.1.1对公网路由表项进行查询,得到如图4所示的更新后的公网路由表项,然后,将更新后的公网路由表项中的公网更新表项块的块标识nh_block_id1赋给VPN路由表项对应的一级表项块中未赋值的二级表项块的块标识,进而就可以通过块标识nh_block_id1找到对应的公网更新表项块。
当然,本申请实施例上述内容虽然只是示出了二级分离的机构,在实际使用时,可以根据需求选择分离的级数,例如还可以采用三级分离的结构,那么在二级表项块中还可以包括三级表项块的块标识,进而路由表项的各个块之间通过下一级块的标识关联起来。
步骤307:将VPN路由表项的前缀块与关联后的一级表项块一起下发至转发面。
由于公网更新表项块已经从控制面下发至转发面了,所以,在本申请实施例中,只会将VPN路由表项的前缀块与关联后的一级表项块一起下发至转发面,进而进行后续对报文进行转发的步骤。
综上所述,在本申请实施例中,公网路由表项采用一级分离技术,VPN路由表项采用二级分离技术,且在VPN路由表项采用的二级分离技术中,VPN路由表项的二级表项块为公网的更新表项块,变相相当于VPN路由表项包含有公网路径改变后的公网实际直连下一跳地址和报文转发出口。所以,公网路径发生改变时,只需要更新对公网路由表项即可,更新了该公网路由表项就变相相当于更新了VPN路由表项。因此,当公网转发路径发生改变时,如果存在100W条VPN FTN需要更新,那么VPN只需要更新一条公网路由表项,即可完成100W条VPN FTN的收敛,大大减少VPN FTN的更新次数。
如图8所示,为本申请实施例提供的报文处理方法的流程示意图,该方法的流程介绍如下,该方法可以通过图2网络架构中的转发面来执行。
步骤801:根据待发送报文的路径选择策略,确定待转发报文对应的至少一个路由表项。
其中,路径选择策略例如可以为目的IP(DIP)路径选择策略,该DIP路径选择策略可以采用最长前缀匹配算法来进行选路,根据最长前缀匹配算法在转发面查找网络标识最长的路由表项,且该路由表项可以为VPN路由表项,也可以为公网路由表项。
步骤802:针对至少一个路由表项中的任一路由表项,根据任一路由表项的前缀块包括的一级表项块的块标识,确定任一路由表项的一级表项块。
由于从控制面下发到转发面的路由表项中网络标识最长的路由表项可能不止一个,但是针对每个路由表项而言,后续的封装过程类似,因此下面以其中一个路由表项来进行介绍,该路由表项可以为上述至少一个路由表项中任意的一个路由表项。
具体的,针对一个路由表项而言,可以根据该路由表项的前缀块包括的一级表项块的块标识nh_block_id,来确定该路由表项对应的一级表项块。
示例性的,如图4所示,若nh_block_id=nh_block_id1,则找到的块标识为nh_block_id1的一级表项块,或者,如图6所示,若nh_block_id=nh_block_id2,则找到的块标识为nh_block_id2的一级表项块。
步骤803:对一级表项块中下一跳节点的节点标识进行封装,获得一级封装块。
具体的,节点标识可以为下一跳节点设备的标签,因此,可以对一级表项块中下一跳节点设备的标签进行封装,得到一级封装块。
步骤804:确定一级表项块是否存在指向的二级表项块。
在本申请实施例中,由于公网路由表项采用一级分离技术,而VPN路由表项采用的是二级分离技术,所以在封装时,就需要确定一级表项块是否存在指向的二级表项块。
具体的,可以根据一级表项块是否包括二级表项块的块标识来确定是否存在指向的二级表项块。当一级表项块不包括二级表项块的块标识时,该一级表项块就不存在指向的二级表项块,当一级表项块包括二级表项块的块标识时,该一级表项块就存在指向的二级表项块。图4所示,当nh_block_id=空时,则确定未存在指向的二级表项块,如图6所示,当nh_block_id=nh_block_id1时,则确定存在指向的二级表项块。
步骤805:在步骤804的结果为否时,则根据一级封装块与一级表项块包括的内容进行封装,获得待发送报文的头部。
具体的,在一级表项块不存在指向的二级表项块时,也就表明该路由表项为公网路由表项,那么可以根据一级封装块、一级表项块的实际直连下一跳节点地址以及报文转发出口封装得到待转发报文的头部。
步骤806:在步骤804的结果为是时,根据一级封装块与二级表项块包括的内容进行封装,获得待发送报文的头部。
在本申请实施例中,在确定一级表项块存在指向的二级表项块时,可以根据一级表项块包括的二级表项块的块标识,确定出该路由表项的二级表项块,进而根据一级封装块与二级表项块包括的内容进行封装,获得待发送报文的头部。
具体的,可以将一级封装块与二级表项块中的下一跳节点的节点标识一起进行封装,得到二级封装块,再根据二级封装块与二级表项块中的实际直连下一跳节点地址以及报文转发出口一起封装,以得到待转发报文的头部。
示例性的,可以将VPN路由表项中封装了下一跳节点设备的标签的一级封装块与二级表项块中的下一跳节点设备的标签一起进行封装,得到二级封装块。最后,将二级封装块与二级表项块中的实际直连下一跳节点地址以及报文转发出口一起封装,以得到待转发报文的头部,该待转发报文的头部包含有VPN路由表项中包含的下一跳节点设备的标签,以及公网路由表项中包含的下一跳节点设备的标签、实际直连下一跳节点地址以及报文转发出口等信息。
在本申请实施例中,由于路由表项还可以采用三级分离技术,或者四级分离技术等等,因此,在根据一级封装块与二级表项块中的下一跳节点的节点标识进行封装,获得二级封装块之后,还可以继续确定二级表项块是否存在指向的三级表项块。如果二级表项块存在指向的三级表项块,那么可以根据三级表项块包括的内容进行封装,以获得第三封装表项块。
示例性的,在确定二级表项块存在指向的三级表项块,即二级表项块中包含的块标识nh_block_id不为空,可以根据该二级表项块包括nh_block_id,确对应的三级表项块。然后,将封装了下一跳节点设备的标签的一级封装块以及封装了下一跳节点设备的标签的二级封装块和二级表项块中的下一跳节点设备的标签一起进行封装,得到三级封装块。最后,将三级封装块与三级表项块中的实际直连下一跳节点地址以及报文转发出口一起封装,以得到待转发报文的头部。
基于同一发明构思,本申请实施例提供一种网络路由收敛处理装置,如图9所示,该装置应用于网络路由收敛处理方法中,该装置包括:
接收单元901,用于在公网转发路径发生改变时,当前节点控制面的控制模块接收协议模块发送的指示向转发面下发至少一个路由表项的指示消息;至少一个路由表项与改变后的转发路径相关;
查找单元902,用于在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据第一路由表项的一级表项块中的下一跳节点地址查找第一路由表项的二级表项块;一级表项块用于指示在VPN中的下一跳节点信息,二级表项块用于指示在公网中的下一跳节点信息;
关联单元903,用于将二级表项块对应的块标识与第一路由表项对应的一级表项块进行关联,得到关联后的一级表项块;其中,块标识用于唯一标识二级表项块;
下发单元904,用于将第一路由表项的前缀块与关联后的一级表项块下发至转发面。
可选的,装置还包括获取单元905,用于:
在确定当前待下发的第二路由表项为公网路由表项时,获取第二路由表项包含的转发路径信息,转发路径信息包括公网的网络标识、在公网中的下一跳节点地址以及改变后的下一跳节点在公网中的路径标识;
可选的,装置还包括第二确定单元906,用于:
根据转发路径信息确定实际直连下一跳节点地址和报文转发出口,根据确定的实际直连下一跳节点地址和报文转发出口生成公网更新表项块;其中,公网更新表项块用于指示改变后公网转发路径中下一跳节点信息,公网更新表项块的块标识与公网转发路径改变前的公网原始表项块块标识相同;
可选的,下发单元904,还用于将第二路由表项的前缀块与公网更新表项块下发至转发面。
可选的,第二确定单元906,还用于:
根据一级表项块中的下一跳节点地址确定对应的二级表项块的块标识;
根据二级表项块的块标识确定公网更新表项块;
将公网更新表项块确定为第一路由表项的二级表项块。
可选的,第二确定单元906,还用于将转发路径信息中的下一跳节点地址确定为实际直连下一跳节点地址。
可选的,第二确定单元906,还用于在第一路由表项中未包含有报文转发出口时,确定第一路由表项为虚拟专用网络VPN路由表项。
该装置可以用于执行图2~图8所示的实施例中路由设备所执行的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图2~图8所示的实施例的描述,不多赘述。
基于同一发明构思,本申请实施例提供一种报文处理装置,如图10所示,该装置应用于报文处理方法中,该装置包括:
第一确定单元1001,用于根据待发送报文的路径选择策略,确定待转发报文对应的至少一个路由表项;
第一确定单元1001,还用于针对至少一个路由表项中的任一路由表项,根据任一路由表项的前缀块指示的一级表项块的块标识,确定任一路由表项的一级表项块;
封装单元1002,用于对一级表项块中下一跳节点的节点标识进行封装,获得一级封装块;
第一确定单元1001,还用于确定一级表项块是否存在指向的二级表项块;
封装单元1002,还用于在确定一级表项块存在指向的二级表项块时,根据一级封装块与二级表项块包括的内容进行封装,获得待发送报文的头部。
可选的,封装单元1002,还用于:
在确定一级表项块不存在指向的二级表项块时,根据一级封装块、一级表项块的实际直连下一跳节点地址以及报文转发出口封装得到待转发报文的头部。
可选的,第一确定单元1001,还用于:
在确定一级表项块存在指向的二级表项块时,根据一级表项块包括的二级表项块的块标识,确定任一路由表项的二级表项块;
可选的,封装单元1002,还用于:
根据一级封装块与二级表项块中的下一跳节点的节点标识进行封装,获得二级封装块;
根据二级封装块与二级表项块中的实际直连下一跳节点地址以及报文转发出口封装得到待转发报文的头部。
可选的,第一确定单元1001,还用于:
根据一级表项块是否包括二级表项块的块标识,确定一级表项块是否存在指向的二级表项块;其中,
在一级表项块不包括二级表项块的块标识时,一级表项块不存在指向的二级表项块;
在一级表项块包括二级表项块的块标识时,一级表项块存在指向的二级表项块。
可选的,第一确定单元1001,还用于确定二级表项块是否存在指向的三级表项块;
可选的,封装单元1002,还用于若存在,根据三级表项块包括的内容进行封装,获得第三封装表项块。
该装置可以用于执行图2~图8所示的实施例中路由设备所执行的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图2~图8所示的实施例的描述,不多赘述。
请参见图11,基于同一技术构思,本申请实施例还提供了一种计算机设备110,可以包括存储器1101和处理器1102。
所述存储器1101,用于存储处理器1102执行的计算机程序。存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1102,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器1101和处理器1102之间的具体连接介质。本申请实施例在图11中以存储器1101和处理器1102之间通过总线1103连接,总线1103在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1103可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1101可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1101也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1101是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1101可以是上述存储器的组合。
处理器1102,用于调用所述存储器1101中存储的计算机程序时执行如图2~图8所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图2~图8所示的实施例中设备所执行的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种网络路由收敛处理方法,其特征在于,所述方法包括:
在公网转发路径发生改变时,接收指示向转发面下发至少一个路由表项的指示消息;所述至少一个路由表项与改变后的转发路径相关;
在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据所述第一路由表项的一级表项块中的下一跳节点地址查找所述第一路由表项的二级表项块;所述一级表项块用于指示在VPN中的下一跳节点信息,所述二级表项块用于指示在公网中的下一跳节点信息;
将所述二级表项块对应的块标识与所述第一路由表项对应的一级表项块进行关联,得到关联后的一级表项块;其中,所述块标识用于唯一标识所述二级表项块;
将所述第一路由表项的前缀块与所述关联后的一级表项块下发至转发面。
2.如权利要求1所述的方法,其特征在于,在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据所述第一路由表项的一级表项块中的下一跳节点地址查找所述第一路由表项的二级表项块之前,所述方法还包括:
在确定当前待下发的第二路由表项为公网路由表项时,获取所述第二路由表项包含的转发路径信息,所述转发路径信息包括所述公网的网络标识、在所述公网中的下一跳节点地址以及下一跳节点在所述公网中的路径标识;
根据所述转发路径信息确定实际直连下一跳节点地址和报文转发出口,根据确定的实际直连下一跳节点地址和报文转发出口生成公网更新表项块;其中,所述公网更新表项块用于指示改变后公网转发路径中下一跳节点信息,所述公网更新表项块的块标识与公网转发路径改变前的公网原始一级表项块的块标识相同;
将所述第二路由表项的前缀块与所述公网更新表项块下发至所述转发面。
3.如权利要求2所述的方法,其特征在于,
在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据所述第一路由表项的一级表项块中的下一跳节点地址查找所述第一路由表项的二级表项块,包括:
根据所述一级表项块中的下一跳节点地址确定对应的二级表项块的块标识;
根据所述二级表项块的块标识确定所述公网更新表项块;
将所述公网更新表项块确定为所述第一路由表项的二级表项块。
4.如权利要求2所述的方法,其特征在于,根据所述转发路径信息确定实际直连下一跳节点地址,包括:
将所述转发路径信息中的所述下一跳节点地址确定为实际直连下一跳节点地址。
5.如权利要求1所述的方法,其特征在于,所述确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项,包括:
在所述第一路由表项中未包含有报文转发出口时,确定所述第一路由表项为虚拟专用网络VPN路由表项。
6.一种报文处理方法,其特征在于,所述方法包括:
根据待发送报文的路径选择策略,确定所述待发送报文对应的至少一个路由表项;
针对所述至少一个路由表项中的任一路由表项,根据所述任一路由表项的前缀块指示的一级表项块的块标识,确定所述任一路由表项的一级表项块;
对所述一级表项块中下一跳节点的节点标识进行封装,获得一级封装块;
确定所述一级表项块是否存在指向的二级表项块;
在确定所述一级表项块存在指向的二级表项块时,根据所述一级封装块与所述二级表项块包括的内容进行封装,获得所述待发送报文的头部;
所述路由表项包括由VPN路由信息组成的一级表项块和公网路由信息组成的二级表项块构成,将一级VPN表项块与二级表项块进行关联,根据所述路由表项的一级表项块中的下一跳节点地址查找所述路由表项的二级表项块。
7.如权利要求6所述的方法,其特征在于,在确定所述一级表项块是否存在指向的二级表项块之后,所述方法还包括:
在确定所述一级表项块不存在指向的二级表项块时,根据所述一级封装块、所述一级表项块的实际直连下一跳节点地址以及报文转发出口封装得到所述待转发报文的头部。
8.如权利要求6所述的方法,其特征在于,在确定所述一级表项块存在指向的二级表项块时,根据所述一级封装块与所述二级表项块包括的内容进行封装,获得所述待发送报文的头部,包括:
在确定所述一级表项块存在指向的二级表项块时,根据所述一级表项块包括的二级表项块的块标识,确定所述任一路由表项的二级表项块;
根据所述一级封装块与所述二级表项块中的下一跳节点的节点标识进行封装,获得二级封装块;
根据所述二级封装块与所述二级表项块中的实际直连下一跳节点地址以及报文转发出口封装得到所述待转发报文的头部。
9.如权利要求6所述的方法,其特征在于,确定所述一级表项块是否存在指向的二级表项块,包括:
根据所述一级表项块是否包括二级表项块的块标识,确定所述一级表项块是否存在指向的二级表项块;其中,
在所述一级表项块不包括二级表项块的块标识时,所述一级表项块不存在指向的二级表项块;
在所述一级表项块包括二级表项块的块标识时,所述一级表项块存在指向的二级表项块。
10.如权利要求8所述的方法,其特征在于,在根据所述一级封装块与所述二级表项块中的下一跳节点的节点标识进行封装,获得二级封装块之后,所述方法还包括:
确定所述二级表项块是否存在指向的三级表项块;
若存在,根据所述三级表项块包括的内容进行封装,获得第三封装表项块。
11.一种网络路由收敛处理装置,其特征在于,所述装置包括:
接收单元,用于在公网转发路径发生改变时,接收指示向转发面下发至少一个路由表项的指示消息;所述至少一个路由表项与改变后的转发路径相关;
查找单元,用于在确定当前待下发的第一路由表项为虚拟专用网络VPN路由表项时,根据所述第一路由表项的一级表项块中的下一跳节点地址查找所述第一路由表项的二级表项块;所述一级表项块用于指示在VPN中的下一跳节点信息,所述二级表项块用于指示在公网中的下一跳节点信息;
关联单元,用于将所述二级表项块对应的块标识与所述第一路由表项对应的一级表项块进行关联,得到关联后的一级表项块;其中,所述块标识用于唯一标识所述二级表项块;
下发单元,用于将所述第一路由表项的前缀块与所述关联后的一级表项块下发至转发面。
12.一种报文处理装置,其特征在于,所述装置包括:
第一确定单元,用于根据待发送报文的路径选择策略,确定所述待发送报文对应的至少一个路由表项;
所述第一确定单元,还用于针对所述至少一个路由表项中的任一路由表项,根据所述任一路由表项的前缀块指示的一级表项块的块标识,确定所述任一路由表项的一级表项块;
封装单元,用于对所述一级表项块中下一跳节点的节点标识进行封装,获得一级封装块;
所述第一确定单元,还用于确定所述一级表项块是否存在指向的二级表项块;
所述封装单元,还用于在确定所述一级表项块存在指向的二级表项块时,根据所述一级封装块与所述二级表项块包括的内容进行封装,获得所述待发送报文的头部;
所述路由表项包括由VPN路由信息组成的一级表项块和公网路由信息组成的二级表项块构成,将一级VPN表项块与二级表项块进行关联,根据所述路由表项的一级表项块中的下一跳节点地址查找所述路由表项的二级表项块。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至10任一项所述方法的步骤。
14.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-10中任一所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011344895.2A CN112437008B (zh) | 2020-11-26 | 2020-11-26 | 网络路由收敛处理和报文处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011344895.2A CN112437008B (zh) | 2020-11-26 | 2020-11-26 | 网络路由收敛处理和报文处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437008A CN112437008A (zh) | 2021-03-02 |
CN112437008B true CN112437008B (zh) | 2022-12-13 |
Family
ID=74699234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011344895.2A Active CN112437008B (zh) | 2020-11-26 | 2020-11-26 | 网络路由收敛处理和报文处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437008B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363191B (zh) * | 2021-12-24 | 2023-11-10 | 中国联合网络通信集团有限公司 | 一种基于节点与ip地址的路由扩散模拟方法及装置 |
CN114389989B (zh) * | 2021-12-24 | 2023-07-21 | 锐捷网络股份有限公司 | 多级下一跳路由处理方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100372340C (zh) * | 2004-06-11 | 2008-02-27 | 华为技术有限公司 | 虚拟专用网的实现方法 |
US7688829B2 (en) * | 2005-09-14 | 2010-03-30 | Cisco Technology, Inc. | System and methods for network segmentation |
CN100596087C (zh) * | 2007-09-14 | 2010-03-24 | 福建星网锐捷网络有限公司 | Ftn匹配管理方法 |
CN111884934B (zh) * | 2016-07-01 | 2021-07-09 | 华为技术有限公司 | 业务功能链sfc中用于转发报文的方法、装置和系统 |
CN110430131B (zh) * | 2019-07-25 | 2021-12-24 | 新华三技术有限公司合肥分公司 | 一种报文转发方法及装置 |
CN110661713B (zh) * | 2019-10-22 | 2021-09-21 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
CN111147376B (zh) * | 2019-12-30 | 2022-04-26 | 杭州迪普科技股份有限公司 | 一种路由更新方法、装置及设备、介质 |
-
2020
- 2020-11-26 CN CN202011344895.2A patent/CN112437008B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112437008A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689427B2 (en) | Segment routing over label distribution protocol | |
CN111385206B (zh) | 报文转发的方法、网络系统、相关设备及计算机存储介质 | |
US10237175B2 (en) | Entropy prefix segment identifier for use with entropy label in segment routing networks | |
US9444677B2 (en) | Scalable edge node protection using IPv6 segment routing extension header | |
US9537769B2 (en) | Opportunistic compression of routing segment identifier stacks | |
US9525619B2 (en) | Scalable edge node protection using segment routing | |
WO2020134139A1 (zh) | 一种业务数据的转发方法、网络设备及网络系统 | |
WO2018032961A1 (zh) | 一种管理信息的方法,装置及系统 | |
US20140169370A1 (en) | Segment Routing Techniques | |
US10630581B2 (en) | Dynamic tunnel report for path computation and traffic engineering within a computer network | |
US20170149685A1 (en) | Address information publishing method and apparatus | |
CN112511418A (zh) | 报文指示方法、装置、设备和存储介质 | |
CN105637807B (zh) | 转发报文的方法、控制器、转发设备和网络系统 | |
CN112437008B (zh) | 网络路由收敛处理和报文处理方法、装置及设备 | |
CN102474451B (zh) | 连接内层和外层mpls标签 | |
CN112689976A (zh) | 扩展控制器的边界网关协议链路状态 | |
CN113810276A (zh) | 一种段路由故障处理方法、装置、电子设备及存储介质 | |
CN106789705A (zh) | 传输控制报文的方法和装置 | |
CN105323084B (zh) | 三层网管管理trill网络的方法、装置及系统 | |
CN116137607A (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 |