CN112311673B - 在采用分段路由的网络中使用和处理每切片分段标识符 - Google Patents

在采用分段路由的网络中使用和处理每切片分段标识符 Download PDF

Info

Publication number
CN112311673B
CN112311673B CN201911413200.9A CN201911413200A CN112311673B CN 112311673 B CN112311673 B CN 112311673B CN 201911413200 A CN201911413200 A CN 201911413200A CN 112311673 B CN112311673 B CN 112311673B
Authority
CN
China
Prior art keywords
prefix
slice
srgb
sid
igp
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
Application number
CN201911413200.9A
Other languages
English (en)
Other versions
CN112311673A (zh
Inventor
A·德希穆克
R·托维
T·萨德
V·P·勃拉姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN112311673A publication Critical patent/CN112311673A/zh
Application granted granted Critical
Publication of CN112311673B publication Critical patent/CN112311673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols

Landscapes

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

Abstract

本公开的实施例涉及在采用分段路由的网络中使用和处理每切片分段标识符。相同的前缀分段标识符可以通过以下配置和/或用于(A)内部网关协议域内的多于一个的前缀或(B)IGP域内的具有多于一个的路径计算算法的个前缀:(a)由IGP域中的节点接收IGP通告,其包括(1)前缀SID和分段路由全局块切片标识符;(b)确定由该标识符标识的SRGB切片是否在节点上被供应;以及(c)响应于由该标识符标识的切片在节点上不被供应的确定,不处理IGP通告中包括的前缀SID,否则响应于由该标识符标识的SRGB切片在节点上被供应的确定,(1)处理前缀SID和SRGB切片以生成前缀的每SRGB切片唯一MPLS标签,以及(2)使用前缀的每SRGB切片唯一标签和前缀来更新节点的标签转发信息库。

Description

在采用分段路由的网络中使用和处理每切片分段标识符
相关申请
本申请要求于2019年7月24日提交的并且将Raveendra Torvi、 AbhishekDeshmukh、Tarek Saad和Vishnu Pavan Beeram列为发明人 的题为“USING ANDPROCESSING PER SLICE SEGMENT IDENTIFERS IN A NETWORK EMPLOYING SEGMENTROUTING (在采用分段路由的网络中使用和处理每切片分段标识符)”的美 国临时申请号62/877,847(称为“'847临时申请”并且通过引用并入 本文)的权益。本发明的范围不限于'847临时文件中的特定实施例 的任何要求。
技术领域
§1背景技术
§1.1技术领域
本说明书涉及通信网络。更具体地,本说明书涉及在采用分段 路由(SR)的通信网络分段中配置和使用前缀分段标识符(SID)和 /或分段路由全局块(SRGB)。
背景技术
§1.2背景信息
§1.2.1分段路由
互联网最初被设计为通过最低成本路径提供最大努力的连接 性。然而,在当今的互联网中,很多应用要求通过最低成本路径实 现比最大努力连接性更多。如今,网络操作者的任务是大规模地提 供高级服务,诸如流量工程和快速重新路由。为了大规模地提供这些高级服务,网络操作者必须降低网络复杂性。分段路由(SR)提 供了一种创新的流量引导(steering)方法。它可以被应用于长期存 在的问题,诸如流量工程和快速重新路由。当被应用于这些问题时, SR可以简化路由协议、网络设计和网络操作。
分段路由(也称为网络中的源分组路由(“SPRING”))是一 种控制平面架构,该架构使得入口路由器能够在不依赖于网络中的 中间节点来确定其应当采用的实际路径的情况下引导分组通过网络 中的特定节点和链路集合。在本上下文中,术语“源”是指施加有显式路由的点。分段路由在“Segment Routing Architecture(分段路 由架构)”,请求注释8402(2018年7月,互联网工程任务组)(称 为“RFC 8402”并且通过引用并入本文)中被定义。SPRING通过 使用用于广域网(“WAN”)分组网络中的流量引导和流量工程的 软件定义网络(“SDN”)控制器来实现网络的自动化。
分段路由利用源路由范例。节点通过有序指令列表(称为“分 段”)来引导分组。例如,入口路由器(也称为“头端路由器”) 可以通过在分组前预置具有包含适当隧道组合的分段的分组,来引 导分组通过期望的节点和链路集合。
§1.2.1.1SR域
SR域是参与SR协议的节点的集合。在SR域内,节点可以执行 入口、传输或出口过程。图1描绘了一个网络,其中源节点将分组 发送到目的地节点。源节点和目的地节点驻留在SR域之外,但是它 们之间的路径遍历SR域。更具体地,当分组到达SR入口节点(R1) 时,入口节点对该分组进行策略处理。策略可以将分组与SR路径相 关联。策略包括匹配条件和动作。如果分组满足匹配条件,则SR入 口节点(R1)可以将分组封装在SR隧道中。SR隧道遍历SR路径 以到达出口节点(R6)。
SR路径可以被设计成满足任何数目的约束(例如,最小链路带 宽、最大路径时延)。尽管SR路径可以遵循到达出口节点的最低成 本路径,但是约束可能导致SR路径遵循另一路径。
源节点和SR入口节点可以驻留在独立的硬件平台上(例如,分 别在膝上型电脑和路由器上),或者源节点和SR入口节点可以驻留 在同一硬件上(例如,分别在虚拟机和管理程序上)。类似地,SR 出口节点和目的地节点可以驻留在独立的硬件平台上,也可以驻留在单个平台上。在不太典型的配置中,源节点驻留在SR域内。在这 种情况下,源节点也是SR入口节点,因为它执行SR入口过程。类 似地,目的地节点可以驻留在SR域内,在这种情况下,目的地节点 也是SR出口节点,因为它执行SR出口过程。
§1.2.1.2SR路径
SR路径是将SR入口节点连接到SR出口节点的有序分段列表。 尽管SR路径可以遵循从入口到出口的最低成本路径,但是它也可以 遵循另一路径。
不同的SR路径可以共享同一分段。例如,参考图2,路径A将 入口节点A连接到出口节点Z,而路径B将入口节点B连接到同一 出口节点Z。路径A和B二者都遍历分段3。
当SR入口节点将分组封装在SR隧道中时,它将相关联的分段 列表编码在隧道报头中。然后,它将分组转发到下游。传输节点处 理隧道报头,从而将分组从当前分段转发到下一分段。由于SR入口 节点在隧道报头中编码路径信息,因此传输节点无需维护有关其支持的每个路径的信息。而是,传输节点仅需要处理隧道报头,从而 将分组从当前分段转发到下一分段。这是SR的主要优点。更具体地, 由于传输节点不需要维护路径信息,因此消除了与维护该信息相关 联的开销,简化了路由协议,改进了缩放特性,并且网络操作变为 问题较少。
§1.2.1.3SR分段和分段类型
SR分段是使分组遍历网络拓扑的一部分的指令。虽然分段(即, 指令)使分组遍历网络拓扑的一部分,但是它与网络拓扑的该部分 不同。SR定义了很多不同的SR分段类型。其中有“邻接分段”和 “前缀分段”。下面对每种类型的分段进行描述。
§1.2.1.3.1邻接分段
邻接分段是使分组遍历指定链路(即,与IGP邻接相关联的链 路)的指令。图3描绘了将入口节点R1连接到出口节点R6的SR 路径。该路径包含以下邻接分段:(1)在R1上被实例化的分段1, 其使分组遍历链路R1->R2;(2)在R2上被实例化的分段2,其使 分组遍历链路R2->R3;以及(3)在R3上被实例化的分段3,其使 分组遍历链路R3->R6。如果任何上述链路都不可用,则相关联的邻 接分段也将不可用。因此,如果任何上述邻接分段变得不可用,则 整个路径也将变得不可用。
因此,邻接分段是严格转发单跳隧道,该隧道通过两个节点之 间的特定链路上承载分组,而与链路成本无关。
§1.2.1.3.2前缀分段
前缀分段是使分组遍历通向节点或前缀的最低成本路径(或使 用标识的算法确定的路径)的指令。参考图4A,假定所有链路都配 置有相同的内部网关协议(IGP)度量并且SR路径将是最低成本(因 此也是)最短路径。SR路径将入口节点R1连接到出口节点R6,并且包含以下前缀分段:(1)在R1上被实例化的分段1,其使分组 遍历从R1到R2的最低成本路径;(2)在R2和R3上被实例化的 分段2,其使分组遍历从实例化节点到R6的最低成本路径。因此, 当链路全部可用时,SR路径会指引分组通过上述链路和分段。
参考图4B,假定链路R1->R2变得不可用。当发生这种情况时, 网络将在R1与R2之间建立新的最低成本路径。该新的最低成本路 径包括链路R1->R4和R4->R2。由于网络已经在R1与R2之间建立 了新的最低成本路径,因此分段1仍然可用并且使分组遍历新的最 低成本路径。分段2的行为不变。因此,该路径现在遍历链路R1->R4、R4->R2、R2->R3和R3->R6。
因此,前缀分段是使用相等成本多跳感知最短路径链路来到达 前缀的多跳隧道。前缀分段标识符(SID)支持IPv4和IPv6前缀两 者。节点分段是前缀分段的一种特殊情况,它使用两个特定节点之 间的最短路径链路。
§1.2.1.3.3任播分段
IGP任播分段是标识一组路由器的IGP前缀分段。任播分段基于 朝向任播集合的最接近节点的相等成本多路径感知(ECMP感知) 最短路径来强制转发。在任播组内,所有路由器都通告具有相同分 段标识符(SID)值的相同前缀,这有助于负载平衡。因此,任播分段也是一种前缀分段,它标识一组路由器以通告具有相同SID值的 相同前缀。
§1.2.1.4SR多协议标签交换(MPLS)
在SR-MPLS中,SR路径被编码为MPLS标签堆栈,其中每个 标签堆栈条目表示SR路径中的分段。下面描述如何使用MPLS标签 对邻接分段和前缀分段进行编码。
§1.2.1.4.1使用MPLS标签对邻接分段进行编码
参考图5,SR路径将R1连接到R4。SR路径包含三个邻接分段。 分段1使分组遍历链路R1->R2,分段2使分组遍历链路R2->R3, 并且分段3使分组遍历链路R3->R4。当R1从SR域之外接收到分组 时,它将对分组进行策略处理。策略可以使R1通过图5所示的SR 路径转发分组。当发生这种情况时,R1施加包含两个条目的MPLS 标签堆栈。堆栈顶部的条目表示分段2,并且承载MPLS标签1002。 堆栈底部的条目表示分段3并且承载MPLS标签1003。
在已经施加MPLS标签堆栈之后,R1通过分段1(即,链路 R1->R2)转发封装的分组。当分组到达R2时,R2从标签堆栈中提 取顶部标签(即,1002),并且在其转发信息库(“FIB”)中搜索 对应条目。对应FIB条目包括指令(即,POP)和下一跳(即,R3)。 因此,R2从标签堆栈中弹出最顶部标签,并且通过分段2(即,链 路R2->R3)转发分组。
当分组到达R3时,R3从其余标签堆栈中提取标签(即,1003), 并且在其FIB中搜索对应条目。对应FIB条目包括指令(即,POP) 和下一跳(即,R4)。因此,R3从标签堆栈中弹出剩余条目,并且 通过分段3(即,链路R3->R4)转发分组。如图5所示,在遍历SR 路径之后,分组到达R4,而没有进行MPLS封装。
§1.2.1.4.2使用MPLS标签对前缀分段进行编码
在图6中,SR路径经由R4将R1连接到R7。SR路径包含两个 前缀分段。分段1是使分组遍历从R1到R4的路径(例如,最低成 本路径)的前缀分段。分段2是使分组遍历从R4到R7的路径(例 如,最低成本路径)的前缀分段。在该网络中,假定所有链路都配 置有相同的IGP度量(例如,10)。因此,最低从R1到R4的第一 分段的最低成本路径遍历链路R1->R2、R2->R3和R3->R4,而最低 从R4到R7的第二分段的最低成本路径遍历链路R4->R8和R8->R7。
当R1从SR域之外接收到分组时,对该分组进行策略处理。策 略可以使R1通过图6所示的SR路径转发分组。当发生这种情况时, R1施加包含两个条目的MPLS标签堆栈。标签堆栈顶部的条目表示 分段1并且承载标签2001。标签堆栈底部的条目表示分段2并且承 载标签2002。在已经施加MPLS标签堆栈之后,R1经由链路R1->R2 将封装的分组转发到分段1中。
当分组到达R2时,R2从标签堆栈中提取顶部标签(即,2001), 并且在其FIB中搜索对应条目。对应FIB条目包括指令(即, SWAP-3001)和下一跳(即,R3)。因此,R2用新值(即,3001) 重写最上面的标签,并且将分组转发到R3。
当分组到达R3时,R3从标签堆栈中提取顶部标签(即,3001), 并且在其FIB中搜索对应条目。对应FIB条目包括指令(即,POP) 和下一跳(即,R4)。因此,R3从标签堆栈中弹出最顶部条目,并 且经由链路R3->R4将分组转发到分段2中。
当分组到达R4时,R4从标签堆栈中提取剩余标签(即,2002), 并且在其FIB中搜索对应条目。对应FIB条目包括指令(即, SWAP-3002)和下一跳(即,R8)。因此,R4用新值(即,3002) 重写剩余标签,并且将分组转发到R8。
当分组到达R8时,R8从标签堆栈中提取剩余标签(即,3002), 并且在其FIB中搜索对应条目。对应FIB条目包括指令(即,POP) 和下一跳(即,R7)。因此,R8从标签堆栈中弹出剩余条目,并且 将分组转发到R7,而没有进行MPLS封装。
§1.2.1.4.3倒数第二跳弹出(PHP)和显式空值标签
在以上示例中,每个分段执行PHP过程。即,当分组遍历分段 时,该分段的倒数第二节点弹出与该分段相关联的标签。如果SR路 径包含尚待遍历的另一分段,则当前分段的出口节点也是下一分段 的入口节点。在这种情况下,分组到达该节点,其中下一分段的标签暴露在堆栈的顶部。如果SR路径不包含尚待遍历的另一分段,则 分段出口节点也是路径出口节点。在这种情况下,分组无需进行 MPLS封装即可到达路径出口节点。
在一些情况下,如果没有MPLS封装,SR路径中的最终链路可 能无法承载分组。例如,分组可以是IPv6,而链路仅支持IPv4。为 了防止出现这种问题,SR入口节点可以将MPLS显式空值标签添加 到MPLS标签堆栈的顶部。
当最终分段中的倒数第二节点弹出与最终分段相关联的标签 时,它将暴露显式空值标签。然后,倒数第二节点将分组转发到路 径出口节点。路径出口节点弹出显式空值标签,并且继续处理分组。
§1.2.1.5分段标识符(SID)的配置和分布
关于图5和图6描述的前述示例假定MPLS标签是分布式的并 且每个节点的FIB均已经填充。本质上,分段路由采用内部网关协 议(“IGP”)(例如,中间系统到中间系统(“IS-IS”)和开放式 最短路径优先(“OSPF”))来通告两种类型的网络分段或隧道—— (1)严格转发单跳隧道,它在两个节点之间的特定链路上承载分组, 而不考虑链路成本(称为“邻接分段”,在上面的§1.2.1.3.1中描述), 以及(2)使用两个特定节点之间的最短路径链路的多跳隧道(称为 “节点分段”,在上面的§1.2.1.3.2中描述)。
每个分段与标识符相关联,该标识符称为分段标识符(“SID”)。 如上所述,有序分段列表被编码为标签堆栈。分段可以表示任何指 令:拓扑的或基于服务的。分段可以具有分段路由域内的分段路由 节点或全局节点的本地语义。分段路由强制通过任何拓扑路径和服 务链的流,同时仅在通向分段路由域的入口节点处保持每流 (per-flow)状态。分段路由可以被直接应用于MPLS架构,其中转 发平面上没有任何改变。分段被编码为MPLS标签。有序分段列表 被编码为标签的“堆栈”或“标签堆栈”。待处理的分段位于堆栈 的顶部(即,标签堆栈的最外部标签)。在分段完成之后,相关标 签从堆栈中“弹出”(即,移除)。
分段路由可以用新类型的路由扩展报头应用于IPv6架构。分段 被编码为IPv6地址。有序分段列表在路由扩展报头中编码为IPv6 地址的有序列表。要处理的分段由路由扩展报头中的指针指示。在 分段完成之后,指针递增。
§1.2.1.5.1可配置的分段路由全局块
如上所述,分段被编码为MPLS标签。有序分段列表被编码为 标签堆栈。由节点标签管理器基于为源分组路由配置的索引范围来 为分段路由域中的每个节点分配标签。这些标签基于由节点标签管 理器管理的动态标签范围的可用性而被分配给节点分段。分段路由 全局块(“SRGB”)是分段路由中使用的标签值的范围。可以为IS-IS 和OSPF协议配置可用SRGB标签范围,使得标签跨分段路由域可 预测。因此,分段路由域中的每个节点基于动态标签范围的可用性 而被分配标签,并且SRGB是为分段路由保留的标签值范围。SID 可以被提供作为要被添加到SRGB基数值以获取标签值的索引。
IS-IS协议按邻接、等级和地址族创建邻接分段(各自针对IPv4 和IPv6)。为所创建的每个邻接分段分配MPLS标签。在分段的邻 接状态变为可用状态之后分配这些标签。OSPF协议按邻接关系创建 邻接分段。
§1.2.2现有前缀SID的局限性
在“IS-IS Extensions for Segment Routing(用于分段路由的IS-IS 扩展)”(互联网工程任务组,2019年5月19日)(通过引用并入 本文)中定义的SR前缀SID是每个IGP域唯一的。这表示分配给 单播前缀的前缀SID不能被重新分配给同一IGP域内的另一前缀。如上所述,在MPLS网络中,前缀SID可以与SRGB一起使用以生 成在IGP通告中接收前缀SID的每个路由器上分配的唯一标签。例 如,当使用中间系统到中间系统(“IS-IS”)作为IGP时,前缀SID 子TLV被承载在前缀可到达性网络层可到达性信息(“NLRI”)字 段中(例如,在TLV 135中),并且在IGP域内被泛洪。IGP域中 的每个路由器(包括(多个)远程IGP区域中的路由器)将潜在地 接收具有前缀SID子TLV的前缀可到达性NLRI,并且将潜在地处 理前缀SID。这导致将唯一本地标签(从SRGB得出)分配和指派 给在前缀NLRI中指示的特定前缀并且使用(多个)下一跳的结果集 合对其转发进行编程。因此,IGP域中的每个节点将在接收到前缀 SID子TLV通告之后必须执行相同的处理。
然而,有时希望将前缀SID的范围限制为IGP域内的一组特定 路由器(例如,颜色或密切关系)。该前缀可能仅从IGP域中的路 由器子集可访问。因此,仅该子集将需要处理前缀SID并且在其转 发中对其(多个)对应路径进行编程。然而,不幸的是,IGP域中的 每个节点在接收到前缀SID子TLV通告之后将必须执行相同的处 理——即使是那些不属于该特定集合的节点。考虑例如提供方网络 中的多(例如,双)平面使用情况,其中服务提供方将其网络划分 为多个(例如,两个)不同的平面(例如,为了安全性,为了服务 冗余,为了分离不同级别或质量的服务,等等)。在这种情况下, 同一平面内的(多个)路由器可到达同一平面,但不得从任何其他 平面到达。在当今的SR中,这可以通过以下方式来实现:用不同密切关系对(多个)平面(多个)链路进行“着色”并且利用前缀SID 子TLV“算法”字段为每个平面分配唯一前缀SID并且计算将(多 个)下一跳限制到该特定平面的(多个)路径。例如,服务提供方 可以将两个不同前缀SID(例如,GREEN前缀SID=1,以及RED前 缀SID=2)分配给同一前缀,因此它可以在两个不同平面(例如, 平面GREEN和平面RED)上可到达。两个(RED和GREEN)前缀 SID都将在IGP域中被通告,并且因此由网络中的所有路由器接收 和处理,而无论它们是否属于前缀SID所对应的平面。
如前所述,GREEN前缀SID(SID=1)(尽管仅由平面GREEN 中的路由器使用)不能被重用于域中的任何其他前缀。此外,不可 能将所有域路由器上与GREEN前缀SID相对应的标签重新分配给 任何其他前缀。
鉴于前述内容,避免由在IGP域中但在不同平面中的路由器处 理平面特定的前缀SIDS将是有用的。能够由在同一IGP中但在不同 平面中的路由器重用相同的前缀SID也将是有用的。
发明内容
§2.发明内容
能够由在同一IGP中但在不同平面中的路由器重用同一前缀 SID和/或避免由在IGP域中但在不同平面中的路由器处理平面特定 的前缀SIDS的挑战是通过提供一种计算机实现的方法来满足的,该 方法用于为(A)内部网关协议(IGP)域中的多于一个的前缀或者 (B)IGP域内的具有多于一个的路径计算算法的一个前缀配置和/ 或使用相同的前缀分段标识符(SID)。在与本说明书相一致的一些 示例实施例中,该计算机实现的方法包括:(a)由IGP域中的节点 接收IGP通告,该IGP通告包括(1)前缀SID和分段路由全局块 (SRGB)切片标识符两者;(b)确定节点上是否供应由SRGB切 片标识符标识的SRGB切片;以及(c)响应于确定节点上没有供应 由SRGB切片标识符标识的SRGB切片,不处理所接收的IGP通告中包括的前缀SID,否则响应于确定节点上供应由SRGB切片标识 符标识的SRGB切片,(1)处理前缀SID和SRGB切片以生成针对 前缀的每个SRGB切片唯一的MPLS标签,以及(2)使用针对前缀 的每个SRGB切片唯一的标签和前缀来更新节点的标签转发信息库 (LFIB)。
在与本说明书相一致的一些示例实施例中,处理前缀SID和 SRGB切片以生成针对前缀的每个SRGB切片唯一的标签的动作包 括将前缀SID作为索引值添加到由SRGB切片定义的基数。在与本 说明书相一致的一些其他示例实施例中,处理前缀SID和SRGB切 片以生成针对前缀的每个SRGB切片唯一的标签的动作包括从由 SRGB切片定义的最大值中减去作为索引值的前缀SID。
在与本说明书相一致的一些示例实施例中,节点的LFIB包括条 目,该条目具有针对前缀的每个SRGB切片唯一的标签和前缀。在 这样的示例实施例中,该计算机实现的方法还包括:(d)接收包括 前缀的分组;(e)使用前缀在LFIB中查找每个SRGB切片唯一的 标签;以及(f)使用每个SRGB切片唯一的标签来转发分组。
在与本说明书相一致的一些示例实施例中,路由器属于IGP域 内的SR域的特定切片。在与本说明书相一致的一些其他示例实施例 中,路由器属于IGP内的SR域的至少两个特定切片。
在与本说明书相一致的一些示例实施例中,IGP通告是网络层可 到达性信息(NLRI)字段中承载的并且包括(1)前缀SID和分段 路由全局块(SRGB)切片标识符两者的前缀SID子TLV。
在与本说明书相一致的一些示例实施例中,SRGB切片对应于 环。
在与本说明书相一致的一些示例实施例中,所生成的IGP通告 经由IGP泛洪被传输到属于该IGP域的所有路由器,而不管这样的 路由器是否属于由SRGB切片标识符标识的SR域的切片。
附图说明
§3.附图说明
图1是用于说明SR域的示例网络。
图2是用于说明通过SR域的SR路径的示例网络。
图3是用于说明SR域中的邻接分段的示例网络。
图4A和图4B是用于说明SR域中的前缀分段的示例网络。
图5是用于说明从邻接分段得出的MPLS标签的使用的示例网 络。
图6是用于说明从前缀分段得出的MPLS标签的使用的示例网 络。
图7是用于承载与诸如前缀SID等SID相结合的切片标识符的 示例消息格式。
图8是每切片SRGB子TLV的示例消息格式。
图9是用于为IGP域内的不同切片中的多于一个的前缀(或在 不同切片中具有多于一个的路径计算算法的一个前缀)使用和/或配 置一个前缀SID的示例方法的流程图。
图10图示了经由通信链路耦合的两个数据转发系统,它们可以 用作SR域中的节点。
图11是可以被用作SR域中的节点的路由器的框图。
图12是示例架构,其中ASICS可以分布在分组转发组件中以划 分分组转发责任。
图13A和图13B是图12的示例架构的操作的示例。
图14是用于在示例路由器中提供分组转发的示例方法的流程 图。
图15是可以执行所描述的一个或多个过程和/或存储由这样的 过程使用和/或生成的信息的示例性机器1500的框图。
图16是说明与图9相一致的示例方法的操作的示例网络。
具体实施方式
§4.具体实施方式
本公开可以涉及用于在IGP域中改进前缀SID的分配和使用以 及改进其通告的新颖的方法、装置、消息格式和/或数据结构。以下 描述被呈现以使得本领域技术人员能够制造和使用所描述的实施 例,并且该描述在特定应用及其要求的上下文中被提供。因此,示例实施例的以下描述提供了说明和描述,但并不意图是穷举性的或 者将本公开限制为所公开的精确形式。对所公开的实施例的各种修 改对于本领域技术人员将是很清楚的,并且下面阐述的一般原理可 以被应用于其他实施例和应用。例如,尽管可以参考流程图描述一系列动作,但是当一个动作的执行不取决于另一动作的完成时,动 作的顺序在其他实现中可以不同。此外,可以并行地执行不相关动 作。除非明确地如此描述,否则在说明书中使用的任何要素、动作 或指令都不应当被解释为对本说明书是关键或必要的。同样,如本 文中使用的,冠词“一个(a)”旨在包括一个或多个项目。在仅意 图一个项目的情况下,使用术语“一个(one)”或类似语言。因此, 本公开内容不旨在限于所示的实施例,并且发明人将其发明视为所 描述的任何可专利主题。
通过限制前缀SID的范围,与本说明书相一致的示例实施例允 许潜在地将相同的前缀SID重用于另一前缀(或者甚至具有不同算 法的相同前缀)但用于不同切片。在常规的SR协议(诸如符合RFC 8402的现有协议)中,只有单个SRGB由IGP域中的每个SR节点 分配、通告和管理。这限制了前缀SID始终解析为该SRGB空间中 的相同标签。与本说明书相一致的示例实施例将每个节点SRGB切 成多个切片(例如,针对每种颜色、密切关系或平面一个切片), 每个切片由唯一标识符标识。本说明书在前缀SID子TLV中引入了 新字段以在IGP通告中承载SRGB切片ID。接收带有切片ID的前 缀SID子TLV的节点会将前缀SID解析为具有该切片ID的特定 SRGB中的标签。如果节点上没有供应SRGB切片ID,则该节点可 以停止处理具有该切片ID的前缀SID子TLV。
首先,如图7的示例消息格式700所示,前缀SID子TLV被扩 展为包括切片ID 750。更具体地,托管前缀的路由器可以将SID分 配给通过一个切片可以到达的前缀。如图7所示,除了SID/标签760, 每个切片前缀SID子TLV还包含切片ID 750。
接下来,如图8的示例消息格式800所示,每个节点为特定切 片ID供应和通告SRGB。范围字段850承载SRGB范围/大小。标签 字段860承载SRBG起始。更具体地,IGP域中接收每切片前缀SID 子TLV的任何路由器将首先检查它是否是切片的一部分(例如,通 过检查是否供应了每切片SRGB)。如果路由器不是切片的一部分, 则它可以停止处理每切片前缀SID子TLV。如果路由器是切片的一 部分,则它分配从每切片SRGB得出的对应MPLS标签。
§4.1示例方法
图9是用于为IGP域内的多于一个的前缀(或具有多于一个的 路径计算算法的一个前缀)使用和/或配置一个前缀SID的示例方法 900的流程图。示例方法900可以由包括SR域的IGP域中的节点(例 如,每个节点)运行。如图所示,示例方法900通过IGP中的节点 接收IGP通告,该IGP通告包括(1)前缀SID和分段路由全局块 (SRGB)切片标识符两者(框910)。接下来,示例方法900确定 节点上是否供应由SRGB切片标识符标识的SRGB切片(框920)。 响应于确定节点上没有供应由SRGB切片标识符标识的SRGB切片 (决策930,否),示例方法900不处理所接收的IGP通告中所包括 的前缀SID(框940)。否则,响应于确定节点上供应了由SRGB切 片标识符标识的SRGB切片(决策930,是),示例性方法900处理 前缀SID和SRGB切片以生成针对前缀的唯一(每切片)标签(框 950),并且使用针对前缀的唯一(每切片)标签和前缀来更新针对 节点的标签转发信息库(LFIB)(框960)。
再次参考框950,在与本说明书相一致的一些示例实施例中,处 理前缀SID和SRGB切片以生成针对前缀的唯一(每切片)标签的 动作包括将前缀SID作为索引值添加到由SRGB切片定义的基数。 备选地,在与本说明书相一致的一些其他示例实施例中,处理前缀SID和SRGB切片以生成针对前缀的唯一(每切片)标签的动作包 括从由SRGB切片定义的最大值中减去作为索引值的前缀SID。
§4.2示例装置
图10图示了经由通信链路1030耦合的两个数据转发系统1010 和1020。这些链路可以是物理链路或“无线”链路。数据转发系统 1010、1020例如可以是路由器,并且可以是RR和RR客户端。如 果数据转发系统1010、1020是示例路由器,则每个路由器可以包括 控制组件(例如,路由引擎)1014、1024和转发组件1012、1022。 每个数据转发系统1010、1020包括终止一个或多个通信链路1030 的一个或多个接口1016、1026。示例方法900可以在控制组件1014、 1024上实现,并且可以更新由转发组件1012、1022使用的信息。
如上所述,并且参考图11,一些示例路由器1100包括控制组件 (例如,路由引擎)1110和分组转发组件(例如,分组转发引擎) 1190。
控制组件1110可以包括操作系统(OS)内核1120、(多个) 路由协议过程1130、(多个)基于标签的转发协议过程1140、(多 个)接口过程1150、(多个)用户界面(例如,命令行界面)过程 1160和(多个)机架过程1170,并且可以存储(多个)路由表1139、 标签转发信息1145和(多个)转发(例如,基于路由和/或基于标签 的)表1180。如图所示,(多个)路由协议过程1130可以支持诸如 路由信息协议(“RIP”)1131、中间系统到中间系统协议(“IS-IS”)1132、开放式最短路径优先协议(“OSPF”)1133、增强型内部网 关路由协议(“EIGRP”)1134和边界网关协议(“BGP”)1135 等路由协议,并且基于标签的转发协议过程1140可以支持诸如BGP 1135、标签分发协议(“LDP”)1136和资源保留协议(“RSVP”) 1137等协议。一个或多个组件(未示出)可以允许用户1165与(多 个)用户界面过程1160交互。类似地,一个或多个组件(未示出) 可以允许外部设备经由SNMP 1185与(多个)路由器协议过程1130、 (多个)基于标签的转发协议过程1140、(多个)接口过程1150 和机架过程1170中的一个或多个进行交互,并且这样的过程可以经 由SNMP 1185向外部设备发送信息。与本说明书相一致的示例实施 例可以在边界网关协议(“BGP”)过程1135中实现。
分组转发组件1190可以包括微内核1192、(多个)接口过程 1193、分布式ASIC1194、(多个)机架过程1195和(多个)转发 (例如,基于路由和/或基于标签的)表1196。
在图11的示例路由器1100中,控制组件1110处理诸如执行路 由协议、执行基于标签的转发协议、控制分组处理等任务,这释放 了分组转发组件1190以快速转发所接收的分组。即,所接收的控制 分组(例如,路由协议分组和/或基于标签的转发协议分组)没有在分组转发组件1190本身上被完全处理,而是被传递到控制组件 1110,从而减少了分组转发组件1190必须进行的工作量并且释放分 组转发组件1190以有效地处理待转发的分组。因此,控制组件1110 主要负责运行路由协议和/或基于标签的转发协议,维护路由表和/ 或标签转发信息,将转发表更新发送到分组转发组件1190,以及执 行系统管理。示例控制组件1110可以处理路由协议分组,提供管理 接口,提供配置管理,执行计费,以及提供警报。过程1130、1140、 1150、1160和1170可以是模块化的,并且可以与OS内核1120进 行交互。即,几乎所有过程都直接与OS内核1120进行通信。使用 将过程彼此干净地分离的模块化软件隔离了给定过程的问题,使得 这样的问题不会影响可能正在运行的其他过程。此外,使用模块化 软件有助于更轻松地扩展。
仍然参考图11,示例OS内核1120可以合并用于外部程序调用 和脚本能力的应用程序编程接口(API)系统。控制组件1110可以 基于从闪存运行OS的Intel PCI平台,其中备用副本被存储在路由 器的硬盘上。OS内核1120位于Intel PCI平台上,并且在Intel PCI平台与控制组件1110的过程之间建立通信。OS内核1120还确保分 组转发组件1190正在使用的转发表1196与控制组件1110中的那些 表1180同步。因此,除了向控制组件1110软件过程提供底层基础 结构,OS内核1120还在控制组件1110与分组转发组件1190之间 提供链路。
参考图11的(多个)路由协议过程1130,该(多个)过程1130 提供平台内的路由和路由控制功能。在该示例中,提供了RIP 1131、 IS-IS 1132、OSPF 1133和EIGRP 1134(和BGP 1135)协议。自然 地,可以另外地或备选地提供其他路由协议。类似地,(多个)基 于标签的转发协议过程1140提供标签转发和标签控制功能。在该示 例中,提供了LDP 1136和RSVP 1137(和BGP 1135)协议。自然 地,可以另外地或备选地提供其他基于标签的转发协议(例如, MPLS、SR等)。在示例路由器1100中,(多个)路由表1139由 (多个)路由协议过程1130产生,而标签转发信息1145由(多个) 基于标签的转发协议过程1140产生。
仍然参考图11,(多个)接口过程1150执行物理接口的配置(例 如,回想图10的1016和1026)和封装。
示例控制组件1110可以提供几种管理路由器的方式。例如,控 制组件1110可以提供允许系统操作员1165通过配置、修改和监测 来与系统交互的(多个)用户界面过程1160。SNMP 1185允许具有 SNMP能力的系统与路由器平台进行通信。这也允许平台向外部代 理提供必要的SNMP信息。例如,SNMP 1185可以允许通过诸如Hewlett-Packard的OpenView等框架从运行诸如Hewlett-Packard的 网络节点管理器(“HP-NNM”)等软件的网络管理站来管理系统。 分组的计费(通常称为流量统计)可以由控制组件1110执行,从而 避免减慢由分组转发组件1190进行的流量转发。
尽管未示出,但是示例路由器1100可以提供带外管理、用于串 行控制台和远程管理访问的RS-232DB9端口、以及使用可移除PC 卡的第三级存储。此外,尽管未示出,但是位于机架前部的工艺接 口提供路由器的内部工作情况的外部视图。它可以用作故障排除工具、监测工具或两者。工艺接口可以包括LED指示器、警报指示器、 控制组件端口和/或显示屏。最后,工艺接口可以经由控制台端口、 辅助端口和/或管理以太网端口提供与命令行界面(“CLI”)1160 的交互。
分组转发组件1190负责尽可能快地正确地输出所接收的分组。 如果转发表中没有给定目的地或给定标签的条目并且分组转发组件 1190自身不能执行转发,则分组转发组件1190可以将绑定到该未知 目的地的分组发送给控制组件1110以进行处理。示例分组转发组件 1190被设计为执行层2和层3交换、路由查找和快速分组转发。
如图11所示,示例分组转发组件1190具有嵌入式微内核1192、 (多个)接口过程1193、分布式ASIC 1194和(多个)机架过程1195, 并且存储(多个)转发(例如,基于路由和/或基于标签的)表1196。 微内核1192与(多个)接口过程1193和(多个)机架过程1195交 互以监测和控制这些功能。(多个)接口过程1192与控制组件1110 的OS内核1120直接通信。该通信包括将异常分组和控制分组转发 到控制组件1110,接收待转发的分组,接收转发表更新,向控制组 件1110提供关于分组转发组件1190的健康状况的信息,并且允许 从控制组件1110的(多个)用户界面(例如,CLI)过程1160配置 接口。所存储的(多个)转发表1196是静态的,直到从控制组件1110 接收到新的消息。(多个)接口过程1193使用(多个)转发表1196 查找下一跳信息。(多个)接口过程1193也直接与分布式ASIC 1194 通信。最后,(多个)机架过程1195可以直接与微内核1192和分 布式ASIC 1194通信。
在示例路由器1100中,示例方法900可以在分组控制组件1110 中实现。
再次参考图11的分布式ASIC 1194,图12是ASICS可以如何 在分组转发组件1190中分布以划分分组转发的责任的示例。如图12 所示,分组转发组件1190的ASIC可以分布在物理接口卡(PIC)1210、 柔性PIC集中器(FPC)1220、中板或背板1230和(多个)系统控 制板1240上(用于交换和/或转发)。交换结构也被示出为系统交换 板(“SSB”)或交换和转发模块(“SFM”)1250。每个PIC 1210 包括一个或多个PIC I/O管理器1215。每个FPC 1220包括一个或多 个I/O管理器1222,每个I/O管理器1222具有相关联的存储器1224。 中板/背板1230包括缓冲管理器1235a、1235b。最后,系统控制板 1240包括互联网处理器1242和转发表1244的实例(例如,回想图 11的1196)。
仍然参考图12,PIC 1210包含接口端口。可以将每个PIC 1210 插入FPC 1220。每个单独的PIC 1210可以包含处理媒体特定功能(诸 如成帧或封装)的ASIC。PIC 1210的一些示例提供SDH/SONET、 ATM、千兆以太网、快速以太网和/或DS3/E3接口端口。
FPC 1220可以包含一个或多个PIC 1210,并且可以将来自PIC 1210的信号承载到中板/背板1230,如图12所示。
中板/背板1230容纳线卡。当线卡从前面插入示例路由器的机架 时,它们可以连接到中板/背板1230。控制组件(例如,路由引擎) 1110可以从机架的后部插入中板/背板1230的后部。中板/背板1230 可以将电(或光)信号和电力承载到每个线卡和控制组件1110。
系统控制板1240可以执行转发查找。系统控制板1240还可以 将错误传送给路由引擎。此外,系统控制板1240还可以基于其从传 感器接收的信息来监测路由器的状况。如果检测到异常状况,则系 统控制板1240可以立即通知控制组件1110。
参考图12、图13A和图13B,在一些示例性路由器中,PIC 1210、 1110'中的每个包含负责诸如封装等媒体特定任务的至少一个I/O管 理器ASIC 1215。分组在进出路由器时通过这些I/O ASIC。PIC 1210、 1110'上的I/O管理器ASIC 1215负责根据情况管理与FPC1220、 1120'上的I/O管理器ASIC 1222的连接,管理链路层成帧并且创建 比特流,执行循环冗余检验(CRC),并且检测链路层错误并且生 成警报。FPC 1220包括另一I/O管理器ASIC1222。该ASIC 1222 从PIC 1210取得分组,并且将其分成(例如,74字节的)存储器块。 该FPC I/O管理器ASIC 1222将这些块发送到第一分布式缓冲管理 器(DBM)1235a',解码封装和协议特定信息,为每个逻辑电路计 数分组和字节,验证分组完整性,并且向分组应用服务等级(CoS) 规则。此时,分组首先被写入存储器。更具体地,示例DBM ASIC 1235a'管理所有FPC 1220上的分组并且将其写入共享存储器1224。 并行地,第一DBM ASIC 1235a'还提取关于分组的目的地的信息, 并且将该与转发相关信息传递给互联网处理器1242/1142'。互联网处 理器1242/1142'使用转发表1244执行路由查找,并且将信息发送到 第二DBMASIC 1235b'。互联网处理器ASIC 1242/1142'还收集异常 分组(即,没有转发表条目的异常分组),并且将其发送到控制组 件1110。然后,第二DBM ASIC 1235b'获取该信息和74字节的块, 并且将其转发到出口FPC 1220/1120'(或在多播的情况下为多个出口 FPC)的I/O管理器ASIC 1222以进行重组。(因此,DBM ASIC 1235a' 和1235b'负责管理分布在所有FPC1220/1120'上的分组存储器1224, 从分组中提取转发相关信息,并且指导FPC将分组转发到何处。)
出口FPC 1220/1120'上的I/O管理器ASIC 1222可以执行一些增 值服务。除了递增生存时间(“TTL”)值并且重新封装分组以供 PIC 1210处理,它还可以应用服务等级(CoS)规则。为此,在将规 则应用于分组之前,它可以对可用队列之一中指向该分组的指针进 行排队,每个队列具有一部分链路带宽。排队可以基于各种规则。 因此,出口FPC 1220/1120'上的I/O管理器ASIC 1222可以负责从第 二DBM ASIC 1235b'接收块,递增TTL值,在应用CoS规则之前对 指向分组的指针进行排队(如果需要),重新封装这些块,并且将 封装后的分组发送到PIC I/O管理器ASIC 1215。
图14是用于在示例路由器中提供分组转发的示例方法1400的 流程图。当在入口(传入)端口或接口上接收到分组时,触发方法 1400的主要动作(事件1410)。执行其服务的介质类型所需要的校 验和和帧校验的类型,并且将分组作为串行比特流输出(框1420)。然后将分组解封装并且解析为(例如,64字节的)块(框1430)。 分组被写入缓冲存储器并且在互联网处理器上传递转发信息(框 1440)。然后,将所传递的转发信息用于在转发表中查找路由(框 1450)。注意,转发表通常可以处理没有设置选项(例如,计费) 的单播分组、以及其已经具有高速缓存条目的多播分组。因此,如 果确定这些条件满足(决策1460的“是”分支),则分组转发组件 将找到下一跳和出口接口,并且经由出口接口将分组转发(或排队以进行转发)到下一跳(框1470),之后方法1400离开(节点1490)。 否则,如果这些条件不满足(决策1460的“否”分支),则将转发 信息发送给控制组件1110以实现高级转发分辨率(框1480),之后 方法1400离开(节点1490)。
回到框1470,可以对分组排队。实际上,如先前参考图12所述, 可以对指向该分组的指针排队。分组本身可以保留在共享存储器中。 因此,可以在不存在实际分组的情况下应用所有排队决策和CoS规 则。当针对分组的指针到达该行的开头时,I/O管理器ASIC1222可 以向第二DBM ASIC 1235b发送对分组的请求。DBM ASIC 1235从 共享存储器中读取这些块,并且将其发送到FPC 1220上的I/O管理 器ASIC 1222,I/O管理器ASIC 1222然后将这些比特序列化并且将 它们发送到出口接口的媒体特定ASIC。出口PIC 1210上的I/O管理 器ASIC 1215可以应用物理层成帧,执行CRC,并且通过链路发送 比特流。
再次参考图14的框1480以及图12的框,关于控制和异常分组 的传输,系统控制板1240处理几乎所有异常分组。例如,系统控制 板1240可以将异常分组传递到控制组件1110。
尽管与本发明相一致的示例实施例可以在图10或图11的示例 路由器上实现,但是与本发明相一致的实施例可以在具有不同架构 的通信网络节点(例如,路由器、交换机等)上实现。更一般地, 与本发明相一致的实施例可以在如图15所示的示例系统1400上实现。
图15是可以执行所描述的一个或多个过程和/或存储由这样的 过程使用和/或生成的信息的示例性机器1500的框图。示例性机器 1500包括一个或多个处理器1510、一个或多个输入/输出接口单元 1530、一个或多个存储设备1520、以及用于有助于耦合元件之间的 信息通信的一个或多个系统总线和/或网络1540。一个或多个输入设 备1532和一个或多个输出设备1534可以与一个或多个输入/输出接 口1530耦合。一个或多个处理器1510可以执行机器可执行指令(例 如,可从诸如北卡罗来纳州达勒姆的Red Hat公司等很多供应商那里 广泛获取的Linux操作系统上运行的C或C++)以实现本发明的一 个或多个方面。机器可执行指令的至少一部分可以(临时或永久地) 被存储在一个或多个存储设备1520上,和/或可以经由一个或多个输 入接口单元1530从外部源接收。机器可执行指令可以被存储为各种 软件模块,每个模块执行一个或多个操作。功能软件模块是本发明 的组件的示例。
在与本发明相一致的一些实施例中,处理器1510可以是一个或 多个微处理器和/或ASIC。总线1540可以包括系统总线。存储设备 1520可以包括系统存储器,诸如只读存储器(ROM)和/或随机存取 存储器(RAM)。存储设备1520还可以包括:用于从硬盘读取和向 其写入的硬盘驱动器、用于从(例如,可移除)磁盘读取或向其写 入的磁盘驱动器、用于从可移除(磁)光盘(诸如压缩盘或其他(磁) 光介质)读取或向其写入的光盘驱动器、或固态非易失性存储装置。
也可以提供与本发明相一致的一些示例实施例作为用于存储机 器可执行指令的机器可读介质。机器可读介质可以是非瞬态的,并 且可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、 EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的任何 其他类型的机器可读介质。例如,与本发明相一致的示例实施例可 以作为计算机程序被下载,该计算机程序可以通过通信链路(例如, 调制解调器或网络连接)从远程计算机(例如,服务器)被传输到 请求计算机(例如,客户端)并且被存储在非瞬态存储介质上。机 器可读介质也可以称为处理器可读介质。
与本发明相一致的示例实施例(或其组件或模块)可以用硬件 实现,诸如一个或多个现场可编程门阵列(“FPGA”)、一个或多 个集成电路(诸如ASIC)、一个或多个网络处理器等。备选地或另 外,与本发明相一致的实施例(或其组件或模块)可以被实现为由 处理器执行的所存储的程序指令。这样的硬件和/或软件可以在寻址 数据(例如,分组、小区等)转发设备(例如,交换机、路由器等)、 膝上型计算机、台式计算机、平板计算机、移动电话、软件定义的 网络(SDN)服务器、或具有计算和联网能力的任何设备中被提供。
§4.3示例方法的操作示例
图16是图示与图9的示例方法相一致的示例方法的操作的示例 网络。在图16中,阴影线区域1610对应于红色切片,并且阴影线 区域1620对应于绿色切片。尽管未示出,但是给定节点可能属于两 个切片。此外,在图16中:
R6具有以下配置:
前缀6.6.6.61/32,前缀SID=1,切片ID=1(RED)
前缀6.6.6.62/32,前缀SID=1,切片ID=2(GREEN)
R2、R4路由器具有以下配置:
针对切片ID=1(RED)的SRGB,开始标签=16000
R1、R3路由器具有以下配置:
针对切片ID=2(GREEN)的SRGB,开始标签=16000
R5、R6路由器具有以下配置:
针对切片ID=1(RED)的SRGB,开始标签=8000
针对切片ID=2(GREEN)的SRGB,开始标签=19000
R2和R4路由器都将接收并且仅处理针对切片ID=1(RED)的 每个切片前缀SID=1。结果,R2和R4为前缀6.6.6.61/32分配标签 16001(=16000+1)。
R1和R3路由器都将接收并且仅处理针对切片ID=2(GREEN) 的每个切片前缀SID=1。R1和R3为前缀6.6.6.62/32分配标签16001 (=16000+1)。注意,标签SID=1和label=16001与不同前缀相关联 地在R2、R4和R1、R3上被重用。
R5和R6路由器都将接收并且仅处理针对切片ID=1(RED)的 每个切片前缀SID=1以及针对切片ID=2(GREEN)的每个切片前缀 SID=1。R5和R6将:
为前缀6.6.6.61/32分配18001(=18000+1);以及
为前缀6.6.6.62/32分配19001(=19000+1)。
§4.4备选方案、扩展和细化
该解决方案可以被扩展到环。例如,参见于2019年7月8日提 交的并且将Raveendra Torvi、Abhishek Deshmukh、Kireeti Kompella、 Tarek Saad、Vishnu PavanBeeram和Ronald Bonica列为发明人的题 为“RESILIENT MULTIPROTOCOL LABELSWITCHING(MPLS) RINGS USING SEGMENT ROUTING(使用分段路由的弹性多协议标 签交换(MPLS)环)”的美国临时申请序列号16/871,588。可以将 切片视为环,而将环节点视为属于切片的路由器。环SID可以类似 于切片SID,其中切片ID是环ID,该解决方案适用于针对SRv6数 据平面技术部署MPLS和IPv6的分段路由技术的网络等。
§4.5结论
与本说明书相一致的示例实施例允许在相同的IGP域内的每个 切片重用SR SID。它们仅在属于切片的路由器上允许分配标签和对 (多个)路径进行编程。这有助于扩展SID/标签空间以承载更多IP 前缀或更多前缀算法组合。

Claims (20)

1.一种计算机实现的方法,用于针对(A)内部网关协议(IGP)域内的多于一个的前缀或者(B)所述IGP域内的具有多于一个的路径计算算法的一个前缀,配置和/或使用相同的前缀分段标识符(SID),所述计算机实现的方法包括:
a)由所述IGP域中的节点接收IGP通告,所述IGP通告包括(1)前缀SID和(2)分段路由全局块(SRGB)切片标识符两者;
b)确定由所述SRGB切片标识符标识的SRGB切片是否在所述节点上被供应;以及
c)响应于由所述SRGB切片标识符标识的所述SRGB切片在所述节点上没有被供应的确定,不处理所接收的所述IGP通告中所包括的所述前缀SID,否则
响应于由所述SRGB切片标识符标识的所述SRGB切片在所述节点上被供应的确定,
1)处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签,以及
2)使用针对所述前缀的每个SRGB切片唯一的所述标签和所述前缀来更新针对所述节点的标签转发信息库(LFIB)。
2.根据权利要求1所述的计算机实现的方法,其中处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签的动作包括将所述前缀SID作为索引值添加到由所述SRGB切片定义的基数。
3.根据权利要求1所述的计算机实现的方法,其中处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签的动作包括从由所述SRGB切片定义的最大值中减去作为索引值的所述前缀SID。
4.根据权利要求1所述的计算机实现的方法,其中针对所述节点的所述LFIB包括条目,所述条目具有针对所述前缀的每个SRGB切片唯一的所述标签和所述前缀,所述计算机实现的方法还包括:
d)接收包括所述前缀的分组;
e)使用所述前缀在所述LFIB中查找每个SRGB切片唯一的所述标签;以及
f)使用每个SRGB切片唯一的所述标签来转发所述分组。
5.根据权利要求1所述的计算机实现的方法,其中所述节点属于所述IGP域内的SR域的特定切片。
6.根据权利要求1所述的计算机实现的方法,其中所述节点属于所述IGP内的SR域的至少两个特定切片。
7.根据权利要求1所述的计算机实现的方法,其中所述IGP通告是前缀SID子TLV,所述前缀SID子TLV被承载在网络层可到达性信息(NLRI)字段中,并且包括所述前缀SID和所述分段路由全局块(SRGB)切片标识符两者。
8.根据权利要求1所述的计算机实现的方法,其中所述SRGB切片对应于环。
9.一种计算机实现的方法,用于针对(A)内部网关协议(IGP)域内的多于一个的前缀或者(B)所述IGP域内的具有多于一个的路径计算算法的一个前缀,使用和/或配置相同的前缀分段标识符(SID),所述计算机实现的方法包括:
a)由所述IGP域中的节点生成IGP通告,所述IGP通告包括前缀SID和分段路由全局块(SRGB)切片标识符两者;
b)经由IGP泛洪向属于所述IGP域的所有路由器传输所生成的所述IGP通告,而不管这些路由器是否属于由所述SRGB切片标识符标识的SR域的切片;
其中所述相同的前缀SID与所述IGP域内的多于一个的前缀被相关联地存储;或者
与所述IGP域内的具有多于一个的路径计算算法的一个前缀被相关联地存储。
10.根据权利要求9所述的计算机实现的方法,其中所述IGP通告是前缀SID子TLV,所述前缀SID子TLV被承载在网络层可到达性信息(NLRI)字段中,并且包括前缀SID和分段路由全局块(SRGB)切片标识符两者。
11.根据权利要求9所述的计算机实现的方法,其中所述SRGB切片对应于环。
12.一种网络设备,用于针对(A)内部网关协议(IGP)域内的多于一个的前缀或者(B)所述IGP域内的具有多于一个的路径计算算法的一个前缀,配置和/或使用相同的前缀分段标识符(SID),所述网络设备包括:
a)接口;
b)至少一个处理器;
c)存储设备,所述存储设备存储处理器可执行指令,所述处理器可执行指令在由所述至少一个处理器执行时,使所述至少一个处理器响应于以下而执行方法:由所述接口接收IGP通告,所述IGP通告包括(1)前缀SID和(2)分段路由全局块(SRGB)切片标识符两者,所述方法包括:
1)确定由所述SRGB切片标识符标识的SRGB切片是否在所述网络设备上被供应;以及2)响应于由所述SRGB切片标识符标识的所述SRGB切片在所述网络设备上没有被供应的确定,不处理所接收的所述IGP通告中所包括的所述前缀SID,否则
响应于由所述SRGB切片标识符标识的所述SRGB切片在所述网络设备上被供应的确定,
处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签,以及
使用针对所述前缀的每个SRGB切片唯一的所述标签和所述前缀来更新针对所述网络设备的标签转发信息库(LFIB)。
13.根据权利要求12所述的网络设备,其中处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签包括将所述前缀SID作为索引值添加到由所述SRGB切片定义的基数。
14.根据权利要求12所述的网络设备,其中处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签包括从由所述SRGB切片定义的最大值中减去作为索引值的所述前缀SID。
15.根据权利要求12所述的网络设备,其中针对所述网络设备的所述LFIB包括条目,所述条目具有针对所述前缀的每个SRGB切片唯一的所述标签和所述前缀,所述方法还包括:
接收包括所述前缀的分组;
使用所述前缀在所述LFIB中查找每个SRGB切片唯一的所述标签;以及
使用每个SRGB切片唯一的所述标签来转发所述分组。
16.根据权利要求12所述的网络设备,其中所述网络设备属于所述IGP域内的SR域的特定切片。
17.根据权利要求12所述的网络设备,其中所述网络设备属于所述IGP内的SR域的至少两个特定切片。
18.根据权利要求12所述的网络设备,其中所述IGP通告是前缀SID子TLV,所述前缀SID子TLV被承载在网络层可到达性信息(NLRI)字段中,并且包括所述前缀SID和所述分段路由全局块(SRGB)切片标识符两者。
19.根据权利要求12所述的网络设备,其中所述SRGB切片对应于环。
20.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质存储计算机可执行指令,所述计算机可执行指令在由所述至少一个处理器执行时,使所述至少一个处理器执行计算机实现的方法,用于针对(A)内部网关协议(IGP)域内的多于一个的前缀或者(B)所述IGP域内的具有多于一个的路径计算算法的一个前缀,配置和/或使用相同的前缀分段标识符(SID),所述计算机实现的方法包括:
a)由所述IGP域中的节点接收IGP通告,所述IGP通告包括(1)前缀SID和(2)分段路由全局块(SRGB)切片标识符两者;
b)确定由所述SRGB切片标识符标识的SRGB切片是否在所述节点上被供应;以及
c)响应于由所述SRGB切片标识符标识的所述SRGB切片在所述节点上没有被供应的确定,不处理所接收的所述IGP通告中所包括的所述前缀SID,否则
响应于由所述SRGB切片标识符标识的所述SRGB切片在所述节点上被供应的确定,
1)处理所述前缀SID和所述SRGB切片以生成针对所述前缀的每个SRGB切片唯一的标签,以及
2)使用针对所述前缀的每个SRGB切片唯一的所述标签和所述前缀来更新针对所述节点的标签转发信息库(LFIB)。
CN201911413200.9A 2019-07-24 2019-12-31 在采用分段路由的网络中使用和处理每切片分段标识符 Active CN112311673B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962877847P 2019-07-24 2019-07-24
US62/877,847 2019-07-24
US16/588,556 2019-09-30
US16/588,556 US11277334B2 (en) 2019-07-24 2019-09-30 Using and processing per slice segment identifiers in a network employing segment routing

