CN117176632A - 报文接收方法、发送方法、转发方法、装置及系统 - Google Patents
报文接收方法、发送方法、转发方法、装置及系统 Download PDFInfo
- Publication number
- CN117176632A CN117176632A CN202210843988.2A CN202210843988A CN117176632A CN 117176632 A CN117176632 A CN 117176632A CN 202210843988 A CN202210843988 A CN 202210843988A CN 117176632 A CN117176632 A CN 117176632A
- Authority
- CN
- China
- Prior art keywords
- parameter field
- node
- message
- field
- behavior
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 189
- 238000012545 processing Methods 0.000 claims abstract description 313
- 230000009471 action Effects 0.000 claims abstract description 103
- 230000006399 behavior Effects 0.000 claims description 395
- 230000006870 function Effects 0.000 claims description 71
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 230000003542 behavioural effect Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 29
- 238000005538 encapsulation Methods 0.000 description 8
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 7
- 101150026676 SID1 gene Proteins 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 101000840469 Arabidopsis thaliana Isochorismate synthase 1, chloroplastic Proteins 0.000 description 5
- 239000000796 flavoring agent Substances 0.000 description 5
- 235000019634 flavors Nutrition 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 239000004744 fabric Substances 0.000 description 3
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 101100256918 Caenorhabditis elegans sid-2 gene Proteins 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 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
-
- 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)
Abstract
本申请提供了一种报文接收方法、发送方法、转发方法、装置及系统,属于通信技术领域。在本申请提供的方案中,第一节点接收到的报文的目的地址字段中包括段标识,第一节点能够从该目的地址字段中确定与该段标识对应的参数字段,并可以执行该参数字段指示的处理行为。由于本申请提供的方案能够通过目的地址字段中的参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
Description
本申请要求于2022年5月28日提交的申请号为202210595079.1、发明名称为“一种实现结构SRv6 SID Argument的方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种报文接收方法、发送方法、转发方法、装置及系统。
背景技术
在互联网协议第6版(Internet protocol version 6,IPv6)系统中,IPv6报文中可以插入多种IPv6扩展头,例如逐跳选项头(hop-by-hop options header,HBH)或目的选项头(destination options header,DOH)等。或者,在基于互联网协议第6版的段路由(segment routing based on Internet protocol version 6,SRv6)系统中,可以在该SRv6报文的SRH的类型-长度-值(type-length-value,TLV)字段中插入扩展TLV。
为了指导报文转发路径中的节点执行更丰富的报文处理行为,可以在上述IPv6扩展头或者SRH的TLV字段中携带指示报文处理行为的指令信息。例如,可以在HBH或DOH中插入指示网络切片信息的选项(option),以使转发路径中的节点基于指定的网络切片转发报文。或者,可以在SRH的TLV字段中插入带内流信息测量(in-situ flow informationtelemetry,IFIT)TLV,以使转发路径中的节点对流量进行随流检测。
但是,上述插入IPv6扩展头或者扩展TLV的方式均会增加报文头的长度,降低数据的传输效率。
发明内容
本申请提供了一种报文接收方法、发送方法、转发方法、装置及系统,可以解决为每个节点分别定义SID导致的报文转发的复杂度较高的技术问题。
第一方面,提供了一种报文接收方法,应用于报文转发系统中的第一节点;该方法包括:接收第一报文,该第一报文的第一目的地址字段包括第一段标识;从该第一目的地址字段中确定对应该第一段标识的第一参数字段,并执行该第一参数字段指示的至少一个第一处理行为。
本申请提供的方案能够通过目的地址字段中的参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,即降低报文头开销,进而提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
可以理解的是,第一节点在确定第一参数字段指示的至少一个第一处理行为时,无需将该第一参数字段与第一段标识中的功能字段配合。也即是,第一参数字段无需与功能字段配合即可指示至少一个第一处理行为。
可选地,第一节点执行该第一参数字段指示的至少一个第一处理行为的过程可以包括:识别该第一参数字段中携带的至少一个行为指令,并执行该至少一个行为指令指示的该至少一个第一处理行为。
其中,每个行为指令可以指示一个处理行为。由于第一参数字段能够携带一个或多个行为指令,且每个行为指令能够指示一个第一处理行为,因此有效提高了第一参数字段携带行为指令时的灵活性,进而提高了节点执行处理行为时的灵活性。
可选地,识别该第一参数字段中携带的至少一个行为指令的过程可以包括:根据参数字段模板,识别该第一参数字段中携带的该至少一个行为指令。其中,该参数字段模板可以用于定义该第一参数字段所携带的至少一个行为指令的类型、位置和/或长度。
基于该参数字段模板,可以确保第一节点能够准确且快速地识别出第一参数字段中携带的至少一个行为指令。
可选地,该第一参数字段还可以包括模板标识;该方法还可以包括:根据该模板标识与该参数字段模板的对应关系,确定该参数字段模板。
通过在第一参数字段中携带不同的模板标识,即可使得第一节点按照不同的模板标识指示的不同的参数字段模板,解析第一参数字段。基于此,可以灵活采用不同的参数字段模板对第一参数字段进行编码,从而有效提高了第一参数字段携带行为指令时的灵活性。
可选地,该方法还可以包括:根据该第一段标识指示的行为或行为特征与该参数字段模板的对应关系,确定该参数字段模板。
其中,段标识指示的行为(behavior)或行为特征(flavor)可以是指段标识中的功能字段指示的行为或行为特征。在本申请提供的方案中,参数字段模板还可以与该功能字段指示的行为或行为特征关联。例如,将特征的行为或行为特征与特定的参数字段模板相关联,当识别到该特定的行为或行为特征时,即可确定相应的参数字段模板,进而采用该参数字段模板对第一参数字段进行识别,读取其中携带的至少一个行为指令。由此,第一节点即可直接根据第一段标识确定对应的参数字段模板。由于该实现方式中无需在第一参数字段中携带模板ID,因此可以预留更多的比特位给第一行为指令。
可选地,识别该第一参数字段中携带的至少一个行为指令的过程可以包括:识别该第一参数字段中携带的至少一个标志位,并根据该至少一个标志位,识别该第一参数字段中携带的至少一个行为指令。其中,每个标志位对应一个行为指令。
可选地,每个标志位可以用于指示该第一参数字段中是否携带对应的一个行为指令,或者用于指示该第一参数字段中对应的一个行为指令是否能够被识别。其中,若某个标志位指示对应的一个行为指令能够被识别,则表明该行为指令有效,若某个标志位指示对应的一个行为指令不能够被识别,则表明该行为指令无效。
由于第一参数字段中的标志位能够指示第一参数字段中是否携带对应的一个行为指令,或对应的行为指令是否能被识别,因此可以根据应用场景的需求,灵活选择第一节点能够识别出的行为指令的个数。并且,当第一参数字段中未携带某个行为指令时,该行为指令所占用的比特位还可以用于携带其他行为指令,由此还能实现对行为指令的长度的灵活调节。
可选地,第一节点执行该第一参数字段指示的至少一个第一处理行为的过程可以包括:基于该第一节点的结构化参数功能处于启用状态,执行所述第一参数字段指示的至少一个第一处理行为;或者,根据该第一段标识中功能字段指示的行为或行为特征确定该第一参数字段为结构化参数字段,执行该第一参数字段指示的至少一个第一处理行为。
在本申请提供的方案中,第一节点可以在启用结构化参数功能,或者,确定第一参数字段为结构化参数字段后,再执行该第一参数字段指示的至少一个第一处理行为。相应的,若第一节点未启用结构化参数功能,或者,识别出第一参数字段不是结构化参数字段,则可以无需按照结构化的方式解析该第一参数字段,进而不会执行该至少一个第一处理行为。
可选地,该第一段标识可以为压缩段标识,该压缩段标识的长度小于128比特。其中,该压缩段标识可以是压缩SID(compressed SID,CSID)、微型SID(micro SID,uSID)或通用SID(generalized SID,G-SID)。
可选地,该第一段标识的长度可以为128比特,即该第一段标识可以为普通的SRv6SID。
可选地,该第一参数字段可以包括在该第一段标识中,或者,该第一参数字段位于该第一段标识之后。例如,若第一段标识为普通的SRv6 SID,则该第一段标识可以包括第一参数字段。若第一段标识为压缩段标识,则该第一参数字段可以位于该第一段标识之后。
可选地,该第一报文属于目标业务流,该方法还可以包括:接收该目标业务流的第二报文,该第二报文的第二目的地址字段包括第二段标识;从该第二目的地址字段中确定对应该第二段标识的第二参数字段,并执行该第二参数字段指示的至少一个第二处理行为。其中,该至少一个第二处理行为与该至少一个第一处理行为不同。
本申请提供的方案中,可以通过不同的参数字段指示不同的处理行为,以使得第一节点能够根据该不同的参数字段执行不同的处理行为。例如,对目标业务流的不同报文执行不同的处理行为。由此,可以在不增加参数字段的长度的前提下,使得第一节点能够执行较多数量的处理行为。
可选地,该第一段标识还可以包括功能字段,该功能字段用于指示第三处理行为。该方法还可以包括:按照该第三处理行为,处理该第一报文。
其中,该第三处理行为与至少一个第一处理行为不同。也即是,第一参数字段无需与功能字段配合,即可独立指示至少一个第一处理行为。
可选地,该第一参数字段还可以用于携带该第三处理行为的参数。也即是,第一参数字段还可以保留原有参数字段的功能,从而与原有功能兼容。
其中,该第三处理行为的参数可以包括:具有解封装和二层表泛洪的端点(Endpoint with decapsulation and L2 table flooding,End.DT2M)的行为的参数,和/或,压缩段标识的索引。
可选地,第一节点执行第一参数字段指示的至少一个第一处理行为的过程可以包括:按照该第一参数字段指示的至少一个第一处理行为,处理该第一报文。
可选地,该至少一个第一处理行为包括下述行为中的至少一个:基于网络切片的切片资源转发报文;基于应用感知信息所指示的网络服务转发报文;随流检测;基于分配的网络资源转发报文;加密转发报文;安全验证。
由于第一参数字段能够指示上述一个或多个第一处理行为,因此可以使得第一节点执行丰富的处理行为。
可选地,该第一参数字段可以包括第一子字段,第二子字段,第三子字段,第四子字段、第五子字段和第六子字段中的至少一个。其中,第一子字段用于携带网络切片的切片信息;第二子字段用于携带应用感知信息;第三子字段用于携带随流检测的信息;第四子字段用于携带该分配的网络资源的信息;第五子字段用于携带该加密转发的加密方式;第六子字段用于携带用于进行该安全验证的消息认证码。
可选地,该第一参数字段还可以包括第七子字段;该第七子字段用于携带第一段标识中的功能字段所指示的第三处理行为的参数。
可选地,该至少一个第一处理行为可以包括下述行为中的至少一个:调整第一节点的运行状态;在第一节点的本地为流量建立流表、转发表和/或状态表。
其中,流量可以是指第一报文所属的业务流。基于上述第一处理行为的举例可知,该至少一个第一处理行为还可以包括第一节点本地执行的与该第一报文无关的处理行为。也即是,第一节点执行第一处理行为不会修改第一报文的内容,也不影响第一报文的转发流程。
可选地,从该第一目的地址字段中确定第一参数字段的过程可以包括:基于确定该第一段标识为第一节点的本地SID,从该第一目的地址字段中确定第一参数字段。可以理解的是,若第一段标识不为第一节点的本地SID,则第一节点无需确定并处理该第一参数字段。
可选地,该第一节点不支持基于SRv6转发技术。相应的,从该第一目的地址字段中确定第一参数字段的过程可以包括:基于该第一节点的本地配置信息,从该第一目的地址字段中确定第一参数字段。
其中,该本地配置信息能够指示第一参数字段在第一目的地址字段中的位置。并且,该本地配置信息可以是运维人员配置的,或者可以是控制器下发的。
可选地,该第一参数字段还可以包括至少一个压缩段标识,例如可以包括至少一个uSID。并且,该至少一个第一行为指令可以位于该至少一个uSID之后。在报文转发过程中,该至少一个uSID可以移位。
第二方面,提供了一种报文发送方法,该方法可以应用于报文转发系统的头节点。该方法包括:在第一报文中封装第一段标识,并发送该第一报文。该第一报文用于供接收到该第一报文的节点从第一报文的第一目的地址字段中确定第一参数字段,并执行该第一参数字段指示的至少一个第一处理行为。其中,该第一参数字段对应该第一段标识。
可选地,在第一报文中封装第一段标识的过程可以包括:在第一目的地址字段中封装第一段标识;或者,在第一报文中封装SRH,该SRH中包括该第一段标识。其中,若第一段标识为uSID,且第一报文的转发路径中的各个节点能够在一个uSID承载器中编码完成,则可以直接通过第一目的地址字段携带该uSID承载器,即第一报文中无需再携带SRH。
可选地,该第一报文属于目标业务流,该方法还可以包括:在该目标业务流的第二报文中封装第二段标识,并发送该第二报文。该第二报文用于供接收到该第二报文的节点从该第二报文的第二目的地址字段中确定第二参数字段,并执行该第二参数字段指示的至少一个第二处理行为。其中,该第二参数字段对应该第二段标识,该至少一个第二处理行为与该至少一个第一处理行为不同。
可选地,该第一段标识指示的节点与该第二段标识指示的节点相同。
可选地,该第一段标识为压缩段标识,该压缩段标识的长度小于128比特;或者,该第一段标识的长度为128比特。
可选地,该第一参数字段包括在该第一段标识中,或者,该第一参数字段位于该第一段标识之后。
第三方面,提供了一种报文转发方法,应用于报文转发系统,该报文转发系统包括第一节点和第二节点。该方法包括:第一节点接收第一报文,该第一报文的第一目的地址字段包括第一段标识;第一节点从第一目的地址字段中确定第一参数字段,该第一参数字段对应第一段标识;第一节点执行该第一参数字段指示的至少一个第一处理行为。第二节点接收该第一节点发送的第二报文,该第二报文基于所述第一报文得到,且该第二报文的第二目的地址字段包括第二段标识;第二节点从该第二目的地址字段中确定第二参数字段,该第二参数字段对应该第二段标识;第二节点执行该第二参数字段指示的至少一个第二处理行为。
可选地,该第一参数字段和第二参数字段可以为同一字段。也即是,第一节点在处理第一报文的过程中,可以对该第一目的地址字段中的段标识进行更新,而无需更新该第一参数字段。
可选地,该至少一个第一处理行为和该至少一个第二处理行为可以相同。
可选地,该第一段标识和第二段标识可以均为压缩段标识,该压缩段标识的长度小于128比特;或者,该第一段标识和第二段标识的长度可以均为128比特。
可选地,该第一参数字段可以包括在第一段标识中,该第二参数字段可以包括在第二段标识中。或者,该第一参数字段可以位于第一段标识之后,该第二参数字段可以位于第二段标识之后。
第四方面,提供了一种网络设备,该网络设备可以是报文转发系统中的第一节点或第三节点(即头节点)。该网络设备包括至少一个模块,该至少一个模块可以用于实现上述任一方面所提供的方法。
第五方面,提供了一种网络设备,该网络设备可以是报文转发系统中的第一节点或头节点。该网络设备包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述任一方面所提供的方法。
第六方面,提供了一种网络设备,该网络设备可以是报文转发系统中的第一节点或头节点。该网络设备可以包括:主控板和接口板,该主控板和接口板可以用于实现上述任一方面所提供的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令由处理器执行以实现如上述任一方面所提供的方法。
第八方面,提供了一种包含指令的计算机程序产品,当该指令在处理器上运行时,使得处理器执行如上述任一方面所提供的方法。
第九方面,提供了一种报文转发系统,该报文转发系统包括:多个节点;其中,该多个节点中的至少一个节点能够实现上述第一方面所提供的报文接收方法。例如,该多个节点中的第一节点可以实现上述第一方面所提供的报文接收方法。该第一节点和第二节点还可以实现上述第三方面所提供的报文转发方法。
可选地,该多个节点中的至少一个节点(例如第三节点)还可以用于实现上述第二方面提供的报文发送方法。
第十方面,提供了一种芯片,该芯片可以用于实现上述任一方面所提供的方法。
综上所述,本申请提供了一种报文接收方法、发送方法、转发方法、装置及系统。本申请提供的方案中,第一节点接收到的报文的目的地址字段中包括段标识,第一节点能够从该目的地址字段中确定与该段标识对应的参数字段,并可以执行该参数字段指示的处理行为。由于本申请提供的方案能够通过目的地址字段中的参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
附图说明
图1是本申请实施例提供的一种报文转发系统的结构示意图;
图2是本申请实施例提供的一种SRv6报文的结构示意图;
图3是本申请实施例提供的一种SID的结构示意图;
图4是本申请实施例提供的一种压缩段标识的结构示意图;
图5是本申请实施例提供的一种uSID承载器的结构示意图;
图6是本申请实施例提供的一种HOH和DOH的结构示意图;
图7是本申请实施例提供的一种选项字段的结构示意图;
图8是本申请实施例提供的一种SRH的结构示意图;
图9是本申请实施例提供的一种HMAC TLV的结构示意图;
图10是本申请实施例提供的一种报文接收方法的流程图;
图11是本申请实施例提供的一种报文转发方法的流程图;
图12是本申请实施例提供的一种第一目的地址字段的结构示意图;
图13是本申请实施例提供的另一种第一目的地址字段的结构示意图;
图14是本申请实施例提供的一种G-SID承载器的结构示意图;
图15是本申请实施例提供的一种第一参数字段的结构示意图;
图16是本申请实施例提供的一种第一参数字段模板的示意图;
图17是本申请实施例提供的一种第一参数字段中各标志位的排列位置的示意图;
图18是本申请实施例提供的一种第一参数字段中各行为指令的排列顺序的示意图;
图19是本申请实施例提供的一种第一参数字段中多余比特位的填充方式的示意图;
图20是本申请实施例提供的一种第一参数字段中第一行为指令补位的示意图;
图21是本申请实施例提供的一种第一节点的结构示意图;
图22是本申请实施例提供的一种第三节点的结构示意图;
图23是本申请实施例提供的一种第二节点的结构示意图;
图24是本申请实施例提供的一种网络设备的结构示意图;
图25是本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的报文接收方法、发送方法、转发方法、装置及系统。
图1是本申请实施例提供的一种报文转发系统的结构示意图,如图1所示,该报文转发系统可以包括多个节点01,该多个节点01之间建立有通信连接。其中,每个节点01可以为路由器、交换机、宽带接入服务器(broadband remote access server,BRAS)、防火墙或虚拟网元等,且每个节点01也可以称为网络设备。
示例的,节点01可以为运营商(provider,P)设备或者运营商边缘(provideredge,PE)设备。若节点01为PE设备,则如图1所示,该报文转发系统还可以包括与该PE设备连接的用户边缘(customer edge,CE)设备02。该CE设备02与用户终端连接,并用于为用户终端提供网络接入服务。其中,用户终端也可以称为用户设备,其可以为家庭网关(residential gateway,RGW)、手机、笔记本电脑或者台式电脑等设备。
可选地,如图1所示,该报文转发系统还可以包括控制器03。控制器03与至少一个节点01连接,并用于管理和控制其所连接的节点01。其中,该控制器03可以为网络控制器。
在本申请实施例中,该报文转发系统可以为SRv6系统,该SRv6系统中各节点转发的报文为SRv6报文,该SRv6报文是在IPv6报文中插入SRH得到的报文。图2是本申请实施例提供的一种SRv6报文的结构示意图,如图2所示,SRv6报文包括:IPv6头、SRH和载荷(payload)。其中,IPv6头包括如下字段:版本(version)、流分类(traffic class,TC)、流标签(flow label)、载荷长度(payload length)、下一头部(next header)、跳数限制(hoplimit)、源地址(source address,SA)和DA。
SRH包括如下字段:下一头部、扩展头长度(header extension length,Hdr ExtLen)、路由头类型(routing type)、剩余分段(segment left,SL)个数、最后条目(lastentry)、标记(flags)、标签(tag)、段列表以及可选TLV。其中,该段列表包括段列表[0]至段列表[n]共n+1个标识字段(n可以为大于或等于1的整数),每个标识字段用于携带报文转发路径中一个节点的SID,该SID可以为节点的IPv6地址。
图3是本申请实施例提供的一种SID的结构示意图。如图3所示,每个SID可以包括定位符(locator)字段、功能(function)字段和参数(arguments)字段。其中,定位符字段用于标识某个网络域以及该网络域中的某个节点。功能字段用于标识在相应的节点上执行的动作,也称为行为(behavior)。参数字段用于携带执行该动作所需的参数。
由于段列表中每个SID的长度一般为128比特(bit),因此当SRH中所需携带的SID的数量较多时,会显著增加报文头的长度,进而降低数据的传输效率。为了减小报文头的长度,业界提出了对SID进行压缩的方案。该压缩方案定义了一种压缩段标识,如图4所示,该压缩段标识可以包括节点(node)ID和功能(function)ID中的至少一个,图4以压缩段标识包括节点ID和功能ID为例进行示意。其中,节点ID能够与目的地址字段中的公共前缀(common prefix)组成定位符字段。该定位符字段、功能ID以及目的地址字段中的参数字段(或填充字段)可以组成一个128bit的SRv6 SID。
其中,若一个压缩段标识仅包括节点ID和功能ID中的一个ID,则可以通过相邻的两个压缩段标识分别携带节点ID和功能ID,从而实现对网络域中的某个节点的标识,以及对该节点所需执行的处理行为的标识。
可以理解的是,本申请实施例中所述的压缩段标识可以是CSID、uSID或G-SID。下文以uSID为例进行说明,如图5所示,uSID方案中定义了一种uSID承载器(container),该uSID承载器的结构可以为:<uSID块><活跃uSID><下一个uSID>...<最后一个uSID><填充部分>。其中,填充部分为可选的。
其中,uSID块(Block)是uSID的地址块,其可以是公共前缀,例如IPv6前缀。活跃uSID(Active uSID)是位于uSID块之后的第一个uSID。下一个uSID(Next uSID)是位于活跃uSID之后的uSID,uSID承载器中可以包括一个或多个下一个uSID。最后一个uSID(LastuSID)位于承载器结束标志之前的一个uSID。填充(padding)部分是位于uSID承载器尾部的保留部分,其取值一般为0,且该填充部分也可以称为承载器结束标志(End-of-Container)。
若SRv6报文的目的地址(destination address,DA)字段包括多个压缩SID,则节点可以根据uSID块和活跃uSID的组合查表,以确定对应的处理行为。该处理行为一般包括移位(shift)和转发。假设uSID承载器中的uSID块,每个uSID,以及每个承载器结束标志的长度均为16bit,则该转发行为可以包括:
将目的地址字段中的32至127位的内容拷贝至第16至111位(即二进制左移16位);
将目的地址字段中的112至127位的内容置为0;
根据更新后的目的地址转发报文。
基于上述分析可知,uSID承载器中的多个uSID可以共享同一个uSID的地址块,因此可以有效缩减报文头的长度。并且,若SRv6报文的转发路径中的各个节点能够在一个uSID承载器中编码完成,则可以直接通过SRv6报文的目的地址字段携带该uSID承载器,即SRv6报文中无需再携带SRH。
可以理解的是,IPv6报文中除了可以插入SRH,还可以插入多种其他类型的IPv6扩展头,例如HBH或DOH等。为了指导转发路径中的节点执行更丰富的处理行为,通常可以在上述IPv6扩展头,或者SRH的TLV字段中携带指示报文处理行为的指令信息。例如,参考图6,该HBH和DOH均可以包括下一头部字段、扩展头长度字段和选项字段,因此可以在HBH或DOH中插入指示网络切片信息的选项,以使转发路径中的节点基于网络切片转发报文。其中,参考图7,该选项字段可以包括选项类型(option type)、选项数据长度(option data length)和选项数据(option data)。或者,如图8所示,可以在SRH的可选TLV字段中插入IFIT TLV,和/或,基于哈希的消息认证码(hashed message authentication code,HMAC)TLV。其中,IFIT TLV能够指示转发路径中的节点对报文进行随流检测,HMAC TLV能够指示转发路径中的节点对报文进行安全验证。
从图8可以看出,SRH中的可选TLV位于段列表与载荷之间,SRv6报文还包括以太网报文头(Ethernet header,ETH)和IPv6基本头(basic header)。图9是本申请实施例提供的一种HMAC TLV的结构示意图。如图9所示,该HMAC TLV包括:类型字段、长度字段、D字段、保留字段、HMAC秘钥(key)ID和HMAC。其中,HMAC秘钥ID的长度为4字节,HMAC的长度为可变(variable)长度。D字段中的D表示目的地址。
但是,上述插入IPv6扩展头或者扩展TLV的方式均会显著增加报文头的长度,降低数据的传输效率。并且,上述插入IPv6扩展头的方式中,需要转发路径中的每个节点都解析该IPv6扩展头并执行相应的处理行为,因此其灵活性较低,无法实现仅由转发路径中的部分指定节点执行处理行为的功能。
此外,在SID压缩方案中,若SRv6报文的转发路径中的各个节点能够在目的地址字段中编码完成,则SRv6报文中不会再携带SRH。相应的,也就无法通过该SRH中的可选TLV字段来指示更为丰富的处理行为。并且,某些DOH需要插入在SRH之前,若SRv6报文中不再携带SRH,则也就无法携带部分DOH,进而无法通过该部分DOH携带指示报文处理行为的指令信息。
本申请实施例提供了一种报文接收方法,该方法可以应用于诸如图1所示的报文转发系统中的第一节点,该第一节点可以为报文转发系统中的任一节点。参考图10,该方法包括:
步骤101、接收第一报文,该第一报文的第一目的地址字段包括第一段标识。
在本申请实施例中,若第一节点为报文转发系统中的中间节点或者尾节点(也称出口节点),则该第一节点能够接收报文转发系统中的其他节点(例如头节点)发送的第一报文,该第一报文的第一目的地址字段包括第一段标识。其中,该第一段标识可以是长度小于128bit的压缩段标识,或者,该第一段标识可以是长度为128bit的普通SRv6 SID。
若第一节点为报文转发系统中的头节点,也称为入节点或源(source)节点,则第一节点可以接收CE设备或用户终端发送的第一报文。并且,第一节点可以在该第一报文的第一目的地址字段中添加第一段标识。示例的,当该第一段标识为普通SRv6SID或压缩段标识时,第一节点可以先在第一报文中封装SRH,该SRH中包括第一段标识,例如,该段列表中的最后一个标识字段的值为第一段标识。之后,第一节点可以将该段列表中的第一段标识拷贝至第一目的地址字段。或者,若该第一段标识为压缩段标识且第一报文中不包括SRH时,则第一节点可以将该第一段标识直接封装至第一报文的第一目的地址字段。
步骤102、从第一目的地址字段中确定第一参数字段,该第一参数字段对应该第一段标识。
在本申请实施例中,第一节点还能够从该第一目的地址字段中确定与该第一段标识对应的第一参数(arguments)字段。例如,该第一参数字段可以包括在第一段标识中,相应的,第一节点可以从第一段标识中确定出第一参数字段。或者,该第一参数字段可以位于第一段标识之后,第一节点可以根据预先配置的第一参数字段在第一目的地址字段中的封装位置,从该第一目的地址字段中确定第一参数字段。例如,该第一参数字段可以位于第一目的地址字段的尾部,比如位于第一目的地址字段末尾的16至32比特。或者,该第一参数字段可以位于第一段标识之后且与第一段标识紧邻,比如位于第一段标识之后的16至32比特。
步骤103、执行该第一参数字段指示的至少一个第一处理行为。
该第一参数字段能够指示至少一个第一处理行为。第一节点可以执行该至少一个第一处理行为,例如第一节点可以按照该至少一个第一处理行为,处理该第一报文。由于该第一参数字段可以指示一个或多个第一处理行为,因此该第一参数字段也可以称为结构化参数(structured arguments)字段。或者,该第一参数字段也可以称为通用参数(generalized arguments)字段。
可以理解的是,该第一段标识还可以包括功能(function)字段,该功能字段能够指示第一节点对第一报文的处理行为(如下文所述的第三处理行为)。在本申请实施例中,第一节点在确定第一参数字段指示的至少一个第一处理行为时,无需将第一参数字段与该功能字段配合。也即是,第一节点可以直接根据第一参数字段确定出该至少一个第一处理行为,或者可以理解为:第一参数字段无需与第一段标识中的功能字段配合,即可单独指示至少一个第一处理行为。
还可以理解的是,该第一参数字段指示的至少一个第一处理行为,相比于通过额外插入IPv6扩展头或者扩展TLV所指示的处理行为,可以相同,也可以有所删减,本申请实施例对此不做限定。
可选地,该第一参数字段指示的至少一个第一处理行为可以包括对第一报文的处理行为,且该至少一个第一处理行为可以包括下述行为中的至少一个:基于网络切片的切片资源转发报文;基于应用感知信息所指示的网络服务转发报文;随流检测;基于分配的网络资源转发报文;加密转发报文;安全验证。
可选地,该第一参数字段指示的至少一个第一处理行为还可以包括第一节点本地执行的与第一报文无关的处理行为。例如,该至少一个第一处理行为可以包括下述行为中的至少一个:调整该第一节点的运行状态;在第一节点的本地为流量建立流表、转发表和/或状态表。其中,流量是指第一报文所属的流量。第一节点的运行状态可以包括休眠状态和关机状态等,相应的,调整第一节点的运行状态可以是指,使第一节点进入休眠状态,或者关机状态。
综上所述,本申请实施例提供了一种报文接收方法。第一节点接收到的第一报文的目的地址字段中包括第一段标识,第一节点能够从该目的地址字段中确定与该第一段标识对应的第一参数字段,并可以执行该第一参数字段指示的至少一个第一处理行为。由于本申请实施例提供的方法能够通过目的地址字段中的第一参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个第一处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
并且,在本申请实施例提供的方法中,该第一段标识可以是压缩段标识,例如可以是uSID。并且,若第一报文的转发路径能够在目的地址字段内编码完成,则该第一报文中无需插入SRH。此时,虽然无法通过SRH中的可选TLV字段,或者部分DOH来携带指示报文处理行为的指令信息,但能够通过目的地址字段中的第一参数字段来指导第一节点执行丰富的处理行为。
本申请实施例提供了一种报文转发方法,该方法可以应用于报文转发系统。下文以该报文转发系统包括第一节点、第二节点和第三节点,且以该第三节点为头节点,第一节点为中间节点,第二节点为中间节点或尾节点为例,对该报文转发方法进行介绍。参考图11,该方法包括:
步骤201、第三节点在目标业务流的第一报文中封装第一段标识。
在本申请实施例中,第三节点作为目标业务流在报文转发系统中的头节点,可以在该目标业务流的第一报文中封装第一段标识。其中,该目标业务流可以是需要采用指定的处理行为进行处理的业务流。可以理解的是,第三节点还能够在第一报文中封装第一参数字段,该第一参数字段用于指示至少一个第一处理行为。
可选地,该第一段标识可以为普通的SRv6 SID,其长度可以为128bit。或者,该第一段标识可以为压缩段标识,该压缩段标识的长度小于128比特,例如该压缩段标识的长度可以为16至32比特。其中,该压缩段标识也可以称为CSID、uSID或G-SID。
在第一种可能的实现方式中,若该第一段标识为uSID,且该第一报文的转发路径能够在目的地址字段(即128bit)内编码完成,则第三节点可以直接在该第一报文的第一目的地址字段中封装该第一段标识。并且,第三节点还能够在该第一目的地址字段中封装与第一段标识对应的第一参数字段,且该第一参数字段可以位于该第一段标识之后。
示例的,参考图12,第三节点可以在第一报文的第一目的地址字段中封装公共前缀,以及uSID1至uSIDn共n个uSID。其中,n为大于1的整数,第一段标识可以为uSID1至uSIDn中的任一uSID。
从图12可以看出,该第一目的地址字段还可以包括:位于该n个uSID之后的第一参数字段A0,该第一参数字段A0可以由该n个uSID共享。也即是,该第一参数字段A0能够与第一目的地址字段中的每个uSID对应。或者,参考图13,该目的地址字段可以包括与该n个uSID一一对应的n个参数字段,其中每个参数字段位于对应的一个uSID之后,且与对应的一个uSID紧邻。相应的,该第一参数字段可以是位于第一段标识之后的一个参数字段。例如,假设第一段标识为uSID1,则第一参数字段可以为A1。
在第二种可能的实现方式中,若第一段标识为普通的SRv6 SID,或者,若第一段标识为G-SID或CSID,又或者,若第一段标识为uSID,且第一报文的转发路径无法在目的地址字段内编码完成,则第三节点可以在第一报文中封装SRH,该SRH中包括该第一段标识。
示例的,若第一段标识为普通的SRv6 SID,则参考图2,第三节点在第一报文中封装的SRH中可以包括段列表[0]至段列表[n]共n+1个标识字段,该第一段标识可以携带在段列表[0]至段列表[n]中的任一段列表中。并且,参考图3,该第一参数字段可以包括在该第一段标识中。
若该第一段标识为G-SID,则如图14所示,第三节点在第一报文中封装的SRH可以包括一个或多个G-SID承载器(container)。其中,G-SID承载器可以包括G-SID0至G-SIDn共n+1个G-SID,该第一段标识可以为G-SID0至G-SIDn中的任一G-SID。
在第三种可能的实现方式中,若该第一段标识为uSID,且该第一报文的转发路径无法在目的地址字段内编码完成,则参考图2,第三节点在第一报文中封装的SRH中可以包括段列表[0]至段列表[n]共n+1个标识字段。其中,每个标识字段可以携带一个节点的SID,或者可以携带uSID块和多个uSID,例如可以携带诸如图5所示的uSID承载器。该第一段标识可以携带在任一uSID承载器中,该第一参数字段可以位于该第一段标识之后,且该第一参数字段的位置可以参考图12或图13。
步骤202、第三节点向第一节点发送该第一报文。
第一节点在第一报文中封装第一段标识后,即可向第一节点发送该第一报文。其中,若第一节点为第三节点的下一跳节点,则第三节点可以直接将第一报文发送至第一节点。若该第一节点不是第三节点的下一跳节点,则第三节点可以通过其他中间节点,将第一报文转发至第一节点。
步骤203、第三节点在目标业务流的第二报文中封装第二段标识。
该第二报文中还封装有与第二段标识对应的第二参数字段,该第二参数字段能够指示至少一个第二处理行为,即第二参数字段也为结构化参数字段。其中,该至少一个第二处理行为与第一参数字段所指示的至少一个第一处理行为不同。该至少一个第二处理行为与至少一个第一处理行为不同可以是指:该至少一个第二处理行为与至少一个第一处理行为中不存在相同的处理行为,或者,至少一个第二处理行为与至少一个第一处理行为中,仅部分处理行为相同。
可以理解的是,第一参数字段可以包括至少一个第一行为指令,该至少一个第一行为指令用于指示该至少一个第一处理行为。第二参数字段可以包括至少一个第二行为指令,该至少一个第二行为指令用于指示该至少一个第二处理行为。
在本申请实施例中,若需要第一节点执行的处理行为(例如第一节点对目标业务流执行的处理行为)的个数较多,用于指示该多个处理行为的多个行为指令无法通过长度有限的一个参数字段进行携带,则可以通过多个参数字段来携带该多个行为指令。其中,每个参数字段可以携带部分行为指令,且不同参数字段携带的行为指令可以不同。并且,每个参数字段可以与一个段标识对应(即与一个段标识关联),且不同的参数字段可以与不同的段标识对应。
相应的,第三节点(或控制器)在编排目标业务流的转发路径的段列表时,可以根据关联了上述参数字段的多个段标识生成多个段列表,进而生成多个SRv6策略(policy)。在转发目标业务流的报文的过程中,第三节点可以对目标业务流的不同报文使用不同的SRv6policy,即封装不同的段标识及其对应的参数字段。例如,第三节点可以通过负载均衡、轮询、随机或其他方式,对目标业务流的不同报文使用不同的SRv6 policy。由此,即可使得转发路径中的节点能够执行不同的处理行为,进而使得上述多种处理行为均能够被执行。例如,转发路径中的节点能够对目标业务流的不同报文执行不同的处理行为。
可以理解的是,目标业务流中的不同报文可以均通过相同的转发路径进行转发,因此上述多个段标识所指示的节点可以相同。相应的,上述第一段标识和第二段标识可以指示相同的节点,例如可以均指示第一节点。
示例的,假设需要对目标业务流的报文执行如下3个处理行为:基于网络切片的切片资源转发报文,基于应用感知信息所指示的网络服务转发报文,以及随流检测。则可以通过第一参数字段携带该网络切片的切片信息,以及该应用感知信息,并可以通过第二参数字段携带随流检测的信息。并且,可以将第一参数字段与第一段标识SID1关联,并将第二参数字段与第二段标识SID2关联。该第一段标识SID1和第二段标识SID2可以指示目标业务流的转发路径中的同一节点。
若目标业务流的转发路径还包括节点R、节点S和节点T,且该三个节点的段标识分别为SID R、SID S和SID T,则第三节点可以编排2个段列表,并可以生成与该2个段列表对应的2个SRv6 policy。例如,第三节点可以生成SRv6 policy1与段列表1对应,该段列表1为:SID1-SID R-SID S-SID T。第三节点可以生成SRv6 policy2与段列表2对应,该段列表2为:段列表为:SID2-SID R-SID S-SID T。
假设目标业务流包括报文1至报文10共10个报文,且第三节点采用轮询或负载均衡的方式对目标业务流的报文使用不同的SRv6 policy。则第三节点可以对报文1、报文3、报文5、报文7和报文9使用SRv6 policy1。也即是,第三节点可以在上述报文(即第一报文)中封装段列表1,该段列表1中包括与第一参数字段关联的第一段标识SID1。并且,第三节点可以对报文2、报文4、报文6、报文8和报文10使用SRv6 policy2。也即是,第三节点可以在上述报文(即第二报文)中封装段列表2,该段列表2中包括与第二参数字段关联的第二段标识SID2。基于此,SID1指示的节点即可基于该网络切片,以及该应用感知信息所指示的网络服务转发报文1、报文3、报文5、报文7和报文9。并且,SID2指示的节点可以对报文2、报文4、报文6、报文8和报文10执行随流检测。由此,即可使得转发路径中的节点能够对目标业务流的报文执行到上述3种处理行为。
可以理解的是,该第二段标识的结构和封装位置可以均与第一段标识相同,该第二参数字段的结构和封装位置也可以均与第一参数字段相同,此处不再赘述。
步骤204、第三节点向第一节点发送该第二报文。
参考上述步骤202,第三节点可以直接将第二报文发送至第一节点,或者,可以通过其他中间节点,将第二报文转发至第一节点。
步骤205、第一节点从第一报文的第一目的地址字段中确定第一参数字段。
第一节点接收到的第一报文的第一目的地址字段中包括第一段标识。该第一段标识可以是第三节点直接封装在第一目的地址字段中的,或者可以是第一节点的上一跳节点从第一报文的SRH中拷贝至第一目的地址字段中的。
第一节点能够从第一报文的第一目的地址字段中确定与该第一段标识对应的第一参数字段。作为一种可能的实现方式,该第一参数字段可以包括在第一段标识中。相应的,第一节点可以从第一段标识中确定出第一参数字段。例如,参考图3,假设该第一段标识为128bit的SRv6 SID,则第一节点可以将该第一段标识中的若干低比特位确定为第一参数字段。
作为另一种可能的实现方式,该第一参数字段可以位于第一段标识之后,第一节点可以根据预先配置的第一参数字段在第一目的地址字段中的封装位置,从该第一目的地址字段中确定第一参数字段。
例如,参考图12,假设第一段标识为压缩段标识,则第三节点可以将第一目的地址字段中的若干低比特位确定为第一参数字段。或者,参考图13,第三节点可以将位于第一段标识之后,且与第一段标识相邻的若干比特位确定为第一参数字段。
在本申请实施例中,该第一节点可以为支持SRv6转发技术的节点。相应的,第一节点在接收到第一报文后,可以先检测该第一报文的第一目的地址字段中的第一段标识是否为第一节点的本地SID。若第一段标识为第一节点的本地SID,则第一节点可以继续从该第一目的地址字段中确定第一参数字段。若该第一段标识不为第一节点的本地SID,则第一节点可以无需从该第一目的地址字段中确定第一参数字段,进而无需处理该第一参数字段。
可以理解的是,该第一节点也可以为不支持SRv6转发技术的节点。相应的,在该步骤205中,第一节点可以基于其本地配置信息,从该第一报文的第一目的地址字段中确定第一参数字段,从而,不支持SRv6转发技术的节点也可以执行上述至少一个第一处理行为。其中,该本地配置信息能够指示第一参数字段在第一目的地址字段中的位置。并且,该本地配置信息可以是运维人员配置的,或者可以是控制器下发的。
步骤206、第一节点识别该第一参数字段中携带的至少一个第一行为指令。
如前文所述,第一参数字段中可以携带至少一个第一行为指令。第一节点从第一目的地址字段中确定出第一参数字段后,即可识别该第一参数字段中携带的至少一个第一行为指令。其中,每个第一行为指令可以指示一个第一处理行为。每个第一处理行为可以是对第一报文的处理行为,或者,可以是第一节点本地执行的与该第一报文无关的处理行为。
可选地,该第一参数字段可以包括第一子字段,第二子字段,第三子字段,第四子字段,第五子字段和第六子字段中的至少一个。其中,每个子字段可以携带一个第一行为指令,且该六个子字段所用于携带的第一行为指令可以如下:第一子字段用于携带网络切片的切片信息;第二子字段用于携带应用感知信息;第三子字段用于携带随流检测的信息;第四子字段用于携带分配的网络资源的信息;第五子字段用于携带加密转发的加密方式;第六子字段用于携带用于进行安全验证的消息认证码。也即是,上述切片信息、应用感知信息、随流检测的信息、网络资源的信息、加密方式以及消息认证码中的每个信息均为一个第一行为指令。
其中,网络切片的切片信息可以包括切片ID。应用感知信息也可以称为应用感知网络(application aware networking,APN)信息,该APN信息可以包括用户组标识和应用组标识中的至少一个。并且,还可以包括流标识、服务等级协议(service levelagreement,SLA)级别和服务需求中的至少一个。该服务需求可以是对时延和丢包率等性能指标的需求,该流标识也称为会话标识(session ID)。
该随流检测的信息可以包括IFIT信息,例如流监控ID、丢包检测标志位和时延检测标志位等,该随流检测的信息还可以包括随流操作、管理和维护(In-situ Operations,Administration,and Maintenance,IOAM)的信息。该网络资源的信息可以包括用于转发报文的接口的带宽资源。加密方式可以包括媒体接入控制安全(media access controlsecurity,MACsec)加密。消息认证码可以包括HMAC。
可选地,该第一参数字段还可以包括第八子字段和第九子字段中的至少一个。其中,第八子字段用于携带运行状态信息,第九子字段用于携带待建立的表项的信息。该运行状态信息可以包括用于指示将第一节点的运行状态调整为休眠状态或关机状态的信息。该待建立的表项的信息可以包括:用于指示第一节点在本地为流量建立流表、转发表和/或状态表的信息。
可选地,该第一参数字段还可以包括至少一个压缩段标识。该第一参数字段中的至少一个第一行为指令可以位于该至少一个压缩段标识之后。例如,第一参数字段可以包括至少一个uSID,该至少一个uSID可以在报文转发过程中进行移位。并且,该至少一个第一行为指令可以不随该至少一个uSID移位,即该至少一个第一行为指令在第一参数字段中的位置固定不变。或者,该至少一个第一行为指令也可以随至少一个uSID一同移位。
示例的,参考图15,第一参数字段可以包括uSID2至uSIDn共n-1个uSID,以及行为指令A1至行为指令Am共m个第一行为指令,m为大于或等于1的整数。其中,uSID2至uSIDn可以在报文转发过程中移位,该m个第一行为指令位于第一参数字段的尾部,且可以无需随uSID一同移位。
步骤207、第一节点执行该至少一个第一行为指令指示的至少一个第一处理行为。
在本申请实施例中,若该至少一个第一处理行为包括对第一报文的处理行为,则第一节点可以按照该至少一个第一处理行为处理第一报文。例如,第一节点可以对第一报文执行下述至少一个第一处理行为:基于网络切片的切片资源转发报文;基于应用感知信息所指示的网络服务转发报文;随流检测;基于分配的网络资源转发报文;加密转发报文;安全验证。
若该至少一个第一处理行为包括第一节点本地执行的与该第一报文无关的处理行为,则第一节点可以直接执行该第一处理行为,且第一节点执行该第一处理行为不会修改第一报文的内容,也不影响第一报文的转发流程。例如,第一节点可以在本地执行下述至少一个第一处理行为:调整第一节点的运行状态;在第一节点的本地为流量建立流表、转发表和/或状态表。其中,流量是指第一报文所属的业务流,即目标业务流。
可以理解的是,该至少一个第一处理行为可以既包括对第一报文的处理行为,也包括第一节点本地执行的与该第一报文无关的处理行为。例如,该至少一个第一处理行为可以包括:随流检测,以及为第一报文所属业务流建立状态表。
可选地,该第一段标识中还包括功能字段,该功能字段可以用于指示第三处理行为。第一节点识别出第一参数字段携带的至少一个第一行为指令,并确定该功能字段指示的第三处理行为后,即可按照该第三处理行为,处理该第一报文。若该至少一个第一处理行为包括对第一报文的处理行为,则第一节点可以按照该至少一个第一处理行为和该第三处理行为,处理该第一报文,从而得到第三报文。
其中,该第一段标识中的功能字段指示的第三处理行为可以包括:End、End.X、End.T、End.DT4、End.DT6以及End.DT2M等。
可选地,该第一参数字段还可以用于携带该第三处理行为的参数。由于第一参数字段还可以保留原有参数字段的功能,因此能够与原有功能有效兼容。例如,该第一参数字段还可以包括第七子字段,该第七子字段可以用于携带第三处理行为的参数。该第三处理行为的参数可以包括:End.DT2M的行为的参数,和/或,压缩段标识的索引。
其中,End.DT2M的行为的参数可以是Arg.FE2参数,且该参数可以包括多播和/或水平分割的参数。压缩段标识的索引可以是指G-SID的索引(G-SID index,SI)。
可以理解的是,若第一段标识为压缩段标识,则该第一节点在处理该第一报文时,还需对压缩段标识进行移位。若第一参数字段仅与第一段标识对应,则第一参数字段可以随该第一段标识一同移位。例如,参考图13,参数字段A1可以随uSID1移位,参数字段A2可以随uSID1移位。
若第一参数字段与多个压缩段标识对应,则第一参数字段可以不进行移位,即第一参数字段的编码位置固定,以便于其他节点读取。或者,第一参数字段也可以随该多个压缩段标识一同移位,本申请实施例对此不做限定。
可选地,该第一参数字段中还可以包括第十子字段,该第十子字段用于携带移位标记。该移位标记可以用于指示需要对第一目的地址字段中的哪些比特位进行移位。或者,若该第一参数字段中还包括至少一个压缩段标识,则该移位标记可以用于指示需要对第一参数字段中的哪些比特位进行移位。
示例的,假设第一参数字段位于第一目的地址字段中的第96至127位,且第一参数字段不移位,则该移位标记可以指示对第一目的地址字段中的第32至95位进行移位。或者,若第一参数字段也需移位,则该移位标记可以指示对第一目的地址字段中的第32至127位进行移位。假设第一参数字段位于第一目的地址字段中的第32至127位,且其中的第32至95位为压缩段标识,第96至127位为第一行为指令。若第一参数字段不移位,则该移位标记可以指示对第一参数字段中的第0至63位进行移位。或者,若第一参数字段也需移位,则该移位标记可以指示对第一目的地址字段中的第0至95位进行移位。
作为一种可选的实现方式,第一节点可以配置有结构化参数功能,且第一节点的结构化参数功能的状态可以为启用状态或关闭状态。若第一节点确定其结构化参数功能处于启用状态,则可以执行该第一参数字段指示的至少一个第一处理行为。
在该实现方式中,第一节点的结构化参数功能的状态可以是本地配置的,例如可以由运维人员或控制器配置。或者,第一节点接收到的第一报文中还可以包括状态启用标志位,第一节点可以基于该状态启用标志位,启用其结构化参数功能。
示例的,第一节点若确定其结构化参数功能处于启用状态,则可以识别该第一参数字段携带的至少一个第一行为指令,并确定该至少一个第一行为指令指示的至少一个第一处理行为。第一节点若确定其结构化参数功能处于关闭状态,则第一节点可以基于第一段标识中功能字段指示的第三处理行为的类型,判断是否处理该第一参数字段。例如,若该功能字段指示的第三处理行为需要参数,则第一节点可以从该第一参数字段中读取第三处理行为的参数。若该功能字段指示的第三处理行为不需要参数,则第一节点无需处理该第一参数字段。
其中,第三处理行为的参数在第一参数字段中的封装位置可以是第一节点中本地配置的,或者可以是系统预置或固定配置的,又或者可以是标准化的。
作为另一种可选的实现方式,第一节点若根据该第一段标识中功能字段指示的行为(即第三处理行为)或行为特征(flavor)确定该第一参数字段为结构化参数字段,则可以执行该第一参数字段指示的至少一个第一处理行为。
例如,第一节点中可以定义一种新的SRv6行为特征(flavor),该flavor可以与至少一个SID中功能字段指示的行为关联,或者可以与该至少一个SID关联。并且,该至少一个SID所对应的参数字段均为结构化参数字段。基于此,第一节点若确定第一段标识中功能字段指示的第三处理行为与该新的flavor关联,则可以确定第一参数字段为结构化参数字段,进而可以识别该第一参数字段携带的至少一个第一行为指令。其中,flavor与SID中功能字段指示的行为关联可以是指:SID中功能字段指示的行为除了包括常规的SRv6行为(behavior),还包括该flavor指示的附加行为。该附加行为可以是常规SRv6行为的变体(variants of behavior),且该附加行为可以包括:按照结构化参数字段的处理方式处理第一参数字段。
步骤208、第一节点从第二报文的第二目的地址字段中确定第二参数字段。
在本申请实施例中,第一节点接收到第二报文后,还可以从该第二报文的第二目的地址字段中确定第二参数字段。该第二参数字段对应第二目的地址字段中的第二段标识。
可以理解的是,第一节点确定第二参数字段的过程可以与前文所述的确定第一参数字段的过程相同。因此,该步骤208的实现过程可以参考上述步骤205的相关描述,此处不再赘述。
步骤209、第一节点执行第二参数字段指示的至少一个第二处理行为。
该至少一个第二处理行为与该至少一个第一处理行为可以不同。可选地,第一节点可以先从第二参数字段中识别出至少一个第二行为指令,并确定该至少一个第二行为指令指示的至少一个第二处理行为。之后,第一节点即可执行该至少一个第二处理行为。例如,第一节点可以按照该至少一个第二处理行为,处理该第二报文。或者,第一节点可以在本地执行与该第二报文无关的至少一个第二处理行。
其中,该至少一个第二处理行为可以包括下述行为中的至少一个:基于网络切片的切片资源转发报文;于应用感知信息所指示的网络服务转发报文;随流检测;基于分配的网络资源转发报文;加密转发报文;安全验证。
或者,该至少一个第二处理行为可以包括下述行为中的至少一个:调整第一节点的运行状态;在述第一节点的本地为流量建立流表、转发表和/或状态表。
可以理解的是,该第一节点确定第二参数字段指示的至少一个第二处理行为的过程,可以与确定第一参数字段指示的至少一个第一处理行为的过程相同。因此,该步骤209的实现过程可以参考上述步骤206和步骤207的相关描述。
步骤210、第一节点向第二节点发送第三报文。
在上述步骤207之后,第一节点可以向第二节点发送第三报文,该第三报文是基于第一报文得到的报文。该第二节点可以为第一节点的下一跳节点。该第三报文的第三目的地址字段中可以包括第三段标识,该第三段标识可以是第二节点的本地SID。
可选地,该第一段标识和第三段标识可以均为长度为128bit的SRv6 SID,或者,该第一段标识和第三段标识可以均为压缩段标识。例如,参考图12和图13,该第一段标识可以为uSID1,该第二段标识可以为uSID2。或者,参考图14,该第一段标识可以为G-SID0,该第二段标识可以为G-SID1。
步骤211、第二节点从该第三报文的第三目的地址字段中确定第三参数字段。
该第三参数字段对应该第三段标识,且该第二节点确定第三参数字段的方式可以与前文所述的第一节点确定第一参数字段的方式相同,故此处不再赘述。
可以理解的是,若第三段标识为长度为128bit的SRv6 SID,则该第三参数字段可以包括在第三段标识中。或者,若第三段标识为压缩段标识,且第三目的地址字段中具有与每个uSID对应的一个参数字段,则该第三参数字段可以与第三段标识相邻,且位于第三段标识之后。并且,在该两种实现方式中,第三参数字段与第一参数字段是不同的字段。
若第三段标识为G-SID,或者若第三段标识为uSID,且第三目的地址字段中的多个uSID共享一个参数字段,则该第三参数字段与第一参数字段可以是同一个字段。例如,参考图12,该第一参数字段和第三参数字段均为A0。
步骤212、第二节点执行该第三参数字段指示的至少一个第四处理行为。
在本申请实施例中,该第二节点确定第三参数字段指示的至少一个第四处理行为的过程,可以与第一节点确定第一参数字段指示的至少一个第一处理行为的过程相同。因此,该步骤212的实现过程可以参考上述步骤206和步骤207的相关描述。
可以理解的是,若该第三参数字段与第一参数字段为同一字段,则该至少一个第四处理行为与该至少一个第一处理行为可以相同。由此,可以通过一个参数字段指导转发路径中的不同节点执行相同的处理行为。例如,参考图12,uSID1至uSIDn所指示的n个节点均可以在参数字段A0的指导下,执行相同的处理行为。
若该第三参数字段与第一参数字段为不同的字段,则该至少一个第四处理行为与该至少一个第一处理行为可以相同,也可以不同。其中,若至少一个第四处理行为与该至少一个第一处理行为相同,则可以通过不同的参数字段使得转发路径中的不同节点均执行相同的处理行为。例如,参考图2,可以通过使段列表[0]至段列表[n]中携带的SID均包含相同的参数字段,以使得转发路径中的不同节点均执行相同的处理行为。若至少一个第四处理行为与该至少一个第一处理行为不同,则可以通过不同的参数字段使得转发路径中的不同节点执行不同的处理行为。例如,参考图13,目的地址字段中的参数字段A1至An可以不完全相同,从而使得转发路径中的不同节点能够执行不同的处理行为。
还可以理解的是,在上述步骤209之后,第一节点也可以向第二节点发送对第二报文进行处理后得到的第四报文,该第四报文的第四目的地址字段包括第四段标识。第二节点可以从第四目的地址字段中确定与该第四段标识对应的第四参数字段,并执行该第四参数字段指示的至少一个处理行为。其中,第二节点执行第四参数字段指示的至少一个处理行为的过程可以参考上述步骤211和步骤212,此处不再赘述。
还可以理解的是,报文转发系统可以包括支持SRv6转发技术的节点,也可以包括不支持该SRv6转发技术的节点。其中,支持SRv6转发技术的节点的结构化参数功能可能处于开启状态,也可能处于关闭状态。基于此,若需要报文转发系统中的节点识别并解析结构化参数字段,则在规划报文转发路径时,可以避开上述不支持该SRv6转发技术的节点,以及支持SRv6转发技术,但结构化参数功能处于关闭状态的节点。
或者,若需要报文转发路径包含上述不支持该SRv6转发技术的节点,或者结构化参数功能处于关闭状态的节点,则可以通过本地配置的方式,以使上述节点能够将报文的目的地址字段中的部分比特位作为结构化参数字段进行读取和解析。也即是,上述节点可以通过本地配置信息,从报文的目的地址字段中确定出结构化参数字段,并识别该结构化参数字段中的至少一个行为指令。由于上述节点是基于本地配置信息识别并解析结构化参数字段,因此该结构化参数字段不再与SRv6功能相关联,而是与上述配置信息指示的功能关联,或作为独立的功能实现。
下文对上述步骤206中,第一节点从第一参数字段中识别出至少一个第一行为指令的过程进行介绍。
在第一种可能的实现方式中,第一节点中预先配置有第一参数字段模板,第一节点可以根据该第一参数字段模板,识别该第一参数字段中包括的至少一个子字段,进而识别该至少一个子字段携带的至少一个第一行为指令。其中,该第一参数字段模板用于定义第一参数字段所携带的至少一个第一行为指令的类型、位置和/或长度。或者可以理解为:该第一参数字段模板用于定义第一参数字段所包含的至少一个子字段的类型、位置和/或长度。
其中,若第一参数字段模板未定义第一参数字段所包含的至少一个第一行为指令的类型,则第一节点中可以预先硬编码有第一参数字段所包含的各个第一行为指令的类型。例如,第一个行为指令为A类型,第二个行为指令为B类型。
若第一参数字段模板未定义第一参数字段所包含的至少一个第一行为指令的位置,则该第一节点中可以预先硬编码有第一参数字段所包含的各个第一行为指令的位置。或者,该至少一个第一行为指令的位置可以与第一参数字段模板定义该至少一个第一行为指令的类型和长度时的顺序相同。例如,假设第一参数字段模板中的第一行定义了行为指令A的长度,第二行定义了行为指令B的长度,第三行定义了行为指令C的长度,则该第一参数字段中携带的3个行为指令可以按照行为指令A、行为指令B和行为指令C的顺序排列。
若第一参数字段模板未定义第一参数字段所包含的至少一个第一行为指令的长度,则该第一节点中可以预先硬编码有第一参数字段所包含的各个第一行为指令的长度,例如每个第一行为指令的长度均可以n比特,n为大于1的整数。或者,第一参数字段所包含的各个第一行为指令的长度可以相等,则第一节点可以基于第一参数字段的总长度以及第一参数字段所携带的第一行为指令的个数,确定每个第一行为指令的长度。例如,假设第一参数字段的长度为z比特,第一节点基于第一参数字段模板确定该第一参数字段携带了m个第一行为指令,则第一节点可以确定每个第一行为指令的长度为z/m比特。其中,z为大于1的整数,m为大于或等于1的整数。
假设该第一参数字段的长度为z比特,例如z可以为32。参考图16,该参数字段模板可以定义第一参数字段中的第1至第x比特用于携带第一行为指令X,第x+1至第y比特用于携带第一行为指令Y,第y+1至第z比特用于携带第一行为指令Z。其中,x和y满足:0<x<y<z。第一节点基于图16所示的参数字段模板,可以从第一参数字段中识别出第一行为指令X、第一行为指令Y和第一行为指令Z。
示例的,假设第一参数字段的长度为32比特,即z=32,且第一参数字段需要同时携带网络切片的切片信息、APN信息和随流检测的信息,则该第一参数字段模板可以做出如下定义:第1至8比特为第一子字段,用于携带切片信息;第9至24比特为第二子字段,用于携带APN信息;第25至32比特为第三子字段,用于携带随流检测的信息。
作为该第一种实现方式的第一种示例,第一节点中可以预先配置有多个不同的参数字段模板(template),以及每个参数字段模板对应的模板标识。该第一参数字段中还包括模板标识,即模板ID。第一节点从目的地址字段中确定出第一参数字段后,可以先从该第一参数字段中识别出模板ID,然后再根据该模板ID与第一参数模板的对应关系,确定出用于对第一参数字段进行识别的第一参数模板。之后,第一节点即可基于该第一参数字段识别第一参数字段中的至少一个第一行为指令。
可以理解的是,第一节点中预先配置有模板ID在第一参数字段中的位置,第一节点可以基于该预先配置的位置,直接从第一参数字段中识别出模板ID。例如,该第一参数字段的最后一个或多个比特可以用于携带该模板ID。
还可以理解的是,基于不同的参数字段模板,可以在长度固定的第一参数字段中携带不同个数,不同类型,和/或,不同长度的第一行为指令。由此,有效提高了第一参数字段携带行为指令时的灵活性,进而提高了节点执行处理行为时的灵活性。
作为该第一种实现方式的第二种示例,第一节点中可以预先配置有多个不同的参数字段模板,以及每个参数字段模板对应的段标识指示的行为或行为特征。第一节点可以根据该第一段标识指示的行为或行为特征与第一参数字段模板的对应关系,确定出用于对第一参数字段进行识别的第一参数字段模板。其中,段标识指示的行为可以是指段标识中的功能字段指示的行为。
在该示例中,第一节点可以直接根据第一段标识确定出对应的第一参数字段模板,因此无需在第一参数字段中携带模板ID,从而可以预留更多的比特位给第一行为指令。
可选地,第一节点中可以定义多个SRv6 flavor,每个flavor与一个参数字段模板对应(即关联)。并且,每个flavor与一个段标识指示的行为关联,或者每个flavor与一个段标识关联。其中,段标识指示的行为可以是指该段标识中的功能字段指示的处理行为,且该处理行为可以包括常规的SRv6行为(behavior),以及与该段标识关联的flavor所指示的附加行为。该附加行为可以包括:按照指定的参数字段模板解析第一参数字段。
示例的,第一节点中可以定义有Flavor 1和Flavor 2共2个flavor。其中,Flavor1与模板1关联,且与第一段标识SID1关联,Flavor 2与模板2关联,且与第二段标识SID2关联。并且,模板1中定义了在参数字段中携带切片信息和APN信息共两个第一行为指令,以及该两个行为指令的排列顺序和长度。模板2中定义了在参数字段中携带随流检测的信息,以及该随流检测的信息所包括的各个字段的位置、名称和长度。
基于此,若第一节点接收到的第一报文的第一目的地址字段中的第一段标识为SID1,则第一节点可以采用模板1对与该SID1对应的第一参数字段进行解析,以识别该第一参数字段中的两个第一行为指令,即切片信息和APN信息。若第一节点接收到的第二报文的第二目的地址字段中的第二段标识为SID2,则第一节点可以采用模板2对与该SID2对应的第二参数字段进行解析,以识别该第二参数字段中的一个第二行为指令,即随流检测的信息。
可以理解的是,在上述第一种实现方式中,报文转发系统中的全部或部分节点中可以配置有参数字段模板。其中,部分节点可以是需要解析结构化参数字段的节点。
在第二种可能的实现方式中,第一参数字段中可以包括比特串(bitmap)形式的至少一个标志位,每个标志位对应一个第一行为指令。作为第一种示例,每个标志位可以用于指示该第一参数字段中是否携带其对应的一个第一行为指令。作为第二种示例,每个标志位可以用于指示第一参数字段中对应的一个行为指令是否能够被识别。其中,若某个标志位指示其对应的一个行为指令能够被识别,则表明该行为指令有效,若某个标志位指示其对应的一个行为指令不能够被识别,则表明该行为指令无效(invalid)。
例如,若标志位的取值为1,则表示第一参数字段中携带了对应的一个第一行为指令,或者第一参数字段中该对应的一个第一行为指令能够被识别,即第一行为指令有效。若标志位的取值为0,则表示第一参数字段中未携带对应的一个第一行为指令,或者该对应的一个第一行为指令不能够被识别。
其中,第一行为指令不能够被识别可以包括如下几种情况:情况1,第一行为指令已失效;情况2,第一行为指令已被执行,无需第一节点再执行;情况3,不要求第一节点执行该第一行为指令,或者第一节点需要忽略该第一行为指令。
可以理解的是,在上述第一种示例中,若某个标志位指示第一参数字段未携带对应的一个第一行为指令,则表明该第一行为指令未占用第一参数字段的编码空间。该编码空间可以用于其他用途,或者被剩下作为预留字段。在上述第二种示例中,若某个标志位指示第一参数字段中对应的一个第一行为指令不能够被识别,则该第一行为指令仍然存在于第一参数字段中,即仍然占用了第一参数字段的编码空间,但第一节点不会识别并执行该第一行为指令。
还可以理解的是,在该第二种实现方式中,第一节点可以先识别第一参数字段中携带的至少一个标志位,然后再根据该至少一个标志位,识别第一参数字段中携带的至少一个第一行为指令。例如,第一节点可以确定出取值为1的至少一个标志位,然后识别该取值为1的至少一个标志位对应的至少一个第一行为指令。
可选地,该第一参数字段中的各个标志位可以从最高有效位开始编码。例如,参考图17中的(a),第一参数字段包括的3个标志位S、A和I可以位于高比特位。或者,该第一参数字段中的各个标志位可以从最低有效位开始编码。例如,参考图17中的(b),第一参数字段包括的3个标志位S、A和I可以位于低比特位。又或者,该第一参数字段中的各个标志位可以在其他任意位置编码。例如,参考图17中的(c),第一参数字段包括的3个标志位S、A和I可以位于中间比特位。
可选地,该第一参数字段中的各个标志位可以连续排列,例如,参考图17中的(a)至(c),第一参数字段中的3个标志位S、A和I占用了3个连续的比特位。或者,该第一参数字段中的各个标志位也可以是松散排列。例如,参考图18中的(a),该第一参数字段中的3个标志位S、A和I可以间隔排列,且每个标志位之后的比特位即为该标志位对应的一个第一行为指令。
在本申请实施例中,该第一参数字段中的各个第一行为指令的排列顺序与对应的各个标志位的排列顺序可以相同,也可以不同。例如,假设第一参数字段中的标志位S对应第一行为指令I-S,标志位A对应第一行为指令I-A,标志位I对应第一行为指令I-I。则参考图18中的(a)和(b),第一参数字段中的3个标志位按照S、A和I的顺序排列,则该3个标志位对应的3个第一行为指令可以按照第一行为指令I-S、第一行为指令I-A和第一行为指令I-I的顺序排列。或者,参考图18中的(c),该3个标志位对应的3个第一行为指令也可以按照第一行为指令I-S、第一行为指令I-I和第一行为指令I-A的顺序排列。
可以理解的是,若第一参数字段中未携带某个标志位对应的第一行为指令,则其他第一行为指令可以进行补位,以构成紧凑的字段排列。或者,其他第一行为指令也可以不进行补位,构成分散的或者固定位置的排列。
例如,参考图19中的(a)、(b)和(c),第一参数字段中未携带第一行为指令I-A,则该第一参数字段中的3个标志位S、A和I,以及剩余的2个第一行为指令I-S和I-I可以连续排列。或者,参考图19中的(d),第一参数字段中未携带第一行为指令I-A,则该第一参数字段中剩余的2个第一行为指令I-S和I-I可以无需补位,而是保留在原来的固定位置。
对于第一参数字段未携带某个标志位对应的第一行为指令的场景,作为一种可能的示例,参考图19中的(a)至(d),该第一参数字段中多余的比特位(即空闲的比特位)可以置零、任意填充或预留。其中,预留可以是指保持该比特位原来填充的内容不变。
作为另一种可能的示例,该第一参数字段中多余的比特位可以由其他第一行为指令占用。由此,可以有效增加其他第一行为指令的长度,以便使其他第一行为指令包含更多的信息。例如,参考图20中的(a),若第一参数字段未携带第一行为指令I-A,则位于该第一行为指令I-A之前的第一行为指令I-S可以占用原本用于携带第一行为指令I-A的若干比特位。或者,参考图20中的(b),位于该第一行为指令I-A之后的第一行为指令I-I可以占用原本用于携带第一行为指令I-A的若干比特位。
在该第二种实现方式中,第一参数字段中各个标志位的位置和长度,以及每个标志位对应的第一行为指令的类型、位置和长度,均可以是标准化统一的,或者可以是在某个网络域内自定义的。
基于上述两种实现方式可知,相比于传统的参数字段仅用于携带功能字段指示的处理行为的参数,本申请实施例提供的方案中,第一参数字段不仅可以单独指示处理行为,且第一参数字段中携带的行为指令的个数和类型可以灵活调节。由此,有效提高了第一节点根据第一参数字段的指示,执行处理行为时的灵活性。
可以理解的是,若第一参数字段中除了包括至少一个第一行为指令,还包括其他信息,例如还包括第三处理行为的参数、移位标记和/或至少一个压缩段标识,则第一节点也可以基于上述两种实现方式中的任一种识别该第一参数字段中的其他信息。
还可以理解的是,在上述步骤209中,第一节点可以采用第二参数字段模板或bitmap解析该第二参数字段,以识别出至少一个第二行为指令。其中,该第二参数字段模板可以是根据第二参数字段中的模板ID确定的,或者可以是根据第二段标识指示的行为确定的。并且,该第二参数字段模板与该第一参数字段模板可以相同,也可以不同。
还可以理解的是,本申请实施例提供的报文转发方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤203和步骤204可以在步骤202之前执行。或者,上述步骤203和步骤204,以及步骤208和步骤209可以根据情况删除。又或者,上述步骤211和步骤212可以根据情况删除,即第三节点可以无需识别并解析第三参数字段。
还可以理解的是,上述第一报文、第二报文、第三报文和第四报文仅用于区分不同的报文,第一参数字段、第二参数字段、第三参数字段和第四参数字段仅用于区分不同报文中的参数字段,第一处理行为、第二处理行为、第三处理行为和第四处理行为仅用于区分不同字段指示的处理行为。在一些实施例中,上述第三报文也可以称为第二报文,第三参数字段也可以称为第二参数字段,第四处理行为也可以称为第二处理行为。
综上所述,本申请实施例提供了一种报文转发方法。第一节点接收到的第一报文的目的地址字段中包括第一段标识,第一节点能够从该目的地址字段中确定与该第一段标识对应的第一参数字段,并可以执行该第一参数字段指示的至少一个第一处理行为。由于本申请实施例提供的方法能够通过目的地址字段中的第一参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个第一处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
并且,对于第一段标识为压缩段标识的场景,若第一报文的转发路径能够在目的地址字段内编码完成,则该第一报文中无需插入SRH。此时,虽然无法通过SRH中的可选TLV字段,或者部分DOH来携带指示报文处理行为的指令信息,但能够通过目的地址字段中的第一参数字段来指导第一节点执行丰富的处理行为。
图21是本申请实施例提供的一种第一节点的结构示意图,该第一节点可以应用于诸如图1所示的报文转发系统,且可以实现上述方法实施例中由第一节点执行的步骤。参考图21,该第一节点包括:
接收模块301,用于接收第一报文,该第一报文的第一目的地址字段包括第一段标识。该接收模块301的功能实现可以参考上述方法实施例中步骤101和步骤202的相关描述。
确定模块302,用于从该第一目的地址字段中确定第一参数字段,该第一参数字段对应该第一段标识。该确定模块302的功能实现可以参考上述方法实施例中步骤102和步骤205的相关描述。
处理模块303,用于执行该第一参数字段指示的至少一个第一处理行为。该处理模块303的功能实现可以参考上述方法实施例中步骤103的相关描述。
可选地,该处理模块303,可以用于识别该第一参数字段中携带的至少一个行为指令,并执行该至少一个行为指令指示的至少一个第一处理行为。该处理模块303的功能实现还可以参考上述方法实施例中步骤206和步骤207的相关描述。
可选地,该处理模块303,可以用于根据参数字段模板,识别该第一参数字段中携带的至少一个行为指令。其中,该参数字段模板用于定义第一参数字段所携带的至少一个行为指令的类型、位置和/或长度。
可选地,该第一参数字段还可以包括模板标识;该处理模块303,还可以用于根据该模板标识与参数字段模板的对应关系,确定该参数字段模板。
可选地,该处理模块303,还可以用于根据该第一段标识指示的行为或行为特征与该参数字段模板的对应关系,确定该参数字段模板。
可选地,该处理模块303,可以用于识别该第一参数字段中携带的至少一个标志位,并根据该至少一个标志位,识别该第一参数字段中携带的至少一个行为指令。其中,每个标志位对应一个行为指令,且用于指示该第一参数字段中是否携带对应的一个行为指令,或者用于指示所述第一参数字段中对应的一个行为指令是否能够被识别。
可选地,该处理模块303,可以用于基于该第一节点的结构化参数功能处于启用状态,执行该第一参数字段指示的至少一个第一处理行为;或,根据该第一段标识中功能字段指示的行为或行为特征确定该第一参数字段为结构化参数字段,执行该第一参数字段指示的至少一个第一处理行为。
可选地,该第一段标识为压缩段标识,该压缩段标识的长度小于128比特,或者,该第一段标识的长度为128比特。
可选地,该第一参数字段包括在该第一段标识中,或者,该第一参数字段位于该第一段标识之后。
可选地,该第一报文属于目标业务流。该接收模块301,还可以用于接收该目标业务流的第二报文,该第二报文的第二目的地址字段包括第二段标识。该接收模块301的功能实现还可以参考上述方法实施例中步骤204的相关描述。
该确定模块302,还可以用于从该第二目的地址字段中确定第二参数字段,该第二参数字段对应该第二段标识。该确定模块302的功能实现还可以参考上述方法实施例中步骤208的相关描述。
该处理模块303,还可以用于执行该第二参数字段指示的至少一个第二处理行为。其中,该至少一个第二处理行为与该至少一个第一处理行为不同。该处理模块303的功能实现还可以参考上述方法实施例中步骤209的相关描述。
可选地,该第一段标识还可以包括功能字段,该功能字段用于指示第三处理行为。该处理模块303,还可以用于按照该第三处理行为,处理该第一报文。
可选地,该第一参数字段还用于携带该第三处理行为的参数。
可选地,该第三处理行为的参数可以包括:End.DT2M的行为的参数,和/或,压缩段标识的索引。
可选地,该处理模块303,可以用于按照第一参数字段指示的至少一个第一处理行为,处理第一报文。
可选地,该至少一个第一处理行为包括下述行为中的至少一个:基于网络切片的切片资源转发报文;基于应用感知信息所指示的网络服务转发报文;随流检测;基于分配的网络资源转发报文;加密转发报文;安全验证。
可选地,该第一参数字段包括第一子字段,第二子字段,第三子字段,第四子字段、第五子字段和第六子字段中的至少一个;其中,该第一子字段用于携带该网络切片的切片信息;该第二子字段用于携带该应用感知信息;该第三子字段用于携带该随流检测的信息;该第四子字段用于携带该分配的网络资源的信息;该第五子字段用于携带该加密转发的加密方式;该第六子字段用于携带用于进行该安全验证的消息认证码。
可选地,该第一参数字段还包括第七子字段;该第七子字段用于携带该第一段标识中的功能字段所指示的第三处理行为的参数。
可选地,该至少一个第一处理行为还可以包括下述行为中的至少一个:调整第一节点的运行状态;在第一节点的本地为流量建立流表、转发表和/或状态表。
可选地,该确定模块302,可以用于基于确定该第一段标识为第一节点的本地SID,从该第一目的地址字段中确定第一参数字段。
可选地,该第一节点不支持SRv6转发技术;该确定模块302,可以用于基于该第一节点的本地配置信息,从该第一目的地址字段中确定第一参数字段。
可选地,该第一参数字段还可以包括至少一个压缩段标识,例如包括至少一个uSID。
综上所述,本申请实施例提供了一种第一节点。该第一节点接收到的第一报文的目的地址字段中包括第一段标识,第一节点能够从该目的地址字段中确定与该第一段标识对应的第一参数字段,并可以执行该第一参数字段指示的至少一个第一处理行为。由于本申请实施例提供的方案能够通过目的地址字段中的第一参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个第一处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
图22是本申请实施例提供的一种第三节点的结构示意图,该第三节点可以应用于诸如图1所示的报文转发系统,且可以实现上述方法实施例中由第三节点执行的步骤。参考图22,该第一节点包括:
封装模块401,用于在第一报文中封装第一段标识。该封装模块401的功能实现可以参考上述方法实施例中步骤201的相关描述。
发送模块402,用于发送该第一报文,以供接收到该第一报文的节点从该第一报文的第一目的地址字段中确定第一参数字段,并执行该第一参数字段指示的至少一个第一处理行为。其中,该第一参数字段对应该第一段标识。该发送模块402的功能实现可以参考上述方法实施例中步骤202的相关描述。
可选地,该封装模块401,可以用于在第一目的地址字段中封装第一段标识;或者,在第一报文中封装SRH,该SRH中包括该第一段标识。
可选地,该第一报文属于目标业务流,该封装模块401,还可以用于在该目标业务流的第二报文中封装第二段标识。该封装模块401的功能实现还可以参考上述方法实施例中步骤203的相关描述。
该发送模块402,还可以用于发送该第二报文,以供接收到该第二报文的节点从该第二报文的第二目的地址字段中确定第二参数字段,并执行该第二参数字段指示的至少一个第二处理行为。其中,该第二参数字段对应该第二段标识,该至少一个第二处理行为与该至少一个第一处理行为不同。该发送模块402的功能实现还可以参考上述方法实施例中步骤204的相关描述。
可选地,该第一段标识指示的节点与该第二段标识指示的节点相同。
可选地,该第一段标识为压缩段标识,该压缩段标识的长度小于128比特;或者,该第一段标识的长度为128比特。
可选地,该第一参数字段包括在该第一段标识中,或者,该第一参数字段位于该第一段标识之后。
综上所述,本申请实施例提供了一种第三节点。该第三节点能够在第一报文中封装第一段标识,且接收到第一报文的节点能够从第一报文的目的地址字段中确定与该第一段标识对应的第一参数字段,并可以执行该第一参数字段指示的至少一个第一处理行为。由于本申请实施例提供的方案能够通过目的地址字段中的第一参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。又由于该第一参数字段是能够指示一个或多个第一处理行为的结构化参数字段,因此可以指导第一节点执行较为丰富的处理行为。
图23是本申请实施例提供的一种第二节点的结构示意图,该第二节点可以应用于诸如图1所示的报文转发系统,且可以实现上述方法实施例中由第二节点执行的步骤。参考图23,该第二节点包括:
接收模块501,用于接收第一节点发送的第二报文,该第二报文的第二目的地址字段包括第二段标识。其中,第二报文基于第一节点接收到的第一报文得到。该接收模块501的功能实现可以参考上述方法实施例中步骤210的相关描述。
确定模块502,用于从第二目的地址字段中确定第二参数字段,该第二参数字段对应第二段标识。该确定模块502的功能实现可以参考上述方法实施例中步骤211的相关描述。
处理模块503,用于执行该第二参数字段指示的至少一个第二处理行为。该处理模块503的功能实现可以参考上述方法实施例中步骤212的相关描述。
可选地,该第一参数字段和第二参数字段可以为同一字段。
可选地,该至少一个第一处理行为和该至少一个第二处理行为相同。
可选地,该第一段标识和第二段标识均为压缩段标识,该压缩段标识的长度小于128比特;或者,该第一段标识和第二段标识的长度均为128比特。
可选地,该第一参数字段包括在第一段标识中,该第二参数字段包括在第二段标识中;或者,该第一参数字段位于第一段标识之后,该第二参数字段位于第二段标识之后。
综上所述,本申请实施例提供了一种第二节点。该第二节点接收到的第二报文的目的地址字段中包括第二段标识,第二节点能够从该目的地址字段中确定与该第二段标识对应的第二参数字段,并可以执行该第二参数字段指示的至少一个第二处理行为。由于本申请实施例提供的方案能够通过目的地址字段中的第一参数字段指示处理行为,因此相比于通过额外插入IPv6扩展头或者扩展TLV来指示处理行为,可以有效缩减报文头的长度,提高数据的传输效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的第一节点、第二节点、第三节点以及各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例提供的第一节点、第二节点和第三节点还可以用特定应用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。此外,也可以通过软件实现上述方法实施例提供的报文接收方法、报文发送方法或报文转发方法,当通过软件实现上述方法实施例提供的方法时,该第一节点、第二节点和第三节点中的各个功能模块也可以为软件模块。
图24是本申请实施例提供的一种网络设备的结构示意图。该网络设备可以应用于诸如图1所示的系统,且可以为该系统中的第一节点、第二节点或第三节点。参考图24,该网络设备包括:处理器601、存储器602、网络接口603和总线604。
其中,存储器602中存储有计算机程序6021,计算机程序6021用于实现各种应用功能。处理器601用于执行该计算机程序6021以实现上述方法实施例提供的应用于第一节点、第二节点或第三节点的方法。例如,处理器601用于执行该计算机程序6021以实现上述图21、图22或图23所示节点中各个模块的功能。
处理器601可以是中央处理器(central processing unit,CPU),该处理器601还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、ASIC、FPGA、图形处理器(graphics processing unit,GPU)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器。
存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
网络接口603可以为多个,且网络接口603用于实现与其他设备之间的通信连接(可以是有线或者无线)。其中,在本申请实施例中,网络接口603用于收发报文。其中,其他设备可以是终端、服务器、VM等设备或其它网络设备。
总线604用于连接处理器601、存储器602和网络接口603。并且,总线604除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线604。
若该网络设备为第一节点,则处理器601用于通过网络接口603接收第一报文,该第一报文的第一目的地址字段包括第一段标识,以及用于从该第一目的地址字段中确定第一参数字段,并执行该第一参数字段指示的至少一个第一处理行为。其中,该第一参数字段对应第一段标识。该处理器601的详细处理过程请参考上述图10和图11所示方法实施例中由第一节点执行的步骤,这里不再赘述。
若该网络设备为第三节点,则处理器601用于在第一报文中封装第一段标识,并发送该第一报文,以供接收到第一报文的节点从第一报文的第一目的地址字段中确定第一参数字段,并执行第一参数字段指示的至少一个第一处理行为。其中,该第一参数字段对应第一段标识。该处理器601的详细处理过程请参考上述图11所示方法实施例中由第三节点执行的步骤,这里不再赘述。
若该网络设备为第二节点,则处理器601用于通过网络接口603接收第一节点发送的第二报文,该第二报文的第二目的地址字段包括第二段标识,以及用于从该第二目的地址字段中确定第二参数字段,并执行该第二参数字段指示的至少一个第二处理行为。其中,该第二参数字段对应第二段标识。该处理器601的详细处理过程请参考上述图11所示方法实施例中由第二节点执行的步骤,这里不再赘述。
图25是本申请实施例提供的另一种网络设备的结构示意图。该网络设备可以应用于诸如图1所示系统,且可以为该系统中的第一节点、第二节点或第三节点。如图25所示,该网络设备可以包括:主控板701和至少一个接口板(接口板也称为线卡或业务板),例如图25中示出了接口板702和接口板703。多个接口板的情况下网络设备还可以包括交换网板704,该交换网板704用于完成各接口板之间的数据交换。
其中,主控板701也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板701用于完成系统管理、设备维护和协议处理等功能。主控板701上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板701包括:中央处理器7011和存储器7012。
接口板702和703也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板,接口板用于提供各种业务接口,并实现报文的转发。其中,接口板所提供的业务接口可以包括:基于SONET/SDH的数据包(packet over SONET/SDH,POS)接口、千兆以太网(gigabit Ethernet,GE)接口和异步传输模式(asynchronous transfer mode,ATM)接口等。其中,SONET是指同步光纤网络(synchronous optical network),SDH是指同步数字体系(synchronous digital hierarchy)。主控板701、接口板702以及接口板703之间通过系统总线与系统背板相连以实现互通。如图25所示,接口板702上包括一个或多个中央处理器7021。中央处理器7021用于对接口板702进行控制管理并与主控板701上的中央处理器7011进行通信,以及接口板702。接口板702上的存储器7024用于存储转发表项,网络处理器7022可以通过查找存储器7024中存储的转发表项进行报文的转发。存储器7024还可以用于存储程序代码。
该接口板702还包括一个或多个物理接口卡7023,该一个或多个物理接口卡7023用于接收上一跳节点发送的报文,并根据中央处理器7021的指示向下一跳节点发送处理后的报文。
此外,可以理解的是,图25中的接口板702中的中央处理器7021和/或网络处理器7022可以是专用硬件或芯片,如可以采用ASIC来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述中央处理器7021和/或网络处理器7022也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外应理解的是,主控板701可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该网络设备的数据处理能力越强,提供的接口板越多。如图25所示,网络设备包括接口板702和接口板703。当采用分布式的转发机制时,接口板703的结构与接口板702的结构基本相同,且接口板703上的操作与接口板702的操作基本相似,为了简洁,不再赘述。网络设备具有多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板704通信,且可以实现负荷分担和冗余备份,以提供大容量的数据交换和处理能力。
在集中式转发架构下,该网络设备可以不需要交换网板704,接口板承担整个系统的业务数据的处理功能。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在本申请实施例中,存储器7012和存储器7024可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,也可以是RAM或者可存储信息和指令的其它类型的动态存储设备,还可以是EEPROM、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。接口板702中的存储器7024可以是独立存在,并通过通信总线与中央处理器7021相连接;或者,存储器7024也可以和中央处理器7021集成在一起。主控板701中的存储器7012可以是独立存在,并通过通信总线与中央处理器7011相连接;或者,存储器7012也可以和中央处理器7011集成在一起。
存储器7024中存储的程序代码,由中央处理器7021来控制执行,存储器7012存储的程序代码,由中央处理器7011来控制执行。该中央处理器7021和/或中央处理器7011可以通过执行程序代码来实现上述方法实施例所提供的由任一节点执行的方法。存储器7024和/或存储器7012存储的程序代码中可以包括一个或多个软件单元。这一个或多个软件单元可以为图21至图23中任一附图所示的功能模块。
在本申请实施例中,该物理接口卡7023,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
可选地,图21至图24中任一附图所示的设备也可以采用图25所示的结构实现。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在处理器运行时,使得处理器执行如上述方法实施例中由第一节点、第二节点或第三节点执行的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在处理器上运行时,使得处理器执行如上述方法实施例中由第一节点、第二节点或第三节点执行的步骤。
本申请实施例还提供了一种报文转发系统,如图1所示,该报文转发系统包括多个节点01。该多个节点01中包括第一节点,该第一节点可以用于实现上述方法实施例中由第一节点执行的方法。
可选地,该多个节点01还可以包括第二节点和/或第三节点。其中,该第二节点可以用于实现上述方法实施例中由第二节点执行的方法,第三节点可以用于实现上述方法实施例中由第三节点执行的方法。
其中,该第一节点的结构可以如图21、图24或图25所示,该第三节点的结构可以如图22、图24或图25所示,该第二节点的结构可以如图23、图24或图25所示。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (39)
1.一种报文接收方法,其特征在于,应用于第一节点,所述方法包括:
接收第一报文,所述第一报文的第一目的地址字段包括第一段标识;
从所述第一目的地址字段中确定第一参数字段,所述第一参数字段对应所述第一段标识;
执行所述第一参数字段指示的至少一个第一处理行为。
2.根据权利要求1所述的方法,其特征在于,所述执行所述第一参数字段指示的至少一个第一处理行为,包括:
识别所述第一参数字段中携带的至少一个行为指令;
执行所述至少一个行为指令指示的所述至少一个第一处理行为。
3.根据权利要求2所述的方法,其特征在于,所述识别所述第一参数字段中携带的至少一个行为指令,包括:
根据参数字段模板,识别所述第一参数字段中携带的所述至少一个行为指令;
其中,所述参数字段模板用于定义所述第一参数字段所携带的所述至少一个行为指令的类型、位置和/或长度。
4.根据权利要求3所述的方法,其特征在于,所述第一参数字段还包括模板标识;所述方法还包括:
根据所述模板标识与所述参数字段模板的对应关系,确定所述参数字段模板。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述第一段标识指示的行为或行为特征与所述参数字段模板的对应关系,确定所述参数字段模板。
6.根据权利要求2所述的方法,其特征在于,所述识别所述第一参数字段中携带的至少一个行为指令,包括:
识别所述第一参数字段中携带的至少一个标志位,其中,每个标志位对应一个行为指令;
根据所述至少一个标志位,识别所述第一参数字段中携带的至少一个行为指令。
7.根据权利要求6所述的方法,其特征在于,每个标志位用于指示所述第一参数字段中是否携带对应的一个行为指令,或者用于指示所述第一参数字段中对应的一个行为指令是否能够被识别。
8.根据权利要求1至7任一所述的方法,其特征在于,所述执行所述第一参数字段指示的至少一个第一处理行为,包括:
基于所述第一节点的结构化参数功能处于启用状态,执行所述第一参数字段指示的至少一个第一处理行为;或,
根据所述第一段标识中功能字段指示的行为或行为特征确定所述第一参数字段为结构化参数字段,执行所述第一参数字段指示的至少一个第一处理行为。
9.根据权利要求1至8任一所述的方法,其特征在于,所述第一段标识为压缩段标识,所述压缩段标识的长度小于128比特。
10.根据权利要求1至8任一所述的方法,其特征在于,所述第一段标识的长度为128比特。
11.根据权利要求1至10任一所述的方法,其特征在于,所述第一参数字段包括在所述第一段标识中,或者,所述第一参数字段位于所述第一段标识之后。
12.根据权利要求1至11任一所述的方法,其特征在于,所述第一报文属于目标业务流,所述方法还包括:
接收所述目标业务流的第二报文,所述第二报文的第二目的地址字段包括第二段标识;
从所述第二目的地址字段中确定第二参数字段,所述第二参数字段对应所述第二段标识;
执行所述第二参数字段指示的至少一个第二处理行为,所述至少一个第二处理行为与所述至少一个第一处理行为不同。
13.根据权利要求1至12任一所述的方法,其特征在于,所述第一段标识还包括功能字段,所述功能字段用于指示第三处理行为;所述方法还包括:
按照所述第三处理行为,处理所述第一报文。
14.根据权利要求13所述的方法,其特征在于,所述第一参数字段还用于携带所述第三处理行为的参数。
15.根据权利要求14所述的方法,其特征在于,所述第三处理行为的参数包括:
具有解封装和二层L2表泛洪的端点End.DT2M的行为的参数,和/或,压缩段标识的索引。
16.根据权利要求1至15任一所述的方法,其特征在于,所述执行所述第一参数字段指示的至少一个第一处理行为,包括:
按照所述第一参数字段指示的至少一个第一处理行为,处理所述第一报文。
17.根据权利要求16所述的方法,其特征在于,所述至少一个第一处理行为包括下述行为中的至少一个:
基于网络切片的切片资源转发报文;
基于应用感知信息所指示的网络服务转发报文;
随流检测;
基于分配的网络资源转发报文;
加密转发报文;
安全验证。
18.根据权利要求17所述的方法,其特征在于,所述第一参数字段包括第一子字段,第二子字段,第三子字段,第四子字段、第五子字段和第六子字段中的至少一个;
其中,所述第一子字段用于携带所述网络切片的切片信息;
所述第二子字段用于携带所述应用感知信息;
所述第三子字段用于携带所述随流检测的信息;
所述第四子字段用于携带所述分配的网络资源的信息;
所述第五子字段用于携带所述加密转发的加密方式;
所述第六子字段用于携带用于进行所述安全验证的消息认证码。
19.根据权利要求18所述的方法,其特征在于,所述第一参数字段还包括第七子字段;
所述第七子字段用于携带所述第一段标识中的功能字段所指示的第三处理行为的参数。
20.根据权利要求1至19任一所述的方法,其特征在于,所述至少一个第一处理行为包括下述行为中的至少一个:
调整所述第一节点的运行状态;
在所述第一节点的本地为流量建立流表、转发表和/或状态表。
21.根据权利要求1至20任一所述的方法,其特征在于,所述从所述第一目的地址字段中确定第一参数字段,包括:
基于确定所述第一段标识为所述第一节点的本地段标识SID,从所述第一目的地址字段中确定第一参数字段。
22.根据权利要求1至21任一所述的方法,其特征在于,所述第一节点不支持基于互联网协议第6版的段路由SRv6转发技术;所述从所述第一目的地址字段中确定第一参数字段,包括:
基于所述第一节点的本地配置信息,从所述第一目的地址字段中确定第一参数字段。
23.根据权利要求1至22任一所述的方法,其特征在于,所述第一参数字段还包括至少一个压缩段标识。
24.一种报文发送方法,其特征在于,所述方法包括:
在第一报文中封装第一段标识;
发送所述第一报文,以供接收到所述第一报文的节点从所述第一报文的第一目的地址字段中确定第一参数字段,并执行所述第一参数字段指示的至少一个第一处理行为;
其中,所述第一参数字段对应所述第一段标识。
25.根据权利要求24所述的方法,其特征在于,所述在第一报文中封装第一段标识,包括:
在所述第一目的地址字段中封装第一段标识;
或者,在第一报文中封装分段路由头SRH,所述SRH中包括所述第一段标识。
26.根据权利要求24或25所述的方法,其特征在于,所述第一报文属于目标业务流,所述方法还包括:
在所述目标业务流的第二报文中封装第二段标识;
发送所述第二报文,以供接收到所述第二报文的节点从所述第二报文的第二目的地址字段中确定第二参数字段,并执行述第二参数字段指示的至少一个第二处理行为;
其中,所述第二参数字段对应所述第二段标识,所述至少一个第二处理行为与所述至少一个第一处理行为不同。
27.根据权利要求26所述的方法,其特征在于,所述第一段标识指示的节点与所述第二段标识指示的节点相同。
28.根据权利要求24至27任一所述的方法,其特征在于,所述第一段标识为压缩段标识,所述压缩段标识的长度小于128比特;
或者,所述第一段标识的长度为128比特。
29.根据权利要求24至28任一所述的方法,其特征在于,所述第一参数字段包括在所述第一段标识中,或者,所述第一参数字段位于所述第一段标识之后。
30.一种报文转发方法,其特征在于,应用于报文转发系统,所述报文转发系统包括第一节点和第二节点;所述方法包括:
所述第一节点接收第一报文,所述第一报文的第一目的地址字段包括第一段标识;
所述第一节点从所述第一目的地址字段中确定第一参数字段,所述第一参数字段对应所述第一段标识;
所述第一节点执行所述第一参数字段指示的至少一个第一处理行为;
所述第二节点接收所述第一节点发送的第二报文,所述第二报文基于所述第一报文得到,且所述第二报文的第二目的地址字段包括第二段标识;
所述第二节点从所述第二目的地址字段中确定第二参数字段,所述第二参数字段对应所述第二段标识;
所述第二节点执行所述第二参数字段指示的至少一个第二处理行为。
31.根据权利要求30所述的方法,其特征在于,所述第一参数字段和所述第二参数字段为同一字段。
32.根据权利要求30或31所述的方法,其特征在于,所述至少一个第一处理行为和所述至少一个第二处理行为相同。
33.根据权利要求30至32任一所述的方法,其特征在于,所述第一段标识和所述第二段标识均为压缩段标识,所述压缩段标识的长度小于128比特;
或者,所述第一段标识和所述第二段标识的长度均为128比特。
34.根据权利要求30至33任一所述的方法,其特征在于,所述第一参数字段包括在所述第一段标识中,所述第二参数字段包括在所述第二段标识中;
或者,所述第一参数字段位于所述第一段标识之后,所述第二参数字段位于所述第二段标识之后。
35.一种网络设备,其特征在于,所述网络设备包括:存储器,处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至34任一所述的方法。
36.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在处理器上运行时,使得所述处理器执行如权利要求1至34任一所述的方法。
37.一种包含指令的计算机程序产品,其特征在于,所述指令由处理器执行,以实现如权利要求1至34任一所述的方法。
38.一种报文转发系统,其特征在于,所述系统包括:多个节点;
所述多个节点中的至少一个节点用于实现如权利要求1至23任一所述的方法。
39.根据权利要求38所述的系统,其特征在于,所述多个节点中的至少一个节点还用于实现如权利要求24至29任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/073744 WO2023231431A1 (zh) | 2022-05-28 | 2023-01-29 | 报文接收方法、发送方法、转发方法、装置及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595079 | 2022-05-28 | ||
CN2022105950791 | 2022-05-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176632A true CN117176632A (zh) | 2023-12-05 |
Family
ID=88941904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210843988.2A Pending CN117176632A (zh) | 2022-05-28 | 2022-07-18 | 报文接收方法、发送方法、转发方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117176632A (zh) |
WO (1) | WO2023231431A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10250485B2 (en) * | 2015-10-08 | 2019-04-02 | Abl Ip Holding Llc | Broadcast message translation in a network device |
CN110636001B (zh) * | 2018-06-25 | 2021-12-03 | 华为技术有限公司 | 发送网络性能参数、计算网络性能的方法和网络节点 |
CN110266594B (zh) * | 2019-06-28 | 2021-07-30 | Ut斯达康通讯有限公司 | 跨网络切片的分段路由转发方法及装置 |
CN110784411B (zh) * | 2019-09-30 | 2021-10-01 | 华为技术有限公司 | 建立bier转发表项的方法、装置和系统 |
CN116684920A (zh) * | 2020-03-17 | 2023-09-01 | 华为技术有限公司 | 报文处理方法、装置、设备及存储介质 |
CN113438160B (zh) * | 2020-03-23 | 2024-05-31 | 中兴通讯股份有限公司 | 路由方法、路由装置及计算机可读存储介质 |
CN113726654B (zh) * | 2021-08-13 | 2023-05-26 | 新华三信息安全技术有限公司 | Srv6协议的报文转发方法、装置、电子设备及介质 |
-
2022
- 2022-07-18 CN CN202210843988.2A patent/CN117176632A/zh active Pending
-
2023
- 2023-01-29 WO PCT/CN2023/073744 patent/WO2023231431A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023231431A1 (zh) | 2023-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824771B2 (en) | Packet processing method, related device, and computer storage medium | |
CN111512601B (zh) | 分组的分段路由网络处理 | |
CN113259238B (zh) | 分段标识的处理方法及设备 | |
US7894442B2 (en) | Data transmission method and a system thereof | |
US20230137778A1 (en) | Packet Sending Method and Apparatus, Network Device, System, and Storage Medium | |
US20240048479A1 (en) | Packet Forwarding Method and Apparatus, Network Device, and Storage Medium | |
US20230254246A1 (en) | Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks | |
US20230091414A1 (en) | Packet Processing Method, Device, and System | |
CN112769738A (zh) | DetNet数据包处理方法及装置 | |
US20230388223A1 (en) | Packet forwarding method, apparatus, and system | |
CN113765800A (zh) | 传输报文的方法、装置、系统、设备及可读存储介质 | |
CN111464443A (zh) | 基于服务功能链的报文转发方法、装置、设备及存储介质 | |
CN117176632A (zh) | 报文接收方法、发送方法、转发方法、装置及系统 | |
CN114079583A (zh) | 发送组播报文的方法、获取转发表项的方法及装置 | |
US11863446B2 (en) | User group-based packet forwarding method, device, and system | |
WO2023185235A1 (zh) | 报文转发方法、装置及系统 | |
AU2021384675B2 (en) | Message Forwarding Method and Apparatus, Communication Device, and Readable Storage Medium | |
US20230291537A1 (en) | Network Synchronization Method, Apparatus, Device, and System, and Readable Storage Medium | |
WO2023231428A1 (zh) | IPv4报文的封装方法、电子设备和计算机存储介质 | |
WO2024040884A1 (zh) | 业务处理方法、装置及系统 | |
CN116938830A (zh) | 报文转发方法、装置及系统 | |
CN117478591A (zh) | 一种报文处理方法、网络设备及系统 | |
CN117640791A (zh) | 业务处理方法、装置及系统 | |
CN115643222A (zh) | 报文的传输方法、装置及存储介质 | |
CN118301060A (zh) | 组播数据报文的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |