一种IPv6实现分段路由的方法及装置转让专利

申请号 : CN201811375977.6

文献号 : CN109194579B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨曙军胡洋洋宋洁

申请人 : 盛科网络(苏州)有限公司

摘要 :

本发明揭示了一种IPv6实现分段路由的方法及装置,通过定义一种新的IPv6分段路由扩展头,在分段路由中采用逐个弹出方式,将使用过的栈顶的段标识删除,并将其他段标识重新按序编号的方式,使得中间设备在处理报文时,只需要看到分段路由栈顶的段标识,从而使分段路由栈大小与硬件解析规格无关,使分段路由适合大规模网络部署,降低网络硬件的成本。

权利要求 :

1.一种IPv6实现分段路由的方法,其特征在于,所述方法包括:

S1,选择报文由网络的源节点转发到目的节点所经过的路由段的集合,将所述路由段的集合用分段路由栈表示,且每个路由段用IPv6段标识表示,在报文中插入所述分段路由栈;

S2,源节点根据报文中所述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,将报文转发到下一中间节点,同时删除所述栈顶的IPv6段标识,更新分段路由栈;

S3,每个下一中间节点按照上一中间节点更新后的分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,同时删除栈顶的IPv6段标识,直至将报文转发到最后一个中间节点;

S4,所述最后一个中间节点将报文根据分段路由栈内最后一个IPv6段标识对应的路由段转发给目的节点,同时删除报文中的分段路由栈;

所述分段路由栈采用IPv6扩展头,所述IPv6扩展头包括IPv6扩展头起始和多个IPv6段标识;所述IPv6段标识在IPv6扩展头中按IPv6段标识[0]~IPv6段标识[n]顺序分布,其中,IPv6段标识[0]表示分段路由栈的栈顶的IPv6段标识,n为大于等于0的整数。

2.根据权利要求1所述的IPv6实现分段路由的方法,其特征在于,所述更新分段路由栈的过程包括:将分段路由栈中的其他IPv6段标识按栈顶到栈底的顺序重新编号。

3.根据权利要求2所述的IPv6实现分段路由的方法,其特征在于,所述按栈顶到栈底的顺序为按IPv6段标识[0]~IPv6段标识[n]顺序,n为大于等于0的整数。

4.一种IPv6实现分段路由的装置,其特征在于,所述装置包括:分段路由栈插入模块、源节点、一个或多个中间节点和目的节点,其中,分段路由栈插入模块,用于选择报文由网络的源节点转发到目的节点所经过的路由段的集合,将所述路由段的集合用分段路由栈表示,且每个路由段用IPv6段标识表示,在报文中插入所述分段路由栈;

源节点,用于根据报文中所述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,将报文转发到下一中间节点,同时删除所述栈顶的IPv6段标识,更新分段路由栈;

每个下一中间节点用于按照上一中间节点更新后的分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,同时删除栈顶的IPv6段标识,直至将报文转发到到最后一个中间节点,所述最后一个中间节点将报文根据分段路由栈内最后一个IPv6段标识对应的路由段转发给目的节点,同时删除报文中的分段路由栈;

所述所述分段路由栈采用IPv6扩展头,所述IPv6扩展头包括IPv6扩展头起始和多个IPv6段标识;所述IPv6段标识在IPv6扩展头中按IPv6段标识[0]~IPv6段标识[n]顺序分布,其中,IPv6段标识[0]表示分段路由栈的栈顶的IPv6段标识,n为大于等于0的整数。

5.根据权利要求4所述的IPv6实现分段路由的装置,其特征在于,所述源节点或中间节点更新分段路由栈的过程包括:将分段路由栈中的其他IPv6段标识按栈顶到栈底的顺序重新编号。

6.根据权利要求5所述的IPv6实现分段路由的装置,其特征在于,所述按栈顶到栈底的顺序为按IPv6段标识[0]~IPv6段标识[n]顺序,n为大于等于0的整数。

说明书 :

一种IPv6实现分段路由的方法及装置

技术领域

