CN111917640B - SRv6网络生成段列表、报文转发的方法、设备和系统 - Google Patents
SRv6网络生成段列表、报文转发的方法、设备和系统 Download PDFInfo
- Publication number
- CN111917640B CN111917640B CN201910385660.9A CN201910385660A CN111917640B CN 111917640 B CN111917640 B CN 111917640B CN 201910385660 A CN201910385660 A CN 201910385660A CN 111917640 B CN111917640 B CN 111917640B
- Authority
- CN
- China
- Prior art keywords
- original
- segment
- compressed
- identifier
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000006835 compression Effects 0.000 claims description 78
- 238000007906 compression Methods 0.000 claims description 78
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 92
- 102100039250 Essential MCU regulator, mitochondrial Human genes 0.000 description 50
- 101000813097 Homo sapiens Essential MCU regulator, mitochondrial Proteins 0.000 description 50
- 238000013461 design Methods 0.000 description 21
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- LWCVWGNRFYSORH-UHFFFAOYSA-N BBBBBBB Chemical compound BBBBBBB LWCVWGNRFYSORH-UHFFFAOYSA-N 0.000 description 1
- 208000032057 Focal Facial Dermal Dysplasias Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect 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/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- 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/34—Source 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/42—Centralised 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/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种在SRv6网络中生成用于报文转发的段列表的方法。该方法包括:网络设备获得对应报文转发路径的原始段列表,该原始段列表包含顺序排列的原始段标识,这些顺序排列的原始段标识中的每个原始段标识对应报文转发路径中的一个节点或链路;网络设备对原始段列表中依次相邻的多个原始段标识进行比较,生成依次相邻的多个压缩段标识,每个压缩段标识的长度小于对应的原始段标识的长度;网络设备生成压缩段列表,该压缩段列表包括多个压缩段标识,该压缩段列表用于沿所述报文转发路径转发报文。该方法根据原始段标识生成压缩段标识,压缩段标识的长度小于原始段标识,压缩段列表的长度小于原始段列表,从而提高SR网络中报文传输和处理的效率。
Description
技术领域
本申请涉及通信领域,尤其涉及一种在SRv6网络中生成段列表、报文转发的方法、设备和系统。
背景技术
段路由(segment routing,SR)是一种基于源路由理念设计的、在网络上转发数据包的协议,支持在源节点显式指定数据包转发路径。当SR部署在第六版本的互联网协议(Internet Protocol Version 6,IPv6)数据平面上时,称为IPv6 segment routing(SRv6)。SRv6在IPv6的基础上扩展了段路由头(segment routing header,SRH)。
SRH包括段列表(SID list),SID list包括依次排列的多个段标识(segmentidentification,SID),每个SID对应报文转发路径中的一个节点。其中,每个SID是一个128比特(bit)的IPv6地址。由于每个SID在报文中占用128bit,因此在SID list中每增加一个SID,SRH的长度就会增加128bit,报文的长度也会增加128bit。一方面,报文长度增加将导致转发过程中占用大量的网络资源,如:带宽。举例来说,当报文转发路径中包括100个节点时,SRH需要包括100个SID,段列表长度高达1600字节,段列表长度过长,降低SR网络中报文传输的效率。另一方面,SRH长度过长将增加报文处理上的难度。举例来说,节点一次读取的报文窗长度为128字节,而SRH的长度为1600字节,远超一次读取的报文窗长度,整个SRH的读取过程需要通过多次读取操作才能完成,降低报文处理效率。
发明内容
本申请提供了一种生成段列表的方法、设备和系统,用于解决段列表长度过长导致网络传输效率降低和处理效率降低的技术问题。
第一方面,本申请实施例提供了一种生成段列表的方法。所述方法包括:网络设备获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或者链路;所述网络设备对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S;所述网络设备生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述压缩段列表用于沿所述报文转发路径转发报文。
该方法根据原始段标识生成压缩段标识,压缩段标识的长度小于原始段标识,多个压缩段标识包括在压缩段列表中,压缩段列表与原始段列表相比,长度缩短,从而提高SR网络中报文传输的效率和处理的效率。
在一种可能的设计中,所述网络设备对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识包括:所述网络设备生成差值集合,所述差值集合包括所述S个原始段标识中除第一个原始段标识以外的每个原始段标识与前一个原始段标识的差值;所述网络设备分别根据所述每个原始段标识与前一个原始段标识的差值获得与所述每个原始段标识对应的压缩段标识。
在一种可能的设计中,所述网络设备分别根据所述每个原始段标识与前一个原始段标识的差值获得与所述每个原始段标识对应的压缩段标识包括:所述网络设备计算出所述差值的长度中的最大长度,所述最大长度为L字节,所述L为正整数;所述网络设备将每个所述差值作为与所述除第一个原始段标识以外的每个原始段标识对应的压缩段标识,所述除第一个原始段标识以外的每个原始段标识对应的压缩段标识的长度为L字节。
在一种可能的设计中,所述方法还包括:所述网络设备生成第一个压缩段标识,所述第一个压缩段标识为0,所述第一个压缩段标识的长度为所述L字节,所述第一个压缩段标识与所述第一个原始段标识对应。
在一种可能的设计中,所述网络设备为网络中的控制器,所述方法还包括:所述网络设备生成第一控制报文,所述第一控制报文包括所述压缩段列表和第一标志,所述第一标志用于指示所述压缩段列表中的每个压缩段标识的长度为所述L字节;所述网络设备将所述第一控制报文发送至网络入口节点。
在一种可能的设计中,所述网络设备为网络入口节点,所述网络设备获得对应报文转发路径的所述原始段列表包括:所述网络设备从网络中的控制器接收所述原始段列表;所述方法还包括:所述网络设备接收报文,所述报文沿所述报文转发路径进行转发;所述网络设备将第一标志和所述压缩段列表封装至所述报文中,所述第一标志用于指示所述压缩段列表中的每个压缩段标识的长度为所述L字节。
在一种可能的设计中,所述S个原始段标识中的每个原始段标识的长度为M字节,所述网络设备对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识包括:所述网络设备比较所述S个原始段标识,确定所述S个原始段标识中的每个原始段标识的前N字节内容相同;所述网络设备将所述S个原始段标识中的每个原始段标识的后M-N字节的内容作为与所述每个原始段标识对应的压缩段标识,其中,所述M为正整数,所述N为正整数,所述N小于所述M。
在一种可能的设计中,所述网络设备为网络中的控制器,所述方法还包括:所述网络设备生成第二控制报文,所述第二控制报文包括所述压缩段列表和第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识;所述网络设备生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志用于指示所述S个原始段标识中的每个原始段标识的前N字节内容相同;所述网络设备将所述第二控制报文发送至网络入口节点;所述网络设备将所述第四控制报文发送至所述报文转发路径中的节点。
在一种可能的设计中,所述每个原始段标识包括第一部分和第二部分,所述网络设备对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识包括:所述网络设备对所述S个原始段标识的所述第一部分进行比较,生成与所述S个原始段标识中每个原始段标识对应的压缩段标识的第一部分,所述压缩段标识的所述第一部分的长度小于对应的原始段标识的所述第一部分的长度;所述网络设备将所述每个原始段标识的第二部分与压缩标志建立对应关系,并将所述压缩标志作为与所述每个原始段标识对应的压缩段标识的第二部分,所述压缩段标识的所述第二部分的长度小于对应的原始段标识的所述第二部分的长度;所述网络设备根据与所述每个原始段标识对应的压缩段标识的所述第一部分和与所述每个原始段标识对应的压缩段标识的所述第二部分,获得与所述每个原始段标识对应的压缩段标识。
在一种可能的设计中,所述网络设备对所述S个原始段标识的所述第一部分进行比较,生成与所述S个原始段标识中每个原始段标识对应的压缩段标识的第一部分包括:所述网络设备比较所述S个原始段标识的所述第一部分,确定所述S个原始段标识中的每个原始段标识的所述第一部分的前N字节内容相同,所述N为正整数;所述网络设备将所述每个原始段标识的所述第一部分的后LA-N字节的内容作为与所述每个原始段标识对应的压缩段标识的所述第一部分,所述LA为正整数,所述S个原始段标识中的每个原始段标识的所述第一部分的长度为LA字节。
在一种可能的设计中,所述网络设备为网络中的控制器,所述方法还包括:所述网络设备生成第二控制报文,所述第二控制报文包括所述压缩段列表和第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识;所述网络设备生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志用于指示所述S个原始段标识中的每个原始段标识的所述第一部分的前N字节内容相同;所述网络设备将所述第二控制报文发送至网络入口节点;所述网络设备将所述第四控制报文发送至所述报文转发路径中的节点。
在一种可能的设计中,所述S个原始段标识中不包括所述原始段列表中的最后一个原始段标识,所述压缩段标识包括所述最后一个原始段标识;所述方法还包括:所述网络设备生成与所述压缩段列表对应的第三控制报文,所述第三控制报文包括第三标志,所述第三标志用于指示所述压缩段列表中包括所述最后一个原始段标识;所述网络设备将所述第三控制报文发送至所述网络入口节点。
在一种可能的设计中,所述网络设备为网络入口节点,所述网络设备获得对应报文转发路径的所述段列表包括:所述网络设备从网络中的控制器接收所述原始段列表;所述方法还包括:所述网络设备生成与所述压缩段列表对应的第二标志,所述第二标志用于指示所述压缩段列表中包括压缩段标识;所述网络设备接收报文,所述报文沿所述报文转发路径进行转发;所述网络设备将所述第二标志和所述压缩段列表封装至所述报文。
在一种可能的设计中,所述S个段标识中不包括所述原始段列表中的最后一个原始段标识,所述压缩段标识包括所述最后一个原始段标识;所述方法还包括:所述网络设备生成与所述压缩段列表对应的第三标志,所述第三标志用于指示所述压缩段列表中包括所述最后一个原始段标识;所述网络设备将所述第三标志封装至所述报文。
第二方面,本申请实施例提供了一种转发报文的方法。所述方法包括:网络设备接收报文,所述报文包括压缩段列表,所述压缩段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识;所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;所述网络设备根据所述原始段标识,将所述报文发送至所述下一跳节点。
该方法根据压缩段标识生成原始段标识,压缩段标识的长度小于原始段标识,压缩段列表与原始段列表相比,长度缩短,从而提高SR网络中报文传输的效率,原始段标识用于转发报文,不影响SRv6网络的转发特性。
在一种可能的设计中,所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识包括:所述网络设备将所述压缩段标识与所述报文的目的地址相加,生成所述原始段标识。
在一种可能的设计中,所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识包括:所述网络设备用所述压缩段标识替换所述报文的目的地址的后X字节的内容,所述X为正整数,所述压缩段标识的长度为X字节。
在一种可能的设计中,所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识包括:所述网络设备将所述压缩段标识分为第一部分和第二部分;所述网络设备将所述压缩段标识的所述第一部分替换所述报文的目的地址的第一部分的后Y字节的内容,获得所述原始段标识的第一部分,所述Y为正整数,所述压缩段标识的所述第一部分的长度为Y字节;所述网络设备根据所述压缩段标识的所述第二部分与所述原始段标识的第二部分的对应关系,获得所述原始段标识的所述第二部分;所述网络设备根据所述原始段标识的所述第一部分和所述原始段标识的所述第二部分,获得所述原始段标识。
在一种可能的设计中,所述报文包括第一标志,所述第一标志用于指示所述压缩段标识的长度为X字节,所述X为正整数,所述方法还包括:所述网络设备根据所述第一标志的指示从所述压缩段列表中读取所述压缩段标识。
在一种可能的设计中,所述报文包括第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识,所述方法还包括:所述网络设备从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数;所述网络设备根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识,所述压缩段标识的长度为M-N字节,所述M为正整数,所述M大于所述N,所述原始段标识的长度为M字节。
在一种可能的设计中,所述报文包括第一标志,所述第一标志用于指示所述压缩段标识的长度为X字节,所述X为正整数,所述报文包括第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识,所述方法还包括:所述网络设备从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数;所述网络设备根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识,所述压缩段标识的长度为所述X字节;所述网络设备根据所述第四标志的指示,从所述压缩标识中获得所述压缩段标识的所述第一部分和所述压缩段标识的所述第二部分,所述压缩段标识的所述第一部分的长度为X-M+N字节,所述M为正整数,所述M大于所述N,所述原始段标识的所述第一部分的长度为M字节。
在一种可能的设计中,所述原始段标识为绑定段标识,所述绑定段标识用于指示所述下一跳节点将包括所述绑定段标识的报文发送至所述绑定段标识对应的节点。
在一种可能的设计中,所述方法还包括:所述网络设备用所述原始段标识替换所述报文的报文头中目的地址字段中的地址。
第三方面,本申请实施例提供了一种网络设备,执行第一方面或第一方面的任意一种可能的实现方式中网络设备执行的方法。具体地,该网络设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第四方面,本申请实施例提供了一种网络设备,执行第二方面或第二方面的任意一种可能的实现方式中网络设备执行的方法。具体地,该网络设备包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第五方面,本申请实施例提供了一种网络设备,该网络设备包括:处理器、网络接口和存储器。网络接口可以是收发器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第一方面或第一方面的任意一种可能的实现方式,此处不再赘述。
第六方面,本申请实施例提供了一种网络设备,该网络设备包括:处理器、网络接口和存储器。网络接口可以是收发器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第二方面或第二方面的任意一种可能的实现方式,此处不再赘述。
第七方面,本申请实施例提供了一种网络系统,所述系统包括控制器、第一网络设备和第二网络设备,其中,
所述控制器,用于获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或链路;对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S;生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述压缩段列表用于沿所述报文转发路径转发报文;
所述第一网络设备,用于从所述控制器接收所述压缩段列表;接收报文,所述报文沿所述报文转发路径进行转发;将所述压缩段列表封装至所述报文,并将所述报文发送至所述第二网络设备;
所述第二网络设备,用于接收所述第一网络设备发送的所述报文;根据所述压缩段标识和所述报文的目的地址生成所述压缩段标识对应的原始段标识,所述原始段标识对应所述第二网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;根据所述原始段标识,将所述报文发送至所述下一跳节点。
第八方面,提供了一种计算机存储介质,用于储存为上述网络设备所用的计算机软件指令,其包括用于执行上述方面所涉及的程序。
第九方面,提供了一种包括计算机程序指令的计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行第一方面、第二方面、第一方面的任意一种可能的实现方式或第二方面的任意一种可能的实现方式中提供的方法。
附图说明
图1A为本申请实施例提供的一种网络场景示意图。
图1B为本申请实施例提供的另一种网络场景示意图。
图2为本申请实施例提供的一种生成段列表的方法。
图3A为本申请实施例提供的一种生成段列表的方法。
图3B为本申请实施例提供的一种报文头格式。
图4为本申请实施例提供的一种生成段列表的方法。
图5为本发明实施例提供的一种网络设备的结构示意图。
图6为本发明实施例提供的一种网络设备的结构示意图。
图7为本发明实施例提供的一种网络设备的结构示意图。
图8为本发明实施例提供的一种网络设备的结构示意图。
图9为本发明实施例提供的一种网络设备的结构示意图。
图10为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
图1A示出了本申请实施例的一种可能的应用场景。该场景包括SRv6网络,该SRv6网络包括若干节点,例如:节点S、节点A、节点B、节点C、节点D、节点E和节点F。这些节点可以是网络中的网络设备、网络单元(network element)等,例如,交换机、路由器或转发器。其中,节点S可以是网络的入口节点。图1B示出了本申请实施例的另一种可能的应用场景。该场景也包括SRv6网络,该SRv6网络除了上述节点外,还包括控制器。控制器可以生成包含段列表的段路由策略(SR policy),发送至网络入口节点。控制器可以向网络中的其他节点发送包含网络配置信息的控制报文。每个节点具有相应的SID。每个节点的SID可以包括第一部分和第二部分。其中,第一部分为locator部分,第二部分为function部分。其中,locator部分用于表示节点的地址,即在SRv6网络根据SID的locator部分将报文转发到该节点。其中,function部分用于表示该节点进行的操作。由于locator部分用于表示节点的地址,对于同一网段中各个节点来说,它们的locator部分会有部分相同内容。并且,虽然locator部分和function部分的总长度固定,两者的总长度为整个SID的长度,但是locator部分和function部分各自的长度并不固定。例如,在图1A和图1B所示的应用场景中,节点A的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1,节点B的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB2,节点C的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3,节点D的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:4AAA:BBB4,节点E的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:5AAA:BBB5,节点F的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6。其中每个字符的长度可以为4比特,每个SID为128比特,即16字节(bytes)。其中,每个SID的前13字节可以为locator部分,后3字节可以为function ID部分。例如,节点A的SID为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1,其中字符A、字符B、字符C、字符D、字符E、字符F以及字符1的长度均为4比特,该SID的总长度为16字节。其中,前13字节AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1A为locator部分,后3字节AA:BBB1为function部分。上述6个节点位于同一网段,它们的SID中locator部分有部分内容相同,具体表现有6个节点的SID的前12字节相同。
在图1A和图1B所示的应用场景中,节点S为网络入口节点。节点S可以连接用户节点(图中未示出),并接收用户节点发送的报文。当用户节点向该SRv6网络发送报文时,将先向控制器发送包含报文目的地址的请求。控制器根据用户节点的请求,生成与所述目的地址关联的报文转发路径,并将对应所述报文转发路径的段列表发送至节点S。节点S接收用户节点发送的报文后,将所述段列表封装至报文中,指导报文沿所述报文转发路径进行转发。段列表中包含报文转发路径上的一个或多个节点的段标识。例如,当报文转发路径依次经过节点A、节点B、节点C、节点E和节点F时,段列表为[AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB2 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:4AAA:BBB4 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:5AAA:BBB5 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6]。可以看出,整个SID list包括6个SID,整个SID list的长度为96字节,长度较长,会带来网络传输效率降低和处理效率降低的问题。
本申请实施例提供了生成段列表的方法以及基于该方法的设备和系统。这些方法、设备和系统基于同一发明构思。方法、设备和系统解决问题的原理相似,因此,方法、设备和系统的实施例可以相互参见,相同或类似之处不再赘述。
参阅图2,本发明实施例提供了一种生成段列表的方法。该方法包括:
S201:网络设备获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或链路。
其中,原始段标识可以是SRv6网络中节点对应的节点段标识(node SID),或者原始段标识可以是节点的链路对应的邻接段标识(adjacent SID)。例如,图1中节点A的原始段标识即为该节点A对应的SID,也就是AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1。原始段列表可以由报文转发路径中各个网络设备对应的SID依次排列组成。从而,原始段列表中顺序排列的每个原始段标识对应报文转发路径依次经过的每个网络设备。
在一个示例中,该网络设备可以是网络的入口节点。结合图1A和图1B所示的应用场景,该网络设备可以是节点S。节点S获得原始段列表,可以是指节点S从控制器接收原始段列表。
在一个示例中,网络设备可以是网络中的控制器。结合图1B所示的应用场景,该网络设备可以是图1B中的控制器。控制器根据用户节点的请求生成对应报文转发路径的原始段列表。
S202:所述网络设备对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S。
其中,所述S个原始段标识可以是所述原始段列表中的全部原始段标识。所述S个原始段标识也可以是从所述原始段列表中选取的部分原始段标识。
在一个示例中,网络设备对上述S个原始段标识进行比较,通过获得差值的方式对原始段标识进行压缩。结合图1A和图1B所示的应用场景,例如,网络设备可以对上述原始段列表中的全部6个SID进行比较,在这种情况下,所述S等于6。
网络设备分别获得所述S个原始段标识中除第一个原始段标识以外的每个原始段标识与前一个原始段标识的差值。其中,第一个原始段标识可以是所述原始段列表中的第一个SID,即网络入口节点在报文转发路径的下一跳节点对应的SID。结合图1A和图1B所示的应用场景,该第一个原始段标识可以是节点A对应的SID。该差值可以是将所述每个原始段标识作为被减数、将所述前一个原始段标识作为减数,获得的差值。也可以是将所述每个段标识作为减数、将所述前一个原始段标识作为被减数,获得的差值。并且,该差值为有符号数,最高位描述该差值的正负。例如,当最高位为1时,表示该差值的符号为负,当最高位为0时,表示该差值的符号为正。所述最高位的长度可以为1个比特。例如,网络设备分别计算所述6个SID中的后5个SID与其前一个SID的差值。具体的,网络设备计算第2个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB2)与第1个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1)的差值为0:1000:0001。其中最高位0表示该差值为正,该最高位的长度为1个比特。最高位之后的32比特为1000:0001,其中字符1和字符0的长度均为4比特。从而该差值的总长度为33个比特。该差值对应第2个SID,可以记为第2个差值。类似地,网络设备获得第3个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3)与第2个SID的差值为0:1000:0001,网络设备获得第4个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:4AAA:BBB4)与第3个SID的差值为0:1000:0001,网络设备获得第5个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:5AAA:BBB5)与第4个SID的差值为0:1000:0001,网络设备获得第6个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6)与第5个SID的差值为0:1000:0001,这4个差值分别与第3个SID、第4个SID、第5个SID以及第6个SID对应,可以分别记为第3个差值、第4个差值、第5个差值和第6个差值。由此可见,网络设备共获得5个所述差值,这5个差值按照对应的5个SID的排列顺序进行排列。此时,C可以等于5。
进一步地,网络设备分别根据所述差值获得与所述每个原始段标识对应的压缩段标识。具体的,网络设备将每个所述差值的值设置为对应的压缩段标识的值,并且计算出所述差值的长度中的最大长度,将压缩段标识的长度设置为该最大长度,由此获得各个压缩段标识。例如,网络设备将上述5个差值的值分别设置为对应的压缩段标识的值,并且计算出5个差值的长度均为33个比特,即最大长度为33比特。可选地,压缩段标识的长度为8比特对齐,因而每个压缩段标识的长度为5个字节。具体的,与第2个差值对应的压缩段标识的值为0:1000:0001,长度为5字节。由此,网络设备获得与上述5个SID对应的5个压缩段标识。这5个压缩段标识也按照对应的5个SID的排列顺序进行排列。所述5个压缩段标识的长度均为5个字节,小于原始段标识的16字节。
在一个示例中,网络设备还可以生成与第1个SID对应的压缩段标识。具体的,网络设备获得所述第1个SID与其自身的差值,该差值为0。网络设备将该差值与上述5个差值依次排列。此时,C可以等于6。网络设备将0作为与第1个SID对应的压缩段标识的值,并且设置与第1个SID对应的压缩段标识的长度与上述5个压缩段标识的长度相同,也就是5个字节,从而获得与第1个SID对应的压缩段标识。网络设备将与第1个SID对应的压缩段标识放在上述5个压缩段标识之前,从而,总共6个压缩段标识按照对应的6个SID的排列顺序进行排列。所述6个压缩段标识的长度均为5个字节,小于原始段标识的16字节。
在一个示例中,网络设备对上述S个原始段标识进行比较,通过获得差异值的方式对原始段标识进行压缩。例如,网络设备通过比较上述6个SID,确定每个SID的前12个字节内容相同,相同部分的内容为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF。网络设备截取每个SID的后4个字节的内容作为与每个SID对应的压缩段标识。例如,节点A对应的SID的后4个字节为1AAA:BBB1,则该SID对应的压缩段标识为1AAA:BBB1。类似地,节点B、节点C、节点E和节点F的SID所对应的压缩段标识分别为2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6。也就是说,网络设备生成与上述6个SID一一对应的6个压缩段标识,所述6个压缩段标识依次相邻。也就是说,此时C等于6。所述6个压缩段标识的长度均为4个字节,小于原始段标识的16字节。
在一个示例中,网络设备将上述S个原始段标识中的每个原始段标识的locator部分和function ID部分分别处理。网络设备将所述每个原始段标识的locator部分进行比较,获得locator部分的差异值作为与每个SID对应的压缩段标识的第一部分。网络设备将所述每个原始段标识的function ID部分所表示的节点操作与一个压缩的function ID建立对应关系,并将该压缩的function ID作为与每个SID对应的压缩段标识的第二部分。该压缩的function ID的长度小于所述每个原始段标识的function ID部分的长度。例如,上述6个SID中每个SID的前13字节为locator部分,后3字节为function ID部分。网络设备比较6个SID的locator部分,确定每个SID的locator部分的前12个字节内容相同,相同部分的内容为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF。网络设备截取每个SID的locator部分的后1个字节的内容作为与每个SID对应的压缩段标识的第一部分。例如,节点A对应的SID的locator部分的后1个字节为1A,则该SID对应的压缩段标识的第一部分为1A。类似地,节点B、节点C、节点E和节点F的SID所对应的压缩段标识的第一部分分别为2A,3A,4A,5A,6A。节点A的SID的function ID部分为AA:BBB1,代表的节点操作可以为将下一个SID替换到DA字段然后将数据包查表转发,函数名称为END SID。网络设备将节点A的SID的function ID部分所表示的节点操作与一个压缩的function ID建立对应关系。例如,该压缩的function ID为B1。也就是说,B1是与将数据包查表转发(END SID)这一节点操作对应的压缩function ID。类似地,节点B、节点C、节点E和节点F的SID的function ID部分表示的节点操作也可以分别对应到压缩function ID,这些压缩function ID可以分别为B2,B3,B4,B5,B6。进而,节点B、节点C、节点E和节点F的SID所对应的压缩段标识的第二部分分别为2A,3A,4A,5A,6A。从而,网络设备生成与上述6个SID一一对应的6个压缩段标识分别为1AB1,2AB2,3AB3,4AB4,5AB5,6AB6。所述6个压缩段标识的长度均为2个字节,小于原始段标识的16字节。
可选地,网络设备将上述各个压缩function ID与各个节点操作的对应关系发布给报文转发路径中的各个节点。
可选地,网络设备将上述各个压缩function ID与各个SID的function ID部分的对应关系发布给报文转发路径中的各个节点。
由此可见,无论是通过获得SID的整体差值进行压缩,还是通过获得SID的整体差异值进行压缩,还是将SID分为两部分分别进行压缩,最终获得的所述压缩段标识的长度均小于SID(即原始段标识)的长度。
S203:所述网络设备生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述压缩段列表用于沿所述报文转发路径转发报文。
结合图1A和图1B所示的应用场景进行举例说明。在一个示例中,网络设备对原始段列表中的6个SID进行比较获得差异值,进而获得6个压缩段标识分别为1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6。此时,C等于6。该6个压缩段标识分别与节点A、节点B、节点C、节点E和节点F的SID对应。网络设备生成的压缩段列表为[1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6]。
在一个示例中,网络设备对原始段列表中的6个SID进行比较获得差值。具体的,网络设备分别获得上述6个SID中的后5个SID与其前一个SID的差值,进而获得5个压缩段标识分别为0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001。此时,C等于5。该5个压缩段标识分别与节点B、节点C、节点E和节点F的SID对应。网络设备生成包括该5个压缩段标识的压缩段列表为[0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001]。
在某些应用场景下,SID list中最后一个SID的值可能与其他SID的值差别较大。例如,当最后一个SID对应的节点与前一个SID对应的节点分属网络中的不同域时,或者,当采用插入(insertion)模式生成SID list时,SID list中最后一个SID的值都将与其他SID的值差别较大。此时,采用上述通过获得差值进行压缩或者通过获得差异值进行压缩的方式,压缩效果都会受到影响。结合图1A和图1B所示的应用场景进行举例说明,报文转发路径依次经过节点A、节点B、节点C、节点E和节点G,其中节点G(图中未示出)的SID为ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6。则原始段列表为[AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB2 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:4AAA:BBB4 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:5AAA:BBB5 ,ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6]。网络设备可以对其中的全部6个SID进行比较,也就是说,所述S可以等于6。如果通过获得差异值进行压缩,网络设备通过比较6个SID,发现对于所有6个SID来说,只有前1个字节的内容相同,相同部分的内容为A。则按照上述方法,压缩段标识的长度将为15字节,压缩效果不理想。如果通过获得差值进行压缩,第6个SID(ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6)与第5个SID(AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:5AAA:BBB5)的差值为0123:0123:0123:0123:0123:0123:1000:0001,共125比特。则按照上述方法,对齐后的压缩段标识的长度将为16字节,压缩效果不理想。
在一个示例中,网络设备不对原始段列表中的最后一个SID进行压缩。结合图1A和图1B所示的应用场景进行举例说明,网络设备对原始段列表中的前5个SID进行比较。例如,通过获得差异值进行压缩,网络设备获得的5个压缩段标识分别为1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5。此时,C等于5。该5个压缩段标识分别与节点A、节点B、节点C和节点E的SID对应。网络设备生成包括该5个压缩段标识的压缩段列表为[1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6],其中最后一个段标识仍然为原始段列表中的SID,未进行压缩。前5个压缩段标识的长度均为4个字节,最后一个SID的长度为16字节,所述压缩段列表的长度为36字节。与原始段列表的长度为96字节相比,压缩段列表的长度仍然被缩短,提高网络的传输效率。
在一个示例中,网络设备通过绑定段标识(binding SID,BSID)对最后一个SID进行映射。结合图1A和图1B所示的应用场景进行举例说明。此时可以进行网络配置,通过节点F(图中未示出)发布binding SID AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6=ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6,其中AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6为节点F对应的binding SID。此时,网络设备获得的原始段列表可以是[AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:1AAA:BBB1,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB1 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB1 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:4AAA:BBB1 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:5AAA:BBB1 ,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB2]。其中,最后一个SID为binding SID。例如,通过获得差异值进行压缩,网络设备生成的压缩段列表为[1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6]。其中,生成压缩段列表的过程参见上述方法,在此不再赘述。该压缩段列表中的6个压缩段标识分别对应节点A、节点B、节点C、节点E和节点F。当根据所述压缩段列表进行报文转发时,报文到达节点F后,节点F进一步将报文发送至节点G。此时,压缩段列表的长度仍然被缩短,提高网络的传输效率。
参阅图3A,本申请实施例提供了一种生成段列表的方法。该方法涉及网络设备301和网络设备302。其中,网络设备301可以是网络的入口节点,网络设备302可以是网络的中间节点。结合图1A所示的应用场景,网络设备301可以是节点S,网络设备302可以是节点A、节点B、节点C、节点E和节点F。该方法包括:
S310,网络设备301获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个网络设备。
S311,网络设备301对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S。
S312,网络设备301生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述压缩段列表用于沿所述报文转发路径转发报文。
其中,步骤S310、S311、S312的具体过程可以参见本申请实施例中步骤S201、S202、S203的描述,相同之处不再赘述。网络设备301获得对应报文转发路径的原始段列表,可以是网络设备301从网络中的控制器接收所述原始段列表。
在一个示例中,网络设备301在生成压缩段列表之后,还生成与压缩段列表对应的第一标志,所述第一标志的值为所述压缩段列表中压缩段标识的长度值。所述第一标志的值可以为正整数。结合图1A所示的应用场景,节点S从网络中的控制器接收原始段列表,生成压缩段列表为[1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6]。节点S生成与该压缩段列表对应的第一标志,该压缩段列表中压缩段标识的长度为4字节,则该第一标志的值为4。该第一标志与上述压缩段列表对应。
S313,网络设备301接收报文,所述报文的转发路径为所述报文转发路径,网络设备301将压缩段列表封装至所述报文中。
网络设备301可以将所述压缩段列表封装至第一报文的路由头(routing header)中。可选地,该第一报文的路由头可以是SRH。可选地,该第一报文的路由头可以是一种新的路由头格式,例如,该新的路由头格式可以被称为差异路由头(difference routingheader,DRH)或者压缩路由头(compressed routing header,CRH)。需要指出的是,在SRv6网络中,段列表在被封装至报文时要进行倒序。举例来说,上述6个压缩段标识1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6依次对应报文转发路径中的节点A、节点B、节点C、节点E和节点F,压缩段列表依照对应节点在报文转发路径中的先后顺序排列为[1AAA:BBB1,2AAA:BBB2,3AAA:BBB3,4AAA:BBB4,5AAA:BBB5,6AAA:BBB6]。然而上述压缩段列表在被封装进报文头时,排列顺序将变为倒序。最终封装在报文头中的倒序压缩段列表为[6AAA:BBB6,5AAA:BBB5,4AAA:BBB4,3AAA:BBB3,2AAA:BBB2,1AAA:BBB1]。
在一个示例中,网络设备301可以将上述生成的与压缩段列表对应的第一标志封装至报文中。例如,网络设备301可以将所述第一标志封装至报文的路由头中。例如,网络设备301可以将所述第一标志封装至报文的路由头的内部压缩字段(compress internal,Cmpr)字段中。图3B示出了本申请实施例提供的一种报文头的格式。该报文头中除了上述Cmpr字段,还包括:Next Header字段表示下一个报文头,Hdr Ext Len字段表示报文头扩展长度,Routing Type字段表示路由类型,Segment Left字段表示段剩余,Last Entry字段表示最后一个条目。其中,Cmpr字段的长度为4比特。
在一个示例中,网络设备301可以根据上述生成的与压缩段列表对应的第一标志,生成一种特殊段标识,并将该特殊段标识封装至报文的报文头中目的地址(destinationaddress,DA)字段中。该特殊段标识的第一部分为下一跳节点的SID的locator部分,该特殊段标识的第二部分为function ID部分。该特殊段标识中的function ID部分表示函数END.CXSID,其中X为上述第一标志的值。该函数的功能是标识所述压缩段列表中的压缩段标识的长度为X。例如,当第一标志为2时,该特殊段标识中的function ID部分表示的函数为END.C2SID,即标识所述压缩段列表中的压缩段标识的长度为2。
可选地,所述报文传输路径上的各个节点中表示函数END.CXSID的function ID部分或以是相同的也可以是不同的。
在一个示例中,网络设备301还可以生成与所述压缩段列表对应的第二标志,并将所述第二标志封装至报文中。所述第二标志用于指示所述压缩段列表中包括压缩段标识。可选地,所述第二标志的长度可以为1比特,当所述第二标志为1时,表明所述压缩段列表中包括压缩段标识。可选地,网络设备301可以将所述第二标志封装至报文的路由头中。
在一个示例中,网络设备301还可以生成与所述压缩段列表对应的第三标志,并将所述第三标志封装至报文中。所述第三标志用于指示所述压缩段列表中包括所述原始段列表中的最后一个原始段标识,即该最后一个原始段标识未被压缩。可选地,所述第三标志的长度可以为1比特,当所述第三标志为1时,表明所述压缩段列表中包括所述原始段列表中的最后一个原始段标识,即该最后一个原始段标识未被压缩。可选地,网络设备301可以将所述第三标志封装至报文的路由头中。
S314,网络设备301发送携带所述压缩段列表的报文。
该报文中还可以携带上述第一标志。该报文中还可以携带上述第二标志。该报文中还可以携带上述第三标志。
S315,网络设备302接收网络设备301发送的报文,所述报文包括压缩段列表,所述段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识。
网络设备302接收网络设备301发送的报文。可选地,网络设备301与网络设备302直接通过网络链路连接,网络设备301通过所述链路将报文直接发送至网络设备302。可选地,网络设备301与网络设备302之间存在其他中间节点,网络设备301将报文发出,经过一个或多个其他中间节点的转发,到达网络设备302。
S316,网络设备302根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述第二网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度。
在一个示例中,网络设备302从所述报文中读取第一标志,所述第一标志的值为所述压缩段列表中所述压缩段标识的长度。网络设备302根据第一标志的值从所述压缩段列表中读取所述压缩段标识。
在一个示例中,网络设备302将所述压缩段标识与所述报文的目的地址相加,生成所述原始段标识。
结合图1A所示的应用场景,网络设备302可以是节点B。节点B接收节点S发送的报文,报文包括压缩段列表,如前所述,此时的压缩段列表为倒序压缩段列表,例如是[0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001]。节点B从报文中读取第一标志,第一标志的值为5,表明所述压缩段列表中所述压缩段标识的长度为5字节。节点B根据第一标志的值为5,得知当前压缩段列表中每个压缩段标识的长度为5字节。可选地,节点B还需要结合段剩余(segment left,SL)的值,确定当前处理的压缩段标识。例如,SL=4,节点B得知当前处理的压缩段标识为第4个压缩段标识。从而,节点B获得当前处理的压缩段标识为0:1000:0001。该压缩段标识的最高位为符号位。具体的,该压缩段标识的最高位为1,表明该压缩段标识为正。节点B获得报文的目的地址。可选地,所述报文的目的地址是所述报文的报文头中目的地址字段中的地址。例如,该目的地址可以是AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB2。节点B将该压缩段标识与该目的地址相加,所得相加结果为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3,该相加结果即为原始段标识。该原始段标识即为节点B在报文的转发路径中的下一跳节点的SID。例如,该原始段标识为节点C的SID。
在一个示例中,网络设备从报文中读取第二标志,并根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识。
在一个示例中,网络设备302从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数,所述S个原始段标识的前N字节内容相同。网络设备302根据所述第一标志,获得所述压缩段标识的长度为M-N字节,所述M为正整数,所述原始段标识的长度为M字节。其中,所述原始段标识可以是SRv6网络中的SID。网络设备302根据所述压缩段标识的长度为M-N字节,从所述压缩段列表中读取所述压缩段标识。
在一个示例中,网络设备302用所述压缩段标识替换所述报文的报文头中的DA字段的所述后M-N字节的内容,生成所述原始段标识。
结合图1A所示的应用场景,网络设备302可以是节点B。节点B接收节点S发送的报文,报文包括压缩段列表,所述压缩段列表可以是[6AAA:BBB6,5AAA:BBB5,4AAA:BBB4,3AAA:BBB3,2AAA:BBB2,1AAA:BBB1]。节点B从控制器接收第一控制报文,第一控制报文中包括第一标志,第一标志的值为12,即原始段列表中6个原始段标识的前12字节内容相同。节点B根据第一标志的值为12,并且该SR网络中SID的长度为16字节,则所述压缩段列表中压缩段标识的长度为4字节。可选地,节点B还需要结合段剩余(segment left,SL)的值,确定当前处理的压缩段标识。例如,SL=4,节点B得知当前处理的压缩段标识为第4个压缩段标识。从而,节点B获得当前处理的压缩段标识为3AAA:BBB1。节点B获得报文的目的地址。可选地,所述报文的目的地址是所述报文的报文头中目的地址字段中的地址。例如,该目的地址可以是AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2AAA:BBB2。节点B用所述压缩段标识替换所述第一报文的目的地址的后4字节的内容,所得结果为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3,该结果即为原始段标识。该原始段标识即为节点B在报文的转发路径中的下一跳节点的SID。例如,该原始段标识为节点C的SID。
在一个示例中,网络设备302从报文的报文头中的DA字段读取function ID部分,根据所述function ID部分为END.CXSID,获得所述压缩段列表中所述压缩段标识的长度为X字节。网络设备302根据所述压缩段标识的长度为X字节,从所述压缩段列表中读取所述压缩段标识。
在一个示例中,网络设备302从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数,所述S个原始段标识的前N字节内容相同。网络设备302根据所述第四标志,获得所述压缩段标识的第一部分的长度为LA-N字节,所述LA为正整数,所述原始段标识中locator部分的长度为LA字节。其中,所述原始段标识可以是SRv6网络中的SID。网络设备302根据所述压缩段标识的第一部分的长度为LA-N字节,从所述压缩段标识中获得所述压缩段标识的第一部分。进而,网络设备302获得所述压缩段标识中除去第一部分的内容为所述压缩段标识的第二部分。
在一个示例中,网络设备302用所述压缩段标识的第一部分替换所述报文的报文头中DA字段的locator部分的所述后LA-N字节的内容,生成所述原始段标识的locator部分。
在一个示例中,网络设备302接收各个压缩function ID与各个节点操作的对应关系,或者网络设备302接收各个压缩function ID与各个SID的function ID部分的对应关系。这些对应关系可以是网络设备301发送的,也可以是网络中的控制器发送的。网络设备302将所述压缩段标识的第二部分作为压缩function ID,根据接收到的各个压缩functionID与各个节点操作的对应关系或者各个压缩function ID与各个SID的function ID部分的对应关系,获得原始段标识的function ID部分。
结合图1A所示的应用场景进行举例说明。网络设备302可以是节点B。节点B接收节点S发送的报文,报文包括压缩段列表,所述压缩段列表可以是[6AB6,5AB5,4AB4,3AB3,2AB2,1AB1]。节点B从报文的报文头中获取DA字段,所述DA字段的压缩function部分为END.C2SID,所述DA字段的locator部分为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2A。节点B根据所述DA字段的压缩function ID为END.C2SID,获得所述压缩段列表中压缩段标识的长度为2字节。节点B根据所述压缩段标识的长度为2字节,从所述压缩段列表中读取所述压缩段标识。可选地,节点B还需要结合段剩余(segment left,SL)的值,确定当前处理的压缩段标识。例如,SL=4,节点B得知当前处理的压缩段标识为第4个压缩段标识。从而,节点B获得当前处理的压缩段标识为3AB3。节点B从网络中的控制器接收第一控制报文,所述第一控制报文包括第四标志,第四标志的值为12,表明原始段标识的前12字节内容相同。节点B根据第四标志的值为12,并且该SR网络中SID的locator部分的长度为13,获得所述压缩段标识的第一部分的长度为13-12=1字节。节点B根据所述压缩段标识的第一部分的长度为1字节,获得所述压缩段标识的第一部分为3A,所述压缩段标识的第二部分为B3。节点B用3A替换DA字段的locator部分的后1字节的内容,生成所述原始段标识的locator部分为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3A。节点B接收节点S发送的各个压缩function与各个SID的function ID部分的对应关系。其中,压缩function ID为B3时,对应的SID的function ID部分为AA:BBB3。因此,节点B根据压缩function ID部分为B3,获得原始段标识的function部分为AA:BBB3。从而,节点B获得原始段标识为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3。
在一个示例中,网络设备302将获得的所述原始段标识替换所述报文的报文头中DA字段中的地址。
结合图1A所示的应用场景,网络设备302可以是节点B。节点B获得原始段标识为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3,节点B将所述原始段标识替换所述第一报文的报文头中目的地址(Destination Address,DA)字段中的地址。
在一个示例中,网络设备302将所述原始段标识的第一部分替换所述报文的报文头中DA字段的第一部分。
结合图1A所示的应用场景,网络设备302可以是节点B。DA字段的第一部分,即locator部分可以是AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:2A。节点B获得原始段标识为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3AAA:BBB3,节点B将所述原始段标识的第一部分,即locator部分替换所述DA字段中的第一部分。替换后的DA字段的第一部分为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:3A。
在一个示例中,网络设备302根据所述压缩段标识中的压缩function ID部分获得对应的节点操作,并执行该节点操作。结合图1A所示的应用场景,网络设备302可以是节点B。节点B接收各个压缩function ID与各个节点操作的对应关系。节点B获得压缩段标识中压缩function ID部分为B3。通过该压缩function ID部分为B3,在上述对应关系中获得相应的节点操作,并执行节点操作。
在一个示例中,或者网络设备302根据获得的所述原始段标识中的function ID部分获得对应的节点操作,并执行该节点操作。结合图1A所示的应用场景,网络设备302可以是节点B。节点B接收各个压缩function ID与各个SID的function ID部分的对应关系。节点B获得压缩段标识中压缩function ID部分为B3。通过该压缩function ID部分为B3,在上述对应关系中获得SID的function ID部分为AA:BBB3。再通过该SID的function ID部分为AA:BBB3获得相应的节点操作,并执行节点操作。
在一个示例中,网络设备302不对所述报文的报文头中DA字段的第二部分进行替换。所述DA字段的第二部分为function ID部分。具体的,该DA字段的function ID部分的内容为上述函数END.CXSID对应的function ID。在一种情况下,上述函数END.CXSID在报文转发路径的所有节点中,对应的function ID是相同的。此时,网络设备302不需要对所述所述报文的报文头中DA字段的第二部分进行替换。当报文到达下一跳节点时,下一跳节点获得DA字段的第二部分,即function ID部分,并对应到函数END.CXSID。
在一个示例中,网络设备302对所述报文的报文头中DA字段的第二部分进行替换。结合上述描述,在另一种情况下,上述函数END.CXSID在报文转发路径的不同节点中,对应的function ID是不同的。此时,网络设备302需要对所述所述报文的报文头中DA字段的第二部分进行替换。此时,网络设备302还接收上述函数END.CXSID与各个节点中代表该函数的function ID的对应关系。具体的,网络设备302根据压缩段标识的第一部分,获得所述原始段标识的locator部分,该原始段标识的locator部分指示网络设备302在所述报文转发路径的下一跳节点。网络设备302根据接收到的上述函数END.CXSID与各个节点中代表该函数的function ID的对应关系,获得所述下一跳节点中代表该函数的function ID,并将该function ID替换所述报文的报文头中DA字段的第二部分。
S317,网络设备302根据所述原始段标识,将所述报文发送至所述下一跳节点。
在一个示例中,原始段标识为绑定段标识,所述绑定段标识用于指示所述下一跳节点将包括所述绑定段标识的报文发送至所述绑定段标识对应的节点。
结合图1A所示的应用场景。网络设备302可以是节点E。通过网络配置,使得节点F发布binding SID AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6=ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6,其中ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6可以为节点G(图1A中未示出)对应的SID,AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6可以为节点F对应的SID。节点E接收节点S发送的第一报文,第一报文包括压缩段列表,所述压缩段列表可以是[6AAA:BBB6,5AAA:BBB5,4AAA:BBB4,3AAA:BBB3,2AAA:BBB2,1AAA:BBB1]。节点E根据压缩段列表中的压缩段标识和所述报文的目的地址生成原始段标识为AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6,即节点F的SID。所述原始段标识的获得过程参见上述方法中的描述,相同之处不再赘述。节点E根据该原始段标识,将第一报文发送至下一跳节点,即节点F。报文到达节点F后,节点F通过查询转发表项,获知该AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6为binding SID,并且binding SID AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:6AAA:BBB6 =ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6 。 该ABCD:ABCD:ABCD:ABCD:ABCD:ABCD:6AAA:BBB6为节点G对应的SID。节点F将报文发送至节点G。
参阅图4,本申请实施例三提供了一种生成段列表的方法。该方法涉及网络设备401、网络设备402和网络设备403。其中,网络设备401可以是网络中的控制器,网络设备402可以是网络的入口节点,网络设备403可以是网络的中间节点。结合图1B所示的应用场景,网络设备401可以是控制器,网络设备402可以是节点S,网络设备403可以是节点A、节点B、节点C、节点E和节点F。该方法包括:
S410,网络设备401获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个网络设备。
S411,网络设备401对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S。
S412,网络设备401生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述压缩段列表用于沿所述报文转发路径转发报文。
其中,步骤S410、S411、S412的具体过程可以参见图2所示实施例中步骤S201、S202、S203的描述,相同之处不再赘述。
在一个示例中,网络设备401生成第一控制报文,第一控制报文中包括压缩段列表和第一标志。所述第一标志的值为所述压缩段列表中压缩段标识的长度值。结合图1B所示的应用场景,控制器根据原始段列表,生成压缩段列表为[0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001,0:1000:0001]。控制器还生成与该压缩段列表对应的第一标志,该压缩段列表中压缩段标识的长度为5字节,则该第一标志的值为5。所述第一控制报文可以是一个报文或多个报文。
在一个示例中,网络设备401还生成第二控制报文,第二控制报文中包括压缩段列表和第二标志。所述第二标志用于指示所述压缩段列表中包括压缩段标识。可选地,所述第二标志的长度可以为1比特,当所述第二标志为1时,表明所述压缩段列表中包括压缩段标识。所述第一控制报文可以是一个报文或多个报文。
在一个示例中,网络设备401还生成与所述压缩段列表对应的第三控制报文,第三控制报文中包括与压缩段列表对应的第三标志。所述第三标志用于指示所述压缩段列表中包括所述原始段列表中的最后一个原始段标识,即该最后一个原始段标识未被压缩。可选地,所述第三标志的长度可以为1比特,当所述第三标志为1时,表明所述压缩段列表中包括所述原始段列表中的最后一个原始段标识,即该最后一个原始段标识未被压缩。
在一个示例中,网络设备401生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数,所述S个原始段标识的前N字节内容相同。
S413,网络设备401将压缩段列表发送至网络设备402。
在一个示例中,网络设备401还将包括第一标志的第一控制报文发送至网络设备402。
在一个示例中,网络设备401还将包括第二标志的第二控制报文发送至网络设备402。
在一个示例中,网络设备401还将包括第三标志的第三控制报文发送至网络设备402。
在一个示例中,网络设备401还将包括第四标志的第四控制报文发送至网络设备403。网络设备403可以是网络的中间节点。结合图1B所示的应用场景,网络设备403可以是节点A、节点B、节点C、节点E和节点F。
S414,网络设备402接收报文,所述报文的转发路径为所述报文转发路径,网络设备402将压缩段列表封装至所述报文中。
在一个示例中,网络设备402进而将从所述控制器接收的第一控制报文中的所述第一标志封装至报文的路由头中。可选地,网络设备402可以将所述第一标志封装至报文的路由头的Cmpr字段中。可选地,网络设备403可以生成包括所述第一标志的特殊段标识,并将所述特殊段标识放入所述报文的报文头中的DA字段中。
在一个示例中,网络设备402进而将从所述控制器接收的第二控制报文中的所述第二标志封装至报文的路由头中。
在一个示例中,网络设备402进而将从所述控制器接收的第三控制报文中的所述第三标志封装至报文的路由头中。
S414,网络设备402将携带所述压缩段列表的报文发送出去。
该报文中还可以携带上述第一标志。该报文中还可以携带上述第二标志。该报文中还可以携带上述第三标志。
S416,网络设备403接收网络设备402发送的报文,所述报文包括压缩段列表,所述段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识。
S417,网络设备403根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述第二网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度。
S418,网络设备403根据所述原始段标识,将所述报文发送至所述下一跳节点。
其中,步骤S416、S417、S418的具体过程可以参见本申请实施例一中步骤S315、S316、S317的描述,相同之处不再赘述。
图5示出了上述实施例中所涉及的网络设备的一种可能的结构示意图,网络设备500可以实现图2所示实施例中网络设备、图3所示实施例中网络设备301或图4所示实施例中网络设备401的功能。参阅图5,该网络设备500包括:获取单元501和处理单元502。这些单元可以执行上述方法示例中网络设备的相应功能。举例来说,
获取单元501,用于获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或链路;
处理单元502,用于对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S;
处理单元502,还用于生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述C个压缩段标识在所述压缩段列表中的位置对应所述C个原始段标识在所述原始段列表中的位置,所述压缩段列表用于沿所述报文转发路径转发报文。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的网络设备的另一种可能的结构示意图,该网络设备600可以实现图2所示实施例中网络设备、图3所示实施例中网络设备301或图4所示实施例中网络设备401的功能。
网络设备600包括:存储单元601、处理单元602和通信单元603。处理单元602用于对网络设备600的动作进行控制管理,例如,处理单元602用于支持网络设备600执行图2中的过程S201,S202,S203,图3中的过程S310,S311,S312,S313,S314,图4中的过程S410,S411,S412,和/或用于本文描述的技术的其它过程。通信单元603用于支持网络设备600与其他网络实体的通信,例如与图3所示实施例中网络设备302或图4所示实施例中网络设备402之间的通信。存储单元601,用于存储网络设备600的程序代码和数据。
其中,处理单元602可以是处理器,例如可以是中央处理器(central processingunit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元603可以是网络接口,存储单元601可以是存储器。
当处理单元602为处理器,通信单元603为网络接口,存储单元601为存储器时,本发明实施例所涉及的网络设备可以为图7所示的网络设备700。
参阅图7所示,图7示出上述实施例中所涉及的网络设备的另一种可能的结构示意图,网络设备700包括:处理器702、网络接口703、存储器701以及总线704。其中,
存储器701,用于存储指令;在实现图5所示实施例的情况下,且图5实施例中所描述的各单元为通过软件实现的情况下,执行图5中的获取单元501和处理单元502功能所需的软件或程序代码存储在存储器701中。
处理器702,用于执行存储器701中的指令,执行上述应用于图2-4所示实施例中网络设备生成段列表的方法;
网络接口703,用于进行通信。
网络接口703可以为以太(ethernet)接口或异步传输模式(asynchronoustransfer mode,ATM)接口等。
网络接口703、处理器702以及存储器701通过总线704相互连接;总线704可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器702用于获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或链路;对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S;生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述C个压缩段标识在所述压缩段列表中的位置对应所述C个原始段标识在所述原始段列表中的位置,所述压缩段列表用于沿所述报文转发路径转发报文。该处理器702的详细处理过程请参考上述图2所示实施例中S201,S202,S203,图3所示实施例中S310,S311,S312,S313,图4中的过程S410,S411,S412的详细描述,这里不再赘述。
网络接口703用于网络设备通过网络系统收发报文或段列表。具体的过程请参考上述图3所示实施例中S314,图4所示实施例中S413的详细描述,这里不再赘述。
图8示出了上述实施例中所涉及的网络设备的一种可能的结构示意图,该网络设备800可以实现图3所示实施例中网络设备302或图4所示实施例中网络设备403的功能。参阅图8,网络设备800包括:接收单元801、处理单元802和发送单元803。这些单元可以执行上述方法示例中网络设备的相应功能。举例来说,
接收单元801,用于接收报文,所述报文包括压缩段列表,所述压缩段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识;
处理单元802,用于根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;
发送单元803,用于根据所述原始段标识,将所述报文发送至所述下一跳节点。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的网络设备的另一种可能的结构示意图,该网络设备900可以实现图3所示实施例中网络设备302或图4所示实施例中网络设备403的功能。
网络设备900包括:存储单元901、处理单元902和通信单元903。处理单元902用于对网络设备900的动作进行控制管理,例如,处理单元902用于支持网络设备900执行图3中的过程S315,S316,S317,图4中的过程S417,S418,S419,和/或用于本文描述的技术的其它过程。通信单元903用于支持网络设备900与其他网络实体的通信,例如与图3所示实施例中网络设备301或图4所示实施例中网络设备402之间的通信。存储单元901,用于存储网络设备900的程序代码和数据。
其中,处理单元902可以是处理器,例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元903可以是收发器。存储单元901可以是存储器。
当处理单元902为处理器,通信单元903为网络接口,存储单元901为存储器时,本发明实施例所涉及的网络设备可以为图10所示的网络节点1000。
参阅图10所示,图10示出了上述实施例中所涉及的网络设备的一种可能的结构示意图,网络设备1000包括:处理器1002、网络接口1003、存储器1001以及总线1004。其中,
存储器1001,用于存储指令;在实现图8所示实施例的情况下,且图8实施例中所描述的各单元为通过软件实现的情况下,执行图8中的接收单元801、处理单元802和发送单元803功能所需的软件或程序代码存储在存储器1001中。
处理器1002,用于执行存储器1001中的指令,执行上述应用于图2-4所示实施例中网络设备转发报文的方法;
网络接口1003,用于进行通信。
网络接口1003可以为以太(ethernet)接口或异步传输模式(asynchronoustransfer mode,ATM)接口等。
网络接口1003、处理器1002以及存储器1001通过总线1004相互连接;总线1004可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器1002用于接收报文,所述报文包括压缩段列表,所述压缩段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识;根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;根据所述原始段标识,将所述报文发送至所述下一跳节点。该处理器1002的详细处理过程请参考上述图3所示实施例中S315,S316,S317,图4中的过程S417,S418,S419的详细描述,这里不再赘述。
网络接口1003用于网络设备通过网络系统收发报文。具体的过程请参考上述图3所示实施例中S315,S317,图4所示实施例中S417,S419的详细描述,这里不再赘述。
本申请实施例还提供了一种网络系统,网络系统包括控制器、第一网络设备和第二网络设备。所述网络系统中的控制器可以执行图4实施例中网络设备401的处理步骤,所述网络系统中的第一网络设备可以执行图4实施例中网络设备402的处理步骤,所述网络系统中的第二网络设备可以执行图4实施例中网络设备403的处理步骤。相应的,所述网络系统中的控制器可以为图5所示实施例的网络设备500,所述网络系统中的第二网络设备为图8所示实施例的网络设备800。或者相应的,所述网络系统中的控制器可以为图6所示实施例的网络设备600,所述网络系统中的第二网络设备为图9所示实施例的网络设备900。或者相应的,所述网络系统中的控制器可以为图7所示实施例的网络设备700,所述网络系统中的第二网络设备为图10所示实施例的网络设备1000。
具体的,所述控制器用于获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或链路;对所述原始段列表中的依次相邻的S个原始段标识进行比较,生成依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述S为正整数,所述C为正整数,且所述C小于等于所述S;生成压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识,所述C个压缩段标识在所述压缩段列表中的位置对应所述C个原始段标识在所述原始段列表中的位置,所述压缩段列表用于沿所述报文转发路径转发报文。
所述第一网络设备用于接收报文,所述报文的转发路径为所述报文转发路径;将所述压缩段列表封装至所述报文中。
所述第二网络设备用于接收报文,所述报文包括压缩段列表,所述压缩段列表对应所述第一报文的转发路径,所述压缩段列表包括压缩段标识;根据所述压缩段标识和所述第一报文的目的地址生成原始段标识,所述原始段标识对应所述网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;根据所述原始段标识,将所述报文发送至所述下一跳节点。
本发明实施例还提供了一种非易失性存储介质,用于储存前述实施例中所用的软件指令,其包括用于执行前述实施例所示的方法的程序,当其在计算机或网络设备上执行时,使得所示计算机或网络设备执行前述方法实施例中的方法。
本发明实施例还提供了一种包括计算机程序指令的计算机程序产品,当该计算机程序产品在网络节点上运行时,使得网络节点执行前述方法实施例中的方法。
本发明实施例中提到的第一网络设备、第一标志、第一部分和第一控制报文中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”和“第四”。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的网络节点实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(readonly memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络节点中。当然,处理器和存储介质也可以作为分立组件存在于网络节点中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (33)
1.一种生成用于报文转发的段列表的方法,其特征在于,所述方法包括:
网络设备获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或者链路;
所述网络设备根据所述原始段列表中的依次相邻的S个原始段标识获得依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个原始段标识中的每个原始段标识的前N字节内容相同,所述压缩段标识的长度为X字节,所述压缩段标识中的每个压缩段标识包括对应的原始段标识中前N字节之后的X字节的内容,并且所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述N为正整数,所述X为正整数,所述S为正整数,所述C为正整数,且所述C小于等于所述S;
所述网络设备生成用于沿所述报文转发路径转发报文的压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识。
2.根据权利要求1所述的方法,其特征在于,所述S个原始段标识中的每个原始段标识的长度为M字节,所述C个压缩段标识中的每个压缩段标识不包括对应的原始段标识中的前N字节内容,其中,所述M为正整数,所述N小于所述M。
3.根据权利要求2所述的方法,其特征在于,所述网络设备为网络中的控制器,所述方法还包括:
所述网络设备生成第二控制报文,所述第二控制报文包括所述压缩段列表和第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识;
所述网络设备生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志用于指示所述S个原始段标识中的每个原始段标识的前N字节内容相同;
所述网络设备将所述第二控制报文发送至网络入口节点;
所述网络设备将所述第四控制报文发送至所述报文转发路径中的节点。
4.根据权利要求1所述的方法,其特征在于,所述每个原始段标识包括第一部分和第二部分,所述网络设备根据所述原始段列表中的依次相邻的S个原始段标识生成用于沿所述报文转发路径转发报文的压缩段列表,包括:
所述网络设备对所述S个原始段标识的所述第一部分进行比较,生成与所述S个原始段标识中每个原始段标识对应的压缩段标识的第一部分,所述压缩段标识的所述第一部分的长度小于对应的原始段标识的所述第一部分的长度;
所述网络设备将所述每个原始段标识的第二部分与压缩标志建立对应关系,并将所述压缩标志作为与所述每个原始段标识对应的压缩段标识的第二部分,所述压缩段标识的所述第二部分的长度小于对应的原始段标识的所述第二部分的长度;
所述网络设备根据与所述每个原始段标识对应的压缩段标识的所述第一部分和与所述每个原始段标识对应的压缩段标识的所述第二部分,获得与所述每个原始段标识对应的压缩段标识。
5.根据权利要求4所述的方法,其特征在于,所述网络设备对所述S个原始段标识的所述第一部分进行比较,生成与所述S个原始段标识中每个原始段标识对应的压缩段标识的第一部分包括:
所述网络设备比较所述S个原始段标识的所述第一部分,确定所述S个原始段标识中的每个原始段标识的所述第一部分的前N字节内容相同,所述N为正整数;
所述网络设备将所述每个原始段标识的所述第一部分的后LA-N字节的内容作为与所述每个原始段标识对应的压缩段标识的所述第一部分,所述LA为正整数,所述S个原始段标识中的每个原始段标识的所述第一部分的长度为LA字节。
6.根据权利要求5所述的方法,其特征在于,所述网络设备为网络中的控制器,所述方法还包括:
所述网络设备生成第二控制报文,所述第二控制报文包括所述压缩段列表和第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识;
所述网络设备生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志用于指示所述S个原始段标识中的每个原始段标识的所述第一部分的前N字节内容相同;
所述网络设备将所述第二控制报文发送至网络入口节点;
所述网络设备将所述第四控制报文发送至所述报文转发路径中的节点。
7.根据权利要求2或4或5所述的方法,其特征在于,所述网络设备为网络入口节点,所述网络设备获得对应报文转发路径的所述段列表包括:所述网络设备从网络中的控制器接收所述原始段列表;
所述方法还包括:
所述网络设备生成与所述压缩段列表对应的第二标志,所述第二标志用于指示所述压缩段列表中包括压缩段标识;
所述网络设备接收报文,所述报文沿所述报文转发路径进行转发;
所述网络设备将所述第二标志和所述压缩段列表封装至所述报文。
8.根据权利要求1所述的方法,其特征在于,所述S个原始段标识是所述原始段列表中的部分原始段标识。
9.一种根据段列表转发报文的方法,其特征在于,所述方法包括:
网络设备接收报文,所述报文包括压缩段列表,所述压缩段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识,所述压缩段列表包括依次相邻的C个压缩段标识,所述C个压缩段标识与C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述C为正整数;
所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;
所述网络设备根据所述原始段标识,将所述报文发送至所述下一跳节点。
10.根据权利要求9所述的方法,其特征在于,所述C个原始段标识中的每个原始段标识的前N字节内容相同,所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识包括:
所述网络设备用所述压缩段标识替换所述报文的目的地址中前N字节之后的X字节的内容,所述N为正整数,所述X为正整数,所述压缩段标识的长度为X字节。
11.根据权利要求9所述的方法,其特征在于,所述网络设备根据所述压缩段标识和所述报文的目的地址生成原始段标识包括:
所述网络设备将所述压缩段标识分为第一部分和第二部分;
所述网络设备将所述压缩段标识的所述第一部分替换所述报文的目的地址的第一部分的后Y字节的内容,获得所述原始段标识的第一部分,所述Y为正整数,所述压缩段标识的所述第一部分的长度为Y字节;
所述网络设备根据所述压缩段标识的所述第二部分与所述原始段标识的第二部分的对应关系,获得所述原始段标识的所述第二部分;
所述网络设备根据所述原始段标识的所述第一部分和所述原始段标识的所述第二部分,获得所述原始段标识。
12.根据权利要求9-11任一项所述的方法,其特征在于,所述报文包括第一标志,所述第一标志用于指示所述压缩段标识的长度为X字节,所述X为正整数,所述方法还包括:
所述网络设备根据所述第一标志的指示从所述压缩段列表中读取所述压缩段标识。
13.根据权利要求9-11任一项所述的方法,其特征在于,所述报文包括第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识,所述方法还包括:
所述网络设备从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数;
所述网络设备根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识,所述压缩段标识的长度为M-N字节,所述M为正整数,所述M大于所述N,所述原始段标识的长度为M字节。
14.根据权利要求11所述的方法,其特征在于,所述报文包括第一标志,所述第一标志用于指示所述压缩段标识的长度为X字节,所述X为正整数,所述报文包括第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识,所述方法还包括:
所述网络设备从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数;
所述网络设备根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识,所述压缩段标识的长度为所述X字节;
所述网络设备根据所述第四标志的指示,从所述压缩段标识中获得所述压缩段标识的所述第一部分和所述压缩段标识的所述第二部分,所述压缩段标识的所述第一部分的长度为X-M+N字节,所述M为正整数,所述M大于所述N,所述原始段标识的所述第一部分的长度为M字节。
15.根据权利要求9-11任一项所述的方法,其特征在于,所述原始段标识为绑定段标识,所述绑定段标识用于指示所述下一跳节点将包括所述绑定段标识的报文发送至所述绑定段标识对应的节点。
16.根据权利要求9-11任一项所述的方法,其特征在于,所述方法还包括:
所述网络设备用所述原始段标识替换所述报文的报文头中目的地址字段中的地址。
17.一种网络设备,其特征在于,所述网络设备包括:
获取单元,用于获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个节点或者链路;
处理单元,用于根据所述原始段列表中的依次相邻的S个原始段标识获得依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个原始段标识中的每个原始段标识的前N字节内容相同,所述压缩段标识的长度为X字节,所述压缩段标识中的每个压缩段标识包括对应的原始段标识中前N字节之后的X字节的内容,并且所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述N为正整数,所述X为正整数,所述S为正整数,所述C为正整数,且所述C小于等于所述S;
所述处理单元,还用于生成用于沿所述报文转发路径转发报文的压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识。
18.根据权利要求17所述的设备,其特征在于,所述S个原始段标识中的每个原始段标识的长度为M字节,所述C个压缩段标识中的每个压缩段标识不包括对应的原始段标识中的前N字节内容,其中,所述M为正整数,所述N小于所述M。
19.根据权利要求18所述的设备,其特征在于,所述网络设备为网络中的控制器,所述网络设备还包括发送单元,
所述处理单元,还用于生成第二控制报文,所述第二控制报文包括所述压缩段列表和第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识;生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志用于指示所述S个原始段标识中的每个原始段标识的前N字节内容相同;
所述发送单元,用于将所述第二控制报文发送至网络入口节点;将所述第四控制报文发送至所述报文转发路径中的节点。
20.根据权利要求17所述的设备,其特征在于,所述每个原始段标识包括第一部分和第二部分,
所述处理单元,还用于对所述S个原始段标识的所述第一部分进行比较,生成与所述S个原始段标识中每个原始段标识对应的压缩段标识的第一部分,所述压缩段标识的所述第一部分的长度小于对应的原始段标识的所述第一部分的长度;将所述每个原始段标识的第二部分与压缩标志建立对应关系,并将所述压缩标志作为与所述每个原始段标识对应的压缩段标识的第二部分,所述压缩段标识的所述第二部分的长度小于对应的原始段标识的所述第二部分的长度;根据与所述每个原始段标识对应的压缩段标识的所述第一部分和与所述每个原始段标识对应的压缩段标识的所述第二部分,获得与所述每个原始段标识对应的压缩段标识。
21.根据权利要求20所述的设备,其特征在于,
所述处理单元,还用于比较所述S个原始段标识的所述第一部分,确定所述S个原始段标识中的每个原始段标识的所述第一部分的前N字节内容相同,所述N为正整数;将所述每个原始段标识的所述第一部分的后LA-N字节的内容作为与所述每个原始段标识对应的压缩段标识的所述第一部分,所述LA为正整数,所述S个原始段标识中的每个原始段标识的所述第一部分的长度为LA字节。
22.根据权利要求21所述的设备,其特征在于,所述网络设备为网络中的控制器,所述网络设备还包括发送单元,
所述处理单元,还用于生成第二控制报文,所述第二控制报文包括所述压缩段列表和第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识;生成与所述压缩段列表对应的第四控制报文,所述第四控制报文包括第四标志,所述第四标志用于指示所述S个原始段标识中的每个原始段标识的所述第一部分的前N字节内容相同;
所述发送单元,用于将所述第二控制报文发送至网络入口节点;将所述第四控制报文发送至所述报文转发路径中的节点。
23.根据权利要求18或20或21所述的设备,其特征在于,所述网络设备为网络入口节点,
所述获取单元,还用于从网络中的控制器接收所述原始段列表;接收报文,所述报文沿所述报文转发路径进行转发;
所述处理单元,还用于生成与所述压缩段列表对应的第二标志,所述第二标志用于指示所述压缩段列表中包括压缩段标识;将所述第二标志和所述压缩段列表封装至所述报文。
24.根据权利要求17所述的设备,其特征在于,所述S个原始段标识是所述原始段列表中的部分原始段标识。
25.一种网络设备,其特征在于,所述网络设备包括:
获取单元,用于接收报文,所述报文包括压缩段列表,所述压缩段列表对应所述报文的转发路径,所述压缩段列表包括压缩段标识,所述压缩段列表包括依次相邻的C个压缩段标识,所述C个压缩段标识与C个原始段标识一一对应,所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述C为正整数;
处理单元,用于根据所述压缩段标识和所述报文的目的地址生成原始段标识,所述原始段标识对应所述网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;
发送单元,用于根据所述原始段标识,将所述报文发送至所述下一跳节点。
26.根据权利要求25所述的设备,其特征在于,所述C个原始段标识中的每个原始段标识的前N字节内容相同:
所述处理单元,还用于用所述压缩段标识替换所述报文的目的地址中前N字节之后的X字节的内容,所述N为正整数,所述X为正整数,所述压缩段标识的长度为X字节。
27.根据权利要求25所述的设备,其特征在于,
所述处理单元,还用于将所述压缩段标识分为第一部分和第二部分;将所述压缩段标识的所述第一部分替换所述报文的目的地址的第一部分的后Y字节的内容,获得所述原始段标识的第一部分,所述Y为正整数,所述压缩段标识的所述第一部分的长度为Y字节;根据所述压缩段标识的所述第二部分与所述原始段标识的第二部分的对应关系,获得所述原始段标识的所述第二部分;根据所述原始段标识的所述第一部分和所述原始段标识的所述第二部分,获得所述原始段标识。
28.根据权利要求25-27任一项所述的设备,其特征在于,所述报文包括第一标志,所述第一标志用于指示所述压缩段标识的长度为X字节,所述X为正整数,
所述处理单元,还用于根据所述第一标志的指示从所述压缩段列表中读取所述压缩段标识。
29.根据权利要求25-27任一项所述的设备,其特征在于,所述报文包括第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识,
所述获取单元,还用于从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数;
所述处理单元,还用于根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识,所述压缩段标识的长度为M-N字节,所述M为正整数,所述M大于所述N,所述原始段标识的长度为M字节。
30.根据权利要求27所述的设备,其特征在于,所述报文包括第一标志,所述第一标志用于指示所述压缩段标识的长度为X字节,所述X为正整数,所述报文包括第二标志,所述第二标志用于指示所述压缩段列表中包括所述压缩段标识,
所述获取单元,还用于从网络中的控制器接收第四控制报文,所述第四控制报文包括第四标志,所述第四标志的值为N,所述N为正整数;
所述处理单元,还用于根据所述第二标志的指示,从所述压缩段列表中读取所述压缩段标识,所述压缩段标识的长度为所述X字节;根据所述第四标志的指示,从所述压缩段标识中获得所述压缩段标识的所述第一部分和所述压缩段标识的所述第二部分,所述压缩段标识的所述第一部分的长度为X-M+N字节,所述M为正整数,所述M大于所述N,所述原始段标识的所述第一部分的长度为M字节。
31.根据权利要求25-27任一项所述的设备,其特征在于,
所述处理单元,还用于用所述原始段标识替换所述报文的报文头中目的地址字段中的地址。
32.一种网络系统,其特征在于,所述系统包括控制器、第一网络设备和第二网络设备,其中,
所述控制器,用于获得对应报文转发路径的原始段列表,所述原始段列表包含顺序排列的原始段标识,所述顺序排列的原始段标识中的每个原始段标识对应所述报文转发路径中的一个网络设备;
所述第一网络设备,用于从所述控制器接收所述原始段列表;根据所述原始段列表中的依次相邻的S个原始段标识获得依次相邻的C个压缩段标识,所述C个压缩段标识与所述S个原始段标识中的C个原始段标识一一对应,所述C个原始段标识中的每个原始段标识的前N字节内容相同,所述压缩段标识的长度为X字节,所述压缩段标识中的每个压缩段标识包括对应的原始段标识中前N字节之后的X字节的内容,并且所述C个压缩段标识之间的顺序与所述C个原始段标识之间的顺序相同,所述C个压缩段标识中的每个压缩段标识的长度小于对应的原始段标识的长度,其中,所述N为正整数,所述X为正整数,所述S为正整数,所述C为正整数,且所述C小于等于所述S;生成用于沿所述报文转发路径转发报文的压缩段列表,所述压缩段列表包括所述依次相邻的C个压缩段标识;
接收报文,所述报文的转发路径为所述报文转发路径;将所述压缩段列表封装至所述报文,并将所述报文发送至所述第二网络设备;
所述第二网络设备,用于接收所述第一网络设备发送的所述报文;根据所述压缩段标识和所述报文的目的地址生成所述压缩段标识对应的原始段标识,所述原始段标识对应所述第二网络设备在所述报文的转发路径中的下一跳节点,所述压缩段标识的长度小于所述原始段标识的长度;根据所述原始段标识,将所述报文发送至所述下一跳节点。
33.一种计算机可读介质,包括指令,当所述指令在计算机上执行时,使得所述计算机执行如权利要求1-16任一项所述的方法。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910385660.9A CN111917640B (zh) | 2019-05-09 | 2019-05-09 | SRv6网络生成段列表、报文转发的方法、设备和系统 |
KR1020217037677A KR102693826B1 (ko) | 2019-05-09 | 2020-04-29 | Srv6 네트워크에서의 세그먼트 목록 생성 방법, 패킷 포워딩 방법, 장치 및 시스템 |
EP20802688.0A EP3958519A4 (en) | 2019-05-09 | 2020-04-29 | METHOD OF GENERATION OF SEGMENT IDENTIFICATION LIST AND PACKET FORWARDING IN SRV6 NETWORK, DEVICE AND SYSTEM |
PCT/CN2020/087804 WO2020224503A1 (zh) | 2019-05-09 | 2020-04-29 | SRv6网络生成段列表、报文转发的方法、设备和系统 |
CA3177213A CA3177213A1 (en) | 2019-05-09 | 2020-04-29 | Method for generating segment list, method for forwarding packet, device, and system in srv6 network |
BR112021021910A BR112021021910A2 (pt) | 2019-05-09 | 2020-04-29 | Método para gerar lista de segmentos, método para encaminhar pacote, dispositivo, e sistema em rede srv6 |
JP2021566217A JP7434362B2 (ja) | 2019-05-09 | 2020-04-29 | Srv6ネットワークにおけるセグメントリストを生成するための方法、パケットを転送するための方法、デバイス及びシステム |
US17/520,737 US11902156B2 (en) | 2019-05-09 | 2021-11-08 | Method for generating segment list, method for forwarding packet, device, and system in SRv6 network |
US18/421,926 US20240283735A1 (en) | 2019-05-09 | 2024-01-24 | Method for generating segment list, method for forwarding packet, device, and system in srv6 network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910385660.9A CN111917640B (zh) | 2019-05-09 | 2019-05-09 | SRv6网络生成段列表、报文转发的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917640A CN111917640A (zh) | 2020-11-10 |
CN111917640B true CN111917640B (zh) | 2023-06-06 |
Family
ID=73050938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910385660.9A Active CN111917640B (zh) | 2019-05-09 | 2019-05-09 | SRv6网络生成段列表、报文转发的方法、设备和系统 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11902156B2 (zh) |
EP (1) | EP3958519A4 (zh) |
JP (1) | JP7434362B2 (zh) |
KR (1) | KR102693826B1 (zh) |
CN (1) | CN111917640B (zh) |
BR (1) | BR112021021910A2 (zh) |
CA (1) | CA3177213A1 (zh) |
WO (1) | WO2020224503A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095422A (zh) * | 2018-03-29 | 2022-02-25 | 华为技术有限公司 | 一种报文发送的方法、网络节点和系统 |
CN113438160B (zh) * | 2020-03-23 | 2024-05-31 | 中兴通讯股份有限公司 | 路由方法、路由装置及计算机可读存储介质 |
CN113472718A (zh) * | 2020-03-30 | 2021-10-01 | 中兴通讯股份有限公司 | 一种业务处理方法、装置、设备及存储介质 |
CN114531386B (zh) * | 2020-11-23 | 2023-05-09 | 中国移动通信有限公司研究院 | 报文转发的方法、装置、设备及可读存储介质 |
CN116846807A (zh) * | 2020-11-27 | 2023-10-03 | 华为技术有限公司 | 通信方法及装置 |
CN114640616A (zh) * | 2020-11-30 | 2022-06-17 | 华为技术有限公司 | 一种报文传输、段列表生成、压缩段标识获取方法及装置 |
CN114650255B (zh) * | 2020-12-18 | 2023-12-08 | 北京华为数字技术有限公司 | 报文处理方法及网络设备 |
CN113014485B (zh) * | 2021-02-25 | 2022-04-26 | 烽火通信科技股份有限公司 | 一种基于SRv6-TE路径的报文转发方法和报文转发装置 |
CN113242180B (zh) * | 2021-07-12 | 2021-12-14 | 广东省新一代通信与网络创新研究院 | 报文转发方法、装置、设备、可读存储介质及程序产品 |
CN113726654B (zh) * | 2021-08-13 | 2023-05-26 | 新华三信息安全技术有限公司 | Srv6协议的报文转发方法、装置、电子设备及介质 |
CN113904985B (zh) * | 2021-11-03 | 2023-07-21 | 迈普通信技术股份有限公司 | 一种段列表获取方法、报文转发方法、装置及电子设备 |
CN114866452A (zh) * | 2022-05-18 | 2022-08-05 | 中电信数智科技有限公司 | 基于AIOps的SRv6分布式报文转发方法及系统 |
CN114900457B (zh) * | 2022-05-20 | 2024-04-16 | 中电信数智科技有限公司 | 一种减少SRv6报文头部长度的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014209764A (ja) * | 2014-06-17 | 2014-11-06 | 株式会社東芝 | オンチップルータ及びそれを用いたマルチコアシステム |
CN105471737A (zh) * | 2014-09-05 | 2016-04-06 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101417744B1 (ko) * | 2008-01-17 | 2014-07-09 | 경희대학교 산학협력단 | 인터넷 프로토콜 버전6 기반 저전력 무선네트워크에서이동성 헤더 압축 방법 및 장치 |
US9083708B2 (en) * | 2010-05-17 | 2015-07-14 | Microsoft Technology Licensing, Llc | Asymmetric end host redundancy elimination for networks |
CN103825869A (zh) * | 2012-11-19 | 2014-05-28 | 中兴通讯股份有限公司 | 以太网报文头的压缩及解压缩方法、压缩及解压缩设备 |
US9258767B2 (en) * | 2013-01-07 | 2016-02-09 | Intel IP Corporation | Methods and arrangements to compress identification |
US9559954B2 (en) * | 2013-03-11 | 2017-01-31 | Cisco Technology, Inc. | Indexed segment ID |
US9537769B2 (en) * | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Opportunistic compression of routing segment identifier stacks |
US20150263949A1 (en) * | 2014-03-12 | 2015-09-17 | Huawei Technologies Co., Ltd | Compressed source routing encoding |
WO2019011114A1 (en) * | 2017-07-14 | 2019-01-17 | Huawei Technologies Co., Ltd. | METHOD FOR ESTABLISHING SEGMENT ROUTING FOR IPV6 TUNNEL |
US10404600B2 (en) * | 2017-09-12 | 2019-09-03 | Google Llc | Mechanism and apparatus for path protection when using compressed segment routing label stacks |
CN107566272B (zh) * | 2017-10-17 | 2021-10-12 | 新华三技术有限公司 | 转发表建立方法及数据转发方法 |
CN108429685B (zh) * | 2018-04-28 | 2020-08-04 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
CN109067652A (zh) * | 2018-09-25 | 2018-12-21 | 盛科网络(苏州)有限公司 | 一种IPv6分段路由中节约段标识开销的方法及装置 |
US11245617B1 (en) * | 2018-12-28 | 2022-02-08 | Juniper Networks, Inc. | Compressed routing header |
-
2019
- 2019-05-09 CN CN201910385660.9A patent/CN111917640B/zh active Active
-
2020
- 2020-04-29 BR BR112021021910A patent/BR112021021910A2/pt unknown
- 2020-04-29 EP EP20802688.0A patent/EP3958519A4/en active Pending
- 2020-04-29 JP JP2021566217A patent/JP7434362B2/ja active Active
- 2020-04-29 CA CA3177213A patent/CA3177213A1/en active Pending
- 2020-04-29 KR KR1020217037677A patent/KR102693826B1/ko active IP Right Grant
- 2020-04-29 WO PCT/CN2020/087804 patent/WO2020224503A1/zh unknown
-
2021
- 2021-11-08 US US17/520,737 patent/US11902156B2/en active Active
-
2024
- 2024-01-24 US US18/421,926 patent/US20240283735A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014209764A (ja) * | 2014-06-17 | 2014-11-06 | 株式会社東芝 | オンチップルータ及びそれを用いたマルチコアシステム |
CN105471737A (zh) * | 2014-09-05 | 2016-04-06 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240283735A1 (en) | 2024-08-22 |
BR112021021910A2 (pt) | 2021-12-28 |
EP3958519A4 (en) | 2022-06-15 |
KR20210148354A (ko) | 2021-12-07 |
WO2020224503A1 (zh) | 2020-11-12 |
KR102693826B1 (ko) | 2024-08-08 |
US11902156B2 (en) | 2024-02-13 |
CA3177213A1 (en) | 2020-11-12 |
CN111917640A (zh) | 2020-11-10 |
EP3958519A1 (en) | 2022-02-23 |
JP7434362B2 (ja) | 2024-02-20 |
JP2022532119A (ja) | 2022-07-13 |
US20220060414A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111917640B (zh) | SRv6网络生成段列表、报文转发的方法、设备和系统 | |
CN110417657B (zh) | 一种处理组播数据报文的方法及装置 | |
CN111385209B (zh) | 一种报文处理方法、报文转发方法、装置及设备 | |
CN111510386B (zh) | 用于处理报文的方法和装置 | |
CN116319524A (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
CN107580079B (zh) | 一种报文传输方法和装置 | |
EP4009596A1 (en) | Message forwarding method, device, and system in sr network | |
CN112468396B (zh) | 主机网络性能需求可编程化的方法、设备和系统 | |
CN112448888A (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
CN115362661B (zh) | 对用于分段路由的具有不同大小的分段进行混合 | |
WO2022111606A1 (zh) | 一种报文传输、段列表生成、压缩段标识获取方法及装置 | |
CN113542118B (zh) | 分段路由头压缩方法、业务处理方法及装置 | |
CN112804146B (zh) | 报文传输方法、通信装置和系统 | |
US20230145372A1 (en) | Segment routing header compression method and apparatus, service processing method and apparatus, computer device and computer-readable medium | |
CN113141338B (zh) | 一种消息生成方法、处理方法及装置 | |
CN115398869A (zh) | 最小化用于分段路由的分段标识符中的差异 | |
CN114666259A (zh) | 报文传输的方法、装置、设备、存储介质及系统 | |
CN115428412A (zh) | 压缩用于分段路由的分段标识符 | |
CN116827860A (zh) | 一种SRv6报文传输方法、装置、节点以及存储介质 |
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 |