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

一种转发路径生成方法、装置、网络设备及存储介质与流程

2021-12-04 02:58:00 来源:中国专利 TAG:


1.本技术涉及网络通信技术领域,特别是涉及一种转发路径生成方法、装置、网络设备及存储介质。


背景技术:

2.sr(segment routing,分段路由)技术是一种源路由技术。基于sr中flex

algo技术,网络中各网络节点可以支持不同的路径计算算法,支持同一路径计算算法的网络节点间的拓扑视为一个逻辑拓扑。其中,flex

algo是一种sr igp(interior gateway protocol,内部网关协议)灵活算法。
3.在基于sr技术的网络中转发报文时,报文的转发路径基于同一逻辑拓扑内存在物理链路的网络节点生成。
4.然而,实际应用中网络节点支持的路径计算算法可能会随网络环境而变化,使得网络节点所属的逻辑拓扑发生变化。例如,一个逻辑拓扑中两个网络节点所支持的路径计算算法改变,不再属于该逻辑拓扑,导致该逻辑拓扑中其他网络节点间的物理链路中断,这样根据该逻辑拓扑中的网络节点难以生成连通的转发路径。
5.因此,需要提供一种在逻辑拓扑发生变化的情况下,依然能够生成连通的转发路径的方案。


技术实现要素:

6.本技术实施例的目的在于提供一种转发路径生成方法、装置、网络设备及存储介质,以在逻辑拓扑发生变化的情况下,依然能够生成连通的转发路径。具体技术方案如下:
7.第一方面,本技术实施例提供了一种转发路径生成方法,所述方法包括:
8.获取支持目标路径计算算法的第一网络节点的拓扑信息;
9.采用所述目标路径计算算法,对所述第一网络节点的拓扑信息进行路径计算,生成第一转发路径,所述第一转发路径为:从第一网络节点中指定的源节点到指定的尾节点的转发路径;
10.若所述第一转发路径存在路径中断,获得从所述源节点到所述尾节点的第二转发路径,所述第二转发路径为:由所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的转发路径,所述第二网络节点不支持所述目标路径计算算法;
11.从所述第二转发路径中,确定与第二网络节点连通的第一网络节点,得到节点对;
12.将所述第二转发路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备,得到从所述源节点到所述尾节点连通的转发路径,各节点对中沿所述第二转发路径的方向第二个节点位于第一个节点之后。
13.本技术的一个实施例中,所述获得从所述源节点到所述尾节点的第二转发路径,包括:
14.确定所述第一转发路径中发生路径中断的第三网络节点、以及从所述源节点到所
述第三网络节点的第一转发子路径;
15.基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从所述第三网络节点到所述尾节点的第二转发子路径,所述第四网络节点为:未位于所述第一转发子路径的第一网络节点;
16.所述从所述第二转发路径中,确定与第二网络节点连通的第一网络节点,得到节点对,包括:
17.从所述第二转发子路径中,确定与第二网络节点连通的第一网络节点,得到节点对;
18.所述将所述第二转发路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备,得到从所述源节点到所述尾节点连通的转发路径,包括:
19.将所述第二转发子路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备;
20.连接所述第一转发子路径和更新后的第二转发子路径,得到从所述源节点到所述尾节点连通的转发路径。
21.本技术的一个实施例中,所述基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从所述第三网络节点到所述尾节点的第二转发子路径,包括:
22.采用所述目标路径计算算法,基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从所述第三网络节点到所述尾节点的第二转发子路径;
23.在所述连接所述第一转发子路径和更新后的第二转发子路径,得到从所述源节点到所述尾节点连通的转发路径的步骤之后,还包括:
24.在生成所述连通的转发路径的分段列表时,在第一段标识sid与第二sid之间增加绑定段标识bsid,以使得第一节点对中第一个节点调用所述bsid对应的srv6转发策略选择到所述第一节点对中第二个节点的转发路径,所述bsid对应的转发策略使用的路径计算算法为:所述目标路径计算算法,所述第一节点对为:所述连通的转发路径中的节点对,所述第一sid为:所述第一节点对中第一个节点对应的sid,第二个sid为:所述第一节点对中第二个节点对应的sid。
25.本技术的一个实施例中,所述转发路径生成方法还包括:
26.在生成所述连通的转发路径的分段列表时,在所述第一节点对中各节点对应的sid的功能字段中增加安全认证指令和所述安全认证指令的指令参数。
27.本技术的一个实施例中,所述基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从所述第三网络节点到所述尾节点的第二转发子路径,包括:
28.采用最短路径优先算法,基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从所述第三网络节点到所述尾节点的第二转发子路径。
29.本技术的一个实施例中,所述获得从所述源节点到所述尾节点的第二转发路径,包括:
30.向控制节点发送路径请求;
31.接收所述控制节点反馈的第二转发路径,所述第二转发路径为:所述控制节点基于所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的、从所述源节点到所述尾节点的转发路径。
32.第二方面,本技术实施例提供了一种转发路径生成装置,所述装置包括:
33.拓扑获取模块,用于获取支持目标路径计算算法的第一网络节点的拓扑信息;
34.路径生成模块,用于采用所述目标路径计算算法,对所述第一网络节点的拓扑信息进行路径计算,生成第一转发路径,所述第一转发路径为:从第一网络节点中指定的源节点到指定的尾节点的转发路径;
35.路径获得模块,用于若所述第一转发路径存在路径中断,获得从所述源节点到所述尾节点的第二转发路径,所述第二转发路径为:由所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的转发路径,所述第二网络节点不支持所述目标路径计算算法;
36.节点确定模块,用于从所述第二转发路径中,确定与第二网络节点连通的第一网络节点,得到节点对;
37.下一跳更新模块,用于将所述第二转发路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备,得到从所述源节点到所述尾节点连通的转发路径,各节点对中沿所述第二转发路径的方向第二个节点位于第一个节点之后。
38.本技术的一个实施例中,所述路径获得模块,包括:
39.子路径确定单元,用于若所述第一转发路径存在路径中断,确定所述第一转发路径中发生路径中断的第三网络节点、以及从所述源节点到所述第三网络节点的第一转发子路径;
40.子路径生成单元,用于基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从所述第三网络节点到所述尾节点的第二转发子路径,所述第四网络节点为:未位于所述第一转发子路径的第一网络节点;
41.所述节点确定模块,具体用于从所述第二转发子路径中,确定与第二网络节点连通的第一网络节点,得到节点对;
42.所述下一跳更新模块,具体用于将所述第二转发子路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备;连接所述第一转发子路径和更新后的第二转发子路径,得到从所述源节点到所述尾节点连通的转发路径。
43.本技术的一个实施例中,所述子路径生成单元,具体用于采用所述目标路径计算算法,基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从所述第三网络节点到所述尾节点的第二转发子路径;
44.所述装置还包括:
45.bsid增加模块,用于在所述下一跳更新模块得到从所述源节点到所述尾节点连通的转发路径之后,在生成所述连通的转发路径的分段列表时,在第一段标识sid与第二sid之间增加绑定段标识bsid,以使得第一节点对中第一个节点调用所述bsid对应的srv6转发策略选择到所述第一节点对中第二个节点的转发路径,所述bsid对应的转发策略使用的路径计算算法为:所述目标路径计算算法,所述第一节点对为:所述连通的转发路径中的节点对,所述第一sid为:所述第一节点对中第一个节点对应的sid,第二个sid为:所述第一节点对中第二个节点对应的sid。
46.本技术的一个实施例中,所述转发路径生成装置还包括:
47.信息增加模块,用于在生成所述连通的转发路径的分段列表时,在所述第一节点对中各节点对应的sid的功能字段中增加安全认证指令和所述安全认证指令的指令参数。
48.本技术的一个实施例中,所述子路径生成单元,具体用于采用最短路径优先算法,基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从所述第三网络节点到所述尾节点的第二转发子路径。
49.本技术的一个实施例中,所述路径获得模块,具体用于若所述第一转发路径存在路径中断,向控制节点发送路径请求;接收所述控制节点反馈的第二转发路径,所述第二转发路径为:所述控制节点基于所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的、从所述源节点到所述尾节点的转发路径。
50.第三方面,本技术实施例提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面任一所述的转发路径生成方法步骤。
51.第四方面,本技术实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面任一所述的转发路径生成方法步骤。
52.由以上可见,应用本技术实施例提供的方案生成转发路径时,若采用目标路径计算算法对第一网络节点的拓扑信息进行路径计算,生成的第一转发路径存在路径中断,并非认为不能生成连通的转发路径,而是借助于不支持目标路径计算算法的第二网络节点,生成连通的转发路径。基于此,即便由于逻辑拓扑发生变化而引起该逻辑拓扑内网络节点间的物理链路中断,也能够保证生成连通的转发路径。
附图说明
53.为了更清楚地说明本技术实施例和现有技术的技术方案,下面对实施例和现有技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,本领域普通技术人员来讲还可以根据这些附图获得其他的附图。
54.图1a为本技术实施例提供的第一种网络拓扑示意图;
55.图1b为本技术实施例提供的第二种网络拓扑示意图;
56.图1c为本技术实施例提供的第三种网络拓扑示意图;
57.图1d为本技术实施例提供的第四种网络拓扑示意图;
58.图2为本技术实施例提供的第一种转发路径生成方法的流程示意图;
59.图3为本技术实施例提供的第二种转发路径生成方法的流程示意图;
60.图4为本技术实施例提供的第一种转发路径生成装置的结构示意图;
61.图5为本技术实施例提供的第二种转发路径生成装置的结构示意图;
62.图6为本技术实施例提供的一种网络设备的结构示意图。
具体实施方式
63.为使本技术的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本技术进一步详细说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本领域普通技术人员基于本技术中的实施例所获得的所有其他实施例,都属于本技术保护的范围。另外,以下所描述的实施例仅用于说明和解释本技术实施例提供的技术方案,并不用于限定本技术。并且在不冲突的情况下,本技术中的实施例及实施例中的特
征可以相互组合。
64.现有技术中,针对基于sr中flex