[0001] 本发明涉及一种分段路由技术,尤其是涉及一种IPv6实现分段路由的方法及装置。

背景技术

[0002] 分段路由(SegmentRouting,简称SR)是指网络被分隔成若干路由段,报文在网络中转发时,由源结点选择经过的最优段集合,把选出的段集合,依次携带在报文的分段路由栈中,中间结点通过分段路由栈中的段标识,选择相应的路径进行报文转发。
[0003] 如图1所示,如果报文源设备A到终设备F,选择的路径可以通过上述路由段标识来描述,红色路径可表示成{路由段1,路由段4,路由段6,路由段8},源设备A选择路径后在报文中插入分段路由栈,{路由段1,路由段4,路由段6,路由段8},设备A根据路由段1的标识把报文转发到B,设备B根据路由段4的标识把报文转发到D,设备D根据路由段6标识把报文转发到E,设备E根据路由段8标识把报文转发到F,由于为F分段路由终点,所以移除分段路由栈恢复原业务报文。
[0004] 目前业界段标识一般有两种:1.在MPLS/IPv4网络,采用MPLS的标签来标识段,转发面采用MPLS标签来转发。2.在IPv6中网络,采用分段路由扩展头,用IPv6地址来标识段,转发面采用IPv6地址来转发。
[0005] 其中,如图2所示,IPv6的分段路由扩展头由源结点插入,其中字段Segment Left标识当前段标识栈的位置。设置Segment Left=3,Segment List[0]=路由段8,Segment List[1]=路由段6,Segment List[2]=路由段4,Segment List[3]=路由段1。设备A用Segment List[3]的值路由段1进行IPv6查找,得到下一路为设备B,同时把Semgnet Left-1;设备B用Semgnet Left=2,取Segment List[2]的值路由段4进行IPv6查找,得到下一种设备为D,同时把Semgnet Left-1;设备D用Semgnet Left=1,取Segment List[1]的值路由段6进行IPv6查找,得到下一种设备为E,同时把Semgnet Left-1;设备E用Semgnet Left=
0,取Segment List[0]的值路由段8进行IPv6查找,得到下一种设备为E,同时把分段路由扩展头删除。
[0006] 但是,上述方式由于分段路由栈采用的偏移指示位来标识,这样要求中间设备必须看到偏移指示位所指示的段标识,比如设备B必须能看到栈底,网络硬件解析报文深度有规格限制,这样要求分段路由栈必须小于网络硬件解析报文的深度的规格,这个不仅限制了分段路由栈部署的网络规模,也加大的网络硬件的成本。

发明内容

