CN116846827A - 报文封装及传输方法、装置、网络节点及存储介质 - Google Patents

报文封装及传输方法、装置、网络节点及存储介质 Download PDF

Info

Publication number
CN116846827A
CN116846827A CN202210302639.XA CN202210302639A CN116846827A CN 116846827 A CN116846827 A CN 116846827A CN 202210302639 A CN202210302639 A CN 202210302639A CN 116846827 A CN116846827 A CN 116846827A
Authority
CN
China
Prior art keywords
sid
message
node
bit
header
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
Application number
CN202210302639.XA
Other languages
English (en)
Inventor
姜文颖
程伟强
刘毅松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210302639.XA priority Critical patent/CN116846827A/zh
Priority to PCT/CN2023/082771 priority patent/WO2023179606A1/zh
Publication of CN116846827A publication Critical patent/CN116846827A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种报文封装及传输方法、装置、网络节点及存储介质,其中,方法包括:第一节点将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,所述第一节点为入口节点,所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。

Description

报文封装及传输方法、装置、网络节点及存储介质
技术领域
本申请涉及网络技术领域,尤其涉及一种报文封装及传输方法、装置、网络节点及存储介质。
背景技术
基于互联网协议第六版(IPv6,Internet Protocol Version 6)的段路由(SRv6,Segment Routing IPv6)策略(policy)是一种源路由技术。在使用SRv6 Policy技术为用户提供高质量连接服务时,一般会提供双提供商边缘(PE,Provider Edge)设备或者多PE设备的多归属连接服务,在各PE设备之间形成主备保护,也即镜像保护。相关技术中,通过对控制面协议进行扩展来实现SRv6的出口节点或尾节点的镜像保护,对现网设备的升级改造难度大,实现成本高。
发明内容
为解决相关技术问题,本申请实施例提供一种报文封装及传输方法、装置、网络节点及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种报文封装方法,应用于第一节点,所述第一节点为入口节点,所述方法包括:
将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一段标识(SID,Segment Identify);其中,
所述第一比特位表征所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
其中,上述方案中,所述第一SID封装于所述第一报文的段路由报头(SRH,SegmentRouting Header)的段列表的第n个位置;所述第n个位置表征所述段列表的最末位置或所述SRH的栈底位置。
上述方案中,所述方法还包括:
将SRH头中的SL字段的值置为n-1。
上述方案中,所述第一SID封装于所述第一报文的SRH的第一TLV。
上述方案中,所述第一出口节点为第二出口节点的保护节点。
上述方案中,所述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID的步骤之前,所述方法还包括:
确定第二SID配置有备份的第一SID;其中,
所述第二SID为所述第二出口节点分配给用户的SID。
上述方案中,所述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID的步骤之前,所述方法还包括:
确定第三SID为倒数第二跳弹出(PSP,Penultimate Segment Popping)类型的SID;其中,
所述第三SID为SRH的段列表中倒数第二跳的SID。
本申请实施例还提供了一种报文传输方法,应用于第二节点;所述第二节点为倒数第二跳节点;所述方法包括:
在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
其中,上述方案中,所述第一出口节点为所述第二出口节点的保护节点。
上述方案中,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的段列表的第n个位置;所述第n个位置为所述段列表的最末位置或所述SRH的栈底位置。
上述方案中,所所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的TLV中。
本申请实施例还提供了一种报文封装装置,包括:
封装单元,用于将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID表为第一出口节点分配给用户的SID。
本申请实施例还提供了一种报文传输方法,包括:
读取单元,用于在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为所述第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
本申请实施例还提供了一种第一节点,包括:第一处理器及第一通信接口;其中,
所述第一处理器,用于将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
本申请实施例还提供了一种第二节点,包括:第二处理器及第二通信接口;其中,
所述第二处理器,用于在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为所述第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
本申请实施例还提供了一种第一节点,包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器,
其中,所述第一处理器用于运行所述计算机程序时,执行上述第一节点侧任一项所述方法的步骤。
本申请实施例还提供了一种第二节点,包括:第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器,
其中,所述第二处理器用于运行所述计算机程序时,执行上述第二节点侧任一项所述方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一节点侧任一项所述方法的步骤,或者实现上述第二节点侧任一项所述方法的步骤。
本申请实施例提供的报文封装及传输方法、装置、网络节点及存储介质中,作为入口节点的第一节点将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;作为倒数第二跳节点的第二节点在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID;其中,所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。上述方案将SRv6报文中的预留比特位作为标志位,通过将标志位置位,并在报文头中封装第一SID,当SRv6的出口节点故障时,可以从SRv6报文中解封装得到出口节点的保护节点分配给用户的SID,在此基础上修改SRv6报文的目的地址,将流量转发至出口节点的保护节点,从而在数据面实现对SRv6的出口节点的镜像保护,在多归接入场景下,可以快速完成SRv6的路径切换保护。
附图说明
图1为本申请实施例SRv6报文扩展的标志位结构示意图;
图2为本申请实施例一种报文封装方法流程示意图;
图3为本申请实施例第一TLV的结构示意图;
图4为本申请实施例一种报文传输方法流程示意图;
图5为本申请应用实施例网络架构示意图;
图6为本申请应用实施例报文转发示意图;
图7为本申请实施例一种报文封装装置结构示意图;
图8为本申请实施例一种报文传输装置结构示意图;
图9为本申请实施例第一节点结构示意图;
图10为本申请实施例第二节点结构示意图。
具体实施方式
SRv6策略(policy)是一种源路由技术。该技术在IPv6报文中引入了一个SRv6扩展头,即SRH,通过在头节点封装一个有序的段列表(segmentlist)来形成SRv6路径,如Segmentlist<SID1、SID2、…SIDn>,指导SRv6报文沿着SID1至SIDn的指定路径在网络中转发。SRv6路径可以使用节点SID(END类型的SID)进行编排,也可以使用邻接SID(END.X类型的SID)进行编排。当SRv6路径中的每一跳都使用邻接SID时,该SRv6路径就是一条严格路径,即每一跳都是指定的;当SRv6路径中部分SID使用的是节点SID时,该SRv6路径是一条松散路径,因此两节点之间可能会存在不同的可达链路。
在使用SRv6 Policy技术为用户提供高质量连接服务时,一般会提供双PE设备或者多PE设备的多归属连接服务,在各PE设备之间形成主备保护,也即镜像保护。在用户站点的用户边缘(CE,Customer Edge)设备双归接入的场景下,如果SRv6的出口节点或尾节点出现故障,会产生业务丢包。相关技术中,通过对控制面协议进行扩展来实现SRv6的出口节点或尾节点的镜像保护,对现网设备的升级改造难度大,实现成本高。
基于此,本申请的各个实施例中,作为入口节点的第一节点将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;作为倒数第二跳节点的第二节点在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID;其中,所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。上述方案将SRv6报文中的预留比特位作为标志位,通过将标志位置位,并在报文头中封装第一SID,当SRv6的出口节点(第二出口节点)故障时,可以从SRv6报文中得到出口节点的保护节点分配给用户的备份SID(第一SID),并将SRv6报文的目的地址修改为该备份SID,将流量转发至出口节点对应的保护节点(第一出口节点),从而在数据面实现对SRv6的出口节点的保护,在多归接入场景下,可以快速完成SRv6出口节点故障的路径切换保护。
下面结合附图及实施例对本申请再作进一步详细的描述。
首先,对本申请实施例中针对SRv6报文的预留比特位进行说明。这里,对SRv6报文的预留比特位进行扩展,实际应用时,预留比特位可以位于SRv6报文的报文头中,例如可以为SRH中的预留比特位。图1示出了扩展后的Flag字段结构示例图,其中,在SRH的Flag字段中占用一个比特(bit),用于指示当后续节点不可达时是否需要进行出口节点的保护切换处理,具体地:
B:Flag字段中的一个预留比特位,如果该比特位被置位,即该比特位被设置为1,则指示当后续节点不可达时需要进行出口节点的保护切换处理,且在该SRv6报文中携带了一个备份SID。这里,备份SID表征出口节点的保护节点分配给用户的SID。此外,实际应用时,比特位“B”可以为Flag字段中的任意一个比特位。
Reserved:未使用的预留比特位。在SRv6报文传输时,未使用的预留比特位必须为0,接收方收到SRv6报文时忽略未使用的预留比特位。
基于上文中针对SRv6报文扩展的标志位结构,本申请实施例提供了一种报文封装方法,应用于第一节点,所述第一节点为入口节点。这里,入口节点可以翻译为ingress,也可以称为是头节点或源节点等,实际应用时,入口节点描述的是一个路径(path)或隧道(tunnel)的入口。如图2所示,所述方法包括:
步骤201:将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID。
其中,所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
这里,第一报文可以理解为SRv6报文,第一比特位可以位于第一报文的报文头中,例如,可以理解为图1中的比特位“B”。第一节点接收到CE设备发送的报文,在对报文进行SRv6的外层IPv6报文头封装时,将第一比特位置位,同时,第一节点在SRv6报文的报文头中封装第一SID,这里,SID可以为业务SID(service SID),具体示,可以为VPN SID。其中,将第一比特位进行置位,意味着将第一比特位设置为指定的值。实际应用时,第一比特位所在的报文头与封装第一SID的报文头可以相同,也可以不同。
这里,出口节点(egress node),也可以称为是尾节点或宿节点,实际应用时,出口节点描述的是一个路径或隧道的出口。
在一实施例中,所述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID的步骤之前,所述方法还包括:
确定第二SID配置有备份的第一SID;其中,
所述第二SID为第二出口节点分配给用户的SID。
其中,第二SID配置有备份的第一SID,也可以理解为第二SID配置有保护的第一SID。实际应用时,可以称第一SID为备份SID(backup SID),第二SID为主用SID。这里,第二出口节点可以理解为路径或隧道的主用出口节点,或者当前活跃的出口节点(primaryegress或active egress)。第一出口节点的作用是为了在第二出口节点出现故障时起到保护作用。第一出口节点也可称为第二出口节点的备份节点(backup egress)或保护节点(protector)。
也就是说,第一节点在接收到CE设备发送的报文后,先根据该CE用户的主用SID在本地进行配置查询,如果该主用SID配置有对应的备份SID,那么第一节点才对报文进行SRv6的外层IPv6报文头的封装。
在一实施例中,在所述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID的步骤之前,所述方法还包括:
确定第三SID为PSP类型的SID;其中,
所述第三SID为SRH的段列表中倒数第二跳的SID。
这里,实际应用时,在SRv6现有标准下,SRH的段列表中倒数第二跳的SID表征的是一个SRv6路径或隧道的倒数第二跳SID,但后续段列表有其他扩展的情况下,第三SID在SRH的段列表中的位置可能会发生变化,但是第三SID仍然表征一个SRv6路径或隧道的倒数第二跳SID。
在一实施例中,所述第一SID封装于所述第一报文的SRH的段列表的第n个位置;所述第n个位置表征所述段列表的最末位置(last position)或所述SRH的栈底位置。
其中,所述方法还包括:
将SRH中的SL字段的值置为n-1。
这里,SL字段理解为段偏移(segments left),也被称为SL指针。实际应用时,在SRH的段列表的最末位置(即SL的第n个位置)封装第一SID,并且在对报文进行SRv6的外层IPv6报文的封装时,还需要将SRH中的SL字段的值置为n-1。这样,正常情况下,SL指针不会指向第一SID,而是指向第n-1个位置的SID。
在一实施例中,所述第一SID封装于所述第一报文的SRH的第一TLV。
其中,所述第一TLV包括以下至少之一:
类型字段,用于描述所述第一TLV的类型;
长度字段,用于描述所述第一SID的长度;
数据字段,用于携带所述第一SID。
这里,可以在SRH中新定义一个TLV,并在TLV的数据字段携带第一SID。
图3示出了本申请实施例新定义的第一TLV的结构示例图,其中,
类型字段的字段值由互联网数字分配机构(IANA,The Internet AssignedNumbers Authority)分配,例如,字段值可以为10;
长度字段用于描述第一SID的长度,例如,长度字段的字段值表征第一SID的长度为18字节。需要注意的是,长度字段的字段值描述的长度不包括第一TLV中类型字段和长度字段本身的长度。
对应地,本申请实施例还提供了一种报文传输方法,应用于第二节点;所述第二节点为倒数第二跳节点。实际应用时,倒数第二跳节点为SRv6路径或隧道的段列表中倒数第二跳SID对应的节点,其中,倒数第二跳SID可以为END类型或END.X类型。如图4所示,所述方法包括:
步骤401:在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID。
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
其中,第一出口节点的作用是为了在第二出口节点出现故障时起到保护作用。第一出口节点也可称为第二出口节点的备份节点或保护节点。
这里,第一报文可以理解为SRv6报文,且由第一节点对第一报文中的第一比特位进行置位,并在第一报文的报文头中封装有第一SID。当SRv6报文转发到第二节点时,第二节点发现SRv6报文的SRH中段列表内的下一个SID不可达,即第二出口节点或第二尾节点不可达,则根据第一比特位的指示,从SRv6报文的报文头中的相应位置读取出第一SID,并将SRv6报文的目的地址修改为第一SID,这样,修改了目的地址后的SRv6报文将被发往第一出口节点。
如前文所述,第一节点可以将第一SID封装于第一报文的SRH的段列表的第n个位置,也可以将第一SID封装于第一报文的SRH的第一TLV中。因此,基于第一SID的封装位置的不同,第二节点对应解封装第一SID的方式也不同。
在一实施例中,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的段列表的第n个位置;所述第n个位置为所述段列表的最末位置或所述SRH的栈底位置。
实际应用时,第一节点在SRH的段列表的最末位置封装第一SID,并且在对报文进行SRv6隧道外层IPv6报文头的封装时,还需要将SRH中的SL字段的值置为n-1。这样,正常情况下,SL指针不会指向第一SID,而是指向第n-1个位置的SID。
在一实施例中,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的TLV中。
其中,所述第一TLV包括以下至少之一:
类型字段,用于描述所述第一TLV的类型;
长度字段,用于描述所述第一SID的长度;
数据字段,用于携带所述第一SID。
这里,当第二节点发现SRv6报文的SRH中段列表内的下一个SID不可达,即第二出口节点不可达,则根据第一比特位的指示,从SRv6报文的SRH中的第一TLV的数据字段读取出第一SID。
这里,SRv6的倒数第二跳SID必须为PSP类型的SID,才能支持将SRH弹出。
本申请实施例将SRv6报文中的预留比特位作为标志位,通过将标志位置位,并在报文头中封装第一SID,当SRv6的出口节点故障时,可以从SRv6报文中得到出口节点的保护节点分配给用户的备份SID,并将SRv6报文的目的地址修改为此备份SID,将流量转发至出口节点的保护节点,从而无需进行控制面的协议扩展,直接在数据面实现对SRv6的出口节点的保护,在多归接入场景下,该方案易于部署,且可以快速完成SRv6尾节点故障的路径切换保护。
下面结合应用实施例对本申请再作进一步详细的描述。
本应用实施例中,网络中包括PE1、PE2、PE3、PE4、P1、P2、P3、P4等路由设备,CE1和CE2为用户侧设备,对应的组网结构及SID分配如图5所示。其中,PE1为SRv6路径/隧道的头节点(即第一节点),可以通过控制协议接收主用出口节点(即第二出口节点)分配给用户的主用VPN SID(即第二SID)以及备份出口节点(即第一出口节点)分配给用户的备份VPN SID(即第一SID),或者,接收控制器下发的VPN SID,或者,通过静态配置的方式获取VPN SID。虚拟专用网络(VPN,Virtual Private Network)1用户包含CE1和CE2两个站点,PE3和PE4是的站点CE2的双归接入设备,其中PE3为主用接入设备,PE4为备份接入设备,因此,PE3为该VPN1用户分配的VPN SID为主SID,在PE4为该VPN1用户分配的VPN SID为备份SID,结合图5,VPN SID“A:4::B100”为VPN SID“A:3::B100”的备份SID,并且在PE1上有“A:4::B100”与“A:3::B100”的对应关系。CE1至CE2的流量通过SRv6 Policy路径/隧道承载,对应的路径信息如下:
段列表(segmentlist):<A:1::1,A:11::1,A:12::1,A:3::B100>
其中,段列表中倒数第二跳的SID(即第三SID)“A:12::1”为倒数第二跳弹出(PSPFlavor)类型的SID。
实际应用时,PE1收到CE1发送过来的报文,在进行SRv6隧道外层IPv6报文头的封装时,根据本地“A:4::B100”与“A:3::B100”的对应关系,知道VPN1用户存在双归保护的出口节点,同时检查确定SRv6的segmentlist的倒数第二跳SID“A:12::1”为PSP Flovar类型的SID,于是设置SRH.B-Flag=1,同时在SRv6报文的对应位置封装备份SID“A:4::B100”。其中,封装位置可以有如下选择:
封装位置1:在segmentlist的最后位置(last position)携带“A:4::B100”;
封装位置2:在SRH TLV中携带“A:4::B100”。
如果是在封装位置1携带备份SID“A:4::B100”,则将当前SL的值设置为LastEntry的值减1,即SL=n-1=3,从而使得SL不会指向备份SID,并且SID List[4]才指向“A:4::B100”。如果是在封装位置2携带“A:4::B100”,不需要做其他额外处理。
结合图6,当PE3(primary egress)发生故障,则SRv6报文沿SRv6路径到达倒数第二跳节点P2(第二节点)时,P2发现segmentlist中的下一个SID“A:3::B100”不可达,于是根据SRH.B-Flag=1的指示,从SRv6报文中相应位置获得备份SID“A:4::B100”,并将SRv6报文的目的地址修改为备份“A:4::B100”,同时根据当前SID为PSP类型Flavor,将SRH弹出。P2继续根据该新的目的地址“A:4::B100”将SRv6报文发往PE4(backup egress)。SRv6报文达到PE4后,根据“A:4::B100”的SID类型来执行对应的行为,解封装外层IPv6报文头,恢复内层原始报文,并将原始报文转发至CE2,从而自动实现了PE2故障时的自动保护倒换。
此外,本发明实施例提供的方法还包括,如图6所示,在路由收敛完成后,入口节点PE1为VPN1用户重新选择流量转发路径,将CE1到CE2的路径切换到出口节点PE4。
为了实现本申请实施例第一节点侧的方法,本申请实施例还提供了一种报文封装装置,设置在第一节点上,所述第一节点为入口节点,如图7所示,该装置包括:
封装单元701,用于将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
其中,在一实施例中,所述第一SID封装于所述第一报文的SRH的段列表的第n个位置;所述第n个位置表征所述段列表的最末位置或所述SRH的栈底位置。
在一实施例中,所述封装单元701,还用于将SRH中的SL字段的值置为n-1。
在一实施例中,所述第一SID封装于所述第一报文的SRH的第一TLV。
在一实施例中,所述第一出口节点为第二出口节点的保护节点。
在一实施例中,所述封装单元701,还用于:
在将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID之前,确定第二SID配置有备份的第一SID;其中,
所述第二SID为所述第二出口节点分配给用户的SID。
在一实施例中,所述封装单元701,还用于:
在将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID之前,确定第三SID为倒数第二跳弹出PSP类型的SID;其中,
所述第三SID为SRH的段列表中倒数第二跳的SID。
实际应用时,所述封装单元701可由报文封装装置中的处理器实现。
需要说明的是:上述实施例提供报文封装装置在进行报文封装时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文封装装置与报文封装方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为了实现本申请实施例第二节点侧的方法,本申请实施例还提供了一种报文传输装置,设置在第二节点上,所述第二节点为倒数第二跳节点。实际应用时,倒数第二跳节点为SRv6路径或隧道的段列表中倒数第二跳SID对应的节点,其中,倒数第二跳SID可以为END类型或END.X类型。如图8所示,该装置包括:
修改单元801,用于在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为所述第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
其中,在一实施例中,所述第一出口节点为所述第二出口节点的保护节点。
在一实施例中,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的段列表的第n个位置;所述第n个位置为所述段列表的最末位置或所述SRH的栈底位置。
在一实施例中,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的TLV中。
实际应用时,所述修改单元801可由报文传输装置中的通信接口实现。
需要说明的是:上述实施例提供报文传输装置在进行报文传输时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文传输装置与报文传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例第一节点侧的方法,本申请实施例还提供了一种第一节点,所述第一节点表征SRv6的头节点,如图9所示,第一节点900包括:
第一通信接口901,能够与其他网络节点进行信息交互;
第一处理器902,与所述第一通信接口901连接,以实现与其他网络节点进行信息交互,用于运行计算机程序时,执行上述第一节点侧一个或多个技术方案提供的方法。而所述计算机程序存储在第一存储器903上。
具体地,所述第一处理器902,用于将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
其中,在一实施例中,所述第一SID封装于所述第一报文的SRH的段列表的第n个位置;所述第n个位置表征所述段列表的最末位置或所述SRH的栈底位置。
在一实施例中,所述第一处理器902,还用于将SRH中的SL字段的值置为n-1。
在一实施例中,所述第一SID封装于所述第一报文的SRH的第一TLV。
在一实施例中,所述第一出口节点为第二出口节点的保护节点。
在一实施例中,所述第一处理器902,还用于:
在述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID之前,确定第二SID配置有备份的第一SID;其中,
所述第二SID为所述第二出口节点分配给用户的SID。
在一实施例中,所述第一处理器902,还用于:
在述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID之前,确定第三SID为倒数第二跳弹出PSP类型的SID;其中,
所述第三SID为SRH的段列表中倒数第二跳的SID。
需要说明的是:第一处理器902和第一通信接口901的具体处理过程可参照上述方法理解。
当然,实际应用时,第一节点900中的各个组件通过总线系统904耦合在一起。可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。
本申请实施例中的第一存储器903用于存储各种类型的数据以支持第一节点900的操作。这些数据的示例包括:用于在第一节点900上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于所述第一处理器902中,或者由所述第一处理器902实现。所述第一处理器902可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第一处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第一处理器902可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第一处理器902可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第一存储器903,所述第一处理器902读取第一存储器903中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,第一节点900可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
基于上述程序模块的硬件实现,且为了实现本申请实施例第二节点侧的方法,本申请实施例还提供了一种第二节点,所述第二节点表征SRv6的倒数第二跳节点。实际应用时,倒数第二跳节点为SRv6路径或隧道的段列表中倒数第二跳SID对应的节点,其中,倒数第二跳SID可以为END类型或END.X类型。如图10所示,该第二节点1000包括:
第二通信接口1001,能够与其他网络节点进行信息交互;
第二处理器1002,与所述第二通信接口1001连接,以实现与其他网络节点进行信息交互,用于运行计算机程序时,执行上述第二节点侧一个或多个技术方案提供的方法。而所述计算机程序存储在第二存储器1003上。
具体地,所述第二处理器1002,用于在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
其中,在一实施例中,所述第一出口节点为所述第二出口节点的保护节点。
在一实施例中,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的段列表的第n个位置;所述第n个位置为所述段列表的最末位置或所述SRH的栈底位置。
在一实施例中,所所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的TLV中。
需要说明的是:第二处理器1002和第二通信接口1001的具体处理过程可参照上述方法理解。
当然,实际应用时,第二节点1000中的各个组件通过总线系统1004耦合在一起。可理解,总线系统1004用于实现这些组件之间的连接通信。总线系统1004除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统1004。
本申请实施例中的第二存储器1003用于存储各种类型的数据以支持第二节点1000操作。这些数据的示例包括:用于在第二节点1000上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于所述第二处理器1002中,或者由所述第二处理器1002实现。所述第二处理器1002可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第二处理器1002中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第二处理器1002可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第二处理器1002可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第二存储器1003,所述第二处理器1002读取第二存储器1003中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,第二节点1000可以被一个或多个ASIC、DSP、PLD、CPLD、FPGA、通用处理器、控制器、MCU、Microprocessor、或其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器(第一存储器903和第二存储器1003)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagneticrandom access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,SynchronousStatic Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random AccessMemory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random AccessMemory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data RateSynchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器903,上述计算机程序可由第一节点900的第一处理器902执行,以完成前述第一节点侧方法所述步骤。再比如包括存储计算机程序的第二存储器1003,上述计算机程序可由第二节点1000的第二处理器1002执行,以完成前述第二节点侧方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (18)