Publications (2)

Publication Number Publication Date
CN112311673A CN112311673A (zh) 2021-02-02
CN112311673B true CN112311673B (zh) 2023-05-30

Family

ID=69005315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911413200.9A Active CN112311673B (zh) 2019-07-24 2019-12-31 在采用分段路由的网络中使用和处理每切片分段标识符

Country Status (3)

Country Link
US (2) US11277334B2 (zh)
EP (1) EP3771163A1 (zh)
CN (1) CN112311673B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2724796C1 (ru) * 2019-02-07 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ защиты автоматизированных систем при помощи шлюза
RU2746105C2 (ru) 2019-02-07 2021-04-07 Акционерное общество "Лаборатория Касперского" Система и способ конфигурирования шлюза для защиты автоматизированных систем
US20220247663A1 (en) * 2021-02-04 2022-08-04 Nokia Solutions And Networks Oy Service differentiation based on constrained network topology slicing
CN115242698A (zh) * 2021-04-22 2022-10-25 华为技术有限公司 报文转发方法、装置、网络设备及存储介质
CN115242713A (zh) * 2021-04-22 2022-10-25 中国移动通信有限公司研究院 基于ipv6的分段路由报文的转发方法、配置方法及设备
CN113873548A (zh) * 2021-09-03 2021-12-31 中盈优创资讯科技有限公司 一种白盒设备一键开局方法及装置
CN113691451B (zh) * 2021-09-22 2022-08-19 新华三技术有限公司 一种段标识确定方法及装置
CN114500001B (zh) * 2021-12-31 2024-04-26 网络通信与安全紫金山实验室 通信方法及装置
US20230246880A1 (en) * 2022-02-01 2023-08-03 Nokia Solutions And Networks Oy Network elements, computer-readable storage mediums and methods of updating forwarding information base in network elements
CN117255034A (zh) * 2022-06-10 2023-12-19 中兴通讯股份有限公司 切片信息的验证方法及装置
US20240073135A1 (en) * 2022-08-26 2024-02-29 Ciena Corporation BGP Segment Routing optimization by packing multiple prefixes in an update

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666438A (zh) * 2016-07-27 2018-02-06 中兴通讯股份有限公司 报文转发方法及装置
CN108259341A (zh) * 2017-12-06 2018-07-06 新华三技术有限公司 一种前缀标签分配方法和sdn控制器
CN109218197A (zh) * 2017-06-30 2019-01-15 瞻博网络公司 分段路由中的冲突解决
CN109861913A (zh) * 2018-12-25 2019-06-07 北京华为数字技术有限公司 一种跨内部网关协议的前缀标识通告方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811388B2 (en) * 2008-11-14 2014-08-19 Rockstar Consortium Us Lp Service instance applied to MPLS networks
US9912577B2 (en) * 2014-04-17 2018-03-06 Cisco Technology, Inc. Segment routing—egress peer engineering (SP-EPE)
US9516118B2 (en) * 2014-05-12 2016-12-06 Telefonaktiebolaget L M Ericsson (Publ) Scalable segment identifier allocation in segment routing
US9979629B2 (en) * 2015-08-21 2018-05-22 Cisco Technology, Inc. Distribution of segment identifiers in network functions virtualization and software defined network environments
CN108702328B (zh) * 2016-02-15 2021-04-09 瑞典爱立信有限公司 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展
US10263881B2 (en) * 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
CN107689915A (zh) * 2016-08-04 2018-02-13 中兴通讯股份有限公司 报文转发方法及装置
CN109863725B (zh) * 2016-08-15 2021-08-31 瑞典爱立信有限公司 基于最大分段标识符深度的分段路由方法及电子设备
CN107872383B (zh) 2016-09-28 2021-02-12 中兴通讯股份有限公司 参数的通告方法、获取方法及装置
CN107968752B (zh) * 2016-10-20 2020-07-07 新华三技术有限公司 一种sid获取方法和装置
US10044605B2 (en) * 2016-12-23 2018-08-07 Juniper Networks, Inc. Apparatus, system, and method for distributing routing-protocol information in clos fabrics
US10237175B2 (en) 2017-01-18 2019-03-19 Cisco Technology, Inc. Entropy prefix segment identifier for use with entropy label in segment routing networks
EP3422645B1 (en) 2017-06-30 2020-04-29 Juniper Networks, Inc. Conflict resolution in segment routing
US10574561B2 (en) * 2017-10-04 2020-02-25 Cisco Technology, Inc. Centralized error telemetry using segment routing header tunneling
US10841172B2 (en) * 2018-05-30 2020-11-17 Cisco Technology, Inc. Network fabric visualization and management
CN112702266A (zh) * 2018-06-29 2021-04-23 华为技术有限公司 生成标签转发表的方法、报文发送方法、装置及设备
CN109347740B (zh) * 2018-11-19 2022-03-01 新华三技术有限公司 报文转发方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666438A (zh) * 2016-07-27 2018-02-06 中兴通讯股份有限公司 报文转发方法及装置
CN109218197A (zh) * 2017-06-30 2019-01-15 瞻博网络公司 分段路由中的冲突解决
CN108259341A (zh) * 2017-12-06 2018-07-06 新华三技术有限公司 一种前缀标签分配方法和sdn控制器
CN109861913A (zh) * 2018-12-25 2019-06-07 北京华为数字技术有限公司 一种跨内部网关协议的前缀标识通告方法和装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
C. Filsfils, Ed. ; S. Previdi, Ed. ; L. Ginsberg ; Cisco Systems, Inc. ; B. Decraene ; S. Litkowski ; Orange ; R. Shakir ; Google, Inc. ; .Segment Routing Architecture.IETF rfc8402.2018,全文. *
Hatem M.Dynamic-Width Reconfigurable Parallel Prefix Circuits.《IEEE Xplore》.2014,全文. *
Sriganesh Kini.SCALABLE SEGMENT IDENTIFIER ALLOCATION IN SEGMENT ROUTING.《百度学术》.2015,全文. *
余晓磊.WSN路由算法的研究.《CNKI中国知网》.2011,全文. *
罗鉴 ; .国内外数据网技术的新进展.信息通信技术.2017,(06),全文. *
黄建洋.基于分段路由的SDN流量工程技术研究.《CNKI中国知网》.2018,全文. *