[0007] 本发明的目的在于克服现有技术的缺陷,提供一种IPv6实现分段路由的方法及装置。
[0008] 为实现上述目的,本发明提出如下技术方案:一种IPv6实现分段路由的方法,包括:
[0009] S1,选择报文由网络的源节点转发到目的节点所经过的路由段的集合,将所述路由段的集合用分段路由栈表示,且每个路由段用IPv6段标识表示,在报文中插入所述分段路由栈;
[0010] S2,源节点根据报文中所述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,将报文转发到下一中间节点,同时删除所述栈顶的IPv6段标识,更新分段路由栈;
[0011] S3,每个下一中间节点按照上一中间节点更新后的分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,同时删除栈顶的IPv6段标识,直至将报文转发到最后一个中间节点;
[0012] S4,所述最后一个中间节点将报文根据分段路由栈内最后一个IPv6段标识对应的路由段转发给目的节点,同时删除报文中的分段路由栈。
[0013] 优选地,所述分段路由栈采用IPv6扩展头,所述IPv6扩展头包括IPv6扩展头起始和多个IPv6段标识。
[0014] 优选地,所述IPv6段标识在IPv6扩展头中按IPv6段标识[0]~IPv6段标识[n]顺序分布,其中,IPv6段标识[0]表示分段路由栈的栈顶的IPv6段标识,n为大于等于0的整数。
[0015] 优选地,所述更新分段路由栈的过程包括:将分段路由栈中的其他IPv6段标识按栈顶到栈底的顺序重新编号。
[0016] 优选地,所述按栈顶到栈底的顺序为按IPv6段标识[0]~IPv6段标识[n]顺序,n为大于等于0的整数。
[0017] 本发明还揭示了另外一种技术方案:一种IPv6实现分段路由的装置,包括:分段路由栈插入模块、源节点、一个或多个中间节点和目的节点,其中,
[0018] 分段路由栈插入模块,用于选择报文由网络的源节点转发到目的节点所经过的路由段的集合,将所述路由段的集合用分段路由栈表示,且每个路由段用IPv6段标识表示,在报文中插入所述分段路由栈;
[0019] 源节点,用于根据报文中所述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,将报文转发到下一中间节点,同时删除所述栈顶的IPv6段标识,更新分段路由栈;
[0020] 每个下一中间节点用于按照上一中间节点更新后的分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,同时删除栈顶的IPv6段标识,直至将报文转发到到最后一个中间节点,所述最后一个中间节点将报文根据分段路由栈内最后一个IPv6段标识对应的路由段转发给目的节点,同时删除报文中的分段路由栈。
[0021] 优选地,所述源节点或中间节点更新分段路由栈的过程包括:将分段路由栈中的其他IPv6段标识按栈顶到栈底的顺序重新编号。
[0022] 本发明的有益效果是:通过定义一种新的IPv6分段路由扩展头,采用逐个弹出方式,中间设备在处理报文时,只需要看到分段路由栈顶的段标识,从而使分段路由栈大小与硬件解析规格无关,使分段路由适合大规模网络部署,降低网络硬件的成本。

附图说明

[0023] 图1是报文在网络中转发的原理示意图;
[0024] 图2是现有IPv6的分段路由扩展头示意图;
[0025] 图3、图4是本发明IPv6的分段路由扩展头示意图;
[0026] 图5是本发明方法的流程示意图;
[0027] 图6是本发明装置框图。

具体实施方式

