欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于网络的压缩路由报头信息独创技术71649字

用于网络的压缩路由报头信息

2021-02-03 03:14:04

用于网络的压缩路由报头信息

  相关申请的交叉引用

  本申请根据35U.S.C.§119要求于2019年5月13日提交的美国临时专利申请No.62/847,046(“COMPRESSED ROUTING HEADER INFORMATION FOR NETWORKS”)的优先权,其内容通过引用整体并入本文。

  背景技术

  诸如IPv6节点等因特网协议(IP)源节点可以通过到目的地的特定路径来引导有效载荷分组。例如,源节点可以将路径定义为分段的有序列表,并且可以在IPv6路由报头中对路径进行编码。

  发明内容

  根据一些实现,一种方法可以包括:由节点接收与网络的松散路由分段相关的第一网络拓扑消息,其中第一网络拓扑消息将第一分段标识符(SID)与和松散路由分段相关联的第一终端接口的地址相关联;由节点生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联;由节点接收与网络的严格路由分段相关的第二网络拓扑消息,其中第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联;由节点生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联;由节点接收已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的压缩路由报头(CRH)扩展,其中CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表;由节点通过参考SID列表来确定IP有效载荷分组的下一SID,其中下一SID与第一终端接口或第二终端接口之一相关联;由节点基于分段转换表来标识与下一SID相关联的地址;以及由节点基于与下一SID相关联的地址来将IP有效载荷分组路由到第一终端接口或第二终端接口。

  根据一些实现,一种节点可以包括一个或多个存储器和一个或多个处理器,处理器用于:接收与网络的松散路由分段相关的第一网络拓扑消息,其中第一网络拓扑消息将第一SID与和松散路由分段相关联的第一终端接口的地址相关联;生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联;接收与网络的严格路由分段相关的第二网络拓扑消息,其中第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联;以及生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联,其中分段转换表将要用于路由已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,其中CRH包括标识IP有效载荷分组在被路由通过网络时将要遍历的一组节点的SID列表。

  根据一些实现,一种非暂态计算机可读介质可以存储一个或多个指令,这些指令在由节点的一个或多个处理器执行时可以引起一个或多个处理器:接收标识以下之一的网络拓扑消息:与网络的松散路由分段相关的第一SID与和松散路由分段相关联的第一终端接口的地址的第一关联、或者与网络的严格路由分段相关的第二SID与和严格路由分段相关联的第二终端接口的地址的第二关联;基于在网络拓扑消息中标识的第一关联或在网络拓扑消息中标识的第二关联来生成分段转换表中的条目;以及根据分段转换表来路由已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,其中CRH包括标识IP有效载荷分组在被路由通过网络时将要遍历的一组节点的SID列表。

  根据一些实现,一种方法,包括:由节点接收与网络的松散路由分段相关的第一网络拓扑消息,其中第一网络拓扑消息将第一分段标识符(SID)与和松散路由分段相关联的第一终端接口的地址相关联;由节点生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联;由节点接收与网络的严格路由分段相关的第二网络拓扑消息,其中第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联;由节点生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联;由节点接收已经使用IPv6传输报头封装的因特网协议(IP)有效载荷分组,IPv6传输报头已经使用可变长度的压缩路由报头(CRH)扩展,其中CRH包括标识IP有效载荷分组在被路由通过网络时将要遍历的一组节点的SID列表;由节点通过参考SID列表来确定IP有效载荷分组的下一SID,其中下一SID与第一终端接口或第二终端接口之一相关联;由节点基于分段转换表来标识与下一SID相关联的地址;以及由节点基于与下一SID相关联的地址来将IP有效载荷分组路由到第一终端接口或第二终端接口。

  根据一些实现,该方法还包括:在接收第一网络拓扑消息和第二网络拓扑消息之前,接收与网络的另一节点的CRH处理能力相关的第三网络拓扑消息,其中另一节点与严格路由分段或松散路由分段相关联。

  根据一些实现,第一网络拓扑消息包括父元素和子元素,其中父元素标识第一终端接口的地址,并且子元素标识第一SID。

  根据一些实现,第二网络拓扑消息包括第一子元素和第二子元素,其中第一子元素标识第二终端接口的地址,并且第二子元素标识第二SID。

  根据一些实现,其中第二网络拓扑消息还与到局域网的指定中间系统的邻接相关。

  根据一些实现,其中第二网络拓扑消息还标识节点与和严格路由分段相关联的另一节点之间的链路,其中分段转换表中的第二条目还将第二SID与链路相关联。

  根据一些实现,其中第二网络拓扑消息还标识当严格路由分段停用时是否能够使用备选分段,其中分段转换表中的第二条目还将第二SID与是否能够使用备选分段的指示相关联。

  根据一些实现,一种节点,包括:一个或多个存储器;以及通信地耦合到一个或多个存储器的一个或多个处理器,用于:接收与网络的松散路由分段相关的第一网络拓扑消息,其中第一网络拓扑消息将第一分段标识符(SID)与和松散路由分段相关联的第一终端接口的地址相关联;生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联;接收与网络的严格路由分段相关的第二网络拓扑消息,其中第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联;以及生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联,其中分段转换表将要用于路由已经使用IPv6传输报头封装的因特网协议(IP)有效载荷分组,IPv6传输报头已经使用可变长度的压缩路由报头(CRH)扩展,其中CRH包括标识IP有效载荷分组在被路由通过网络时将要遍历的一组节点的SID列表。

  根据一些实现,其中一个或多个处理器还用于:在接收第一网络拓扑消息和第二网络拓扑消息之前,接收与另一节点的CRH处理能力相关的第三网络拓扑消息,其中另一节点与严格路由分段或松散路由分段相关联,其中分段转换表中的第一条目或第二条目与另一节点相关联。

  根据一些实现,其中一个或多个处理器还用于:在接收到第三网络拓扑消息之后,接收与另一节点支持的一个或多个分段路由算法相关的第四网络拓扑消息;以及生成标识另一节点支持的一个或多个分段路由算法的记录。

  根据一些实现,其中第二网络拓扑消息还标识节点与和严格路由分段相关联的另一节点之间的链路,其中分段转换表中的第二条目还将第二SID与链路相关联。

  根据一些实现,其中第二网络拓扑消息还标识严格路由分段是否与一组邻接相关联,其中分段转换表中的第二条目还将第二SID与严格路由分段是否与一组邻接相关联的指示相关联。

  根据一些实现,其中第二网络拓扑消息还标识要被分配给严格路由分段的负载平衡权重。

  根据一些实现,其中第一SID具有与第二SID不同的长度。

  根据一些实现,一种存储指令的非暂态计算机可读介质,指令包括:在由一个或多个处理器执行时引起一个或多个处理器进行以下操作的一个或多个指令:接收标识以下之一的网络拓扑消息:与网络的松散路由分段相关的第一分段标识符(SID)与和松散路由分段相关联的第一终端接口的地址的第一关联,或者与网络的严格路由分段相关的第二SID与和严格路由分段相关联的第二终端接口的地址的第二关联;基于在网络拓扑消息中标识的第一关联或在网络拓扑消息中标识的第二关联来生成分段转换表中的条目;以及根据分段转换表来路由已经使用IPv6传输报头封装的因特网协议(IP)有效载荷分组,IPv6传输报头已经使用可变长度的压缩路由报头(CRH)扩展,其中CRH包括标识IP有效载荷分组在被路由通过网络时将要遍历的一组节点的SID列表。

  根据一些实现,其中一个或多个指令在由一个或多个处理器执行时还引起一个或多个处理器:在接收网络拓扑消息之前,接收与另一节点的CRH处理能力相关的初始网络拓扑消息,其中另一节点与严格路由分段或松散路由分段相关联,其中分段转换表中的条目与另一节点相关联。

  根据一些实现,其中网络拓扑消息与节点的可达性相关。

  根据一些实现,其中网络拓扑消息与节点的邻居节点相关。

  根据一些实现,其中网络拓扑消息还标识第二SID是否被持久地分配给严格路由分段,其中第二关联是第二SID、第二终端接口的地址、以及第二SID是否被持久地分配给严格路由分段的指示的关联。

  根据一些实现,其中网络拓扑消息包括一个或多个类型长度值元素。

  附图说明

  图1A-1E是本文中描述的一个或多个示例实现的图;

  图2是示例CRH的图;

  图3A-3D是示例类型长度值(TLV)元素的图;

  图4是可以实现本文中描述的系统和/或方法的示例环境的图;

  图5是图4的一个或多个设备的示例组件的图;以及

  图6-8是用于使用已经使用CRH扩展的传输报头来路由有效载荷分组通过网络的示例过程的流程图。

  具体实施方式

  以下对示例实现的详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元素。

  节点网络可以用于路由分组。在很多情况下,可以通过采用最低成本路径来路由分组通过网络。例如,分组可以具有通过网络的多个可能路径,并且节点可以使用路由协议(例如,中间系统到中间系统(IS-IS)等)来选择路由通过网络的最低成本路径。

  在一些情况下,可以使用分段路由来允许使用除了最低成本路径之外的路径来路由分组。例如,使用网络来路由分组的客户端可能希望分组行进通过特定防火墙,以通过采用更长的路径通过网络来避免网络拥塞等。为了使用分段路由来路由分组通过网络,可以使用分段路由报头来封装分组,该分段路由报头包括IP地址(或位长度与IP地址一样长的分段标识符)的列表,这些IP地址用作分组在被路由通过网络时采用的所需要的跳。作为示例,当网络中的节点接收到分组时,节点可以不是标识最低成本路径中的下一跳,而是处理分段路由报头中的IP地址列表以确定下一跳是否是在列表中标识的所需要的跳。

  然而,分段路由通常是路由分组通过网络的低效方式。例如,用于路由分组通过网络的很多节点可以具有专用集成电路(ASIC),ASIC将整个IP地址列表从缓冲存储器复制到片上存储器。如果IP地址列表很长,则节点可能花费大量处理资源来执行复制操作和/或花费大量存储器资源来存储列表。

  本文中描述的一些实现提供了节点网络,这些节点使用CRH以使用预定义路径来路由(例如,根据IS-IS路由协议)封装的IP有效载荷分组通过网络,其中CRH包括可变长度在8位到64位之间的SID列表。例如,该组节点中的每个节点可以配置有定义预定义路径的一个或多个分段的特定分段转换表。分段转换表可以包括严格路由分段和/或松散路由分段,如本文中将进一步描述的。

  节点可以根据一个或多个网络拓扑消息(例如,包括一个或多个TLV元素的网络拓扑消息)来生成和/或更新分段转换表。网络拓扑消息可以指示节点是否支持CRH。此外,网络拓扑消息可以指示与节点相关联的特定分段是松散路由还是严格路由。节点可以使用分段转换表进行分组路由。

  实际上,当第一边缘节点接收到IP有效载荷分组时,第一边缘节点可以使用已经被扩展为包括CRH的IPv6传输报头来封装IP有效载荷分组。另外,第一边缘节点可以将IP有效载荷分组提供给网络中的第一中间节点。

  在这种情况下,第一中间节点可以参考CRH中包括的SID列表来选择SID。另外,第一中间节点可以参考分段转换表来标识与IP有效载荷分组的下一跳节点的IP地址和/或接口相关联地存储的对应SID。在这种情况下,第一中间节点可以将目的地IP地址(例如,其可以被包括在IPv6传输报头中)更新为下一跳节点的IP地址。另外,第一中间节点可以通过将值递减1来更新CRH的剩余分段值。

  此外,第一中间节点可以将IP有效载荷分组提供给下一跳节点(例如,另一中间节点、端点节点等)以允许下一跳节点继续路由IP有效载荷分组。网络中的一个或多个附加节点可以使用SID列表来路由IP有效载荷分组,直到端点节点接收到IP有效载荷分组。当端点节点接收到IP有效载荷分组时,IP有效载荷分组的剩余分段值可以为零。这可以允许端点节点处理IP有效载荷分组的有效载荷报头(而不是利用CRH扩展的IPv6传输报头)以标识最终目的地的最终目的地IP地址(例如,网络外部的设备)并且将IP有效载荷分组发送到最终目的地。

  以这种方式,该组节点能够使用CRH以使用预定义路径的方式来路由IP有效载荷分组通过网络,而不需要在CRH中包括每个跳的IP地址。通过使用SID列表中的较小值(而不是IP地址列表),该组节点相对于其他类型的分段路由报头节省了资源(例如,处理资源、网络资源、存储器资源等)。例如,CRH的使用节省了该组节点否则将花费来对更长更传统的分段路由报头执行复制操作的处理资源,通过减少通过网络传输的IP有效载荷分组的总长度而节省了网络资源(相对于传统的分段路由报头),通过减少存储IP有效载荷分组所需要的存储器量而节省了存储器资源(相对于传统的分段路由报头),等等。

  此外,本文中描述的一些实现允许使用一个或多个链路本地IPv6地址来路由IP有效载荷分组通过一个或多个严格路由分段(本文中进一步定义)。例如,对于除了最终分段之外的所有分段,接收IP有效载荷分组的节点可以将目的地IP地址更新为链路本地IPv6地址。这通过减少IP有效载荷分组被路由离开严格路由分段之一的机会而提高了安全性。另外,通过将目的地IP地址更新为最终分段上的全局IP地址(而不是链路本地IPv6地址),该组节点通过提供针对链路本地地址欺骗的保护而进一步提高了安全性。

  另外,由于与CRH相关联的效率,该组节点可以基于最小的一组网络拓扑消息来生成和/或更新分段转换表。以这种方式,该组节点相对于需要大量网络拓扑消息来生成和/或更新分段转换表的其他技术(例如,使用分段路由报头的多协议标签交换(MPLS)分段路由或IPv6分段路由)节省了资源(例如,处理资源、网络资源、存储器资源等)。

  图1A-1E是本文中描述的一个或多个示例实现100的图。例如,(多个)示例实现100可以包括第一对等设备(在图1E中示出为对等设备(PD)1)、第二对等设备(示出为PD 2)、以及作为网络的一部分的一组节点,诸如第一边缘节点(示出为节点A)、一组中间节点(示出为节点I1、节点I2和节点I3)、以及第二边缘节点(示出为节点B)。如图1A-1E所示,节点网络可以配置有特定分段转换表,并且可以使用特定分段转换表来路由已经使用IPv6传输报头封装的IP有效载荷分组通过网络,其中IPv6传输报头已经使用CRH扩展。

  节点网络可以根据IS-IS路由协议来路由分组。IS-IS路由协议是链路状态路由协议,其中节点网络中的节点在整个节点网络中泛洪链路状态信息(例如,使得能够通告节点网络的所有链路)。例如,节点可以传输网络拓扑消息(例如,包括一个或多个TLV元素的网络拓扑消息)以通告链路状态信息。网络拓扑消息可以以规则的间隔(例如,每分钟,每小时,每天等)和/或以不规则的间隔(例如,在引入新节点,重新启动节点,重置节点,更新节点等时)传输。

  如图1A和附图标记105所示,节点网络(例如,与IS-IS路由协议相关联的节点网络)中的节点可以接收与CRH处理能力相关的网络拓扑消息(例如,通告消息、控制消息等)。在一些实现中,CRH处理能力的指示可以在网络拓扑消息的CRH能力字段中提供。在这种情况下,CRH能力字段可以是与网络拓扑消息的父字段相关联的子字段。例如,网络拓扑消息可以包括与节点的能力相关的TLV元素(例如,如因特网工程任务组(IETF)请求注释(RFC)7981中定义的路由器能力TLV等),并且CRH处理能力的指示可以在TLV元素的子TLV元素(例如,如下面结合图3A所述)中提供。

  在一些实现中,节点可以传输指示节点能够处理CRH的网络拓扑消息(例如,包括CRH能力字段),并且剩余节点可以接收网络拓扑消息。以这种方式,网络拓扑消息向剩余节点指示具有CRH的IP有效载荷分组可以被路由到节点。

  在一些实现中,节点网络(例如,与IS-IS路由协议相关联的节点网络)中的节点可以接收与所支持的分段路由算法相关的网络拓扑消息(例如,通告消息、控制消息等)。例如,诸如能够处理CRH的节点等节点可以传输指示节点所支持的一个或多个分段路由算法的网络拓扑消息。

  如图1B和附图标记110所示,节点网络(例如,与IS-IS路由协议相关联的节点网络)中的节点可以接收标识节点网络的松散路由分段的网络拓扑消息(例如,通告消息、控制消息等)。松散路由分段可以被定义为从节点到终端接口的路径,其中节点和终端接口经由一个或多个其他节点和/或链路连接。

  在一些实现中,可以在网络拓扑消息的松散路由分段字段中提供松散路由分段的标识。在这种情况下,松散路由分段字段可以是与网络拓扑消息的父字段相关联的子字段。例如,网络拓扑消息可以包括与网络可达性相关的TLV元素(例如,IETF RFC 5308中定义的IPv6可达性TLV、IETF RFC 5120中定义的多拓扑可达IPv6前缀TLV等),并且松散路由分段的标识可以在TLV元素的子TLV元素(例如,如下面结合图3B所述)中提供。

  在一些实现中,节点可以传输标识松散路由分段的SID的网络拓扑消息(例如,包括松散路由分段字段),并且剩余节点可以接收网络拓扑消息。例如,SID可以在网络拓扑消息的子字段中标识。在这种情况下,子字段可以与标识可以用于标识节点的IP地址(例如,全局IP地址)的父字段相关联。以这种方式,网络拓扑消息允许剩余节点将SID与IP地址相关联。

  如图1C和附图标记115所示,节点网络(例如,与IS-IS路由协议相关联的节点网络)中的节点可以接收标识节点网络的严格路由分段的网络拓扑消息(例如,通告消息、控制消息等)。严格路由分段可以被定义为从节点到终端接口的路径,其中恰好有一个链路从节点到终端接口。

  在一些实现中,可以在网络拓扑消息的严格路由分段字段中提供严格路由分段的标识。在这种情况下,严格路由分段字段可以是与网络拓扑消息的父字段相关联的子字段。例如,网络拓扑消息可以包括与邻居节点相关的TLV元素(例如,如IETF 5305中定义的扩展中间系统可达性TLV、如IETF RFC 5120中定义的多拓扑中间系统TLV、如IETF RFC 5311中定义的中间系统邻居属性TLV、如IETF RFC5311中定义的多拓扑中间系统邻居属性TLV、如IETF RFC 5316中定义的自治系统间可达性TLV等),并且严格路由分段的标识可以在TLV元素的子TLV元素(例如,如下面结合图3C所述)中提供。

  网络拓扑消息还可以用于标识局域网(LAN)的严格路由分段。在LAN子网中,指定的中间系统(DIS)负责发起包括DIS的所有邻居的伪节点链路状态分组。此外,LAN子网的每个节点提供仅标识DIS的一个邻接的网络拓扑消息。因此,网络拓扑消息可以包括与网络拓扑消息的父字段相关联的严格路由分段字段。例如,网络拓扑消息可以包括与邻居节点相关的TLV元素(例如,如IETF 5305中定义的扩展中间系统可达性TLV、如IETF RFC 5120中定义的多拓扑中间系统TLV、如IETF RFC 5311中定义的中间系统邻居属性TLV、如IETF RFC5311中定义的多拓扑中间系统邻居属性TLV等),并且严格路由分段的标识可以在TLV元素的子TLV元素(例如,如下面结合图3D所述)中提供。

  在一些实现中,节点可以传输标识严格路由分段的SID的网络拓扑消息(例如,包括严格路由分段字段),并且剩余节点可以接收网络拓扑消息。例如,SID可以在网络拓扑消息的子字段中标识。在这种情况下,子字段可以与网络拓扑消息的父字段相关联,并且父字段可以包括与邻居节点的地址相关的一个或多个附加子字段(例如,如IETF RFC 6119中定义的IPv6邻居地址子TLV)。父字段和/或一个或多个附加子字段(即,严格路由分段字段的兄弟)可以标识可以用于标识邻居节点的全局IP地址和/或链路本地IP地址(例如,严格路由分段终止的接口)和将节点连接到邻居节点的链路。以这种方式,网络拓扑消息允许剩余节点将SID与全局IP地址、链路本地IP地址和/或链路相关联。

  如图1D和附图标记120所示,节点网络(例如,与IS-IS路由协议相关联的节点网络)中的节点可以生成和/或更新分段转换表(例如,转发信息库)。也就是说,节点网络中的每个节点可以生成和/或更新分段转换表。例如,节点可以基于一个或多个网络拓扑消息生成和/或更新分段转换表,如上所述。分段转换表可以帮助节点根据一个或多个SID经由特定路径路由网络业务。SID可以由与IP地址相比节点对其进行复制的成本更低的值(例如,8位值、16位值等)来表示,从而减少了网络拥塞并且节省了计算资源(例如,处理器资源、存储器资源等)。

  分段转换表可以包括定义IP有效载荷分组在通过节点网络时可以采用的路径的一个或多个分段的值。例如,分段转换表可以包括一个或多个严格路由分段、一个或多个松散路由分段、和/或严格和松散路由分段的组合。

  在一些实现中,节点网络中的节点可以生成和/或更新包括一组松散路由分段的分段转换表。例如,节点可以基于由节点网络中的另一节点传输的网络拓扑消息来生成和/或更新分段转换表。如上所述,网络拓扑消息可以包括标识与另一节点相关联的SID(例如,节点网络唯一的SID)的松散路由分段字段。基于网络拓扑消息,节点可以确定要与SID相关联的IP地址(例如,基于松散路由分段字段的父字段)。因此,对于每个松散路由分段,分段转换表可以包括可以用于标识终端接口的SID和IP地址(例如,IPv6地址)。IP地址可以是全局IP地址(例如,全局范围地址、唯一本地地址(ULA)等)。

  另外地或备选地,节点网络中的节点可以生成和/或更新包括一组严格路由分段的分段转换表。例如,节点可以基于由节点网络中的另一节点传输的网络拓扑消息来生成和/或更新分段转换表。如上所述,网络拓扑消息可以包括标识与另一节点相关联的SID(例如,节点唯一的SID)的严格路由分段字段。基于网络拓扑消息,节点可以确定要与SID相关联的IP地址(例如,全局IP地址和/或链路本地IP地址)和/或链路(例如,基于严格路由分段字段的父字段和/或兄弟字段)。因此,对于每个严格路由分段,分段转换表可以包括SID、可以用于标识严格路由分段终止的接口(即,终端接口)的一个或多个IP地址(例如,全局IP地址、链路本地IP地址等)、以及将节点连接到终端接口的链路。严格路由分段终止的接口是全局IP地址(例如,全局范围的IP地址、ULA等)或链路本地IPv6地址。当向中间节点发送IP有效载荷分组时,可以使用链路本地IPv6地址,而当向边缘节点(例如,出口节点)发送IP有效载荷分组时,可以使用全局IP地址。

  图1D中示出了包括严格路由分段的分段转换表的示例。如图1D所示,第一严格路由分段可以包括为129的SID、为2001:db8::1的全局IP地址、为fe80:0:0:1::2的链路本地IPv6地址、以及从第一边缘节点到第一中间节点的接口(示出为A→I1)。第二严格路由分段可以包括为130的SID、为2001:db8::2的全局IP地址、为fe80:0:0:2::2的链路本地IPv6地址、以及从第一边缘节点到第二中间节点的接口(示出为A→I2)。在一些情况下,入口节点(例如,第一边缘节点)可以包括用于IP有效载荷分组的整个路由的主分段列表(例如,其在图1D中示出为用于其他节点的分段转换表的一部分)。

  如图1E和附图标记125所示,节点网络中的节点可以基于分段转换表使用CRH来路由网络业务。在这种情况下,第一边缘节点可以配置有路由指令。例如,第一边缘节点可以配置有用于以下各项的路由指令:指定某些IP有效载荷分组在通过网络时将要采用的特定路径、标识某些IP有效载荷分组在通过网络时将要采用的一个或多个所需要的跳等。在这种情况下,第一边缘节点可以配置有已经由以下各项提供的路由指令:网络控制器、与网络管理员相关联的设备、已经明确请求某些IP有效载荷分组经受路由指令的客户端的设备等。路由指令可以适用于所有IP有效载荷分组、特定类型的IP有效载荷分组、具有特定源IP地址和/或目的地IP地址的IP有效载荷分组等。

  第一对等设备可以向第一边缘节点提供IP有效载荷分组。例如,第一对等设备可以使用有效载荷报头封装IP有效载荷分组。有效载荷报头可以是IPv4有效载荷报头、IPv6有效载荷报头、以太网有效载荷报头等。有效载荷报头可以包括第一对等设备的源IP地址(示出为192.179.1.11)和第二对等设备的目的地IP地址(示出为192.179.2.10)。

  第一边缘节点可以使用已经使用CRH扩展的IPv6传输报头来封装IP有效载荷分组。例如,第一边缘节点可以参考分段转换表和/或路由指令来确定将要使用已经使用CRH扩展的IPv6传输报头来封装IP有效载荷分组(例如,基于分段转换表中包括的与CRH能力相关的信息)。作为示例,路由指令可以指示具有特定源IP地址或目的地IP地址的IP有效载荷分组将要使用利用CRH扩展的IPv6传输报头来封装。

  CRH可以包括定义IP有效载荷分组的路径的SID列表、总分段值、剩余分段值、压缩值、下一报头值、报头扩展长度、路由类型、和保留值。SID列表可以包括与分段转换表中包括的SID列表相对应的节点特定值的列表。总分段值可以标识IP有效载荷分组到达最终跳节点(例如,第二边缘设备)所需要的最大分段数量。剩余分段值可以标识源节点(例如,接收IP有效载荷分组的节点)与第二边缘节点之间的剩余分段数量。关于CRH的剩余值的描述可以在下面关于图2找到。

  在一些实现中,在确定要包括在CRH中的哪些值之前,第一边缘节点可以更新IPv6传输报头中包括的源IP地址和目的地IP地址。例如,第一边缘节点可以使用第一边缘节点的全局IP地址来更新源IP地址,并且可以使用下一跳节点的链路本地IPv6地址(其可以在分段转换表中找到)来更新目的地IP地址。

  在一些实现中,第一边缘节点可以选择要包括在CRH中的值。例如,第一边缘节点可以选择在分段转换表中标识的值作为SID列表的值。另外,第一边缘节点可以基于SID列表中的条目数量来确定总分段值。CRH中的一个或多个附加值可以以本文中其他地方描述的方式来选择或生成。

  在一些实现中,第一边缘节点可以使用已经使用CRH扩展的IPv6传输报头来封装IP有效载荷分组。例如,第一边缘节点可以封装IP有效载荷分组,使得IPv6传输报头是IP有效载荷分组的最外部报头。在IP有效载荷分组与IPv6传输报头之间可以是一组扩展报头(例如,逐跳扩展报头、路由扩展报头、目的地报头等),这些扩展报头不是本文中描述的过程的一部分。

  第一边缘节点可以向在SID列表中指定的中间节点(例如,第一中间节点)提供已经封装的IP有效载荷分组。以这种方式,第一边缘节点能够使用已经使用CRH扩展的IPv6传输报头来封装IP有效载荷分组,并且能够使用CRH中包括的值来将IP有效载荷分组路由到网络中的下一跳。

  中间节点可以对IP有效载荷分组执行一个或多个报头预处理检查和/或一个或多个安全检查。例如,中间节点可以确定IPv6传输报头中包括的目的地IP地址是否与中间节点的IP地址相匹配。这是因为,仅当IPv6传输报头中包括的目的地IP地址与节点的IP地址相匹配时,该组节点才被配置为处理、更新和/或修改CRH。在该示例中,中间节点可以确定目的地IP地址与中间节点的IP地址相匹配(例如,IPv6传输报头的目的地IP地址可以为fe80:0:0:1::2,这是第一中间节点的链路本地IPv6地址)。

  中间节点可以确定IP有效载荷分组的路径中的剩余分段的数量。例如,中间节点可以处理CRH的剩余分段值以确定路径中的剩余分段的数量。如果剩余分段值大于零,则中间节点可以继续处理CRH。如果剩余分段值为零,则中间节点可以停止处理CRH并且处理IP有效载荷分组的下一报头(例如,扩展报头、有效载荷报头等之一)。实际上,仅当网络中的最终节点正在接收IP有效载荷分组时,剩余分段值才为零。这为最终节点提供了标识IP有效载荷分组何时到达网络中的最后一跳并且可以导致最终节点放弃CRH的处理并且将IP有效载荷分组路由到网络外部的设备的方式,这将在本文中进一步描述。

  中间节点可以执行一个或多个安全检查。例如,中间节点可以确定IPv6传输报头中包括的源IP地址是否是链路本地IPv6地址,可以确定IPv6传输报头中包括的源IP地址或目的地IP地址是否是多播地址,确定是否已超过跳限制,可以确定IP有效载荷分组是否格式错误,等等。

  中间节点可以确定IP有效载荷分组的下一分段。例如,中间节点可以通过从总分段值中减去剩余分段值来确定下一分段的索引i。另外,中间节点可以标识SID列表中的索引位置i处的SID号。这允许中间节点通过在分段转换表中搜索可以与下一跳节点的全局IP地址、下一跳节点的链路本地IPv6地址和到下一跳节点的链路的链路标识符相关联地存储的对应SID来确定下一分段。

  中间节点可以更新IP有效载荷分组的目的地IP地址和剩余分段值。例如,中间节点可以使用下一跳节点的全局IP地址或链路本地IPv6地址来转换目的地IP地址。在这种情况下,如果剩余分段值是1(或指示下一分段是最终分段的另一值),则中间节点可以使用全局IP地址转换目的地IP地址,或者如果剩余分段值大于1(或指示下一分段不是最终分段的另一值),则中间节点可以使用链路本地IPv6地址替换目的地IP地址。在一些情况下,中间节点可以将8位、16位、32位或64位分段标识符转换为128位IPv6地址。

  在一些实现中,中间节点可以更新剩余分段值。例如,中间节点可以将剩余分段值递减1。以这种方式,中间节点能够使用CRH来确定IP有效载荷分组的下一分段,并且能够更新IP有效载荷分组的一个或多个值,这些值允许后续节点继续路由IP有效载荷分组。

  中间节点可以向另一中间节点(例如,在SID列表中指定的下一跳中间节点)提供已经封装的IP有效载荷分组。IP有效载荷分组的IPv6传输报头可以包括第一端点节点的源IP地址和作为另一中间节点的链路本地IPv6地址的目的地IP地址。另一中间节点可以以与上面结合中间节点描述的方式类似的方式执行CRH的处理。

  在通过一个或多个中间节点处理CRH(例如,以根据为IP有效载荷分组定义的路径来转发封装的IP有效载荷分组)之后,中间节点可以向第二边缘节点(节点B)提供封装的IP有效载荷分组。IP有效载荷分组可以包括第一边缘节点的源IP地址(2001:db8::a)和第二边缘节点的目的地IP地址(2001:db8::b)。在一些实现中,第二边缘节点可以以本文中其他地方描述的方式执行一个或多个报头预处理检查。

  第二边缘节点可以基于剩余分段的数量来确定IP有效载荷分组的下一跳。例如,第二边缘节点可以处理CRH以确定剩余分段值等于零。

  在一些实现中,因为剩余分段值是零,所以第二边缘节点可以放弃CRH的附加处理,并且可以处理IP有效载荷分组的一个或多个其他报头(例如,有效载荷报头等)。在所示示例中,有效载荷报头可以包括第二对等设备的目的地IP地址(192.179.2.10),该地址可以允许第二边缘设备将IP有效载荷分组路由到第二对等设备。

  第二边缘节点可以通过参考分段转换表来确定下一跳。第二边缘节点可以配置有分段转换表,该分段转换表将第二对等设备的目的地IP地址存储为转换表的一部分(例如,代替全局IP地址,并且对于链路-链路本地IPv6地址,具有空值),并且可以参考分段转换表来标识第二对等设备的目的地IP地址。

  以这种方式,该组节点能够使用CRH以使用严格定义的路径的方式来路由IP有效载荷分组通过网络,而不需要在分段列表中包括严格定义的路径中的每一跳的IP地址。这相对于将花费大量资源来对更长更传统的分段路由报头执行复制操作的其他类型的分段路由报头节省了资源(例如,处理资源、网络资源、存储器资源等)。

  如上所述,图1A-1E仅作为一个或多个示例提供。其他示例可以与关于图1A-1E描述的不同。

  图2是示例CRH 200的图。如图2所示,CRH 200可以包括下一报头字段、报头扩展长度字段、路由类型字段、剩余分段字段(示出为剩余分段)、总分段字段(示出为分段数目)、保留字段、压缩字段和SID列表字段。下一报头字段可以包括标识紧跟在IP报头之后的报头的类型(例如,IPv6报头)的8位选择器值。报头扩展长度字段可以包括标识以8个8位字节为单位的逐跳选项报头的长度的8位无符号整数值,但是其中不包括前8个8位字节。

  路由类型字段可以包括用于特定路由报头变体的8位标识符值,如可以由互联网号码分配机构(IANA)定义的。剩余分段字段可以包括标识源节点(例如,接收IP有效载荷分组的节点)与最终跳节点(例如,作为路径中的最终分段的一部分的节点)之间的剩余分段的数量的值。总分段字段可以包括标识IP有效载荷分组到达最终跳节点所需要的最大分段数量的值。该值可以由SID列表中的条目的数量来定义。保留字段可以包括被发送方节点设置为零并且被接收方节点忽略的值。

  压缩字段可以包括2位值,可以检查该2位值以确定IP有效载荷分组是否格式错误。例如,压缩字段可以包括节点可以处理以确定最小CRH长度的值,该值可以允许节点确定IP有效载荷分组是否格式错误。最小CRH长度以8个8位字节为单位来测量,其中不包括前8个8位字节。压缩字段可以例如包括为0、1、2或3的值。为0的值可以对应于8位编码,为1的值可以对应于16位编码,为2的值可以对应于32位编码,为3的值可以对应于64位编码。此外,如果压缩值设置为值2或值3,则SID列表从32位边界开始。在这些情况下,可以扩展保留字段。在所有情况下,CRH都以64位边界结束。因此,CRH可以用零填充。

  作为示例,为了计算最小CRH长度,节点可以提供压缩值和总分段数量作为计算最小CRH长度的算法的输入。为了提供示例伪代码,节点可以执行以下操作:如果(压缩值==0),则将值x设置为等于总分段值减去2,将压缩值设置为等于x除以8,而如果x除以8有余数,则将压缩值递增1。如果(压缩值==1),则将x设置为等于总分段值减去1,将压缩值设置为等于x除以4,而如果x除以4有余数,则将压缩值递增1。如果(压缩值==2),则将x设置为等于总分段数量,将压缩值设置为等于x除以2,而如果x除以2有余数,则将压缩值递增1。如果(压缩值==3),则将压缩值设置为等于总分段值。

  SID列表字段可以包括表示分段列表中的分段的一组SID值。在一些实现中,诸如当分段列表包括松散路由分段时,每个SID可以包括唯一值。在一些实现中,诸如当分段列表包括严格路由分段时,每个SID对于节点可以是唯一的,使得可以在多个节点上使用相同的SID值。

  如上所述,图2作为示例提供。其他示例可以与关于图2描述的示例不同。例如,可以存在与图2所示的相比更多的字段和/或值、更少的字段和/或值、不同的字段和/或值、或者不同地布置的字段和/或值。

  图3A-3D是示例TLV元素300的示图。TLV元素300可以包括CRH能力TLV元素310、松散路由分段TLV元素320、严格路由分段TLV元素330、以及用于LAN的严格路由分段TLV元素340。TLV元素300可以是与父TLV元素相关联的子TLV元素,如上所述。TLV元素300可以包括类型字段和长度字段。类型字段可以包括标识可以由IANA定义的TLV元素的特定类型的8位值(例如,将TLV元素标识为CRH能力TLV元素、松散路由分段TLV元素、严格路由分段TLV元素、或者用于LAN的严格路由分段TLV元素的值)。长度字段可以包括标识除了TLV元素的报头之外的TLV元素的数据长度的8位值。

  如图3A所示,TLV元素300可以包括CRH能力TLV元素310。除了类型字段和长度字段之外,CRH能力TLV元素310可以包括最大支持CRH长度字段(示出为最大CRH长度)和保留字段。最大支持CRH长度字段可以标识由传输包括CRH能力TLV元素310的网络拓扑消息的发送方节点支持的最大CRH长度。最大支持CRH长度字段可以包括标识以8个8位字节为单位所支持的CRH长度的8位值,但是其中不包括前8个8位字节。保留字段可以包括被发送方节点设置为零并且被接收方节点忽略的值。

  如图3B所示,TLV元素300可以包括松散路由分段TLV元素320。除了类型字段和长度字段之外,松散路由分段TLV元素320可以包括保留字段、算法字段和SID字段。保留字段可以包括被发送方节点设置为零并且被接收方节点忽略的值。算法字段可以包括标识发送方节点在计算到其他节点的可达性时使用的算法的8位值。例如,该值可以标识最短路径优先算法、严格最短路径优先算法等。SID字段可以包括标识SID(例如,与在松散路由分段TLV元素320的父TLV元素中标识的IP地址相关联的SID)的可变长度值(例如,从8位到64位),如本文中描述的。

  如图3C所示,TLV元素300可以包括严格路由分段TLV元素330。除了类型字段和长度字段之外,严格路由分段TLV元素330可以包括标志字段、权重字段和SID字段。标志字段可以包括标识适用于SID的标志的类型(例如,映射到分段转换表中的SID)的8位值。标志的类型可以是备份标志、设置标志和/或持久标志。备份标志可以指示在由SID标识的节点之间的分段停用时将要使用(或不使用)的节点之间的备份分段。设置标志可以指示SID参考(或不参考)一组邻接并且因此可以被分配给其他邻接。持久标志可以指示SID被持久地分配给特定分段(例如,当重新启动关联节点时,分段的SID不会改变,等等)。权重字段可以包括标识分配给与SID相关联的分段的负载平衡权重的8位值。SID字段可以包括标识SID(例如,与在严格路由分段TLV元素330的兄弟TLV元素中标识的IP地址相关联的SID)的可变长度值(例如,从8位到64位),如本文中描述的。

  如图3D所示,TLV元素300可以包括用于LAN 340的严格路由分段TLV元素。除了类型字段和长度字段之外,用于LAN 340的严格路由分段TLV元素可以包括标志字段、权重字段、邻居系统标识符字段(示出为邻居系统ID)和SID字段。标志字段和权重字段可以类似于结合严格路由分段TLV元素330描述的那些。邻居系统标识符字段可以包括标识IS-IS系统的6字节值。SID字段可以包括标识SID(例如,与在用于LAN 340的严格路由分段TLV元素的兄弟TLV元素中标识的IP地址相关联的SID)的可变长度值(例如,从8位到64位),如本文中描述的。

  如上所述,图3A-3D作为示例提供。其他示例可以与关于图3A-3D描述的不同。例如,可以存在与图3A-3D所示的相比更多的字段和/或值、更少的字段和/或值、不同的字段和/或值、或者不同地布置的字段和/或值。

  图4是其中可以实现本文中描述的系统和/或方法的示例环境400的图。如图4所示,环境400可以包括一个或多个对等设备410、一组节点420(示出为节点420-1至节点420-N)、和网络430。环境400的设备可以经由有线连接、无线连接或有线和无线连接的组合进行互连。

  对等设备410包括能够接收和/或提供网络业务的一个或多个设备。例如,对等设备410可以包括业务传输设备,诸如路由器、网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、执行虚拟机的服务器等)、安全设备、入侵检测设备、负载平衡器或类似类型的设备。在一些实现中,对等设备410可以包括作为网络业务的源或目的地的端点设备。例如,对等设备410可以包括计算机或类似类型的设备。对等设备410可以经由网络430从其他对等设备410接收网络业务(例如,有效载荷分组)和/或向其他对等设备410提供网络业务(例如,有效载荷分组)(例如,通过使用(多个)节点420作为中介来路由有效载荷分组)。在一些实现中,对等设备410可以包括位于一个或多个网络的边缘处的边缘设备。例如,对等设备410可以从网络430外部的设备接收网络业务和/或可以向网络430外部的设备提供网络业务(例如,有效载荷分组)。

  节点420包括能够以本文中描述的方式接收、处理、存储、路由和/或提供业务(例如,有效载荷分组、文件等)的一个或多个设备。例如,节点420可以包括路由器,诸如标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供商路由器(例如,提供商边缘路由器、提供商核心路由器等)、虚拟路由器等。另外地或备选地,节点420可以包括网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载平衡器和/或类似设备。

  在一些实现中,节点420可以是在壳体(诸如机箱)内实现的物理设备。在一些实现中,节点420可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。

  在一些实现中,节点420可以配置有一个或多个分段转换表。在一些实现中,节点420可以从对等设备410接收有效载荷分组。在一些实现中,节点420可以使用压缩路由报头(CRH)来封装有效载荷分组,并且可以使用本文中其他地方描述的一种或多种技术将IP有效载荷分组路由到另一节点420。在一些实现中,节点420可以是网络430中的边缘节点。在一些实现中,节点420可以是网络430中的中间节点(即,两个或更多个边缘节点之间的节点)。

  网络430包括一个或多个有线和/或无线网络。例如,网络430可以包括蜂窝网络(例如,第五代(5G)网络、第四代(4G)网络(诸如长期演进(LTE)网络)、第三代(3G)网络、码分多址(CDMA)网络、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、和/或这些或其他类型的网络的组合。

  图4所示的设备和网络的数量和布置作为一个或多个示例提供。实际上,可以存在与图4所示的相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图4所示的两个或更多个设备可以在单个设备内实现,或者图4所示的单个设备可以实现为多个分布式设备。另外地或备选地,环境400的一组设备(例如,一个或多个设备)可以执行被描述为由环境400的另一组设备执行的一个或多个功能。

  图5是设备500的示例组件的图。设备500可以对应于对等设备410和/或节点420。在一些实现中,对等设备410和/或节点420可以包括一个或多个设备500和/或设备500的一个或多个组件。如图5所示,设备500可以包括一个或多个输入组件505-1至505-B(B≥1)(下文中统称为输入组件505并且单独地称为输入组件505)、切换组件510、一个或多个输出组件515-1至515-C(C≥1)(下文中统称为输出组件515并且单独地称为输出组件515)、以及控制器520。

  输入组件505可以是物理链路的附接点,并且可以是诸如有效载荷分组等传入业务的入口点。输入组件505可以处理传入业务,诸如通过执行数据链路层封装或解封装。在一些实现中,输入组件505可以发送和/或接收有效载荷分组。在一些实现中,输入组件505可以包括输入线卡,输入线卡包括一个或多个有效载荷分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、有效载荷分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备500可以包括一个或多个输入组件505。

  切换组件510可以将输入组件505与输出组件515互连。在一些实现中,切换组件510可以经由一个或多个交叉开关,经由总线和/或通过共享存储器来实现。在最终调度有效载荷分组以传送到输出组件515之前,共享存储器可以充当临时缓冲器以存储来自输入组件505的有效载荷分组。在一些实现中,切换组件510可以使得输入组件505、输出组件515和/或控制器520能够通信。

  输出组件515可以存储有效载荷分组并且可以调度有效载荷分组以在输出物理链路上传输。输出组件515可以支持数据链路层封装或解封装、和/或各种更高级协议。在一些实现中,输出组件515可以发送有效载荷分组和/或接收有效载荷分组。在一些实现中,输出组件515可以包括输出线卡,输出线卡包括一个或多个有效载荷分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、有效载荷分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备500可以包括一个或多个输出组件515。在一些实现中,输入组件505和输出组件515可以由相同的一组组件实现(例如,并且输入/输出组件可以是输入组件505和输出组件515的组合)。

  控制器520包括处理器,诸如中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、ASIC和/或其他类型的处理器或处理组件。处理器以硬件、固件或软件和硬件的组合实现。在一些实现中,控制器520可以包括可以被编程以执行功能的一个或多个处理器。

  在一些实现中,控制器520可以包括存储供控制器520使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)和/或其他类型的动态或静态存储设备(例如,闪存、磁存储器、光学存储器等)。

  在一些实现中,控制器520可以与连接到设备500的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器520可以基于网络拓扑信息创建转换表,基于转换表创建转发表,并且将转发表转发到输入组件505和/或输出组件515。输入组件505和/或输出组件515可以使用转发表以执行传入和/或传出有效载荷分组的路由查找。在一些情况下,控制器520可以基于在初始化链路故障检测会话时确定的信息来创建会话表,并且可以将会话表转发到输入组件505和/或输出组件515。

  控制器520可以执行本文中描述的一个或多个过程。控制器520可以响应于执行由非暂态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中定义为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。

  可以将软件指令从另一计算机可读介质或经由通信接口从另一设备读入与控制器520相关联的存储器和/或存储组件。当执行时,存储在与控制器520相关联的存储器和/或存储组件中的软件指令可以引起控制器520执行本文中描述的一个或多个过程。另外地或备选地,可以使用硬连线电路代替软件指令或与软件指令组合来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。

  图5所示的组件的数量和布置作为示例提供。实际上,设备500可以包括与图5所示的相比更多的组件、更少的组件、不同的组件、或者不同地布置的组件。另外地或备选地,设备500的一组组件(例如,一个或多个组件)可以执行被描述为由设备500的另一组组件执行的一个或多个功能。

  图6是用于使用已经使用CRH扩展的传输报头来路由有效载荷分组通过网络的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由节点(例如,节点420)执行。在一些实现中,图6的一个或多个过程框可以由与节点分开或包括节点的另一设备或一组设备(诸如对等设备(例如,对等设备410)等)来执行。

  如图6所示,过程600可以包括接收与网络的松散路由分段相关的第一网络拓扑消息,其中第一网络拓扑消息将第一SID与和松散路由分段相关联的第一终端接口的地址相关联(框610)。例如,节点(例如,使用输入组件505、切换组件510、控制器520等)可以接收与网络的松散路由分段相关的第一网络拓扑消息,如上所述。在一些实现中,第一网络拓扑消息将第一SID与和松散路由分段相关联的第一终端接口的地址相关联。

  如图6中进一步所示,过程600可以包括生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联(框620)。例如,节点(例如,使用切换组件510、控制器520等)可以生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联,如上所述。

  如图6中进一步所示,过程600可以包括接收与网络的严格路由分段相关的第二网络拓扑消息,其中第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联(框630)。例如,节点(例如,使用输入组件505、切换组件510、控制器520等)可以接收与网络的严格路由分段相关的第二网络拓扑消息,如上所述。在一些实现中,第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联。

  如图6中进一步所示,过程600可以包括生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联(框640)。例如,节点(例如,使用切换组件510、控制器520等)可以生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段由相关联的第二终端接口的地址相关联,如上所述。

  如图6中进一步所示,过程600可以包括接收已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,其中CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表(框650)。例如,节点(例如,使用输入组件505、切换组件510、控制器520等)可以接收已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,如上所述。在一些实现中,CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表。

  如图6中进一步所示,过程600可以包括通过参考SID列表来确定IP有效载荷分组的下一SID,其中下一SID与第一终端接口或第二终端接口之一相关联(框660)。例如,节点(例如,使用切换组件510、控制器520等)可以通过参考SID列表来确定IP有效载荷的下一SID,如上所述。在一些实现中,下一SID与第一终端接口或第二终端接口之一相关联。

  如图6中进一步所示,过程600可以包括基于分段转换表来标识与下一SID相关联的地址(块670)。例如,节点(例如,使用切换组件510、控制器520等)可以基于分段转换表来标识与下一SID相关联的地址,如上所述。

  如图6中进一步所示,过程600可以包括基于与下一SID相关联的地址来将IP有效载荷分组路由到第一终端接口或第二终端接口(框680)。例如,节点(例如,使用切换组件510、输出组件515、控制器520等)可以基于与下一SID相关联的地址来将IP有效载荷分组路由到第一终端接口或第二终端接口,如上所述。

  过程600可以包括另外的实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程描述的任何单个实现或任何实现的组合。

  在第一实现中,过程600还可以包括:在接收第一网络拓扑消息和第二网络拓扑消息之前,接收与网络的另一节点的CRH处理能力相关的第三网络拓扑消息,其中另一节点与严格路由分段或松散路由分段相关联。在第二实现中,单独地或与第一实现相结合,第一网络拓扑消息包括父元素和子元素,其中父元素标识第一终端接口的地址,并且子元素标识第一SID。在第三实现中,单独地或与第一实现和第二实现中的一个或多个相结合,第二网络拓扑消息包括第一子元素和第二子元素,其中第一子元素标识第二终端接口的地址并且第二子元素标识第二SID。

  在第四实现中,单独地或与第一实现到第三实现中的一个或多个相结合,第二网络拓扑消息还与到局域网的指定中间系统的邻接相关。在第五实现中,单独地或与第一实现到第四实现中的一个或多个相结合,第二网络拓扑消息还标识节点与和严格路由分段相关联的另一节点之间的链路,并且分段转换表中的第二条目还将第二SID与链路相关联。在第六实现中,单独地或与第一实现到第五实现中的一个或多个相结合,第二网络拓扑消息还标识当严格路由分段停用时是否可以使用备选分段,并且分段转换表中的第二条目还将第二SID与是否可以使用备选分段的指示相关联。

  尽管图6示出了过程600的示例框,但是在一些实现中,过程600可以包括与图6所示的相比更多的框、更少的框、不同的框、或者不同地布置的框。另外地或备选地,过程600的两个或更多个框可以并行执行。

  图7是用于使用已经使用CRH扩展的传输报头来路由有效载荷分组通过网络的示例过程700的流程图。在一些实现中,图7的一个或多个过程框可以由节点(例如,节点420)执行。在一些实现中,图7的一个或多个过程框可以由与节点分开或包括节点的另一设备或一组设备(诸如对等设备(例如,对等设备410)等)来执行。

  如图7所示,过程700可以包括接收与网络的松散路由分段相关的第一网络拓扑消息,其中第一网络拓扑消息将第一SID与和松散路由分段相关联的第一终端接口的地址相关联(框710)。例如,节点(例如,使用输入组件505、切换组件510、控制器520等)可以接收与网络的松散路由分段相关的第一网络拓扑消息,如上所述。在一些实现中,第一网络拓扑消息将第一SID与和松散路由分段相关联的第一终端接口的地址相关联。

  如图7中进一步所示,过程700可以包括生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联(框720)。例如,节点(例如,使用切换组件510、控制器520等)可以生成分段转换表中的第一条目,第一条目将第一SID与和松散路由分段相关联的第一终端接口的地址相关联,如上所述。

  如图7中进一步所示,过程700可以包括接收与网络的严格路由分段相关的第二网络拓扑消息,其中第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联(框730)。例如,节点(例如,使用输入组件505、切换组件510、控制器520等)可以接收与网络的严格路由分段相关的第二网络拓扑消息,如上所述。在一些实现中,第二网络拓扑消息将第二SID与和严格路由分段相关联的第二终端接口的地址相关联。

  如图7中进一步所示,过程700可以包括生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联,其中分段转换表将要用于路由已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,并且其中CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表(框740)。例如,节点(例如,使用切换组件510、控制器520等)可以生成分段转换表中的第二条目,第二条目将第二SID与和严格路由分段相关联的第二终端接口的地址相关联,如上所述。在一些实现中,分段转换表将要用于路由已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展。在一些实现中,CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表。

  过程700可以包括另外的实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程描述的任何单个实现或任何实现的组合。

  在第一实现中,过程700还可以包括:在接收第一网络拓扑消息和第二网络拓扑消息之前,接收与另一节点的CRH处理能力相关的第三网络拓扑消息,其中另一节点与严格路由分段或松散路由分段相关联,并且分段转换表中的第一条目或第二条目与另一节点相关联。在第二实现中,单独地或与第一实现相结合,过程700还可以包括:在接收到第三网络拓扑消息之后,接收与另一节点支持的一个或多个分段路由算法相关的第四网络拓扑消息,以及生成标识另一节点支持的一个或多个分段路由算法的记录。

  在第三实现中,单独地或与第一实现和第二实现中的一个或多个相结合,第二网络拓扑消息还标识节点与和严格路由分段相关联的另一节点之间的链路,并且分段转换表中的第二条目还将第二SID与链路相关联。在第四实现中,单独地或与第一实现到第三实现中的一个或多个相结合,第二网络拓扑消息还标识严格路由分段是否与一组邻接相关联,并且分段转换表中的第二条目还将第二SID与严格路由分段是否与该组邻接相关联的指示相关联。在第五实现中,单独地或与第一实现到第四实现中的一个或多个相结合,第二网络拓扑消息还标识要分配给严格路由分段的负载平衡权重。

  在第六实现中,单独地或与第一实现到第五实现中的一个或多个相结合,第一SID具有与第二SID不同的长度。

  尽管图7示出了过程700的示例框,但是在一些实现中,过程700可以包括与图7所示的相比更多的框、更少的框、不同的框、或者不同地布置的框。另外地或备选地,过程700的两个或更多个框可以并行执行。

  图8是用于使用已经使用CRH扩展的传输报头来路由有效载荷分组通过网络的示例过程800的流程图。在一些实现中,图8的一个或多个过程框可以由节点(例如,节点420)执行。在一些实现中,图8的一个或多个过程框可以由与节点分离或包括节点的另一设备或一组设备(诸如对等设备(例如,对等设备410)等)来执行。

  如图8所示,过程800可以包括接收标识以下之一的网络拓扑消息:与网络的松散路由分段相关的第一SID与和松散路由分段相关联的第一终端接口的地址的第一关联、或者与网络的严格路由分段相关的第二SID与和严格路由分段相关联的第二终端接口的地址的第二关联(框810)。例如,节点(例如,使用输入组件505、切换组件510、控制器520等)可以接收标识以下之一的网络拓扑消息:与网络的松散路由分段相关的第一SID与和松散路由分段相关联的第一终端接口的地址的第一关联、或者与网络的严格路由分段相关的第二SID与和严格路由分段相关联的第二终端接口的地址的第二关联,如上所述。

  如图8中进一步所示,过程800可以包括基于在网络拓扑消息中标识的第一关联或在网络拓扑消息中标识的第二关联来生成分段转换表中的条目(框820)。例如,节点(例如,使用切换组件510、控制器520等)可以基于在网络拓扑消息中标识的第一关联或在网络拓扑消息中标识的第二关联来生成分段转换表中的条目,如上所述。

  如图8中进一步所示,过程800可以包括根据分段转换表来路由已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,其中CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表(框830)。例如,节点(例如,使用切换组件510、输出组件515、控制器520等)可以根据分段转换表来路由已经使用IPv6传输报头封装的IP有效载荷分组,IPv6传输报头已经使用可变长度的CRH扩展,如上所述。在一些实现中,CRH包括标识IP有效载荷分组在路由通过网络时将要遍历的一组节点的SID列表。

  过程800可以包括另外的实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程描述的任何单个实现或任何实现的组合。

  在第一实现中,过程800还可以包括在接收网络拓扑消息之前,接收与另一节点的CRH处理能力相关的初始网络拓扑消息,其中另一节点与严格路由分段或松散路由分段相关联,并且分段转换表中的条目与另一节点相关联。

  在第二实现中,单独地或与第一实现相结合,网络拓扑消息与节点的可达性相关。在第三实现中,单独地或与第一实现和第二实现中的一个或多个相结合,网络拓扑消息与节点的邻居节点相关。

  在第四实现中,单独地或与第一实现到第三实现中的一个或多个相结合,网络拓扑消息还标识第二SID是否被持久地分配给严格路由分段,其中第二关联是第二SID、第二终端接口的地址、以及第二SID是否被持久地分配给严格路由分段的指示之间的关联。在第五实现中,单独地或与第一实现到第四实现中的一个或多个相结合,网络拓扑消息包括一个或多个类型长度值元素。

  尽管图8示出了过程800的示例框,但是在一些实现中,过程800可以包括与图8所示的相比更多的框、更少的框、不同的框、或者不同地布置的框。另外地或备选地,过程800的两个或更多个框可以并行执行。

  前述公开内容提供说明和描述,但并非旨在穷举或将实现限于所公开的精确形式。修改和变化鉴于以上公开内容而是可能的,或者可以从实现的实践中获取。

  如本文中使用的,术语“业务”或“内容”可以包括一组分组。分组可以是指用于传送信息的通信结构,诸如协议数据单元(PDU)、网络分组、数据报、分段、消息、块、小区、帧、子帧、时隙、符号、上述中的任一个的一部分、和/或能够经由网络来传输的其他类型的格式化或未格式化的数据单元。

  如本文中使用的,术语“组件”旨在广义地解释为硬件、固件和/或硬件和软件的组合。

  很清楚的是,本文中描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制实现。因此,本文中描述了系统和/或方法的操作和行为,而没有参考特定的软件代码——应当理解,可以设计软件和硬件以基于本文中的描述来实现这些系统和/或方法。

  尽管在权利要求中记载和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制各种实现的公开。实际上,这些特征中的很多特征可以以未在权利要求中具体记载和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以直接仅从属于一个权利要求,但是各种实现的公开包括每个从属权利要求与权利要求组中的每个其他权利要求的组合。

  除非明确地如此描述,否则本文中使用的元素、动作或指令不应当被解释为是关键或必要的。此外,如本文中使用的,冠词“一个(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可以与“一个或多个”可互换地使用。在仅有一个项目的情况下,使用短语“仅一个(only one)”或类似的语言。此外,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。

《用于网络的压缩路由报头信息.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)