在计算机网络中提供扩展管理组的制作方法

文档序号:7855195阅读:245来源:国知局
专利名称:在计算机网络中提供扩展管理组的制作方法
技术领域
本发明涉及计算机网络,更具体地,涉及配置计算机网络。
背景技术
通常,负责通过计算机网络路由数据的装置(诸如路由器)实施通常称为内部网关协议(IGP)的一个或多个内部网络路由协议,以交换描述网络域内的链接或路径的所谓“路由信息”。IGP的实例包括中间系统到 中间系统(IS-IS)路由协议和开放最短路径优先(OSPF)路由协议。每个路由器可以通过选择用于到达网络内的每个可用目的地的通过网络的路径以及生成可用于通过计算机网络转发数据包的转发信息,来解析路由信息。IS-IS和OSPF路由协议均属于称为链路状态协议的一类路由协议。链路状态协议通过生成并发送描述计算机网络内的任意两个相邻路由器之间的链路状态的链路状态通告(还可以称为“链路状态协议数据单元”),来通告或以其他方式促进路由信息交换。这些链路状态通告可以包括标识以下内容的信息与链路连接到的接口相关的接口成本或指标(metric,跳数)以及与该链路相关的链路成本或指标、以及与该链路相关的颜色或管理组以及通常用于根据路由状态协议选择通过网络的路径的任何其他约束。与链路相关的管理组(通常称为链路的“颜色”或资源类别)可以提供管理员可以控制路径选择的方式。例如,管理员可以将一个或多个链路的颜色分配为“红色”并将另外的一个或多个链路的颜色分配为“蓝色”。管理员然后可以配置从经由链路状态通告确定的整个路径集中进行选择的路径选择算法,以仅对一个用户使用与颜色“红色”相关的链路,并对另一用户仅适用与颜色“蓝色”相关的链路。这样,管理员可以配置链路组用于不同用途。通常,管理员使用这些颜色来区分不能用更主观的指标来区分的链路。这样,链路状态通告的颜色或管理组字段能够确认什么可以被视为路径选择的更主观指标或约束。网络成长和网络装置数量的增加具有超出了这些协议的开发者所想象的复杂管理。在一些情况下,这些协议可能不足以应对大量的管理组,这可以通过限制如何进行路径选择而对更大网络管理造成负担。

发明内容
大体上,描绘了用于在计算机网络中提供扩展管理组的技术。此外,该技术提供了用于以不需要对现有路由协议进行大幅修改的方式在路由器之间进行扩展管理组通信的有效机制。例如,不同于内部网关协议(IGP)(诸如,IS-IS和OSPF协议)中那样通常仅提供32个不同管理组,该技术可以对将已经由协议定义为定义共享风险链路组(SRLG)的现有类型-长度-值(TLV)字段(或其至少一部分)赋予新的用途,以定义扩展管理组。这样,可以将TLV的功能重载为支持两个不同目的。此外,与SPLG功能相关联的地址空间可以被分成两个不同空间一个用于SPLG,一个用于扩展管理组。通过将对SRLGTLV赋予新的功能,管理员可以将路由器配置为在由IS-IS和OSPF协议支持的32个管理组的惯常限制之外定义管理组,从而在不添加任何额外TLV的情况下,克服32个管理组限制。这样,只需要修改路由协议的负责解析SRLG子TLV或SRLG TLV的一部分,以考虑地址空间分割。不需要定义新的TLV的对象类型用于分配扩展管理组信息。在提供该扩展管理组时,相比于传统IPG,管理员可以以更精细的方式来精简路径选择,这是由于额外的管理组或“颜色”可以添加路径选择算法可以以此为进出进行路径选择的额外标准或指标。在一个实施方式中,一种方法包括利用网络装置接收通告链路的路由协议消息,其中,该路由协议消息包括用于根据路由协议存储与链路相关联的第一数据的字段,其中,字段被路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的一种字段。所述方法还包括利用网络装置确定接收的路由协议消息的字段已经被改变用途以存储第一数据之外的第二数据,其中,第二数据为链路指定一个或多个扩展管理组,一个或多个扩展管理组不同于将由管理组字段指定的一个或多个管理组,在确定字段已经被改变用途时,更新路由信息,以将通告的链路与由第二数据指定的一个或多个扩展管理组相关联,利用网络装置执行路径选择,以基于更新的路由信息选择一个或多个路径。在另一实施方式中,网络装置包括至少一个接口,接收通告链路的路由协议消 息,其中,路由协议消息包括用于根据路由协议存储与链路相关联的第一数据的字段,其中,字段被路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的一种字段。该网络装置还包括控制单元,确定接收的路由协议消息的字段已经被改变用途以存储第一数据之外的第二数据,其中,第二数据为链路指定一个或多个扩展管理组,一个或多个扩展管理组不同于将由管理组字段指定的一个或多个管理组,在确定字段已经被改变用途时,更新路由信息,以将通告的链路与由第二数据指定的一个或多个扩展管理组相关联,并执行路径选择,以基于更新的路由信息选择一个或多个路径。在另一实施方式中,一种网络系统,包括两个或多个用户网络;以及传输网络,包括多个路由器,其中,所述多个路由器中的至少两个将所述两个或多个用户网络耦接到所述传输网络。多个路由器中的第一个包括至少一个接口,接收通告链路的路由协议消息,其中,路由协议消息包括用于根据路由协议存储与链路相关联的第一数据的字段,其中,字段被路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的一种字段。多个路由器中的第一个还包括控制单元,确定接收的路由协议消息的字段已经被改变用途以存储第一数据之外的第二数据,其中,第二数据为链路指定一个或多个扩展管理组,一个或多个扩展管理组不同于将由管理组字段指定的一个或多个管理组,在确定字段已经被改变用途时,更新路由信息,以将通告的链路与由第二数据指定的一个或多个扩展管理组相关联,并执行路径选择,以基于更新的路由信息选择一个或多个路径。在另一实施方式中,非临时性计算机可读装置包括指令,当执行该指令时,使得一个或多个处理器接收通告链路的路由协议消息,其中,路由协议消息包括用于存储根据路由协议与链路相关联的第一数据的字段,并且其中,字段被路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的类型的字段,确定接收的路由协议消息的字段已经被改变用途以存储第一数据之外的第二数据,其中,第二数据为链路指定了一个或多个扩展管理组,一个或多个扩展管理组不同于将由管理组字段指定的一个或多个管理组,在确定字段已经被改变用途时,更新路由信息,以将通告的链路与由第二数据指定的一个或多个扩展管理组相关联,并执行路径选择以基于更新的路由信息选择一个或多个路径。
在附图和以下的说明书中描述了本技术的一个或多个实施例的细节。本技术的其他特征、目标、和优点将从说明书和附图以及权利要求中变得显而易见。


图I是示出实施本公开中描述的扩展管理组技术的示例性网络系统的框图。图2是示出实施本公开中描述的技术的示例性路由器的框图。图3A和3B是示出实施本公开中描述的扩展管理组技术时网络装置的示例性操作的流程图。图4是示出根据本公开中描述的技术的包括潜在地改变用途的字段的示例性链路状态通告(LSA)的框图。
具体实施例方式图I是示出实施本公开中描述的扩展管理组技术的示例网络系统10的框图。在图I中实例中,网络系统10包括多协议标签交换(MPLS)传输网络12和用户网络14A、14B(“用户网络14”)。MPLS传输网络12表示在诸如用户网络14的网络之间传输数据包或其他数据单元的网络。MPLS传输网络12可以表示实施一个或多个MPLS协议(诸如资源预留协议(RSVP)或标签分发协议(LDP))以配置通过MPLS传输网络12的一个或多个标签交换路径(LSP)的服务提供商网络。这些LSP可以是用于两个或多个网络(诸如用户网络14)之间的通信的专用路径。用户网络14可以表示由商人、政府、组织或其它实体拥有并运营的私人网络。在该实例中,假设用户网络14均由同一实体拥有并运营,并且该实体与拥有并运营MPLS传输网络12的服务提供商签约,以经由MPLS传输网络12互连用户网络14。由于LSP通常只提供单向通信方式,因此为了促进互连,服务提供商的管理员可以配置MPLS传输网络12,以提供将用户网络14A互连到用户网络14B的第一 LSP 15A和将用户网络14B互连到用户网络14A的第二 LSP 15B。因此,为了提供用户网络14之间的双向通信,管理员配置MPLS传输网络12,以在用户网络14之间提供这些第一和第二 LSP 15A、15B(“LSP 15”),其中,LSP15A能够进行从用户网络14A到达用户网络14B的通信,并且LSP 15B能够进行从用户网络14B达到用户网络14A的通信。如图I的实例中进一步示出的,MPLS传输网络12包括标签边缘路由器(LER)16A、16B ( ( “LER 16”)以及标签交换路由器(LSR) 18A、18B( “LSR 18”)。在一些情况下,LER16与LSR 18基本相似之处在于同一类型的装置(例如,路由器)可以执行属于LER 16和LSR18两者的功能。通常,LER 16与LSR 18在操作上的不同通常在于LER 16执行称为“呼叫准入控制”的过程,以准入或拒绝源自LER 16的数据包流或其他流量进入LSP。通常,呼叫准入控制涉及标识与数据包相关联的五元组并确定该五元组是否与LSP 14中的任一个相关联,其中,该五元组包括源地址、源端口、目的地址、目的端口和协议。LSR 18通常不执行呼叫准入控制,而是经由该MPLS数据包已经被准入的一个相关联LSP切换MPLS数据包。通常,为了建立或形成LSP 16,每个LER 16和LSP 18都交换描述通过MPLS传输网络12的一个或多个路由的路由信息。在该实例中,LER16和LSR 18实施称为内部网关协议(IGP)的一种或多种路由协议。IGP通常是指用于在给定区域或所谓“自治系统”中交换路由信息的一种或一类路由协议。假设MPLS传输网络12表示单个自治系统,其可以指包括由在呈现出共同的、清楚定义的路由策略的一个或多个网络运行商的控制下路由前缀的连接互联网协议(IP)的集合的网络。IGP的实例包括中间系统到中间系统(IS-IS)路由协议和开放最短路径第一(OSPF)路由协议。IS-SI和OSPF路由协议均属于称为链路状态协议的一类路由协议。链路状态协议一般经由链路状态通告(LSA)来通告路由信息,其中,LSA在图I的实例中示出为LSA 20A-20H( “LSA 20”)。这些LSA 20包括标识MPLS传输网络12的任意两个路由器之间的链路的数据以及标识描述该链路的状态的各种指标的数据。例如,LSA 20可以包括定义与链路连接到的接口相关的接口成本或指标以及与该链路相关的链路成本或指标的数据、以及与链路相关联的颜色或管理组和通常用于根据链路状态协议选择通过网络的路径的任何其他约束。与链路相关的管理组(或“颜色”)可以提供管理员可以配置路径选择的方式。术语“路径选择”通常是指由各种协议实施用于解析路由信息(在该实例中,其经由LSA 20被通告)以选择通过网络的路径的算法。通常,LER 16和LSR 18交换LSA 20,LSA 20描述每个LER 16和LSR 18已被通知的链路(例如,通过直接连接到这些链路的方式或通过另一 LSA的方式)。然后LER 16和LSR 18形成反映MPLS传输网络12的拓扑的方式存储路由信息的图形或其它数据结构。即,LER 16和LSR 18可以形成图形数据结构,该图形数据结构具有图形的每个节点和互连图形的两个节点的每个指针或所谓的“边缘”,其中,图形的每个节点表示LER 16和LSR 18中不同的一个,每个指针或所谓的“边缘”表示对应的两个LER 16和LSR 18之间的不同链路。图形的每个指针或边缘可以与成本或反映经由LSA 20通告的每个相关联链路的成本的其它边缘值相关联。然后,LER16和LSR 18可以实施基本类似地(如果不同的话)路径选择算法,以确定数据包的每个源和目的地的通过网络的路径。在MPLS传输网络12的环境下,LER 16和LSR 18实施由一个MPLS协议定义的路径选择算法。通常,MPLS协议,特别是提供流量工程方面的那些MPLS协议,诸如基于流量工程扩展的RSVP (RSVP-TE),实施称为约束最短路径优先(CSPF)路径选择算法的路径选择算法。CSPF路径选择算法与通用最短路径优先(SPF)路径选择算法的不同在于,CSPF路径选择算法首先精简违反了给定的一组约束的链路。管理员可以配置每个LER 16和LSR 18,以定义一组约束,从而实现特定管理或网络目标,诸如避免具有一定高成本的链路,其可以通过避免高成本链路来实现延迟目标。在排除考虑这些链路之后,CSPF路径选择算法以与SPF路径选择算法的操作大致类似的方式选择路径,例如,通过找到从每个节点到每个其他节点的最低成本路径)。如上所述,CSPF路径选择算法考虑的一种约束涉及管理组,当这些组用颜色编码时,还可以将其称为“颜色”。通常,网络管理员用一种或多种颜色来配置链路,以完成更多主体路由或管理目标。例如,管理员可以为一个或多个链路分配颜色“红色”,并为另外的一个或多个链路分配颜色“蓝色”。然后管理员可以配置CSPF路径选择算法,以仅为一个用户选择与颜色“红色”相关的那些链路,并仅为另一用户使用与颜色“蓝色”相关的那些链路。这样,管理员可以配置由不同用户使用的链路组,以大致平衡这些链路上的负载。通常,管理员使用这些颜色来区分不能通过更客观的指标区分的链路。这样,链路状态通告的颜色或管理组字段能够确认什么可以视为路径选择的更主观指标或约束。网络成长和网络装置数量的增加具有超出了这些协议的开发者所想象的复杂管理。在一些情况下,这些协议可能不足以容纳(accommodate)大量的管理组,这可能通过限制如何进行路径选择而对更大网络的管理造成负担。为了说明,目前IS-IS和OSPF路由协议均提供了 32位字段,用于定义32个不同的管理组。在每个给定自治系统(其每个都定制到一个或多个一大组服务)有成百上千、或潜在地几十万用户的网络中,32个不同管理组可能不足以完成不同路由或管理任务,诸如为用户预留通过网络的某些链路。通常,这些管理组用于基于链路的带宽或延迟特性对链路编码或m编色。鉴于通过分组交换网络对这些各种用户提供的服务增加,寻求不同的链路特性来提供这些服务。由于支持每种服务(包括每类服务)的链路特性的各种不同组合,链路特性的不同组合的数量可能远远超出当前IS-IS和/或OSPF协议允许的管理组的数量。
并不是像诸如IS-IS和OSPF协议的内部网关协议(IGP)中常见的那样仅提供32个不同管理组,根据本公开中描述的技术,LER 16和LSR18可以将用于定义共享风险链路组(SRLG)的现有类型-长度-值(TLV)字段(或其至少一部分)改变用途,以便定义扩展的管理组。如在本公开中使用的术语“改变用途(repurpose)”指示可以将SRLG TLV的值的一部分改变用途,以定义一个或多个扩展管理组,并且不应理解为意味着将SRLG TLV的所有值都改变用途。因此,术语“改变用途”的使用旨在指示SRLG TLV字段已经被重新定义,以在某些情况下除了 SRLG之外还定义一个或多个扩展管理组,尽管在某些配置中,管理员可以将整个SRLG字段的所有值改变用途以定义扩展管理组,而不留任何值来定义SRLG。在任何情况下,通过将该SRLG TLV的至少一部分改变用途以便标识扩展管理组,管理员可以将LER 16和LSR 18配置为在本质上由IS-IS和OSPF协议支持的惯常的32个管理组的之外(outside)定义管理组,从而客服32个管理组的限制,而不会增加任何额外的TLV。在提供该扩展管理组时,相比于传统IPG,管理员可以用更精细的方式来使适合于(tailor)路径选择,这是因为,额外的管理组或“颜色”可以增加CSPF路径选择算法可以以此为基础进行路径选择的额外标准或指标。例如,LER 16A可以接收来自LSR 18A的通告链路(诸如LSA20B)的路由协议消息。LSA20B可以包括第一管理组字段,用于根据链路状态路由协议(例如,IS-IS或0SPF)存储使链路与一个或多个管理组相关的数据;第二字段,用于根据链路状态路由协议存储与链路相关联的第二共享资源链路组数据。即,链路状态路由协议可以指定包括称为TLV字段的LSA 20B的格式,其中,TLV字段的类型部分标识在TLV字段的值部分中指定的数据的类型,TLV字段的长度部分标识TLV字段的值部分的长度,并且在该情况下,TLV字段的值部分包括定义相关联指标的数据。在IS-IS路由协议中,管理组子TLV字段的类型部分被设置为三(3),以将该子TLV字段的值部分标识为定义管理组,而SRLG子TLV字段的类型部分被设置为138,以将该子TLV字段的值部分标识为定义SRLG。关于IS-IS管理组子TLV字段的更多信息可以在标题为 “IS-IS Extensions for Traffc Engineering” 的命令请求(RFC) 5305 中找到,其全部内容结合于此作为参考。关于IS-IS SRLG子TLV字段的更多信息可以在标题为“IS-ISExtensions in Support of Generalized Multi-Protocol Label Switching(GMPLS)StJRFC 5307中找到,其全部内容结合于此作为参考。在OSPF协议中,管理组子TLV字段的类型部分被设置为九(9),以将该子TLV字段的值部分标识为定义管理组,而SRLG子TLV字段的类型部分被设置为16,以将该子TLV字段的值部分标识为定义SRLG。关于OSPF管理组子TLV字段的更多信息可以在标题为“Traffic Engineering (TE) Extensions to OSPF version 2,,的 RFC 3630 中找到,其全部内容结合于此作为参考。关于OSPF SRLG子TLV字段的更多信息可以在标题为“0SPFExtensions in Support of Generalized Multi-Protocol Label Switching(GMPLS)StJRFC 4203中找到,其全部内容结合于此作为参考。
在该情况下,LER 16A接收包括两个子TLV (尽管事实上LSA本身可以表示TLV并且这些TLV因此可以表示子TLV,但是为了便于讨论,通常还可以称为TLV)的LSA 20B,该两个子TLV具有第一 TLV,包括指示该TLV的对应值部分标识与所通告的链路相关联的管理组的类型部分;第二 TLV,包括指示该TLV的对应值部分标识SRLG的类型部分。然而,根据这里描述的技术,LER 16和LSR 18可以配置为将SRLG TLV中表示的某个值范围看作定义了扩展管理组,该扩展管理组不同于能够由管理组TLV识别的管理组。该值范围可以由管理员配置。因此,在接收LSA 20B时,LER 16A首先确定是否已经为该LSA 20B将LSA 20B的SRLG TLV字段改变用途,以定义使该链路与一个或多个扩展管理组相关的数据,该一个或多个扩展管理组不同于通过存储到管理组TLV字段的数据与所通告的链路相关的一个或多个通告组。即,LER16A可以解析存储到SRLG TLV字段的值部分的值,并将该解析值与值的配置范围相比较,其中,该值的配置范围有效地为该LSA将该现有SRLGTLV改变用途,用于定义扩展管理组。如果解析值落入配置范围(假设其被配置用于说明目的),则LER 16A确定已经以与链路状态路由协议不一致的方式为该LSA将SRLG TLV字段改变用途,以标识扩展管理组而不是SRLG。如果解析值不落入配置范围,则LER 16A确定还没有为该LSA将SRLG TLV字段改变用途,而是标识与链路状态路由协议一致的SRLG。在确定已经为该LSA将该SRLG TLV字段改变用途之后,LER 16A可以更新其存储的路由信息,以将通告的链路与存储到SRLG TLV字段的值部分的数据相关联,其中,SRLGTLV字段的值部分使通告的链路与扩展的管理组相关联。然后,LER 16A可以执行路径选择,以基于更新的路由信息选择通过网络12的一个或多个路径。管理员可以将CSPF路径选择算法配置为以与当前考虑管理组的CSPF路径选择算法几乎相同的方式考虑这些额外或扩展管理组。即,CSPF路径选择算法可以精简或去除违反配置的一组约束的那些链路,其中,已经根据这里本文描述的技术对这些约束进行了扩充,以包括扩展管理组。通过这样扩展CSPF路径选择算法,管理员可以以更精细的方式将路径选择配置为不仅仅考虑该32个本地支持的管理组。一旦LER 16和LSR 18已经执行了路径选择,则每个LER 16和LSR18都可以通过它们相对应的通告LER 16和LSR 18中的一个传送与这些路径中的每个相关联的标签。通常,从终止LSP的一个LER 16 (即,在图I的实例中,LER 16B终止LSP 15A,而LER 16A终止LSP 15B)向上游的发起LSP的LER 16 (即,在图I的实例中,LER 16A发起LSP 15A,而LER 16B发起LSP 15B)通告标签。术语“上游”将流量的方向或流动比喻成流的方向或流动(考虑LSP像流一样是单向的),其中,在上下文中,上游是指与待配置的LSP上的流量流动相反发送的通信,而下游是指以待配置的LSP上的流量流动流动的流量。为了说明,考虑LSP 15A,其中LER 16B生成使LSP 15A的路径与从其标签空间分配的标签相关联的MPLS标签通告消息。术语“标签空间”可以指标识可以被分配给通过网络12的任意路径的标签的 表格或其他数据结构,其中,网络12通过维护该标签空间的装置(在该情况下,为LER16B)运行。LER 16B在选择用以建立LSP 15A的该路径时,然后可以将该路径与从其标签空间分配的标签相关联。然后LER 16B生成MPLS标签通告,并将该标签通告向上游传输到LSR 18A。LSR 18A接收该消息,从该消息解析相关性并更新其路由信息,以反映由LER 16B向LSP 15A分配的该标签。响应于该消息,LSR 18A将标签空间的标签分配到该路径,以进一步配置MPLS传输网络12内的LSP 15A。然后LSR 18A可以更新其路由信息,以将其分配标签与由LER 16B通告的标签相关联。然后LSR18A可以生成并传输其自身的MPLS标签通告消息,以通告其分配标签与LSP 15A的同样的解析路径的相关性(考虑LER 16和LSR 18中的每个都实施相同的路径选择算法)。LER16A接收该MPLS通告,解析相关性并更新其路由信息,以反映其标签的LSR 18A与LSP 15A的路径的相关性,从而配置从LER 16A到LER 16B的LSP 15A通过MPLS传输网络12。一旦进行了配置,LER 16A可以从用户网络14A接收目的地为用户网络14B的数据包。管理员可以已经将LER 16A配置为执行呼叫准入控制,使得准许源地址与位于用户网络14A内的装置相关联且目的地址与位于用户网络14B内的装置相关联的任意数据包接ALSP 15A。为了说明的目的,假设该数据包满足源地址和目的地址的标准,LER 16A然后可以将由LSR 18A为LSP 15A通告的标签与该数据包相关联。通常,LER 16A将所谓的“标签栈”附加到数据包,并将该标签推入栈,以创建通常所称的“MPLS数据包”。然后LER 16A将该数据包转发到LSR 18A,LSR 18A将标签从标签栈弹出,并将由LER 16B为LSP 15A通告的标签推入到该标签栈。然后LSP 18A将该更新的数据包转发到LER 16B,LER 16B接收该消息,弹出标签(有效地移除标签栈),并将原始数据包转发到用户网络14B。虽然上面将LSA描述为包括管理组TLV和SRLG TLV,但是,不论LSA是否包括管理组TLV都可以实现本技术。在一些情况下,管理员可以仅利用使用SRLG TLV的扩展管理组,而不利用由管理组TLV标识的任何管理组。因此,虽然为了说明目的在本公开中描述为包括管理组TLV和SRLG TLV,但是本技术不应限于该方面。图2是示出实施本公开中描述的技术的示例性路由器30的框图。路由器30可以表示图I的实例中示出的LER 16或LSR 18中的任一个。虽然就路由器30进行了描述,但是本技术可以由能够实施内部网关协议(IGP)(诸如IS-IS路由协议或OSPF路由协议)的任何其他类型的网络装置来实施。因此,虽然就路由器30进行了描述,但是本技术不应局限于就图2的实例描述的示例性路由器30。在图2的示例性实施方式中,路由器30包括分别经由网络链路34A-34N和36A-36N接收和发送诸如数据包流的数据单元的接口卡32A-32N (IFC 32)。路由器30可以包括具有用于收纳一组卡(包括IFC 32)的多个插槽的外壳(chassis)(未示出)。每个卡都可以插入到外壳的对应插槽中,用于经由高速交换机40和内部数据路径42A-42N (内部数据路径42 )将卡电耦合到路由引擎38。交换机40还提供了每个IFC 32之间的互连路径。例如,交换机40可以包括交换机结构、交换设备、可配置网络交换机或集线器、或其他高速交换机制。内部数据路径42可以包括任何形式的通信路径,诸如集成电路内的电气路径、外部数据总线、光学链路、网络连接、无线连接或其他通信路径。IFC 32可以经由多个物理接口端口(未示出)耦合到网络链路34A-34N和36A-36N。一般地,IFC 32可以每个都表示路由器30借以与网络链路(诸如图I的实例中示出的网络12的链路)交互的一个或多个网络接口。一般地,路由引擎38像路由器30的控制单元一样运行。路由引擎38可以包括一个或多个处理器、可编程处理器、通用处理器、集成电路、专用集成电路(ASIC)、场可编程门阵列(FPGA)或能够实施这里描述的技术的任意类型的硬件单元。路由引擎38可以进一步包括非暂时性计算机可读介质或其他计算机可读存储装置,其可以包括动态存储器(例如,随机存取存储器或RAM、动态RAM或DRAM、或缓存)和/或静态存储器(例如,静态RAM或SRAM、只读存储器或ROM、以及闪存存储器)、以及存储装置(诸如光盘ROM或CDR0M、硬盘驱动器、RAM驱动器、数字视频光盘(DVD)驱动器)。在一些情况下,计算机可读存储介质可以包括或存储当其被执行时使得可编程处理器执行这里描述的技术的指令。这些指令可以形成计算机程序,其可以包括软件或其他可执行文件。
路由引擎38可以进一步包括用户界面(UI)模块44 (Π模块44)、一个或多个内部路由协议模块46A-46N (内部路由协议模块46)以及MPLS协议模块48。UI模块44可以表示呈现用户界面的模块,诸如管理员39的管理员或其它用户可以与该用户界面进行交互,以配置一个或多个内部路由协议模块46、通常还有路由引擎38。如图2的实例所示,内部路由协议模块46可以包括OSPF模块46A、IS-IS模块46N以及任意其他内部路由协议。OSPF模块46A表示根据通过以上被引入作为参考的OSPF RFC来实施OSPF路由协议的模块。IS-IS模块46N表示根据通过以上被引入作为参考的IS-IS RFC来实施IS-IS路由协议的模块。MPLS协议模块48表示设施上述信令和路径管理协议(诸如上述LDP、上述RSVP(包括RSVP的流量工程方面,通常称为RSVP-TE)、或其他MPLS协议)的模块。路由引擎38可以进一步包括并维护反映网络拓扑的路由信息50。内部路由协议模块46可以更新路由信息50,或者存储指定网络链路的数据,包括诸如各种成本和其他指标的关于这些链路的特征。路由引擎38可以以一个或多个表、数据库、链路列表、根树、数据库、平面文件或任何其他数据结构的形式来维护路由信息50。基于路由信息50,路由引擎38生成用于IFC 32的转发信息52A-52N(转发信息52)。MPLS模块48还可以基于路由信息50来为IFC 32生成MPLS转发表54A-54N (“MPLS转发表54”),其中,MPLS转发表54使与输入MPLS数据包相关联的标签与下一跳相关联。MPLS转发表54每个都可以包括与输入标签(例如,位于附加到由IFC 32接收的数据包的标签栈顶部的标签)项(entry)以及相对于该输入标签要进行的操作或动作,诸如将新标签推入标签栈、将输入标签与与相对应的项相关联的标签互换、或者从标签栈弹出输入标签。每个IFC 32都包括转发部件(未示出),其根据由路由引擎38生成的转发信息52和MPLS转发表54转发数据包。特别地,IFC 32的转发组件基于转发信息52确定每个入站IP数据包(其与MPLS数据包的不同之处在于这些IP数据包不包括标签栈)的下一跳、识别与下一跳相关的对应的一个IFC 32、并经由交换机40和相应的数据路径42将数据包中继到适当的一个IFC 32。IFC 32可以进一步包括并维护用于转发MPLS数据包的MPLS转发表54。IFC 32可以接收MPLS数据包,识别标签栈中的顶部标签,基于该顶部标签在MPLS转发表42A中执行查找,然后基于该顶部标签执行与在MPLS转发表43A中执行查找时识别的项相关联的动作(可能涉及标签推入、标签交换、或标签弹出)。虽然以上描述为分立的模块44-48,但是可以合并这些模块形成单个模块或单元,或者可以作为不同硬件或软件单元分开地实施。参考各个模块并不意味着反映实际的独立操作,同一硬件或者硬件或软件的组合可以实施一个以上的模块。最初,管理员39可以与由UI模块44呈现的诸如命令行界面(CLI)或图形用户界面(⑶I)的用户界面交互,以配置一个或多个内部路由协议模块46。当配置这些协议46时,管理员39可以输入数据,指定将由一个或多个协议46生成的LSA 56的一个或多个字段的值的至少一部分改变用途,用于根据本公开中描述的技术定义扩展管理组。在根据本公开中描述的技术配置这些协议46时,管理员39可以指定SRLG TLV字段的值的范围,当指定时,SRLG TLV字段指的不是SRLG,而是参考扩展管理组。通常,管理员39以不与当前或拟在将来标识SLRG的任何值重叠的方式选择该范围。管理员39还可以与所呈现的或UI模块44的另一用户界面交互,以定义一个或多个扩展管理组,其又再次表示管理组一般不被 指定或者能够被LSA 56的管理组TLV识别。管理员39可以定义落入上述扩展管理组范围的标识符,然后将该标识符与颜色或其他名称或句柄相关联。在这样配置一个或多个协议46后,管理员39还可以与由Π模块44呈现的用户界面交互,以配置MPLS模块48。具体地,管理员39可以经由该用户界面输入配置数据,配置由MPLS模块48 (在图2的实例中示出为CSPF 58)执行的约束最短路径优先(CSPF)算法,以解析路由信息50,从而生成MPLS转发表54。配置CSPF 58的该配置数据可以指定,当解析路由信息50时,评估约束CSPF 58。这些约束可以包括扩展管理组中的一个或多个,扩展管理组可以用由管理员39为这些扩展管理组分配的标识符(例如,扩展组范围内的值)标识。管理员39因此可以将CSPF58配置为,当在选择最短路径之前精简路由信息50时考虑或评估或评定扩展管理组,其中,长度通常以与每条路径相关的成本来测量。管理员39还可以与用户界面交互,以输入使一个或多个链路与管理组和/或扩展管理组相关的链路数据、以及其他成本或指标。UI模块44可以将该链路数据存储到路由信息50作为新的项,或者可以基于输入的链路数据来更新路由信息50,以反映由该链路数据为对应的链路定义的新的指标或成本。在这样配置路由引擎38后,管理员39然后可以激活或使能路由器30开始处理数据包,包括根据转发信息52转发的标准IP数据包和根据MPLS转发表54转发的标签增强IP数据包(本文中称作“MPLS包”)。在接收这些数据包之前,一个或多个内部路由协议模块46可以生成LSA56,LSA 56包括指定一个或多个链路的数据、与该一个或多个链路相关联的成本以及与这些链路相关联的其他指标,诸如管理组或共享风险链路组(可以再次简写为“SRLG”)。例如,如果被配置为将SLRG TLV字段的值的一部分改变用途以指定扩展管理组,则OSPF模块46A可以生成LSA 56,以包括将本身支持的32个管理组中的一个与链路相关的管理组TLV字段,还包括指定扩展管理组的改变用途的SLRG TLV字段。通常,OSPF模块46A可以生成LSA 56,使得在将SLRG TLV字段改变用途时,其不包括管理组TLV字段,而是指定扩展管理组。在这些情况下,OSPF模块46A可以生成LSA 56,以包括改变用途的SLRG TLV字段,而不包括管理组TLV字段。无论如何,OSPF模块46A可以经由IFC 32使LSA 56在整个网络12泛洪。虽然参照OSPF模块46A进行了描述,但是当生成其自己的LSA 56时,IS-IS模块46N可以以与OSPF模块46A类似的方式运行,并且本技术在该方面不应局限于这里描述的实例。路由器30还可以经由IFC 32从其他LER或LSR (诸如,LER 16或LSR 18)接收LSA。IFC 32可以被配置为经由交换机40将路由协议数据包或控制数据包(诸如这些接收的LSA)转发到路由引擎38。然后内部路由协议模块46可以处理这些LSA,其中,这些LSA中的一个或多个可以包括被改变用途的SRLG TLV字段。这些路由协议模块46可以通过首先解析存储到SRLG TLV字段的值然后将该值与由管理员39配置的扩展管理组范围的相比较,确定是否已经对该LSA的任意给定SRLG TLV字段改变用途,以存储扩展管理组标识符,而不是SRLG标识符。如果该解析值包括在配置管理组范围内,则一个内部路由协议模块46可以确定已经为该LSA对SRLG TLV字段改变用途以存储扩展的管理组标识符,而不是SRLG标识符。如果该解析值不包括在配置管理组范围内,则一个内部路由协议模块46可以确定没有为该LSA将SRLG TLV字段改变用途以存储扩展管理组标识符,而是存储SRLG标识符。该一个内部路由协议模块46然后将链路(包括其成本和其他指标)存储到路由信息50。响应于更新路由信息50,MPLS模块48可以解析路由信息50或者 其部分(因为路由信息50可以被分成许多不同的路由实例,诸如MPLS流量工程路由实例、IP路由实例等),以生成一个或多个转发信息42和MPLS转发表54。响应于更新诸如RSVP-TE路由实例的MPLS路由实例,MPLS模块48可以调用CSPF 58,其根据由管理员39输入的配置数据解析其路由信息50的对应部分,以生成MPLS转发表54。然后MPLS模块48可以用最新解析的MPLS转发表54取代较旧的MPLS转发表54来配置或更新IFC 32。IFC 32可以根据转发信息52和MPLS转发表54,分别继续接收和转发IP数据包或MPLS或者有标签的数据包。图3A和图3B是示出在实施本公开描述的扩展管理组技术时,诸如图2的实例中示出的路由器30的网络装置的示例操作的流程图。开始,首先参照图3A中示出的示例操作,路由器30的UI模块44呈现出用户界面,管理员39与该用户界面交互,以输入配置扩展管理(“管理(admin)”)组的配置数据(70)。UI模块44接收配置扩展管理组的该配置数据(72)。UI模块44将该配置数据传递到一个或多个内部路由协议模块46,一个或多个内部协议模块46基于该接收到的配置数据配置各自的路由协议实施(74)。如上面提到的,该配置数据可以指定值的范围(a rang ofvalues),其定义存储到已经被改变用途以标识该LSA的扩展管理组而不是SRLG的SRLG TLV字段(或者任何其他定义的TLV字段)的值。这样,与RFC或可以定义接受或传统格式的LSA或路由消息的其他标准相比,该技术可以允许存储到SRLG TLV字段(或者与此有关的任何其他字段)的值的一部分被重写(override),以标识扩展管理组而不是SRLG。管理员39还可以输入配置数据,以配置MPLS模块48,并且更具体地,配置MPLS模块48的CSPF 58。UI模块44可以将该数据传递到MPLS模块48,MPLS模块48可以基于接收到的配置数据配置CSPF 58 (76)。管理员39可以进一步与由Π模块44呈现的用户界面交互,以输入链路数据,该链路数据将链路与成本或其它指标相关联,为了说明的目的,其它指标包括定义的扩展管理组(78 )。然后Π模块44可以基于该接收到的链路数据以上述方式更新路由信息50 (80)。响应于更新路由信息50 (或者,在一些实例中,周期性地),一个或多个内部路由协议模块46可以生成LSA 56,在该实例中,LSA 56通告由链路数据(其与扩展管理组相关)更新的链路,其中,由于链路与扩展管理组相关联,因此该LSA 56包括以与本公开中描述的方式标识相关联的扩展管理组的被改变用途的SLRGTLV字段(82)。然后这一个内部路由协议模块46通常可以通过将该LSA56广播到其他的LER 16和LSR 18来传输该LSA 56 (84)。'然后路由器30可以确定其是否已经从通告任何新链路(现有链路或被撤销的链路(例如,由于链路或LER/LSR故障)的更新)的其它LER 16和/或LSR 18接收到任何LSA
(86)。假设已经接收到至少一个LSA (86的“是”),则路由器30的路由引擎38可以调用适当的一个内部路由协议模块46,其解析接收的LSA,以识别通告链路和与该通告链路相关联的任何其他成本或指标(88)。接下来参考图3B的实例,当解析该接收的LSA时,一个内部路由协议模块46可以确定在接收的LSA中是否存在SRLG TLV或其他潜在的被重写或被改变用途的字段(90)。如果确定在LSA中存在该SRLG TLV (90的“是”),则该一个内部路由协议模块46确定存储到SRLG TLV的值,然后以上文描述的方式基于该值确定SRLGTLV字段是否已经被改变用途(92,94)。 例如,如果确定的值落入配置的扩展管理组范围,则一个内部路由协议模块46确定该SRLG TLV字段已经被改变用途,以识别扩展管理组,而不是SRLG (96的“是”)。可选地,如果所确定的值不包括在配置的扩展管理组范围内,则该一个内部路由协议模块46确定SRLG TLV字段没有被改变用途(96的“否”)。假设已经确定SRLG TLV字段被改变用途(96的“是”),则该一个内部路由协议模块46根据该解析的SPLG TLV值确定扩展管理组(98),并更新路由信息50来存储由接收的LSA通告的链路(包括存储成本和其他指标,诸如与该链路相关联的确定的扩展管理组)(100)。响应于更新路由信息50 (或者,在一些实例中,周期性地),然后MPLS模块48可以采用CSPF 58来解析路由信息50,以确定更新的MPLS转发表54,并用更新的MPLS转发表54来更新IFC 32 (102,104)。可选地,在一些实例中,MPLS模块48解析路由信息50,以确定对现有MPLS转发表54的更新,然后基于这些更新来更新现有MPLS转发表54,而不是用更新的表54来重写表54。然后IFC 32可以根据更新的MPLS转发表54来接收并转发MPLS数据包。在一个内部路由协议模块46没有确定SPRLG TLV存在于接收的LSA中(90的“否”)的情况下,或者在该一个内部理由协议模块46确定存在SRLG TLV (90的“是”)但是其未被改变用途(96的“否”)时,该一个内部路由协议模块46以惯常方式更新路由信息50,以存储由接收的LSA通告的链路(100)。在这些情况下,MPLS模块48可以解析路由信息50,以生成更新的MPLS转发表54,并用更新的MPLS转发表54来更新IFC 32 (102,104)。然后IFC 32根据表54继续接收和转发MPLS数据包(106)。在一些情况下,一个内部路由协议模块46可以不接收LSA (86的“否”),于是,MPLS模块48可以解析路由信息50,以确定转发表54 (假设用链路数据更新了路由信息50),并用这些表54更新IFC 32,于是,IFC32根据表54接收和转发MPLS数据包(102-106)。路由器30可以继续以这种方式操作,传输和接收LSA到更新的路由信息50、解析路由信息50以生成MPLS转发表54、用更新的表54更新IFC 32以及用IFC 32根据表54接收和转发MPLS数据包(82-106)。图4是示出示例性链路状态通告(LSA) 110的框图,LSA 110包括根据本公开中描述的技术潜在地被改变用途的字段。此外,如图4的实例所示,LSA 110可以遵循OSPF协议,因为其符合由OSPF协议指定的四字节宽度限制。即,如图4中所反映的,通过在LSA 110的顶部示出的每行的0-31比特范围,LSA 110包括一组四比特行。不透明OSPF LSA的格式的更多细节可以在RCE 5250中2008年7月的互联网工程任务组(IETE)中的找到,其结合于此作为参考。如图4所示,LSA 110包括LSA报头112。LSA报头112包括LSA年龄字段114A(“LSA年龄114A”)、选项字段114B (“选项114B”)、LS类型字段114C (“LS类型114C”)、分成不透明类型字段114D (“不透明类型114D”)和不透明ID字段114E (“不透明ID 114E”)的链路状态标识符字段、通告路由器字段114F (“通告路由器114F”)、链路状态序列号字段114G (“LS序列号114G”)、链路状态校验和字段114H (“LS校验和114H”)、以及长度字段1141 (“长度1141”)。虽然示出为包括字段114A-114I (“字段114”),但是LSA报头112可以包括图4中示出的或多或少的字段114。LS年龄字段114A通常按秒指定LSA 110的年龄,并用于在其各自的LS序列号字段114F中指定相同的LSA序列号的两个LSA之间进行区分。选项字段114B可以指定哪个可选功能与LSA 110相关联。LS类型字段114C指示LSA 110的格式和功能,S卩,LSA的类型。特别地,对于不透明LSA,LS类型字段114C可以标识LSA 110的分布的拓扑范围。例如,如果LS类型字段114C存储“9,与LSA报头112相关的LSA 110分布在链路本地范围, 则指示LSA 110将不泛洪超出本地(子)网络。可选地,如果LS类型字段114C存储“10”,LSA 110分布在本地区域的范围,则指示LSA将不泛洪超出其起始区域。一般地,LS类型字段114C可以是不透明LSA的范围9-11内的任何值,其中,值“ 11”指示LSA 110可以在整个自治系统泛洪。因此,LS类型字段114C可以指示LSA 110是否是区域内或区域间不透明 LSA。链路状态ID字段通常标识由LSA 110描述的路由域的一部分。对于诸如LSA 110的不透明LSA,不透明LSA的链路状态ID被分成不透明类型字段114D和不透明ID 114E。设置为“I”的不透明类型指示流量工程LSA。LSA 110通常可以包括设置为“I”的不透明类型字段114D,指示与流量工程相关联的不透明信息116。可选地,不透明类型字段114D可以设置为就指示不透明信息116存储其他类型的信息达成一致的任何其他值。不透明ID字段114E定义标识由LSA 110描述的路由域的一部分的唯一 ID。通告路由器字段114E可以指定LSA 110的发起者的OSPF路由器标识符。LS序列号字段114F可以包括OSPF模块用来检测旧的和重复的LSA的带符号的32位整数。LS校验和字段114G可以指示附带LSA报头112的LSA是否含有错误,这可以用于丢弃可能的错误LSA 110。长度字段114H指示LSA 110的长度。关于通用OSPF和OSPF LSA的报头的更多信息可以在标题为“TrafficEngineering (TE) Extensions to OSPF Version2”的 RFC3630 中找到,其全部内容结合于此作为参考,如同在其整体中阐述一样。不透明信息116包括两个或多个TLV,其中,为了说明的目的,仅示出了两个TLV118A和118B。TLV 118A表示管理组TLV,并且可以称为“管理组TLV 118A”。TLV 118B表示SLRG TLV,并且可以称为“SLRGTLV 118B”。考虑到LSA 110被指定为TLV本身,因此,TLV 118A、118B可以称为子TLV 118A、118B。管理组TLV 118A包括类型部分120A、长度部分120B以及管理组值部分120C。类似地,管理组TLV 118B包括类型部分122A、长度部分122B以及SRLG值部分122C。类型部分120A设置为九(9),以将该TLV 118A的值部分120C标识为标识管理组,而SRLG TLVl18B的类型部分122A设置为16,以将该TLV字段的值部分122C标识为标识SRLG。管理组TLV 118A的长度部分120B被设置为规定后面的管理组值120C的长度为4字节或32位。由于SRLG TLV 118B可以规定一个以上的4字节SRLG值122C部分,其中,每个4字节SRLG值部分122C可以使通告的链路与不同的SRLG相关,因此SRLG TLVl18B的长度部分122B可以设置为4字节或32位的任意倍数。LSA 110可以包括其他字段,并且当在LSA 110中未示出的其他TLV环境中参考时,上述各字段可以称为子TLV。例如,在管理组TLV 118A和报头112之间可以具有链路TLV。该链路TLV可以具有两种类型,并且相对于该链路TLV,管理组TLV 118A和SRLG TLV118可以称为子TLV118A、118B,为了易于说明的目的,没有示出。该链路TLV可以包括在图4的实例中未示出的其他子TLV。另外,虽然示出为包括管理组TLV 118A,但是LSA 110不需要包括管理组TLV 118A。该技术可以相对于SRLG TLVl 18B来实施,而不考虑LSA 110是否包括管理组TLV 118A。虽然以上相对于OSPF LSA 110进行了描述,但是除了对管理组TLV和SRLG TLV的类型定义了不同值,可以简写为LSP的IS-IS格式化链路状态协议数据单元(PDU)在构造上可以与OSPF LSA 110类似,这在上文中有详细描述。在上面引入的RFC 5305和5307中,可以找到IS-IS TLV的格式和一般构造。 已经描述了本技术的各方面。这些和其他方面在以下权利要求的范围内。
权利要求
1.一种方法,包括 利用网络装置接收通告链路的路由协议消息,其中,所述路由协议消息包括用于根据路由协议存储与所述链路相关联的第一数据的字段,其中,所述字段被所述路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的一种字段; 利用所述网络装置确定接收的所述路由协议消息的所述字段已经被改变用途以存储所述第一数据之外的第二数据,其中,所述第二数据为所述链路指定一个或多个扩展管理组,该一个或多个扩展管理组不同于将由所述管理组字段指定的一个或多个管理组;在确定所述字段已经被改变用途时,更新路由信息,以将所通告的链路与由所述第二数据指定的所述一个或多个扩展管理组相关联;以及 利用所述网络装置执行路径选择,以基于更新的所述路由信息选择一个或多个路径。
2.根据权利要求I所述的方法,进一步包括从用户接收配置数据,所述配置数据指定将被改变用途以指定所述第二数据的所述第一数据的值的范围, 其中,确定接收的所述协议消息的所述字段是否已经被改变用途以指定所述第二数据包括 确定所述字段是否存储了标识包括在由所述配置数据指定的所述值的范围内的值的所述第一数据;以及 基于所述字段存储了标识包括在由所述配置数据指定的所述值的范围内的值的所述第一数据的确定,确定接收的所述路由协议消息的所述字段已经被改变用途以指定将所述链路与所述一个或多个扩展管理组相关联的所述第二数据。
3.根据权利要求I所述的方法, 其中,所述管理组字段包括被所述路由协议定义为具有类型部分、长度部分和值部分的管理组类型-长度-值(TLV)字段,其中,所述管理组TLV字段的类型部分将由所述管理组TLV字段的所述值部分存储的所述第一数据标识为根据所述路由协议将所述通告的链路与所述一个或多个管理组相关联;以及 其中,所述字段包括由所述路由协议定义为具有类型部分、长度部分和值部分的共享风险链路组(SRLG) TLV字段,其中,SRLGTLV字段的所述类型部分将由所述SRLG TLV字段的所述值部分存储的所述第二数据标识为将所述通告的链路与SRLG相关联。
4.根据权利要求3所述的方法, 其中,所述路由协议包括开放最短路径优先(OSPF)路由协议, 其中,所述路由协议消息包括链路状态通告(LSA)、管理组TLV,以及其中,所述SRLG TLV字段的所述类型部分存储值16,以指示所述SRLG TLV字段的所述值部分根据OSPF路由协议将所述通告的链路与所述SRLG相关联。
5.根据权利要求3所述的方法, 其中,所述路由协议包括中间系统到中间系统(IS-IS)路由协议, 其中,所述路由协议消息包括链路状态协议数据单元、管理组TLV,以及其中,所述SRLG TLV字段的所述类型部分存储值138,以指示所述SRLG TLV字段的所述值部分根据所述IS-IS路由协议使所述通告的链路与所述SRLG相关联。
6.根据权利要求I所述的方法,进一步包括 从用户接收配置数据,所述配置数据指定将被改变用途以指定所述第二数据的所述第一数据的值的范围; 从用户接收链路数据,所述链路数据将至少一个所述扩展管理组与跟由接收的所述路由协议消息通告的链路不同的链路相关联,其中,所述通告的链路包括第一链路,跟所述通告的链路不同的链路包括第二链路; 生成路由协议消息以通告所述第二链路,其中,通告所述第二链路的所述路由协议消息包括改变用途的共享风险链路组(SRLG)字段,用于存储将所述链路与一个所述扩展管理组而不是一个或多个SRLG相关联的值的范围内的值,其中,所述SRLG字段不同于由所述路由协议定义的所述管理组字段;以及 传输所述路由协议消息,以向相邻的网络装置通告所述第二链路。
7.根据权利要求I所述的方法,其中,执行路径选择包括执行约束最短路径优先(CSPF)路径选择算法,以基于更新的所述路由信息选择所述一个或多个路径。
8.根据权利要求7所述的方法,进一步包括从用户接收配置数据,所述配置数据定义将路径选择约束为由所述CSPF路径选择算法执行的一个或多个约束, 其中,所述一个或多个约束包括所述一个或多个扩展管理组, 其中,更新的所述路由信息包括具有标识表示网络装置的节点和表示链路的边缘的图形数据结构; 其中,执行所述CSPF路径选择算法包括 基于所述约束精简所述图形数据结构,以生成精简的图形数据结构;以及 基于所述精简的图形数据结构选择所述一个或多个路径。
9.根据权利要求I所述的方法,其中,执行路径选择包括利用所述网络装置内执行的多协议标签交换(MPLS)协议模块执行路径选择以解析所述路由信息,从而生成至少一个MPLS转发表,其中,所述MPLS转发表包括每个都与不同的标签相关联的项,其中,每个项都定义将相对于具有标签栈的输入MPLS数据包执行的动作,所述标签栈包括与相对应的项相关联的标签,其中,所述动作包括以下的一个或多个将不同标签推入到所述标签栈上、用不同的标签与所述标签栈的所述标签交换以及从所述标签栈弹出所述标签。
10.根据权利要求I所述的方法,其中,所述网络装置包括标签交换路由器(LSR)或标签边缘路由器(LER)中的一个。
11.一种网络装置,包括 至少一个接口,接收通告链路的路由协议消息,其中,所述路由协议消息包括用于根据路由协议存储与所述链路相关联的第一数据的字段,其中,所述字段被所述路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的一种字段; 控制单元,确定接收的所述路由协议消息的所述字段已经被改变用途以存储所述第一数据之外的第二数据,其中,所述第二数据为所述链路指定一个或多个扩展管理组,所述一个或多个扩展管理组不同于将由所述管理组字段指定的一个或多个管理组,在确定所述字段已经被改变用途时,更新路由信息,以将通告的链路与由所述第二数据指定的所述一个或多个扩展管理组相关联,并执行路径选择,以基于更新的所述路由信息选择一个或多个路径。
12.根据权利要求11所述的网络装置,其中,所述控制单元进一步从用户接收配置数据,所述配置数据指定将被改变用途以指定所述第二数据的所述第一数据的值的范围,确定所述字段是否存储了标识包括在由所述配置数据指定的所述值的范围内的值的所述第一数据,并且基于所述字段存储了标识包括在由所述配置数据指定的所述值的范围内的值的所述第一数据的确定,确定接收的所述路由协议消息的所述字段已经被改变用途,以指定将所述链路与所述一个或多个扩展管理组相关联的所述第二数据。
13.根据权利要求11所述的网络装置, 其中,所述管理组字段包括被所述路由协议定义为具有类型部分、长度部分和值部分的管理组类型长度-值(TLV)字段,其中,所述管理组TLV字段的类型部分将由所述管理组TLV字段的所述值部分存储的所述第一数据标识为根据所述路由协议将所述通告的链路与所述一个或多个管理组相关联,以及 其中,所述字段包括由所述路由协议定义为具有类型部分、长度部分和值部分的共享风险链路组(SRLG) TLV字段,其中,SRLGTLV字段的所述类型部分将由所述SRLG TLV字段的所述值部分存储的所述第二数据标识为将所述通告的链路与SRLG相关联。
14.根据权利要求13所述的网络装置, 其中,所述路由协议包括开放最短路径优先(OSPF)路由协议, 其中,所述路由协议消息包括链路状态通告(LSA)、管理组TLV,以及 其中,所述SRLG TLV字段的所述类型部分存储值16,以指示所述SRLG TLV字段的所述值部分根据OSPF路由协议将所述通告的链路与所述SRLG相关联。
15.根据权利要求13所述的网络装置, 其中,所述路由协议包括中间系统到中间系统(IS-IS)路由协议, 其中,所述路由协议消息包括链路状态协议数据单元、管理组TLV,以及 其中,所述SRLG TLV字段的所述类型部分存储值138,以指示所述SRLG TLV字段的所述值部分根据所述IS-IS路由协议使所述通告的链路与所述SRLG相关联。
16.根据权利要求11所述的网络装置,其中,所述控制单元进一步从用户接收配置数据,所述配置数据指定将被改变用途以指定所述第二数据的所述第一数据的值的范围,从用户接收链路数据,所述链路数据将至少一个所述扩展管理组与跟由接收的所述路由协议消息所述通告的链路不同的链路相关联,其中,所述通告的链路包括第一链路,与所述通告的链路不同的链路包括第二链路,生成通告所述第二链路的路由协议消息,其中,通告所述第二链路的所述路由协议消息包括改变用途的共享风险链路组(SRLG)字段,用于存储将所述链路与一个所述扩展管理组而不是一个或多个SRLG相关联的值的范围内的值,其中,所述SRLG字段不同于由所述路由协议定义的所述管理组字段,以及 其中,所述至少一个接口传输所述路由协议消息,以向相邻的网络装置通告所述第二链路。
17.根据权利要求11所述的网络装置,其中,所述控制单元进一步执行约束最短路径优先(CSPF)路径选择算法,以基于更新的所述路由信息选择所述一个或多个路径。
18.根据权利要求17所述的网络装置,其中,所述控制单元从用户接收配置数据,所述配置数据定义将路径选择约束为由所述CSPF路径选择算法执行的一个或多个约束, 其中,所述一个或多个约束包括所述一个或多个扩展管理组, 其中,所述更新的所述路由信息包括具有表示网络装置的节点和表示链路的边缘的图形数据结构;以及其中,所述控制单元进一步基于所述约束精简所述图形数据结构,以生成精简的图形数据结构,以及基于所述精简的图形数据结构选择所述一个或多个路径。
19.根据权利要求11所述的网络装置,其中,所述控制单元进一步利用在所述网络装置内执行的多协议标签交换(MPLS)协议模块执行路径选择以解析所述路由信息,从而生成至少一个MPLS转发表,其中,所述MPLS转发表包括每个都与不同的标签相关联的项,其中,每个项都定义将相对于具有标签栈的输入MPLS数据包执行的动作,所述标签栈包括与相对应的项相关联的标签,其中,所述动作包括以下的一个或多个将不同标签推入到所述标签栈上、用不同的标签与所述标签栈的标签交换以及从所述标签栈弹出所述标签。
20.根据权利要求11所述的网络装置,其中,所述网络装置包括标签交换路由器(LSR)或标签边缘路由器(LER)中的一个。
21.—种网络系统,包括 两个或多个用户网络;以及 传输网络,包括多个路由器,其中,所述多个路由器中的至少两个将所述两个或多个用户网络耦接到所述传输网络, 其中,所述多个路由器中的第一个包括 至少一个接口,接收通告链路的路由协议消息,其中,所述路由协议消息包括用于根据路由协议存储与所述链路相关联的第一数据的字段,其中,所述字段被所述路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的一种字段; 控制单元,确定接收的所述路由协议消息的所述字段已经被改变用途以存储所述第一数据之外的第二数据,其中,所述第二数据为所述链路指定一个或多个扩展管理组,所述一个或多个扩展管理组不同于将由所述管理组字段指定的一个或多个管理组,在确定所述字段已经被改变用途时,更新路由信息,以将通告的链路与由所述第二数据指定的所述一个或多个扩展管理组相关联,并执行路径选择,以及基于更新的所述路由信息选择一个或多个路径。
全文摘要
本发明涉及在计算机网络中提供扩展管理组。大体上,描述了用于在网络中通过扩展管理组的技术。包括接口和控制单元的网络装置可以实施该技术。接口接收通告了链路的路由协议消息。根据路由协议,该消息包括用于存储与链路相关联的第一数据的字段。该字段被路由协议定义为与由同一路由协议定义的管理组字段具有不同功能的类型的字段。控制单元确定该字段已经被改变用途以存储第二数据,其中,该第二数据为所述链路指定了一个或多个扩展管理组,该一个或多个扩展管理组不同于将由管理组字段指定的那些管理组。控制单元然后更新路由信息,以将通告的链路与扩展管理组相关,并执行路径选择,以基于更新的路由信息选择路径。
文档编号H04L12/701GK102857413SQ20121022811
公开日2013年1月2日 申请日期2012年7月2日 优先权日2011年7月1日
发明者安布罗塞·孔, 尼沙尔·谢特, 翰内斯·格雷德勒, 尼丁·巴哈杜尔, 哈里什·西塔拉曼, 阿维尼什·萨奇德夫 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1