CN113411259A - 一种报文转发方法、装置及设备 - Google Patents

一种报文转发方法、装置及设备 Download PDF

Info

Publication number
CN113411259A
CN113411259A CN202110736381.XA CN202110736381A CN113411259A CN 113411259 A CN113411259 A CN 113411259A CN 202110736381 A CN202110736381 A CN 202110736381A CN 113411259 A CN113411259 A CN 113411259A
Authority
CN
China
Prior art keywords
srv6
psid
packet
message
mapping relationship
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
CN202110736381.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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN202110736381.XA priority Critical patent/CN113411259A/zh
Publication of CN113411259A publication Critical patent/CN113411259A/zh
Pending legal-status Critical Current

Links

Images

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
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

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

Abstract

本申请实施例公开了一种报文转发方法、装置及设备。本申请中通过在SRv6转发路径上的源节点、中转节点和尾节点上生成路径段标识PSID和SRv6转发路径的段列表之间的映射关系,在转发需要使用该SRv6转发路径转发的原始报文时,使源节点基于原始报文生成携带的段列表为PSID的SRv6报文,以指示中转节点和尾节点可以依据上述映射关系中该PSID对应的段列表对SRv6报文进行处理。由于本申请实施例中无论SRv6转发路径中的节点数目是多少,用于标识SRv6转发路径的PSID是不变的,所以通过使用PSID转发SRv6报文,可以避免由于SRv6转发路径中节点太多所导致的SRv6报文转发的效率下降。

Description

一种报文转发方法、装置及设备
技术领域
本申请涉及通信领域,特别涉及一种报文转发方法、装置及设备。
背景技术
SR技术(Segment Routing,段路由)是一种采用源节点路径选择的路由转发机制,SRv6(IPv6 SR,IPv6段路由)技术是SR技术在IPv6网络中的一种应用。在采用SRv6技术对进入SRv6域的原始报文进行转发时,SRv6域中接收原始报文的设备作为转发该原始报文的源节点,需要为接收到的原始报文封装转发该原始报文的SRv6报文转发路径上的段列表,以获得SRv6报文。
因此,随着SRv6转发路径中节点数目的增加,源节点在接收到原始报文时需要为原始报文封装的段列表中的SID(Segment Identifier,段标识)的数目也需要增加,则封装原始报文后得到的SRv6报文的长度也会更长,导致SRv6报文转发的效率下降。
发明内容
本申请公开了一种报文转发方法、装置及设备,以避免由于SRv6转发路径中节点太多导致SRv6报文转发的效率下降。
根据本申请实施例的第一方面,提供了一种报文转发方法,该方法应用于网络设备,该方法包括:
若本设备为本设备上的任一第一SRv6转发路径上的源节点,获取用于标识所述第一SRv6转发路径的第一路径段标识PSID,生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文,将所述第一SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系;
当接收到需要使用该第一SRv6转发路径转发的第一原始报文时,基于第一原始报文生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,所述第二SRv6报文中携带的段列表为所述第一PSID,并将所述第二SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点根据所述第二SRv6报文中携带的第一PSID,从所述第一映射关系中查找所述第一PSID对应的第一段列表,并依据查找到的第一段列表对所述第二SRv6报文进行处理;
若本设备为任一第二SRv6转发路径上中转节点或者尾节点,接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文,并基于所述第三SRv6报文生成所述第二映射关系;
当接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID,并从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。
根据本申请实施例的第二方面,提供了一种报文转发装置,该方法应用于网络设备,该装置包括:
第一映射关系生成单元,用于若本设备为本设备上的任一第一SRv6转发路径上的源节点,获取用于标识所述第一SRv6转发路径的第一路径段标识PSID,生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文,将所述第一SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系;
第二映射关系生成单元,用于若本设备为任一第二SRv6转发路径上中转节点或者尾节点,接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文,并基于所述第三SRv6报文生成所述第二映射关系;
第一报文处理单元,用于若本设备为本设备上的任一第一SRv6转发路径上的源节点,当接收到需要使用该第一SRv6转发路径转发的第一原始报文时,基于第一原始报文生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,所述第二SRv6报文中携带的段列表为所述第一PSID,并将所述第二SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点根据所述第二SRv6报文中携带的第一PSID,从所述第一映射关系中查找所述第一PSID对应的第一段列表,并依据查找到的第一段列表对所述第二SRv6报文进行处理;
第二报文处理单元,用于若本设备为任一第二SRv6转发路径上中转节点或者尾节点,当接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID,并从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。
根据本申请实施例的第三方面,提供一种电子设备,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所述的报文转发方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
由以上技术方案可知,本申请提供的方案中通过在SRv6转发路径上的源节点、中转节点和尾节点上生成路径段标识PSID和SRv6转发路径的段列表之间的映射关系,在转发需要使用该SRv6转发路径转发的原始报文时,使源节点基于原始报文生成用于指示中转节点和尾节点使用PSID转发SRv6报文的SRv6报文,该SRv6报文中携带的段列表为PSID,以使中转节点和尾节点可以依据映射关系中该PSID对应的段列表对SRv6报文进行处理。由于本申请实施例中无论SRv6转发路径中的节点数目是多少,用于标识SRv6转发路径的PSID是不变的,所以通过使用PSID转发SRv6报文,可以避免由于SRv6转发路径中节点太多所导致的报文转发的效率下降。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是相关技术中SRv6协议定义的SRv6报文格式示意图;
图2是相关技术中的SRv6报文转发的流程示意图;
图3是本申请实施例提供的一种映射关系生成的方法流程图;
图4是本申请实施例提供的一种报文转发的方法流程图;
图5是本申请实施例提供的一种第一SRv6报文的格式示意图;
图6是本申请实施例提供的另一种第一SRv6报文的格式示意图;
图7是本申请实施例提供的用于生成映射关系的SRv6报文转发的流程示意图;
图8是本申请实施例提供的另一种映射关系生成的方法流程图;
图9是本申请实施例提供的另一种报文转发的方法流程图;
图10是本申请实施例提供的第二SRv6报文的格式示意图;
图11是本申请实施例提供的使用PSID转发SRv6报文实现转发原始报文的流程示意图;
图12是本申请实施例提供的一种实现报文转发的装置示意图;
图13是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面先结合图1和图2介绍相关技术中采用SRv6技术转发原始报文的过程。
需要说明的是,图2所示的设备A~设备F都是支持SRv6技术的网络设备,设备A上配置了用于将使用SRv6转发路径转发的原始报文封装为SRv6报文的SRv6封装源地址(SRv6encapsulation source-address),设备B~设备F上配置了用于标识SRv6节点的SID为10::X:1:0(X为设备名,比如设备B的SID为10::B:1:0),以及设备A上配置了一条经过设备B~设备E,最终到设备F的SRv6转发路径(记为目标SRv6转发路径)。在设备A使用目标SRv6转发路径转发报文的过程中,设备A为源节点设备,设备B~设备E为中转节点设备,设备F为尾节点设备,经过此路径的原始报文的转发过程如下:
如图2所示,当设备A接收到原始报文M0,并确定原始报文M0通过目标SRv6转发路径进行转发时,在转发原始报文M0之前,需要先对原始报文M0进行SRv6封装,得到报文M1。
其中,报文M1的格式为SRv6报文的报文格式,SRv6报文格式可参照图1,包括:IPv6Header(IPv6基本头)字段、SRH(Segment Routing Header,段路由头)字段和Payload(有效载荷)字段。
SRv6报文格式中的SRH字段中至少包括:段列表Segment List(简记为List)字段,用于存放SRv6转发路径对应的段列表;Segments Left(记为SL)字段,用于指示下一个节点的SID在Segment List字段中位置,初始取值为n-1(n表示Segment List字段中SID的数目),每经过一个节点,SRv6报文中的SL的值减1。相关技术中,在Segment List字段中存放的段列表中的SID是以逆序方式存放的,这里的逆序是指各节点的SID的存放顺序与SRv6转发路径中经过的节点的顺序相反,比如当SRv6转发路径为目标SRv6转发路径时,在SegmentList字段中存放的段列表中SID的顺序为设备F~设备B对应的SID。
本实施例中设备A对原始报文M0进行SRv6封装可以通过在原始报文M0前面添加IPv6 Header和SRH实现。
作为一个实施例,设备A在原始报文M0前面所添加IPv6 Header至少包括:用于存放设备A的SRv6封装源地址的SA(Source Address,源地址)字段,和用于存放SL所指示的SID的DA(Destination Address,目的地址)字段;在原始报文M0前面所添加的SRH至少包括SL字段和List字段,List字段中依次保存了设备F~设备B共5个节点对应的SID,SL字段中SL的初始取值为4,对原始报文M0封装后得到的报文M1的具体格式可参见图2,在报文M1中,当SL=4时,SL所指示的SID为10::B:1:0(即DA字段所对应的内容)。其中,原始报文M0被携带在报文M1的Payload字段中,报文M1所采用的报文格式为SRv6协议定义的报文格式。
进一步的,在设备A将报文M1转发至设备B之后,如果设备B判断出报文M1中携带的DA字段中存放的SID为本设备B被分配的SID,则可以确定该报文M1需要按照SRv6的转发逻辑进行处理。
按照SRv6的转发逻辑,设备B首先需要判断报文M1中携带的SL的值是否为0,由于本实施例中报文M1中携带的SL的值为4,所以设备B可以确定报文M1中携带的SL的值不为0,确定本设备B为中转节点设备,则将报文M1中SL的值修改为当前SL的值减1后得到的值,即将报文M1中SL的值从4修改为3,进而设备B可以依据修改后的SL的值(SL=3)从报文M1的List字段中携带的段列表中查找到下一个节点的SID:10::C:1:0,将报文M1的DA字段保存的SID(10::B:1:0)修改为当前SL所指示的SID(10::C:1:0),修改后所得到的报文如图2所示的报文M2,设备B将依据报文M2中封装的DA查路由转发至设备C。
本实施例中设备C,在接收到报文M2后,可以确定设备C同样为中转节点设备,进而按照与设备B相同的步骤对报文M2进行处理,以得到报文M3,并将报文M3转发至设备D。以及设备D和设备E也可以依据接收到的报文确定设备D和设备E为中转节点设备,设备D可以按照与设备B相同的步骤处理设备C发送过来的报文M3,设备E可以按照设备B相同的步骤处理设备D发送过来的报文M4,这里不再赘述。
在上述设备E处理报文M4得到报文M5,并将报文M5转发至设备F之后,设备F在判断出报文M5中携带的DA字段中存放的SID为本设备F被分配的SID,确定报文M5需要按照SRv6的转发逻辑进行处理时,如图2所示,此时报文M5中携带的SL的值为0,则设备F可以确定本设备F为目标SRv6转发路径上的尾节点,作为尾节点的设备F将对接收到的报文M5进行SRv6解封装,剥离报文M5携带的IPv6基本头和IPv6段路由头,得到进入SRv6域之前的原始报文M0,并对原始报文M0进行查路由转发。
以上完成了相关技术中采用SRv6技术转发原始报文的过程,通过上述过程,可以知道,相关技术中在SRv6域中转发的SRv6报文(包括报文M1~报文M5)中都携带了目标SRv6转发路径上的设备F~设备B共5个节点对应的SID,可以看出,相关技术中SRv6转发路径所包含的节点越多,封装后得到的SRv6报文的长度越长,报文通过SRv6转发的传输效率越低。
为了解决相关技术中,由于SRv6转发路径所包含的节点较多时导致的报文通过SRv6转发的传输效率降低,本申请实施例提供了一种报文转发方法,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
首先,需要说明的是,本申请实施例提供的报文转发方法中包括一种映射关系的生成方法。参见图3,图3为本申请实施例提供的一种映射关系生成的方法流程图。作为一个实施例,图3所示的流程可以应用于网络设备,该网络设备为本设备上的任一第一SRv6转发路径上的源节点。
如图3所示,该流程可以包括以下步骤:
步骤301,获取用于标识所述第一SRv6转发路径的第一PSID(Path SegmentIdentifier,路径段标识)。
作为一个实施例,由于相关技术中SRv6转发路径一般会被配置到该SRv6转发路径的源节点上,因此,若本设备上配置了SRv6转发路径(为了便于理解,将本设备为源节点的SRv6转发路径记为第一SRv6转发路径),可以确定本设备为该第一SRv6转发路径上的源节点。
需要说明的是,在本设备上配置第一SRv6转发路径可以通过多种方式,比如手动在本设备上配置第一SRv6转发路径、或者通过控制器向本设备下发第一SRv6转发路径的配置以使本设备配置第一SRv6转发路径等,第一SRv6转发路径的具体配置过程可参照相关技术,这里不再赘述。
进一步的,若在本设备上配置了一条第一SRv6转发路径,基于本设备为该第一SRv6转发路径上的源节点,将为该第一SRv6转发路径获取对应的第一PSID。在本实施例中,不同设备上的各个第一SRv6转发路径所对应的各个第一PSID互不相同,在保证不同设备上的各个第一SRv6转发路径所对应的第一PSID互不相同的情况下,该第一PSID可以通过多种方式获得。
示例性的,下面对本申请提供的两种获取第一PSID的方法进行描述:
作为一个实施例,由于相关技术中,在构建IPv6网络时,会为网络中各网络设备分配的一段IPv6网段,各网络设备被分配的IPv6网段不同,所以,可以从本设备被分配的IPv6网段中选择一个未被使用的IPv6地址,将该未被使用的IPv6地址确定为用于标识上述第一SRv6转发路径的第一PSID。
作为另一个实施例,可以通过向控制器发送用于申请用于标识上述第一SRv6转发路径的第一PSID的请求,并接收控制器针对该请求返回的响应,将该响应中携带的第一PSID确定为上述第一SRv6转发路径的第一PSID。需要说明的是,上述控制器位于本设备所在的IPv6网络中,在该控制器中保存了不同设备上的各个第一SRv6转发路径所对应的各个第一PSID。
可选的,上述控制器在接收到用于申请用于标识上述第一SRv6转发路径的第一PSID的请求时,将针对该第一SRv6转发路径生成对应的第一PSID,并记录该第一SRv6转发路径和该第一PSI之间的对应关系。
其中,上述第一PSID可以通过多种方式生成,比如可以设置第一PSID格式为:PSID-XXX,其中X为可变值,XXX为PSID的编号,则控制器在接收到用于申请用于标识上述第一SRv6转发路径的第一PSID的请求时,可以按照编号值从小到大的顺序进行编号生成PSID,比如当首次接收到用于申请用于标识一条第一SRv6转发路径的第一PSID的请求时,该第一PSID可以被确定为:PSID-001,而在下次接收到用于申请用于标识另一条第一SRv6转发路径的第一PSID的请求时,该第一PSID可以被确定为:PSID-002,依次类推,通过编号的方式生成第一PSID。以上举例只是为了便于理解,在保证不同设备上的各个第一SRv6转发路径所对应的各个第一PSID互不相同的前提下,本申请对如何生成第一PSID不做限定。
步骤302,生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文。
作为一个实施例,本步骤302所生成的第一SRv6报文至少包括:SRH字段和Payload字段,其中SRH字段至少包括Flags字段和Segment List字段。
在本实施例中,依据上述报文格式所生成的第一SRv6报文可参照图4。该第一SRv6报文将第一PSID携带在了Payload字段中,将上述第一SRv6转发路径的第一段列表携带在了Segment List字段中。
进一步的,在第一SRv6报文的Flags字段中新增加了一个指示第一PSID位于Payload字段的第一标识,该第一标识可以通过自定义Flags字段中的一个bit实现,比如图5中定义Flags字段中的一个bit为H,将Flags.H作为第一标识,当Flags.H=1时,则指示了该第一SRv6报文携带的第一PSID位于Payload字段,接收到该第一SRv6报文的第一SRv6转发路径上的节点可以从该第一SRv6报文的Payload字段中获取第一PSID,同时基于第一PSID位于Payload字段确定该第一SRv6报文用于指示该中转节点和尾节点生成上述第一映射关系。
作为另一个实施例,当本实施例中第一PSID为IPv6地址时,上述第一SRv6报文既可以采用如图5所示的报文格式,也可以应用采用如图6所示的报文格式。如图6所示,该第一SRv6报文至少包括:SA字段和SRH字段,其中SRH字段至少包括Flags字段和Segment List字段。
在本实施例中,由于本实施例中第一PSID的形式为IPv6地址,所以本实施例可以将第一PSID携带在该第一SRv6报文的SA字段中,将上述第一SRv6转发路径的第一段列表携带在该第一SRv6报文的Segment List字段中。
进一步的,本实施例中在第一SRv6报文的Flags字段中新增加了一个指示第一PSID位于SA字段的第二标识,该第二标识也可以通过自定义Flags字段中的一个bit实现,比如图6中定义Flags字段中的一个bit为S,将Flags.S作为第二标识,当Flags.S=1时,则指示了该第一SRv6报文携带的第一PSID位于SA字段,接收到该第一SRv6报文的第一SRv6转发路径上的节点可以从该第一SRv6报文的SA字段中获取第一PSID,同时基于第一PSID位于SA字段确定该第一SRv6报文用于指示该中转节点和尾节点生成上述第一映射关系。
需要说明的是,上述实施例中图5、图6所示的报文仅为示例,为了便于理解第一SRv6报文的两种可选的报文格式,而并非用于限定第一SRv6报文。
步骤303,将所述第一SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系。
在本申请实施例中,将上述生成的第一SRv6报文转发到第一SRv6转发路径上的中转节点和尾节点,其具体的转发过程可参照下文中结合图7所描述的用于生成映射关系SRv6报文转发的实施例,这里暂不赘述。
至此,完成图3所示流程。
通过图3所示的流程可以看出,本实施例中在本设备为本设备上的任一第一SRv6转发路径上的源节点时,可以通过生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,以及生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文,将所述第一SRv6报文转发至该中转节点和尾节点,从而使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系,使该第一SRv6转发路径上的各节点都保存了第一PSID和该第一SRv6转发路径的第一段列表之间的第一映射关系。
基于上述图3所示流程在第一SRv6转发路径上的源节点、中转节点和尾节点上生成上述第一映射关系,本申请实施例所提供的报文转发方法中报文转发的流程可以参照图4所示流程。作为一个实施例,图4所示的流程可以应用于网络设备,该网络设备为本设备上的任一第一SRv6转发路径上的源节点。
如图4所示,该流程可以包括以下步骤:
步骤401,当接收到需要使用该第一SRv6转发路径转发的第一原始报文时,基于第一原始报文生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,所述第二SRv6报文中携带的段列表为所述第一PSID。
本申请实施例中,基于第一原始报文所生成的第二SRv6报文的格式可以参照图10。为了区分第二SRv6报文和相关技术中生成的SRv6报文,在该第二SRv6报文的Flags字段中新增加一个用于指示第一PSID位于Segment List字段中第三标识,该第三标识也可以通过自定义Flags字段中的一个bit实现,比如图8中定义Flags字段中的一个bit为P,将Flags.P作为第二标识,当Flags.P=1时,则指示了该第二SRv6报文携带的第一PSID位于Segment List字段,接收到该第二SRv6报文的第一SRv6转发路径上的节点可以从该第一SRv6报文的Segment List字段中获取第一PSID,同时基于第一PSID位于Segment List字段确定该第二SRv6报文用于指示中转节点和尾节点使用第一PSID转发SRv6报文。
步骤402,将所述第二SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点根据所述第二SRv6报文中携带的第一PSID,从所述第一映射关系中查找所述第一PSID对应的第一段列表,并依据查找到的第一段列表对所述第二SRv6报文进行处理。
在本申请实施例中,将上述第二SRv6报文转发到第一SRv6转发路径上的中转节点和尾节点,其具体的转发过程可参照下文中结合图11所描述的使用PSID转发SRv6报文实现转发原始报文的实施例,这里暂不赘述。
需要说明的是,在将第二SRv6报文转发到第一SRv6转发路径上的中转节点时,中转节点会将该第二SRv6报文转发到第一SRv6转发路径上的下一个节点,而在将第二SRv6报文转发到第一SRv6转发路径上的尾节点时,尾节点将对第二SRv6报文进行解封装得到第一原始报文,按照第一原始报文所携带的目的地址转发该第一原始报文。
至此,完成图4所示流程。
通过图4所示的流程可以看出,本申请实施例中,在本设备为本设备上的任一第一SRv6转发路径上的源节点时,可以通过生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,该SRv6报文中携带的段列表为PSID,将所述第二SRv6报文转发至该中转节点和尾节点,以使中转节点和尾节点可以依据映射关系中该PSID对应的段列表对SRv6报文进行处理。由于本申请实施例中无论SRv6转发路径中的节点数目是多少,用于标识SRv6转发路径的PSID是不变的,所以使用PSID转发SRv6报文,可以避免由于SRv6转发路径中节点太多所导致的报文转发的效率下降。
以上举例只是为了便于理解,本申请实施例并不具体限定。
下面对本申请实施例提供的报文转发方法中另一种映射关系的生成方法进行描述。请参见图8,图8为本申请实施例提供的另一种映射关系生成的方法流程图。作为一个实施例,图8所示的流程可以应用于图3和图4所示流程所应用的网络设备,该网络设备为任一第二SRv6转发路径上的中转节点或者尾节点。
如图8所示,该流程可以包括以下步骤:
步骤801,接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文。
作为一个实施例,第三SRv6报文可以是由该第二SRv6转发路径上的源节点参照如图3所示的方法基于第二SRv6转发路径对应的第二PSID和第二段列表生成然后转发至本设备的,该第三SRv6报文可以参照图5或者图6所示的报文格式。
步骤802,基于所述第三SRv6报文生成所述第二映射关系。
作为一个实施例,如果检测到第三SRv6报文SRH中的Flags字段携带了用于指示第二PSID位于Payload字段中的第一标识,比如检测到第三SRv6报文SRH中的Flags字段中Flags.H=1,则表示该第三SRv6报文的格式与图5所示报文的格式类似,则可以从该第三SRv6报文的Payload字段中获取第二PSID,生成所述第二PSID与该第三SRv6报文中携带的Segment List字段中的段列表之间的第二映射关系。
作为另一个实施例,如果检测到第三SRv6报文SRH中的Flags字段携带了用于指示第二PSID位于SA字段中的第二标识,比如检测到第三SRv6报文SRH中的Flags字段中Flags.S=1,则表示该第三SRv6报文的格式与图6所示报文的格式类似,则可以从该第三SRv6报文的SA字段中获取第二PSID,生成所述第二PSID与该第三SRv6报文中携带的Segment List字段中的段列表之间的第二映射关系。
进一步的,在生成上述第二映射关系之后,本设备可以在本地创建一个本地映射表以记录上述生成的第二映射关系,并将对该第三SRv6报文进行处理,比如若本设备为第二SRv6转发路径上的中转节点,将该第三SRv6报文转发至第二SRv6转发路径上的下一节点,若本设备为第二SRv6转发路径上的尾节点,则在生成第二映射关系后,可以结束该第三SRv6报文的转发。
其中,第三SRv6报文的具体转发过程可以参照下文中结合图7所描述的用于生成映射关系的SRv6报文转发的实施例,这里暂不赘述。
至此,完成图8所示流程。
通过图8所示的流程可以看出,本实施例中在本设备为本设备上的任一第一SRv6转发路径上的中转节点或者尾节点时,可以通过接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文,基于所述第三SRv6报文生成所述第二映射关系,使该第二SRv6转发路径上的各节点都保存了第二PSID和该第二SRv6转发路径的第二段列表之间的第二映射关系。
基于上述图8所示流程在第二SRv6转发路径上的源节点、中转节点和尾节点上生成上述第二映射关系,本申请实施例所提供的报文转发方法中报文转发的流程可以参照图9所示流程。作为一个实施例,图9所示的流程可以应用于图3和图4所示流程所应用的网络设备,该网络设备为任一第二SRv6转发路径上的中转节点或者尾节点。
如图9所示,该流程可以包括以下步骤:
步骤901,当接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID。
作为一个实施例,第四SRv6报文可以是由该第二SRv6转发路径上的源节点参照如图4所示的方法,基于第二SRv6转发路径对应的第二PSID对该源节点接收到的第二原始报文进行封装然后转发至本设备的,该第四SRv6报文可以参照图10所示的报文格式。
在具体实现时,本网络设备可以通过检测接收到的SRv6报文的Flags字段中是否携带用于指示第二PSID位于段列表字段中的第三标识,比如可以通过检测到该SRv6报文SRH中的Flags字段中Flags.P的值是否为1,来确定接收到的SRv6报文是否为第四SRv6报文,进而在确定接收到的SRv6报文为第四SRv6报文时,可以根据该第三标识,从所述第四SRv6报文中携带的段列表字段中获取所述第二PSID。
步骤902,从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。
在本申请实施例中,若本设备为第二SRv6转发路径上的中转节点,则会将该第四SRv6报文转发到第二SRv6转发路径上的下一个节点,若本设备为第二SRv6转发路径上的尾节点,则将对该第三SRv6报文进行解封装得到第二原始报文,按照第二原始报文所携带的目的地址转发该第二原始报文。
其中,该第四SRv6报文的具体转发过程可参照下文中结合图11所描述的使用PSID转发SRv6报文实现转发原始报文的实施例,这里暂不赘述。
至此,完成图9所示流程。
通过图9所示的流程可以看出,本申请实施例中,在本设备为任一第二SRv6转发路径上的中转节点或者尾节点时,可以通过接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID,从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。由于本申请实施例中无论SRv6转发路径中的节点数目是多少,用于标识SRv6转发路径的PSID是不变的,所以通过使用PSID转发SRv6报文,可以避免由于SRv6转发路径中节点太多所导致的报文转发的效率下降。
下面将结合图7所示的流程示意图,对上述实施例中按照SRv6转发逻辑转发用于生成映射关系的SRv6报文的过程进行描述:
需要说明的是,图7所示的设备A~设备F都是支持SRv6技术的网络设备,设备A上配置了用于将使用SRv6转发路径转发的原始报文封装为SRv6报文的SRv6封装源地址(SRv6encapsulation source-address),设备B~设备F上配置了用于标识SRv6节点的SID为10::X:1:0(X为设备名,比如设备B的SID为10::B:1:0),如图7所示,当在设备A上配置一条经过设备B~设备E,最终到设备F的SRv6转发路径(记为目标SRv6转发路径)时,设备A首先需要获取一个用于标识目标SRv6转发路径的目标PSID:10::A:A:0,该目标PSID的获取过程可以参照图3所示实施例中第一PSID的获取方式。
设备A在获取了目标PSID后,将生成该目标PSID和该目标段列表之间的目标映射关系,并依据目标PSID和目标SRv6转发路径上的目标段列表生成用于指示设备B~设备F生成目标映射关系的SRv6报文N0。其中,报文N0的格式可以参照上述实施例中第一SRv6报文的格式,本实施例中以参照图6所示的报文格式为例。该报文N0的IPv6 Header字段中的SA字段为目标PSID,DA字段为目标SRv6转发路径上的下一个节点设备B的SID;其SRH中SL字段的值为4,并携带了用于指示上述目标PSID位于报文N0的SA字段的第二标识Flags.S,该Flags.S的值为1,SRH中Segment List字段中则存放了目标SRv6转发路径的目标段列表。
进一步的,设备A会将生成的报文N0发送到设备B,设备B可以依据报文N0中携带的DA字段的值为设备B的SID,以及Flags.S的值为1,确定报文N0需要设备B按照SRv6的转发逻辑进行转发,且报文N0用于指示本设备从报文N0的SA字段中获取目标PSID,生成目标PSID和Segment List字段中的目标段列表之间的映射关系。
设备B可以通过在本地创建一个本地映射表以记录目标PSID和上述目标段列表之间的映射关系,该本地映射表的格式可以参照图7中设备B下面展示的映射表1。
在记录目标PSID和目标段列表之间的映射关系至映射表1之后,按照SRv6的转发逻辑,设备B可以根据报文N0中携带的SL的值为4,确定设备B为中转节点设备,将报文N0中SL的值修改为当前SL的值减1后得到的值,即将报文N0中SL的值从4修改为3,进而设备B可以依据修改后的SL的值(SL=3)从报文N0的Segment List字段中携带的段列表中查找到下一个节点设备的SID:10::C:1:0,将报文N0的DA字段保存的SID(10::B:1:0)修改为当前SL所指示的SID(10::C:1:0),修改后所得到的报文如图7所示的报文N1,设备B将依据报文N1中封装的DA将报文N1查路由转发至设备C。
本实施例中设备C,在接收到报文N1后,将依据接收到的报文N1,参照设备B接收到报文N0后的执行的内容,生成目标PSID和目标段列表之间的映射关系,并记录到映射表2,进而按照设备B对报文N0的处理方式对报文N1进行处理,以得到报文N2,并将报文N2转发至设备D。以及设备D和设备E也可以依据接收到的报文,生成目标PSID和目标段列表之间的映射关系,并将该映射关系分别记录到映射表3和映射表4,并依据报文N2和报文N3中携带的SL的值,确定设备D和设备E为中转节点设备,设备D可以按照与设备B相同的步骤处理设备C发送过来的报文N2,设备E可以按照设备B相同的步骤处理设备D发送过来的报文N3,这里不再赘述。
在上述设备E处理报文N3得到报文N4,并将报文N4转发至设备F之后,设备F在根据接收到的报文N4,生成目标PSID和目标段列表之间的映射关系,并记录到映射表5之后,可以依据报文N4携带的SL的值(SL=0),确定设备F为目标SRv6转发路径上的尾节点,则设备F可以在生成映射表5之后,结束报文N4的转发。上述报文N1~报文N5的格式可参照上述实施例中的第二SRv6报文的格式。
至此,完成用于生成映射关系的SRv6报文在目标SRv6转发路径上的转发过程。通过上述用于生成映射关系的SRv6报文的转发过程,可以使目标SRv6转发路径上的各节点都生成目标PSID和目标段列表之间的映射关系。
需要说明的是,图7所示流程中设备A是从设备被分配的IPv6网段中选择一个未被使用的IPv6地址作为目标PSID,如果设备A通过上述图3所示流程的描述中向控制器申请目标PSID,这时用于生成映射关系的SRv6报文的转发过程与图7所示流程类似,这里不再赘述。
下面将结合图11所示的流程示意图,对本申请实施例中按照SRv6转发逻辑,使用PSID转发SRv6报文实现转发原始报文的过程进行描述:
需要说明的是,图11所示的设备A~设备F都是支持SRv6技术的网络设备,设备A上配置了用于将使用SRv6转发路径转发的原始报文封装为SRv6报文的SRv6封装源地址(SRv6encapsulation source-address),设备B~设备F上配置了用于标识SRv6节点的SID为10::X:1:0(X为设备名,比如设备B的SID为10::B:1:0),设备A上配置一条经过设备B~设备E,最终到设备F的SRv6转发路径(记为目标SRv6转发路径)。在设备A使用目标SRv6转发路径转发报文的过程中,设备A为源节点设备,设备B~设备E为中转节点设备,设备F为尾节点设备,以及设备A~设备F上记录了目标PSID:10::A:A:0与目标SRv6转发路径上的目标段列表之间的目标映射关系,使用PSID转发的SRv6报文的转发过程如下:
如图11所示,当确定设备A接收到的原始报文K0通过目标SRv6转发路径进行转发时,接收到原始报文K0的设备A作为源节点,在转发原始报文K0之前,需要先对原始报文K0进行SRv6封装。
本实施例中对原始报文K0封装后得到的报文K1的格式可以参照上述实施例中第三SRv6报文的格式,该报文K1的SA字段为设备A的SRv6封装源地址,DA字段为目标SRv6转发路径上的下一个节点设备B的SID;报文K1的SRH字段中SL的值为4,并携带了用于指示上述目标PSID位于报文K1的Segment List字段的第三标识Flags.P,该Flags.P的值为1。
进一步的,设备A会将报文K1发送到设备B,设备B可以依据报文K1中携带的DA字段的值为设备B的SID,以及Flags.P的值为1,确定报文K1需要设备B按照SRv6的转发逻辑以及使用报文K1中携带的目标PSID进行转发。
为了转发报文K1,设备B首先需要根据报文K1中Flags.P从Segment List字段获取目标PSID,根据目标PSID从上述记录目标PSID和目标段列表之间的目标映射关系的映射表1中查找到目标段列表。
进而按照SRv6的转发逻辑,设备B可以根据报文K1中携带的SL的值为4,确定设备B为中转节点设备,将报文K1中SL的值修改为当前SL的值减1后得到的值,即将报文K1中SL的值从4修改为3,进而设备B可以依据修改后的SL的值(SL=3)从映射表1中记录的目标段列表中查找到下一个节点设备的SID为10::C:1:0,将报文K1的DA字段保存的SID(10::B:1:0)修改为当前SL所指示的SID(10::C:1:0),修改后所得到的报文如图9所示的报文K2,设备B将依据报文K2中封装的DA将报文K2查路由转发至设备C。
本实施例中设备C,在接收到报文K2后,将依据接收到的报文K2,参照设备B接收到报文K1后的转发过程,依据报文K2中携带的目标PSID和设备C的映射表2中保存的目标映射关系确定报文K2应转发到的下一个节点设备,并生成如图9所示的报文K3,将报文K3转发至设备D。以及本实施例中设备D和设备E转发携带PSID的SRv6报文的转发逻辑也可参照设备B转发报文K1的转发逻辑,这里不再赘述。
在上述设备E处理报文K4得到报文K5,并将报文K5转发至设备F之后,设备F可以依据报文K5携带的SL的值(SL=0),确定设备F为目标SRv6转发路径上的尾节点,则设备F可以在接收到报文K 5之后,对接收到的报文K5进行SRv6解封装,剥离报文M5携带的IPv6基本头和IPv6段路由头,得到进入SRv6域之前的原始报文K0,并对原始报文K0进行查路由转发。上述报文K1~报文K5的格式可参照上述实施例中的第四SRv6报文的格式。
至此,完成本申请实施例中携带PSID的SRv6报文的转发过程。可以看出,上述携带PSID的SRv6报文的转发过程中,在SRv6转发路径上转发的SRv6报文中不需要携带SRv6转发路径的段列表,进而可以避免SRv6转发路径上节点过多导致SRv6报文的转发速率下降。
以上对本申请实施例提供的方法进行了描述。下面对本申请实施例提供的装置进行描述:
参见图12,图12为本申请实施例提供的一种实现报文转发的装置示意图,该装置应用于网络设备。该装置包括:
第一映射关系生成单元1201,用于若本设备为本设备上的任一第一SRv6转发路径上的源节点,获取用于标识所述第一SRv6转发路径的第一路径段标识PSID,生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文,将所述第一SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系。
第二映射关系生成单元1202,若本设备为任一第二SRv6转发路径上中转节点或者尾节点,接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文,并基于所述第三SRv6报文生成所述第二映射关系。
可选的,所述第二映射关系生成单元1202通过以下方式获取用于标识所述第一SRv6转发路径的第一PSID:
从被分配的IPv6网段中选择一个未被使用的IPv6地址,将所述IPv6地址确定为用于标识所述第一SRV6转发路径的第一PSID;
或者,向控制器发送用于申请用于标识所述第一SRv6转发路径的第一PSID的请求,并接收所述控制器针对该请求返回的响应,将该响应中携带的第一PSID确定为所述第一SRv6转发路径的第一PSID。
可选的,所述第二映射关系生成单元1202基于所述第三SRv6报文生成所述第二映射关系包括:
根据所述第三SRv6报文的段路由头SRH中的标志Flags字段携带的用于指示第二PSID位于有效载荷Payload字段中的第一标识,从所述第三SRv6报文的Payload字段中获取所述第二PSID,生成所述第二PSID与所述第三SRv6报文中携带的段列表字段中的段列表之间的第二映射关系。
可选的,所述第二映射关系生成单元1202基于所述第三SRv6报文生成所述第二映射关系包括:
根据所述第三SRv6报文的SRH中Flags字段携带的用于指示第二PSID位于源地址SA字段中的第二标识,从所述第三SRv6报文的SA字段中获取所述第二PSID,生成所述第二路径PSID与所述第三SRv6报文中携带的段列表字段中的段列表之间的第二映射关系。
第一报文处理单元1203,用于当接收到需要使用该第一SRv6转发路径转发的第一原始报文时,基于第一原始报文生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,所述第二SRv6报文中携带的段列表为所述第一PSID,并将所述第二SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点根据所述第二SRv6报文中携带的第一PSID,从所述第一映射关系中查找所述第一PSID对应的第一段列表,并依据查找到的第一段列表对所述第二SRv6报文进行处理。
第二报文处理单元1204,用于当接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID,并从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。
可选的,所述第二报文转发单元1204从所述第四SRv6报文中获取所述第二PSID,包括:
根据所述第四SRv6报文的SRH中的Flags字段携带的用于指示第二PSID位于段列表字段中的第三标识,从所述第四SRv6报文中携带的段列表字段中获取所述第二PSID。
至此,完成图12所示装置实施例的结构图。
对应地,本申请实施例还提供了一种电子设备的硬件结构图,具体如图13所示,该电子设备可以为上述实施报文转发方法的设备。如图13所示,该硬件结构包括:处理器和存储器。
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所示的所对应的报文转发的方法实施例。
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图13所示电子设备的描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种报文转发方法,其特征在于,应用于网络设备,该方法包括:
若本设备为本设备上的任一第一SRv6转发路径上的源节点,获取用于标识所述第一SRv6转发路径的第一路径段标识PSID,生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文,将所述第一SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系;
当接收到需要使用该第一SRv6转发路径转发的第一原始报文时,基于第一原始报文生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,所述第二SRv6报文中携带的段列表为所述第一PSID,并将所述第二SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点根据所述第二SRv6报文中携带的第一PSID,从所述第一映射关系中查找所述第一PSID对应的第一段列表,并依据查找到的第一段列表对所述第二SRv6报文进行处理;
若本设备为任一第二SRv6转发路径上中转节点或者尾节点,接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文,并基于所述第三SRv6报文生成所述第二映射关系;
当接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID,并从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。
2.根据权利要求1所述的方法,其特征在于,通过以下方式获取用于标识所述第一SRv6转发路径的第一PSID:
从被分配的IPv6网段中选择一个未被使用的IPv6地址,将所述IPv6地址确定为用于标识所述第一SRV6转发路径的第一PSID;
或者,向控制器发送用于申请用于标识所述第一SRv6转发路径的第一PSID的请求,并接收所述控制器针对该请求返回的响应,将该响应中携带的第一PSID确定为所述第一SRv6转发路径的第一PSID。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第三SRv6报文生成所述第二映射关系包括:
根据所述第三SRv6报文的段路由头SRH中的标志Flags字段携带的用于指示第二PSID位于有效载荷Payload字段中的第一标识,从所述第三SRv6报文的Payload字段中获取所述第二PSID,生成所述第二PSID与所述第三SRv6报文中携带的段列表字段中的段列表之间的第二映射关系。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第三SRv6报文生成所述第二映射关系包括:
根据所述第三SRv6报文的SRH中Flags字段携带的用于指示第二PSID位于源地址SA字段中的第二标识,从所述第三SRv6报文的SA字段中获取所述第二PSID,生成所述第二路径PSID与所述第三SRv6报文中携带的段列表字段中的段列表之间的第二映射关系。
5.根据权利要求1所述的方法,其特征在于,所述从所述第四SRv6报文中获取所述第二PSID,包括:
根据所述第四SRv6报文的SRH中的Flags字段携带的用于指示第二PSID位于段列表字段中的第三标识,从所述第四SRv6报文中携带的段列表字段中获取所述第二PSID。
6.一种报文转发装置,其特征在于,应用于网络设备,该装置包括:
第一映射关系生成单元,用于若本设备为本设备上的任一第一SRv6转发路径上的源节点,获取用于标识所述第一SRv6转发路径的第一路径段标识PSID,生成并记录所述第一PSID和所述第一SRv6转发路径的第一段列表之间的第一映射关系,生成携带有第一PSID的用于指示所述第一SRv6转发路径上中转节点和尾节点生成所述第一映射关系的第一SRv6报文,将所述第一SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点基于所述第一SRv6报文生成所述第一映射关系;
第二映射关系生成单元,用于若本设备为任一第二SRv6转发路径上中转节点或者尾节点,接收该第二SRv6转发路径上的其他网络设备转发的用于指示本设备生成第二PSID和所述第二SRv6转发路径的第二段列表之间的第二映射关系的第三SRv6报文,并基于所述第三SRv6报文生成所述第二映射关系;
第一报文处理单元,用于若本设备为本设备上的任一第一SRv6转发路径上的源节点,当接收到需要使用该第一SRv6转发路径转发的第一原始报文时,基于第一原始报文生成用于指示该中转节点和尾节点使用第一PSID转发SRv6报文的第二SRv6报文,所述第二SRv6报文中携带的段列表为所述第一PSID,并将所述第二SRv6报文转发至该中转节点和尾节点,以使该中转节点和尾节点根据所述第二SRv6报文中携带的第一PSID,从所述第一映射关系中查找所述第一PSID对应的第一段列表,并依据查找到的第一段列表对所述第二SRv6报文进行处理;
第二报文处理单元,用于若本设备为任一第二SRv6转发路径上中转节点或者尾节点,当接收到用于指示本设备使用第二PSID转发的第四SRv6报文时,从所述第四SRv6报文中获取所述第二PSID,并从所述第二映射关系中查找对应的第二段列表,依据查找到的第二段列表对所述第四SRv6报文进行处理。
7.根据权利要求6所述的装置,其特征在于,所述第二映射关系生成单元基于所述第三SRv6报文生成所述第二映射关系包括:
根据所述第三SRv6报文的段路由头SRH中的标志Flags字段携带的用于指示第二PSID位于有效载荷Payload字段中的第一标识,从所述第三SRv6报文的Payload字段中获取所述第二PSID,生成所述第二PSID与所述第三SRv6报文中携带的段列表字段中的段列表之间的第二映射关系。
8.根据权利要求6所述的装置,其特征在于,所述第二映射关系生成单元基于所述第三SRv6报文生成所述第二映射关系包括:
根据所述第三SRv6报文的SRH中Flags字段携带的用于指示第二PSID位于源地址SA字段中的第二标识,从所述第三SRv6报文的SA字段中获取所述第二PSID,生成所述第二路径PSID与所述第三SRv6报文中携带的段列表字段中的段列表之间的第二映射关系。
9.根据权利要求6所述的装置,其特征在于,所述第二报文处理单元从所述第四SRv6报文中获取所述第二PSID,包括:
根据所述第四SRv6报文的SRH中的Flags字段携带的用于指示第二PSID位于段列表字段中的第三标识,从所述第四SRv6报文中携带的段列表字段中获取所述第二PSID。
10.一种电子设备,其特征在于,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1到5任一项所述的方法。
CN202110736381.XA 2021-06-30 2021-06-30 一种报文转发方法、装置及设备 Pending CN113411259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110736381.XA CN113411259A (zh) 2021-06-30 2021-06-30 一种报文转发方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110736381.XA CN113411259A (zh) 2021-06-30 2021-06-30 一种报文转发方法、装置及设备

Publications (1)

Publication Number Publication Date
CN113411259A true CN113411259A (zh) 2021-09-17

Family

ID=77680551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110736381.XA Pending CN113411259A (zh) 2021-06-30 2021-06-30 一种报文转发方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113411259A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285907A (zh) * 2021-12-03 2022-04-05 中国联合网络通信集团有限公司 数据传输方法、装置、电子设备及存储介质
WO2023124427A1 (zh) * 2021-12-27 2023-07-06 中兴通讯股份有限公司 一种数据处理方法、网络节点和计算机可读存储介质
CN116915685A (zh) * 2023-09-06 2023-10-20 新华三技术有限公司 报文传输方法、装置及电子设备
CN117896177A (zh) * 2024-03-12 2024-04-16 明阳产业技术研究院(沈阳)有限公司 一种基于IPv6密码标识的SRv6通信方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871721A (zh) * 2015-01-19 2016-08-17 中兴通讯股份有限公司 一种段路由处理方法、处理装置及发送装置
CN105900380A (zh) * 2014-01-20 2016-08-24 华为技术有限公司 基于协同网络控制器的多域源路由转发
CN105991437A (zh) * 2015-02-16 2016-10-05 中兴通讯股份有限公司 报文转发处理方法、装置、控制器及路由转发设备
WO2017016254A1 (zh) * 2015-07-30 2017-02-02 中兴通讯股份有限公司 Ipv6报文封装的处理方法和装置
CN111541613A (zh) * 2020-04-27 2020-08-14 鹏城实验室 一种基于SRv6的数据处理方法及相关设备
CN111683011A (zh) * 2019-03-11 2020-09-18 华为技术有限公司 报文处理方法、装置、设备及系统
CN112187649A (zh) * 2019-07-01 2021-01-05 华为技术有限公司 一种报文转发方法、报文处理方法及装置
CN112511428A (zh) * 2020-03-10 2021-03-16 中兴通讯股份有限公司 报文封装方法、报文转发方法、通告方法、电子设备、和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105900380A (zh) * 2014-01-20 2016-08-24 华为技术有限公司 基于协同网络控制器的多域源路由转发
CN105871721A (zh) * 2015-01-19 2016-08-17 中兴通讯股份有限公司 一种段路由处理方法、处理装置及发送装置
CN105991437A (zh) * 2015-02-16 2016-10-05 中兴通讯股份有限公司 报文转发处理方法、装置、控制器及路由转发设备
WO2017016254A1 (zh) * 2015-07-30 2017-02-02 中兴通讯股份有限公司 Ipv6报文封装的处理方法和装置
CN111683011A (zh) * 2019-03-11 2020-09-18 华为技术有限公司 报文处理方法、装置、设备及系统
CN112187649A (zh) * 2019-07-01 2021-01-05 华为技术有限公司 一种报文转发方法、报文处理方法及装置
WO2021000848A1 (zh) * 2019-07-01 2021-01-07 华为技术有限公司 一种报文转发方法、报文处理方法及装置
CN112511428A (zh) * 2020-03-10 2021-03-16 中兴通讯股份有限公司 报文封装方法、报文转发方法、通告方法、电子设备、和存储介质
CN111541613A (zh) * 2020-04-27 2020-08-14 鹏城实验室 一种基于SRv6的数据处理方法及相关设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285907A (zh) * 2021-12-03 2022-04-05 中国联合网络通信集团有限公司 数据传输方法、装置、电子设备及存储介质
WO2023124427A1 (zh) * 2021-12-27 2023-07-06 中兴通讯股份有限公司 一种数据处理方法、网络节点和计算机可读存储介质
CN116915685A (zh) * 2023-09-06 2023-10-20 新华三技术有限公司 报文传输方法、装置及电子设备
CN116915685B (zh) * 2023-09-06 2023-12-12 新华三技术有限公司 报文传输方法、装置及电子设备
CN117896177A (zh) * 2024-03-12 2024-04-16 明阳产业技术研究院(沈阳)有限公司 一种基于IPv6密码标识的SRv6通信方法及系统
CN117896177B (zh) * 2024-03-12 2024-05-14 明阳产业技术研究院(沈阳)有限公司 一种基于IPv6密码标识的SRv6通信方法及系统

Similar Documents

Publication Publication Date Title
CN113411259A (zh) 一种报文转发方法、装置及设备
CN111628995B (zh) 基于SRv6的SID压缩方法、装置、设备及存储介质
US10892987B2 (en) Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies
EP3780517B1 (en) Method and apparatus for processing multicast data packet
US7768918B2 (en) Method for expanding the service VLAN space of a provider network
EP3716583A1 (en) Ipv6 stateless address auto-configuration
WO2021057683A1 (zh) 一种报文处理方法及装置
EP3742685A1 (en) Packet processing method and device
CN109412927B (zh) 一种多vpn数据传输方法、装置及网络设备
CN109347740B (zh) 报文转发方法和装置
CN112787927B (zh) 一种分段路由报文转发方法、装置及预设逻辑电路单元
CN102984288A (zh) 一种自动管理IPv6地址冲突的方法及系统
JP2023515112A (ja) パケット送信方法、デバイス、およびシステム
CN108600074A (zh) 组播数据报文的转发方法及装置
WO2021227746A1 (zh) 发送和转发报文的方法、头节点、转发节点、存储介质
CN115362661B (zh) 对用于分段路由的具有不同大小的分段进行混合
CN108600099A (zh) 一种报文转发方法、装置及Leaf设备
CN104243631A (zh) 一种IPv4地址与IPv6地址有状态转换的方法及设备
CN111131021A (zh) 双向转发检测bfd报文的转发方法和网络设备
CN108199968A (zh) 路由处理方法及装置
CN107070719B (zh) 一种设备管理方法和装置
CN114095460A (zh) 一种报文广播方法及设备
CN115398869A (zh) 最小化用于分段路由的分段标识符中的差异
CN107547389B (zh) 网络接入方法、装置及机器可读存储介质
KR20230144062A (ko) 패킷 포워딩 방법, 장치 및 시스템

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210917