algo技术的网络生成转发路径时,依赖同一逻辑拓扑内网络节点间的物理链路,而逻辑拓扑发生改变,可能会引起逻辑拓扑内网络节点间的物理链路中断,进而导致难以生成连通的转发路径。为解决这一技术问题,本技术实施例提供了一种转发路径生成方法、装置、网络设备以及存储介质。
65.下面结合图1a

图1c,通过具体实例对上述技术问题进行说明。
66.在基于sr中flex

algo技术的网络中,各个网络节点可以发布自身所支持的路径计算算法。支持同一路径计算算法的网络节点间的拓扑视为一个逻辑拓扑,这样整个网络对应的物理拓扑被划分为多个逻辑拓扑。每一逻辑拓扑可以称为一个网络分片,用于为用户提供不同种类或者不同级别的业务。
67.另外,sr技术支持转发路径中的源节点在报文中插入转发路径的分段信息,网络节点间基于ipv6(internet protocol version 6,互联网协议第6版)通信的情况下,源节点在报文中具体插入的是分段列表,为便于描述将插入分段列表后的报文称为srv6报文。转发路径的分段列表指示该转发路径中各个网络节点进行报文转发的顺序。这样网络节点接收到srv6报文后,能够按照srv6报文中携带的分段列表进行报文转发。
68.鉴于上述情况,在转发报文之前需要先生成转发路径。相关技术中,针对基于sr中flex

algo技术的网络生成转发路径时,基于逻辑拓扑内的网络节点生成转发路径,也就是,所生成的转发路径包括的网络节点均为同一逻辑拓扑包括的网络节点,也即,所生成的转发路径包括的网络节点均支持同一路径计算算法。另外,生成转发路径时,依赖于逻辑拓扑内网络节点间的物理链路,一旦逻辑拓扑内网络节点间的物理链路不能够使得指定的源节点与指定的尾节点连通,则不能成功生成转发路径。
69.参见图1a,图1a示出了一种网络的物理拓扑示意图。图中的黑色实线表示网络节点间的物理链路,r0

r7表示八个网络节点。
70.假设,网络节点r0、r1、r2、r6、r7支持路径计算算法1,网络节点r0、r4、r2、r3、r7支持路径计算算法2。
71.这样r0、r1、r2、r6、r7属于一个逻辑拓扑,基于图1a所示的物理拓扑,可以得到如图1b所示的逻辑拓扑。由于r3和r5不支持路径计算算法1,所以,r2和r6间物理链路中断。因此,基于r0、r1、r2、r6、r7间的物理链路,不能生成从r0到r7连通的转发路径。
72.r0、r4、r2、r3、r7属于一个逻辑拓扑,基于图1a所示的物理拓扑,可以得到如图1c所示的逻辑拓扑。该逻辑拓扑是连通的,依据r0、r4、r2、r3、r7能够生成从r0到r7连通的转发路径。
73.下面通过具体实施例,对本技术实施例提供的转发路径生成方法、装置、网络设备及存储介质分别进行详细说明。
74.首先对本技术实施例的执行主体进行说明。
75.本技术实施例的执行主体为:驻有fce(path computation element,路径计算元素)的网络节点,为便于表述称为执行节点。该执行节点可以是路由设备,也可以是网络中的控制节点,其中,上述控制节点为网络中具有控制功能的设备。
76.在上述执行节点为路由设备的情况下,上述执行节点可以是待生成的转发路径中指定的源节点。
77.参见图2,图2为本技术实施例提供的第一种转发路径生成方法的流程示意图,该方法包括以下步骤s201

s205。步骤s201

s205由上述执行节点执行。
78.步骤s201:获取支持目标路径计算算法的第一网络节点的拓扑信息。
79.网络节点可以在基于sr技术的网络中通告其所支持的路径计算算法,这样执行节点可以获知各网络节点所支持的路径计算算法。鉴于此,本步骤中,执行节点可以通过各网络节点发布的通告,获知支持目标路径计算算法的第一网络节点。
80.一个网络节点可以支持一种路径计算算法,也可以支持多种路径计算算法。
81.其中,上述路径计算算法是指用于计算转发路径的算法。
82.例如,上述路径计算算法可以是flex

algo等算法。每一种flex

algo算法可以采用128

255区间的一个值表示。
83.步骤s202:采用目标路径计算算法,对第一网络节点的拓扑信息进行路径计算,生成第一转发路径。
84.其中,上述第一转发路径为:从第一网络节点中指定的源节点到指定的尾节点的转发路径。
85.具体的,执行节点可以基于目标路径计算算法对路径计算的约束条件,对第一网络节点的拓扑信息进行路径计算。
86.例如,flex

algo可以包含一组约束条件。其中,上述约束条件可以是针对链路指标的约束条件,如,上述链路指标可以是时延指标;上述约束条件可以是针对路径计算算法的约束条件,如,上述路径计算算法可以是spf(shortest path first,最短路径优先)算法;上述约束条件可以是针对拓扑信息的约束条件,如,规定转发路径中需要包含的链路或者需要去掉的链路等。基于此,在上述目标路径计算算法为flex

algo的情况下,可以基于flex

algo包含的约束条件对第一网络节点的拓扑信息进行路径计算。
87.步骤s203:若第一转发路径存在路径中断,获得从源节点到尾节点的第二转发路径。
88.其中,第二转发路径为:由所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的转发路径。第二网络节点不支持目标路径计算算法。
89.第二转发路径可以是从源节点到尾节点的一条完整的转发路径。第二转发路径也可以是多条转发子路径的集合,这种情况下,上述多条转发子路径能够连接形成从源节点到尾节点的完整转发路径。
90.具体的,若第一网络节点间的物理链路不能够使得源节点与尾节点连通,则所生成的第一转发路径仅仅为从源节点到尾节点的部分转发路径,这时第一转发路径的最后一跳是与其它第一网络节点不连通的第一网络节点,而不是上述尾节点。鉴于上述情况,若第一转发路径中最后一跳不是上述尾节点,执行节点可以认为第一转发路径存在路径中断。
91.网络中除了存在第一网络节点外,还存在第二网络节点。第一网络节点之间可能存在物理链路,第一网络节点与第二网络节点之间也可能存在物理链路。本步骤中,执行节点确定第一转发路径存在路径中断后,不再局限于第一网络节点,而是将第二网络节点也纳入路径计算过程,以期通过第一网络节点与第二网络节点之间的物理链路、第二网络节点与第二网络节点之间的物理链路,连通两个第一网络节点。
92.本技术的一个实施例中,执行节点可以基于所有第一网络节点的拓扑信息和所有
第二网络节点的拓扑信息,进行路径计算,进而获得从源节点到尾节点的第二转发路径。
93.其中,进行路径计算时所采用的路径计算算法可以是最短路径优先算法,也可以是上述目标路径计算算法等。
94.步骤s204:从第二转发路径中,确定与第二网络节点连通的第一网络节点,得到节点对。
95.第二转发路径中可能存在一段由第二网络节点连通的子路径,也可能存在多段由第二网络节点连通的子路径。
96.鉴于上述情况,在得到第二转发路径后,执行节点可以沿着从源节点到尾节点的方向,逐跳检查各网络节点,确定与第二网络节点直接连接的第一网络节点,作为一段子路径的第一个节点,并确定下一个与第二网络节点直接连接的第一网络节点,作为该子路径的第二个节点。上述第一个节点和第二个节点形成一个节点对,且沿第二转发路径的方向第二节点位于第一个节点之后。
97.这样在第二转发路径中存在多段子路径的情况下,本步骤可以得到多个节点对。
98.步骤s205:将第二转发路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备,得到从源节点到尾节点连通的转发路径。
99.各节点对中沿第二转发路径的方向第二个节点位于第一个节点之后。
100.在第二转发路径中,将每一节点对中的第二个节点更新为该节点对中第一个节点的下一跳设备,实现了第二转发路径更新,可以将第二网络节点从第二转发路径中剔除,第二转发路径中仅存在第一网络节点,这样不仅保证转发路径中的网络节点均来自同一逻辑拓扑,也保证第一网络节点间物理链路不连通的情况下,成功生成了转发路径。
101.参见图1d,示出了图1b所示转发路径存在路径中断的情况下,应用本技术实施例提供的方案生成的转发路径。图1d中r2与r6之间以虚线连接,表示r2通过第二网络节点与r6连通。
102.在依照前述步骤生成转发路径后,转发路径中的各第一网络节点转发srv6报文时,基于srv6报文的报文头携带的转发路径的分段列表,能够获知下一跳设备,这时即便第一网络节点与下一跳设备间不存在物理链路,第一网络节点也能够基于最短路径优先算法或者目标路径计算算法进行路径计算,获得自身与下一跳设备间的转发路径,从而沿所获得的转发路径将srv6报文转发至下一跳设备。
103.由以上可见,应用本技术实施例提供的方案生成转发路径时,若采用目标路径计算算法对第一网络节点的拓扑信息进行路径计算,生成的第一转发路径存在路径中断,并非认为不能生成连通的转发路径,而是借助于不支持目标路径计算算法的第二网络节点,生成连通的转发路径。基于此,即便由于逻辑拓扑发生变化而引起该逻辑拓扑内网络节点间的物理链路中断,也能够保证生成连通的转发路径。
104.具体的,上述第二转发路径不仅可以由执行节点生成,还可以由网络中具有控制功能的控制节点生成。控制节点不仅可以获得网络中各网络节点通告的路径计算算法,还能够通过bgp