[0028] 下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
[0029] 结合图3~图5所示,本发明所揭示的一种IPv6实现分段路由的方法,包括:
[0030] S1,选择报文由网络的源节点转发到目的节点所经过的路由段的集合,将路由段的集合用分段路由栈表示,且每个路由段用IPv6段标识表示,在报文中插入分段路由栈。
[0031] 具体地,以图1所示为例进行说明,这里的源节点A选择到目的节点F所经过的最优路由段的集合为:路由段1、路由段4、路由段6、路由段8,将这些路由段的集合用分段路由栈表示。本实施例中,结合图3、图4所示,分段路由栈采用一种新的IPv6分段路由扩展头表示,其具体包括IPv6扩展头起始和多个IPv6段标识,其中,这里的IPv6扩展头起始是指图3中的前面8bytes,多个IPv6段标识在IPv6扩展头中按照IPv6段标识[0]~IPv6段标识[n]顺序分布,每个IPv6段标识对应一个路由段,本实施例中,因路由段的集合中有4个路由段,所以n设置为3,对应的:
[0032] IPv6段标识[0]=路由段1;
[0033] IPv6段标识[1]=路由段4;
[0034] IPv6段标识[2]=路由段6;
[0035] IPv6段标识[3]=路由段8。
[0036] 也就是说,插入到源节点A的分段路由栈为上述表示,其栈顶的IPv6段标识[0]对应的路由段为路由段1。
[0037] 当然,这里的IPv6段标识不限于以这里的IPv6段标识[0]~IPv6段标识[n]顺序编号,也可以用其他编号方式,如IPv6段标识[m]~IPv6段标识[n],其中,IPv6段标识[m]表示栈顶的IPv6段标识,IPv6段标识[n]表示栈底的IPv6段标识。
[0038] S2,源节点根据报文中分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,将报文转发到下一中间节点,同时删除所述栈顶的IPv6段标识,更新分段路由栈。
[0039] 具体地,还是以图1所示为例进行说明,源节点A根据栈顶的IPv6段标识[0]对应的路由段1进行转发,将报文转发到中间节点B,同时删除分段路由栈中已经使用过的IPv6段标识,即这里的IPv6段标识[0]。删除后,分段路由栈中还剩3个IPv6段标识,将这3个IPv6段标识重新按IPv6段标识[0]~IPv6段标识[2]顺序进行编号。这样,更新后的分段路由栈的栈顶的IPv6段标识[0]对应的路由段为路由段4,将更新后的分段路由栈插入到报文中发送给中间节点B。更新后的分段路由栈为:
[0040] IPv6段标识[0]=路由段4;
[0041] IPv6段标识[1]=路由段6;
[0042] IPv6段标识[2]=路由段8。
[0043] S3,每个下一中间节点按照上一中间节点更新后的分段路由栈的栈Pv6段标识对应的路由段进行转发,同时删除栈顶的IPv6段标识,直至将报文转发到目的节点。
[0044] 具体地,以图1所示为例进行说明,中间节点B接收到报文后,按报文中更新后的上述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,即根据这里的路由段4进行转发,将报文转发给中间节点D,与源节点操作一样,同时删除分段路由栈中已经使用过的IPv6段标识,即这里的路由段4对应的栈顶IPv6段标识[0],删除后分段路由栈中还剩2个IPv6段标识,将这2个IPv6段标识重新按IPv6段标识[0]~IPv6段标识[1]顺序进行编号。这样,更新后的分段路由栈的栈顶的IPv6段标识[0]对应的路由段为路由段6,将更新后的分段路由栈插入到报文中发送给中间节点D。更新后的分段路由栈为:
[0045] IPv6段标识[0]=路由段6;
[0046] IPv6段标识[1]=路由段8。
[0047] 中间节点D接收到报文后,按报文中更新后的上述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,即根据这里的路由段6进行转发,将报文转发给中间节点E,与源节点操作一样,同时删除分段路由栈中已经使用过的IPv6段标识,即这里的路由段6对应的栈顶IPv6段标识[0],删除后分段路由栈中还剩1个IPv6段标识,将这1个IPv6段标识重新编号为IPv6段标识[0]。这样,更新后的分段路由栈的栈顶的IPv6段标识[0]对应的路由段为路由段8,将更新后的分段路由栈插入到报文中发送给最后一个中间节点F。更新后的分段路由栈为:
[0048] IPv6段标识[0]=路由段8。
[0049] S4,最后一个中间节点将报文根据分段路由栈内最后一个IPv6段标识对应的路由段转发给目的节点,同时删除报文中的分段路由栈。
[0050] 具体地,最后一个中间节点E根据上述更新后的最后一个IPv6段标识对应的路由段8转发报文给目的节点F,同时删除报文中的分段路由栈。
[0051] 这样,报文中的分段路由栈在分段路由中按照逐个弹出的方式,使得中间设备在处理报文时,只需要看到分段路由栈顶的段标识,从而使分段路由栈大小与硬件解析规格无关,使分段路由适合大规模网络部署,降低网络硬件的成本。
[0052] 如图6所示,本发明对应揭示的一种IPv6实现分段路由的装置,包括栈插入模块、源节点、一个或多个中间节点和目的节点,其中,
[0053] 分段路由栈插入模块,用于选择报文由网络的源节点转发到目的节点所经过的路由段的集合,将所述路由段的集合用分段路由栈表示,且每个路由段用IPv6段标识表示,在报文中插入所述分段路由栈;
[0054] 源节点,用于根据报文中所述分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,将报文转发到下一中间节点,同时删除所述栈顶的IPv6段标识,更新分段路由栈;
[0055] 每个下一中间节点用于按照上一中间节点更新后的分段路由栈的栈顶的IPv6段标识对应的路由段进行转发,同时删除栈顶的IPv6段标识,直至将报文转发到到最后一个中间节点,所述最后一个中间节点将报文根据分段路由栈内最后一个IPv6段标识对应的路由段转发给目的节点,同时删除报文中的分段路由栈。
[0056] 其中,栈插入模块、源节点、中间节点和目的节点的工作原理可参照上述方法中的具体描述,这里不再赘述。
[0057] 本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。