CN111385199B - 经压缩的路由报头 - Google Patents
经压缩的路由报头 Download PDFInfo
- Publication number
- CN111385199B CN111385199B CN201910933631.1A CN201910933631A CN111385199B CN 111385199 B CN111385199 B CN 111385199B CN 201910933631 A CN201910933631 A CN 201910933631A CN 111385199 B CN111385199 B CN 111385199B
- Authority
- CN
- China
- Prior art keywords
- segment
- node
- address
- payload packet
- crh
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本公开实施例涉及经压缩的路由报头。节点接收包括IPv6传输报头的互联网协议(IP)有效载荷分组,IPv6传输报头已利用压缩路由报头(CRH)进行扩展。CRH包括分段标识符(SID)列表,分段标识符标识IP有效载荷分组将遍历的节点。节点通过参考SID列表来确定IP有效载荷分组的下一分段。节点将IPv6传输报头中包括的目的IP地址更新为下一跳节点的特定目的IP地址。节点对包括在CRH中的剩余分段值进行更新,剩余分段值标识在IP有效载荷分组的路由中留下的分段的数目。节点将IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备。
Description
技术领域
本公开涉及压缩的路由报头。
背景技术
诸如IPv6节点的互联网协议(IP)源节点可以通过到目的的特定路径来引导有效载荷分组。例如,源节点可以将路径限定为分段的有序列表,并且可以在IPv6路由报头中对路径进行编码。
发明内容
根据一些实现方式,一种方法可以包括由节点接收已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组。IPv6传输报头可以包括节点的目的IP地址。IPv6传输报头可能已利用压缩路由报头(CRH)进行扩展。CRH可以包括分段标识符列表(SID),分段标识符标识IP有效载荷分组在通过网络路由时将遍历的节点集合。方法可以包括由节点并通过参考CRH中包括的SID列表来确定IP有效载荷分组的下一分段。方法可以包括由节点并基于确定下一分段来将目的IP地址更新为下一跳节点的特定目的IP地址。方法可以包括由节点更新包括在CRH中的剩余分段值,剩余分段值标识在IP有效载荷分组的路由中留下的分段数目。方法可以包括由节点将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备。
根据一些实现方式,节点可以包括一个或多个存储器以及一个或多个处理器,以接收已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组,IPv6传输报头已利用压缩路由报头(CRH)进行扩展。CRH可以包括分段标识符列表(SID),分段标识符标识IP有效载荷分组在通过网络进行路由时将遍历的节点集合。SID列表可以具有8比特到64比特之间的可变长度。一个或多个处理器可以通过参考SID列表来确定IP有效载荷分组的下一分段。一个或多个处理器可以基于确定下一分段,将目的IP地址更新为下一跳节点的特定目的IP地址。一个或多个处理器可以更新包括在CRH中的剩余分段值,剩余分段值标识在IP有效载荷分组的路由中留下的分段数目。一个或多个处理器可以将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备。
根据一些实现方式,非瞬态计算机可读介质可以存储一个或多个指令,当一个或多个指令由节点的一个或多个处理器执行时,使得一个或多个处理器接收已使用包括IPv6传输报头的报头集合封装的互联网协议(IP)有效载荷分组。IPv6传输报头可以包括节点的目的IP地址。IPv6传输报头可能已利用压缩路由报头(CRH)进行扩展,压缩路由报头(CRH)包括分段标识符(SID)列表,分段标识符标识IP有效载荷分组在通过网络进行路由时将遍历的节点集合。SID列表可以具有可变长度:八比特、十六比特、三十二比特或六十四比特。一个或多个指令可以使得一个或多个处理器通过参考CRH中包括的SID列表来确定针对IP有效载荷分组的下一分段。一个或多个指令可以使得一个或多个处理器将目的IP地址更新为下一跳节点的特定目的IP地址。一个或多个指令可以使得一个或多个处理器更新包括在CRH中的剩余分段值,剩余分段值标识在IP有效载荷分组的路由中留下的分段的数目。一个或多个指令可以使得一个或多个处理器将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或者目的设备。
附图说明
图1A-图1H是本文描述的一个或多个示例实现方式的图。
图2是一个示例压缩路由报头(CRH)的图。
图3是可以实现本文描述的系统和/或方法的示例环境的图。
图4是图3的一个或多个设备的示例组件的图。
图5-图7是使用传输报头将有效载荷分组路由通过网络的示例过程的流程图,传输报头已利用压缩路由报头(CRH)进行扩展。
具体实现方式
以下对示例实现方式的详细描述参考附图。不同附图中的相同附图标记可标识相同或相似的元件。
节点网络可用于路由分组。在许多情况下,可以通过采用最小成本路径来通过网络路由分组。例如,分组可以具有通过网络的多个可能路径,并且节点可以使用路由协议(例如,边界网关协议(BGP)和/或类似协议)来选择通过网络路由的最小成本路径。
在一些情况下,可以使用分段路由来允许使用除最小成本路径之外的路径来路由分组。例如,使用网络来路由分组的客户端可能希望分组行进通过特定防火墙,以通过在网络中采用更长的路径来避免网络拥塞等。为了使用分段路由通过网络路由分组,可以使用分段路由报头来将分组封装,分段路由报头包括IP地址列表(或者具有与IP地址一样长的比特长度的分段标识符),IP地址列表用作分组在通过网络路由时采取的所需跳跃。作为示例,当网络中的节点接收分组时,节点可以处理分段路由报头中的IP地址列表来确定是否需要列表中标识的下一跳(而不是标识最小成本路径中的下一跳)。
然而,分段路由通常是通过网络路由分组的低效方式。例如,用于通过网络路由分组的许多节点具有专用集成电路(ASIC),专用集成电路将整个IP地址列表从缓冲存储器复制到片上存储器。如果IP地址列表很长,则节点可能花费大量处理资源来执行复制操作和/或花费大量存储器资源来存储列表。
本文描述的一些实现方式提供了节点网络,节点使用压缩路由报头(CRH)来使用预定义路径通过网络将封装的IP有效载荷分组路由,其中CRH包括分段标识符(SID)的列表,分段标识符具有8比特到64比特之间的可变长度。例如,节点集合可以各自被配置有定义预定义路径的一个或多个分段的特定分段转换表。如本文将进一步描述的,分段转换表可以包括严格路由的分段和/或松散路由的分段。在这种情况下,当第一边缘节点接收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地址),节点集合通过提供针对链路-本地地址欺骗的保护来进一步提高安全性。
图1A-图1H是本文描述的一个或多个示例实现方式100的图。例如,(多个)示例实现100可以包括第一对等设备(示出为对等设备1)、第二对等设备(示出为对等设备2)、以及作为网络的一部分的节点集合(例如,第一边缘节点(示出为节点A)、中间节点集合(示出为节点I1、节点I2和节点I3)、以及第二边缘节点(示出为节点B))。如图1A-图1H所示,节点集合可以被配置有特定分段转换表,并且可以使用特定分段转换表来通过网络路由已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组,IPv6传输报头已利用压缩路由报头(CRH)进行了扩展。
如图1A中所示,并且通过附图标记102,节点集合可以配置有分段转换表。例如,节点集合可以配置有帮助经由特定路径路由网络流量的分段转换表。分段转换表可以经由网络控制器、经由分布式路由协议和/或经由另一设备或技术被提供给节点集合。分段转换表可以包括限定IP有效载荷分组可以采取通过网络的路径的一个或多个分段的值。例如,分段转换表可以包括一个或多个严格路由的分段、一个或多个松散路由的段、和/或严格和松散路由的分段的组合。松散路由的分段可以被限定为从节点到终端接口的路径,其中节点和终端接口经由一个或多个其他节点和/或链路进行连接。严格路由的分段可以被限定为从节点到终端接口的路径,其中恰好有从节点到终端接口的一个链路。
在一些实现中,节点可以配置有包括严格路由分段集合的分段转换表。对于每个严格路由的分段,分段转换表可以包括对于节点唯一的SID、可以用于标识严格路由分段终止的接口(即,终端接口)的两个IP地址(例如,全局IP地址、链路-本地IPv6地址等)以及将节点连接到终端接口的一个链路。SID可以由比IP地址更便宜的节点复制的值来表示(例如,8比特值、16比特值等)。严格路由分段终止的接口是全局IP地址(例如,全局范围的IP地址、唯一的本地地址(ULA)等)或链路-本地IPv6地址。当向中间节点发送IP有效载荷分组时可以使用链路-本地IPv6地址,并且当向边缘节点(例如,出口节点)发送IP有效载荷分组时,可以使用全局IP地址。
如示例所示,网络节点集合可以配置有包括一个或多个严格路由分段的分段转换表。在该示例中,第一边缘节点(节点A)可以配置有具有两个严格路由分段的分段转换表。第一严格路由分段可以包括为129的SID、为2001:db8::1的全局IP地址、为fe80:0:0:1::2的链路-本地IPv6地址、以及从第一边缘节点到第一中间节点(示出为A->I1)的接口。第二严格路由分段可以包括为130的SID、为2001:db8::1的全局IP地址、为fe80:0:0:2::2的链路-本地IPv6地址、以及从第一边缘节点到第二个中间节点(显示为A->I2)的接口。在一些情况下,入口节点(例如,第一边缘节点)可以包括用于IP有效载荷分组的整个路由的分段主列表(例如,在图1A中示出为用于其他节点的分段转换表的一部分)。
附加地或备选地,节点可以配置有包括松散路由分段集合的分段转换表。对于每个松散路由分段,分段转换表可以包括SID、可以用于标识终端接口的IP地址、以及连接源节点和终端接口的一个或多个节点和/或链路。IP地址是全局IP地址(例如,全局范围地址、ULA等)。此外,包括松散路由分段的分段转换表可以被配置到节点集合中的每一个。
以这种方式,节点集合可以配置有可用于通过网络路由IP有效载荷分组的分段转换表。
如图1B所示,并且通过附图标记104,第一边缘节点可以配置有路由指令。例如,第一边缘节点可以配置有路由指令,路由指令指定某些IP有效载荷分组将通过网络采取的特定路径,并标识某些IP有效载荷分组将通过网络采取的一个或多个所需跳跃等。在这种情况下,第一边缘节点可以配置有路由指令,路由指令由网络控制器提供、由与网络管理员相关联的设备提供、由已明确请求某些IP有效载荷分组经受路由指令的客户端设备提供等。路由指令可以适用于所有IP有效载荷分组、特定类型的IP有效载荷分组、具有特定源IP地址和/或目的IP地址的IP有效载荷分组等。
作为示例,路由指令可以指示具有第一对等设备的源IP地址和/或具有第二对等设备的目的IP地址的有效载荷分组将从第一对等设备路由(对等设备1)到第一边缘节点(节点A)、从第一边缘节点路由到第一中间节点(节点I1)、从第一中间节点路由到第三中间节点(节点I3)、从第三中间节点路由到第二边缘节点(节点B)、以及从第二边缘节点路由到第二对等设备(对等设备2)。
如附图标记106所示,第一对等设备可以向第一边缘节点提供IP有效载荷分组。例如,第一对等设备可以将具有有效载荷报头(例如,IPv4有效载荷报头、IPv6有效载荷报头、以太网有效载荷报头等)的IP有效载荷分组封装。有效载荷报头可以是IPv4有效载荷报头、IPv6有效载荷报头、以太网有效载荷报头等。有效载荷报头可以包括第一对等设备的源IP地址(示出为192.179.1.11)和第二对等设备的目的IP地址(示出为192.179.2.10)。
以这种方式,第一边缘节点能够从第一对等设备接收IP有效载荷分组。
如图1C所示,并且通过附图标记108,第一边缘节点可以使用已使用压缩路由报头(CRH)扩展的IPv6传输报头来将IP有效载荷分组封装。例如,第一边缘节点可以引用分段转换表和/或路由指令,以使用已使用CRH扩展的IPv6传输报头来确定待封装的IP有效载荷分组。作为示例,路由指令可以指示具有特定源IP地址或目的IP地址的IP有效载荷分组将使用利用CRH扩展的IPv6传输报头进行封装。
CRH可以包括限定IP有效载荷分组的路径的SID列表、总分段值、剩余分段值、压缩值、下一报头值、报头扩展长度、路由类型、以及保留值。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传输报头之间可以是不是本文描述的过程的一部分的扩展报头(例如,逐跳扩展报头、路由扩展报头、目标报头等)集合。
如附图标记110所示,第一边缘节点可以提供已封装到第一中间节点的IP有效载荷分组。通过这种方式,第一边缘节点能够使用已利用CRH扩展的IPv6传输报头来将IP有效载荷分组封装,并且能够使用在CRH中包括的值来将IP有效载荷分组路由到网络中的下一跳。
如图1D所示,第一中间节点可以对IP有效载荷分组执行一个或多个报头预处理检查和/或一个或多个安全性检查。例如,并且如附图标记112所示,第一中间节点可以确定在IPv6传输报头包括中的目的IP地址是否与第一中间节点的IP地址匹配。这是因为仅当IPv6传输报头中包括的目的IP地址与节点的IP地址匹配时,节点集合才被配置为处理、更新和/或修改CRH。在该示例中,第一中间节点可以确定目的IP地址与第一中间节点的IP地址匹配(例如,IPv6传输报头被示出为具有目的IP地址fe80:0:0:1::2,这是第一中间节点的链路-本地IPv6地址)。
如附图标记114所示,第一中间节点可以确定IP有效载荷分组的路径中的剩余分段的数目。例如,第一中间节点可以处理CRH的剩余分段值,以确定路径中剩余分段的数目。如果剩余分段值大于零,则第一中间节点可以继续处理CRH。如果剩余分段值为零,则第一中间节点可以停止处理CRH并处理IP有效载荷分组的下一报头(例如,扩展报头、有效载荷报头等中的一个)。实际上,仅当网络中的最终节点正在接收IP有效载荷分组时,剩余分段值才为零。如将在本文中进一步描述的,这为最终节点提供了标识IP有效载荷分组何时到达网络中的最后一跳并且可能使得最终节点放弃CRH处理并将IP有效载荷分组路由到网络外部设备的方式。
如附图标记116所示,第一中间节点可以执行一个或多个安全性检查。例如,第一中间节点可以确定IPv6传输报头中包括的源IP地址是否是链路-本地IPv6地址、可以确定IPv6传输报头中包括的源IP地址或目的IP地址是否是多播地址、可以确定是否已超过跳跃极限、可以确定IP有效载荷分组是否格式错误等。例如,假设使用IPv6传输报头来封装IP有效载荷分组,IPv6传输报头已利用16字节长的CRH进行扩展并且包括总分段值为64(其中每个分段是一个字节)。在该示例中,64个单字节分段不适合16字节CRH,这意味着有效载荷分组已格式错误。在这种情况下,第一中间节点将标识有效载荷分组格式错误并且将丢弃有效载荷分组。
以这种方式,第一中间节点对IP有效载荷分(例如,IP有效载荷分组的一个或多个报头)组执行一个或多个报头预处理检查和/或一个或多个安全性检查。
如图1E所示,并且通过附图标记118,第一中间节点可以确定针对IP有效载荷分组的下一分段。例如,第一中间节点可以通过从总分段值中减去剩余分段值来确定下一分段的索引i。在所示的示例中,总分段值指示存在两个总分段,并且剩余分段值指示剩下两个分段。通过从总分段值中减去剩余分段值,第一中间节点可以确定索引i具有零值。
附加地,第一中间节点可以标识SID列表中索引位置i处的SID号。在所示的示例中,分段[0]处的SID值是129。此外,这允许第一中间节点通过在分段转换表中搜索可以与下一跳节点的全局IP地址、下一跳节点的链路-本地IPv6地址以及到下一跳节点的链路的链路标识符相关联地存储的对应SID来确定下一分段。
如附图标记120所示,第一中间节点可以对IP有效载荷分组的目的IP地址和剩余分段值进行更新。例如,第一中间节点可以利用下一跳节点的全局IP地址或链路-本地IPv6地址来转换目的IP地址。在这种情况下,如果剩余分段值是1(或指示下一分段是最终分段的另一值),则第一中间节点可以利用全局IP地址对目的IP地址进行转换,或者如果剩余分段值大于1(或指示下一分段不是最终分段的另一值),第一中间节点可以利用链路-本地IPv6地址替换目的IP地址。在一些情况下,第一中间节点可以将八比特、十六比特、三十二比特或六十四比特分段标识符转换为一百二十八比特IPv6地址。
通过在倒数第二节点处利用全局IP地址更新IPv6传输报头中包括的目的IP地址,倒数第二节点确保当IP有效载荷分组被路由到最终目标(例如,第二对等设备)时,IP有效载荷分组将永远不会具有链路-本地地址。这可以防止其中离线链路攻击者可以通过使用链路-本地地址尝试采用链接状态的各种类型的攻击。通过利用链路-本地IPv6地址替换IPv6传输报头中包括的目的IP地址,执行更新的节点可防止某些类型的错误编程。例如,在发送IP有效载荷分组的时间和IP有效载荷分组到达第一中间节点的时间之间,第一中间节点可能已接收到更新分段转换表的指令。在这种情况下,第一中间节点可以基于所更新的分段转换表,将IP有效载荷分组错误地发送到不是IP有效载荷分组的严格路由路径的一部分的相邻节点。然而,由于目的IP地址将被更新为链路-链路-本地IPv6地址,因此不应接收IP有效载荷分组的相邻节点将丢弃IP有效载荷分组。这是因为不是严格路由路径的一部分的节点可以被配置为丢弃具有链路-本地IPv6源或目的IP地址的IP有效载荷分组。
在一些实现方式中,第一中间节点可以将剩余分段值更新。例如,第一中间节点可以将剩余分段值递减1。在所示的示例中,第一中间节点可以将剩余分段值从值2减小到值1。
以这种方式,第一中间节点能够使用CRH来确定针对IP有效载荷分组的下一分段,并且能够将IP有效载荷分组的、允许后续节点继续对IP有效载荷分组路由的一个或多个值进行更新。
如图1F所示,并且通过附图标记122,第一中间节点可以提供已被封装到第三中间节点的IP有效载荷分组。IP有效载荷分组的IPv6传输报头可以包括第一端点节点的源IP地址和作为第三中间节点的链路-本地IPv6地址的目的IP地址。
如附图标记124所示,第三中间节点可以以本文其他地方描述的方式来确定IPv6传输报头中包括的目的IP地址是否与第三中间节点的IP地址匹配。如附图标记126所示,第三中间节点可以以本文其他地方描述的方式来确定IP有效载荷分组路径中剩余分段的数目。在所示的示例中,第三中间节点可以确定存在一个剩余分段,这可以使得第三中间节点继续处理CRH。如附图标记128所示,第三中间节点可以以本文其他地方描述的方式来执行一个或多个安全性检查。
以这种方式,第三中间节点能够对IP有效载荷分组执行一个或多个报头预处理检查和/或一个或多个安全性检查。
如图1G所示,并且通过附图标记130,第三中间节点可以确定下一分段。例如,第三中间节点可以以本文其他地方描述的方式来确定下一分段。
在所示的示例中,总分段值指示存在两个总分段,并且剩余分段值指示存在一个剩余分段。通过从总分段值中减去剩余分段值,第三中间节点可以确定索引i具有值1。附加地,第三中间节点可以处理SID列表来标识索引位置1处的SID具有值129。这可以允许第三中间节点通过在分段转换表中搜索对应的SID值129来确定下一分段,对应的SID值与全局IP地址2001:db8::3、链路-本地IPv6地址fe80:0:0:b::2以及从第三中间节点到第二边缘节点链路的链路标识符相关联地存储。
如附图标记132所示,第三中间节点可以将IP有效载荷分组的目的IP地址和CRH中包括的剩余分段值更新。例如,第三中间节点可以利用下一跳节点的链路-本地IPv6地址或全局IP地址将IPv6传输报头中包括的目的IP地址替换。在这种情况下,第三中间节点可以确定剩余分段值是1,并且基于确定剩余分段值是1,可以利用下一跳节点的全局IP地址将IPv6传输报头中包括的目的IP地址更新。在所示的示例中,第三中间节点可以将目的IP地址从值fe80:0:0:3::2更新为值2001:db8::b。
附加地,第三中间节点可以将剩余分段值递减1。在所示的示例中,第三中间节点可以将剩余分段值从值1递减到值零。
以这种方式,第三中间节点能够确定IP有效载荷分组的下一分段,并且能够将IP有效载荷分组的一个或多个值更新,以允许后续节点继续将IP有效载荷分组路由。
如图1H所示,并且通过附图标记134,第三中间节点可以提供已封装到第二边缘节点(节点B)的IP有效载荷分组。IP有效载荷分组可以包括第一边缘节点的源IP地址(2001:db8::a)和第二边缘节点的目的IP地址(2001:db8::b)。在一些实现方式中,第二边缘节点可以以本文其他地方描述的方式来执行一个或多个报头预处理检查。
如附图标记136所示,第二边缘节点可以基于剩余分段的数目来确定针对IP有效载荷分组的下一跳。例如,第二边缘节点可以对CRH进行处理来确定剩余分段值等于零。
在一些实现方式中,因为剩余分段值为零,所以第二边缘节点可以放弃CRH的附加处理,并且可以对IP有效载荷分组的一个或多个其他报头(例如,有效载荷报头等)进行处理。在所示的示例中,有效载荷报头可以包括针对第二对等设备的目的IP地址(192.172.1.10),目的IP地址可以允许第二边缘设备将IP有效载荷分组路由到第二对等设备。
在一些实现方式中,第二边缘节点可以通过参考分段转换表来确定下一跳。虽然未示出,但是第二边缘节点可以被配置有分段转换表,分段转换表具有第二对等设备作为转换表的一部分存储的目的IP地址(例如,代替全局IP地址、并且对于链路-链路-本地IPv6地址具有空值),并且第二边缘节点可以参考分段转换表来标识第二对等设备的目的IP地址。
以这种方式,节点集合能够使用CRH来以使用严格限定的路径的方式通过网络将IP有效载荷分组路由,而不需要在分段列表中严格限定的路径中包括针对每一跳的IP地址。这相对于其他类型的分段路由报头(将花费大量资源在更长更常规的分段路由报头上执行复制操作)节省了资源(例如,处理资源、网络资源、存储器资源等)。
如上所述,作为示例提供了图1A-图1H。其他示例可以与关于图1A-图1H所描述的不同。例如,可以存在附加设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同于图1A-图1H中所示的设备和/或网络而布置的设备/网络。此外,图1A-图1H中所示的两个或更多个设备可以在单个设备内实现,或图1A-图1H中所示的单个设备可以被实现为多个和/或分布式设备。附加地或备选地,示例实现100的设备集合(例如,一个或多个设备)可以执行被描述为由示例实现100的另一设备集合执行的一个或多个功能。
图2是示例压缩路由报头(CRH)200的图。如图2所示,CRH 200可以包括下一报头字段、报头扩展长度字段、路由类型字段、剩余分段字段(被示出为分段剩余(SegmentsLeft))、总分段字段(被示出为分段数目(Num Segments))、保留字段、压缩字段和分段标识符(SID)字段列表。下一报头字段可以包括八比特选择器值,八比特选择器值标识紧跟在互联网协议(IP)报头(例如,IPv6报头)之后的报头类型。报头扩展长度字段可以包括8比特无符号整数值,8比特无符号整数值标识八个八位字节单元中逐跳选项报头的长度,但不包括前八个八位字节。
如可以由互联网分配号码机构(IANA)定义的,路由类型字段可以包括用于特定路由报头变体的八比特标识符值。剩余分段字段可以包括标识起源节点(例如,接收IP有效载荷分组的节点)和最终跳节点(例如,作为路径中最终分段的一部分的节点)之间的剩余分段的数目的值。总分段字段可以包括标识IP有效载荷分组到达最终跳节点所需的最大分段数的值。该值可以由SID列表中的多个条目限定。保留字段可以包括被发送方节点设置为零并被接收方节点忽略的值。
压缩字段可以包括两比特值,两比特值可以被检查来确定IP有效载荷分组是否格式错误。例如,压缩字段可以包括节点进行处理来确定最小CRH长度的值,这可以允许节点确定IP有效载荷分组是否格式错误。最小CRH长度以八个八位字节(不包括前八个八位字节)单位进行测量。压缩字段可以包括零、一、二或三的值。零值可以对应于八比特编码、值1可以对应于十六比特编码、值2可以对应于三十二比特编码、值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所示的字段/值不同地布置的字段和/或值。
图3是可以实现本文所描述的系统和/或方法的示例环境300的图。如图3所示,环境300可以包括一个或多个对等设备310、节点组320(示出为节点320-1至节点320-N)和网络330。环境300的设备可以经由有线连接、无线连接或有线和无线连接的组合进行互连。
对等设备310包括能够接收和/或提供网络流量的一个或多个设备。例如,对等设备310可以包括流量转移设备(例如,路由器、网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、执行虚拟机的服务器等))、安全设备、入侵检测设备、负载平衡器或类似类型的设备。在一些实现方式中,对等设备310可以包括作为网络流量的源或目的的端点设备。例如,对等设备310可以包括计算机或类似类型的设备。对等设备310可以(例如,通过使用(多个)节点320作为中间节点将有效载荷分组路由)经由网络330从其他对等设备310接收网络流量和/或可以向其他对等设备310提供网络流量。在一些实现方式中,对等设备310可以包括位于一个或多个网络的边缘的边缘设备。例如,对等设备310从网络330外部的设备接收网络流量和/或可以向网络330外部的设备提供网络流量(例如,有效载荷分组)。
节点320包括能够以本文所描述的方式接收、处理、存储、路由和/或提供流量(例如,有效载荷分组、文件等)的一个或多个设备。例如,节点320可以包括路由器(例如,标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供商路由器(例如,提供商边缘路由器、提供商核心路由器等)、虚拟路由器等)。附加地或备选地,节点320可以包括网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载平衡器和/或类似设备。
在一些实现方式中,节点320可以是外壳(例如,机箱)内实现的物理设备。在一些实现方式中,节点320可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。
在一些实现方式中,节点320可以被配置有一个或多个分段转换表。在一些实现方式中,节点320可以从对等设备310接收有效载荷分组。在一些实现方式中,节点320可以使用压缩路由报头(CRH)来将有效载荷分组封装,并且可以使用本文其他地方描述的一个或多个技术来将IP有效载荷分组路由到另一节点320。在一些实现方式中,节点320可以是网络330中的边缘节点。在一些实现方式中,节点320可以是网络330中的中间节点(即,两个或更多个边缘节点之间的节点)。
网络330包括一个或多个有线和/或无线网络。例如,网络330可以包括蜂窝网络(例如,第五代(5G)网络、诸如长期演进(LTE)网络的第四代(4G)网络、第三代(3G)网络、码分多址(CDMA)网络、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、专用网络、自组网络、内联网、互联网、基于光纤的网络、云计算网络等和/或这些或其他类型网络的组合。
提供图3中所示的设备和网络的数目和布置作为一个或多个示例。实际上,可以存在附加设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同于图3中所示的设备和/或网络而布置的设备和/或网络。此外,图3中所示出的两个或更多个设备可以在单个设备中实现,或者图3中所示出的单个设备可以实现为多个分布式设备。附加地或备选地,环境300的设备集合(例如,一个或多个设备)可以执行被描述为由环境300的另一设备集合执行的一个或多个功能。
图4是设备400的示例组件的图。设备400可以对应于对等设备310和/或节点320。在一些实现方式中,对等设备310和/或节点320可以包括一个或多个设备400和/或设备400的一个或多个组件。如图4所示,设备400可以包括一个或多个输入组件405-1至405-B(B≥1)(下文统称为输入组件405并且单独地作为输入组件405)、交换组件410、一个或多个输出组件415-1至415-C(C≥1)(下文统称为输出组件415、并且单独地作为输出组件415)和控制器420。
输入组件405可以是针对物理链路的附着点,并且可以是输入流量(例如,有效载荷分组)的入口点。输入组件405可以例如通过执行数据链路层封装或解封装对输入流量进行处理。在一些实现方式中,输入组件405可以发送和/或接收有效载荷分组。在一些实现方式中,输入组件405可以包括诸如一个或多个接口卡(IFC)的输入线卡(包括一个或多个有效载荷分组处理组件(例如,以集成电路的形式))、有效载荷分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现方式中,设备400可以包括一个或多个输入组件405。
交换组件410可以将输入组件405与输出组件415互连。在一些实现方式中,可以经由一个或多个交叉开关、经由总线和/或利用共享存储器来实现交换组件410。在有效载荷分组最终被调度以递送到输出组件415之前,共享存储器可以充当临时缓冲器来存储来自输入组件405的有效载荷分组。在一些实现方式中,交换组件410可以使得输入组件405、输出组件415和/或控制器420能够通信。
输出组件415可以存储有效载荷分组,并且可以对有效载荷分组进行调度,以在输出物理链路上传输。输出组件415可以支持数据链路层封装或解封装、和/或各种更高级协议。在一些实现方式中,输出组件415可以发送有效载荷分组和/或接收有效载荷分组。在一些实现方式中,输出组件415可以包括诸如一个或多个IFC的输出线卡(包括一个或多个有效载荷分组处理组件(例如,以集成电路的形式))、有效载荷分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现方式中,设备400可以包括一个或多个输出组件415。在一些实现方式中,输入组件405和输出组件415可以由相同的组件集合来实现(例如,并且输入/输出组件可以是输入组件405和输出组件415的组合)。
控制器420包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC))和/或其他类型的处理器或处理组件。处理器以硬件、固件或软件和硬件的组合来实现。在一些实现方式中,控制器420可以包括可被编程来执行功能的一个或多个处理器。
在一些实现方式中,控制器420可以包括随机存取存储器(RAM)、只读存储器(ROM)和/或存储由控制器420使用的信息和/或指令的其他类型的动态或静态存储设备(例如,闪存、磁存储器、光学存储器等)。
在一些实现方式中,控制器420可以与连接到设备400的其他设备、网络和/或系统通信,以交换关于网络拓扑的信息。控制器420可以基于网络拓扑信息创建转换表、基于转换表创建转发表、并且将转发表转发到输入组件405和/或输出组件415。输入组件405和/或输出组件415可以使用转发表来对传入和/或传出的有效载荷分组执行路由查找。在一些情况下,控制器420可以基于在初始化链路故障检测(例如,BFD)会话时确定的信息来创建会话表,并且可以将会话表转发到输入组件405和/或输出组件415。
控制器420可以执行本文描述的一个或多个过程。控制器420可以响应于执行由非瞬态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中被限定为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或跨多个物理存储设备的存储器空间。
可以经由通信接口将软件指令从另一计算机可读介质或从另一设备读入与控制器420相关联的存储器和/或存储组件。当被执行时,存储在与控制器420相关联的存储器和/或存储组件中的软件指令可以使得控制器420执行本文所描述的一个或多个过程。附加地或备选地,可以使用硬连线电路代替软件指令或与软件指令进行组合来执行本文所描述的一个或多个过程。因此,本文所描述的实现方式不限于硬件电路和软件的任何特定组合。
提供图4中所示的组件的数目和布置作为示例。实际上,设备400可以包括附加组件、更少组件、不同组件、或者与图4中所示的组件不同地布置的组件。附加地或备选地,设备400的组件集合(例如,一个或多个组件)可以执行被描述为由设备400的另一组件集合执行的一个或多个功能。
图5是用于使用已利用压缩路由报头(CRH)扩展的传输报头来通过网络将有效载荷分组路由的示例过程500的流程图。在一些实现方式中,图5的一个或多个处理块可以由节点(例如,节点320)执行。在一些实现方式中,图5的一个或多个处理块可以由另一设备或与节点分离的设备组或包括节点的设备组(例如,对等设备310)来执行。
如图5所示,过程500可以包括接收已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组,其中IPv6传输报头包括节点的目的IP地址,其中IPv6传输报头已利用可变长度的压缩路由报头(CRH)进行扩展,并且其中CRH包括分段标识符(SID)列表,分段标识符标识IP有效载荷分组在通过网络路由时将遍历的节点集合。(框510)。例如,如上所述,节点(例如,使用输入组件405、交换组件410、控制器420等)可以接收已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组。在一些实现方式中,IPv6传输报头可以包括节点的目的IP地址。在一些实现方式中,可能已利用可变长度的压缩路由报头(CRH)将IPv6传输报头进行了扩展。在一些实现方式中,CRH可以包括分段标识符列表(SID),分段标识符标识IP有效载荷分组在通过网络路由时将遍历的节点集合。
如图5进一步所示,过程500可以包括通过参考CRH中包括的SID列表来确定针对IP有效载荷分组的下一分段(框520)。例如,如上所述,节点(例如,使用控制器420)可以通过参考CRH中包括的SID列表来确定针对IP有效载荷分组的下一分段。
如图5进一步所示,过程500可以包括基于确定下一分段,将目的IP地址更新为下一跳节点的特定目的IP地址(框530)。例如,如上所述,节点(例如,使用控制器420)可以基于确定下一分段,将目的IP地址更新为下一跳节点的特定目的IP地址。
如图5进一步所示,过程500可以包括将包括在CRH中的剩余分段值进行更新,剩余分段值标识在IP有效载荷分组的路由中留下的分段的数目(框540)。例如,如上所述,节点(例如,使用控制器420)可以将包括在CRH中的剩余分段值进行更新,剩余分段值标识IP有效载荷分组的路由中留下的分段的数目。
如图5进一步所示,过程500可以包括将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备(框550)。例如,如上所述,节点(例如,使用交换组件410、输出组件415、控制器420等)可以将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备。
过程500可以包括附加的实现方式,例如,任何单个实现方式或以下描述的实现方式和/或结合本文其他地方描述的一个或多个其他过程的任何实现的组合。
在一些实现方式中,SID列表可具有可变长度:八比特、十六比特、三十二比特或六十四比特。在一些实现方式中,IP有效载荷分组路由中的分段集合可以包括以下项中的至少一个:严格路由的分段或松散路由的分段。在一些实现方式中,IP有效载荷分组路由中的最终分段可以是严格路由的分段。在一些实现方式中,节点可以对将以下项中的两个或更多个关联的分段转换表进行配置:对应于SID列表的SID集合、全局IP地址集合、链路-本地IPv6地址集合或接口映射集合。
在一些实现方式中,当确定针对IP有效载荷分组的下一分段时,节点可以标识CRH中包括的SID列表的与节点相关联的SID,并且可以通过使用SID以参考SID映射到以下项的分段转换表来来确定下一分段:下一跳节点的全局IP地址并映射到标识下一跳节点的接口的链路-本地IPv6地址的分段转换表,并且当更新目的IP地址时,节点可以基于下一分段是否是最终分段来利用全局IP地址或链路-本地IPv6地址将目的IP地址进行更新。
在一些实现方式中,当更新目的IP地址时,节点可以基于下一分段是路由的最终分段,将目的IP地址更新为全局IP地址,其中目的IP地址被更新为全局IP地址,而不是基于下一分段是路由的最终分段,将目的IP地址更新为链路-本地IPv6地址。
尽管图5示出了过程500的示例块,但是在一些实现方式中,过程500可以包括附加块、更少的块、不同块或者与图5中描绘的块不同地布置的块。附加地或者备选地,过程500的块中的两个或更多个可以并行执行。
图6是用于使用已利用压缩路由报头(CRH)进行扩展的传输报头来将有效载荷分组通过网络进行路由的示例过程600的流程图。在一些实现方式中,图6的一个或多个处理块可以由节点(例如,节点320)执行。在一些实现方式中,图6的一个或多个处理块可以由另一设备或与节点分离的设备组或包括节点的设备组(例如,对等设备310)来执行。
如图6所示,过程600可以包括接收已使用IPv6传输报头进行封装的互联网协议(IP)有效载荷分组,IPv6传输报头已利用压缩路由报头(CRH)进行扩展,其中CRH包括分段标识符列表(SID),分段标识符标识IP有效载荷分组在通过网络路由时将遍历的节点集合,并且其中SID列表具有在8比特和64比特之间的可变长度(框610)。例如,如上所述,节点(例如,使用输入组件405、交换组件410、控制器420等)可以接收包括报头集合的互联网协议(IP)有效载荷分组。
如图6进一步所示,过程600可以包括通过参考SID列表来确定IP有效载荷分组的下一分段(框620)。例如,如上所述,节点(例如,使用控制器420)可以通过参考SID列表来确定针对IP有效载荷分组的下一分段。
如图6进一步所示,过程600可以包括将目的IP地址更新为下一跳节点的特定目的IP地址(框630)。例如,如上所述,节点(例如,使用控制器420)可以将目的IP地址更新为下一跳节点的特定目的IP地址。
如图6进一步所示,过程600可以包括将包括在CRH中的剩余分段值更新,余分段值标识在IP有效载荷分组的路由中留下的分段的数目(框640)。例如,如上所述,节点(例如,使用控制器420)可以将包括在CRH中的剩余分段值更新,剩余分段值标识在IP有效载荷分组的路由中留下的分段数目。
如图6进一步所示,过程600可以包括将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备(框650)。例如,如上所述,节点(例如,使用交换组件410、输出组件415、控制器420等)可以将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备。
过程600可以包括附加的实现方式,例如,任何单个实现或下面描述的实现和/或结合本文其他地方描述的一个或多个其他过程的实现的任何组合。
在一些实现方式中,IP有效载荷分组路由中的分段集合可以包括严格路由的分段。在一些实现中,IP有效载荷分组路由中的最终分段可以是严格路由的分段。在一些实现方式中,节点可以在接收IP有效载荷分组之前,对与以下项中的两个或更多个相关联的分段转换表进行配置:对应于SID列表的SID集合、全局IP地址集合、链路-本地IPv6地址集合或接口映射集合。
在一些实现方式中,当确定针对IP有效载荷分组的下一分段时,节点可以标识CRH中包括的SID列表的、与节点相关联的SID,并且可以通过使用SID来确定下一分段,以参考将SID映射到下一跳节点的全局IP地址以及标识下一跳节点接口的链路-本地IPv6地址的分段转换表。全局IP地址或链路-本地IPv6地址可以用作IP有效载荷分组的目的IP地址。在一些实现方式中,当更新目的IP地址时,节点可以基于下一分段是否是最终分段而利用节点的全局IP地址或下一跳节点的链路-本地IPv6地址将目的IP地址更新。
在一些实现方式中,当更新目的IP地址时,节点可以基于下一分段是路由的最终分段,将目的IP地址更新为特定目的IP地址,其中特定目的IP地址是全局IP地址,并且其中最终分段是严格路由的分段。在一些实现方式中,节点可以在确定下一分段之前确定CRH中包括的剩余分段值是否是非零值,并且可以基于剩余分段值是非零值而确定是否继续处理CRH或者对报头集合的另一报头进行处理。
尽管图6示出了过程600的示例块,但是在一些实现方式中,过程600可以包括附加块、更少的块、不同块或者与图6中描绘的块不同地布置的块。附加地或者备选地,过程600中的两个或者更多个块可以并行执行。
图7是用于使用传输报头将有效载荷分组通过网络路由的示例过程700的流程图,传输报头已利用压缩路由报头(CRH)进行扩展。在一些实现方式中,图7的一个或多个处理块可以由节点(例如,节点320)执行。在一些实现方式中,图7的一个或多个处理块可以由另一个设备或与节点分离的设备组或包括节点的设备组(例如,对等设备(例如,对等设备310))来执行。
如图7所示,过程700可以包括接收已使用包括IPv6传输报头的报头集合进行封装的互联网协议(IP)有效载荷分组,其中IPv6传输报头包括节点的目的IP地址,其中IPv6传输报头已利用压缩路由报头(CRH)进行扩展,压缩路由报头包括标识IP有效载荷分组在通过网络路由时将遍历的节点集合的分段标识符(SID)列表,并且其中SID列表具有八比特、十六比特、三十二比特和六十四比特的可变长度(框710)。例如,如上所述,节点(例如,使用输入组件405、交换组件410、控制器420等)可以接收已使用包括CRH和目标报头的报头集合进行封装的IP有效载荷分组。在一些实现方式中,CRH可以包括分段标识符列表(SID),分段标识符标识IP有效载荷分组在通过网络路由时将遍历的节点集合,并且SID列表具有八比特、十六比特、三十二比特或六十四比特的可变长度。
如图7进一步所示,过程700可以包括通过参考CRH中包括的SID列表来确定针对IP有效载荷分组的下一分段(框720)。例如,如上所述,节点(例如,使用控制器420)可以通过参考CRH中包括的SID列表来确定IP有效载荷分组的下一分段。
如图7进一步所示,过程700可以包括将目的IP地址更新为下一跳节点的特定目的IP地址(框730)。例如,如上所述,节点(例如,使用控制器420)可以将目的IP地址更新为下一跳节点的特定目的IP地址。
如图7进一步所示,过程700可以包括将CRH中包括的剩余分段值进行更新,剩余分段值标识在IP有效载荷分组的路由中留下的分段的数目(框740)。例如,如上所述,节点(例如,使用控制器420)可以将CRH中包括的剩余分段值进行更新,剩余分段值标识在IP有效载荷分组的路由中留下的分段的数目。
如图7进一步所示,过程700可以包括将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备(框750)。例如,如上所述,节点(例如,使用控制器420)可以将包括CRH的IP有效载荷分组提供给下一跳节点,以允许下一跳节点将IP有效载荷分组路由到网络中的另一节点或目的设备。
过程700可以包括附加的实现方式,例如任何单个实现方式或下面描述的实现方式和/或结合本文其他地方描述的一个或多个其他过程的实现的任何组合。
在一些实现方式中,IP有效载荷分组路由中的分段集合可以包括至少一个严格路由的分段。在一些实现方式中,IP有效载荷分组路由中的最终分段可以是严格路由的分段。在一些实现方式中,节点可以在接收IP有效载荷分组之前,对将以下项中的两个或更多个相关联的分段转换表进行配置:对应于SID列表的SID集合、全局IP地址集合、链路-本地IPv6地址集合或接口映射集合。
在一些实现方式中,当确定IP有效载荷分组的下一分段时,节点可以标识CRH中包括的SID列表的、与节点相关联的SID,并且可以通过使用SID以参考将SID映射到以下项的分段转换表来确定下一分段:下一跳节点的全局IP地址以及标识下一跳节点接口的链路-本地IPv6地址的分段转换表。全局IP地址或链路-本地IPv6地址可以用作IP有效载荷分组的目的IP地址。在一些实现方式中,当更新目的IP地址时,节点可以基于下一分段是否是最终分段而利用节点的全局IP地址或下一跳节点的链路-本地IPv6地址将目的IP地址更新。
在一些实现方式中,当更新目的IP地址时,节点可以基于下一分段是路由的最终分段,将目的IP地址更新为全局IP地址,其中基于下一分段是路由的最终分段,目的IP地址被更新为全局IP地址,而不是链路-本地IPv6地址。
尽管图7示出了过程700的示例块,但是在一些实现方式中,过程700可以包括附加块、更少的块、不同块或者与图7中描绘的块不同地布置的块。附加地或者备选地,过程700中的两个或者更多个块可以并行执行。
前述公开内容提供图示和描述,但并非旨在穷举或将实现方式限于所公开的精确形式。可以根据以上公开内容进行修改和变化,或者可以从实现方式的实践中获得修改和变化。
如本文所使用的,术语网络流量或内容可以包括有效载荷分组集合。有效载荷分组可以指代用于通信信息的通信结构(例如,协议数据单元(PDU)、网络有效载荷分组、数据报、分段、消息、块、小区、帧、子帧、时隙、符号、上述任何一部分、和/或能够经由网络传输的其他类型的格式化或未格式化的数据单元)。如本文所使用的,互联网协议(IP)有效载荷分组可以指代IPv4有效载荷分组、IPv6有效载荷分组、以太网有效载荷分组等。
如本文所使用的,术语“组件”旨在广义地解释为硬件、固件和/或硬件和软件的组合。
本文结合阈值描述了一些实现方式。如本文所使用的,取决于上下文,满足阈值可以指代大于阈值的值、多于阈值的值、高于阈值的值、大于或等于阈值的值、小于阈值的值、少于阈值的值、低于阈值的值、小于或等于阈值的值、等于阈值的值等。
显而易见的是,本文所描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制实现。因此,本文描述了系统和/或方法的操作和行为,而没有参考特定的软件代码-应理解,可以将软件和硬件设计为基于本文的描述来实现系统和/或方法。
即使在权利要求书中记载和/或在说明书中公开了特定的特征组合,但是这些组合并不旨在限制各种实现方式的公开。实际上,许多这些特征可以以未在权利要求书中具体记载和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是各种实现方式的公开包括与权利要求集合中的每个其他权利要求组合的每个从属权利要求。
除非明确地如此描述,否则本文中使用的元件、动作或指令不应被解释为关键或必要的。此外,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项,并且可以与“一个或多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个”互换使用。在仅有一个项的情况下,使用短语“仅一个”或类似的语言。此外,如本文所使用的,术语“具有(has、have、having)”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。
Claims (20)
1.一种方法,包括:
由节点接收已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组,
其中所述IPv6传输报头包括所述节点的目的IP地址,
其中所述IPv6传输报头已利用可变长度的压缩路由报头(CRH)进行扩展,并且
其中所述CRH包括分段标识符列表(SID),所述分段标识符标识:所述IP有效载荷分组在通过网络进行路由时将遍历的节点集合,并且其中所述CRH还包括总分段值和剩余分段值;
通过所述节点确定所述总分段值是否适合所述CRH的可变长度;
通过所述节点并基于确定所述总分段值适合所述CRH的所述可变长度,确定针对所述IP有效载荷分组的下一分段,
其中确定针对所述IP有效载荷分组的下一分段包括:
基于所述总分段值和所述剩余分段值,通过从所述总分段值中减去所述剩余分段值,来确定针对所述下一分段的索引位置,以及
从所述分段标识符列表标识与针对所述下一分段的索引位置对应的分段标识符;
由所述节点并基于确定所述下一分段,将所述目的IP地址更新为下一跳节点的特定目的IP地址;
通过所述节点递减包含在所述CRH中的,标识在IP有效载荷分组的路由中留下的分段的数目的剩余分段值,其中所述剩余分段值在所述IP有效载荷分组通过所述网络进行路由的过程中严格递减;以及
由所述节点,将包括所述CRH的所述IP有效载荷分组提供给所述下一跳节点,以允许所述下一跳节点将所述IP有效载荷分组路由到所述网络中的另一节点或目的设备。
2.根据权利要求1所述的方法,其中所述SID列表具有以下可变长度:
八比特,
十六比特,
三十二比特,或
六十四比特。
3.根据权利要求1所述的方法,其中所述IP有效载荷分组的所述路由中的分段集合包括以下项中的至少一个:
严格路由的分段,或
松散路由的分段。
4.根据权利要求1所述的方法,其中所述IP有效载荷分组的所述路由中的最终分段是严格路由的分段。
5.根据权利要求1所述的方法,还包括:
利用分段转换表对所述节点进行配置,所述分段转换表将以下两个或更多个项相关联:
对应于所述SID列表的SID集合,
全局IP地址集合,
链路-本地IPv6地址集合,或
接口映射集合。
6.根据权利要求1所述的方法,其中确定针对所述IP有效载荷分组的所述下一分段包括:
通过使用所述SID以参考将所述SID映射到以下项的分段转换表来确定所述下一分段:
所述下一跳节点的全局IP地址,以及
标识所述下一跳节点的接口的链路-本地IPv6地址,并且其中对所述目的IP地址进行更新包括:
基于所述下一分段是否为最终分段,利用所述节点的所述全局IP地址或所述下一跳节点的所述链路-本地IPv6地址对所述目的IP地址进行更新。
7.根据权利要求1所述的方法,其中对所述目的IP地址进行更新包括:
基于所述下一分段是所述路由的最终分段,将所述目的IP地址更新为全局IP地址,
其中基于所述下一分段是所述路由的所述最终分段,所述目的IP地址被更新为所述全局IP地址而不是链路-本地IPv6地址。
8.一种节点,包括:
一个或多个存储器;以及
一个或多个处理器,以:
接收已使用IPv6传输报头封装的互联网协议(IP)有效载荷分组,所述IPv6传输报头已利用压缩路由报头(CRH)进行扩展,
其中所述CRH包括分段标识符列表(SID),所述分段标识符标识:所述IP有效载荷分组在通过网络进行路由时将遍历的节点集合,其中所述CRH还包括总分段值和剩余分段值;并且
其中所述SID列表具有8比特到64比特之间的可变长度;
确定所述总分段值是否适合所述CRH的可变长度;
基于确定所述总分段值适合所述CRH的所述可变长度,确定针对所述IP有效载荷分组的下一分段,
其中所述一个或多个处理器,当确定针对所述IP有效载荷分组的下一分段时,以:
基于所述总分段值和所述剩余分段值,通过从所述总分段值中减去所述剩余分段值,来确定针对所述下一分段的索引位置,以及
从所述分段标识符列表标识与针对所述下一分段的索引位置对应的分段标识符;
将目的IP地址更新为下一跳节点的特定目的IP地址;
递减包含在所述CRH中的,标识在IP有效载荷分组的路由中留下的分段的总数目的剩余分段值;以及
将包括所述CRH的所述IP有效载荷分组提供给所述下一跳节点,以允许所述下一跳节点将所述IP有效载荷分组路由到所述网络中的另一节点或目标设备。
9.根据权利要求8所述的节点,其中所述IP有效载荷分组的所述路由中的分段集合包括严格路由的分段。
10.根据权利要求8所述的节点,其中所述IP有效载荷分组的所述路由中的最终分段是严格路由的分段。
11.根据权利要求8所述的节点,其中所述一个或多个处理器还用于:
在接收所述IP有效载荷分组之前,利用分段转换表对所述节点进行配置,所述分段转换表将以下两个或更多个项相关联:
对应于所述SID列表的SID集合,
全局IP地址集合,
链路-本地IPv6地址集合,或
接口映射集合。
12.根据权利要求8所述的节点,其中当确定针对所述IP有效载荷分组的所述下一分段时,所述一个或多个处理器用于:
标识所述CRH中包括的所述SID列表的、与所述节点相关联的SID,以及
通过使用所述SID以参考将所述SID映射到以下项的分段转换表来确定所述下一分段:
所述下一跳节点的全局IP地址,以及
标识所述下一跳节点的接口的链路-本地IPv6地址,并且其中所述一个或多个处理器在对所述目的IP地址进行更新时,用于:
基于所述下一分段是否为最终分段,利用所述节点的所述全局IP地址或所述下一跳节点的所述链路-本地IPv6地址对所述目的IP地址进行更新。
13.根据权利要求8所述的节点,其中所述一个或多个处理器在对所述目的IP地址进行更新时,用于:
基于所述下一分段是所述路由的最终分段,将所述目的IP地址更新为所述特定目的IP地址,
其中所述特定目的IP地址是全局IP地址,并且
其中所述最终分段是严格路由的分段。
14.根据权利要求8所述的节点,其中所述一个或多个处理器还用于:
在确定所述下一分段之前,确定所述CRH中包括的所述剩余分段值是否为非零值,并且
基于所述剩余分段值是否为非零值,确定是继续处理所述CRH还是处理所述报头集合的另一报头。
15.一种存储指令的非瞬态计算机可读介质,所述指令包括:
当由节点的一个或多个处理器执行时,使得所述一个或多个处理器执行以下动作的一个或多个指令:
接收已使用包括IPv6传输报头的报头集合封装的互联网协议(IP)有效载荷分组,
其中所述IPv6传输报头包括所述节点的目的IP地址,
其中所述IPv6传输报头已利用包括分段标识符列表(SID)的压缩路由报头(CRH)进行扩展,所述分段标识符标识:所述IP有效载荷分组在通过网络进行路由时将遍历的节点集合,其中所述CRH还包括总分段值和剩余分段值;并且
其中所述SID列表具有可变长度:
八比特,
十六比特,
三十二比特,或
六十四比特;
确定所述总分段值是否适合所述CRH的可变长度;
基于确定所述总分段值适合所述CRH的所述可变长度,确定针对所述IP有效载荷分组的下一分段,
其中所述一个或多个指令,使得所述一个或多个处理器确定针对所述IP有效载荷分组的下一分段,使得所述一个或多个处理器以:
基于所述总分段值和所述剩余分段值,通过从所述总分段值中减去所述剩余分段值,来确定针对所述下一分段的索引位置,以及
从所述分段标识符列表标识与针对所述下一分段的索引位置对应的分段标识符;
将所述目的IP地址更新为下一跳节点的特定目的IP地址;
递减包含在所述CRH中的,标识在IP有效载荷分组的路由中留下的分段的总数目的剩余分段值;以及
将包括所述CRH的所述IP有效载荷分组提供给所述下一跳节点,以允许所述下一跳节点将所述IP有效载荷分组路由到所述网络中的另一节点或目的设备,其中最终分段在所述IP有效载荷分组的路由中是严格路由的分段。
16.根据权利要求15所述的非瞬态计算机可读介质,其中所述IP有效载荷分组的所述路由中的分段集合包括至少一个严格路由的分段。
17.根据权利要求15所述的非瞬态计算机可读介质,其中所述IP有效载荷分组的所述路由中的最终分段是严格路由的分段。
18.根据权利要求15所述的非瞬态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时还使得所述一个或多个处理器:
在接收所述IP有效载荷分组之前,利用分段转换表对所述节点进行配置,所述分段转换表将以下两个或更多个项相关联:
对应于所述SID列表的SID集合,
全局IP地址集合,
链路-本地IPv6地址集合,或
接口映射集合。
19.根据权利要求15所述的非瞬态计算机可读介质,其中使得所述一个或多个处理器确定针对所述IP有效载荷分组的所述下一分段的所述一个或多个指令使得所述一个或多个处理器:
标识所述CRH中包括的所述SID列表的、与所述节点相关联的SID,以及
通过使用所述SID以参考将所述SID映射到以下项的分段转换表来确定所述下一分段:
所述下一跳节点的全局IP地址,以及
标识所述下一跳节点的接口的链路-本地IPv6地址,并且
其中使得所述一个或多个处理器对所述目的IP地址进行更新的所述一个或多个指令使得所述一个或多个处理器:
基于所述下一分段是否为最终分段,利用所述节点的所述全局IP地址或所述下一跳节点的所述链路-本地IPv6地址,对所述目的IP地址进行更新。
20.根据权利要求15所述的非瞬态计算机可读介质,其中使得所述一个或多个处理器对所述目的IP地址进行更新的所述一个或多个指令使得所述一个或多个处理器:
基于所述下一分段是所述路由的最终分段,将所述目的IP地址更新为全局IP地址,
其中基于所述下一分段是所述路由的所述最终分段,所述目的IP地址被更新为所述全局IP地址而不是链路-本地IPv6地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428412.6A CN115733784A (zh) | 2018-12-28 | 2019-09-29 | 经压缩的路由报头 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/236,216 | 2018-12-28 | ||
US16/236,216 US11245617B1 (en) | 2018-12-28 | 2018-12-28 | Compressed routing header |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211428412.6A Division CN115733784A (zh) | 2018-12-28 | 2019-09-29 | 经压缩的路由报头 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385199A CN111385199A (zh) | 2020-07-07 |
CN111385199B true CN111385199B (zh) | 2022-11-18 |
Family
ID=67001589
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910933631.1A Active CN111385199B (zh) | 2018-12-28 | 2019-09-29 | 经压缩的路由报头 |
CN202211428412.6A Pending CN115733784A (zh) | 2018-12-28 | 2019-09-29 | 经压缩的路由报头 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211428412.6A Pending CN115733784A (zh) | 2018-12-28 | 2019-09-29 | 经压缩的路由报头 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11245617B1 (zh) |
EP (1) | EP3675449A1 (zh) |
CN (2) | CN111385199B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917640B (zh) * | 2019-05-09 | 2023-06-06 | 华为技术有限公司 | SRv6网络生成段列表、报文转发的方法、设备和系统 |
CN110581880B (zh) * | 2019-05-29 | 2021-09-07 | 阿里巴巴集团控股有限公司 | 通信链路的建立方法及装置,节点标识确定方法及装置 |
CN113141338B (zh) * | 2020-01-20 | 2022-07-22 | 华为技术有限公司 | 一种消息生成方法、处理方法及装置 |
EP4111649A1 (en) * | 2020-04-15 | 2023-01-04 | Huawei Technologies Co., Ltd. | Minimizing differences in segment identifiers for segment routing |
EP4111650A1 (en) * | 2020-04-16 | 2023-01-04 | Huawei Technologies Co., Ltd. | Mixing segments with different sizes for segment routing |
CN112491708A (zh) * | 2020-10-15 | 2021-03-12 | 中兴通讯股份有限公司 | IPv6报文的路由头封装方法及装置 |
CN114650255B (zh) * | 2020-12-18 | 2023-12-08 | 北京华为数字技术有限公司 | 报文处理方法及网络设备 |
US11516131B2 (en) * | 2021-02-09 | 2022-11-29 | Ciena Corporation | Least common scope address selection systems and methods |
CN115134192A (zh) * | 2021-03-25 | 2022-09-30 | 中兴通讯股份有限公司 | 信息处理方法、设备和存储介质 |
CN113242180B (zh) * | 2021-07-12 | 2021-12-14 | 广东省新一代通信与网络创新研究院 | 报文转发方法、装置、设备、可读存储介质及程序产品 |
WO2024021139A1 (zh) * | 2022-07-29 | 2024-02-01 | 华为技术有限公司 | 一种报文发送、接收方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1377549A (zh) * | 1999-09-29 | 2002-10-30 | 艾利森电话股份有限公司 | 一种支持压缩分段头标的分段协议 |
CN106330714A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
CN107566272A (zh) * | 2017-10-17 | 2018-01-09 | 新华三技术有限公司 | 转发表建立方法及数据转发方法 |
CN108809759A (zh) * | 2018-05-29 | 2018-11-13 | 新华三技术有限公司 | 检测链路状态的方法、装置和路由器 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10353289B4 (de) | 2003-11-14 | 2009-10-15 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Kompression von Datenpaketen |
US20120047573A1 (en) * | 2010-08-17 | 2012-02-23 | Richard Jeremy Duncan | Methods and apparatus for detecting invalid ipv6 packets |
US9049233B2 (en) | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US10904144B2 (en) * | 2012-12-27 | 2021-01-26 | Sitting Man, Llc | Methods, systems, and computer program products for associating a name with a network path |
US9537718B2 (en) | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
US9537769B2 (en) | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Opportunistic compression of routing segment identifier stacks |
US9444677B2 (en) * | 2013-10-18 | 2016-09-13 | Cisco Technology, Inc. | Scalable edge node protection using IPv6 segment routing extension header |
US9762488B2 (en) | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
US10063463B2 (en) | 2014-12-16 | 2018-08-28 | Cisco Technology, Inc. | Node protection for segment routing adjacency segments |
US9838311B2 (en) | 2015-01-30 | 2017-12-05 | Huawei Technologies Co., Ltd. | Node, network controller, and associated methods for routing data packets in a network |
CN106411738A (zh) | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | Ipv6报文封装的处理方法和装置 |
US10165093B2 (en) * | 2015-08-31 | 2018-12-25 | Cisco Technology, Inc. | Generating segment routing conduit in service provider network for routing packets |
US10135734B1 (en) * | 2015-12-28 | 2018-11-20 | Amazon Technologies, Inc. | Pipelined evaluations for algorithmic forwarding route lookup |
US10270690B2 (en) * | 2016-02-29 | 2019-04-23 | Cisco Technology, Inc. | System and method for dataplane-signaled packet capture in IPV6 environment |
US10097909B2 (en) * | 2016-03-03 | 2018-10-09 | Infinera Corporation | Systems, apparatus, and methods for segment routing of optical signals |
CN107342939B (zh) | 2016-04-29 | 2020-02-14 | 华为技术有限公司 | 传输数据的方法和装置 |
US10148560B2 (en) * | 2016-07-28 | 2018-12-04 | Cisco Technology, Inc. | Enhanced error signaling and error handling in a network environment with segment routing |
EP3497893B1 (en) * | 2016-08-15 | 2020-11-04 | Telefonaktiebolaget LM Ericsson (publ) | Segment routing based on maximum segment identifier depth |
CN108156077B (zh) | 2016-12-02 | 2021-11-12 | 中兴通讯股份有限公司 | 一种基于IPv6数据平面的分段路由转发方法及装置 |
US10506083B2 (en) * | 2017-06-27 | 2019-12-10 | Cisco Technology, Inc. | Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet |
CN113872859A (zh) | 2017-07-14 | 2021-12-31 | 华为技术有限公司 | IPv6分段路由隧道建立方法 |
US10454822B2 (en) * | 2017-07-27 | 2019-10-22 | Cisco Technology, Inc. | Full-path validation in segment routing |
US10469367B2 (en) * | 2017-10-04 | 2019-11-05 | Cisco Technology, Inc. | Segment routing network processing of packets including operations signaling and processing of packets in manners providing processing and/or memory efficiencies |
CN113489641A (zh) | 2017-12-22 | 2021-10-08 | 华为技术有限公司 | 一种网络中传输报文的方法和节点 |
US10652144B2 (en) * | 2018-01-09 | 2020-05-12 | Cisco Technology, Inc. | Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies |
US20190260657A1 (en) * | 2018-02-21 | 2019-08-22 | Cisco Technology, Inc. | In-band performance loss measurement in ipv6/srv6 software defined networks |
US10938964B2 (en) * | 2018-03-05 | 2021-03-02 | Zte Corporation | Routing packets in a ring communication network |
US10419982B1 (en) * | 2018-03-14 | 2019-09-17 | Cisco Technology, Inc. | Methods and apparatus for providing end marker functionality in mobile networks having SRv6-configured mobile user planes |
US10924399B2 (en) * | 2018-03-15 | 2021-02-16 | Cisco Technology, Inc. | Segment routing packet policies and functions including an engineered reverse reply path providing efficiencies in communicating packets in a network |
US10594513B2 (en) * | 2018-03-19 | 2020-03-17 | Cisco Technology, Inc. | Packet communications providing packet forwarding efficiencies in a network including using a segment routing and tunnel exchange |
US11792307B2 (en) * | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
US11019075B2 (en) * | 2018-06-26 | 2021-05-25 | Cisco Technology, Inc. | Providing processing and network efficiencies in protecting internet protocol version 6 segment routing packets and functions using security segment identifiers |
CN115580569A (zh) | 2018-08-17 | 2023-01-06 | 华为技术有限公司 | 源路由隧道入节点保护 |
WO2020048493A1 (en) * | 2018-09-05 | 2020-03-12 | Huawei Technologies Co., Ltd. | Segment routing in mpls network |
US10812374B2 (en) * | 2018-09-21 | 2020-10-20 | Cisco Technology, Inc. | Segment routing with fast reroute for container networking |
CN109067652A (zh) | 2018-09-25 | 2018-12-21 | 盛科网络(苏州)有限公司 | 一种IPv6分段路由中节约段标识开销的方法及装置 |
US20200128469A1 (en) * | 2018-10-19 | 2020-04-23 | Huawei Technologies Co., Ltd. | Method and system for network routing |
US11412071B2 (en) | 2019-05-13 | 2022-08-09 | Juniper Networks, Inc. | Compressed routing header information for networks |
-
2018
- 2018-12-28 US US16/236,216 patent/US11245617B1/en active Active
-
2019
- 2019-06-21 EP EP19181594.3A patent/EP3675449A1/en active Pending
- 2019-09-29 CN CN201910933631.1A patent/CN111385199B/zh active Active
- 2019-09-29 CN CN202211428412.6A patent/CN115733784A/zh active Pending
-
2021
- 2021-12-16 US US17/644,609 patent/US11902153B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1377549A (zh) * | 1999-09-29 | 2002-10-30 | 艾利森电话股份有限公司 | 一种支持压缩分段头标的分段协议 |
CN106330714A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
CN107566272A (zh) * | 2017-10-17 | 2018-01-09 | 新华三技术有限公司 | 转发表建立方法及数据转发方法 |
CN108809759A (zh) * | 2018-05-29 | 2018-11-13 | 新华三技术有限公司 | 检测链路状态的方法、装置和路由器 |
Also Published As
Publication number | Publication date |
---|---|
CN115733784A (zh) | 2023-03-03 |
CN111385199A (zh) | 2020-07-07 |
EP3675449A1 (en) | 2020-07-01 |
US11902153B1 (en) | 2024-02-13 |
US11245617B1 (en) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385199B (zh) | 经压缩的路由报头 | |
CN111935007B (zh) | 用于网络的压缩路由报头信息 | |
CN107317751B (zh) | 用于提供路由的设备和方法 | |
US10708219B2 (en) | Simplified packet routing | |
US10158568B2 (en) | Method and apparatus for service function forwarding in a service domain | |
KR102555671B1 (ko) | 패킷 처리 방법, 관련 기기 및 컴퓨터 저장 매체 | |
EP3461082B1 (en) | Network congestion control method and device | |
US6643287B1 (en) | Apparatus and method for forwarding encapsulated data packets on a network having multiple links between nodes | |
WO2019210769A1 (en) | Explicit routing with network function encoding | |
US9923835B1 (en) | Computing path maximum transmission unit size | |
EP3570524B1 (en) | Packet fragment forwarding without reassembly | |
US8804735B2 (en) | Scalable forwarding table with overflow address learning | |
JP2013503572A (ja) | 経路キャッシュを最適化するための方法 | |
EP3780512B1 (en) | Packet processing method and apparatus | |
CN113949744A (zh) | 使用端口控制协议通信的动态互联网协议转换 | |
US11909629B2 (en) | Seamless segment routing for multiprotocol label switching (MPLS) interworking | |
CN113055268A (zh) | 隧道流量负载均衡的方法、装置、设备及介质 | |
US11627093B1 (en) | Generic layer independent fragmentation of non-internet protocol frames | |
CN108011820B (zh) | 基于监测网络流量条件的旁路标签交换路径的动态修改 | |
CN116346533A (zh) | 具有减少的报头信息的vpn业务的传输 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |