分段路由头压缩方法、业务处理方法及装置与流程

文档序号:26939497发布日期:2021-10-12 14:48阅读:259来源:国知局
分段路由头压缩方法、业务处理方法及装置与流程

1.本公开涉及无线通信技术领域,具体涉及一种分段路由头压缩方法、业务处理方法、装置、计算机设备及计算机可读介质。


背景技术:

2.分段路由(segment routing)是一种实现源路由的技术,rfc8402定义了基于mpls(multi-protocol label switching,多协议标签交换)转发面的sr-mpls和基于ipv6(internet protocol version 6,互联网协议第6版)转发面的srv6两种标准的sr机制。随着ipv4(internet protocol version 4,互联网协议第4版)的地址耗尽和物联网的飞速发展,已有越来越多的网络部署了ipv6。srv6可直接基于ipv6扩展路由头实现,无需添加额外封装,实现了ip(internet protocol,网际互连协议)转发和隧道转发的统一,同时由于srv6采用了ipv6地址相同的128bit格式的sid(segment id,分段标识),并将sid分为定位符(locator)和功能(function)两部分,可以实现灵活的网络和业务混合编程,因此srv6得到了业界的广泛认可。
3.但由于srv6方案下,业务路径的描述采用了一系列128bit的sid所组成的sid列表,造成报文头开销过大的问题。为解决该问题,业界提出了多种srh((segment routing header,分段路由头)压缩的解决方案,比如usid方案(draft-filsfils-spring-net-pgm-extension-srv6-usid-02)。usid方案采用16bit的共同前缀和16bit的压缩标识,但是,该方案只讨论了srh压缩,并未说明如何实现网络编程功能,如果要实现网络编程功能,则16bit即要表示定位符,又要实现功能,其长度是不够的,如果增加至32bit,可获得一定编程能力(比如32bit中划分20bit为定位符,12bit为功能),但其编程能力仍比较弱,且压缩效率降低。而另一种srh压缩方案为普通压缩sid(即c-sid)方案,(draft-li-spring-compressed-srv6-np-00),虽然可以在实现srh压缩的同时提供灵活的可编程能力,但其可编程能力仅在转发路径的尾节点提供,无法在中间节点提供。


技术实现要素:

4.本公开针对现有技术中存在的上述不足,提供一种分段路由头压缩方法、业务处理方法、装置、计算机设备及计算机可读介质。
5.第一方面,本公开实施例提供一种分段路由头压缩方法,包括:
6.为分段路由路径上各节点配置普通压缩分段标识,并为所述分段路由路径上的至少部分节点额外配置扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字段;
7.生成包括所述普通压缩分段标识和所述扩展压缩分段标识的分段列表;在所述分段列表中,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后;
8.将所述分段列表携带在业务报文的分段路由头中。
9.在一些实施例中,所述扩展压缩分段标识还包括参数字段。
10.在一些实施例中,所述扩展压缩分段标识为单一扩展压缩分段标识或组合扩展压
缩分段标识,所述单一扩展压缩分段标识包括一个所述功能字段,所述组合扩展压缩分段标识包括多个所述功能字段,且各所述功能字段用于分别实现同一功能的不同部分。
11.在一些实施例中,所述普通压缩分段标识和扩展压缩分段标识包括用于表示为普通压缩分段标识或扩展压缩分段标识的第一标志字段;或者,
12.所述业务报文的分段路由头包括用于表示所述分段列表内的各压缩分段标识为普通压缩分段标识或扩展压缩分段标识的第二标志字段;或者,
13.已配置扩展压缩分段标识的节点的普通压缩分段标识包括功能字段,所述普通压缩分段标识的功能字段用于定义处理本普通压缩分段标识所属节点的扩展压缩分段标识。
14.在一些实施例中,所述普通压缩分段标识包括用于表示所属节点的扩展压缩分段标识长度的第一长度字段,所述长度为单一扩展压缩分段标识长度的倍数;或者,
15.所述扩展压缩分段标识包括用于表示本扩展压缩分段标识长度的第二长度字段,所述长度为单一扩展压缩分段标识长度的倍数;或者,
16.所述扩展压缩分段标识包括用于表示是否为所属节点最后一个扩展压缩分段标识的第三标志字段。
17.又一方面,本公开实施例还提供一种业务处理方法,应用于分段路由路径的节点,所述分段路由路径上各节点配置有普通压缩分段标识,所述分段路由路径上至少部分节点还额外配置有扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字段,所述方法包括:
18.从接收到的业务报文的分段路由头中获取分段列表,其中,所述分段列表包括普通压缩分段标识和扩展压缩分段标识,所述扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后;
19.若所述分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,则获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
20.在一些实施例中,若满足以下条件之一,则所述分段列表中当前待处理的压缩分段标识为扩展压缩分段标识:
21.当前待处理的压缩分段标识中预设第一标志字段的值为表示扩展压缩分段标识的标志;
22.所述业务报文的分段路由头中预设第二标志字段的值为表示当前待处理的压缩分段标识是扩展压缩分段标识的标志;
23.所述分段列表中上一个处理的普通压缩分段标识的功能字段已定义处理所属节点的扩展压缩分段标识。
24.在一些实施例中,所述扩展压缩分段标识为单一扩展压缩分段标识,所述单一扩展压缩分段标识包括一个所述功能字段;所述获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作,包括:
25.若所述扩展压缩分段标识为单一扩展压缩分段标识,则获取所述单一扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
26.在一些实施例中,所述扩展压缩分段标识为组合扩展压缩分段标识,所述组合扩展压缩分段标识包括多个所述功能字段,各所述功能字段用于分别实现同一功能的不同部分;所述获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作,包
括:
27.若所述扩展压缩分段标识为组合扩展压缩分段标识,则获取所述组合扩展压缩分段标识的各功能字段的内容,组合各所述功能字段的内容,并执行组合后的内容定义的操作。
28.在一些实施例中,若满足以下条件之一,则所述扩展压缩分段标识为组合扩展压缩分段标识:
29.所述扩展压缩分段标识所属节点的普通压缩分段标识中预设第一长度字段的值大于或等于2,所述第一长度字段用于表示所属节点的扩展压缩分段标识的长度,所述长度为单一扩展压缩分段标识长度的倍数;
30.所述扩展压缩分段标识中预设第二长度字段的值大于或等于2,所述第二长度字段用于表示本扩展压缩分段标识的长度,所述长度为单一扩展压缩分段标识长度的倍数;
31.所述扩展压缩分段标识中预设第三标志字段的值表示不是所属节点的最后一个扩展压缩分段标识。
32.又一方面,本公开实施例还提供一种分段路由头压缩装置,包括配置模块、生成模块和处理模块,
33.所述配置模块用于,为分段路由路径上各节点配置普通压缩分段标识,并为所述分段路由路径上的至少部分节点额外配置扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字段;
34.所述生成模块用于,生成包括所述普通压缩分段标识和所述扩展压缩分段标识的分段列表;在所述分段列表中,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后;
35.所述处理模块用于,将所述分段列表携带在业务报文的分段路由头中。
36.又一方面,本公开实施例还提供一种业务处理装置,应用于分段路由路径的节点,所述分段路由路径上各节点配置有普通压缩分段标识,所述分段路由路径上至少部分节点还额外配置有扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字段;所述业务处理装置包括:获取模块和处理模块,所述获取模块用于,从接收到的业务报文的分段路由头中获取分段列表,其中,所述分段列表包括普通压缩分段标识和扩展压缩分段标识,所述扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后;
37.所述处理模块用于,若所述分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,则获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
38.又一方面,本公开实施例还提供一种计算机设备,包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的分段路由头压缩方法或业务处理方法。
39.又一方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的分段路由头压缩方法或业务处理方法。
40.本公开实施例提供的分段路由头压缩方法,为分段路由路径上各节点配置普通压缩分段标识,并为所述分段路由路径上的至少部分节点额外配置扩展压缩分段标识,扩展
压缩分段标识至少包括功能字段;生成包括所述普通压缩分段标识和所述扩展压缩分段标识的分段列表;在所述分段列表中,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后;将所述分段列表携带在业务报文的分段路由头中;本公开实施例采用包括功能字段的扩展压缩分段标识,可以在保持分段标识压缩特性的同时提高节点的网络编程能力,实现节点的业务功能扩展,且扩展压缩标识不但可以部署在分段路由路径的尾节点,还可以部署在中间节点,从而提高业务处理的广泛适用性和灵活性;本公开实施例在大幅降低srv6开销的同时,又保留了灵活的网络编程能力,有利于快速推进srv6在现网的落地部署。
附图说明
41.图1为本公开实施例提供的分段路由头压缩方法流程示意图;
42.图2a为本公开实施例提供的c-sid的结构示意图;
43.图2b为本公开实施例提供的单一e-c-sid的结构示意图;
44.图2c为本公开实施例提供的组合e-c-sid的结构示意图;
45.图3a为本公开实施例提供的c-sid和e-c-sid具体示例的结构示意图之一;
46.图3b为本公开实施例提供的c-sid和e-c-sid具体示例的结构示意图之二;
47.图3c为本公开实施例提供的组合e-c-sid具体示例的结构示意图;
48.图4为本公开实施例提供的业务处理方法流程示意图之一;
49.图5为本公开实施例提供的业务处理方法流程示意图之二;
50.图6a为本公开实施例提供的usid场景下的网络拓扑图;
51.图6b为图6a中ipv6报文头中目标地址的示意图;
52.图7a为本公开实施例提供的c-sid场景下的网络拓扑图;
53.图7b为图7a中采用单一e-c-sid的srh的结构示意图;
54.图7c为图7a中采用组合e-c-sid的srh的结构示意图;
55.图8为本公开实施例提供的分段路由头压缩装置的结构示意图;
56.图9为本公开实施例提供的业务处理装置的结构示意图。
具体实施方式
57.在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
58.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
59.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
60.本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实
施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
61.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
62.本公开实施例提供一种分段路由头压缩方法,如图1所示,所述分段路由头压缩方法包括以下步骤:
63.步骤11,为分段路由路径上各节点配置普通压缩分段标识,并为所述分段路由路径上的至少部分节点额外配置扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字段。
64.在本步骤中,分段路由头压缩装置为分段路由路径上的每个节点配置普通压缩分段标识,并为其中某些节点配置扩展压缩分段标识。也就是说,分段路由路径上有些节点只配置了普通压缩分段标识,有些节点既配置了普通压缩分段标识,又配置了扩展压缩分段标识。在本步骤中,分段路由头压缩装置将普通压缩分段标识和扩展压缩分段标识配置到相应的节点后,各节点可以将普通压缩分段标识通过igp(内部网关协议)扩散到整个sr域,将扩展压缩分段标识通过igp扩散或仅在本地保存。需要说明的是,各节点利用全局路由表存储各自的普通压缩分段标识,配置有扩展压缩分段标识的节点,利用本地sid表存储其扩展压缩分段路由标识。
65.如图2a所示,普通压缩分段标识(c-sid)包括定位符(locator)字段和功能(function)字段。如图2b和2c所示,扩展压缩分段标识(e-c-sid)至少包括功能(function)字段。扩展压缩分段标识的功能字段可以支持如iana(the internet assigned numbers authority,互联网数字分配机构)定义的end(终结)类型的业务处理功能。
66.需要说明的是,普通压缩分段标识和扩展压缩分段标识的长度以及各字段占用的字节根据应用场景不同而设定,后续结合具体的应用场景再详细说明。
67.步骤12,生成包括普通压缩分段标识和扩展压缩分段标识的分段列表,在分段列表中,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后。
68.在本步骤中,分段路由路径的源节点计算生成分段列表,分段列表采用压缩分段标识格式,并按网络编程需要压入各节点的普通压缩分段标识,或者,普通压缩分段标识和扩展压缩分段标识。在分段列表中,分段路由路径上各节点的压缩分段标识按照业务报文的转发顺序排列,同一个节点的普通压缩分段标识位于该节点的扩展压缩分段标识之前。
69.步骤13,将分段列表携带在业务报文的分段路由头中。
70.在本步骤中,将分段列表携带在业务报文的分段路由头中,而分段列表包括c-sid和e-c-sid,这样,在转发业务报文时,就可以在分段路由路径上各节点之间实现c-sid和e-c-sid中信息的传输,大幅降低srv6开销。
71.本公开实施例提供的分段路由头压缩方法,为分段路由路径上各节点配置普通压缩分段标识,并为所述分段路由路径上的至少部分节点额外配置扩展压缩分段标识,扩展压缩分段标识至少包括功能字段;生成包括所述普通压缩分段标识和所述扩展压缩分段标识的分段列表;在所述分段列表中,扩展压缩分段标识紧邻并位于所属节点的普通压缩分
段标识之后;将所述分段列表携带在业务报文的分段路由头中;本公开实施例采用包括功能字段的扩展压缩分段标识,可以在保持分段标识压缩特性的同时提高节点的网络编程能力,实现节点的业务功能扩展,且扩展压缩标识不但可以部署在分段路由路径的尾节点,还可以部署在中间节点,从而提高业务处理的广泛适用性和灵活性;本公开实施例在大幅降低srv6开销的同时,又保留了灵活的网络编程能力,有利于快速推进srv6在现网的落地部署。
72.在一些实施例中,如图2b和图2c所示,扩展压缩分段标识还可以包括参数(argument)字段。参数字段为可选字段,可以用来携带自定义参数,以实现较为复杂的功能,例如,业务链(service function chain,sfc)相关功能。扩展压缩分段标识不仅可以利用功能字段实现简单的业务处理(如iana定义的end类型),还可以利用参数字段实现比较复杂的业务功能。
73.在一些实施例中,扩展压缩分段标识可以分为单一扩展压缩分段标识或组合扩展压缩分段标识。如图2b所示,单一扩展压缩分段标识包括一个功能字段。如图2c所示,组合扩展压缩分段标识包括多个功能字段,且各功能字段用于分别实现同一功能的不同部分。也就是说,一个组合扩展压缩分段标识的所有功能字段组合之后才能实现一个完整的功能。
74.在本公开实施例中,压缩分段标识包括两类:普通压缩分段标识和扩展分段标识,区分普通压缩分段标识和扩展分段标识可以通过定义标志字段或定义新增功能两种方式实现。
75.通过定义标志字段的方式区分普通压缩分段标识和扩展分段标识包括以下两种:
76.(1)普通压缩分段标识和扩展压缩分段标识包括用于表示为普通压缩分段标识或扩展压缩分段标识的第一标志字段。如图3a所示,普通压缩分段标识和扩展压缩分段标识的长度均可为16bit,普通压缩分段标识与扩展压缩分段标识的区别在于压缩分段标识的首bit的值不同,首bit为0时表示该压缩分段标识普通压缩分段标识,首bit为1时表示该压缩分段标识为扩展压缩分段标识。
77.(2)业务报文的分段路由头包括用于表示分段列表内的各压缩分段标识为普通压缩分段标识或扩展压缩分段标识的第二标志字段。也就是说,将业务报文的分段路由头的预设bit位作为第二标志字段,用来表示相应压缩分段标识是普通压缩分段标识还是扩展压缩分段标识。
78.通过定义新增功能的方式区分普通压缩分段标识和扩展分段标识包括:已配置扩展压缩分段标识的节点的普通压缩分段标识包括功能字段,所述普通压缩分段标识的功能字段用于定义处理本普通压缩分段标识所属节点的扩展压缩分段标识。也就是说,对于配置了扩展压缩分段标识的节点(例如节点x)而言,如图2a所示,其普通压缩分段标识包括功能字段,在该功能字段定义处理本普通压缩分段标识所属节点(即节点x)的扩展压缩分段标识(即分段列表中节点x的普通压缩分段标识的下一个压缩分段标识),该扩展压缩分段标识可以为图2b所示的单一扩展压缩分段标识,也可以为图2c所示的组合扩展压缩分段标识。
79.在本公开实施例中,扩展压缩分段标识包括两类:单一扩展压缩分段标识和组合扩展分段标识,区分单一扩展压缩分段标识和组合扩展分段标识可以通过定义长度字段或
定义标志字段两种方式实现。
80.通过定义长度字段的方式区分单一扩展压缩分段标识和组合扩展分段标识包括以下两种:
81.(1)普通压缩分段标识包括用于表示所属节点的扩展压缩分段标识长度的第一长度字段,所述长度为单一扩展压缩分段标识长度的倍数。也就是说,对于配置了扩展压缩分段标识的节点(例如节点x)而言,在其普通压缩分段标识的第一长度字段定义该节点(即节点x)的扩展压缩分段标识包括几个,若第一长度字段的值为1,则说明该节点x的扩展压缩分段标识为单一扩展压缩分段标识;若第一长度字段的值大于或等于2,则说明该节点x的扩展压缩分段标识为组合扩展压缩分段标识。
82.(2)扩展压缩分段标识包括用于表示本扩展压缩分段标识长度的第二长度字段,所述长度为单一扩展压缩分段标识长度的倍数;如图3c所示,单一扩展压缩分段标识的长度为32bit,扩展压缩分段标识包括4bit的第二长度字段,图3c所示的扩展压缩分段标识的长度为64bit,是单一扩展压缩分段标识长度(32bit)的2倍,因此第二数量字段的值为2,功能字段的长度为44bit,剩余bit为参数字段。
83.通过定义标志字段的方式区分单一扩展压缩分段标识和组合扩展分段标识包括:扩展压缩分段标识包括用于表示是否为所属节点最后一个扩展压缩分段标识的第三标志字段。也就是说,可以通过扩展压缩分段标识中的第三标志字段的值判断该扩展压缩字段是单一扩展压缩分段标识还是组合扩展分段标识,若第三标志字段的值表示为所属节点的最后一个扩展压缩分段标识,则说明该扩展压缩字段为单一扩展压缩字段;若第三标志字段的值表示为不是所属节点的最后一个扩展压缩分段标识,则说明该扩展压缩字段为组合扩展压缩字段。
84.本公开实施例还提供一种业务处理方法,所述方法应用于分段路由路径的节点,所述分段路由路径上各节点配置有普通压缩分段标识,所述分段路由路径上至少部分节点还额外配置有扩展压缩分段标识,扩展压缩分段标识至少包括功能字段,如图4所示,所述业务处理方法包括:
85.步骤21,从接收到的业务报文的分段路由头中获取分段列表,其中,分段列表包括普通压缩分段标识和扩展压缩分段标识,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后。
86.在本步骤中,分段路由路径上的节点接收到上一跳节点发送的业务报文后,从业务报文的分段路由头中获取分段列表,其中,业务报文的分段路由头采用前述实施例提供的分段路由头压缩方法进行压缩。也就是说,在进行业务报文转发之前,分段路由头压缩装置生成包括普通压缩分段标识和扩展压缩分段标识的分段列表,实现分段路由头的压缩。
87.步骤22,若分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,则获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
88.在本步骤中,业务处理装置根据分段列表判断当前待处理的压缩分段标识是否为扩展压缩分段标识,若是,则获取该待处理的扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作,从而实现本节点网络编程的功能。若当前待处理的压缩分段标识为普通压缩分段标识,则按照现有流程处理,例如,如果该普通压缩分段标识包括功能字段,则获取该普通压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
89.本公开实施例提供的业务处理方法,从接收到的业务报文的分段路由头中获取分段列表,其中,分段列表包括普通压缩分段标识和扩展压缩分段标识,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后;若分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,则获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作;本公开实施例采用包括功能字段的扩展压缩分段标识,可以在保持分段标识压缩特性的同时提高节点的网络编程能力,实现节点的业务功能扩展,且扩展压缩标识不但可以部署在分段路由路径的尾节点,还可以部署在中间节点,从而提高业务处理的广泛适用性和灵活性;本公开实施例在大幅降低srv6开销的同时,又保留了灵活的网络编程能力,有利于快速推进srv6在现网的落地部署。
90.在一些实施例中,若满足以下a-c条件之一,则认为分段列表中当前待处理的压缩分段标识为扩展压缩分段标识:
91.a.当前待处理的压缩分段标识中预设第一标志字段的值为表示扩展压缩分段标识的标志;如图3a所示,压缩分段标识的首bit为第一标志字段,第一标志字段的值为0表示该压缩分段标识为普通压缩分段标识,第一标志字段的值为1表示该压缩分段标识为扩展压缩分段标识。
92.b.业务报文的分段路由头中预设第二标志字段的值为表示当前待处理的压缩分段标识是扩展压缩分段标识的标志。
93.c.分段列表中上一个处理的普通压缩分段标识的功能字段已定义处理所属节点的扩展压缩分段标识;如图2a所示,若分段列表中上一个处理的普通压缩分段标识的功能字段(function)已定义处理该普通压缩分段标识所属节点的扩展压缩分段标识,说明该节点已配置了扩展压缩标识,相应的,分段列表中该普通压缩分段标识的下一个压缩分段标识(即当前待处理的压缩分段标识)即为扩展压缩分段标识。
94.如前所述,扩展压缩分段标识包括单一扩展压缩分段标识或组合扩展压缩分段标识,单一扩展压缩分段标识包括一个功能字段,组合扩展压缩分段标识包括多个功能字段,各功能字段用于分别实现同一功能的不同部分。
95.在一些实施例中,如图5所示,所述获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作(即步骤22),包括:
96.步骤31,判断扩展压缩分段标识是否为组合扩展压缩分段标识,若是,则执行步骤32;否则,执行步骤33。
97.在一些实施例中,若满足以下d-f条件之一,则认为扩展压缩分段标识为组合扩展压缩分段标识:
98.d.扩展压缩分段标识所属节点的普通压缩分段标识中预设第一长度字段的值大于或等于2,第一长度字段用于表示所属节点的扩展压缩分段标识的长度,所述长度为单一扩展压缩分段标识长度的倍数。
99.e.扩展压缩分段标识中预设第二长度字段的值大于或等于2,第二长度字段用于表示本扩展压缩分段标识的长度,所述长度为单一扩展压缩分段标识长度的倍数;如图3c所示,单一扩展压缩分段标识的长度为32bit,扩展压缩分段标识包括4bit的第二数量长度字段,分段列表中当前待处理的压缩分段标识为图3c所示的扩展压缩分段标识,其长度为64bit,是单一扩展压缩分段标识长度(32bit)的2倍,因此第二数量字段的值为2,因此,该
扩展压缩分段标识为组合扩展压缩分段标识。
100.f.扩展压缩分段标识中预设第三标志字段的值为表示不是所属节点的最后一个扩展压缩分段标识。也就是说,若第三标志字段的值表示为所属节点的最后一个扩展压缩分段标识,则说明该扩展压缩字段为单一扩展压缩字段;若第三标志字段的值表示为不是所属节点的最后一个扩展压缩分段标识,则说明该扩展压缩字段为组合扩展压缩字段。
101.步骤32,获取所述扩展压缩分段标识的各功能字段的内容,组合各所述功能字段的内容,并执行组合后的内容定义的操作。
102.在本步骤中,若判断出分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,且为组合扩展压缩分段标识,则分别获取该组合扩展压缩分段标识的各个功能字段的内容,将获取到的内容组合,确定并执行组合后的内容所定义的操作。
103.步骤33,获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
104.在本步骤中,若判断出分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,且为单一扩展压缩分段标识,则获取该单一扩展压缩分段标识的功能字段的内容,并执行所述内容所定义的操作。
105.本公开实施例可以应用于usid场景和c-sid场景,为了清楚描述本公开实施例的方案,以下分别结合usid场景和c-sid场景,对本公开实施例的方案进行详细说明。
106.图6a和图6b所示的实施例为usid场景,采用usid方案进行分段路由头压缩。在usid场景下,将分段路由头中sid的128bit划分为一个usid block和多个usid,其中usid block为共同前缀,每个usid表示一个节点或邻接,usid block和usid可均采用16bit,业务报文每经过一个节点时,通过usid移位与usid block组合形成新的da(destination address,目标地址)。
107.在本实施例中,通过压缩sid中第一标志字段的值区分c-sid和e-c-sid。具体的,如图3a所示,压缩分段标识的长度为16bit,c-sid和e-c-sid的区别在于首bit(即第一标志字段),该bit的值为0时表示普通压缩分段标识,为1时表示扩展压缩分段标识。
108.如图6a所示,a、b、c、d、e、f为sr域的网络节点,创建一个a-b-e-f-d的srv6隧道(如图6a中箭头所示)。规划usid block为0010,在节点a/b/c/d/e/f分别配置c-sid为000a/000b/000c/000d/000e/000f,这些c-sid在通过igp协议扩散后,分别安装在所有节点的全局路由表中。节点d还配置有值为ff88的e-c-sid,该e-c-sid安装在节点d的本地sid表中。
109.节点a生成srv6隧道,采用usid压缩格式,其ipv6头中的da为:10:b:e:f:d:ff88::。在节点d的e-c-sid中定义end操作,实现网络编程处理。
110.业务处理流程如下:节点a生成分段列表后,将业务报文转发到下一跳节点b。节点b从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中有未处理的压缩sid,通过移位获取下一个压缩sid,判断出当前待处理的压缩sid为c-sid(即节点e的c-sid),根据该c-sid的指示,将业务报文转发到下一跳节点e。节点e从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中有未处理的压缩sid,通过移位获取下一个压缩sid,判断出当前待处理的压缩sid为c-sid(即节点f的c-sid),根据该c-sid的指示,将业务报文转发到下一跳节点f。节点f从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中有未处理的压缩sid,通过移位获取下一个压缩sid,判断出当前待处理
的压缩sid为c-sid(即节点d的c-sid),根据该c-sid的指示操作之后,判断出分段列表中有未处理的压缩sid,通过移位获取下一个压缩sid,判断出当前待处理的压缩sid为e-c-sid(即节点d的e-c-sid),获取该节点d的e-c-sid的功能字段的内容,并执行相应操作,此时,分段列表中没有未处理的sid,业务处理流程结束。
111.在本实施例中,可以将原本需要4*128bit的分段列表压缩在一个128bit的da中,实现了srv6的分段路由头压缩,同时提供了网络编程能力。需要说明的是,虽然本实施例中,网络编程能力仅体现在srv6隧道尾节点(节点d),但在隧道中间点也可以实现网络编程能力。
112.图7a和图7b所示的实施例为c-sid场景,采用c-sid方案进行分段路由头压缩。在c-sid场景下,将压缩sid分为共同前缀部分和节点/邻接标识部分,但压缩sid的共同前缀只体现在ipv6的da中,在srh中只携带压缩后的节点/邻接标识部分,业务报文每经过一个节点时,取srh中相应的压缩头(c-sid)替换da中的相应bit位,为实现编程能力,在c-sid的末尾放置一个128bit的压缩sid。
113.在本实施例中,通过在已配置e-c-sid的节点的c-sid中设置功能字段,用于定义处理本c-sid所属节点的e-c-sid。具体的,如图3b所示,采用32bit的压缩sid长度,定义c-sid中前16bit为定位符字段(locator),后16bit为功能字段(function),此处为方便表述,按16bit|16bit来划分,实际应用中定位符字段通常占更多bit,比如采用20bit|12bit的划分方式)。e-c-sid定义前16bit为功能字段(function),后16bit为参数字段(arguments),此处也是为便于表述的划分方式,实际可按需灵活划分。
114.如图7a所示,a、b、c、d、e、f为sr域的网络节点,创建一个a-b-e-f-d的srv6隧道(如图7a中箭头所示)。规划sr域的共同前缀为2001,在节点a/b/c/d/e/f分别配置c-sid为a:0/b:0/c:0/d:0/e:0/f:0,这些c-sid通过igp协议扩散后,分别安装在所有节点的全局路由表中。在节点f的c-sid中定义一个新的end(终结)操作:end.xf,表示需要处理e-c-sid。另外,在节点f配置值为fa:88的e-c-sid(单一e-c-sid),该e-c-sid安装在节点f的本地sid表中,实现本地的一个sfc功能。
115.节点a生成srv6隧道,采用c-sid压缩格式,其srh如图7b所示。原有的c-sid压缩方案定义的end操作不变,通常为将当前sl(segments left)指针指向的c-sid替换da中的末尾32bit,如果最后一个c-sid为128bit,则直接替换整个da。
116.业务处理流程如下:节点a生成分段列表后,将业务报文转发到下一跳节点b。节点b从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中有未处理的压缩sid,通过将sl减1获取下一个压缩sid,判断出当前待处理的压缩sid为c-sid(即节点e的c-sid),根据该c-sid的指示,将业务报文转发到下一跳节点e。节点e从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中有未处理的sid,通过将sl减1获取下一个压缩sid,判断出当前待处理的压缩sid为c-sid(即节点f的c-sid),根据该c-sid的指示,将业务报文转发到下一跳节点f。节点f从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中有未处理的压缩sid,通过将sl减1获取下一个压缩sid,判断出当前待处理的压缩sid为e-c-sid(即节点f的e-c-sid),获取该e-c-sid的功能字段的内容,并执行所述内容定义的操作。节点f判断出分段列表中有未处理的压缩sid,通过将sl减1获取下一个压缩sid,判断出当前待处理的压缩sid为c-sid(即节点d的c-sid),根据该c-sid的指示,将
业务报文转发到下一跳节点d。节点d从接收到的业务报文的分段路由头中获取分段列表,判断出分段列表中没有未处理的压缩sid,流程结束。
117.在本实施例中,可以将原本需要4*128bit的分段列表压缩为5*32bit,实现了srv6的分断路由头压缩,同时提供了网络编程能力。
118.在图7a和图7b所示的c-sid场景下,也可以采用组合扩展压缩sid实现编程,以实现更复杂的编码功能,其中组合扩展压缩sid的格式如图3c所示,可以包含2个32bit,其中前4bit为第一长度字段,用于表示本组合扩展压缩sid的长度,即包含32bit的数量,最后16bit表示参数字段,中间其余bit表示功能字段。
119.在本实施例中,节点a生成srv6隧道,采用c-sid压缩格式,其srh如图7c所示。节点a、b、e、d的业务处理流程均与前一实施例的单一e-c-sid的业务处理流程相同,对于节点f而言,分别获取节点f的e-c-sid的两个功能字段(即28bit和16bit)的内容,进行组合之后,执行组合后的内容所定义的操作。
120.基于相同的技术构思,本公开实施例还提供一种分段路由头压缩装置,如图8所示,所述分段路由头压缩装置包括配置模块101、生成模块102和处理模块103,配置模块101用于,为分段路由路径上各节点配置普通压缩分段标识,并为所述分段路由路径上的至少部分节点额外配置扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字段。
121.生成模块102用于,生成包括所述普通压缩分段标识和所述扩展压缩分段标识的分段列表;在所述分段列表中,扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后。
122.处理模块103用于,将所述分段列表携带在业务报文的分段路由头中。
123.如权利要求1所述的方法,其中,所述扩展压缩分段标识还包括参数字段。
124.在一些实施例中,所述扩展压缩分段标识为单一扩展压缩分段标识或组合扩展压缩分段标识,所述单一扩展压缩分段标识包括一个所述功能字段,所述组合扩展压缩分段标识包括多个所述功能字段,且各所述功能字段用于分别实现同一功能的不同部分。
125.在一些实施例中,所述普通压缩分段标识和扩展压缩分段标识包括用于表示为普通压缩分段标识或扩展压缩分段标识的第一标志字段;或者,
126.所述业务报文的分段路由头包括用于表示所述分段列表内的各压缩分段标识为普通压缩分段标识或扩展压缩分段标识的第二标志字段;或者,
127.已配置扩展压缩分段标识的节点的普通压缩分段标识包括功能字段,所述普通压缩分段标识的功能字段用于定义处理本普通压缩分段标识所属节点的扩展压缩分段标识。
128.在一些实施例中,所述普通压缩分段标识包括用于表示所属节点的扩展压缩分段标识长度的第一长度字段,所述长度为单一扩展压缩分段标识长度的倍数;或者,
129.所述扩展压缩分段标识包括用于表示本扩展压缩分段标识长度的第二长度字段,所述长度为单一扩展压缩分段标识长度的倍数;或者,
130.所述扩展压缩分段标识包括用于表示是否为所属节点最后一个扩展压缩分段标识的第三标志字段。
131.基于相同的技术构思,本公开实施例还提供一种业务处理装置,应用于分段路由路径的节点,所述分段路由路径上各节点配置有普通压缩分段标识,所述分段路由路径上至少部分节点还额外配置有扩展压缩分段标识,所述扩展压缩分段标识至少包括功能字
段。如图9所示,所述业务处理装置包括获取模块201和处理模块202,获取模块201用于,从接收到的业务报文的分段路由头中获取分段列表,其中,所述分段列表包括普通压缩分段标识和扩展压缩分段标识,所述扩展压缩分段标识紧邻并位于所属节点的普通压缩分段标识之后。
132.处理模块202用于,若所述分段列表中当前待处理的压缩分段标识为扩展压缩分段标识,则获取所述扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
133.在一些实施例中,处理模块202用于,若满足以下条件之一,则所述分段列表中当前待处理的压缩分段标识为扩展压缩分段标识:当前待处理的压缩分段标识中预设第一标志字段的值为表示扩展压缩分段标识的标志;所述业务报文的分段路由头中预设第二标志字段的值为表示当前待处理的压缩分段标识是扩展压缩分段标识的标志;所述分段列表中上一个处理的普通压缩分段标识的功能字段已定义处理所属节点的扩展压缩分段标识。
134.在一些实施例中,所述扩展压缩分段标识为单一扩展压缩分段标识,所述单一扩展压缩分段标识包括一个所述功能字段;处理模块202用于,若所述扩展压缩分段标识为单一扩展压缩分段标识,则获取所述单一扩展压缩分段标识的功能字段的内容,并执行所述内容定义的操作。
135.在一些实施例中,所述扩展压缩分段标识为组合扩展压缩分段标识,所述组合扩展压缩分段标识包括多个所述功能字段,各所述功能字段用于分别实现同一功能的不同部分;处理模块202用于,若所述扩展压缩分段标识为组合扩展压缩分段标识,则获取所述组合扩展压缩分段标识的各功能字段的内容,组合各所述功能字段的内容,并执行组合后的内容定义的操作。
136.在一些实施例中,处理模块202用于,若满足以下条件之一,则所述扩展压缩分段标识为组合扩展压缩分段标识:所述扩展压缩分段标识所属节点的普通压缩分段标识中预设第一长度字段的值大于或等于2,所述第一长度字段用于表示所属节点的扩展压缩分段标识的长度,所述长度为单一扩展压缩分段标识长度的倍数;所述扩展压缩分段标识中预设第二长度字段的值大于或等于2,所述第二长度字段用于表示本扩展压缩分段标识的长度,所述长度为单一扩展压缩分段标识长度的倍数;所述扩展压缩分段标识中预设第三标志字段的值表示不是所属节点的最后一个扩展压缩分段标识。
137.本公开实施例还提供了一种计算机设备,该计算机设备包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的分段路由头压缩方法。
138.本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的业务处理方法。
139.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以
分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
140.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1