ls(bgp link

state)等收集网络内网络节点的拓扑信息。
105.鉴于此,本技术的一个实施例中,上述步骤s203中,执行节点获得第二转发路径,可以通过控制节点实现。
106.具体的,执行节点向控制节点发送路径请求,该路径请求用于请求控制节点生成
第二转发路径。控制节点基于所有第一网络节点的拓扑信息和第二网络节点的拓扑信息,确定从源节点到尾节点的第二转发路径,并向上述执行节点反馈第二转发路径,从而使得上述执行节点获得第二转发路径。
107.其中,控制节点可以采用最短路径优先算法确定第二转发路径,也可以采用目标路径计算算法确定第二转发路径,当然也可以采用其他算法确定第二转发路径,本技术并不对此进行限定。
108.由以上可见,本实施例提供的方案中,由于控制节点能够掌握网络中网络节点支持的路径计算算法以及网络节点的拓扑信息,因此,能够生成较为准确的转发路径。另外,控制节点承担了生成第二转发路径的工作,从而减轻了作为执行主体的网络节点的工作压力。
109.本技术的一个实施例中,参见图3,提供了第二种转发路径生成方法的流程示意图,与前述图2所示实施例相比,上述步骤s203中,若第一转发路径存在路径中断,获得从源节点到尾节点的第二转发路径,包括以下步骤s203a和s203b。
110.步骤s203a:若第一转发路径存在路径中断,确定第一转发路径中发生路径中断的第三网络节点、以及源节点到第三网络节点的第一转发子路径。
111.具体的,执行节点采用目标路径计算算法生成第一转发路径之后,可以对第一转发路径中的最后一跳进行检测,检测最后一跳是否为上述尾节点,若不是上述尾节点,说明第一转发路径存在路径中断,且将上述最后一跳称为第三网络节点。上述第一转发路径也即为从源节点到第三网络节点的转发路径,因此,可以将第一转发路径作为本步骤中的第一转发子路径。
112.步骤s203b:基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从第三网络节点到尾节点的第二转发子路径。
113.其中,第四网络节点为:未位于第一转发子路径的第一网络节点。
114.由于第一转发子路径仅仅为源节点至第三网络节点间的转发路径,这一转发路径还不能将报文转发至尾节点。又由于在第三网络节点处出现了与第四网络节点不能够连通的情况,而第三网络节点又可能能够借助于第二网络节点与第四网络节点连通,所以,本步骤中基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从第三网络节点到尾节点的第二转发子路径。
115.执行节点生成第二转发子路径时可以采用不同的路径计算算法生成,具体在后续实施例中说明,这里暂不详述。
116.在上述基础上,前述步骤s204中,执行节点从第二转发路径中,确定与第二网络节点连通的第一网络节点,得到节点对,包括以下步骤s204a。
117.步骤s204a:从第二转发子路径中,确定与第二网络节点连通的第一网络节点,得到节点对。
118.由于第一转发子路径是采用目标路径计算算法,针对第一网络节点生成的转发路径,所以,第一转发子路径中肯定不会存在与第二网络节点连通的第一网络节点。为提高转发路径生成效率,本步骤中可以仅在第二转发子路径中确定与第二网络节点连通的第一网络节点,从而得到节点对。
119.具体的,执行节点可以沿着从第三网络节点到尾节点的方向,逐跳检查各网络节
点,确定与第二网络节点直接连接的第一网络节点,作为第一个节点,并确定下一个与第二网络节点直接连接的第一网络节点,作为第二个节点。上述第一个节点和第二个节点形成一个节点对。
120.前述步骤s205中,执行节点将第二转发路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备,得到从源节点到尾节点连通的转发路径,包括以下步骤s205a和s205b。
121.步骤s205a:将第二转发子路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备。
122.执行节点将每一节点对中的第二个节点作为该节点对中第一个节点的下一跳设备,以此更新第二转发子路径,可以将第二网络节点从第二转发子路径中剔除,使得第二转发子路径中也仅存在第一网络节点。
123.步骤s205b:连接第一转发子路径和更新后的第二转发子路径,得到从源节点到尾节点连通的转发路径。
124.由于第一转发子路径是从源节点到第三网络节点的转发路径,而第二转发子路径是从第三网络节点到尾节点的转发路径,所以,第一转发子路径和第二转发子路径均为从源节点到尾节点的转发路径的一部分,且第一转发子路径和第二转发子路径中均存在第三网络节点,因此,可以通过第三网络节点连接第一转发子路径和第二转发子路径,得到从源节点到尾节点的完整转发路径。
125.由以上可见,本实施例提供的方案中,将采用目标路径计算算法得到的第一转发路径作为第一转发子路径,保证了第一转发子路径中的网络节点均为第一网络节点,然后仅针对第二转发子路径确定节点对,在保证所确定出节点对准确的前提下,提高了生成转发路径的效率。
126.下面通过两个不同的实施例,对如何生成第二转发子路径进行说明。
127.本技术的一个实施例中,上述步骤s203b中,执行节点基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从第三网络节点到尾节点的第二转发子路径时,可以采用目标路径计算算法,对第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从第三网络节点到尾节点的第二转发子路径。
128.由于第二转发子路径是采用目标路径计算算法生成的,为保证各节点对中的第一个节点转发srv6报文时,能够准确的将srv6报文转发至节点对中的第二个节点,需使得第一个节点能够知晓生成第二转发子路径时所采用的路径计算算法。
129.鉴于上述情况,在上述步骤s205b连接第一转发子路径和更新后的第二转发子路径,得到从源节点到尾节点连通的转发路径之后,执行节点生成上述连通的转发路径的分段列表时,可以在在第一sid(segment identifier,段标识)与第二sid之间增加bsid(binding segment identifier,绑定段标识),以使得第一节点对中第一个节点调用bsid对应的srv6转发策略选择到第一节点对中第二个节点的转发路径。这样可以保证源节点向报文中添加sid时,一并在报文中成功添加bsid。
130.上述bsid对应的转发策略使用的路径计算算法为:目标路径计算算法,第一节点对为:连通的转发路径中的节点对,第一sid为:第一节点对中第一个节点对应的sid,第二个sid为:第一节点对中第二个节点对应的sid。
131.上述分段列表存储有多个sid,每一sid与转发路径中一个网络节点相对应。每一网络节点对应的sid中可以存储有:网络节点的标识、网络节点需要对srv6报文执行的操作指令以及上述操作指令的指令参数等。
132.由于本实施例提供的方案中生成连通的转发路径的分段列表时,在第一sid和第二sid之间增加了bsid,而bsid对应的转发策略使用的路径计算算法又是目标路径计算算法,且更新之前的第二转发子路径也是采用目标路径计算算法生成的,因此,节点对中的第一个节点能够按照更新前的第二转发子路径进行路径选择,进而将srv6报文转发至节点对中的第二个节点,从而能够有效保证准确的转发srv6报文。
133.一种实现方式中,由于从每一节点对中的第一个节点向第二个节点转发srv6报文时,需要通过第二网络节点,为保证所转发srv6报文安全,执行节点生成连通的转发路径的分段列表时,还可以在第一节点对中各节点对应的sid的功能字段中增加安全认证指令和安全认证指令的指令参数。这样每一节点对中的第一个节点和第二个节点接收到待转发的srv6报文后,可以按照sid中携带指令参数,执行sid中携带的安全认证指令,从而保证待转发的srv6报文的安全性。这样还可以保证源节点向报文中添加sid时,一并在报文中成功添加安全认证指令和安全认证指令的指令参数。
134.例如,上述安全认证指令可以是针对ipsec的安全认证指令,也可以是针对srv6 hmac的安全认证指令。
135.本技术的另一个实施例中,可以以最短路径优先算法为默认路径计算算法,这种情况下,上述步骤s203b中,执行节点基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从第三网络节点到尾节点的第二转发子路径时,可以采用最短路径优先算法,对第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从第三网络节点到尾节点的第二转发子路径。由于最短路径优先算法是默认的路径计算算法,所以,可以不另行告知节点对中第一个节点生成第二转发子路径时所采用的路径计算算法是最短路径优先算法。
136.这样节点对中的第一个节点接收到srv6报文后,可以直接按照最短路径优先算法进行路径选择,进而将srv6报文转发至节点对中的第二个节点。这样不仅能够准确的实现srv6报文转发,还能够减少srv6报文所携带信息的信息量。
137.下面结合图1b和图1d所示的拓扑示意图,对本技术实施例提供的转发路径生成方案进行说明。
138.假设,目标路径计算算法为前面提及的路径计算算法1。网络节点r0、r1、r2、r6、r7均支持路算法1,也就是,第一网络节点包括:r0、r1、r2、r6、r7,这样第二网络节点包括:r3、r4、r5。
139.指定的源节点为r0,指定的尾节点为:r7。
140.虽然r0、r1和r2间存在物理链路,r6和r7间存在物理链路,但是由于r2和r6之间不存在物理链路,导致r0、r1、r2、r6、r7间的物理链路不能够使得r0与r7连通。因此,采用路径计算算法1,对r0、r1、r2、r6、r7的拓扑信息,进行路径计算,生成的第一转发路径为r0

>r1

>r2,而不包括路径r6

>r7,该第一转发路径的最后一跳为r2,不是r7,说明第一转发路径存在路径中断。
141.此时,第三网络节点为r2,第一转发子路径为:r0

>r1

>r2。第四网络节点包括:r6
和r7。
142.一种情况下,采用最短路径优先算法,对r6、r7、r3、r4和r5的拓扑信息,进行路径计算,生成第二转发子路径。若生成的第二转发子路径为:r2

>r3

>r6

>r7,则一个节点对包括r2和r6,该节点对中第一个节点为r2,第二个节点为r6。将第二转发子路径中r6更新为r2的下一跳设备,则对第二转发子路径进行更新后为:r2

>r6

>r7。连接第一转发子路径和第二转发子路径所得连通的转发路径为:r0

>r1

>r2

>r6

>r7。
143.这种情况下,生成连通的转发路径的分段列表时,分段列表中依次包括:r0、r1、r2、r6、r7对应的sid。当r2接收到srv6报文时,从分段列表中可以得知下一跳设备为:r6。由于r2能够获知与r6之间不存在物理链路,因此,r2向r6转发srv6报文时,采用最短路径优先算法计算向r6转发srv6报文的路径,可以计算得出,通过r3向r6转发srv6报文,这样r2向r3转发srv6报文,然后r3向r6转发srv6报文。
144.另一种情况下,采用路径计算算法1,对r6、r7、r3、r4和r5的拓扑信息,进行路径计算,生成第二转发子路径。若生成的第二转发子路径为:r2

>r5

>r6

>r7,则一个节点对包括r2和r6,该节点对中第一个节点为r2,第二个节点为r6。将第二转发子路径中r6更新为r2的下一跳设备,则对第二转发子路径进行更新后为:r2

>r6

>r7。连接第一转发子路径和第二转发子路径所得连通的转发路径为:r0

>r1

>r2

>r6

>r7。
145.这种情况下,生成连通的转发路径的分段列表时,分段列表中依次包括:r0、r1、r2、r6、r7对应的sid,且在r2对应的sid和r6对应的sid之间增加bsid。当r2接收到srv6报文时,从分段列表中可以得知下一跳设备为:r6。由于r2能够获知与r6之间不存在物理链路,因此,r2向r6转发srv6报文时,调用bsid对应的srv6转发策略选择到r6的转发路径。由于bsid对应的srv6转发策略使用的路径计算算法为:路径计算算法1,所以,可以计算得出,r2通过r5向r6转发srv6报文,这样r2向r5转发srv6报文,然后r5向r6转发srv6报文。
146.与上述转发路径生成方法相对应,本技术实施例还提供了一种转发路径生成装置。
147.参见图4,图4为本技术实施例提供的一种转发路径生成装置的结构示意图,该装置包括:
148.拓扑获取模块401,用于获取支持目标路径计算算法的第一网络节点的拓扑信息;
149.路径生成模块402,用于采用所述目标路径计算算法,对所述第一网络节点的拓扑信息进行路径计算,生成第一转发路径,所述第一转发路径为:从第一网络节点中指定的源节点到指定的尾节点的转发路径;
150.路径获得模块403,用于若所述第一转发路径存在路径中断,获得从所述源节点到所述尾节点的第二转发路径,所述第二转发路径为:由所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的转发路径,所述第二网络节点不支持所述目标路径计算算法;
151.节点确定模块404,用于从所述第二转发路径中,确定与第二网络节点连通的第一网络节点,得到节点对;
152.下一跳更新模块405,用于将所述第二转发路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备,得到从所述源节点到所述尾节点连通的转发路径,各节点对中沿所述第二转发路径的方向第二个节点位于第一个节点之后。
153.由以上可见,应用本技术实施例提供的方案生成转发路径时,若采用目标路径计算算法对第一网络节点的拓扑信息进行路径计算,生成的第一转发路径存在路径中断,并非认为不能生成连通的转发路径,而是借助于不支持目标路径计算算法的第二网络节点,生成连通的转发路径。基于此,即便由于逻辑拓扑发生变化而引起该逻辑拓扑内网络节点间的物理链路中断,也能够保证生成连通的转发路径。
154.本技术的一个实施例中,参见图5,提供了第二种转发路径生成装置的结构示意图,与前述图4所示实施例相比,所述路径获得模块403,包括:
155.子路径确定单元403a,用于若所述第一转发路径存在路径中断,确定所述第一转发路径中发生路径中断的第三网络节点、以及从所述源节点到所述第三网络节点的第一转发子路径;
156.子路径生成单元403b,用于基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,生成从所述第三网络节点到所述尾节点的第二转发子路径,所述第四网络节点为:未位于所述第一转发子路径的第一网络节点;
157.所述节点确定模块404,具体用于从所述第二转发子路径中,确定与第二网络节点连通的第一网络节点,得到节点对;
158.所述下一跳更新模块405,具体用于将所述第二转发子路径上每一节点对中的第二个节点更新为该节点对中的第一个节点的下一跳设备;连接所述第一转发子路径和更新后的第二转发子路径,得到从所述源节点到所述尾节点连通的转发路径。
159.由以上可见,本实施例提供的方案中,将采用目标路径计算算法得到的第一转发路径作为第一转发子路径,保证了第一转发子路径中的网络节点均为第一网络节点,然后仅针对第二转发子路径确定节点对,在保证所确定出节点对准确的前提下,提高了生成转发路径的效率。
160.本技术的一个实施例中,所述子路径生成单元403b,具体用于采用所述目标路径计算算法,基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从所述第三网络节点到所述尾节点的第二转发子路径;
161.所述装置还包括:
162.bsid增加模块,用于在所述下一跳更新模块得到从所述源节点到所述尾节点连通的转发路径之后,在生成所述连通的转发路径的分段列表时,在第一段标识sid与第二sid之间增加绑定段标识bsid,以使得第一节点对中第一个节点调用所述bsid对应的srv6转发策略选择到所述第一节点对中第二个节点的转发路径,所述bsid对应的转发策略使用的路径计算算法为:所述目标路径计算算法,所述第一节点对为:所述连通的转发路径中的节点对,所述第一sid为:所述第一节点对中第一个节点对应的sid,第二个sid为:所述第一节点对中第二个节点对应的sid。
163.由于本实施例提供的方案中生成连通的转发路径的分段列表时,在第一sid和第二sid之间增加了bsid,而bsid对应的转发策略使用的路径计算算法又是目标路径计算算法,且更新之前的第二转发子路径也是采用目标路径计算算法生成的,因此,节点对中的第一个节点能够按照更新前的第二转发子路径进行路径选择,进而将srv6报文转发至节点对中的第二个节点,从而能够有效保证准确的转发srv6报文。
164.本技术的一个实施例中,所述装置还包括:
165.信息增加模块,用于在生成所述连通的转发路径的分段列表时,在所述第一节点对中各节点对应的sid的功能字段中增加安全认证指令和所述安全认证指令的指令参数。
166.这样每一节点对中的第一个节点和第二个节点接收到待转发的srv6报文后,可以按照sid中携带指令参数,执行sid中携带的安全认证指令,从而保证待转发的srv6报文的安全性。
167.本技术的一个实施例中,所述子路径生成单元403b,具体用于采用最短路径优先算法,基于第四网络节点的拓扑信息和第二网络节点的拓扑信息,进行路径计算,生成从所述第三网络节点到所述尾节点的第二转发子路径。
168.这样节点对中的第一个节点接收到srv6报文后,可以直接按照最短路径优先算法进行路径选择,进而将srv6报文转发至节点对中的第二个节点。这样不仅能够准确的实现srv6报文转发,还能够减少srv6报文所携带信息的信息量。
169.本技术的一个实施例中,所述路径获得模块403,具体用于若所述第一转发路径存在路径中断,向控制节点发送路径请求;接收所述控制节点反馈的第二转发路径,所述第二转发路径为:所述控制节点基于所有第一网络节点的拓扑信息和第二网络节点的拓扑信息确定的、从所述源节点到所述尾节点的转发路径。
170.由以上可见,本实施例提供的方案中,由于控制节点能够掌握网络中网络节点支持的路径计算算法以及网络节点的拓扑信息,因此,能够生成较为准确的转发路径。另外,控制节点承担了生成第二转发路径的工作,从而减轻了作为执行主体的网络节点的工作压力。
171.与上述转发路径生成方法相对应,本技术实施例还提供了一种网络设备。
172.参见图6,图6提供了一种网络设备的结构示意图,该网络设备包括:处理器601和机器可读存储介质602,所述机器可读存储介质602存储有能够被所述处理器601执行的机器可执行指令,所述处理器601被所述机器可执行指令促使:实现前述方法实施例所述的转发路径生成方法步骤。
173.与上述转发路径生成方法相对应,本技术实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现前述方法实施例所述的转发路径生成方法步骤。
174.与上述转发路径生成方法相对应,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述方法实施例所述的转发路径生成方法步骤。
175.需要说明的是,上述机器可读存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,上述机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
176.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
177.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
178.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、网络设备、机器可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
179.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献