Also Published As

Publication number Publication date
US20210029026A1 (en) 2021-01-28
US11277334B2 (en) 2022-03-15
CN112311673A (zh) 2021-02-02
EP3771163A1 (en) 2021-01-27
US20220182314A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
CN112311673B (zh) 在采用分段路由的网络中使用和处理每切片分段标识符
CN112583717B (zh) 用于构建下一跳属性变化标签的方法、对等设备和介质
US11876695B2 (en) Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks
CN112311675B (zh) 用于分段路由(sr)路径的保证型带宽
CN113347091B (zh) 灵活算法感知边界网关协议前缀分段路由标识符
US10594592B1 (en) Controlling advertisements, such as Border Gateway Protocol (“BGP”) updates, of multiple paths for a given address prefix
US11909556B2 (en) Resilient multiprotocol label switching (MPLS) rings using segment routing
EP3796606B1 (en) Ping/traceroute for static label switched paths (lsps) and static segment routing traffic engineering (srte) tunnels
US11522794B2 (en) Time-to-live (TTL) handing for segment routing ping/traceroute
US11765077B1 (en) Ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks without requiring headend router or path monitoring system (PMS) controller knowledge of topology outside of origin AS
US11876706B2 (en) Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR
US11057295B1 (en) Loop avoidance and egress link protection with ethernet virtual private network (EVPN) fast reroute (FRR)
WO2022048418A1 (zh) 一种转发报文的方法、设备和系统
US10454823B1 (en) Packet processing in a routing instance that is distributed across at least two different routing stacks
US11070468B1 (en) Serverless segment routing (SR)-label distribution protocol (LDP) stitching
US20240195741A1 (en) Segment Routing over Internet Protocol Version 6 (“IPv6”) Data Plane (“SRv6”) Replication Segment Identifier (SID) for use with Point to Multipoint (P2MP) Signaling Protocols Such as mLDP and RSVP-TE
CN113381930B (zh) 用于虚拟路由器冗余的组负载均衡
CN109861912B (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
GR01 Patent grant
GR01 Patent grant