1.一种报文封装方法,其特征在于,应用于第一节点,所述第一节点为入口节点,所述方法包括:
将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一段标识SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
2.根据权利要求1所述的方法,其特征在于,所述第一SID封装于所述第一报文的段路由头SRH的段列表的第n个位置;所述第n个位置表征所述段列表的最末位置或所述SRH的栈底位置。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将SRH中的SL字段的值置为n-1。
4.根据权利要求1所述的方法,其特征在于,所述第一SID封装于所述第一报文的SRH的第一TLV。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一出口节点为第二出口节点的保护节点。
6.根据权利要求5所述的方法,其特征在于,所述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID的步骤之前,所述方法还包括:
确定第二SID配置有备份的第一SID;其中,
所述第二SID为所述第二出口节点分配给用户的SID。
7.根据权利要求1-4任一所述的方法,其特征在于,所述将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID的步骤之前,所述方法还包括:
确定第三SID为倒数第二跳弹出PSP类型的SID;其中,
所述第三SID为SRH的段列表中倒数第二跳的SID。
8.一种报文传输方法,其特征在于,应用于第二节点,所述第二节点为倒数第二跳节点;所述方法包括:
在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
9.根据权利要求8所述的方法,其特征在于,所述第一出口节点为所述第二出口节点的保护节点。
10.根据权利要求8或9所述的方法,其特征在于,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的段列表的第n个位置;所述第n个位置为所述段列表的最末位置或所述SRH的栈底位置。
11.根据权利要求8或9所述的方法,其特征在于,所述第一SID在所述第一报文的报文头中携带,包括:
所述第一SID携带在所述第一报文的SRH的TLV中。
12.一种报文封装装置,其特征在于,包括:
封装单元,用于将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID表为第一出口节点分配给用户的SID。
13.一种报文传输方法,其特征在于,包括:
修改单元,用于在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为所述第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
14.一种第一节点,其特征在于,包括:第一处理器及第一通信接口;其中,
所述第一处理器,用于将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;其中,
所述第一比特位为所述第一报文的预留比特位;所述第一SID为第一出口节点分配给用户的SID。
15.一种第二节点,其特征在于,包括:第二处理器及第二通信接口;其中,
所述第二处理器,用于在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为所述第一SID;其中,
所述第一SID在所述第一报文的报文头中携带;所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。
16.一种第一节点,其特征在于,包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器,
其中,所述第一处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
17.一种第二节点,其特征在于,包括:第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器,
其中,所述第二处理器用于运行所述计算机程序时,执行权利要求8至11任一项所述方法的步骤。
18.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤,或者实现权利要求8至11任一项所述方法的步骤。
CN202210302639.XA 2022-03-24 2022-03-24 报文封装及传输方法、装置、网络节点及存储介质 Pending CN116846827A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210302639.XA CN116846827A (zh) 2022-03-24 2022-03-24 报文封装及传输方法、装置、网络节点及存储介质
PCT/CN2023/082771 WO2023179606A1 (zh) 2022-03-24 2023-03-21 报文封装及传输方法、装置、网络节点及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210302639.XA CN116846827A (zh) 2022-03-24 2022-03-24 报文封装及传输方法、装置、网络节点及存储介质

Publications (1)

Publication Number Publication Date
CN116846827A true CN116846827A (zh) 2023-10-03

Family

ID=88099982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210302639.XA Pending CN116846827A (zh) 2022-03-24 2022-03-24 报文封装及传输方法、装置、网络节点及存储介质

Country Status (2)

Country Link
CN (1) CN116846827A (zh)
WO (1) WO2023179606A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737269B (zh) * 2017-04-13 2021-11-26 中兴通讯股份有限公司 一种封装方法、装置和节点
CN111682996B (zh) * 2019-03-11 2024-01-05 华为技术有限公司 网络中报文转发的方法、网络节点、网络系统
CN112787923B (zh) * 2019-11-07 2024-06-21 华为技术有限公司 一种报文的处理方法,装置和系统
CN114124781B (zh) * 2021-11-23 2023-05-16 中国联合网络通信集团有限公司 SRv6中报文的转发方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
WO2023179606A1 (zh) 2023-09-28

Similar Documents

Publication Publication Date Title
CN112019433B (zh) 一种报文转发方法和装置
EP3923526A1 (en) Message forwarding method in network, network node and network system
CN113472658B (zh) 一种报文封装方法、报文转发方法及装置
WO2020156166A1 (zh) 用于处理报文的方法和装置
CN107645433B (zh) 报文转发方法及装置
CN112491701B (zh) 转发报文方法和装置
CN112787923B (zh) 一种报文的处理方法,装置和系统
CN107659484B (zh) 从vlan网络接入vxlan网络的方法、装置及系统
CN107547340B (zh) 一种报文转发方法和装置
CN111490933B (zh) 双向转发检测切换方法及边缘设备
US20230308386A1 (en) Packet Transmission Method and Apparatus
EP4020903B1 (en) Method and apparatus for preventing traffic bypassing
CN116846827A (zh) 报文封装及传输方法、装置、网络节点及存储介质
WO2022048469A1 (zh) Mac路由的更新方法、设备及系统
WO2022017225A1 (zh) 报文发送方法、设备及系统
CN111010344B (zh) 报文转发方法、装置、电子设备及机器可读存储介质
CN111435948B (zh) 一种在网络中传输报文的方法及网络设备
CN107995084B (zh) 隧道选择方法及装置
CN106656786B (zh) 一种流量保护方法及装置
CN116938807B (zh) 数据报文传输方法、装置、设备及存储介质
CN114006860B (zh) 用户接入方法、系统和装置
WO2024083219A1 (zh) 报文处理方法、装置、设备及存储介质
US20240056389A1 (en) Information processing method, and device and storage medium
EP4145797A1 (en) Fault detection method and apparatus, and pe device
US20240283738A1 (en) Packet Processing Method, Apparatus, and System

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