CN113765789A - 信息处理方法、节点及计算机可读存储介质 - Google Patents
信息处理方法、节点及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113765789A CN113765789A CN202010500081.7A CN202010500081A CN113765789A CN 113765789 A CN113765789 A CN 113765789A CN 202010500081 A CN202010500081 A CN 202010500081A CN 113765789 A CN113765789 A CN 113765789A
- Authority
- CN
- China
- Prior art keywords
- segment
- node
- local index
- container
- identifier
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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/32—Flooding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种信息处理方法、节点及计算机可读存储介质。其中,信息处理方法包括:第一节点构建第一段标识信息,第一段标识信息包括与相应的第一分段的段类型对应的第一容器段标识和与相应的第一分段对应的第一本地索引;第一节点泛洪第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用第一容器段标识和第一本地索引建立第一段标识列表。本发明实施例中,当节点进行段标识分配时,对每一种段类型分别分配一个第一容器段标识,并对属于同一段类型的各个第一分段分别分配一个第一本地索引,因此,仅需使用较少的段标识资源即可实现对大量第一分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。
Description
技术领域
本发明实施例涉及但不限于通信技术领域,尤其涉及一种信息处理方法、节点及计算机可读存储介质。
背景技术
分段路由(Segment Routing,SR)技术是一种基于源节点进行路由的方法,这种方法能够仅通过在源节点上维护每个流的状态,就能强制一个流通过任意路径与服务链,中间节点与尾节点都不需要维护流的状态。分段路由能应用于IPv6数据平面,被称之为SRv6。在相关技术中,当分段路由应用于IPv6数据平面时,数据报文外会叠加一层有序的段标识(Segment Identifier,SID)列表,该段标识列表由IPv6地址构成,并且包含于分段路由头(Segment Routing Header,SRH)中。当该段标识列表很长时,会导致报文具有很长的分段路由头,从而会严重降低报文的载荷效率。为了解决上述问题,相关技术中采用了压缩SRH的方法,使得段标识列表中的IPv6地址的长度从128比特压缩为32比特或者16比特。
不论采用哪种长度的IPv6地址构成段标识列表,段标识列表中的每一个IPv6地址都与转发路径中的相关分段相对应。针对某一转发路径,如果该转发路径中的某一节点包括有大量的分段,则该节点需要使用大量的段标识为每一个分段分配对应的段标识,这将会导致段标识资源的紧缺,特别的,这种段标识资源紧缺的现象,在采用了压缩SRH的方法的情况下尤为明显。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种信息处理方法、节点及计算机可读存储介质,能够在一定程度上解决段标识资源紧缺的问题。
第一方面,本发明实施例提供了一种信息处理方法,包括:
第一节点构建第一段标识信息,所述第一段标识信息包括与相应的第一分段的段类型对应的第一容器段标识和与所述相应的第一分段对应的第一本地索引;
第一节点泛洪所述第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用所述第一段标识信息中的所述第一容器段标识和所述第一本地索引建立第一段标识列表。
第二方面,本发明实施例还提供了一种信息处理方法,包括:
第二节点接收来自第一节点的基于段标识列表构建的IPv6报文,其中,所述段标识列表包括与第二节点中相应的第二分段对应的第二段标识信息,所述第二段标识信息包括与所述相应的第二分段的段类型对应的第二容器段标识和与所述相应的第二分段对应的第二本地索引,所述IPv6报文包括携带有所述第二容器段标识的目的地址字段;
第二节点根据所述第二本地索引和所述目的地址字段中的所述第二容器段标识确定下一路由出口;
第二节点根据所述下一路由出口处理所述IPv6报文。
第三方面,本发明实施例还提供了一种节点,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述第一方面的信息处理方法或者实现如上所述第二方面的信息处理方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述的信息处理方法。
本发明实施例包括:第一节点构建第一段标识信息,第一段标识信息包括与相应的第一分段的段类型对应的第一容器段标识和与相应的第一分段对应的第一本地索引;第一节点泛洪第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用第一段标识信息中的第一容器段标识和第一本地索引建立第一段标识列表。根据本发明实施例提供的方案,第一节点通过构建包括有第一容器段标识和第一本地索引的第一段标识信息,对归属于其的第一分段进行段标识分配,其中,第一容器段标识与该第一分段的段类型对应,第一本地索引与该第一分段对应,并且,第一节点还泛洪该第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用该第一容器段标识和该第一本地索引建立第一段标识列表,即,在网络中,第一容器段标识与第一本地索引的结合能够表征第一分段,并且第一容器段标识与第一本地索引的结合能够用于路由选择,所以,当第一节点采用第一容器段标识与第一本地索引的结合而对各个具体的第一分段进行段标识分配时,仅需使用较少的段标识资源即可实现对大量的第一分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的用于执行信息处理方法的网络拓扑的示意图;
图2是本发明一个实施例提供的信息处理方法的流程图;
图3A是本发明一个实施例提供的携带有第一容器段标识的sub-TLV结构的示意图;
图3B是本发明一个实施例提供的携带有第一本地索引的sub-TLV结构的示意图;
图3C是本发明另一实施例提供的携带有第一本地索引的sub-TLV结构的示意图;
图4A是本发明另一实施例提供的携带有第一容器段标识的sub-TLV结构的示意图;
图4B是本发明另一实施例提供的携带有第一本地索引的sub-TLV结构的示意图;
图4C是本发明另一实施例提供的携带有第一本地索引的sub-TLV结构的示意图;
图5A是本发明另一实施例提供的携带有第一容器段标识的sub-TLV结构的示意图;
图5B是本发明另一实施例提供的携带有第一本地索引的sub-sub-TLV结构的示意图;
图6A是本发明另一实施例提供的携带有第一本地索引的TLV结构的示意图;
图6B是本发明另一实施例提供的携带有第一本地索引的TLV结构的示意图;
图6C是本发明一个实施例提供的携带有绑定段标识信息的TLV结构的示意图;
图7是本发明一个实施例提供的携带有第一本地索引的sub-TLV结构的示意图;
图8是本发明另一实施例提供的信息处理方法的流程图;
图9是本发明另一实施例提供的信息处理方法的流程图;
图10是本发明另一实施例提供的信息处理方法的流程图;
图11是本发明另一实施例提供的信息处理方法的流程图;
图12是本发明另一实施例提供的信息处理方法的流程图;
图13是本发明另一实施例提供的信息处理方法的流程图;
图14是本发明另一实施例提供的信息处理方法的流程图;
图15是本发明另一实施例提供的用于执行信息处理方法的网络拓扑的示意图;
图16A是本发明一个实施例提供的SRH的封装格式的示意图;
图16B是本发明另一实施例提供的SRH的封装格式的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明提供了一种信息处理方法、节点及计算机可读存储介质,第一节点通过构建包括有第一容器段标识和第一本地索引的第一段标识信息,对归属于其的第一分段进行段标识分配,其中,第一容器段标识与该第一分段的段类型对应,第一本地索引与该第一分段对应,并且,第一节点还泛洪该第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用该第一容器段标识和该第一本地索引建立第一段标识列表,即,在网络中,第一容器段标识与第一本地索引的结合能够表征第一分段,并且第一容器段标识与第一本地索引的结合能够用于路由选择,所以,当网络中的节点对归属于该节点的各个具体的第一分段进行段标识分配时,可以对每一种段类型分别分配一个通用的第一容器段标识,并对属于同一段类型的各个具体的第一分段分别分配一个第一本地索引以进行区分,因此,仅需使用较少的段标识资源(即第一容器段标识)即可实现对大量的第一分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一个实施例提供的用于执行信息处理方法的网络拓扑的示意图。在图1的示例中,该网络拓扑包括依次连接的第一节点110、第二节点120和第三节点130,此外,该网络拓扑还包括分别与第一节点110、第二节点120和第三节点130连接的网络控制器100。第一节点110、第二节点120和第三节点130可以是路由器或者交换机等网络设备,能够对报文进行转发;网络控制器可以为软件定义网络(Software DefinedNetwork,SDN)控制器等,能够分别对第一节点110、第二节点120和第三节点130进行控制。此外,第一节点110、第二节点120和第三节点130可以处于同一个SRv6域,也可以处于不同的SRv6域。
第一节点110、第二节点120、第三节点130和网络控制器100,分别包括有存储器和处理器,其中,存储器和处理器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例描述的网络拓扑以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着网络拓扑的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的各个节点及拓扑结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的网络拓扑中,各个节点可以分别调用其储存的信息处理程序,以执行信息处理方法;或者,网络控制器可以调用其储存的信息处理程序,并与各个节点相互配合以执行信息处理方法。
基于上述网络拓扑以及上述网络拓扑中各个节点和网络控制器的结构,提出本发明的信息处理方法的各个实施例。
如图2所示,图2是本发明一个实施例提供的信息处理方法的流程图,该信息处理方法包括但不限于步骤S100和步骤S200。
步骤S100,第一节点构建第一段标识信息,第一段标识信息包括与相应的第一分段的段类型对应的第一容器段标识和与相应的第一分段对应的第一本地索引。
在一实施例中,第一分段可以为归属于第一节点的任何分段,也可以仅为包括有大量成员的段类型所对应的分段,例如属于链路类型的三层链路或者属于业务类型的三层虚拟专用网络(L3 Virtual Private Network,L3VPN)业务等,本实施例对此并不作具体限定。
在一实施例中,第一分段的段类型可以为链路类型、服务功能类型、业务类型或分段路由流量工程策略(SR Policy)类型等,可以根据实际应用情况进行适应的分类,本实施例对此并不作具体限定。
在一实施例中,第一段标识信息用于表征与其对应的第一分段的路由信息。第一段标识信息包括第一容器段标识和第一本地索引,第一容器段标识为与第一分段的段类型对应的段标识,第一本地索引为与具体的第一分段对应的标识,即,一个第一容器段标识与一个第一本地索引的结合表征一个第一分段的段标识。例如,如果第一节点包含有多个三层链路,则第一容器段标识可以为对应于该三层链路类型的全局段标识,而归属于该三层链路类型的各个具体的三层链路,则可以通过与各个具体的三层链路一一对应的第一本地索引进行区分,在这种情况下,第一容器段标识的数量仅为一个,而第一本地索引的数量则与三层链路的数量相一致。值得注意的是,当一个连接链路中可以配置IP地址、支持IP报文的收发、使能内部网关协议(Interior Gateway Protocol,IGP)路由协议,则该连接链路可被称为三层链路。
在一实施例中,第一节点在对归属于其的各个分段进行段标识分配时,可以对每一种段类型分别分配一个通用的第一容器段标识,并对属于同一段类型的各个具体分段分别分配一个第一本地索引以进行区分,因此,仅需使用较少的段标识资源(即第一容器段标识)即可实现对大量的分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。
在一实施例中,第一容器段标识的长度为128比特,并且第一容器段标识与当前SRv6域内的其他段标识具有相同的块信息(Locator Block),因此,第一容器段标识与当前SRv6域内的其他段标识能够采用相关技术中的压缩SRH的方法进行压缩,从而可以被压缩成为32比特或者16比特的长度。
在一实施例中,第一本地索引的长度可以为32比特或者16比特等,可以根据实际应用情况进行适应的选择,本实施例对此并不作具体限定。
步骤S200,第一节点泛洪第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用第一段标识信息中的第一容器段标识和第一本地索引建立第一段标识列表。
在一实施例中,当第一节点构建了对应于第一分段的包括有第一容器段标识和第一本地索引的第一段标识信息后,第一节点可以泛洪该第一段标识信息,当网络中的第二节点或网络控制器接收到该第一段标识信息后,由于第一容器段标识和第一本地索引能够表示一个含义完整的段标识,因此,第二节点或网络控制器可以在建立的第一段标识列表中包含该第一段标识信息中的第一容器段标识和第一本地索引。其中,第二节点的路由表项中包括有路由至第一节点的第一容器段标识的路由信息,所以,当第二节点需要通过第一节点的第一分段而向目的节点发送数据时,第二节点可以构建包括有第一容器段标识和第一本地索引的SRv6报文,使得该SRv6报文能够通过第一节点的第一分段而路由至目的节点。
在一实施例中,通过采用包括有上述步骤S100和步骤S200的信息处理方法,使得网络中的节点在对归属于其的各个具体的第一分段进行段标识分配时,可以对每一种段类型分别分配一个通用的第一容器段标识,并对属于同一段类型的各个具体的第一分段分别分配一个第一本地索引以进行区分,因此,仅需使用较少的段标识资源(即第一容器段标识)即可实现对大量的第一分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。
另外,在一实施例中,步骤S200中的第一节点泛洪第一段标识信息,可以包括但不限于以下步骤:
步骤S210,第一节点泛洪包含有第一容器段标识和第一本地索引的中间系统到中间系统(Intermediate System to Intermediate System,ISIS)报文以泛洪第一段标识信息。
在一实施例中,若当前SRv6网络域中运行有ISIS协议,可以在ISIS报文中设置第一容器段标识和第一本地索引,因此,当泛洪该ISIS报文时,能够把与第一节点中的第一分段对应的第一容器段标识和第一本地索引通告给当前SRv6网络域中的其他节点,以使当前SRv6网络域中的其他节点能够在建立的段标识列表中包含第一容器段标识和第一本地索引。
下面以具体的示例进行说明:
在一示例中,可以在现有ISIS报文结构的SRv6 End SID sub-TLV中的EndpointBehavior字段中,设置有本示例中的第一容器段标识。另外,由于第一本地索引的长度可以为32比特或者16比特等,因此,可以在SRv6 End SID sub-TLV中的Flags字段中新增用于指示第一本地索引的长度的标志位。参照图3A,图3A示例性地给出了携带有第一容器段标识的SRv6 End SID sub-TLV的结构,在该sub-TLV结构中,各主要字段的解释如下:
Endpoint Behavior:用于填充第一容器段标识;
LIL(Local Index Length):用于表示第一本地索引的长度,占2比特,取值如下:
0:表示第一本地索引的长度为128比特;
1:表示第一本地索引的长度为64比特;
2:表示第一本地索引的长度为32比特;
3:表示第一本地索引的长度为16比特。
值得注意的是,该Sub-TLV结构中其它字段的解释,和现有ISIS报文结构中的SRv6End SID sub-TLV所包含的相应字段的解释相同,因此此处不再赘述。
在另一示例中,可以在ISIS报文中新增一个随点到点链路通告携带的SRv6End.XLocal Index sub-TLV以通告第一本地索引,并且,该sub-TLV可以随ISIS协议的TLV22、TLV23、TLV222、TLV223和TLV141中携带。参照图3B,图3B示例性地给出了新增的SRv6End.XLocal Index sub-TLV的结构,在该sub-TLV结构中,各字段的解释如下:
Type:占1字节,用于表示本sub-TLV是SRv6 End.X Local Index sub-TLV;
Length:占1字节,用于表示不包含Type字段和Length字段的本sub-TLV的长度,具体取值根据Local Index字段的长度而变化;
Flags:占1字节,与draft-ietf-lsr-isis-srv6-extensions-08标准文件中的定义一致;
Weight:占1字节,与draft-ietf-lsr-isis-srv6-extensions-08标准文件中的定义一致;
Local Index:用于表示一条三层链路或三层链路集合的第一本地索引,根据该第一本地索引,能够查找到相应的三层链路(或三层链路集合)的出接口与下一跳IP地址信息。值得注意的是,Local Index字段的长度可以是16比特、32比特、64比特或128比特,另外,Local Index字段的长度和与上述LIL字段的取值对应的第一本地索引的长度保持一致。
另外,在另一示例中,还可以在ISIS报文中新增一个随广播链路通告携带的SRv6LAN End.X Local Index sub-TLV以通告第一本地索引,并且,该sub-TLV可以随ISIS协议的TLV22、TLV23、TLV222、TLV223和TLV141中携带。参照图3C,图3C示例性地给出了新增的SRv6LAN End.X Local Index sub-TLV的结构,本sub-TLV结构所具有的字段与上述如图3B所示sub-TLV结构所具有的字段相类似,两者之间的区别在于,本示例中的sub-TLV结构还包括有ISIS System ID字段。针对本示例中的sub-TLV结构的其他字段的相关介绍,可参照上述针对如图3B所示sub-TLV结构所具有的字段的相关介绍,本示例中不再赘述。下面仅针对ISIS System ID字段作出具体介绍:
ISIS System ID:用于表示链路对端节点的ISIS System ID信息。
另外,在一实施例中,步骤S200中的第一节点泛洪第一段标识信息,还可以包括但不限于以下步骤:
步骤S220,第一节点泛洪包含有第一容器段标识和第一本地索引的开放式最短路径优先(Open Shortest Path First Version 3,OSPFv3)报文以泛洪第一段标识信息。
在一实施例中,若当前SRv6网络域中运行有OSPFv3协议,可以在OSPFv3报文中设置第一容器段标识和第一本地索引,因此,当泛洪该OSPFv3报文时,能够把与第一节点中的第一分段对应的第一容器段标识和第一本地索引通告给当前SRv6网络域中的其他节点,以使当前SRv6网络域中的其他节点能够在建立的段标识列表中包含第一容器段标识和第一本地索引。
下面以具体的示例进行说明:
在一示例中,可以在现有OSPFv3报文结构的SRv6 End SID sub-TLV中的EndpointBehavior字段中,设置有本示例中的第一容器段标识。另外,由于第一本地索引的长度可以为32比特或者16比特等,因此,可以在SRv6 End SID sub-TLV中的Flags字段中新增用于指示第一本地索引的长度的标志位。参照图4A,图4A示例性地给出了携带有第一容器段标识的SRv6 End SID sub-TLV的结构,在该sub-TLV结构中,各主要字段的解释如下:
Endpoint Behavior:用于填充第一容器段标识;
LIL(Local Index Length):用于表示第一本地索引的长度,占2比特,取值如下:
0:表示第一本地索引的长度为128比特;
1:表示第一本地索引的长度为64比特;
2:表示第一本地索引的长度为32比特;
3:表示第一本地索引的长度为16比特。
值得注意的是,该Sub-TLV结构中其它字段的解释,和现有ISIS报文结构中的SRv6End SID sub-TLV所包含的相应字段的解释相同,因此此处不再赘述。
在另一示例中,可以在OSPFv3报文中新增一个随点到点链路通告携带的SRv6End.X Local Index sub-TLV以通告第一本地索引,并且,该sub-TLV可以随OSPFv3协议的E-Router-Link TLV中携带。参照图4B,图4B示例性地给出了新增的SRv6End.X LocalIndex sub-TLV的结构,在该sub-TLV结构中,各字段的解释如下:
Type:占2字节,用于表示本sub-TLV是SRv6 End.X Local Index sub-TLV;
Length:占2字节,用于表示不包含Type字段和Length字段的本sub-TLV的长度,具体取值根据Local Index字段的长度而变化;
Flags:占1字节,与draft-ietf-lsr-ospfv3-srv6-extensions-00标准文件中的定义一致;
Weight:占1字节,与draft-ietf-lsr-ospfv3-srv6-extensions-00标准文件中的定义一致;
Reserved:保留字段;
Local Index:用于表示一条三层链路或三层链路集合的第一本地索引,根据该第一本地索引,能够查找到相应的三层链路(或三层链路集合)的出接口与下一跳IP地址信息。值得注意的是,Local Index字段的长度可以是16比特、32比特、64比特或128比特,另外,Local Index字段的长度和与上述LIL字段的取值对应的第一本地索引的长度保持一致。
另外,在另一示例中,还可以在OSPFv3报文中新增一个随广播链路通告携带的SRv6LAN End.X Local Index sub-TLV以通告第一本地索引,并且,该sub-TLV可以随OSPFv3协议的E-Router-Link TLV中携带。参照图4C,图4C示例性地给出了新增的SRv6 LANEnd.X Local Index sub-TLV的结构,本sub-TLV结构所具有的字段与上述如图4B所示sub-TLV结构所具有的字段相类似,两者之间的区别在于,本示例中的sub-TLV结构还包括有OSPFv3Router-ID字段。针对本示例中的sub-TLV结构的其他字段的相关介绍,可参照上述针对如图4B所示sub-TLV结构所具有的字段的相关介绍,本示例中不再赘述。下面仅针对OSPFv3Router-ID字段作出具体介绍:
OSPFv3 Router-ID:用于表示链路对端节点的OSPFv3 Router-ID信息。
另外,在一实施例中,步骤S200中的第一节点泛洪第一段标识信息,还可以包括但不限于以下步骤:
步骤S230,第一节点泛洪包含有第一容器段标识和第一本地索引的边界网关协议(Border Gateway Protocol,BGP)报文以泛洪第一段标识信息。
在一实施例中,若第一节点为当前SRv6网络域中的边界节点,那么,第一节点可以在BGP报文中设置第一容器段标识和第一本地索引,然后,第一节点在向与第一节点相邻的并处于相邻SRv6网络域中的第二节点泛洪该BGP报文时,能够把与第一节点中的第一分段对应的第一容器段标识和第一本地索引通告给第二节点,以使第二节点能够在进行路径计算的过程中利用第一容器段标识和第一本地索引建立第一段标识列表。
下面以具体的示例进行说明:
在一示例中,可以在现有BGP报文结构的SRv6 SID Information sub-TLV中的Endpoint Behavior字段中,设置有本示例中的第一容器段标识。另外,由于第一本地索引的长度可以为32比特或者16比特等,因此,可以在SRv6 SID Information sub-TLV中的Flags字段中新增用于指示第一本地索引的长度的标志位。参照图5A,图5A示例性地给出了携带有第一容器段标识的SRv6 SID Information sub-TLV的结构,在该sub-TLV结构中,各主要字段的解释如下:
Endpoint Behavior:用于填充第一容器段标识;
LIL(Local Index Length):用于表示第一本地索引的长度,占2比特,取值如下:
0:表示第一本地索引的长度为128比特;
1:表示第一本地索引的长度为64比特;
2:表示第一本地索引的长度为32比特;
3:表示第一本地索引的长度为16比特。
值得注意的是,该Sub-TLV结构中其它字段的解释,和现有BGP报文结构中的SRv6SID Information sub-TLV所包含的相应字段的解释相同,因此此处不再赘述。
在另一示例中,可以在BGP报文中新增一个随上述SRv6 SID Information sub-TLV携带的SRv6 Service Local Index sub-sub-TLV以通告第一本地索引。参照图5B,图5B示例性地给出了新增的SRv6 Service Local Index sub-sub-TLV的结构,在该sub-sub-TLV结构中,各字段的解释如下:
Type:占1字节,用于表示本sub-sub-TLV是SRv6 Service Local Index sub-sub-TLV;
Length:占2字节,用于表示不包含Type字段和Length字段的本sub-sub-TLV的长度,具体取值根据Local Index字段的长度而变化;
Local Index:用于表示节点内部相应的L3VPN业务路由路径或以太网虚拟专用网络(Ethernet Virtual Private Network,EVPN)业务路由路径的第一本地索引,根据该第一本地索引,能够定位到相应的L3VPN业务路由路径或EVPN业务路由路径。值得注意的是,Local Index字段的长度可以是16比特、32比特、64比特或128比特,另外,Local Index字段的长度和与上述LIL字段的取值对应的第一本地索引的长度保持一致。
另外,在一实施例中,该信息处理方法还可以包括但不限于以下步骤:
步骤S300,第一节点向网络控制器发送包含有第一容器段标识和第一本地索引的边界网关协议链路状态(Border Gateway Protocol Link-State,BGP-LS)报文以上报第一段标识信息。
在一实施例中,第一节点可以通过发送包含有第一容器段标识和第一本地索引的BGP-LS报文以向网络控制器上报第一段标识信息,另外,当第一节点向网络控制器发送BGP-LS报文时,还会向网络控制器上报与第一节点相关的SRv6信息。当网络控制器接收到由第一节点上报的信息后,会对第一节点进行管理及控制。
下面以具体的示例进行说明:
在一示例中,可以在现有BGP-LS报文结构的SRv6 Endpoint Behavior TLV中的Endpoint Behavior字段中,设置有本示例中的第一容器段标识。另外,由于第一本地索引的长度可以为32比特或者16比特等,因此,可以在SRv6 Endpoint Behavior TLV中的Flags字段中新增用于指示第一本地索引的长度的LIL标志位。
值得注意的是,本示例中涉及到的关于Endpoint Behavior字段的设置内容和LIL标志位的设置数值的相关介绍,与上述图4A所示实施例的sub-TLV结构中对于EndpointBehavior字段的设置内容和LIL标志位的设置数值的相关介绍相类似,区别仅在于所承载的对象不同,本示例中的承载对象为BGP-LS报文,而上述图4A所示实施例的sub-TLV结构的承载对象为OSPFv3报文,因此,针对本示例中关于Endpoint Behavior字段的设置内容和LIL标志位的设置数值的相关介绍,可参照上述图4A所示实施例中关于Endpoint Behavior字段的设置内容和LIL标志位的设置数值的相关介绍,为了避免内容重复,此处不再赘述。
此外,值得注意的是,本示例中SRv6 Endpoint Behavior TLV中其它字段的解释,和现有BGP-LS报文结构中的SRv6 Endpoint Behavior TLV所包含的相应字段的解释相同,因此此处不再赘述。
在另一示例中,可以在BGP-LS报文中新增一个随点到点链路通告携带的SRv6End.X Local Index TLV以向网络控制器上报第一本地索引,并且,该TLV可以随BGP-LS协议的BGP-LS Link NLRI中携带。参照图6A,图6A示例性地给出了新增的SRv6 End.X LocalIndex TLV的结构,在该TLV结构中,各字段的解释如下:
Type:占2字节,用于表示本TLV是SRv6 End.X Local Index TLV;
Length:占2字节,用于表示不包含Type字段和Length字段的本TLV的长度,具体取值根据Local Index字段的长度而变化;
Flags:占1字节,表示标志位;
Weight:占1字节,用于负荷分担;
Reserved:保留字段;
Local Index:用于表示一条三层链路或三层链路集合的第一本地索引。值得注意的是,Local Index字段的长度可以是16比特、32比特、64比特或128比特,另外,LocalIndex字段的长度和与上述LIL字段的取值对应的第一本地索引的长度保持一致。
另外,在另一示例中,还可以在BGP-LS报文中新增一个随广播链路通告携带的SRv6 LAN End.X Local Index TLV以向网络控制器上报第一本地索引,并且,该TLV可以随BGP-LS协议的BGP-LS Link NLRI中携带。参照图6B,图6B示例性地给出了新增的SRv6 LANEnd.X Local Index TLV的结构,本TLV结构所具有的字段与上述如图6A所示TLV结构所具有的字段相类似,两者之间的区别在于,本示例中的TLV结构还包括有BGP-LS Router-ID字段。针对本示例中的TLV结构的其他字段的相关介绍,可参照上述针对如图6A所示TLV结构所具有的字段的相关介绍,本示例中不再赘述。下面仅针对BGP-LS Router-ID字段作出具体介绍:BGP-LS Router-ID:用于表示链路对端节点的BGP-LS Router-ID信息。
此外,在另一示例中,当第一节点通过向网络控制器发送BGP-LS报文以上报第一节点中各个SR Policy的绑定段标识(Binding SID)信息时,可以在SR Binding SID(BSID)TLV的BSID Flags字段中新增一个用于表明Binding SID字段中的值是否为第一本地索引的V标志位。参照图6C,图6C示例性地给出了携带有绑定段标识信息和V标志位的SRBinding SID(BSID)TLV的结构,在该TLV结构中,各主要字段的解释如下:
V:处于BSID Flags字段中,占1比特;当取值为1时,表明Binding SID字段中的值是第一本地索引,需结合上述示例中设置于SRv6 Endpoint Behavior TLV的EndpointBehavior字段中的第一容器段标识,以表示一个含义完整的绑定段标识;当取值为0时,表明Binding SID字段中的值已经是一个含义完整的绑定段标识;
Binding SID:用于填充绑定段标识信息。
值得注意的是,本示例中SR Binding SID(BSID)TLV中其它字段的解释,和现有BGP-LS报文结构中的SR Binding SID(BSID)TLV所包含的相应字段的解释相同,因此此处不再赘述。
另外,在一实施例中,该信息处理方法还可以包括但不限于以下步骤:
步骤S400,第一节点接收由网络控制器发送的包含有第一本地索引的BGP报文以获取绑定段标识列表。
在一实施例中,由于第一节点向网络控制器上报的绑定段标识信息中,存在绑定段标识信息为第一本地索引的情况,因此,也会存在网络控制器向第一节点下发的绑定段标识列表中的绑定段标识为第一本地索引的情况。为了使第一节点能够根据由网络控制器下发的绑定段标识列表而准确获取对应的绑定段标识信息,网络控制器在向第一节点下发绑定段标识列表时,会在下发的BGP报文中携带有用于表明BGP报文中的Binding SID字段是否为第一本地索引的V标志位,其中,该V标志位可以设置在现有Binding SID Sub-TLV的Flags字段中。当V标志位取值为1时,表明由网络控制器下发的BGP报文中的Binding SID字段中的值是第一本地索引,第一节点需要把Binding SID字段中的值结合第一节点自身保存的第一容器段标识以表示一个含义完整的绑定段标识;当V标志位取值为0时,表明由网络控制器下发的BGP报文中的Binding SID字段中的值已经是一个含义完整的绑定段标识。
在一实施例中,当第一节点所接收到的由网络控制器发送的BGP报文中包含有第一本地索引,即,由网络控制器发送的BGP报文中Binding SID Sub-TLV的Flags字段中,V标志位取值为1。此时,第一节点会把从Binding SID字段中获取到的每一个第一本地索引分别结合第一节点自身保存的第一容器段标识,从而得到多个含义完整的绑定段标识,因此,第一节点可以根据这些含义完整的绑定段标识得到绑定段标识列表,从而能够为后续建立SR Policy而提供相关的基础条件。
另外,在一实施例中,该信息处理方法还可以包括但不限于以下步骤:
步骤S500,第一节点接收由网络控制器发送的包含有第一容器段标识和第一本地索引的BGP报文以获取分段列表。
在一实施例中,网络控制器可以向第一节点下发分段列表以使第一节点根据该分段列表建立SR Policy。由于第一节点向网络控制器上报的SRv6信息中,存在包含有第一容器段标识和第一本地索引的第一段标识信息的情况,因此,在由网络控制器向第一节点下发的分段列表中,也会存在包含有第一容器段标识和第一本地索引的第一段标识信息的情况。为了使第一节点能够根据由网络控制器下发的分段列表而准确获取对应的段标识信息,网络控制器在下发给第一节点的分段列表中,在其中的Segment sub-TLV的Flags字段中设置C标志位,用以表明当前Segment sub-TLV所携带的段标识信息是否为第一容器段标识。当C标志位取值为1时,表明当前Segment sub-TLV所携带的段标识信息为第一容器段标识,第一节点需要把当前Segment sub-TLV中的值结合下一个Segment sub-TLV中的值(即第一本地索引),以表示一个含义完整的段标识;当C标志位取值为0时,表明当前Segmentsub-TLV所携带的段标识信息已经是一个含义完整的段标识。
在一实施例中,可以新增一个Segment sub-TLV以新定义一种Segment类型,用以携带第一本地索引。参照图7,图7示例性地给出了新增的Segment sub-TLV的结构,在该sub-TLV结构中,各字段的解释如下:
Type:占1字节,用于表示本Segment sub-TLV所携带的段标识信息是第一本地索引,此时,限定分段列表中前一个Segment sub-TLV所携带的段标识信息为第一容器段标识;
Length:占1字节,用于表示不包含Type字段和Length字段的本Segment sub-TLV的长度,具体取值根据Local Index字段的长度而变化;
Flags:占1字节,包括有上述所示的C标志位;
Reserved:保留字段;
Local Index:用于表示节点内部相应的第一本地索引,本Local Index字段中的值与前一个Segment sub-TLV所携带的第一容器段标识结合,以表示一个含义完整的段标识。值得注意的是,Local Index字段的长度可以是16比特、32比特、64比特或128比特。
另外,在一实施例中,该信息处理方法还可以同时包括上述实施例中的步骤S400和步骤S500,针对本实施例的技术方案以及所带来的技术效果,可参照上述实施例中对步骤S400和步骤S500的相关描述及解释,此处不再赘述。
另外,参照图8,在一实施例中,该信息处理方法还可以包括但不限于以下步骤:
步骤S600,第一节点接收由第二节点泛洪的第二段标识信息,第二段标识信息包括与相应的第二分段的段类型对应的第二容器段标识和与相应的第二分段对应的第二本地索引;
步骤S700,第一节点在进行路径计算的过程中利用第二段标识信息中的第二容器段标识和第二本地索引建立第二段标识列表;
步骤S800,第一节点根据第二段标识列表构建IPv6报文;
步骤S900,第一节点转发IPv6报文。
在一实施例中,第二分段可以为归属于第二节点的任何分段,也可以仅为包括有大量成员的段类型所对应的分段,例如属于链路类型的三层链路或者属于业务类型的L3VPN业务等,本实施例对此并不作具体限定。
在一实施例中,第二分段的段类型可以为链路类型、服务功能类型、业务类型或SRPolicy类型等,可以根据实际应用情况进行适应的分类,本实施例对此并不作具体限定。
在一实施例中,第二段标识信息用于表征与其对应的第二分段的路由信息。第二段标识信息包括第二容器段标识和第二本地索引,第二容器段标识为与第二分段的段类型对应的段标识,第二本地索引为与具体的第二分段对应的标识,即,一个第二容器段标识与一个第二本地索引的结合表征一个第二分段的段标识。例如,如果第二节点包含有多个三层链路,则第二容器段标识可以为对应于该三层链路类型的全局段标识,而归属于该三层链路类型的各个具体的三层链路,则可以通过与各个具体的三层链路一一对应的第二本地索引进行区分,在这种情况下,第二容器段标识的数量仅为一个,而第二本地索引的数量则与三层链路的数量相一致。
在一实施例中,第二容器段标识的长度为128比特,并且第二容器段标识与当前SRv6域内的其他段标识具有相同的块信息,因此,第二容器段标识与当前SRv6域内的其他段标识能够采用相关技术中的压缩SRH的方法进行压缩,从而可以被压缩成为32比特或者16比特的长度。
在一实施例中,第二本地索引的长度可以为32比特或者16比特等,可以根据实际应用情况进行适应的选择,本实施例对此并不作具体限定。
在一实施例中,由于第二段标识信息包括与相应的第二分段的段类型对应的第二容器段标识和与相应的第二分段对应的第二本地索引,因此,对于第二节点而言,可以对每一种段类型分别分配一个通用的第二容器段标识,并对属于同一段类型的各个具体分段分别分配一个第二本地索引以进行区分,因此,仅需使用较少的段标识资源(即第二容器段标识)即可实现对大量的分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。
在一实施例中,当第一节点接收到由第二节点泛洪的包括有第二容器段标识和第二本地索引的第二段标识信息后,由于第二容器段标识和第二本地索引能够表示一个含义完整的段标识,因此,第一节点可以在建立的第二段标识列表中包含该第二段标识信息中的第二容器段标识和第二本地索引,其中,第一个节点的路由表项中包括有路由至第二节点的第二容器段标识的路由信息,所以,当第一节点需要通过第二节点的第二分段而向目的节点发送数据时,第一节点可以构建包括有第二容器段标识和第二本地索引的SRv6报文,使得该SRv6报文能够通过第二节点的第二分段而路由至目的节点。
另外,参照图9,在一实施例中,该信息处理方法还可以包括但不限于以下步骤:
步骤S1000,第一节点利用第一容器段标识和第一本地索引建立第三段标识列表;
步骤S1100,第一节点根据第三段标识列表构建IPv6报文;
步骤S1200,第一节点转发IPv6报文。
在一实施例中,第一节点可以根据其自身构建的第一段标识信息建立第三段标识列表,也可以根据由网络控制器下发的相关信息建立第三段标识列表,本实施例对此并不作具体限定。此外,该第三段标识列表中还可以包括有来自第二节点的第二段标识信息。
在一实施例中,当转发路径中仅有第一节点包括有多个三层链路,则第一节点在转发IPv6报文时,需要确定具体的三层链路出接口,因此,第一节点在建立第三段标识列表时,会在第三段标识列表中仅包含有第一段标识信息,即包含第一容器段标识和第一本地索引,因此,当转发IPv6报文时,先根据第一容器段标识确定下一路由路径为三层链路,然后根据第一本地索引确定具体的三层链路出接口,接着把IPv6报文通过该具体的三层链路出接口进行转发。
值得注意的是,如果在转发路径中,第一节点和第二节点均包括有多个三层链路,则在转发IPv6报文的过程中,当IPv6报文处于第一节点时,第一节点需要先根据第一容器段标识和第一本地索引确定具体的三层链路出接口,然后通过该具体的三层链路出接口并根据本地路由表项转发IPv6报文;当IPv6报文处于第二节点时,第二节点需要先根据第二容器段标识和第二本地索引确定具体的三层链路出接口,然后通过该具体的三层链路出接口并根据本地路由表项转发IPv6报文。
另外,参照图10,在一实施例中,当段标识列表包括有第一段标识信息,则步骤S1200可以包括但不限于以下步骤:
步骤S1210,第一节点根据第一容器段标识建立需要使用第一本地索引的本地段标识表项;
步骤S1220,第一节点根据本地段标识表项确定下一路由出口;
步骤S1230,第一节点通过下一路由出口转发IPv6报文。
在一实施例中,第一节点内部可以根据第一容器段标识建立需要使用第一本地索引的本地段标识表项,当第一节点向目的节点发送IPv6报文时,第一节点可以先根据第一容器段标识在本地段标识表项中确定具体的路由类型,例如三层链路类型或者L3VPN业务类型,然后利用第一本地索引在本地段标识表项中查找确定具体的下一路由出口,从而能够通过下一路由出口把IPv6报文发送给目的节点。例如,第一节点先根据第一容器段标识在本地段标识表项中确定进行报文转发的路由类型为三层链路类型,然后利用第一本地索引在本地段标识表项中查找确定具体的三层链路出接口,接着通过该三层链路出接口把IPv6报文发送给目的节点。
另外,本发明的另一个实施例还提供了一种信息处理方法,如图11所示,图11是本发明另一个实施例提供的信息处理方法的流程图,该信息处理方法包括但不限于步骤A100、步骤A200和步骤A300。
步骤A100,第二节点接收来自第一节点的基于段标识列表构建的IPv6报文,其中,段标识列表包括与第二节点中相应的第二分段对应的第二段标识信息,第二段标识信息包括与相应的第二分段的段类型对应的第二容器段标识和与相应的第二分段对应的第二本地索引,IPv6报文包括携带有第二容器段标识的目的地址字段。
在一实施例中,当IPv6报文根据其中的段标识列表从第一节点转发至第二节点时,IPv6报文的目的地址字段中所携带的信息为第二容器段标识,当第二节点获取到IPv6报文的目的地址字段中所携带的信息为与第二节点相关的第二容器段标识时,第二节点才会对该IPv6报文进行后续的步骤处理。
值得注意的是,本实施例中对第二分段、第二分段的段类型、第二段标识信息、第二容器段标识和第二本地索引的相关介绍及解释,与上述如图8所示实施例中对第二分段、第二分段的段类型、第二段标识信息、第二容器段标识和第二本地索引的相关介绍及解释相一致,针对本实施例中对第二分段、第二分段的段类型、第二段标识信息、第二容器段标识和第二本地索引的相关介绍及解释,可参照上述如图8所示实施例中对第二分段、第二分段的段类型、第二段标识信息、第二容器段标识和第二本地索引的相关介绍及解释,此处不再赘述。
步骤A200,第二节点根据第二本地索引和目的地址字段中的第二容器段标识确定下一路由出口。
在一实施例中,当第二节点接收到IPv6报文时,第二节点可以先根据目的地址字段中的第二容器段标识确定下一个分段的段类型,例如确定下一个分段为三层链路类型,然后,第二节点根据第二本地索引确定具体的下一路由出口,例如确定下一路由出口为具体的三层链路出接口,以便于后续步骤可以根据该具体的下一路由出口转发IPv6报文。
步骤A300,第二节点根据下一路由出口处理IPv6报文。
在一实施例中,第二节点根据下一路由出口处理IPv6报文,可以为根据下一路由出口转发IPv6报文,也可以为根据下一路由出口处理IPv6报文的内层载荷,可以根据实际应用情况进行适当的选择,本实施例对此并不作具体限定。
在一实施例中,通过采用包括有上述步骤A100、步骤A200和步骤A300的信息处理方法,使得第二节点可以根据第二本地索引和目的地址字段中的第二容器段标识确定下一路由出口,并根据该下一路由出口处理IPv6报文。在第二节点根据第二本地索引和目的地址字段中的第二容器段标识确定下一路由出口的过程中,由于第二容器段标识对应于第二分段的段类型,而第二本地索引则对应于属于同一段类型的各个具体的第二分段,并且不同的第二本地索引能够区分不同的具体的第二分段,因此,仅需使用较少的段标识资源(即第二容器段标识)即可实现对大量的第二分段进行段标识分配,从而能够在一定程度上解决段标识资源紧缺的问题。而且,采用第二容器段标识结合第二本地索引的方式对第二分段进行段标识分配,并不会影响IPv6报文的构建及转发,因此,采用第二容器段标识结合第二本地索引的方式以表征第二分段的段标识,不仅能够适用于网络的大规模应用,还能够解决段标识资源紧缺的问题。
另外,参照图12,在一实施例中,步骤A200可以包括但不限于以下步骤:
步骤A210,第二节点根据目的地址字段中的第二容器段标识查表匹配得到本地段标识表项;
步骤A220,第二节点根据本地段标识表项和目的地址字段中的第二容器段标识从段标识列表中获取第二本地索引;
步骤A230,第二节点根据第二本地索引确定下一路由出口。
在一实施例中,当第二节点接收到来自第一节点的IPv6报文后,第二节点会先获取该IPv6报文中目的地址字段中的内容,接着,根据目的地址字段中的内容进行查表匹配得到本地段标识表项,当第二节点查表匹配到本地段标识表项后,会在本地段标识表项中确定目的地址字段中的内容是否为第二容器段标识,当确定目的地址字段中的内容为第二容器段标识时,第二节点会根据本地段标识表项和目的地址字段中的第二容器段标识从段标识列表中获取第二本地索引,接着,第二节点根据获取到的第二本地索引确定下一路由出口。
另外,参照图13,在一实施例中,当第二段标识信息还包括有与相应的第二分段对应的参数段标识,则步骤A230可以包括但不限于以下步骤:
步骤A231,第二节点根据第二本地索引从段标识列表中获取参数段标识;
步骤A232,第二节点根据第二本地索引和参数段标识确定下一路由出口。
在一实施例中,如果第二段标识信息还包括有与相应的第二分段对应的参数段标识,则在段标识列表中,会在第二本地索引的后一个段标识字段中设置该参数段标识。因此,在第二节点根据第二本地索引确定下一路由出口的过程中,第二节点先根据第二本地索引从段标识列表中获取参数段标识,即通过读取第二本地索引的后一个段标识字段以获取参数段标识,此时,根据第二容器段标识、第二本地索引和参数段标识的结合,即可得到一个含义完整的段标识信息,此时,第二节点可以先根据第二容器段标识确定第二分段的段类型,然后,第二节点根据第二本地索引和参数段标识确定具体的下一路由出口。例如,第二节点先根据第二容器段标识确定需要进行报文转发的第二分段的段类型为三层链路类型,然后利用第二本地索引和参数段标识确定具体的三层链路出接口。
另外,参照图14,在一实施例中,步骤A300可以包括但不限于以下步骤:
步骤A310,第二节点从段标识列表中获取对应于下一个分段的段标识信息;
步骤A320,第二节点根据对应于下一个分段的段标识信息更新IPv6报文中的目的地址字段的内容,以构建新的IPv6报文;
步骤A330,第二节点根据下一路由出口转发新的IPv6报文。
在一实施例中,当第二节点根据第二本地索引和目的地址字段中的第二容器段标识确定下一路由出口后,并且第二节点确认自身不是目的节点,则第二节点会从段标识列表中获取对应于下一个分段的段标识信息,然后把该对应于下一个分段的段标识信息拷贝到IPv6报文中的目的地址字段中,以更新目的地址字段中的内容,得到到达下一个分段的新的目的地址信息,接着,根据该新的目的地址信息重新封装IPv6报文以得到新的IPv6报文,然后,根据下一路由出口转发该新的IPv6报文。
另外,在一实施例中,IPv6报文还包括段剩余信息,当段剩余信息的值为0时,则说明第二节点为目的节点,在这种情况下,步骤A300可以包括但不限于以下步骤:
步骤A340,第二节点根据下一路由出口处理IPv6报文的内层载荷。
在一实施例中,在第二节点接收到IPv6报文的情况下,当第二节点确定IPv6报文中的段剩余信息的值为0时,说明第二节点为目的节点,此时,第二节点不再转发IPv6报文,而是移除IPv6报文中的SRH,然后根据下一路由出口处理IPv6报文的内层载荷。
针对第二节点在接收到携带有第二容器段标识和第二本地索引的IPv6报文时的报文处理过程,下面以一个例子进行说明:
在一例子中,如果第二节点接收到一个来自第一节点的IPv6报文,则第二节点会先获取该IPv6报文的目的地址字段中的内容,并根据目的地址字段中的内容查找匹配本地段标识表项,当根据本地段标识表项确定目的地址字段中的内容为第二容器段标识,则第二节点处理该IPv6报文的主要流程有:
步骤S01,判断IPv6报文是否包括有SRH;当不存在SRH,第二节点报错并向第一节点发送互联网控制报文协议(Internet Control Message Protocol,ICMP)差错报文,且丢弃该IPv6报文;当存在SRH,执行步骤S02;
步骤S02,判断SRH中的段剩余信息是否为0;如果段剩余信息为0,第二节点报错并向第一节点发送ICMP差错报文,且丢弃该IPv6报文;如果段剩余信息不为0,执行步骤S03;
步骤S03,将SRH中的段剩余信息减1,并读取段标识列表中的下一个段标识信息,得到第二本地索引,此时,根据第二容器段标识和第二本地索引的结合可以得到含义完整的段标识信息;值得注意的是,如果对应于当前分段的第二段标识信息还包括有参数段标识,则还需要将段剩余信息减1,并读取段标识列表中的下一个段标识信息,得到参数段标识,此时,根据第二容器段标识、第二本地索引和参数段标识的结合可以得到含义完整的段标识信息;
步骤S04,判断SRH中的段剩余信息是否为0;如果段剩余信息为0,移除SRH,并根据得到的上述含义完整的段标识信息继续处理内层载荷;如果段剩余信息不为0,执行步骤S05;
步骤S05,判断第二容器段标识中是否携带有UET Flavor(UET喜好),例如UET-0或UET-1等;如果第二容器段标识中携带有UET Flavor,则根据具体的UET Flavor类型进行压缩域切换,例如把压缩域从32比特转换为128比特,或者把压缩域从128比特转换为32比特,接着,执行步骤S06;如果第二容器段标识中没有携带UET Flavor,则直接执行步骤S06;
步骤S06,读取段标识列表中的下一个段标识信息,并相应的将段剩余信息减1;
步骤S07,将读取到的该段标识信息拷贝到IPv6报文的目的地址字段中;
步骤S08,根据得到的上述含义完整的段标识信息继续转发IPv6报文;例如,如果得到的上述含义完整的段标识信息的属性为END behavior,则根据IPv6报文的目的地址字段中的内容查路由表以转发IPv6报文;如果得到的上述含义完整的段标识信息的属性为END.X behavior,则直接通过相应的三层链路转发IPv6报文。
针对上述实施例所提供的信息处理方法,下面以具体的示例进行详细的描述:
示例一:
如图15所示的SRv6网络中,包括有依次连接的第一节点110、第二节点120、第三节点130、第四节点140和第五节点150,并且,在该SRv6网络中,运行有ISIS协议,所有的节点的SRv6段标识均具有相同的块信息,并且块信息的长度为96比特,则这些节点的段标识均可以被压缩成32比特的长度,这些节点所分配到的段标识如下:
第一节点110:block32-S;
第二节点120:block32-A;
第三节点130:block32-B;
第四节点140:block32-C;
第五节点150:block32-D。
此外,第五节点150上还配置有1000个L3VPN业务,则,针对L3VPN业务这一段类型,分配一个第一容器段标识,并表示为END.T.DT6 SID block32-D10,另外,为这1000个L3VPN业务分别分配一个第一本地索引,并表示为local-index,利用不同的第一本地索引区分这1000个L3VPN业务,例如,local-index 1对应于第一个L3VPN业务,local-index 2对应于第二个L3VPN业务。
假设建立有一条从第一节点110至第五节点150的分段路由流量工程(SegmentRouting Traffic Engineering,SR-TE)路径,其分段列表为<node 2,node 3,node 4,node5>,这条路径可以由第一节点110自身计算而得,或者第一节点110请求网络控制器计算而得,该分段列表对应的段标识列表为<block32-A,block32-B,block32-C,block32-D>,由于第五节点150中还配置有L3VPN业务,假设通过第一个L3VPN业务进行路由转发,则该段标识列表为<block32-A,block32-B,block32-C,block32-D10,local-index 1>。由于该段标识列表中除第一本地索引之外的所有段标识均具有相同的块信息,因此这些除第一本地索引之外的所有段标识均能够进行压缩,在本示例中,假设第一本地索引的长度为32比特,因此可以把除第一本地索引之外的所有段标识的长度压缩为32比特,如图16A所示,图16A是本示例中相应的SRH的封装格式。
当IPv6报文沿着该SR-TE路径进行转发而传输到第五节点150后,第五节点150会先根据当前IPv6报文的目的地址字段中的内容查找匹配到与block32-D10对应的本地段标识表项,然后从SRH中读取下一个长度为32比特的第一本地索引(即local-index 1),当第五节点150根据local-index 1而确定local-index 1是对应于第一L3VPN业务时,第五节点150移除IPv6报文的外层IPv6头以及所有扩展头,然后将IPv6报文的内层载荷在与该第一L3VPN业务对应的私网路由表中查表转发。
示例二:
本示例是在上述示例一的基础上扩展有参数段标识的示例,仍然如图15所示,第五节点150上还配置有1000个EVPN业务,假设第五节点150通过BGP报文向第一节点110通告了一条包括有第一容器段标识(假设为block32-D20)和第一本地索引(假设为local-index1)的属于第一EVPN业务的路由,则,当第一节点110向第五节点150转发IPv6报文时,第一节点110可以在SRH的尾部插入第一容器段标识(即block32-D20)、第一本地索引(即local-index 1)以及参数段标识(假设取值为100),例如,该参数段标识表示用于执行水平分割和其它过滤机制。那么,整个段标识列表可以表示为<block32-A,block32-B,block32-C,block32-D20,local-index 1,100>。由于该段标识列表中除第一本地索引和参数段标识之外的所有段标识均具有相同的块信息,因此这些除第一本地索引和参数段标识之外的所有段标识均能够进行压缩,在本示例中,假设第一本地索引和参数段标识的长度均为32比特,因此可以把除第一本地索引和参数段标识之外的所有段标识的长度压缩为32比特,如图16B所示,图16B是本示例中相应的SRH的封装格式。
当IPv6报文沿着该路由进行转发而传输到第五节点150后,第五节点150会先根据当前IPv6报文的目的地址字段中的内容查找匹配到与block32-D20对应的本地段标识表项,然后从SRH中读取下一个长度为32比特的第一本地索引(即local-index 1),当第五节点150根据local-index 1而确定local-index 1是对应于第一EVPN业务时,第五节点150继续从SRH中读取下一个长度为32比特的参数段标识(数值为100),接着,第五节点150移除IPv6报文的外层IPv6头以及所有扩展头,然后进行内层的原始的媒体存取控制位址(MediaAccess Control Address,MAC地址)学习,并向除了由参数段标识指定的出接口之外的所有二层出接口广播。
另外,本发明的一个实施例提供了一种节点,该节点包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
需要说明的是,本实施例中的节点,可以应用于如图1或图15所示实施例中的节点,本实施例中的节点能够构成图1或图15所示实施例中的网络拓扑的一部分,这些实施例均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的信息处理方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例的信息处理方法,例如,执行以上描述的图2中的方法步骤S100至S200、图8中的方法步骤S600至S700、图9中的方法步骤S800至S1000、图10中的方法步骤S1010至S1020、图11中的方法步骤A100至A300、图12中的方法步骤A210至A230、图13中的方法步骤A231至A232、图14中的方法步骤A310至A330。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述节点实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的信息处理方法,例如,执行以上描述的图2中的方法步骤S100至S200、图8中的方法步骤S600至S700、图9中的方法步骤S800至S1000、图10中的方法步骤S1010至S1020、图11中的方法步骤A100至A300、图12中的方法步骤A210至A230、图13中的方法步骤A231至A232、图14中的方法步骤A310至A330。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (14)
1.一种信息处理方法,包括:
第一节点构建第一段标识信息,所述第一段标识信息包括与相应的第一分段的段类型对应的第一容器段标识和与所述相应的第一分段对应的第一本地索引;
第一节点泛洪所述第一段标识信息,以使第二节点或网络控制器在进行路径计算的过程中利用所述第一段标识信息中的所述第一容器段标识和所述第一本地索引建立第一段标识列表。
2.根据权利要求1所述的信息处理方法,其特征在于,所述第一节点泛洪所述第一段标识信息,包括:
第一节点泛洪包含有所述第一容器段标识和所述第一本地索引的中间系统到中间系统ISIS报文以泛洪所述第一段标识信息;
或者,
第一节点泛洪包含有所述第一容器段标识和所述第一本地索引的开放式最短路径优先OSPFv3报文以泛洪所述第一段标识信息;
或者,
第一节点泛洪包含有所述第一容器段标识和所述第一本地索引的边界网关协议BGP报文以泛洪所述第一段标识信息。
3.根据权利要求1所述的信息处理方法,其特征在于,还包括:
第一节点向网络控制器发送包含有所述第一容器段标识和所述第一本地索引的边界网关协议链路状态BGP-LS报文以上报所述第一段标识信息。
4.根据权利要求1所述的信息处理方法,其特征在于,还包括:
第一节点接收由网络控制器发送的包含有所述第一本地索引的BGP报文以获取绑定段标识列表;
和/或,
第一节点接收由网络控制器发送的包含有所述第一容器段标识和所述第一本地索引的BGP报文以获取分段列表。
5.根据权利要求1至4任意一项所述的信息处理方法,其特征在于,还包括:
第一节点接收由第二节点泛洪的第二段标识信息,所述第二段标识信息包括与相应的第二分段的段类型对应的第二容器段标识和与所述相应的第二分段对应的第二本地索引;
第一节点在进行路径计算的过程中利用所述第二段标识信息中的所述第二容器段标识和所述第二本地索引建立第二段标识列表;
第一节点根据所述第二段标识列表构建IPv6报文;
第一节点转发所述IPv6报文。
6.根据权利要求1所述的信息处理方法,其特征在于,还包括:
第一节点利用所述第一容器段标识和所述第一本地索引建立第三段标识列表;
第一节点根据所述第三段标识列表构建IPv6报文;
第一节点转发所述IPv6报文。
7.根据权利要求6所述的信息处理方法,其特征在于,所述第一节点转发所述IPv6报文,包括:
第一节点根据所述第一容器段标识建立需要使用所述第一本地索引的本地段标识表项;
第一节点根据所述本地段标识表项确定下一路由出口;
第一节点通过所述下一路由出口转发所述IPv6报文。
8.一种信息处理方法,包括,
第二节点接收来自第一节点的基于段标识列表构建的IPv6报文,其中,所述段标识列表包括与第二节点中相应的第二分段对应的第二段标识信息,所述第二段标识信息包括与所述相应的第二分段的段类型对应的第二容器段标识和与所述相应的第二分段对应的第二本地索引,所述IPv6报文包括携带有所述第二容器段标识的目的地址字段;
第二节点根据所述第二本地索引和所述目的地址字段中的所述第二容器段标识确定下一路由出口;
第二节点根据所述下一路由出口处理所述IPv6报文。
9.根据权利要求8所述的信息处理方法,其特征在于,所述第二节点根据所述第二本地索引和所述目的地址字段中的所述第二容器段标识确定下一路由出口,包括:
第二节点根据所述目的地址字段中的所述第二容器段标识查表匹配得到本地段标识表项;
第二节点根据所述本地段标识表项和所述目的地址字段中的所述第二容器段标识从所述段标识列表中获取所述第二本地索引;
第二节点根据所述第二本地索引确定下一路由出口。
10.根据权利要求9所述的信息处理方法,其特征在于,所述第二段标识信息还包括与所述相应的第二分段对应的参数段标识,所述第二节点根据所述第二本地索引确定下一路由出口,包括:
第二节点根据所述第二本地索引从所述段标识列表中获取所述参数段标识;
第二节点根据所述第二本地索引和所述参数段标识确定下一路由出口。
11.根据权利要求9或10所述的信息处理方法,其特征在于,所述第二节点根据所述下一路由出口处理所述IPv6报文,包括:
第二节点从所述段标识列表中获取对应于下一个分段的段标识信息;
第二节点根据所述对应于下一个分段的段标识信息更新所述IPv6报文中的所述目的地址字段的内容,以构建新的IPv6报文;
第二节点根据所述下一路由出口转发所述新的IPv6报文。
12.根据权利要求9或10所述的信息处理方法,其特征在于,所述IPv6报文还包括段剩余信息,当所述段剩余信息的值为0,所述第二节点根据所述下一路由出口处理所述IPv6报文,包括:
第二节点根据所述下一路由出口处理所述IPv6报文的内层载荷。
13.一种节点,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的信息处理方法或实现如权利要求8至12中任意一项所述的信息处理方法。
14.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至7中任意一项所述的信息处理方法或执行权利要求8至12中任意一项所述的信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010500081.7A CN113765789A (zh) | 2020-06-04 | 2020-06-04 | 信息处理方法、节点及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010500081.7A CN113765789A (zh) | 2020-06-04 | 2020-06-04 | 信息处理方法、节点及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113765789A true CN113765789A (zh) | 2021-12-07 |
Family
ID=78783632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010500081.7A Pending CN113765789A (zh) | 2020-06-04 | 2020-06-04 | 信息处理方法、节点及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113765789A (zh) |
-
2020
- 2020-06-04 CN CN202010500081.7A patent/CN113765789A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541613B (zh) | 一种基于SRv6的数据处理方法及相关设备 | |
CN110266594B (zh) | 跨网络切片的分段路由转发方法及装置 | |
US11700198B2 (en) | Transmission control method, node, network system and storage medium | |
KR102555671B1 (ko) | 패킷 처리 방법, 관련 기기 및 컴퓨터 저장 매체 | |
CN106656781B (zh) | 一种报文传输的方法、装置和系统 | |
CN105871722B (zh) | 标签构造以及标签报文转发方法及装置 | |
US11689452B2 (en) | Method for forwarding service data, network device, and network system | |
CN111786884B (zh) | 一种路由方法及路由设备 | |
CN107968750B (zh) | 报文传输方法、装置及节点 | |
WO2021189993A1 (zh) | 路由方法、路由装置及计算机可读存储介质 | |
WO2018032961A1 (zh) | 一种管理信息的方法,装置及系统 | |
US11240063B2 (en) | Methods, nodes and computer readable media for tunnel establishment per slice | |
US20230033298A1 (en) | Routing method, routing device and computer-readable storage medium | |
CN111988266B (zh) | 一种处理报文的方法 | |
CN113259238A (zh) | 分段标识的处理方法及设备 | |
CN113037527B (zh) | 网络切片创建方法、报文转发方法及其装置 | |
CN113206787B (zh) | 分段标识的处理方法及设备 | |
CN115004656A (zh) | 一种报文发送方法、设备及系统 | |
CN114465776B (zh) | 一种泛洪攻击防御方法及相关装置 | |
CN113132235A (zh) | 基于虚电路的数据报文处理方法、转发表项的构建方法 | |
CN113037883B (zh) | 一种mac地址表项的更新方法及装置 | |
CN112532563B (zh) | 报文的发送方法和装置 | |
CN113765789A (zh) | 信息处理方法、节点及计算机可读存储介质 | |
WO2021179935A1 (zh) | 路由确定方法、装置和网络设备 | |
CN113285877A (zh) | 一种报文转发的控制方法及相关装置 |
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 |