CN113452610B - 跨城域网的无缝端到端分段路由的方法及区域边界路由器 - Google Patents

跨城域网的无缝端到端分段路由的方法及区域边界路由器 Download PDF

Info

Publication number
CN113452610B
CN113452610B CN202110299728.9A CN202110299728A CN113452610B CN 113452610 B CN113452610 B CN 113452610B CN 202110299728 A CN202110299728 A CN 202110299728A CN 113452610 B CN113452610 B CN 113452610B
Authority
CN
China
Prior art keywords
routing
label
network
metro
abr
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
CN202110299728.9A
Other languages
English (en)
Other versions
CN113452610A (zh
Inventor
萨利赫·K·A
沙拉达·赫格德
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 CN113452610A publication Critical patent/CN113452610A/zh
Application granted granted Critical
Publication of CN113452610B publication Critical patent/CN113452610B/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/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/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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
    • 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
    • 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/12Shortest path evaluation
    • 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/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution

Landscapes

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

Abstract

本公开涉及跨城域网的无缝端到端分段路由的方法及区域边界路由器,描述了用于提供跨城域网的端到端分段路由路径的技术。例如,方法包括:通过连接至一个或多个城域网和核心网的区域边界路由器(ABR)接收包括分段路由标签堆栈的分组,该分段路由标签堆栈至少包括ABR的标签、与ABR的路由实例相关联的上下文标签以及识别分段路由路径中的装置的后续标签;根据城域路由表中的上下文标签的查询确定到核心路由表(或城域路由表)的表下一跳;响应于确定表下一跳,根据核心路由表(或城域路由表)中的后续标签的查询确定分段路由路径中的下一跳;并且通过ABR向分段路由路径中的装置发送分组。

Description

跨城域网的无缝端到端分段路由的方法及区域边界路由器
本申请要求2020年3月26日提交的美国临时专利申请第63/000,272号的权益,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络,并且更具体地,涉及计算机网络内的工程流量流。
背景技术
计算机网络是交换数据并且共享资源的互连计算装置的集合。在诸如因特网的基于分组的网络中,计算装置通过将数据划分为称为分组的小块来传达数据,该些小块被单独地跨网络从源装置路由至目的地装置。目的地装置从分组中提取数据,并且将数据组装成其原始形式。
诸如路由器的网络内的某些装置(另外称为节点)使用路由协议来交换和累积描述通过网络的可用路由的拓扑信息。这允许路由器构建其自身的网络路由拓扑图。在接收到输入数据分组时,路由器检查分组内的信息,并且根据累积的拓扑信息转发分组。
许多路由协议落在称为内部网关协议(IGP)的协议分类内,其中,基于泛洪的分发机制用于将拓扑信息通知给网络内的路由器。这些路由协议通常依赖于要求每个路由器具有给定域(称为IGP区域或IGP域)的同步路由拓扑信息的路由算法。根据链路状态路由协议维护的链路状态数据库(LSDB)或流量工程数据库(TED)的内容具有IGP域的范围。IGP路由协议通常要求IGP路由域中的所有路由器将根据IGP协议分发的所有路由信息存储在内部LSDB或TED内。在操作中,每个路由器通常维护内部链路状态数据库,并且以定义的间隔扫描整个数据库,以生成并且输出链路状态消息,以将数据库同步到路由域内的邻接路由器。以这种方式,链路状态跨整个路由域传播并且完全存储在域内的每个路由器处。
基于分组的网络越来越多地将标签交换协议用于流量工程和其他目的。多协议标签交换(MPLS)是用于根据由网络中的路由器维护的路由信息设计因特网协议(IP)网络内的流量模式的机制。通过利用诸如标签分发协议(LDP)、具有流量工程扩展的资源预留协议(RSVP)(RSVP-TE)或分段路由(SR)扩展的MPLS协议,标签交换路由器可以使用预加到流量的标签沿着通过网络的具体路径(即,标签交换路径(LSP))将流量转发至目的地装置。LSP定义了通过网络的不同路径,以将MPLS分组从源装置携带至目的地装置。使用MPLS协议,沿着LSP的每个路由器分配与目的地相关联的标签,并且沿着路径将标签传播至最近的上游路由器。沿着路径的路由器添加(推送)、移除(弹出)或交换标签,并且执行其他MPLS操作以沿着所建立的路径转发MPLS分组。
路由器可以采用分段路由技术(诸如通过使用源分组路由组网(SPRING)范例),其在IGP域内提供分段路由以通知单跳或多跳LSP。SPRING包括包含“邻接”标签和“节点”标签的多种不同的标签类型。为了通过网络转发分组,路由器可以在通过网络转发分组时推送(并且弹出)应用于分组的标签堆栈(例如,分段列表)中的一个或多个标签。
发明内容
总体上,本公开描述了用于跨城域网的无缝端到端的分段路由的技术。在一些示例中,中间网络(另外称为“核心”网)提供城域网(本文被称为“城域(metros)”)之间的连接性。在这些示例中,区域边界路由器(ABR)为一个或多个城域提供到核心网的访问。如本文所述,ABR为连接至ABR的每个城域创建路由实例,并且定义每个路由实例的上下文标签。第一城域的路由实例包括路由表,诸如用于将流量从第一城域网路由至核心网的第一路由表(本文称为“核心路由表”)和用于将流量从核心网路由至第一城域网的第二路由表(本文称为“城域路由表”)。每个路由表可以存储用于相应路由实例的对应上下文标签路由。例如,在核心路由表中,上下文标签路由指向城域路由表。在城域路由表中,上下文标签路由指向核心路由表。然后,ABR例如通过使用IGP或边界网关协议(BGP)将上下文标签通知给其他网络装置。
在一个示例中,连接至ABR的第一城域网的源装置(例如,供应商边缘(PE)装置)可以沿着分段路由路径发送分组以到达核心网可到达的第二城域网的目的地装置。根据本公开的技术,源装置可以应用分段路由标签堆栈,该分段路由标签堆栈至少包括ABR的标签(例如,节点分段标识符(SID))、用于第一城域网的路由实例的上下文标签以及识别核心网的核心路由器(例如,供应商路由器或P路由器)的后续标签。当ABR接收来自第一城域网的分组时,ABR可以基于城域路由表中的上下文标签路由的查询确定ABR将执行识别被映射至上下文标签的核心路由表中的核心路由器的后续标签的查询以确定到核心路由器的路由(例如,下一跳)。
在另一示例中,ABR可以从目的地是ABR可访问的多个城域网中的一个城域网(诸如第二城域网)的装置的核心网接收分组。在该示例中,远程城域网的远程PE装置(或核心网的核心转接路由器)可以应用分段路由标签堆栈,该分段路由标签堆栈至少包括ABR的节点SID、用于第二城域网的路由实例的上下文标签以及识别第二城域网的装置(例如,PE装置)的后续标签。当ABR接收来自核心网的分组时,ABR可以基于核心路由表中的上下文标签路由的查询确定表下一跳,使得ABR执行识别被映射至上下文标签的城域路由表中的PE装置的后续标签的查询以确定到第二城域网的PE装置的路由。
本文所述的技术可以提供实现实际应用的一个或多个技术优点。例如,通过为连接至ABR的每个城域网的每个路由实例分配上下文标签,网络装置可以使用上下文标签生成跨城域网的端到端分段路由路径,而不管在城域网内分配的SID或前缀之间是否存在任何冲突。换句话说,本公开中所述的技术消除了不同的管理组织重新配置重复的SID和/或前缀和/或维护跨不同的管理组织的唯一SID的公共电子表格的需求。
在一个示例中,本公开涉及一种方法,包括:通过连接至一个或多个城域网和核心网的区域边界路由器(ABR)接收包括用于分段路由路径的分段路由标签堆栈的分组,其中,分段路由标签堆栈至少包括ABR的标签、与ABR的路由实例相关联的上下文标签以及识别核心网中的装置的后续标签,其中,ABR的路由实例包括用于一个或多个城域网中的第一城域网的城域网路由表(城域路由表);根据城域路由表中的上下文标签的查询确定到核心网的核心路由表的表下一跳;响应于确定表下一跳,根据核心路由表中的后续标签的查询确定到核心网中的装置的分段路由路径中的下一跳;并且通过ABR向核心网中的装置发送分组。
在另一示例中,本公开涉及一种方法,包括:通过连接至一个或多个城域网和核心网的区域边界路由器(ABR)接收包括用于分段路由路径的分段路由标签堆栈的分组,其中,分段路由标签堆栈至少包括ABR的标签、与ABR的路由实例相关联的上下文标签以及识别一个或多个城域网的第一城域网中的装置的后续标签,其中,ABR的路由实例包括用于第一城域网的城域网路由表(城域路由表);根据用于核心网的核心路由表中的上下文标签的查询确定到城域路由表的表下一跳;根据城域路由表中的后续标签的查询确定到第一城域网中的装置的分段路由路径中的下一跳;并且通过ABR向第一城域网中的装置发送分组。
在进一步的示例中,本公开涉及一种连接至一个或多个城域网和核心网的区域边界路由器(ABR),该ABR包括:一个或多个处理器,可操作地耦接至存储器,其中,一个或多个处理器被配置为:接收包括用于分段路由路径的分段路由标签堆栈的分组,其中,分段路由标签堆栈至少包括ABR的标签、与ABR的路由实例相关联的上下文标签以及识别核心网中的装置的后续标签,其中,ABR的路由实例包括用于一个或多个城域网中的第一城域网的城域网路由表(城域路由表);根据城域路由表中的上下文标签的查询确定到核心网的核心路由表的表下一跳;响应于确定表下一跳,根据核心路由表中的后续标签的查询确定到核心网中的装置的分段路由路径中的下一跳;向核心网中的装置发送分组。
在附图和以下描述中阐述了一个或多个示例的细节。从说明书、附图以及权利要求中,其他特征、目标以及优点将是显而易见的。
附图说明
图1是示出根据本公开中所述的技术提供跨城域网的无缝端到端分段路由的示例网络的框图。
图2是示出被配置为根据本公开中所述的技术操作的示例区域边界路由器(ABR)的框图。
图3A至图3B是示出根据本公开中所述的技术的包括上下文标签的示例路由的框图。
图4A至图4C是示出根据本公开中所述的技术提供跨城域网的端到端分段路由路径的网络中的网络装置的示例操作的流程图。
具体实施方式
图1是示出根据本公开中所述的技术提供跨城域网的无缝端到端分段路由的示例网络系统2的框图。网络系统2包括经由中间网络8(本文称为“核心”网或“主干”网)互连的城域网6A至6D(统称为“城域网6”或简称“城域6”)。
中间网络8可以表示由服务供应商拥有并且操作的服务供应商网络,该服务供应商通常是大型电信实体或公司。中间网络8表示L3计算机网络,其中,参考后面跟有数字的层是指开放式系统互连(OSI)模型中的对应层。中间网络8在其本身支持OSI模型中所述的L3操作的意义上是L3网络。常见的L3操作包括根据L3协议(诸如因特网协议(IP))执行的那些操作。L3还被称为OSI模型中的“网络层”和TCP/IP模型中的“IP层”,并且贯穿本公开,术语L3可以与“网络层”和“IP”互换使用。
中间网络8可以耦接至由中间网络8的供应商或其他供应商管理的一个或多个网络,并且因此可以构成大规模公共网络基础设施(例如,因特网)的一部分。中间网络8可以为城域网6内的计算装置提供到因特网的访问,并且可以允许客户网络内的计算装置彼此通信。
中间网络8可以实现多协议标签交换(MPLS)转发,并且在这种情况下可以称为MPLS网络或MPLS主干。在图1的示例中,中间网络8包括为城域网6的装置提供到由IP/MPLS中间网络8中的装置提供的服务的访问的一个或多个核心转接路由器(另外称为“供应商(P)路由器”或“核心路由器”),例如,核心路由器14A至14B。
每个城域网6分别包括诸如PE装置10A至10H(统称为“PE装置10”或“PE 10”)的一个或多个供应商边缘(PE)装置。在一些示例中,PE装置10可以表示路由器、交换机、聚合装置(AD)或能够对城域网6执行供应商边缘操作的其他类型的网络装置。
PE装置10被配置为使用IGP-分发标签来转发流量。如图1所示,每个PE装置10可以通过一个或多个通信链路互连,作为非限制性示例,该一个或多个通信链路提供10千兆位或100千兆位的物理连接。通常,通信链路可以是网络分组通过其在网络装置之间遍历的任何有线或无线链路。在图1的示例网络中,城域6A包括PE装置10A至10B,城域6B包括PE装置10C至10D,城域6C包括PE装置10E至10F,并且城域6D包括PE装置10G至10H。
在图1的示例中,一些PE装置10可以是操作以使网络分组进入或以其他方式注入或传送至城域网6中的源装置。一些PE装置10可以是操作以使网络分组输出或以其他方式排出城域网6的目的地装置。
例如,PE装置10A可以耦接至具有到城域6A的访问的一个或多个客户装置(未示出),并且被配置为使从一个或多个客户装置接收的分组进入城域6A。类似地,PE装置10F可以耦接至具有到城域6C的访问的一个或多个客户装置(未示出),并且被配置为使来自城域6C的分组输出至一个或多个客户装置。
网络系统2还包括提供城域网6与中间网络8之间的连接性的区域边界路由器(ABR)12A至12B(统称为“区域边界路由器12”)。在该示例中,ABR 12A提供城域6A和6B与中间网络8之间的连接性。类似地,ABR12B提供城域6C和6D与中间网络8之间的连接性。
尽管出于易于说明的目的未示出附加的网络装置,但是应当理解,网络系统2可以包括附加的网络和/或计算装置,诸如,例如,一个或多个附加的交换机、路由器、集线器、网关、安全装置(诸如防火墙、入侵检测和/或防入侵装置)、服务器、计算机终端、膝上型电脑、打印机、数据库、无线移动装置(诸如蜂窝电话或个人数字助理)、无线访问点、桥接器、电缆调制解调器、应用加速器或其他网络装置。此外,尽管网络系统2的元件被示出为直接耦接,但是应当理解,可以沿着任意所示的链路包括一个或多个附加的网络元件,使得网络系统2的网络元件不直接耦接。
PE装置10各自通过网络系统2维护描述可用路由的路由信息。在接收到输入分组时,每个PE装置10检查分组内的信息,并且根据路由信息转发分组。为了维护网络系统2的准确表示,PE装置10根据诸如内部网关协议(IGP)的定义的路由协议交换路由信息,例如链路的带宽可用性。例如,每个PE装置可以使用诸如开放式最短路径优先(OSPF)协议或中间系统至中间系统(IS-IS)协议的链路状态路由协议来交换链路状态路由信息以学习网络系统2的拓扑。在Moy,J.,“OSPF Version 2,”RFC 2328,April 1998中发现了关于OSPF的进一步细节,其全部内容通过引用并入本文。在Callon,R.,“Use of OSI IS-IS for Routingin TCP/IP and Dual Environments,”RFC 1195,December 1990中发现了关于IS-IS的进一步细节,其全部内容通过引用并入本文。
在图1的示例中,PE装置10可以在IGP域内使用分段路由技术(例如,源分组路由组网(SPRING)范例)来通知LSP。分段路由是使入口路由器能够通过网络中的一组特定的节点和链路来引导分组的控制平面架构。例如,分段路由技术用于配置从入口路由器(例如,PE装置10A)至出口路由器(例如,PE装置10H)的路径的标签。IGP域内的分段路由允许路由器在IGP域内通知诸如分段路由LSP的单跳或多跳LSP。换句话说,分段路由可以使用IGP来通知两种类型的网络分段(例如,隧道)。第一,与链路成本无关,在两个节点之间的指定链路上携带分组的单跳隧道(在下文中称为“邻接分段”)。第二,使用两个指定节点之间的最短路径链路或到指定前缀(在下文中称为“前缀分段”)的多跳隧道。
对于前缀分段内的分段路由,“路径”信息作为域的IGP链路状态信息的一部分在路由器之间传播。网络装置能够通过将一个或多个分段标识符(SID)(另外称为“标签”)预加至分组而经由通过称为分段的一组控制指令来引导分组。换句话说,入口网络装置可以通过将前缀SID(另外称为“节点标签”)和/或邻接SID(另外称为“邻接标签”)的适当组合预加至分组而分别经由一组所需的节点和/或链路来引导分组。节点标签和/或邻接标签的组合称为标签堆栈或分段列表。为了通过网络转发分组,实现分段路由的网络装置可以在通过网络转发分组时推送、弹出或交换应用于分组的标签堆栈中的一个或多个标签。以这种方式,分段路由允许网络装置在仅在到分段路由域的入口节点处维持每个流的状态的同时实施通过任何拓扑路径和/或服务链的流。
分段路由的一个潜在优点可能是分段路由架构可以直接应用于MPLS数据平面,而转发平面没有变化。网络管理人员仅需要将SID分配给具体的路由器,并且分段路由IGP控制平面自动构建从路由器至任何其他路由器的所需的MPLS转发结构。在Filsfils,et al.,“Segment Routing Architecture,IETF RFC 8402,July 2018中进一步描述了分段路由,而在Filsfils,et al.,“Segment Routing Use Cases,”IETF Internet-Draft draft-filsfils-spring-segment-routing-use-cases-01,October 21,2014中描述了分段路由使用情况,它们中的每一个通过引用并入本文。在(1)Filsfils,et al.,“Segment RoutingPolicy Architecture,”IETF Internet-Draft-draft-ietf -spring-segment-routing-βolicy06,December 14,2019、(2)Previdi,et al.,“Source Packet Routing inNetworking(SPRING)Problem Statement and Requirements,”IETF RFC 7855,May 2016以及(3)Bashandy,et al.,“Segment Routing with MPLS data plane,”IETF RFC 8660,December 2019中发现了关于SPRING的进一步细节,它们中的每一个通过引用并入本文。
在下文中进一步描述不同类型的标签。邻接标签可以具有对具体分段路由节点(诸如PE装置10中的一个PE装置)的局部语义。具体地,邻接标签将流量引导至邻接(例如,通信链路和/或接口)或一组邻接上。因此,邻接标签可以与具体的网络装置有关。为了使用邻接标签,网络装置初始可以将邻接标签分配给具体的邻接并且使用IS-IS协议或OSPF协议将邻接标签通知给分段路由域中的其他网络装置。路由器可以是分段路由域中使用具体邻接标签的唯一路由器。当网络装置使用邻接标签转发分组时,网络装置可以使分组使用与邻接标签相关联的网络装置的邻接。以这种方式,邻接标签可以用于在网络内建立单跳隧道。
节点标签可以具有分段路由域内的全局语义。即,可以为实现分段路由的每个PE装置10分配对分段路由域内的每个相应网络装置唯一的定义的节点标签范围(通常称为分段路由全局块(SRGB))。网络系统2的操作员可以确保从全局范围至不同路由器的不同节点标签范围的唯一分配。除了节点标签范围之外,每个具体网络装置还可以具有唯一识别分段路由域中的具体网络装置的指定节点标识符(例如,节点SID)。每个相应路由器可以使用IS-IS或OSPF将其相应的节点标识符和节点标签范围通知给分段路由域中的其他路由器。
基于使用例如最短路径路由确定的路由,每个PE装置10可以将其转发状态配置为将节点标签(对应于网络中的其他节点)推送、弹出、交换至分组,以使用所确定的路由将该分组转发至目的地。例如,每个PE装置10可以使用通过IGP学习的拓扑信息来执行路径选择,以基于通过路由器维护的路由信息逐跳地计算网络系统2内的最短路径。然后,每个PE装置10可以沿着本地计算的最短路径选择下一跳,并且将与所选择的下一跳相关联的转发信息安装到网络装置的转发平面中,其中,转发信息识别转发流量时要使用的网络接口和将流量转发出接口时要应用的一个或多个标签。网络装置使用具有分配标签的下一跳来逐跳地转发流量。
在一些示例中,网络系统2可以被划分为IGP级别的层级,也称为“IGP区域”。例如,网络系统2可以被配置为两个区域:区域1,包括一个或多个城域网6的PE装置10;和区域2,包括中间网络8的核心路由器。PE装置10在区域1内路由,而区域2的核心路由器在IGP区域之间路由。区域1的PE装置10共享区域内路由信息,并且区域2的核心路由器共享关于每个区域内可用的IP地址的区域间信息。区域内的所有网络装置维护同一区域中的所有其他网络装置的链路状态数据库(LSDB)。
ABR 12提供IGP区域之间的流量工程。例如,ABR 12A可以为连接至ABR 12A的每个IGP区域(例如,区域1和区域2)维护单独的链路状态数据库。在一些示例中,由不同的管理组织管理连接至ABR并且在区域1内的城域网。作为一个示例,由第一管理组织管理城域6A,并且由第二管理组织管理城域6B。通常,为了城域6A与城域6B之间的互操作或将城域6A与城域6B合并到一起(例如,获取用于扩展的另一城域的所有权),城域网的SID和前缀必须是全局唯一的。如果存在任何冲突,则不同的管理组织通常手动重新配置城域网的网络装置的SID和前缀。不同的管理组织通常维护跨不同的管理组织的唯一SID的公共电子表格,这在操作上繁琐并且易于出错。
在一些示例中,每个城域网6A和6B可以被配置为ABR 12A处的单独的路由实例。例如,ABR 12A包括用于在相应的城域网内路由的城域路由表和用于在核心网内路由的核心路由表。在这些示例中,每个城域网保持独立并且跨路由表的路由通常在ABR 12A处泄露,以使能端到端分段路由路径。然而,在一些示例中,SID和前缀可能冲突并且使流量循环。在这些示例中,如果存在任何冲突,则不同的管理组织还必须手动重新配置城域网的网络装置的SID和前缀,并且维护跨不同的管理组织的唯一SID的公共电子表格,这在操作上繁琐并且易于出错。
根据本公开中所述的技术,网络系统2提供跨城域网的无缝端到端分段路由,而不管城域网的SID和前缀是否存在任何冲突(例如,重叠)。在图1的示例中,当城域网连接至ABR时,ABR创建每个城域的路由实例,并且为每个路由实例分配上下文标签。例如,“上下文标签”是可以识别标签表的MPLS标签,在该标签表中,应查询紧接在上下文标签下面(例如,之后)的标签。作为具体的多址子网/隧道上的最外层标签携带的上下文标签在该子网/隧道的范围内应是唯一地。此外,在“MPLS Upstream Label Assignment and Context-Specific Label Space,”RFC 5331,August2008中描述了关于上下文标签的进一步细节,其全部内容通过引用并入本文。
在图1的示例中,当城域6A连接至ABR 12A时,ABR 12A为城域6A配置路由实例,并且为城域6A的路由实例分配第一上下文标签。当城域6B连接至ABR 12A时,ABR 12A为城域6B配置路由实例,并且为城域6B的路由实例分配第二上下文标签。类似地,当城域6C连接至ABR12B时,ABR 12B为城域6C配置路由实例,并且为城域6C的路由实例分配第三上下文标签。当城域6D连接至ABR 12B时,ABR 12B为城域6D配置路由实例,并且为城域6D的路由实例分配第四上下文标签。
ABR将每个上下文标签绑定至分段路由路径的具体转发等价类(FEC)。在图1的示例中,ABR 12A可以包括用于将从一个或多个城域网(例如,城域6A)接收的流量路由至中间网络8(本文也称为“主路由表”)的核心路由表13A(例如,mpls.0)和用于将从中间网络8接收的流量路由至城域6A的城域路由表13B(例如,城域A.mpls.0)。核心路由表13A(mpls.0)包括识别分段路由路径中的下一跳标签交换路由器(诸如中间网络8的核心路由器14)的标签列表。城域路由表13B(城域A.mpls.0)包括识别城域网内的分段路由路径中的下一跳标签交换路由器(诸如城域6A的PE装置10)的标签列表。
在路由表13A和13B中的每一个中,ABR 12A为第一上下文标签配置路由(本文称为“上下文标签路由”)。例如,在核心路由表13A(mpls.0)中,ABR 12A将其中第一上下文标签被映射至城域路由表13B(城域A.mpls.0)(例如,通过使用路由实例标识符作为秘钥)的上下文标签路由配置为表下一跳。以这种方式,当ABR 12A从中间网络8接收包括第一上下文标签的分组时,ABR 12A可以执行核心路由表13A中的第一上下文标签的查询,并且确定ABR12A执行城域路由表13B的标签堆栈中的后续标签的查询。类似地,在城域路由表13B(例如,城域A.mpls.0)中,ABR 12A将其中第一上下文标签被映射至核心路由表13A(例如,mpls.0)的上下文标签路由配置为表下一跳。以这种方式,当ABR 12A从城域6A接收包括第一上下文标签的分组时,ABR 12A可以执行城域路由表13B中的查询,并且基于第一上下文标签确定ABR 12A执行核心路由表13A的标签堆栈中的后续标签的查询。
类似地,对于城域6B,ABR 12A可以包括用于将从中间网络8接收的流量路由至城域6B的城域路由表13C(例如,城域B.mpls.0)。ABR 12A还使用用于将从城域6B接收的流量路由至中间网络8的核心路由表13A(例如,mpls.0)。在路由表13A和13C中的每一个中,ABR12A为第二上下文标签配置路由。例如,在核心路由表13A(例如,mpls.0)中,ABR12A将其中第二上下文标签被映射至城域路由表13C(例如,城域B.mpls.0)的上下文标签路由配置为表下一跳。以这种方式,当ABR 12A从中间网络8接收包括第二上下文标签的分组时,ABR12A可以执行核心路由表13A中的第二上下文标签的查询,并且确定ABR 12A执行城域路由表13C的标签堆栈中的后续标签的查询。类似地,在城域路由表(例如,城域B.mpls.0)中,ABR 12A将其中第二上下文标签被映射至核心路由表13A(例如,mpls.0)的路由配置为表下一跳。以这种方式,当ABR 12A从城域6B接收包括第二上下文标签的分组时,ABR 12A可以执行城域路由表13C中的查询,并且基于第二上下文标签确定ABR 12A执行核心路由表13A的标签堆栈中的后续标签的查询。在E.Rosen,“Multiprotocol Label SwitchingArchitecture,”Network Working Group,RFC 3031,January 2001中描述了下游分配的标签绑定的附加信息,其全部内容通过引用并入本文。
ABR 12A将上下文标签通知给网络系统2的相邻网络装置,诸如城域6的PE装置10和/或中间网络8的核心路由器14。作为一个示例,ABR 12A可以指定中间系统至中间系统(IS-IS)消息的子类型、长度以及值(TLV)内的上下文标签。在另一示例中,ABR 12A可以指定开放式最短路径优先(OSPF)消息的TLV内的上下文标签。在又一示例中,ABR 12A可以指定边界网关协议-链路状态(BGP-LS)消息的TLV(其可以与IS-IS消息的子TLV类似地配置)内的上下文标签,以将上下文标签通知给控制器。
诸如PE装置10的网络装置可以利用包括上下文标签的分段路由标签堆栈封装分组,以沿着端到端分段路由路径(例如,分段路由路径20A至20D(统称为“分段路由路径20”))转发分组。作为一个示例,当城域6A的PE装置10A从客户网络(未示出)接收分组并且目的地是连接至城域6C的客户网络时,PE装置10A可以利用分段路由路径20A的分段路由标签堆栈封装分组,该分段路由标签堆栈至少包括ABR 12A的节点SID、与城域6A相关联的第一上下文标签以及识别中间网络8的核心路由器(例如,P路由器14B的节点SID)的后续标签。封装的分组在图1中被示为“分组22A”。类似地,当远程PE装置(例如,城域6C的PE装置10F)从客户网络(未示出)接收分组并且目的地是连接至城域6A的客户网络时,PE装置10F可以利用分段路由路径20B的分段路由标签堆栈封装分组,该分段路由标签堆栈至少包括ABR 12A的节点SID、与城域6A相关联的第一上下文标签以及识别城域6A的PE装置(例如,PE装置10A的节点SID)的后续标签。封装的分组在图1中被示为“分组22B”。在一些示例中,分段路由标签堆栈可以包括将分组引导至具体城域网的具体城域的分段标识符(“N”)。在该示例中,分组22A的分段标识符N可以识别城域6C内的分段,和/或分组22B内的分段标识符N可以识别城域6A内的分段。
下面关于分段路由路径20A和20B描述ABR 12A的示例操作。响应于基于作为分组22A的分段路由标签堆栈的顶部标签的ABR 12A的节点SID从城域6A接收分组22A,ABR 12A可以执行城域路由表13B(例如,城域A.mpls.0)中的分段路由标签堆栈的后续标签(即,第一上下文标签)的查询,以确定第一上下文标签是否匹配城域路由表13B中的条目。在该示例中,ABR 12A可以确定第一上下文标签将上下文标签路由与到核心路由表13A的表下一跳匹配。然后,ABR 12A执行核心路由表13A中的分段路由标签堆栈的后续标签(例如,中间网络8内的核心路由器的节点SID)的查询,以确定到核心路由器(例如,P路由器14B)的分段路由路径20A中的下一跳。
在相反方向上,当ABR 12A基于作为分组22B的分段路由标签堆栈的顶部标签的ABR 12A的节点SID从中间网络8接收分组22B时,ABR12A可以执行核心路由表13A(例如,mpls.0)中的分段路由标签堆栈的后续标签(即,第一上下文标签)的查询,以确定第一上下文标签是否匹配核心路由表13A中的条目。在该示例中,ABR 12A可以确定第一上下文标签将上下文标签路由与到城域路由表13B(例如,城域A.mpls.0)的表下一跳匹配。然后,ABR12A执行城域路由表13B中的分段路由标签堆栈的后续标签(例如,PE装置10A的节点SID)的查询,以确定到PE装置10A的分段路由路径20B中的下一跳。
在另一示例中,ABR12A为第二城域网(例如,城域6B)的路由实例配置上下文标签。在该示例中,当城域6B的PE装置10C从客户网络(未示出)接收分组并且目的地是连接至城域6D的客户网络时,PE装置10C可以利用分段路由路径20C的分段路由标签堆栈封装分组,该分段路由标签堆栈至少包括ABR12A的节点SID、与城域6B相关联的第一上下文标签以及识别中间网络8的核心路由器(例如,P路由器14B的节点SID)的后续标签。封装的分组在图1中被示为“分组24A”。类似地,当远程PE装置(例如,城域6D的PE装置10H)从客户网络(未示出)接收分组并且目的地是连接至城域6B的客户网络时,PE装置10H可以利用分段路由路径20D的分段路由标签堆栈封装分组,该分段路由标签堆栈至少包括ABR12A的节点SID、与城域6B相关联的第一上下文标签以及识别城域6B的PE装置(例如,PE装置10C的节点SID)的后续标签。封装的分组在图1中被示为“分组24B”。在一些示例中,分段路由标签堆栈可以包括将分组引导至具体城域网的具体城域的分段标识符N。在该示例中,分组24A的分段标识符N可以识别城域6D内的分段,和/或分组24B的分段标识符N可以识别城域6B内的分段。
下面关于分段路由路径20C和20D描述ABR12A的示例操作。响应于基于作为分组24A的分段路由标签堆栈的顶部标签的ABR12A的节点SID从城域6B接收分组24A,ABR12A可以执行城域路由表13C(例如,城域B.mpls.0)中的分段路由标签堆栈的后续标签(即,第二上下文标签)的查询,以确定第二上下文标签是否匹配城域路由表13C中的条目。在该示例中,ABR12A可以确定第二上下文标签将上下文标签路由与到核心路由表13A(例如,mpls.0)的表下一跳匹配。然后,ABR12A执行核心路由表13A中的分段路由标签堆栈的后续标签(例如,P路由器14B的节点SID)的查询,以确定到中间网络8内的P路由器14B的分段路由路径20B中的下一跳。
在相反方向上,当ABR 12A基于作为分组24B的分段路由标签堆栈的顶部标签的ABR12A的节点SID从中间网络8接收分组24B时,ABR12A可以执行核心路由表13A(例如,mpls.0)中的分段路由标签堆栈的后续标签(即,第二上下文标签)的查询,以确定第二上下文标签是否匹配核心路由表13A中的条目。在该示例中,ABR 12A可以确定第二上下文标签将上下文标签路由与到城域路由表13C(例如,城域B.mpls.0)的表下一跳匹配。然后,ABR12A执行城域路由表13C中的分段路由标签堆栈的后续标签(例如,PE装置10C的节点SID)的查询,以确定到PE装置10C的分段路由路径20D中的下一跳。
在一些示例中,控制器(例如,软件定义网络(SDN)控制器)(未在图1中示出)可以从ABR获得上下文标签,并且使用上下文标签(以及网络系统2中的网络装置的SID和前缀)生成端到端分段路由路径。在这些示例中,控制器可以使用例如BGP-LS从ABR 12获得上下文标签。
本文所述的技术可以提供实现实际应用的一个或多个技术优点。例如,通过为连接至ABR的每个城域网的每个路由实例分配上下文标签,网络装置可以使用上下文标签生成跨城域网的端到端分段路由路径,而不管在城域网内分配的SID或前缀之间是否存在任何冲突。换句话说,本公开中所述的技术消除了不同的管理组织重新配置重复的SID和/或前缀和/或维护跨不同的管理组织的唯一SID的公共电子表格的需求。
图2是示出执行本公开中所述的技术的各个方面的示例网络装置200的框图。网络装置200可以表示任何ABR 12,但是也可以表示图1的任何PE装置10。尽管关于网络装置200进行了描述,但是该技术可以通过能够实现至少包括用于分段路由的IGP的路由协议的任何其他类型的网络装置来实现。因此,尽管关于网络装置200进行了描述,但是该技术不应限于关于图2的示例所描述的网络装置200。
在图2的示例中,网络装置200包括经由入站链路256A至256N(“入站链路256”)接收分组并且经由出站链路257A至257N(“出站链路257”)发送分组的接口卡254A至254N(“IFC 254”)。IFC 254通常经由多个接口端口(未示出)耦接至链路256、257。入站链路256和出站链路257可以表示物理接口、逻辑接口或其某些组合。
通常,网络装置200可以包括确定所接收的分组的路由并且相应地经由IFC 254转发分组的控制单元242。在图2的示例中,控制单元242包括配置并控制通过转发组件246(数据平面)应用的分组转发操作的路由组件244(控制平面)。
控制单元242和转发组件246的元件可以仅以软件或硬件来实现,或者可以作为软件、硬件或固件的组合来实现。例如,控制单元242可以包括执行软件指令的一个或多处理器、一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路或其任意组合。在这种情况下,控制单元242的各种软件模块可以包括存储、体现或编码在包含指令的计算机可读介质(诸如计算机可读存储介质)中的可执行指令。例如,当执行指令时,嵌入或编码在计算机可读介质中的指令可以使可编程处理器或其他处理器执行方法。计算机可读存储介质可以包括随机访问存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、非易失性随机访问存储器(NVRAM)、闪存、硬盘、CD-ROM、软盘、磁带、固态驱动器、磁性介质、光学介质或其他计算机可读介质。可以利用对应于网络装置200的各个方面(例如,协议、过程和模块)的指令对计算机可读介质进行编码。在一些示例中,控制单元242针对这些方面从存储器检索并执行指令。
路由组件244负责维护路由信息260,以反映网络装置300所连接的网络和其他网络实体的当前拓扑。具体地,路由协议基于由网络装置300接收的路由协议消息周期性地更新路由信息340以反映网络和其他实体的当前拓扑。
路由组件244提供用于执行各种路由协议270的操作环境,该路由协议270可以包括具有由计算环境执行的指令的软件过程。路由组件244负责维护路由信息260(例如,路由信息库),以反映网络装置200所连接的网络和其他网络实体的当前拓扑。具体地,路由协议基于由网络装置200接收的路由协议消息周期性地更新路由信息260以准确地反映网络和其他实体的拓扑。协议可以是在一个或多个处理器上执行的软件过程。例如,路由组件244包括在网络堆栈的网络层操作的网络协议,其通常被实现为可执行软件指令。
在图2的示例中,协议270可以包括IGP组件272以实现IGP协议以在给定的IGP区域内交换链路状态信息,并且促进在IGP区域内的端点装置之间转发分组或其他数据单元。在一些示例中,IGP组件272可以包括根据J.Moy的标题为“OSPF Version 2”日期为1998年4月的RFC 2328、R.Coltun等人的标题为“OSPF for IPv6”日期为2008年7月的RFC 5340、N.Sheth等人的标题为“OSPF Hybrid Broadcast and Point-to-Multipoint InterfaceType”日期为2013年1月的RFC 6845以及A.Lindem等人的标题为“OSPFv3 LSAExtendibility”日期为2013年7月的网络工作组的因特网草案(Intemet Draft for theNetwork Working Group)(draft-acee-ospfv3-lsa-extend-01.txt)中的一个或多个的OSPF路由协议。在一些示例中,IGP组件272可以包括根据D.Oran的标题为“OSI IS-ISIntra-domain Routing Protocol”日期为1990年2月的RFC 1142实现用于在路由域内交换路由和可达性信息的IGP的IS-IS路由协议。如Tony Li等人的标题为“IGP Requirementsfor Traffic Engineering with MPLS”日期为1999年2月的网络工作组的因特网草案(Internet Draft for the Network Working Group)(draft-li-mpls-igp-te-00.txt)所述,IGP组件272可以包括支持具有多协议标签交换(MPLS)的流量工程的流量扩展。在一些示例中,路由器200可以包括OSPF组件和IS-IS组件两者。
在一些示例中,协议270可以包括BGP组件274以实现BGP协议以在IGP区域或域之间或跨IGP区域或域交换链路状态信息。例如,BGP组件274可以包括根据L.Ginsberg,Ed.等人的标题为“BGP-Link State(BGP-LS)Advertisement of IGP Traffic EngineeringPerformance Metric Extensions”日期为2019年3月的RFC 8571的BGP-LS,其全部内容通过引用并入本文。在一些示例中,网络装置200可以使用BGP组件274与控制器建立BGP会话或BGP链路状态(BGP-LS)会话,使得控制器可以获得上下文标签。
协议270还可以包括配置协议。例如,协议270可以包括根据JP.Vasseur,Ed.等人的标题为“Path Computation Element(PCE)Communication Protocol(PCEP)”日期为2009年3月的RFC 5440的PCEP 276或根据R.Enns,Ed.等人的标题为“Network ConfigurationProtocol(NETCONF)”日期为2011年6月的RFC 6241的NETCONF(未示出)。在一些示例中,PCE267或中央控制器(例如,SDN控制器)可以经由PCEP 276或NETCONF组件(未示出)利用SID配置网络装置200。协议270可以包括其他路由协议(未示出),诸如标签分发协议(LDP)、具有流量工程扩展的资源预留协议(RSVP-TE)、路由信息协议(RIP)或其他网络协议。
路由组件244包括分段路由(SR)组件273以实现用于指定网络装置200可以如何通知节点或邻接标签的IGP协议(例如,IS-IS和OSPF)的分段路由技术。如上所述,分段路由技术可以包括SPRING范例。如图1所述,这些节点或邻接标签可以通过以分段路由报头预加分组而经由一组控制指令(称为分段)来引导分组。
通过执行路由协议,路由组件244识别通过网络的现有路由并且确定通过网络的新路由。路由组件244存储包括例如通过网络的已知路由的路由信息260。转发组件246存储包括输出链路257的目的地的转发信息262。可以根据路由信息260生成转发信息262。
路由组件244可以包括用于存储例如针对全网拓扑学习的流量工程信息(例如,链路度量)的流量工程数据库(TED)282。在一些示例中,TED 282或单独的链路状态数据库(LSDB)可以包括拓扑中包括的分段标识符信息,诸如节点SID和邻接SID。TED 282可以是各种数据结构的形式,诸如多个表格、链路列表、基数树、数据库、平面文件或其他数据结构。
根据本文所述的技术,路由组件244进一步包括用于将从城域网接收的流量路由至中间网络的核心路由表284和用于将从中间网络接收的流量路由至对应的城域网的一个或多个城域路由表286。核心路由表284可以表示图1的核心路由表13A的示例实现。核心路由表284可以存储沿着分段路由路径的下一跳(例如,核心路由器)的IP地址。城域路由表286可以表示图1的城域路由表13B和13C的示例实现。城域路由表286可以各自存储城域网中的下一跳(例如,网络装置)的IP地址。
路由组件244包括内核220,其为用户级过程提供运行时操作环境。内核220可以表示例如UNIX操作系统衍生物,诸如Linux或伯克利软件分发(Berkeley SoftwareDistribution,BSD)。内核220提供用户级过程可以通过其与底层系统交互的库和驱动程序。路由组件244的硬件环境222包括执行从存储装置(也未在图2中示出)加载到主存储器(未在图2中示出)中的程序指令的微处理器224,以执行软件堆栈,包括内核220和在由内核220提供的操作环境上执行的过程两者。微处理器224可以表示一个或多个通用或专用处理器,诸如数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的逻辑装置。因此,如本文所使用的,术语“处理器”或“控制器”可以是指任何一个或多个前述结构或可操作以执行本文所述的技术的任何其他结构。
内核220提供执行各种协议270(例如,IGP272和用于IGP的分段路由技术)以基于存储在路由信息260中的网络拓扑生成转发信息(例如,转发信息262)的操作环境。
转发组件262表示提供网络流量的高速转发的硬件和逻辑功能。转发组件262通常包括一组编程有转发信息的一个或多个转发芯片,该转发信息映射具有具体下一跳的网络目的地和对应的输出接口端口。通常,当网络装置200经由一个入站链路256接收分组时,转发组件262通过基于分组内的信息遍历编程的转发信息来识别数据分组的相关联的下一跳。转发组件262在被映射至对应的下一跳的一个出站链路257(诸如本地客户网络中的隧道端点或网络装置)上转发分组。
在图2的示例中,转发组件262包括转发信息262。根据路由信息260,转发组件262存储转发信息262,该转发信息262将分组字段值映射至具有指定下一跳的网络目的地和对应的出站接口端口。例如,路由组件244分析路由信息260,并且根据路由信息260生成转发信息262。转发信息262可以以一个或多个表、链路列表、基数树、数据库、平面文件或任何其他数据结构的形式维护。
如本公开中其他地方所描述的,根据本公开所述的技术,控制单元242可以被配置为执行跨城域网的无缝端到端分段路由。例如,假设网络装置200表示图1的ABR 12A的实现。在该示例中,路由组件244包括数据结构,以存储为连接至网络装置200(诸如城域6A和6B)的每个城域网的每个路由实例生成的上下文标签(在图3中示出为“上下文标签262”)。
核心路由表284和城域路由表286各自配置有用于上下文标签262中的每个上下文标签的路由。例如,核心路由表284配置有上下文标签路由作为表下一跳,其中,与城域相关联的上下文标签被映射至对应的城域路由表(例如,通过使用路由实例标识符作为秘钥)。以这种方式,当网络装置200经由连接至中间网络8的接口接收包括上下文标签的分组时,网络装置200可以执行核心路由表284中的查询,并且基于上下文标签确定网络装置200执行对应的城域路由表286中的查询。类似地,一个城域路由表286配置有上下文标签路由作为表下一跳,其中,上下文标签被映射至核心路由表284。以这种方式,当网络装置200经由连接至城域6A的接口接收包括上下文标签的分组时,网络装置200可以执行对应的城域路由表286中的查询,并且基于上下文标签确定网络装置200执行核心路由表284中的查询。
路由组件244可以使用诸如IGP 272和/或BGP 276的一个或多个协议270通知上下文标签262。以这种方式,网络装置可以利用分段路由标签堆栈封装分组,该分段路由标签堆栈至少包括网络装置200的节点SID、上下文标签262的相应上下文标签以及识别网络装置200要转发分组的核心网或城域网中的装置的后续标签,其随后由网络装置200使用以执行核心路由表284和/或城域路由表286中的分段路由标签堆栈的后续标签的查询。
控制单元242可以仅以软件或硬件来实现、或可以作为软件、硬件或固件的组合来实现。例如,控制单元242可以包括执行软件指令形式的程序代码的一个或多个处理器。在这种情况下,控制单元242的各种软件组件/模块可以包括存储在诸如计算机存储器或硬盘的计算机可读存储介质上的可执行指令。
仅出于示例目的示出了图2所示的网络装置200的架构。本公开的技术并不限于该架构。在其他示例中,网络装置200可以以各种方式配置。在一个示例中,控制单元242的一些功能可以分布在IFC 254内。在另一示例中,控制单元242可以包括操作为从属路由器的多个分组转发组件。
图3A至图3B是示出根据本公开中所述的技术的包括上下文标签的示例路由通告消息的概念图。在图3A的示例中,路由通告消息300可以包括由实例ID 302识别的具体路由实例的上下文标签字段304。在一些示例中,路由通告消息300可以表示IS-IS消息的子类型、长度以及值(TLV)如在L.Ginsberg,et al.,“IS-IS Extensions for AdvertisingRouting Information”RFC 7981,October 2016中所描述的,其全部内容通过引用并入本文。
路由通告消息300可以包括字段,这些字段包括:(1)子TLV的类型字段;(2)子TLV的长度字段;(3)子TLV的预留字段;(4)具体路由实例的实例标识符302;和/或(5)上下文标签字段304。在一些示例中,上下文标签字段304可以是指示上下文标签的32位整数,其他装置可以利用分组封装上下文标签,以使ABR执行路由表中的上下文标签的查询。
在图3B的示例中,路由通告消息310可以包括由实例ID312识别的具体路由实例的上下文标签字段314。在一些示例中,路由通告消息310可以表示OSPF消息的TLV,如在A.Lindem,Ed.,et al.,“Extensions to OSPF for Advertising Optional RouterCapabilities”RFC 7770,February 2016中所描述的,其全部内容通过引用并入本文。
路由通告消息300可以包括字段,包括:(1)TLV的类型字段;(2)TLV的长度字段;(3)TLV的预留字段;(4)具体路由实例的实例标识符312;和/或(5)上下文标签字段314。在一些示例中,上下文标签字段314可以是指示上下文标签的32位整数,其他装置可以利用分组封装上下文标签,以使ABR执行路由表中的上下文标签的查询。
图4A至图4C是示出根据本公开中所述的技术提供跨城域网的端到端分段路由路径的网络系统2中的网络装置的示例操作的流程图。
在图4A的示例中,ABR 12A为多个城域网中的每一个城域网配置路由实例(402)。例如,ABR 12A为连接至ABR 12A的城域6A和6B配置路由实例。ABR 12A为每个路由实例配置上下文标签(404)。例如,ABR12A配置与城域6A相关联的第一上下文标签和与城域6B相关联的第二上下文标签。
ABR 12A将每个路由实例的上下文标签映射至对应的路由表(406)。例如,在核心路由表13A(mpls.0)中,ABR 12A将其中第一上下文标签被映射至城域路由表13B(城域A.mpls.0)(例如,通过使用路由实例标识符作为秘钥)的上下文标签路由配置为表下一跳。类似地,在城域路由表13B(例如,城域A.mpls.0)中,ABR 12A将其中第一上下文标签被映射至核心路由表13A(例如,mpls.0)的上下文标签路由配置为表下一跳。
ABR 12A将每个路由实例的上下文标签通知给多个城域网和核心网的网络装置(408)。作为一个示例,ABR 12A可以指定IS-IS消息的子TLV内、OSPF消息的TLV内和/或BGP-LS消息的TLV内的上下文标签,其可以与IS-IS消息的子TLV类似地配置。ABR 12A可以将上下文标签通知给城域网6的PE装置10和/或核心装置14。ABR 12A可以利用分段路由标签堆栈处理分组,该分段路由标签堆栈至少包括ABR 12A的标签、与ABR的路由实例相关联的上下文标签以及识别核心网或城域中的装置的后续标签(在图4A中示出为步骤A和B),这在图4B和图4C中进一步描述。
在图4B的示例中,PE装置10A接收ABR 12A在分段路由中所使用的每个路由实例的上下文标签(410)。当PE装置10A从连接至PE装置10A的客户网络接收分组并且目的地是连接至远程城域网(例如,城域6C)的客户网络时,PE装置10A可以利用分段路由标签堆栈封装分组(例如,图1的分组22A),该分段路由标签堆栈至少包括ABR的节点SID、上下文标签以及识别核心网的核心路由器的后续标签(412)。PE装置10A基于作为分段路由标签堆栈的顶部标签的ABR 12A的节点SID将分组发送至ABR 12A(414)。
响应于接收到具有分段路由标签堆栈的分组(416),ABR 12A根据城域路由表13B中的上下文标签的查询确定到核心路由表13A的表下一跳(418)。例如,响应于接收到具有包括上下文标签的分段路由标签堆栈的分组22A,ABR 12A可以执行城域路由表13B中的查询,以确定上下文标签是否匹配城域路由表13B中的条目。在该示例中,ABR 12A可以确定上下文标签将上下文标签路由与到核心路由表13A的表下一跳匹配。然后,ABR 12A执行核心路由表13A中的分段路由标签堆栈的后续标签(例如,核心网的核心路由器14A)的查询,以确定朝向分段路由路径20A的核心路由器14A的分段路由路径中的下一跳(420),并且向核心网的核心路由器发送分组(422)。
在图4C的示例中,远程PE装置(例如,PE装置10F)接收ABR 12A在分段路由中所使用的每个路由实例的上下文标签(424)。在一些示例中,PE装置10F可以从连接至城域6C的客户网络接收分组并且利用分段路由标签堆栈封装分组(例如,图1的分组22B),该分段路由标签堆栈至少包括ABR的节点SID、上下文标签以及识别城域网的PE装置的后续标签(426)。PE装置10F基于作为分段路由标签堆栈的顶部标签的ABR 12B的节点SID经由核心网8将分组发送至ABR 12A(428)。
响应于经由核心网8接收到具有分段路由标签堆栈的分组(430),ABR 12A根据核心路由表13A中的上下文标签的查询确定到城域路由表13C的表下一跳(432)。例如,响应于接收到具有包括上下文标签的分段路由标签堆栈的分组22B,ABR 12A可以执行核心路由表13A中的查询,以确定上下文标签是否匹配核心路由表13A中的条目。在该示例中,ABR12A可以确定上下文标签将上下文标签路由与到城域路由表13B的表下一跳匹配。然后,ABR 12A执行城域路由表13B中的分段路由标签堆栈的后续标签(例如,PE装置10C的节点SID)的查询,以确定朝向分段路由路径20B的PE装置10A的分段路由路径中的下一跳(434),并且向城域6A的PE装置10A发送分组(436)。
可以以各种装置或设备(包括网络装置、集成电路(IC)、或一组IC(即,芯片组))来实现本公开的技术。已经描述了设置以增强功能方面的任何组件、模块或单元,并且不必要求通过不同的硬件单元来实现。还可以以硬件或者硬件和软件和/或固件的任意组合来实现本文所述的技术。描述为模块、单元或组件的任何特征可以以集成逻辑装置一起实现,或单独地实现为离散但可互操作的逻辑装置。在一些情况下,各种特征可以实现为集成电路装置,诸如集成电路芯片或芯片组。
如果以软件实现,则本技术可以至少部分地由包括指令的计算机可读存储介质来实现,当处理器中执行时,该指令执行上述一种或多种方法。计算机可读存储介质可以是物理结构,并且可以构成可以包括封装材料的计算机程序产品的一部分。在这个意义上,计算机可读介质可以是非暂时性的。计算机可读存储介质可以包括随机访问存储器(RAM)(诸如同步动态随机访问存储器(SDRAM))、只读存储器(ROM)、非易失性随机访问存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁性或光学数据存储介质等。
通过一个或多个处理器(诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散逻辑电路)可以执行代码或指令。因此,如本文所使用的,术语“处理器”可以是指适合于任何前述结构或实现本文所述的技术的任何其他结构。另外,在一些方面,本文所述的功能可以设置在被配置用于编码和解码的专用软件模块或硬件模块内,或结合在组合视频编解码器中。此外,本技术可以以一个或多个电路或逻辑元件完全实现。

Claims (17)

1.一种用于跨城域网的无缝端到端分段路由的方法,包括:
通过连接至一个或多个城域网和核心网的区域边界路由器ABR接收包括用于分段路由路径的分段路由标签堆栈的分组;
其中,所述分段路由标签堆栈至少包括所述ABR的标签、与所述ABR的路由实例相关联的上下文标签以及识别所述核心网中的装置的后续标签;
其中,所述ABR的所述路由实例包括用于所述一个或多个城域网中的第一城域网的城域路由表;
根据所述城域路由表中的所述上下文标签的查询确定到所述核心网的核心路由表的表下一跳;
其中,所述城域路由表包括将所述上下文标签映射至所述核心路由表的至少一个上下文标签路由,并且其中,所述核心路由表包括将所述上下文标签映射至所述城域路由表的至少一个上下文标签路由;
响应于确定所述表下一跳,根据所述核心路由表中的所述后续标签的查询确定到所述核心网中的所述装置的所述分段路由路径中的下一跳;并且
通过所述ABR向所述核心网中的所述装置发送所述分组。
2.根据权利要求1所述的方法,进一步包括:
通过所述ABR并将中间系统至中间系统IS-IS消息的子类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置。
3.根据权利要求2所述的方法,其中,所述IS-IS消息的子TLV进一步包括用于所述上下文标签的所述路由实例的实例标识符。
4.根据权利要求1所述的方法,进一步包括:
通过所述ABR并将开放式最短路径优先OSPF消息的类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置。
5.根据权利要求4所述的方法,其中,所述OSPF消息的所述TLV进一步包括用于所述上下文标签的所述路由实例的实例标识符。
6.根据权利要求1所述的方法,进一步包括:
通过所述ABR并将边界网关协议-链路状态BGP-LS消息的子类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置的控制器。
7.一种用于跨城域网的无缝端到端分段路由的方法,包括:
通过连接至一个或多个城域网和核心网的区域边界路由器ABR接收包括用于分段路由路径的分段路由标签堆栈的分组;
其中,所述分段路由标签堆栈至少包括所述ABR的标签、与所述ABR的路由实例相关联的上下文标签以及识别所述一个或多个城域网的第一城域网中的装置的后续标签;
其中,所述ABR的所述路由实例包括用于所述第一城域网的城域路由表;
根据用于所述核心网的核心路由表中的所述上下文标签的查询确定到所述城域路由表的表下一跳;
其中,所述城域路由表包括将所述上下文标签映射至所述核心路由表的至少一个上下文标签路由,并且其中,所述核心路由表包括将所述上下文标签映射至所述城域路由表的至少一个上下文标签路由;
根据所述城域路由表中的所述后续标签的查询确定到所述第一城域网中的所述装置的所述分段路由路径中的下一跳;并且
通过所述ABR向所述第一城域网中的所述装置发送所述分组。
8.根据权利要求7所述的方法,进一步包括:
通过所述ABR并将中间系统至中间系统IS-IS消息的子类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置。
9.根据权利要求8所述的方法,其中,所述IS-IS消息的子TLV进一步包括用于所述路由实例的实例标识符。
10.根据权利要求7所述的方法,进一步包括:
通过所述ABR并将开放式最短路径优先OSPF消息的类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置。
11.根据权利要求10所述的方法,其中,所述OSPF消息的所述TLV进一步包括用于所述路由实例的实例标识符。
12.根据权利要求7所述的方法,进一步包括:
通过所述ABR并将边界网关协议-链路状态BGP-LS消息的子类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置的控制器。
13.一种连接至一个或多个城域网和核心网的区域边界路由器ABR,所述ABR包括:
一个或多个处理器,能操作地耦接至存储器,其中,所述一个或多个处理器被配置为:
接收包括用于分段路由路径的分段路由标签堆栈的分组;
其中,所述分段路由标签堆栈至少包括所述ABR的标签、与所述ABR的路由实例相关联的上下文标签以及识别所述核心网中的装置的后续标签;
其中,所述ABR的所述路由实例包括用于所述一个或多个城域网中的第一城域网的城域路由表;
根据所述城域路由表中的所述上下文标签的查询确定到所述核心网的核心路由表的表下一跳;
其中,所述城域路由表包括将所述上下文标签映射至所述核心路由表的至少一个上下文标签路由,并且其中,所述核心路由表包括将所述上下文标签映射至所述城域路由表的至少一个上下文标签路由;
响应于确定所述表下一跳,根据所述核心路由表中的所述后续标签的查询确定到所述核心网中的所述装置的所述分段路由路径中的下一跳;并且
向所述核心网中的所述装置发送所述分组。
14.根据权利要求13所述的区域边界路由器ABR,其中,所述一个或多个处理器被进一步配置为:
将中间系统至中间系统IS-IS消息的子类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置。
15.根据权利要求13所述的区域边界路由器ABR,其中,所述一个或多个处理器被进一步配置为:
将开放式最短路径优先OSPF消息的类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置。
16.根据权利要求13所述的区域边界路由器ABR,进一步包括:
将边界网关协议-链路状态BGP-LS消息的子类型、长度以及值TLV中的所述上下文标签通知给所述一个或多个城域网和所述核心网的网络装置的控制器。
17.根据权利要求13所述的区域边界路由器ABR,其中,所述分组包括第一分组,其中,所述一个或多个处理器被进一步配置为:
接收包括用于分段路由路径的分段路由标签堆栈的第二分组;
其中,所述分段路由标签堆栈至少包括所述ABR的标签、与所述ABR的所述路由实例相关联的上下文标签以及识别所述一个或多个城域网的所述第一城域网中的装置的后续标签;
其中,所述ABR的所述路由实例包括用于所述第一城域网的所述城域路由表;
根据用于所述核心网的核心路由表中的所述上下文标签的查询确定到所述城域路由表的表下一跳;并且
根据所述城域路由表中的所述后续标签的查询确定到所述第一城域网的所述装置的所述分段路由路径中的下一跳;并且
向所述第一城域网中的所述装置发送所述第二分组。
CN202110299728.9A 2020-03-26 2021-03-19 跨城域网的无缝端到端分段路由的方法及区域边界路由器 Active CN113452610B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063000272P 2020-03-26 2020-03-26
US63/000,272 2020-03-26
US16/909,592 US11483242B2 (en) 2020-03-26 2020-06-23 Seamless end-to-end segment routing across metropolitan area networks
US16/909,592 2020-06-23

Publications (2)

Publication Number Publication Date
CN113452610A CN113452610A (zh) 2021-09-28
CN113452610B true CN113452610B (zh) 2023-03-21

Family

ID=74947195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110299728.9A Active CN113452610B (zh) 2020-03-26 2021-03-19 跨城域网的无缝端到端分段路由的方法及区域边界路由器

Country Status (3)

Country Link
US (1) US11483242B2 (zh)
EP (1) EP3886378B1 (zh)
CN (1) CN113452610B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230028147A1 (en) * 2021-07-20 2023-01-26 Nokia Solutions And Networks Oy Source route compression
US11799755B2 (en) * 2021-11-24 2023-10-24 Amazon Technologies, Inc. Metadata-based cross-region segment routing
US11855893B2 (en) 2021-11-24 2023-12-26 Amazon Technologies, Inc. Tag-based cross-region segment management
US11991211B1 (en) 2021-12-10 2024-05-21 Amazon Technologies, Inc. Symmetric cross-region network data flow management
US11936558B1 (en) 2021-12-10 2024-03-19 Amazon Technologies, Inc. Dynamic evaluation and implementation of network mutations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104718730A (zh) * 2012-10-05 2015-06-17 思科技术公司 分段路由技术
CN108702328A (zh) * 2016-02-15 2018-10-23 瑞典爱立信有限公司 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504718B2 (en) * 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US9444677B2 (en) * 2013-10-18 2016-09-13 Cisco Technology, Inc. Scalable edge node protection using IPv6 segment routing extension header
US9912577B2 (en) * 2014-04-17 2018-03-06 Cisco Technology, Inc. Segment routing—egress peer engineering (SP-EPE)
WO2017141078A1 (en) 2016-02-15 2017-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Ospf extensions for flexible path stitching and selection for traffic transiting segment routing and mpls networks
US10476811B2 (en) 2017-03-10 2019-11-12 Juniper Networks, Inc Apparatus, system, and method for providing node protection across label-switched paths that share labels
US10382592B2 (en) 2017-07-12 2019-08-13 Juniper Networks, Inc. Segment routing label switched path for non-segment routing enabled routers
CN110380959B (zh) * 2018-04-13 2020-11-17 华为技术有限公司 转发报文方法和装置
US11683308B2 (en) * 2019-06-06 2023-06-20 Cisco Technology, Inc. Systems and methods for generating contextual labels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104718730A (zh) * 2012-10-05 2015-06-17 思科技术公司 分段路由技术
CN108702328A (zh) * 2016-02-15 2018-10-23 瑞典爱立信有限公司 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展

Also Published As

Publication number Publication date
EP3886378B1 (en) 2024-02-14
US20210306265A1 (en) 2021-09-30
EP3886378A1 (en) 2021-09-29
CN113452610A (zh) 2021-09-28
US11483242B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
EP3648420B1 (en) Enabling non-flexible-algorithm routers to participate in flexiblealgorithm routing protocols
CN109257278B (zh) 用于非分段路由启用的路由器的分段路由标签交换路径方法
CN113452610B (zh) 跨城域网的无缝端到端分段路由的方法及区域边界路由器
US8467411B1 (en) Service-specific forwarding in an LDP-RSVP hybrid network
US10742599B2 (en) Conflict resolution in segment routing
US11743166B2 (en) Provisioning non-colored segment routing label switched paths via segment routing policies in border gateway protocol
CN111865783B (zh) 用于计算机网络的方法和网络设备
CN112118182A (zh) 发送流量工程的ip路径隧道
US11240142B2 (en) Class-based traffic engineering in an IP network
US11323371B1 (en) Micro SID packet processing with operations, administration, and management
EP3975489A1 (en) Label deduction with flexible-algorithm
CN113709033B (zh) 用于分段路由流量工程的分段跟踪路由
EP3890253B1 (en) Transport endpoint segments for inter-domain segment routing
EP3422645B1 (en) Conflict resolution in segment routing
EP3913868A1 (en) Segmented traceroute for segment routing traffic engineering

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