CN117596206B - SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备 - Google Patents
SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备 Download PDFInfo
- Publication number
- CN117596206B CN117596206B CN202410078297.7A CN202410078297A CN117596206B CN 117596206 B CN117596206 B CN 117596206B CN 202410078297 A CN202410078297 A CN 202410078297A CN 117596206 B CN117596206 B CN 117596206B
- Authority
- CN
- China
- Prior art keywords
- srv
- sid
- dynamic compression
- prefix
- prefix mapping
- 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
- 230000006835 compression Effects 0.000 title claims abstract description 142
- 238000007906 compression Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013507 mapping Methods 0.000 claims abstract description 134
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 238000013075 data extraction Methods 0.000 claims abstract description 4
- 238000004806 packaging method and process Methods 0.000 claims abstract description 4
- 238000011084 recovery Methods 0.000 claims abstract description 4
- 230000001502 supplementing effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 2
- 239000013589 supplement Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 230000008521 reorganization Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/748—Address table lookup; Address filtering using longest matching prefix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备,其中,所述系统包括判别单元、数据提取单元、压缩编排单元、前缀映射表生成单元、前缀映射表、SRv6 SID复原单元和补0用的Index参数指引表,其中,前缀映射表生成单元中设置有用于对前缀映射字段进行监测的更新监测模块;判别单元与数据提取单元通信连接,数据提取单元分别与压缩编排单元和前缀映射表生成单元通信连接,压缩编排单元与SRv6报文封装单元通信连接;SRv6 SID复原单元分别与前缀映射表和SRv6报文解析单元通信连接。本发明可以大大减少段列表的长度,提高SID压缩的灵活性与多场景适用性。
Description
技术领域
本发明涉及计算机技术领域,具体地说是一种SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备。
背景技术
SRv6采用IPv6标准规范中定义的路由扩展报头,新定义了一种IPv6的扩展报头—SRH(Segment Routing Header),该扩展头指定一个IPv6的显式路径,存储的是IPv6的Segment List信息,其作用与SR-MPLS里的标签类似,头节点在IPv6报文中增加一个SRH扩展头,中间SRv6节点就可以按照SRH里包含的路径信息进行处理和转发,而非SRv6节点只需要按照标准的目的IPv6进行传统转发即可。
当前,SRv6方案基于SRH,其SID长度为128bit Segment ID,具有可路由属性。在大规模网络中(例如5G承载网,流量需要穿过城域网以及IP骨干网),需要逐跳指定转发路径,节点数量较多,使用的SRv6SID数量可能超过5个,甚至达到10个。当使用10个SRv6 SID时,IPv6 报文头合计长度将超过200字节,但报文的总长度是有限的,过长的报文头会带来更多的传输开销,导致SRv6报文里IPv6载荷占比下降,影响转发效率,同时现有的设备由于硬件的限制,只能够读取有限的栈深。
在处理SRv6报文时,需要读取完整的SRH,即获取到全部SID信息再按照要求进行基于SID的转发,SID层数越多,对现网设备的芯片处理能力要求越高,8层SID就达到了128Byte的SRH长度,对于多层数SID的操作将大大增加芯片复杂度,影响设备性能,增加处理时延。
为了解决这一问题,人们提出了G-SID方案和Micro-SID方案。
G-SID方案提出将SID list中SID的公共前缀移除,仅携带变化的压缩SID,称为G-SID。在替换目的地址时,通过将压缩SID和当前IPv6目的地址之中的公共前缀拼接形成新的SID,继续查表转发,从而实现SRv6的压缩。该方案不具备动态压缩属性,为了保留公共前缀,不能对第一条SID进行压缩,影响压缩效率。
Micro-SID方案的基本思想是,SRv6包的每个16字节指令(SID)可以携带一个微程序,该程序由称为Micro-SID的标识符表示的微指令组成。当需要在一个SRv6数据包中传输多个段(SID)时,这种方法可以大大节省数据包的开销。最常见的配置,Micro-SID用2个字节表示,最多6个Micro-SID可以用一个常规的16个字节的SID携带。例如,一个5跳的SR路径需要16*5=80字节表示为一个规则的“SR路径”,常规SID需要5个,而用Micro-SID方案只需要携带5个Micro-SID序列的一个常规的16个字节SID即可。该方案不具备动态压缩属性,且需要建立新的IP地址与Micro-SID的映射关系。
发明内容
为此,本发明所要解决的技术问题在于提供一种SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备,可以大大减少段列表的长度,提高SID压缩的灵活性与多场景适用性。
为解决上述技术问题,本发明提供如下技术方案:
SRv6 SID动态压缩编排方法,将SRH扩展头中的SRv6 SID的位置标识、功能标识和参数细化为前缀映射字段和动态压缩编排字段,然后建立前缀映射字段与节点SRv6SID相映射的前缀映射表,并在前缀映射表中引入SL字段和表示在压缩的128位SRv6 SID中每个压缩ID的横坐标索引的DL字段,且在每个节点均存储有所有节点的前缀映射表,其中,前缀映射字段包括公共前缀、域ID和节点ID,动态压缩编排字段包括Opcode和参数,SL字段表示为剩余分段数;当SRH扩展头中SRv6 SID层数Q超过阈值n,则利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再将组成的D-SID填充至SRH扩展头中的SegmentList中,Q、n和m均为大于或等于1的自然数;若m个动态压缩编排字段总长度小于128个字节时,则对由m个动态压缩编排字段组成的D-SID进行补0,直至补0后的D-SID长度为128个字节。其中,阈值n通常为4,也可以根据需要进行设定。
上述SRv6 SID动态压缩编排方法,具体包括如下步骤:
S1)判断SRv6 SID的层数Q是否超过了阈值n,如果超过阈值,则跳转至步骤S2)继续执行,反之,则不对SRv6 SID进行压缩;
S2)按照SRv6 SID在SRH扩展头中的顺序以留存动态压缩编排字段的方式对SRv6SID进行重新编排,并利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再用D-SID填充至SHR扩展头中的Segment List中。
上述SRv6 SID动态压缩编排方法,设置补0用的Index参数指引表;在Index参数指引表中,参数名称Indexj与调取值X相对应,其中,j为大于或等于0的整数,调取值X为需要补0的数量;当利用动态压缩编排字段组成D-SID且所使用的动态压缩编排字段总长度小于128个字节时,自动定向调取Index参数指引表中的参数Indexj,然后补充相应数量的0。
上述SRv6 SID动态压缩编排方法,当公共前缀、域ID和节点ID中任意一个发生变化时,前缀映射表也做相应调整。
利用上述SRv6 SID动态压缩编排方法进行SRv6 SID动态压缩编排的系统,包括:
判别单元,用于获取SRH扩展头中SRv6 SID信息并对SRH扩展头中SRv6SID数量是否超过阈值n进行判别;
数据提取单元,用于提取SRv6 SID中的前缀映射字段和动态压缩编排字段;
压缩编排单元,用于利用多个动态压缩编排字段重新编排组成D-SID;其中,当m个动态压缩编排字段总长度小于128个字节且m+1个动态压缩编排字段总长度大于128个字节时,利用m个动态压缩编排字段组成D-SID并对D-SID进行补0,直至补0后的D-SID长度为128个字节;
前缀映射表生成单元,用于根据前缀映射字段和节点SRv6 SID生成前缀映射表;
前缀映射表,用于载录前缀映射字段与节点SRv6 SID之间的映射关系;
SRv6 SID复原单元,用于根据D-SID中的动态压缩编排字段和前缀映射表中的前缀映射字段组合复原SRv6 SID;
判别单元与数据提取单元通信连接,数据提取单元分别与压缩编排单元和前缀映射表生成单元通信连接,压缩编排单元与SRv6报文封装单元通信连接;SRv6 SID复原单元分别与前缀映射表和SRv6报文解析单元通信连接。
上述系统,还包括补0用的Index参数指引表;在Index参数指引表中,参数名称Indexj与调取值X相对应,其中,j为大于或等于0的整数,调取值X为需要补0的数量;当利用动态压缩编排字段组成D-SID且所使用的动态压缩编排字段总长度小于128个字节时,自动定向调取Index参数指引表中的参数Indexj,然后补充相应数量的0。
上述系统,前缀映射表生成单元中设置有用于对前缀映射字段进行监测的更新监测模块;当监测到前缀映射字段发生变化时,前缀映射表生成单元则根据变化后的前缀映射字段生成新的前缀映射表,然后将新的前缀映射表发送至进行SRv6报文转发的各个节点。
交换装置,利用上述SRv6 SID动态压缩编排方法对SRH扩展头中的SRv6 SID进行动态压缩并对SRv6报文进行转发。
计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法。
计算机设备,包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法。
本发明的技术方案取得了如下有益的技术效果:
本发明可以大大减少段列表的长度,提高SID压缩的灵活性与多场景适用性,在一些可能需要在IPv6数据报头中携带大量的字段的SRv6服务场景,减少数据报头开销的大小有助于尽量减少对MTU(最大传输单元)的影响,降低长报头对在处理能力有限的遗留硬件设备上启用SRv6的影响。
附图说明
图1为本发明中SRv6 SID动态压缩编排系统的工作原理图;
图2为细化前的SRv6 SID结构示意图;
图3为细化后的SRv6 SID的结构示意图;
图4为第(I)中情况下SRH扩展头中16层的SRv6 SID动态压缩编排前的排列结构示意图;
图5为第(I)中情况下SRH扩展头中16层的SRv6 SID动态压缩编排后的排列结构示意图;
图6为第(II)中情况下SRH扩展头中16层的SRv6 SID动态压缩编排前的排列结构示意图;
图7为第(II)中情况下SRH扩展头中16层的SRv6 SID动态压缩编排后的排列结构示意图;
图8为SRv6报文报头结构示意图;
图9为压缩SID位置排序图;
图10为可进行企业生产网自组网的计算机设备原理图。
具体实施方式
下面结合示例,针对本发明进行进一步说明。
如图1所示,本发明中,SRv6 SID动态压缩编排系统,包括判别单元、数据提取单元、压缩编排单元、前缀映射表生成单元、前缀映射表、SRv6 SID复原单元和补0用的Index参数指引表,其中,前缀映射表生成单元中设置有用于对前缀映射字段进行监测的更新监测模块;判别单元与数据提取单元通信连接,数据提取单元分别与压缩编排单元和前缀映射表生成单元通信连接,压缩编排单元与SRv6报文封装单元通信连接;SRv6 SID复原单元分别与前缀映射表和SRv6报文解析单元通信连接。
本发明中,判别单元,用于获取SRH扩展头中SRv6 SID信息并对SRH扩展头中SRv6SID数量是否超过阈值n进行判别;数据提取单元,用于提取SRv6 SID中的前缀映射字段和动态压缩编排字段;压缩编排单元,用于利用多个动态压缩编排字段重新编排组成D-SID;其中,当m个动态压缩编排字段总长度小于128个字节且m+1个动态压缩编排字段总长度大于128个字节时,利用m个动态压缩编排字段组成D-SID并对D-SID进行补0,直至补0后的D-SID长度为128个字节;前缀映射表生成单元,用于根据前缀映射字段和节点SRv6SID生成前缀映射表;前缀映射表,用于载录前缀映射字段与节点SRv6 SID之间的映射关系;SRv6 SID复原单元,用于根据D-SID中的动态压缩编排字段和前缀映射表中的前缀映射字段组合复原SRv6 SID;在Index参数指引表中,参数名称Indexj与调取值X相对应,其中,j为大于或等于0的整数,调取值X为需要补0的数量;当利用动态压缩编排字段组成D-SID且所使用的动态压缩编排字段总长度小于128个字节时,自动定向调取Index参数指引表中的参数Indexj,然后补充相应数量的0;当监测到前缀映射字段发生变化时,前缀映射表生成单元则根据变化后的前缀映射字段生成新的前缀映射表,然后将新的前缀映射表发送至进行SRv6报文转发的各个节点。
一般来说,如图2所示,SRv6 SID可以分为三部分,即位置标识(Locator)、功能标识(Function)和参数(Arguments),位置标识占据IPv6地址的高比特位,功能标识和参数占据IPv6地址的剩余少部分比特位。其中,位置标识部分可路由,用于向转发节点提供路由信息,并由转发节点将数据包转发到特定节点,功能标识则用于定义由转发节点执行的节点行为,例如end、end.x、end.t、end.dt4、end.dt6、end.dx4、end.dx6、end.dx2等,而参数可能包括流、服务或其它相关的可变信息,为可选项,在大多数情况下,不使用参数部分。位置标识、功能标识和参数的长度之和(L+F+A)小于或等于128个字节,位置标识的长度是灵活的,即位置标识长度数值可以自由使用,功能标识和参数的长度可能是任何值。当(L+F+A)小于128时,SID的剩余位用padding进行补零。
在本发明中,为了便于对SRv6 SID进行压缩,对SRv6 SID进行分析与细化并将128位的SRv6SID细化为公共前缀、域ID、节点ID、Opcode和参数(Arguments)五个部分,如图3所示,将公共前缀、域ID和节点ID定义为前缀映射字段,将Opcode和参数定义为动态压缩编排字段。
为了实现对SRv6 SID的动态压缩且能够在SRv6报文转发中应用本发明记载的技术,需要建立前缀映射表。前缀映射表中的映射针对前缀映射字段(即公共前缀、域ID和节点ID)进行处理。一般情况下,多个SID存在域内或跨域SRv6互联场景,例:对于公共前缀为fd10、100域(域ID为100)和200域(域ID为200)互联场景。同域互联,第一个SRv6节点路由前缀为fd10:100:1:/120、第二个节点路由前缀为fd10:100:2:/120;跨域互联,第一个SRv6节点路由前缀为fd10:100:1:/120、第二个节点路由前缀为fd10:200:1:/120,针对上述场景,本发明方案采用前缀映射字段与SRv SID相映射的方式,建立每个节点SRv6SID与前缀映射字段互相映射的前缀映射表。
对于SRv6报文转发路径上的不同节点设备(路由器、三层交换机等)SRv6 SID,由源节点将公共前缀、域ID和节点ID组成的前缀映射字段和不同节点设备的SRv6SID做成统一的前缀映射表,每一条SRv6TE(SRv6 Traffic Engineering)路径信息(通常包含多个SRv6SID)对应一个唯一的前缀映射表,然后由源节点将前缀映射表分发给每一台节点设备,使得每一台节点设备中都会存储一个包含所有映射信息的前缀映射表,当路由前缀映射字段(包含公共前缀、域ID、节点ID)发生变化时,由源节点在每一台节点设备上更新包含映射信息的前缀映射表。
在前缀映射表中,一个原始的SRv6 SID形成一条映射信息,每个节点设备上存储有含有所有节点设备SRv6 SID的前缀映射表。譬如假如原始SRv6 SID总量为16个,则前缀映射表内的映射信息数量为16个,16个映射信息组成的一个前缀映射表分别存储在16个节点设备内,其中,该前缀映射表所包含信息如表1所示。
表1 前缀映射表
本发明中,在前缀映射表中引入SL(Segment Left)字段和表示在压缩的128位SRv6SID中每个压缩ID的横坐标索引的DL字段。对于多层SRv6 SID来说,重组生成新SRv6SID时需要读取DL字段和SL字段。
本实施例中,选取8个SRv6 SID进行说明,如表2所示,每个SRv6 SID对应的动态压缩编排字段长度分别为32bit、64bit、16bit、64bit、16bit、16bit、32bit和16bit,按照SRH的处理机制,进行逆序压栈。那么则可以利用DL字段和SL字段对唯一一个确定的SRv6 SID位置进行读取,并由此将一维数组转变成二维矩阵。
表2 SRv6 SID及对应的动态压缩编排字段长度
这8个SRv6 SID的动态压缩编排字段经过压缩重新编排后,如表3所示。
表3 8个SRv6 SID的动态压缩编排字段压缩重新编排的结果
表3中,第一行DL=3,SL=0;第二行,DL=4,SL=1;第三行,DL=1,SL=2。在对动态压缩编排字段压缩重新编排的结果进行分析时,首先读取SL字段,再根据SL字段判断DL字段的位置。当SL>0,DL=0,则SL-1,DL指向下一行的最高位,而当SL=0,DL=0,则循环结束。例如当SL=1,DL=2,则对应的SRv6 SID的动态压缩编排字段为表中加粗字体的16位。读取SRv6 SID的动态压缩编排字段同时查询前缀映射表,若对应索引值为5的位置,将索引为5的前缀与该16位动态压缩编排字段进行组合,复制到IPV6报文的目的地址,然后执行正常的SRv6localsid操作。
在对SRv6报文进行转发时,利用SRv6 SID动态压缩编排系统对SRv6 SID进行的动态压缩编排处理主要包括如下步骤:
S1)判断SRH扩展头中SRv6 SID层数Q是否超过了阈值n,如果超过阈值,则跳转至步骤S2)继续执行,反之,则不对SRv6 SID进行压缩;其中,阈值n可以自行设置;
S2)按照SRv6 SID在SRH扩展头中的顺序以留存动态压缩编排字段的方式对SRv6SID进行重新编排,并利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再用D-SID填充至SHR扩展头中的Segment List中。
假设阈值n为4,即SRH扩展头中的SRv6 SID层数Q小于或等于4时,对SRv6报文进行直接转发,当SRH扩展头中的SRv6 SID层数Q大于4时,则对SRv6 SID进行动态压缩。而在对SRv6 SID进行动态压缩时,将动态压缩编排字段经过重新编排和封装,即可得到D-SID。
在本发明中,对SRv6 SID的动态压缩编排时针对Opcode与参数部分进行的处理。Opcode与参数部分的长度取决于SRv6 SID的前缀映射字段(包括公共前缀、域ID以及节点ID)的总长度。针对特殊需求(例如与vpn绑定的解封在SID,存在不支持压缩的可能),即:128位比特位SRv6SID不能被压缩的情况,则保持不变。
对于SRH扩展头中多层SRv6 SID的动态压缩编排,将原始的SRv6 SID压缩为16bit或32bit或64bit或128bit(无法压缩的原始SRv6 SID),具体存在如下两种情况:
(I)将一个或者多个SRv6 SID的动态压缩编排字段按序编排,一个SRv6 SID的动态压缩编排字段的长度或者多个SRv6 SID的动态压缩编排字段的总长度之和正好达到128个字节,无需补0。组合方式一般如下,根据组合方法,形成不同的DL值:
(1)128bit DL = 1;
(2)64bit+64bit DL = 2;
(3)64bit+32bit+32bit DL = 3;
(4)64bit+32bit+16bit+16bit DL = 4;
(5)64bit+16bit+16bit+16bit+16bit DL = 5;
(6)32bit+32bit+32bit+32bit DL = 4;
(7)32bit+32bit+32bit+16bit+16bit DL = 5;
(8)32bit+32bit+16bit+16bit+16bit+16bit DL = 6;
(9)32bit+16bit+16bit+16bit+16bit+16bit+16bit DL = 7;
(10)16bit+16bit+16bit+16bit+16bit+16bit+16bit+16bit DL = 8。
(II)对于不同SRv6 SID的动态压缩编排字段按序编排,一个SRv6 SID的动态压缩编排字段的长度或者多个SRv6 SID的动态压缩编排字段的总长度之和无法达到128个字节,需要补0;多个SRv6 SID的动态压缩编排字段的总长度之和超过128个字节,则需将在本层上的SRv6SID的动态压缩编排字段数量减少至本层上的SRv6 SID的动态压缩编排字段总长度小于128个字节,并将减少的SRv6 SID的动态压缩编排字段编排到下一层。组合方式示例如下(X为补0位):
(a1)120bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过8bit);其中的120bit部分可能为32+64+16+8(当然这只是其中一种情况,而120位的组合由8、16、32、64组成并且可以重复出现,那么该组合可能为很多种,这里就不进行一一列举);
(a2)112bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过16bit);
(a3)104bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过24bit);
(a4)96bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过32bit);
(a5)88bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过40bit);
(a6)80bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过48bit);
(a7)72bit+X(待编排下一个原SRv6 SID的动态压缩编排字段长度超过56bit)。
一般情况下,前缀映射字段总长度不小于64bit,因此,待编排下一个原SRv6 SID的动态压缩编排字段长度不会超过64bit。
对于上述X补0位,设定Index参数指引表,用于第(II)种情况下需要补0时自动定向调取,可按需设定,示例表如4所示。
表4 Index参数指引表
本实施例中,以SRH扩展头中的SRv6 SID有16层为例(根据设备性能及实际SRv6转发场景,一般不会超过16个,此次仅为假定值,为充分解释本发明方法),并按照第(I)种情况和第(II)种情况对SRv6 SID进行的动态压缩编排进行说明。
第(I)种情况下,所有的SRv6 SID的前缀映射字段具有相同的长度,均为128bit。SRH扩展头中的SRv6 SID排列结构如图4所示,16层SRv6 SID由上至下为SID1~SID16。对SRH扩展头中的SRv6 SID进行动态压缩编排后,保留16层的SRv6 SID的动态压缩编排字段,使得SRH扩展头中SID层数由16层变为1层,如图5所示。在第(I)种情况下,生成的D-SID为一层,直接按序读取前缀映射表信息即可。其中,图4、图5、图6和图7中SID均指的是SRv6 SID。
第(II)种情况下,不同SRv6 SID的前缀映射字段的长度不同,这种情况比较多。本发明中,将以4个具有120bit前缀映射字段的SRv6 SID、4个具有112bit前缀映射字段的SRv6 SID、4个具有96bit前缀映射字段的SRv6 SID、4个具有64bit前缀映射字段的SRv6SID为例进行混合编排,其中,SRH扩展头中SRv6 SID在动态压缩编排前的结构如图6所示,动态压缩编排后的SRH扩展头中SRv6 SID结构如图7所示,动态压缩编排后的SRH扩展头中SRv6 SID层数由原来的16层变为4层,每层均为128bit,压栈顺序按照原有的SRv6 SID顺序进行。第(II)种情况下的前缀映射表如表5所示。
表5 第(II)种情况下的前缀映射表
真实场景中,存在不同的SRv6 SID的动态压缩编排字段组合,均可按照本发明中SRv6 SID动态压缩编排方法对SRv6 SID进行动态压缩编排。在对SRv6SID进行动态压缩编排完成后形成D-SID,在进行SRv6报文进行封装转发时,依据图8所示的SRv6 Segment List执行。
如图8所示,SRv6报文转发节点路径为:第一个是Segment List[n]、然后是SegmentList[n-1]……Segment List[1]、最后一个是Segment List[0]。
在SRv6报文转发过程中,每经过一个SRv6转发节点,Segments Left(SL)字段减1,IPv6 DA信息变换一次。Segments Left和Segment List字段共同决定IPv6 DA信息。
如果SL字段的值是n,则取到Segment List[n]的所对应的D-SID,然后读取DL字段的值与前缀映射表中的前缀进行组合,确定IPv6DA取值。
如果SL字段的值是n-1,则取到Segment List[n-1]的所对应的D-SID,然后读取DL字段的值与前缀映射表中的前缀进行组合,确定IPv6DA取值。
以此类推,如果SL字段的值是1,则取到Segment List[1]的所对应的D-SID,然后读取DL字段的值与前缀映射表中的前缀进行组合,确定IPv6DA取值。
如果SL值是0,则取到Segment List[0]的所对应的D-SID,然后读取DL字段的值与前缀映射表中的前缀进行组合,确定IPv6DA取值。
基于SRv6 SID动态压缩编排方法生成D-SID后,在各个转发节点进行SRv6报文转发时,需对前缀映射表和D-SID字段信息进行读取以重组还原成原始SID指导SRv6报文转发。采用SL+DL综合读取方式,即:先对动态压缩编排后的D-SID自下而上读取SL值、再自右向左读取DL值,从而获取到到对应的压缩前所有原始字段信息。以上述场景2中示例为例,SRv6 SID动态压缩后的P-SID(包括Opcode和Arguments)位置排序如图9所示,其中,方框里的“P-SID”表示原SRv6 SID所在位置。
按照图9所示的位置排列,SL字段和DL字段重组数值读取过程如表6所示。
表6 SL字段和DL字段重组数值读取过程
基于SRv6 SID动态压缩编排系统,本发明还提供一种用于SRv6报文转发的交换装置,该交换装置利用SRv6 SID动态压缩编排方法对SRH扩展头中的SRv6 SID进行动态压缩并对SRv6报文进行转发。
基于上述SRv6 SID动态压缩编排方法,相应的,本实例中还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序被处理器执行时实现如下步骤:先对SRv6报文SRH扩展头中SRv6 SID的层数是否超过阈值进行判断,如果SRv6 SID层数未超过阈值,则不对SRv6 SID进行压缩,反之,按照SRv6 SID在SRH扩展头中的顺序以留存动态压缩编排字段的方式对SRv6 SID进行重新编排,并利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再用D-SID填充至SHR扩展头中的Segment List中;同时根据SRH扩展头中的SRv6 SID的前缀映射字段生成含有前缀映射字段与SRv6 SID映射关系的前缀映射表,并将该前缀映射表发送至SRv6报文的各个转发节点并进行存储;当需要对SRv6报文进行转发时,根据动态压缩编排后的SRv6SID和前缀映射表生成原SRv6 SID。
如图10所示,基于上述SRv6 SID动态压缩编排方法以及计算机可读存储介质,本实施例中,还提供了一种计算机设备,其包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其中可读存储介质与处理器均设置在总线上,处理器执行计算机程序时实现如下步骤:先对SRv6报文SRH扩展头中SRv6 SID的层数是否超过阈值进行判断,如果SRv6 SID层数未超过阈值,则不对SRv6 SID进行压缩,反之,按照SRv6 SID在SRH扩展头中的顺序以留存动态压缩编排字段的方式对SRv6 SID进行重新编排,并利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再用D-SID填充至SHR扩展头中的Segment List中;同时根据SRH扩展头中的SRv6 SID的前缀映射字段生成含有前缀映射字段与SRv6 SID映射关系的前缀映射表,并将该前缀映射表发送至SRv6报文的各个转发节点并进行存储;当需要对SRv6报文进行转发时,根据动态压缩编排后的SRv6SID和前缀映射表生成原SRv6 SID。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利申请权利要求的保护范围之中。
Claims (10)
1.SRv6 SID动态压缩编排方法,其特征在于,将SRH扩展头中的SRv6 SID的位置标识、功能标识和参数细化为前缀映射字段和动态压缩编排字段,然后建立前缀映射字段与节点SRv6 SID相映射的前缀映射表,并在前缀映射表中引入SL字段和表示在压缩的128位SRv6SID中每个压缩ID的横坐标索引的DL字段,且在每个节点均存储有所有节点的前缀映射表,其中,前缀映射字段包括公共前缀、域ID和节点ID,动态压缩编排字段包括Opcode和参数,SL字段表示为剩余分段数;当SRH扩展头中SRv6 SID层数Q超过阈值n,则利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再将组成的D-SID填充至SRH扩展头中的Segment List中,Q、n和m均为大于或等于1的自然数;若m个动态压缩编排字段总长度小于128个字节时,则对由m个动态压缩编排字段组成的D-SID进行补0,直至补0后的D-SID长度为128个字节。
2.根据权利要求1所述的SRv6 SID动态压缩编排方法,其特征在于,具体包括如下步骤:
S1)判断SRv6 SID的层数Q是否超过了阈值n,如果超过阈值,则跳转至步骤S2)继续执行,反之,则不对SRv6 SID进行压缩;
S2)按照SRv6 SID在SRH扩展头中的顺序以留存动态压缩编排字段的方式对SRv6 SID进行重新编排,并利用m个动态压缩编排字段组成长度小于或等于128个字节的D-SID,再用D-SID填充至SHR扩展头中的Segment List中。
3.根据权利要求1所述的SRv6 SID动态压缩编排方法,其特征在于,设置补0用的Index参数指引表;在Index参数指引表中,参数名称Indexj与调取值X相对应,其中,j为大于或等于0的整数,调取值X为需要补0的数量;当利用动态压缩编排字段组成D-SID且所使用的动态压缩编排字段总长度小于128个字节时,自动定向调取Index参数指引表中的参数Indexj,然后补充相应数量的0。
4.根据权利要求1所述的SRv6 SID动态压缩编排方法,其特征在于,当公共前缀、域ID和节点ID中任意一个发生变化时,前缀映射表也做相应调整。
5.利用权利要求1所述的SRv6 SID动态压缩编排方法进行SRv6 SID动态压缩编排的系统,其特征在于,包括:
判别单元,用于获取SRH扩展头中SRv6 SID信息并对SRH扩展头中SRv6 SID层数是否超过阈值n进行判别;
数据提取单元,用于提取SRv6 SID中的前缀映射字段和动态压缩编排字段;
压缩编排单元,用于利用多个动态压缩编排字段重新编排组成D-SID;其中,当m个动态压缩编排字段总长度小于128个字节且m+1个动态压缩编排字段总长度大于128个字节时,利用m个动态压缩编排字段组成D-SID并对D-SID进行补0,直至补0后的D-SID长度为128个字节;
前缀映射表生成单元,用于根据前缀映射字段和节点SRv6 SID生成前缀映射表;
前缀映射表,用于载录前缀映射字段与节点SRv6 SID之间的映射关系;
SRv6 SID复原单元,用于根据D-SID中的动态压缩编排字段和前缀映射表中的前缀映射字段组合复原SRv6 SID;
判别单元与数据提取单元通信连接,数据提取单元分别与压缩编排单元和前缀映射表生成单元通信连接,压缩编排单元与SRv6报文封装单元通信连接;SRv6 SID复原单元分别与前缀映射表和SRv6报文解析单元通信连接。
6.根据权利要求5所述的系统,其特征在于,还包括补0用的Index参数指引表;在Index参数指引表中,参数名称Indexj与调取值X相对应,其中,j为大于或等于0的整数,调取值X为需要补0的数量;当利用动态压缩编排字段组成D-SID且所使用的动态压缩编排字段总长度小于128个字节时,自动定向调取Index参数指引表中的参数Indexj,然后补充相应数量的0。
7.根据权利要求5所述的系统,其特征在于,前缀映射表生成单元中设置有用于对前缀映射字段进行监测的更新监测模块;当监测到前缀映射字段发生变化时,前缀映射表生成单元则根据变化后的前缀映射字段生成新的前缀映射表,然后将新的前缀映射表发送至进行SRv6报文转发的各个节点。
8.交换装置,其特征在于,利用权利要求1所述的SRv6 SID动态压缩编排方法对SRH扩展头中的SRv6 SID进行动态压缩并对SRv6报文进行转发。
9.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~4中任一所述的SRv6 SID动态压缩编排方法。
10.计算机设备,包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~4中任一所述的SRv6 SID动态压缩编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410078297.7A CN117596206B (zh) | 2024-01-19 | 2024-01-19 | SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410078297.7A CN117596206B (zh) | 2024-01-19 | 2024-01-19 | SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117596206A CN117596206A (zh) | 2024-02-23 |
CN117596206B true CN117596206B (zh) | 2024-03-26 |
Family
ID=89920564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410078297.7A Active CN117596206B (zh) | 2024-01-19 | 2024-01-19 | SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117596206B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111628995A (zh) * | 2020-05-26 | 2020-09-04 | 新华三信息安全技术有限公司 | 基于SRv6的SID压缩方法、装置、设备及存储介质 |
CN112787922A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 一种报文处理的方法、网络节点和系统 |
CN113014485A (zh) * | 2021-02-25 | 2021-06-22 | 烽火通信科技股份有限公司 | 一种基于SRv6-TE路径的报文转发方法和报文转发装置 |
WO2021155759A1 (zh) * | 2020-02-07 | 2021-08-12 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
WO2022078509A1 (zh) * | 2020-10-15 | 2022-04-21 | 中兴通讯股份有限公司 | IPv6报文的扩展头封装方法及装置 |
CN115314562A (zh) * | 2022-08-09 | 2022-11-08 | 中国电信股份有限公司 | 跨域传输SRv6数据报文的头压缩方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113824638A (zh) * | 2020-06-18 | 2021-12-21 | 华为技术有限公司 | 一种转发报文的方法、设备和系统 |
-
2024
- 2024-01-19 CN CN202410078297.7A patent/CN117596206B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112787922A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 一种报文处理的方法、网络节点和系统 |
WO2021155759A1 (zh) * | 2020-02-07 | 2021-08-12 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
CN111628995A (zh) * | 2020-05-26 | 2020-09-04 | 新华三信息安全技术有限公司 | 基于SRv6的SID压缩方法、装置、设备及存储介质 |
WO2022078509A1 (zh) * | 2020-10-15 | 2022-04-21 | 中兴通讯股份有限公司 | IPv6报文的扩展头封装方法及装置 |
CN113014485A (zh) * | 2021-02-25 | 2021-06-22 | 烽火通信科技股份有限公司 | 一种基于SRv6-TE路径的报文转发方法和报文转发装置 |
CN115314562A (zh) * | 2022-08-09 | 2022-11-08 | 中国电信股份有限公司 | 跨域传输SRv6数据报文的头压缩方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117596206A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111628995B (zh) | 基于SRv6的SID压缩方法、装置、设备及存储介质 | |
US10892987B2 (en) | Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies | |
US6094525A (en) | Network addressing arrangement for backward compatible routing of an expanded address space | |
CN112491708A (zh) | IPv6报文的路由头封装方法及装置 | |
US20030026260A1 (en) | Packet routing apparatus and routing controller | |
CN111510386B (zh) | 用于处理报文的方法和装置 | |
US20220182323A1 (en) | Method for forwarding packet in sr network, device, and system | |
CN112448888A (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
CN115362661B (zh) | 对用于分段路由的具有不同大小的分段进行混合 | |
US20230179520A1 (en) | Message generation method and apparatus, and message processing method and apparatus | |
CN114650255B (zh) | 报文处理方法及网络设备 | |
JP2023523566A (ja) | セグメントルーティングヘッダ圧縮方法、サービス処理方法、セグメントルーティングヘッダ圧縮装置及びサービス処理装置 | |
CN117596206B (zh) | SRv6 SID动态压缩编排方法、系统、交换装置、介质及设备 | |
CN113497760B (zh) | 分段路由头压缩方法、业务处理方法及装置 | |
CN115398869A (zh) | 最小化用于分段路由的分段标识符中的差异 | |
CN113765800A (zh) | 传输报文的方法、装置、系统、设备及可读存储介质 | |
CN108737347B (zh) | 数据通信方法、装置及其设备 | |
CN115499366B (zh) | 报文传输方法以及装置 | |
WO2022134674A1 (zh) | 报文传输的方法、装置、设备、存储介质及系统 | |
CN117354221A (zh) | 报文转发处理方法及相关装置 | |
CN110519169B (zh) | 一种应用层复用网络报文头部的方法 | |
CN115428412A (zh) | 压缩用于分段路由的分段标识符 | |
CN113824781B (zh) | 一种数据中心网络源路由方法与装置 | |
CN116192968B (zh) | 一种基于SRv6的IPv6报文数据处理方法和通信方法 | |
CA2699719C (en) | Transmission device, transmission system, transmission method, and transmission program |
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 |