CN114448880A - 标签交换路径可扩展性 - Google Patents

标签交换路径可扩展性 Download PDF

Info

Publication number
CN114448880A
CN114448880A CN202111224345.1A CN202111224345A CN114448880A CN 114448880 A CN114448880 A CN 114448880A CN 202111224345 A CN202111224345 A CN 202111224345A CN 114448880 A CN114448880 A CN 114448880A
Authority
CN
China
Prior art keywords
label switched
sub
aggregated
equivalence class
forwarding equivalence
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.)
Pending
Application number
CN202111224345.1A
Other languages
English (en)
Inventor
P·K·杜塔
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.)
Nokia Solutions and Networks Oy
Original Assignee
Nokia Solutions and Networks Oy
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 Nokia Solutions and Networks Oy filed Critical Nokia Solutions and Networks Oy
Publication of CN114448880A publication Critical patent/CN114448880A/zh
Pending legal-status Critical Current

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/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • 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/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/22Alternate 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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/68Pseudowire emulation, e.g. IETF WG PWE3

Abstract

本文呈现了用于支持标签交换网络中的标签交换路径(LSP)的可扩展性的各种示例实施例。用于支持标签交换网络中的LSP的可扩展性的各种示例实施例可以被配置为支持多协议标签交换(MPLS)网络中的LSP的可扩展性。用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以被配置为支持各种FEC类型的LSP的可扩展性。用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以被配置为支持跨越多个路由域的基于前缀FEC的LSP的可扩展性。用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以被配置为支持用于各种FEC类型的LSP的可扩展性,其实现通过聚合FEC来聚合FEC的范围。用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以被配置为支持被实现为伪线(PW)的LSP的可扩展性。

Description

标签交换路径可扩展性
技术领域
各种示例实施例总体上涉及通信系统,并且更具体地但非排他地 涉及支持通信系统中的标签交换路径(LSP)的可扩展性。
背景技术
在许多通信网络中,可以使用各种通信技术来支持各种类型的通 信。
发明内容
在至少一些示例实施例中,一种装置包括至少一个处理器和包括 指令集的至少一个存储器,其中该指令集被配置为在由该至少一个处 理器执行时使该装置:基于在聚合标签交换路径的标签下方包括子标 签交换路径的转发等价类,支持分组在聚合标签交换路径的子标签交 换路径上的通信。在至少一些示例实施例中,为了支持分组的通信, 该指令集被配置为在由至少一个处理器执行时使该装置:由聚合标签 交换路径的出口路由器基于子标签交换路径的转发等价类,确定用于 分组的下一个标签交换路径。在至少一些示例实施例中,该指令集被 配置为在由至少一个处理器执行时使该装置:阻止由聚合标签交换路 径的出口路由器用信号发送子标签交换路径与聚合标签交换路径的 关联。在至少一些示例实施例中,该指令集被配置为在由至少一个处 理器执行时使该装置:由聚合标签交换路径的入口路由器形成子标签 交换路径与聚合标签交换路径的关联。在至少一些示例实施例中,子 标签交换路径与聚合标签交换路径的关联基于的是子标签交换路径 的转发等价类是聚合标签交换路径的转发等价类的子集。在至少一些 示例实施例中,子标签交换路径与聚合标签交换路径的关联基于的是 入口路由器处的策略。在至少一些示例实施例中,子标签交换路径基 于的是第一版本的互联网协议(IP)并且聚合标签交换路径基于的是 第二版本的IP,并且入口路由器处的策略被配置为将第一版本的IP 的第一IP前缀和第二版本的IP的第二IP前缀相关联。在至少一些示 例实施例中,子标签交换路径的转发等价类类型和聚合标签交换路径 的转发等价类类型是相同的。在至少一些示例实施例中,子标签交换 路径的转发等价类类型和聚合标签交换路径的转发等价类类型是前 缀转发等价类类型。在至少一些示例实施例中,子标签交换路径的转 发等价类是聚合标签交换路径的转发等价类的子集。在至少一些示例 实施例中,前缀转发等价类类型是互联网协议版本4(IPv4)前缀或 互联网协议版本6(IPv6)前缀。在至少一些示例实施例中,子标签 交换路径是单段伪线并且子标签交换路径的转发等价类是基于数字 PWid(伪线标识符)的转发等价类类型,并且聚合标签交换路径是单 段伪线并且聚合标签交换路径的转发等价类是基于PWid的转发等价 类类型。在至少一些示例实施例中,子标签交换路径是单段伪线并且 子标签交换路径的转发等价类是基于数字PWid的转发等价类类型, 并且聚合标签交换路径是多段伪线并且聚合标签交换路径的转发等 价类是PWid转发等价类类型。在至少一些示例实施例中,子标签交 换路径的转发等价类类型和聚合标签交换路径的转发等价类类型是 不同的。在至少一些示例实施例中,子标签交换路径是单段伪线并且 子标签交换路径的转发等价类是基于PWid的转发等价类类型,并且 聚合标签交换路径是多段伪线并且聚合标签交换路径的转发等价类 是基于{SAII,TAII}的转发等价类类型。在至少一些示例实施例中, 子标签交换路径是单段伪线并且子标签交换路径的转发等价类是基 于数字PWid的转发等价类类型,并且聚合标签交换路径是多段伪线 并且聚合标签交换路径的转发等价类是单段伪线转发等价类类型。在 至少一些示例实施例中,子标签交换路径是单段伪线并且子标签交换 路径的转发等价类是基于数字PWid的转发等价类类型,并且聚合标 签交换路径是多段伪线并且聚合标签交换路径的转发等价类是多段 伪线转发等价类类型。在至少一些示例实施例中,子标签交换路径和 聚合标签交换路径具有公共出口路由器。在至少一些示例实施例中, 聚合标签交换路径的出口路由器是路由域的边界路由器,并且聚合标 签交换路径的转发等价类类型是前缀转发等价类类型。在至少一些示 例实施例中,路由域是内部网关协议(IGP)区域或自治系统(AS)。 在至少一些示例实施例中,前缀转发等价类类型是对路由域的边界路 由器所汇总的互联网协议(IP)路由前缀进行编码的前缀转发等价类。 在至少一些示例实施例中,聚合标签交换路径的出口路由器是提供方 边缘路由器,并且聚合标签交换路径的转发等价类类型是单段伪线转 发等价类类型。在至少一些示例实施例中,聚合标签交换路径的出口 路由器是终端提供方边缘路由器,并且聚合标签交换路径的转发等价 类类型是多段伪线转发等价类类型。在至少一些示例实施例中,该指令集被配置为在由至少一个处理器执行时使该装置:由入口路由器在 该聚合标签交换路径的出口路由器处验证子标签交换路径的有效性。 在至少一些示例实施例中,基于至少一个连接性消息从聚合标签交换 路径的入口路由器发送到聚合标签交换路径的出口路由器,子标签交 换路径的有效性在聚合标签交换路径的出口路由器处被验证。在至少 一些示例实施例中,该指令集被配置为在由至少一个处理器执行时使 该装置:由聚合标签交换路径的出口路由器用信号发送聚合标签交换 路径的有效子标签交换路径集合的指示。在至少一些示例实施例中, 为了用信号发送聚合标签交换路径的有效子标签交换路径集合的指 示,该指令集被配置为在由至少一个处理器执行时使该装置:由聚合 标签交换路径的出口路由器在聚合标签交换路径的标签映射消息内 包括比特串,该比特串包括与聚合标签交换路径的相应子标签交换路 径集合相关联的比特位置集合。在至少一些示例实施例中,子标签交 换路径的转发等价类是数字PWid转发等价类类型,并且聚合标签交 换路径的转发等价类类型是单段伪线转发等价类类型,并且子标签交 换路径在比特串中的比特位置是子标签交换路径的PWid。在至少一 些示例实施例中,子标签交换路径的转发等价类是数字PWid转发等 价类类型,并且聚合标签交换路径的转发等价类类型是多段伪线转发 等价类类型,并且子标签交换路径在比特串中的比特位置是子标签交 换路径的PWid。在至少一些示例实施例中,子标签交换路径的转发 等价类是聚合标签交换路径的前缀转发等价类内的互联网协议(IP) 主机地址,并且子标签交换路径在比特串中的比特位置是在聚合标签 交换路径的前缀转发等价类中的IP主机地址的偏移量。在至少一些 示例实施例中,一种装置包括至少一个处理器和包括指令集的至少一 个存储器,其中该指令集被配置为在由该至少一个处理器执行时使该 装置:基于在标签交换路径的标签下方包括子标签交换路径的转发等 价类,支持分组在标签交换路径的子标签交换路径上的通信。
在至少一些示例实施例中,一种非瞬态计算机可读介质存储指令 集,该指令被配置为使装置:基于在聚合标签交换路径的标签下方包 括子标签交换路径的转发等价类,支持分组在聚合标签交换路径的子 标签交换路径上的通信。在至少一些示例实施例中,为了支持分组的 通信,该指令集被配置为使该装置:由聚合标签交换路径的出口路由 器基于子标签交换路径的转发等价类,确定用于分组的下一个标签交 换路径。在至少一些示例实施例中,该指令集被配置为使该装置:阻 止由聚合标签交换路径的出口路由器用信号发送子标签交换路径与 聚合标签交换路径的关联。在至少一些示例实施例中,该指令集被配置为使该装置:由聚合标签交换路径的入口路由器形成子标签交换路 径与聚合标签交换路径的关联。在至少一些示例实施例中,子标签交 换路径与聚合标签交换路径的关联基于子标签交换路径的转发等价 类是聚合标签交换路径的转发等价类的子集。在至少一些示例实施例 中,子标签交换路径与聚合标签交换路径的关联基于入口路由器处的 策略。在至少一些示例实施例中,子标签交换路径基于第一版本的互 联网协议(IP)并且聚合标签交换路径基于第二版本的IP,并且入口 路由器处的策略被配置为将第一版本的IP的第一IP前缀和第二版本 的IP的第二IP前缀相关联。在至少一些示例实施例中,子标签交换 路径的转发等价类类型和聚合标签交换路径的转发等价类类型相同。 在至少一些示例实施例中,子标签交换路径的转发等价类类型和聚合 标签交换路径的转发等价类类型是前缀转发等价类类型。在至少一些 示例实施例中,子标签交换路径的转发等价类是聚合标签交换路径的 转发等价类的子集。在至少一些示例实施例中,前缀转发等价类类型 是互联网协议版本4(IPv4)前缀或互联网协议版本6(IPv6)前缀。 在至少一些示例实施例中,子标签交换路径是单段伪线并且子标签交 换路径的转发等价类是基于数字PWid的转发等价类类型,并且聚合 标签交换路径是单段伪线并且聚合标签交换路径的转发等价类是基 于PWid的转发等价类类型。在至少一些示例实施例中,子标签交换 路径是单段伪线并且子标签交换路径的转发等价类是基于数字PWid 的转发等价类类型,并且聚合标签交换路径是多段伪线并且聚合标签 交换路径的转发等价类是PWid转发等价类类型。在至少一些示例实 施例中,子标签交换路径的转发等价类类型和聚合标签交换路径的转 发等价类类型不同。在至少一些示例实施例中,子标签交换路径是单 段伪线并且子标签交换路径的转发等价类是基于PWid的转发等价类 类型,其中聚合标签交换路径是多段伪线并且聚合标签交换路径的转 发等价类是基于{SAII,TAII}的转发等价类类型。在至少一些示例实 施例中,子标签交换路径是单段伪线并且子标签交换路径的转发等价 类是基于数字PWid的转发等价类类型,并且聚合标签交换路径是多 段伪线并且聚合标签交换路径的转发等价类是单段伪线转发等价类 类型。在至少一些示例实施例中,子标签交换路径是单段伪线并且子 标签交换路径的转发等价类是基于数字PWid的转发等价类类型,并 且聚合标签交换路径是多段伪线并且聚合标签交换路径的转发等价 类是多段伪线转发等价类类型。在至少一些示例实施例中,子标签交 换路径和聚合标签交换路径具有公共出口路由器。在至少一些示例实 施例中,聚合标签交换路径的出口路由器是路由域的边界路由器,并 且聚合标签交换路径的转发等价类类型是前缀转发等价类类型。在至 少一些示例实施例中,路由域是内部网关协议(IGP)区域或自治系 统(AS)。在至少一些示例实施例中,前缀转发等价类类型是对路由 域的边界路由器所汇总的互联网协议(IP)路由前缀进行编码的前缀 转发等价类。在至少一些示例实施例中,聚合标签交换路径的出口路 由器是提供方边缘路由器,并且聚合标签交换路径的转发等价类类型 是单段伪线转发等价类类型。在至少一些示例实施例中,聚合标签交 换路径的出口路由器是终端提供方边缘路由器,并且聚合标签交换路 径的转发等价类类型是多段伪线转发等价类类型。在至少一些示例实 施例中,该指令集被配置为使该装置:由入口路由器在聚合标签交换 路径的出口路由器处验证子标签交换路径的有效性。在至少一些示例 实施例中,基于至少一个连接性消息从聚合标签交换路径的入口路由 器发送到聚合标签交换路径的出口路由器,在聚合标签交换路径的出 口路由器处验证子标签交换路径的有效性。在至少一些示例实施例 中,该指令集被配置为使该装置:由聚合标签交换路径的出口路由器 用信号发送聚合标签交换路径的有效子标签交换路径集合的指示。在 至少一些示例实施例中,为了用信号发送聚合标签交换路径的有效子 标签交换路径集的指示,指令集被配置为使装置:由聚合标签交换路 径的出口路由器在聚合标签交换路径的标签映射消息内包括比特串, 该比特串包括与聚合标签交换路径的相应子标签交换路径集合相关 联的比特位置集合。在至少一些示例实施例中,子标签交换路径的转 发等价类是数字PWid转发等价类类型,并且聚合标签交换路径的转 发等价类类型是单段伪线转发等价类类型,并且子标签交换路径在比 特串中的比特位置是子标签交换路径的PWid。在至少一些示例实施 例中,子标签交换路径的转发等价类是数字PWid转发等价类类型, 并且聚合标签交换路径的转发等价类类型是多段伪线转发等价类类 型,并且子标签交换路径在比特串中的比特位置是子标签交换路径的 PWid。在至少一些示例实施例中,子标签交换路径的转发等价类是聚 合标签交换路径的前缀转发等价类内的互联网协议(IP)主机地址, 并且子标签交换路径在比特串中的比特位置是在聚合标签交换路径 的前缀转发等价类中的IP主机地址的偏移量。在至少一些示例实施 例中,一种非瞬态计算机可读介质存储指令集,该指令集被配置为: 基于在标签交换路径的标签下方包括子标签交换路径的转发等价类, 支持分组在标签交换路径的子标签交换路径上的通信。
在至少一些示例实施例中,一种方法,包括基于在聚合标签交换 路径的标签下方包括子标签交换路径的转发等价类来支持分组在聚 合标签交换路径的子标签交换路径上的通信。在至少一些示例实施例 中,支持分组的通信包括:由聚合标签交换路径的出口路由器基于子 标签交换路径的转发等价类,确定用于分组的下一个标签交换路径。 在至少一些示例实施例中,该方法包括:阻止由聚合标签交换路径的 出口路由器用信号发送子标签交换路径与聚合标签交换路径的关联。 在至少一些示例实施例中,该方法包括:由聚合标签交换路径的入口 路由器形成子标签交换路径与聚合标签交换路径的关联。在至少一些 示例实施例中,子标签交换路径与聚合标签交换路径的关联基于子标 签交换路径的转发等价类是聚合标签交换路径的转发等价类的子集。 在至少一些示例实施例中,子标签交换路径与聚合标签交换路径的关 联基于入口路由器处的策略。在至少一些示例实施例中,子标签交换 路径基于第一版本的互联网协议(IP)并且聚合标签交换路径基于第 二版本的IP,并且入口路由器处的策略被配置为将第一版本的IP的 第一IP前缀和第二版本的IP的第二IP前缀相关联。在至少一些示例 实施例中,子标签交换路径的转发等价类类型和聚合标签交换路径的 转发等价类类型相同。在至少一些示例实施例中,子标签交换路径的转发等价类类型和聚合标签交换路径的转发等价类类型是前缀转发 等价类类型。在至少一些示例实施例中,子标签交换路径的转发等价 类是聚合标签交换路径的转发等价类的子集。在至少一些示例实施例 中,前缀转发等价类类型是互联网协议版本4(IPv4)前缀或互联网 协议版本6(IPv6)前缀。在至少一些示例实施例中,子标签交换路 径是单段伪线并且子标签交换路径的转发等价类是基于数字PWid的 转发等价类类型,并且聚合标签交换路径是单段伪线并且聚合标签交 换路径的转发等价类是基于PWid的转发等价类类型。在至少一些示 例实施例中,子标签交换路径是单段伪线并且子标签交换路径的转发 等价类是基于数字PWid的转发等价类类型,并且聚合标签交换路径 是多段伪线并且聚合标签交换路径的转发等价类是PWid转发等价类 类型。在至少一些示例实施例中,子标签交换路径的转发等价类类型 和聚合标签交换路径的转发等价类类型不同。在至少一些示例实施例中,子标签交换路径是单段伪线并且子标签交换路径的转发等价类是 基于PWid的转发等价类类型,并且聚合标签交换路径是多段伪线并 且聚合标签交换路径的转发等价类是基于{SAII,TAII}的转发等价类 类型。在至少一些示例实施例中,子标签交换路径是单段伪线并且子 标签交换路径的转发等价类是基于数字PWid的转发等价类类型,并 且聚合标签交换路径是多段伪线并且聚合标签交换路径的转发等价 类是单段伪线转发等价类类型。在至少一些示例实施例中,子标签交 换路径是单段伪线并且子标签交换路径的转发等价类是基于数字 PWid的转发等价类类型,并且聚合标签交换路径是多段伪线并且聚 合标签交换路径的转发等价类是多段伪线转发等价类类型。在至少一 些示例实施例中,子标签交换路径和聚合标签交换路径具有公共出口 路由器。在至少一些示例实施例中,聚合标签交换路径的出口路由器 是路由域的边界路由器,并且聚合标签交换路径的转发等价类类型是 前缀转发等价类类型。在至少一些示例实施例中,路由域是内部网关 协议(IGP)区域或自治系统(AS)。在至少一些示例实施例中,前 缀转发等价类类型是对路由域的边界路由器所汇总的互联网协议 (IP)路由前缀进行编码的前缀转发等价类。在至少一些示例实施例中,聚合标签交换路径的出口路由器是提供方边缘路由器,并且聚合 标签交换路径的转发等价类类型是单段伪线转发等价类类型。在至少 一些示例实施例中,聚合标签交换路径的出口路由器是终端提供方边 缘路由器,并且聚合标签交换路径的转发等价类类型是多段伪线转发 等价类类型。在至少一些示例实施例中,该方法包括:由入口路由器 在聚合标签交换路径的出口路由器处验证子标签交换路径的有效性。 在至少一些示例实施例中,基于至少一个连接性消息从聚合标签交换 路径的入口路由器发送到聚合标签交换路径的出口路由器,子标签交 换路径的有效性在聚合标签交换路径的出口路由器处被验证。在至少一些示例实施例中,该方法包括由聚合标签交换路径的出口路由器用 信号发送聚合标签交换路径的有效子标签交换路径集合的指示。在至 少一些示例实施例中,用信号发送聚合标签交换路径的有效子标签交 换路径集合的指示包括由聚合标签交换路径的出口路由器在聚合标 签交换路径的标签映射消息内包括比特串,该比特串包括与聚合标签 交换路径的相应子标签交换路径集合相关联的比特位置集合。在至少 一些示例实施例中,子标签交换路径的转发等价类是数字PWid转发 等价类类型,并且聚合标签交换路径的转发等价类类型是单段伪线转 发等价类类型,并且子标签交换路径在比特串中的比特位置是子标签交换路径的PWid。在至少一些示例实施例中,子标签交换路径的转 发等价类是数字PWid转发等价类类型,并且聚合标签交换路径的转 发等价类类型是多段伪线转发等价类类型,并且子标签交换路径在比 特串中的比特位置是子标签交换路径的PWid。在至少一些示例实施 例中,子标签交换路径的转发等价类是聚合标签交换路径的前缀转发 等价类内的互联网协议(IP)主机地址,并且子标签交换路径在比特 串中的比特位置是在聚合标签交换路径的前缀转发等价类中的IP主 机地址的偏移量。在至少一些示例实施例中,一种方法包括:基于在 标签交换路径的标签下方包括子标签交换路径的转发等价类来支持 分组在标签交换路径的子标签交换路径上的通信。
在至少一些示例实施例中,一种装置包括用于基于在聚合标签交 换路径的标签下方包括子标签交换路径的转发等价类来支持分组在 聚合标签交换路径的子标签交换路径上的通信的部件。在至少一些示 例实施例中,用于支持分组的通信的部件包括用于由聚合标签交换路 径的出口路由器基于子标签交换路径的转发等价类来确定用于分组 的下一个标签交换路径的部件。在至少一些示例实施例中,该装置包 括用于阻止由聚合标签交换路径的出口路由器用信号发送子标签交 换路径与聚合标签交换路径的关联的部件。在至少一些示例实施例 中,该阻止包括用于由聚合标签交换路径的入口路由器形成子标签交 换路径与聚合标签交换路径的关联的部件。在至少一些示例实施例 中,子标签交换路径与聚合标签交换路径的关联基于子标签交换路径 的转发等价类是聚合标签交换路径的转发等价类的子集。在至少一些 示例实施例中,子标签交换路径与聚合标签交换路径的关联基于入口 路由器处的策略。在至少一些示例实施例中,子标签交换路径基于第 一版本的互联网协议(IP)并且聚合标签交换路径基于第二版本的IP, 并且入口路由器处的策略被配置为将第一版本的IP的第一IP前缀和 第二版本的IP的第二IP前缀相关联。在至少一些示例实施例中,子 标签交换路径的转发等价类类型和聚合标签交换路径的转发等价类类型相同。在至少一些示例实施例中,子标签交换路径的转发等价类 类型和聚合标签交换路径的转发等价类类型是前缀转发等价类类型。 在至少一些示例实施例中,子标签交换路径的转发等价类是聚合标签 交换路径的转发等价类的子集。在至少一些示例实施例中,前缀转发 等价类类型是互联网协议版本4(IPv4)前缀或互联网协议版本6 (IPv6)前缀。在至少一些示例实施例中,子标签交换路径是单段伪 线并且子标签交换路径的转发等价类是基于数字PWid的转发等价类 类型,并且聚合标签交换路径是单段伪线并且聚合标签交换路径的转 发等价类是基于PWid的转发等价类类型。在至少一些示例实施例中, 子标签交换路径是单段伪线并且子标签交换路径的转发等价类是基 于数字PWid的转发等价类类型,并且聚合标签交换路径是多段伪线 并且聚合标签交换路径的转发等价类是PWid转发等价类类型。在至 少一些示例实施例中,子标签交换路径的转发等价类类型和聚合标签交换路径的转发等价类类型不同。在至少一些示例实施例中,子标签 交换路径是单段伪线并且子标签交换路径的转发等价类是基于PWid 的转发等价类类型,并且聚合标签交换路径是多段伪线并且聚合标签 交换路径的转发等价类是基于{SAII,TAII}的转发等价类类型。在至 少一些示例实施例中,子标签交换路径是单段伪线并且子标签交换路 径的转发等价类是基于数字PWid的转发等价类类型,并且聚合标签 交换路径是多段伪线并且聚合标签交换路径的转发等价类是单段伪 线转发等价类类型。在至少一些示例实施例中,子标签交换路径是单 段伪线并且子标签交换路径的转发等价类是基于数字PWid的转发等 价类类型,并且聚合标签交换路径是多段伪线并且聚合标签交换路径 的转发等价类是多段伪线转发等价类类型。在至少一些示例实施例 中,子标签交换路径和聚合标签交换路径具有公共出口路由器。在至 少一些示例实施例中,聚合标签交换路径的出口路由器是路由域的边 界路由器,并且聚合标签交换路径的转发等价类类型是前缀转发等价 类类型。在至少一些示例实施例中,路由域是内部网关协议(IGP) 区域或自治系统(AS)。在至少一些示例实施例中,前缀转发等价类 类型是对路由域的边界路由器所汇总的互联网协议(IP)路由前缀进 行编码的前缀转发等价类。在至少一些示例实施例中,聚合标签交换 路径的出口路由器是提供方边缘路由器,并且聚合标签交换路径的转 发等价类类型是单段伪线转发等价类类型。在至少一些示例实施例 中,聚合标签交换路径的出口路由器是终端提供方边缘路由器,并且 聚合标签交换路径的转发等价类类型是多段伪线转发等价类类型。在至少一些示例实施例中,该装置包括用于由入口路由器在聚合标签交 换路径的出口路由器处验证子标签交换路径的有效性的部件。在至少 一些示例实施例中,基于至少一个连接性消息从聚合标签交换路径的 入口路由器发送到聚合标签交换路径的出口路由器,子标签交换路径 的有效性在聚合标签交换路径的出口路由器处被验证。在至少一些示 例实施例中,该装置包括用于由聚合标签交换路径的出口路由器用信 号发送聚合标签交换路径的有效子标签交换路径集合的指示的部件。 在至少一些示例实施例中,用于用信号发送聚合标签交换路径的有效 子标签交换路径集合的指示的部件包括:由聚合标签交换路径的出口 路由器在聚合标签的标签映射消息内包括比特串,该比特串包括与聚 合标签交换路径的相应子标签交换路径集合相关联的比特位置集合。 在至少一些示例实施例中,子标签交换路径的转发等价类是数字 PWid转发等价类类型,并且聚合标签交换路径的转发等价类类型是 单段伪线转发等价类类型,并且子标签交换路径在比特串中的比特位 置是子标签交换路径的PWid。在至少一些示例实施例中,子标签交 换路径的转发等价类是数字PWid转发等价类类型,并且聚合标签交 换路径的转发等价类类型是多段伪线转发等价类类型,并且子标签交 换路径在比特串中的比特位置是子标签交换路径的PWid。在至少一 些示例实施例中,子标签交换路径的转发等价类是聚合标签交换路径 的前缀转发等价类内的互联网协议(IP)主机地址,并且子标签交换 路径在比特串中的比特位置是在聚合标签交换路径的前缀转发等价 类中的IP主机地址的偏移量。在至少一些示例实施例中,一种装置包括用于基于在标签交换路径的标签下方包括子标签交换路径的转 发等价类来支持分组在标签交换路径的子标签交换路径上的通信的 部件。
附图说明
通过结合附图考虑以下详细描述,可以容易地理解本文的教导, 其中:
图1描绘了被配置为支持LSP的可扩展性的通信系统的示例实施 例;
图2A-图2D描绘了图1的通信系统的几个选定路由器的IP路由 表的示例实施例;
图3A-图3D描绘了由图1的通信系统的路由器维护的ILM和 FTN表的示例实施例;
图4描绘了被配置为支持LSP的可扩展性的通信系统的示例实施 例;
图5A-图5D描绘了图4的通信系统的几个选定路由器的ILM和 FTN表的示例实施例;
图6A-图6B描绘了图4的通信系统的几个选定路由器的ILM和 FTN表的示例实施例,包括子LSP ILM表;
图7描绘了用于图示使用SS-PW的LSP的可扩展性的SS-PW的 示例实施例;
图8A-图8B描绘了由图7的SS-PW的PW端点维护的ILM表、 FTN表和PWid表;
图9描绘了用于图示使用聚合SS-PW的LSP的可扩展性的聚合 SS-PW的示例实施例;
图10A-图10B描绘了由图9的聚合SS-PW的PW端点维护的ILM 表、FTN表和PWid表;
图11描绘了用于图示使用动态聚合MS-PW的LSP的可扩展性 的动态MS-PW的示例实施例;
图12描绘了分组的示例实施例,用于图示通过聚合LSP上的子 LSP传送的分组的分组编码;
图13描绘了用于图示子LSP的FEC的格式的子LSP的FEC的 示例实施例;
图14描绘了用于图示前缀FEC子LSP的格式的前缀FEC子LSP 的示例实施例;
图15描绘了用于图示PWid FEC子LSP的格式的PWid FEC子 LSP的示例实施例;
图16描绘了用于图示范围在聚合内(Range-in-Aggregate)FEC 子LSP的格式的聚合范围内FEC子LSP的示例实施例;
图17描绘了由聚合LSP的入口路由器使用以用于在聚合LSP上 发送分组的方法的示例实施例;
图18描绘了由聚合LSP的出口路由器使用以用于处理MPLS分 组的方法的示例实施例;
图19描绘了用于处理在聚合LSP上终止的分组的方法的示例实 施例;
图20描绘了用于在聚合LSP的上下文中处理在子LSP上接收到 的分组的方法的示例实施例;
图21描绘了用于在子LSP FEC上转发分组的方法的示例实施例;
图22描绘了当FEC是Prefix类型时用于在子LSP上转发分组的 方法的示例实施例;
图23描绘了当FEC是PWid类型时用于在子LSP上转发分组的 方法的示例实施例;
图24描绘了用于支持LSP的可扩展性的方法的示例实施例;和
图25描绘了适合用于在执行本文呈现的各种功能时使用的计算 机的示例实施例。
为便于理解,在本文中尽可能使用相同的附图标记,以便指明不 同附图之中共有的相同元件。
具体实施方式
本文呈现了用于支持标签交换网络中的标签交换路径(LSP)的 可扩展性的各种示例实施例。
用于支持标签交换网络中的LSP的可扩展性的各种示例实施例 可以被配置为支持多协议标签交换(MPLS)网络中的LSP的可扩展 性。在MPLS中,转发等价类别(FEC)是LSP的标识符,它描述了 通过LSP发送的分组的类别。前缀FEC通过IP前缀来识别MPLS LSP,诸如IPv4前缀(例如,10.10.2.0/24、10.10.2.7/32等)、IPv6 前缀(例如,2001:db8:3c4d:15::/64等),等等。前缀FEC 10.10.2.0/24 意味着到10.10.2.1-10.10.2.254范围内所有目的地的分组都通过LSP 来传送。前缀FEC 10.10.2.7/32意味着到目的地主机10.10.2.7的分组 仅在LSP上发送。通常,由前缀FEC LSP所穿越的路径是其跨越路 由域的最佳匹配IP路由的路径,其中该IP路由的路径可以由诸如 IGP、BGP等之类的路由协议来确定。在这里,“最佳匹配”可能意 味着IP路由表中的IP路由是针对前缀FEC的最长前缀匹配(LPM)。前缀FEC是FEC的经典示例之一,其可以按其值范围来聚合。例如, IPv4地址范围10.10.2.1/32-10.10.2.254/32中的所有前缀FEC可以通 过单个前缀FEC 10.10.2.0/24来聚合。需要注意的是,用于分发标签 映射并建立前缀FEC LSP的MPLS控制协议包括标签分发协议 (LDP)、边界网关协议(BGP)、分段路由(SR)等。在SR中, 内部网关协议(IGP)——诸如开放最短路径优先(OSPF)、OSPF 版本3(OSPFv3)、中间系统到中间系统(IS-IS)等——也可以被使 用作为用于标签分发的控制协议(例如,IGP向IP前缀的每个链路状 态通告指派一个标签)。
用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以 被配置为支持各种FEC类型的LSP的可扩展性。用于支持MPLS网 络中的LSP的可扩展性的各种示例实施例可以被配置为支持跨越多 个路由域的基于前缀FEC的LSP的可扩展性。在这里,路由域可以是自治系统(AS)内的IGP区域、AS等。如上所指示,IGP包括OSPF、 OSPFv3、IS-IS等,并且AS间路由协议包括BGP。用于支持LSP的 可扩展性的各种示例实施例可能不知道被用于建立域间LSP的MPLS 控制协议。用于支持MPLS网络中的LSP的可扩展性的各种示例实 施例可以被配置为支持用于各种FEC类型的LSP的可扩展性,这使 得能够通过聚合FEC来聚合FEC的范围。
用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以 被配置为支持被实现为伪线(pseudowire-PW)的LSP的可扩展性。 用于支持MPLS网络中的LSP的可扩展性的各种示例实施例可以被 配置为支持单段PW(SS-PW)、多段PW(MS-PW)等,及其各种 组合中的可扩展性。
应当了解,通过参考下面进一步讨论的各种附图,可以进一步理 解支持在标签交换网络中的LSP的可扩展性的这些和各种其他示例 实施例以及优点或潜在优点。
图1描绘了被配置为支持LPS的可扩展性的通信系统的示例实施 例。需要注意的是,为了简单且不失一般性,在图1的上下文中呈现 的各种示例实施例包括用于支持基于域间前缀FEC的LSP的可扩展 性的示例实施例,更具体地,支持基于区域间前缀FEC的LSP的可 扩展性,其中区域间前缀FEC LSP建立由LDP建立并跨越多个OSPF 区域。应当了解,用于支持LSP的可扩展性的各种示例实施例可以被 配置为支持其他类型的LSP的可扩展性、支持其他网络架构中的LSP 的可扩展性等,以及它们的各种组合。
在图1中,通信系统100包括在本文中分别被称为路由器R1-R14 的一组路由器110和在一对VPN站点121-1和121-2(统称为VPN 站点121)之间建立的虚拟专用网络(VPN)120。
在图1中,路由器110已被分成如下三个OSPF区域:区域0、 区域1和区域2。区域0是骨干区域(backbone area)。区域1和区 域2通过区域0而被连接,并通过区域边界路由器(ABR)连接到区 域0。需要注意的是,在OSPF中,两个非骨干区域通过骨干区域相 连。在通信系统100中,路由器R1-R5位于区域1中,R6是将区域 1和区域0互连的ABR,路由器R7是将区域2和区域0互连的ABR, 路由器R8-R10位于区域2中,并且路由器R11–R14位于区域0中。每个区域中的路由器和网络都被指派以下IP子网(IP前缀):(a) 区域1=10.10.1.0/24,(b)区域2=10.10.2.0/24,和(c)区域 0=10.10.3.0/24。
在图1中,区域内的主机、路由器或网络被分配来自指派给该区 域的子网中的IP地址。可以从任一相邻区域的子网中为ABR指派其 环回IP地址。可以为一个区域分配多于一个的不相交子网;然而, 为了说明简单,只有一个子网被分配给一个区域,因为本文讨论的原 理无缝地适用于任意数量的子网。应当了解,图1中描绘的每个区域 至少包括254个主机/路由器(因为前缀长度24的IPv4子网包含254 个唯一地址),但为简单起见,仅示出了几个路由器(即路由器 R1-R14)。需要注意的是,IP子网被分配给路由器中的接口;然而,为了说明简单,没有描述这些子网的细节。其次,接口上的子网是从 不是被指派给与接口相关联的区域的IP子网空间分配的。区域1中 的路由器Rx从被指派的子网10.10.1.0/24指派了环回IPv4地址 10.10.1.x(例如,R1的地址是10.10.1.1,R5的地址是10.10.1.5,等等)。区域2中的路由器Rx从被指派的子网10.10.2.0/24指派了环回 IPv4地址10.10.2.x(例如,R7的地址是10.10.2.7,R9的地址是 10.10.2.9,等等)。区域0中的路由器Rx从被指派的子网10.10.3.0/24 指派了环回IPv4地址10.10.3.x(例如,R12的地址是10.10.3.12,R14 的地址是10.10.3.14,等等)。
在图1中,在每个区域中的路由器之间运行的OSPF将其被指派 的IP地址和本地连接网络的子网作为链路状态通告(LSA)泛洪 (flood)到整个区域。例如,路由器R9将生成路由器LSA 10.10.2.9/32。需要注意的是,路由器通告可以是前缀的形式,因此IPv4 主机地址使用“/32”子网进行通告。泛洪过程在该区域中的每个路由 器中构建相同的链路状态数据库(LSDB)。路由器中的LSDB是路 由器所在区域的拓扑图。在每个区域中,该区域中的每个路由器通过 在其LSDB上使用最短路径优先(SPF)算法(例如,使用Dijkstra 算法)来计算到每个其他路由器的最短路径。区域内的任何链路故障 或拓扑更改对该区域中的所有路由器都是可见的,因为(在关联的 LSA中指示的)更改在整个区域中泛洪。当检测到拓扑更改后,每个 路由器通过在包括拓扑更改之后运行SPF来重新计算路径。
在图1中,区域的拓扑细节对外部区域是不可见的。例如,ABR R7不会将区域2的LSA泛洪到区域0,反之亦然。将OSPF网络分 解为多个区域的主要目的是遏制一个区域内的泛洪和拓扑细节,其导 致了OSPF域的可扩展性。ABR将从一个区域获悉的路由前缀聚合到单个“汇总”LSA中。然后,ABR将汇总LSA泛洪到其他区域中, 就好像汇总LSA表示ABR的本地连接网络一样。例如,R7将从区 域2获悉的路由前缀汇总到汇总LSA 10.10.2.0/24中,并将其在区域 0上泛洪,指示R7是LSA的始发路由器。一般来说,每当ABR将 从第一区域获悉的路由前缀泛洪到第二区域时,它会将其自身标记为 对应LSA的始发路由器。最终,当R6从区域0获悉汇总LSA 10.10.2.0/24时,它将汇总LSA泛洪到区域1,指示R6是LSA的始 发路由器。需要注意的是,R6还聚合了起源于区域0中的其他路由 前缀,并且将汇总LSA发起到区域1。例如,R6将起源于区域0中 的路由前缀汇总为汇总LSA 10.10.3.0/24并将汇总LSA10.10.3.0/24 泛洪到区域1。类似地,例如,R6也将从区域1获悉的路由前缀聚合 到汇总LSA 10.10.1.0/24中,并且将汇总LSA 10.10.1.0/24泛洪到区 域0。当R7从区域0获悉汇总LSA 10.10.1.0/24时,R7将汇总LSA 泛洪到区域2,并将其自身作为始发路由器。R7还将来自区域0的路 由前缀聚合到汇总LSA 10.10.3.0/24并泛洪到区域2,并将其自身作 为始发路由器。结果,对于一个区域内的所有路由器,从外部区域获 悉的所有LSA都将被视为该区域的ABR的直接连接网络。
在图1中,在通过每个路由器的SPF计算之后,路由器中的路由 表将具有到本地区域内的每个其他路由器和网络的路由条目以及到 达所有外部区域中的路由器的汇总路由条目。路由器R1、R6、R7和 R9中的结果IP路由表分别在图2A-图2D中进行了描绘。需要注意的是,每个IP路由表总共有254个主机路由,其所属区域中的每个 路由器都有一个,但为简单起见,在路由表中仅示出了到图1中图示 的路由器的主机路由。ABR将具有到每个相邻区域的每个路由器的主 机路由。每个路由表还包括针对外部区域的汇总路由(例如,R1中 的路由表具有汇总路由10.10.2.0/24和10.10.3.0/24)。需要注意的是, 通过隐藏掉所有外部区域的拓扑细节,由ABR进行的路由汇总显著 减少了OSPF在拓扑更改上的路由表大小和收敛。例如,当区域2中 的拓扑发生变化时,它不会影响由ABR R7发起的汇总路由10.10.2.0/24,因此,拓扑更改不必传播到区域2之外。
在图1中,当路由器R1(10.10.1.1)向路由器R9(10.10.2.9) 发送IPv4分组时,通过(例如,使用LPM)匹配每个路由器中的汇 总路由条目10.10.2.0/24沿着汇总路由的最短路径 R1->R2->R6->R11->R12->R7,分组被转发直到到达路由器R7。当路 由器R7接收到分组时,路由器R7为分组的目的地找到精确匹配的 路由条目10.10.2.9/32(见图2C),并且分组通过匹配精确的路由条 目沿着路径R7->R8->R9被转发直到到达路由器R9。
在图1中,由R7对来自区域2的个体路由条目进行的汇总将区 域0和区域1中的LSA的数目以及路由表条目的数目减少了254倍。 类似地,由R6对来自区域1的个体路由条目进行的汇总将区域0和 区域2中的LSA的数量以及路由表条目的数量减少了254倍。例如, 假设OSPF网络中总共有51个区域,并且每个区域包括254个路由 器,那么,每个区域只接收50个外部汇总LSA,而不是254x50=12,700 个外部LSA和路由条目,这导致其路由器的路由表中有50个对应前 缀。换句话说,外部LSA和路由减少了254倍,这是非常显著的。 概括地说,如果N是由每个区域汇总的IP地址的平均数目,那么外 部LSA的数目被减少了N倍。
在图1中,为了建立到路由器的LSP,路由器针对其被指派的主 机地址创建前缀FEC,并针对其被指派的主机地址的前缀FEC分配 标签。例如,R9从其本地标签空间分配标签L9-9,并将其映射到前 缀FEC 10.10.2.9/32。在这里,路由器Ry为作为Rx的主机地址的前 缀FEC分配的标签被标示为Lx-y。作为示例,单独考虑针对前缀FEC 10.10.2.9/32建立LSP的过程。相同的过程可以无缝地应用于网络中 的每个路由器的LSP。在图1中,每个路由器也运行LDP控制平面。 标签映射{前缀FEC=10.10.2.9/32,L9-9}由路由器R9通告给它的每个 相邻路由器(例如,路由器R8、R10等),相邻路由器中的每个相 邻路由器从其相应的本地标签空间为前缀FEC 10.10.2.9/32分配各自 的标签,并将各自标签映射通告给其各自的相邻路由器,依此类推。 以这种方式,用于前缀FEC 10.10.2.9/32的标签映射被区域2中的路 由器之间运行的LDP泛洪到区域2。每个路由器将LSP的下一跳确 定为{其精确匹配的IP路由10.10.2.9/32的下一跳,下一跳为前缀FEC 所通告的标签}。
在图1中,路由器也维护传入标签映射(ILM)和FEC到下一跳 标签转发条目(NHLFE)(FTN)表,这些表维护前缀FEC LSP的 状态。图3A-图3D分别描绘了路由器R1、R6、R7和R9处的ILM 和FTN表。更具体地说,图3A-1和图3A-2分别描绘了路由器R1处 的ILM和FTN表,图3B-1和图3B-2分别描绘了路由器R6处的ILM 和FTN表,图3C-1和图3C-2分别描绘了路由器R7处的ILM和FTN 表,以及图3D-1和图3D-2分别描绘了路由器R9处的ILM和FTN 表。应当了解,虽然图3A-图3D仅图示了到图1中所图示的路由器(例如,路由器R1-R14)的LSP的状态,但是针对到其他路由器的 其他LSP的状态也被编程。
在图1中,如上所讨论,路由器维护ILM表。路由器处的ILM 表通过路由器通告的标签而被索引。ILM条目包括LSP在其出口路由 器或中转路由器中通告的标签的转发状态。针对LSP的ILM条目映 射到下一跳标签转发条目,该条目包括有关下一跳的信息和下一跳为LSP所通告的标签。如图3D-1中所示,路由器R9用下一跳将针对 L9-9标签的ILM表条目编程为“本地”,因为这是分配给前缀FEC 10.10.2.9/32的此标签的出口路由器。如图3C-1中所示,路由器R7 对标签L9-7的ILM表条目进行编程,以替换为由下一跳R8为LSP 10.10.2.9/32所通告的标签L9-8。如果路由器R7接收到带有标签L9-7 的MPLS分组,那么基于其ILM条目,路由器R7用L9-8替换标签 并将分组发送到路由器R8。
在图1中,如上所讨论,路由器维护FTN表。路由器处的FTN 表通过FEC而被索引。FTN表条目包括入口路由器中的LSP的转发 状态。对于前缀FEC,除了出口路由器之外的任何路由器都可以是入 口路由器。针对LSP的FTN条目映射到NHLFE,其包括有关下一跳 的信息和下一跳为LSP所通告的标签。对于前缀FEC LSP,除了出口 路由器之外的任何路由器都可以在入口路由器中,从而路由器可以通 过LSP将任何分组推送到出口路由器。结果,路由器既可以是LSP 的入口,也可以是LSP的中转,并且在这种情况下,使用公共NHLFE 信息为LSP的状态编程ILM表和FTN表。例如,对于前缀FEC 10.10.2.9/32,除路由器R9之外的任何路由器都可以作为入口路由器, 将分组推送到LSP上的路由器R9。因此,前缀FEC LSP本质上是多 点对点(MP2P)。如图3C-2中所示,路由器R7还对FTN表条目 10.10.2.9/32进行编程,以将标签L9-8推送到下一跳路由器R8。为了 向路由器R9发送分组,路由器R7将标签L9-8推送到分组上,并将 带有标签的分组发送到路由器R8。因此,路由器R7既是前缀FEC10.10.2.9/32的中转路由器,又是入口路由器。
在图1中,ABR R7将针对前缀FEC 10.10.2.9/32的标签映射泛洪 到区域0中。区域0中的每个路由器从其本地标签空间为前缀FEC 10.10.2.9/32指派标签,并将该标签通告给其邻居。区域0中的每个 路由器将LSP的下一跳选择为{其最佳匹配IP路由10.10.2.0/24的下 一跳,由下一跳为前缀FEC所通告的标签}。需要注意的是,ABR没 有对前缀FEC的汇总,这将基于下文提供的描述而被进一步理解。 本质上,每个路由器都具有到跨多域网络的每个其他路由器的LSP, 即,路由器之间存在完整的LSP网格。当ABR R6从区域0中的相邻路由器接收到针对前缀FEC 10.10.2.9/32的标签映射时,它建立LSP 并将标签映射泛洪到区域1中。区域1中的每个路由器从其本地标签 空间为前缀FEC 10.10.2.9/32指派标签并向其邻居通告。区域1中的 每个路由器将LSP的下一跳选择为{其最佳匹配IP路由10.10.2.0/24 的下一跳,由下一跳为前缀FEC所通告的标签}。图3A-2示出了R1 中的FTN表,其包括针对前缀FEC 10.10.2.9/32的条目。
在图1中,为了在LSP上从路由器R1向路由器R9发送分组P, 路由器R1查找FTN条目,并且基于FTN条目,推送标签L9-2并且 发送MPLS分组{L9-2,P}到路由器R2。路由器R2在接收到分组后, 在其ILM表(为了清楚起见而省略)中查找最顶层的标签L9-2,并 基于ILM条目,利用标签L9-6替换标签L9-2并发送分组{L9-6,P} 到下一跳路由器R6。路由器R6在接收到分组后,在其ILM表(图 3B-1)中查找最顶层的标签L9-6,并基于ILM条目,用标签L9-11替换标签L9-6并发送分组{L9-11,P}到下一跳路由器R11。路由器R11 在接收到分组后,在其ILM表(为了清楚起见而省略)中查找标签 L9-11,并基于ILM条目,用标签L9-12替换标签L9-11并发送分组 {L9-12,P}到下一跳路由器R12。路由器R12在接收到分组后,在其 ILM表(为了清楚起见而省略)中查找最顶层的标签L9-12,并基于 ILM条目,用标签L9-7替换标签L9-12并发送分组{L9-7,P}到下一 跳路由器R7。路由器R7在接收到分组后,在其ILM表(图3C-1) 中查找最顶层的标签L9-7,并基于ILM条目,用标签L9-8替换标签L9-7并发送分组{L9-8,P}到下一跳路由器R8。路由器R8在接收到分 组后,在其ILM表(为了清楚起见而省略)中查找最顶层的标签L9-8, 并基于ILM条目,用标签L9-9替换标签L9-8并发送分组{L9-9,P} 到下一跳路由器R9。路由器R9在接收到分组后,在其ILM表(图 3D-1)中查找最顶层的标签L9-9,并且由于ILM条目中的NHLFE 被编程为本地,因此从分组中弹出标签L9-9并基于其底层报头进一 步处理分组P。以同样的方式,每个路由器将具有到跨区域的每个其 他路由器的前缀FEC LSP。
需要注意的是,上面描述的过程之后,可以是用于建立区域间LSP 的SR。在图1中,每个路由器中的OSPF也针对每个LSA分配标签, 其中每个LSA成为前缀FEC。因此,标签映射与LSA一起进行泛洪。 为了能够建立区域间LSP,ABR中的OSPF可以将从一个区域获悉的 路由的标签映射泄漏(leak)到其他相邻区域。例如,在R7中,OSPF 将从区域2获悉的每个路由的标签映射泄漏到区域0。
需要注意的是,BGP可以使用类似的过程来描述AS间LSP。在 这种情况下,将区域0、区域1和区域2视为AS,并且每个路由器都 运行BGP。将ABR视为自治系统边界路由器(ASBR)。然后,BGP 为主机地址和子网分配标签,并将标签映射通告给AS内的其相邻 BGP路由器。为了能够建立AS间LSP,ASBR中的BGP可以将从 AS获悉的路由的标签映射泄漏到其他相邻的AS。例如,在R7中, BGP将从区域2(AS 2)获悉的每个路由的标签映射泄漏到区域0(AS 0)。
在图1中,虽然ABR汇总了跨区域的IP路由,但前缀FEC LSP 跨区域运行平坦。在SR的情况中,由于标签映射随LSA一起泛洪, 因此ABR无法汇总IP路由。结果,每个路由器都需要维护到外部路 由域中的每个路由器的LSP的控制平面和数据平面状态。在图1的示 例中,每个路由器维护254个区域内LSP和508个区域间LSP的状 态。区域内LSP的状态是不可避免的,但是各种示例实施例可以被应 用来支持区域间LSP的可扩展性。由于跨区域的路由汇总,图1中的 任何路由器中的最大区域间路由数目最多为2。在这里,为了清楚地 进一步理解LSP的可扩展性,假设OSPF网络包括51个区域,并且 每个区域包括254个路由器。每个路由器需要维护254x50=12,700个 区域间LSP的状态。概括地说,如果存在M个路由域并且每个域平 均有N个路由器,则路由器中的区域间LSP的数量是MxN。在给定 的路由器中,路由器中的LSP的状态消耗来自路由器本地标签空间的 (多个)标签,消耗路由器的FTN和ILM表条目,增加控制平面协 议中的信令开销和存储器等等。区域间LSP随着跨区域的路由器数量 的线性增长也会在相关路由路径中发生变化时影响LSP的收敛时间。 需要注意的是,用于帮助检查区域间LSP的线性增长的机制是使 MPLS控制协议(例如,LDP或lie)知晓ABR中的路由汇总。当 MPLS控制协议发现汇总路由是由路由器中的路由协议朝向某个区域发起的,那么它不会将与该汇总路由相匹配的前缀FEC的标签映射 泛洪到该区域;相反,MPLS控制协议启动对汇总路由进行编码的前 缀FEC,并将其标签映射泛洪到该区域中的邻居。需要注意的是,对 汇总路由器进行编码的前缀FEC被称为聚合前缀FEC(除非在本文 中另有说明)。这在图4中进行了描述,图4继承了图1的拓扑结构, 但是它演示了使用聚合前缀FEC的区域间聚合LSP。
图4描绘了被配置为支持LSP的可扩展性的通信系统的示例实施 例。
图4的通信系统400类似于图1的通信系统100,除了图4的通 信系统400采用了使用聚合前缀FEC的区域间聚合LSP之外。
在图4中,路由器R7不分发从区域2学习到的前缀FEC的标签 映射到区域0;相反,路由器R7将发起聚合前缀FEC 10.10.2.0/24。 遵循这种方法,每个路由器将维护其区域中的每个路由器的前缀FEC 的状态,并聚合所有外部区域的前缀FEC。在这里,假设LAy-x表示路由器Rx为区域y的聚合前缀FEC所分配的标签(例如,LA2-7是 R7为聚合前缀FEC10.10.2.0/24所分配的标签)。
在图4中,路由器维护ILM和FTN表,ILM和FTN表维护前缀FEC LSP和聚合前缀FECLSP的状态。图5A-图5D分别描绘了路由 器R1、R6、R7和R9处的ILM和FTN表。图5A-图5D的ILM和 FTN表分别是图3A-图3D的ILM和FTN表的更新版本。更具体地 说,图5A-1和图5A-2分别描绘了路由器R1处的ILM和FTN表, 图5B-1和图5B-2分别描绘了路由器R6处的ILM和FTN表,图5C-1 和图5C-2分别描绘了路由器R7处的ILM和FTN表,以及图5D-1 和图5D-2分别描绘了路由器R9处的ILM和FTN表。应当了解,虽 然图5A-图5D仅图示了到图4中所图示的路由器(例如,路由器 R1-R14)的LSP的状态,但是针对到其他路由器的其他LSP的状态 也被编程。路由器中的IP路由表与图2A-图2D中的相同。在这里, 为了清楚地进一步理解LSP的可扩展性,假设OSPF网络包括51个 区域,并且每个区域包括254个路由器。如果不使用聚合前缀FEC, 每个路由器需要维护254x50=12,700个区域间LSP的状态。概括地 说,如果存在M个路由域并且每个域平均有N个路由器,则路由器 中的区域间LSP的数量是MxN。聚合前缀FEC的使用使得能够将路 由器中的区域间LSP的数量减少N倍,这可能是非常显著的。
在图4中,路由器R1可以在LSP上向路由器R9发送IP分组P。 R1在其FTN表中查找到目的地10.10.2.9的“最佳匹配LSP”,并找 到针对聚合前缀FEC 10.10.2.0/24的LSP(图5A-2)。R1将聚合LSP 的标签LA2-2推送到下一跳路由器R2。结果MPLS分组{LA2-2,P} 被发送到路由器R2。分组沿着路径R1->R2->R6->R11->R12->R7穿 越LSP。当路由器R7在LSP上接收到分组时,路由器R7弹出LSP 的标签,因为它是LSP的出口路由器。由于分组中没有更多标签,路 由器R7预计分组P是一个IP分组。路由器R7在FTN表中查找IP 分组的目的地地址(10.10.2.9)以找到到目的地地址的“最佳匹配 LSP”。路由器R7找到针对前缀FEC10.10.2.9/32的精确LSP。然后, 分组P沿着LSP被转发,直到到达路由器R9。因此,路由器R7是 在适当的子LSP上推送分组的分解路由器。需要注意的是,端到端路 径可以是任意数量的LSP的链,其中每个后续LSP都是前一个LSP 的“子LSP”。每个后续LSP都是前一个聚合LSP的子集聚合。链 中的最后一个LSP是到目的地路由器的主机IP地址的LSP。
用于支持LSP的可扩展性的各种示例实施例可以被配置为支持 在各种上下文中通过聚合LSP传送分组,这可以通过首先考虑使用聚 合LSP进行网络扩展的各个方面来进一步理解。一般来说,LSP是一 种用于将任何类型的分组发送到其FEC所包含的目的地的通用构造。
用于支持LSP的可扩展性的各种示例实施例可以被配置为支持 在各种上下文中通过聚合LSP传送分组,包括其中LSP通过MPLS 层次结构传送带有标签的分组的上下文。应当了解,LSP的最常见用 途之一是在LSP上传送带有标签的分组,即通过MPLS层次结构传送分组。LSP上的被标签的分组的一个示例是当多个LSP相互叠加 时,诸如在BGP LSP的间接下一跳通过LDP LSP可到达的情况下, 以及在LDP LSP的下一跳直接连接的情况下。在图1中,假设路由 器R1和路由器R9是BGP LSP的两个间接连接的下一跳(因此R1 和R9是BGP对等体),并且路由器R9通过区域间聚合LDP LSP 10.10.2.0/24可到达直到路由器R7,然后通过区域内LDP LSP 10.10.2.9/32可到达直到路由器R9。当路由器R1在BGP LSP上发送 分组时,它首先将针对BGP LSP的标签推送到下一跳路由器R9,然 后将聚合LDP LSP10.10.2.0/24的标签推送到直接下一跳路由器R2。 结果分组{LA2-2,BGP LSPlabel,P}被发送到路由器R2。分组沿着聚 合LDP LSP被转发直到路由器R7,其弹出标签。然后,下一个标签 是BGP LSP的标签,它对路由器R9有意义,但对路由器R7没有意 义。因此,分组要么由路由器R7在错误的上下文中转发(如果BGP 标签与R7中为另一个上下文本地分配的标签匹配),要么分组被丢 弃。基本上,聚合LSP的出口路由器无法将分组推送到适当的子LSP 上,因为分组不携带子LSP的任何指示。基于对聚合LSP和聚合LSP 的子LSP之间的关系的灵活范围的支持,本文呈现的各种示例实施例 可以被配置为克服至少一些这样的限制,而不必在所有路由域上泄漏 表示路由器的主机地址的前缀FEC的标签映射,如下文进一步讨论。
用于支持LSP的可扩展性的各种示例实施例可以被配置为支持 在各种上下文中通过聚合LSP传送分组,包括其中LSP在VPN上传 送带有标签的分组的上下文。VPN可以是任何类型,诸如IP-VPN、 VPLS、伪线(PW)、以太网VPN等。IP-VPN通过公共网络在两个 VPN站点之间提供远程连接性。在图1中,VPN站点121-1和121-2 是通过公共网络连接的VPN(即VPN120)的两个远程站点。VPN 站点121-1直接连接到提供方边缘(PE)路由器R1,并且VPN站点121-2直接连接到PE路由器R9。为了为VPN建立连接性,PE路由 器从其本地标签空间分配MPLS标签,并依照VPN标识符(VPN-ID) 将该标签通告给连接到VPN的远程站点的PE路由器。VPN-ID是 FEC,它在参与VPN的PE路由器之中唯一地标识一个VPN。为VPN 所分配的MPLS标签被标示为VPN的“VPN标签”(VPN-Label)。 向出口PE路由器发送针对VPN的分组的入口PE路由器将用出口PE 路由器所通告的VPN标签封装该分组,并且在分组的接收后,出口 PE路由器基于接收到的VPN标签将分组与其VPN唯一地相关联。 通常,由BGP在PE路由器之间交换VPN标签,因此在图1中,路 由器R1和路由器R9将是用于交换VPN标签的BGP对等体。例如,在这里假设路由器R1和路由器R9为VPN 120所通告的VPN标签分 别是VL-1和VL-9。路由器R1在其ILM表中对VL-1进行编程,该 表映射到VPN 120的本地VPN站点121-1(图5A-1)。路由器R9 在其ILM表中对VL-9进行编程,该表映射到VPN 120的本地VPN 站点121-2(图5D-1)。由于PE路由器不是直接连接的,因此通过 终止于远程PE路由器处的MPLS LSP将带有VPN标签的分组发送到 远程PE路由器。路由器R1在接收到来自本地VPN站点121-1的要 被发送到远程VPN站点121-2的分组P时,推送由路由器R9为VPN 120所分配的VPN标签VL-9,推送聚合LSP 10.10.2.0/24的标签LA2-2 到直接下一跳路由器R2,并将结果MPLS分组{LA2-2,VL-9,P}发送 到路由器R2。分组沿着聚合LDP LSP被转发直到路由器R7,其弹出 聚合LSP标签。然后,下一个标签是VPN标签,它对路由器R9有 意义,但对路由器R7没有意义。因此,分组要么由路由器R7在错 误的上下文中被转发(如果VPN标签与路由器R7中为另一个上下文 本地分配的标签相匹配),要么分组被丢弃。基本上,聚合LSP上的 出口路由器无法将分组推送到适当的子LSP上,因为分组不携带子 LSP的任何指示。基于对聚合LSP和聚合LSP的子LSP之间的关系 的灵活范围的支持,本文呈现的各种示例实施例可以被配置为克服至 少一些这样的限制,而不必在所有路由域上泄漏表示路由器的主机地 址的前缀FEC的标签映射,如下文进一步讨论。
用于支持LSP的可扩展性的各种示例实施例可以被配置为基于 聚合LSP的使用来支持LSP的可扩展性。名为具有聚合LSP的网络 扩展的IETF提交描述了一种用于建立聚合区域间前缀FEC LSP以使 得聚合LSP的出口路由器可以确定分组所到达的适当子LSP的解决 方案。通过参考图4可以进一步理解该解决方案。
在图4中,基于标题为具有聚合LSP的网络扩展的提交的使用, 通信系统可以被配置如下。LDP可以被用作MPLS控制平面,用于建 立区域间聚合LSP。聚合LSP的出口路由器为聚合LSP内的每个子 LSP分配标签。每个子LSP是一个主机地址,诸如10.10.2.9/32。子 LSP不是聚合前缀FEC 10.10.2.0/24内的子集前缀,诸如 10.10.2.32/28。然而,子LSP的标签不是从传统的MPLS标签空间分 配的;相反,标签的值是从子LSP的主机地址通过算法导出的,如下。 聚合LSP的FEC的网络掩码被反转并被应用来对地址的高位进行掩 码。例如,对于聚合LSP 10.10.2.0/24中的子LSP 10.10.2.9/32,此操 作会将10.10.2.9中的高阶24比特清零,其导致0.0.0.9。其余位被视 为一个整数,并向其添加16。因此,在子LSP10.10.2.9/32的情况下, 该值变为25(=9+16)。被表示为20位整数的该值成为标签值。在算法中添加值16以便绕过保留的标签范围(标签0到标签15)。换 句话说,标签值是聚合前缀FEC内的主机地址的偏移量加上16。应 用这个概念,子LSP 10.10.2.1-10.10.10.2.254分别被指派标签17-270。 标签在子LSP ILM表中被编程,该表特定于聚合前缀FEC LSP的上
在图4中,基于标题为具有聚合LSP的网络扩展的提交的使用,通 信系统可以被配置为支持分组的路由如下。例如,考虑路由器R1通过 聚合LSP将VPN 100中的分组P发送到路由器R9(10.10.2.9)的示例。 路由器R1首先推送R9为VPN 100所分配的VPN标签VL-9。然后路由 器R1在其FTN表中查找到目的地10.10.2.9的“最佳匹配LSP”,并找 到针对前缀FEC10.10.2.0的聚合LSP/24。因此,路由器R1在将聚合LSP 标签LA-2推送到分组上之前,先推送通过算法导出的子LSP标签25。 结果MPLS分组{LA-2,25,VL-9,P}被发送到聚合LSP的下一跳,即路由 器R2。分组沿着路径R1->R2->R6->R11->R12->R7穿越聚合LSP,其中 路径中的每个路由器都交换聚合LSP标签。当分组在聚合LSP上被路由 器R7接收时,路由器R7弹出聚合LSP的标签,因为它是LSP的出口 路由器。然后,在剩余的分组{25,VL-9,P}中,路由器R7预计最顶层的 标签是子LSP标签。因此,路由器R7在附加到聚合LSP 10.10.2.0/24的 子LSP ILM表中查找标签。路由器R7,基于子LSP ILM条目,利用标 签L9-8替换标签25,并且结果分组{L9-8,VL-9,P}被发送到LSP的下一 跳,即路由器R8。分组沿着LSP被转发,直到到达路由器R9。路由器 R9在接收到分组后,它弹出LSP标签,因为它是LSP的出口路由器。 在结果分组{VL-9,P}中,路由器R9找到下一个标签VL-9,其映射到 VPN-100。因此,路由器R9弹出标签并将分组转发到VPN站点100-2。
虽然标题为具有聚合LSP的网络扩展的提交的各个方面可以支 持各种特征,但是应当了解,标题为具有聚合LSP的网络扩展的提交 的各个方面可能具有各种限制或潜在限制,如下文进一步讨论的,可 以通过本文呈现的各种示例实施例来解决这些限制。例如,本文呈现 的各种示例实施例可以解决的一个方面可以是标题为具有聚合LSP 的网络扩展的提交仅适用于基于IPv4的前缀FEC,并且进一步在IPv4 中的适用性也受到限制(例如,由20位子LSP标签值强加限制,该 值将聚合前缀FEC中的主机地址的最大偏移量限制为2^20-16,这意 味着当聚合FEC前缀的前缀长度为小于12位(=32-20),此概念不 起作用,并且对于128比特的IPv6前缀FEC,无法支持小于108比 特(=128-20)的前缀长度使得该概念不适用)。例如,本文呈现的 各种示例实施例可以解决的一个方面可以是标题为具有聚合LSP的网络扩展的提交可能不适用于其他FEC类型,其中FEC可以表示子 LSP集合的聚合。例如,本文呈现的各种示例实施例可以解决的一个 方面可以是标题为具有聚合LSP的网络扩展的提交可能要求子LSP 的FEC必须是主机IP地址而不是子网(例如,聚合LSP 10.10.2.0/24内的子LSP 10.10.2.32/28)。例如,本文呈现的各种示例实施例可以 解决的一个方面可以是标题为具有聚合LSP的网络扩展的提交可以 仅适用于LDP信号通知的前缀FEC。例如,本文呈现的各种示例实 施例可以解决的一个方面可以是标题为具有聚合LSP的网络扩展的提交可能需要对LDP控制平面的修改(例如,作为聚合前缀FEC的 新FEC类型)。应当了解,可以通过本文呈现的各种示例实施例来 解决标题为具有聚合LSP的网络扩展的提交的各种其他限制或潜在 限制。
用于支持LSP的可扩展性的各种示例实施例被配置为支持用于 构建聚合LSP以用于在其子LSP的上下文中传送任何类型的分组的 各种示例实施例。需要注意的是,各种示例实施例可能不知道聚合 LSP的FEC类型,以及被用来建立聚合LSP的控制平面。需要注意的是,各种示例实施例可以足够通用以适用于任何聚合场景中的任何 “可聚合”FEC类型,诸如在聚合LSP的出口路由器不必是多域路由 中的边界路由器网络的情况下。
各种示例实施例可以被配置为基于各种技术来支持LSP的可扩 展性,这些技术可以被应用于MPLS数据平面中。例如,在至少一些 示例实施例中,标识分组要穿过的子LSP的FEC被直接编码到聚合 LSP标签下方的分组中。在这里,“下方”意味着距离分组的最外层报头最远的地方。为了指示子LSP的FEC被编码在聚合LSP标签下 方,可以在聚合LSP标签下方和子LSP标签上方直接插入子LSP标 签指示符(SLI)。各种示例实施例可以被配置为当入口路由器通过 子LSP发送分组时在入口路由器处以及当出口路由器通过子LSP接 收分组时在出口路由器处利用这样的机制。
各种示例实施例可以被配置为基于各种技术来支持LSP的可扩 展性,这些技术可以被应用于MPLS数据平面中以用于支持通过子 LSP对分组的发送。当入口路由器通过聚合LSP在子LSP上发送分 组P时,入口路由器首先推送分组要穿越的子LSP的FEC的编码, 然后推送聚合LSP的标签和SLI。因此,MPLS分组{聚合LSP标签,SLI, 子LSP FEC,P}被转发到聚合LSP的下一跳。需要注意的是,子LSP 的FEC类型不必与与聚合LSP相关联的FEC类型相同,只要聚合LSP 的出口路由器具有用于子LSP的转发状态(例如,只要聚合LSP的 出口路由器具有精确匹配LSP的入口状态或具有与子LSP“最佳匹 配”的另一个聚合LSP的入口状态)。这种灵活性拓宽了聚合LSP 与聚合LSP的子LSP之间的关系范围。例如,子LSP的FEC可以是IPv4前缀FEC,而聚合LSP的FEC是IPv6 FEC,反之亦然,只要某 种规则可以将子LSP绑定到聚合LSP。需要注意的是,类似的灵活性 也可以通过各种类型的PW来实现,诸如SS-PW、MS-PW等,以及 它们的各种组合。
各种示例实施例可以被配置为基于各种技术来支持LSP的可扩 展性,这些技术可以被应用于MPLS数据平面中以用于支持通过子 LSP对分组的发送。当聚合LSP的出口路由器接收到分组时,聚合 LSP的出口路由器推送聚合LSP标签。聚合LSP的出口路由器在发 现下一个标签是SLI时,弹出SLI,然后解析被编码在分组顶部处的 子LSP的FEC。聚合LSP的出口路由器然后查找针对子LSP的转发 状态,要么是精确匹配的LSP,要么是与子LSP FEC最佳匹配的另一 个聚合LSP。如果分组被推送到精确匹配的LSP上,那么在推送LSP 的标签之前,被编码在分组顶部处的子LSP的FEC被推送出。如果 分组被推送到另一个聚合LSP上,那么在推送聚合LSP的标签之前, SLI被推送到分组上,这导致MPLS分组{新的聚合LSP的标签,SLI, 子LSP FEC,P}。然后,MPLS分组{新的聚合LSP的标签,SLI,子 LSP FEC,P}沿着新的LSP被转发。需要注意的是,如果子LSP的FEC 被聚合LSP的FEC归入,那么子LSP可以通过其在聚合LSP的FEC 内的偏移量和范围而被编码在分组中,这提供了子LSP在分组中紧凑的编码。
用于支持LSP的可扩展性的各种示例实施例可以被配置为支持 在子LSP的出口路由器处在聚合LSP内活动的子LSP集合的入口路 由器的可见性。通常,由于聚合LSP的出口路由器对FEC的聚合, 入口路由器不再能看到聚合LSP的出口路由器处是否确实存在入口路由器发送分组的子LSP。在这种情况下,入口路由器可以使用子 LSP上的各种OAM或连续性检查消息来验证子LSP与子LSP的出口 路由器的连接性,然后再使用子LSP用于发送分组。在某些可聚合的 FEC类型中或者根据在其子LSP上发送分组的应用的要求,可能存在入口路由器可能需要或期望具有在出口路由器处存在子LSP的预定 状态的情况聚合LSP。如上所指出,用于支持LSP的可扩展性的各种 示例实施例可以被配置为支持在子LSP的出口路由器处在聚合LSP 内活动的子LSP集合的入口路由器的可见性。各种示例实施例被配置 为使得任何MPLS控制协议能够支持由聚合LSP的出口路由器指示 在出口路由器处在聚合LSP内活动的精确子LSP集。例如,当路由 器发起聚合FEC的标签映射时,发起路由器在标签映射中还包括一 个比特串,其中比特串中的比特位置指示活动子LSP在聚合LSP内 部的索引(或偏移量)。应当了解,可以使用各种方案用于通告对聚 合LSP的活动子LSP集合进行编码的比特串。应当了解,可以应用 不同的方案用于基于聚合LSP内的子LSP的数量来通告对聚合LSP 的活动子LSP集合进行编码的比特串。
在至少一些示例实施例中,当聚合LSP内的子LSP的数目相对 较大时,那么可以应用以下方案来有效地通告包括聚合LSP的活动子 LSP的指示的比特串。子LSP的索引被分成256个块(尽管应当了解, 可以使用其他块大小)。在整个索引范围中,每个块都按其升序被指 派唯一标识符。例如,索引范围为1-256的子LSP在块1中,索引范 围为257-512的子LSP在块2中,以此类推。聚合FEC的标签映射 消息包括一个或多个块,其中每个块被编码为{块标识符,比特串}。 例如,块标识符10中的比特位置30意味着聚合LSP中的索引((10x 256)+30)=2590处的子LSP的FEC。如果标签映射消息无法容纳整 个子LSP范围的所有块,那么这些块可以在多个标签映射消息中被发 送,其中每个标签映射消息承载相同的聚合FEC和标签,但是承载 不相交的块集合。在聚合LSP的生命周期期间,如果活动子LSP的 集合发生变化,那么通过聚合LSP的出口路由器通过重新发送标签映 射(例如,包括更改块的完整标签映射或仅有更改块的标签映射)来 反映该更改。基于比特串,入口路由器能够确定给定的子LSP在聚合 LSP内是否是活动的。
应当了解,上述用于通告包括聚合LSP的活动子LSP的指示在 内的比特串的方案仅仅是可以被使用的一种类型的方案,因此可以应 用各种其他方案来通告包括聚合LSP的活动子LSP的指示在内的比 特串,并且在许多实例中有效地通告包括聚合LSP的活动子LSP的 指示在内的比特串。
应当了解,在至少一些示例实施例中,可以增强MPLS控制协议 以将比特串块包括在它们的标签映射消息中以用于支持通告包括聚 合LSP的活动子LSP的指示在内的比特串。
各种示例实施例可以被配置为支持LSP的可扩展性,同时克服了 通常与聚合LSP的使用相关联的各种限制或潜在限制。
例如,用于支持LSP的可扩展性的各种示例实施例可以被配置为 使得任何前缀FEC值能够被编码为子LSP(例如,由于子LSP的FEC 被编码到分组中,因此子LSP的标识是显式的,并且任何IPv4或IPv6 前缀FEC值都可以编码为子LSP)。换言之,该概念不限于仅适用于 基于IPv4的前缀FEC,也可以被用于基于IPv6的前缀FEC。例如, IPv4中的适用性不受20比特子LSP标签值的限制,如标题为具有聚 合LSP的网络扩展的提交,它将聚合前缀FEC中的主机地址的最大 偏移量限制为2^20-16,并且因此,将聚合FEC前缀的前缀长度限制 为大于或等于12比特(=32-20)。例如,由于无法支持小于108比 特(=128-20)的前缀长度(例如,在使用128位IPv6前缀FEC的情 况下),因此IPv6的适用性不受限制。
例如,用于支持LSP的可扩展性的各种示例实施例可以被配置为 使得能够使用任何FEC类型(例如,由于子LSP的FEC被编码到分 组中,因此适用于任何FEC类型)并且还可以提供灵活性:子LSP 的FEC可以不同于聚合LSP的FEC。换言之,各种FEC类型可以被 用来表示子LSP集合的聚合或关联。
例如,用于支持LSP的可扩展性的各种示例实施例可以被配置为 使得子LSP的FEC能够成为主机地址或子网(例如,聚合LSP 10.10.2.0/24内的子LSP 10.10.2.32/28)。应当了解,这可以通过将子 LSP的前缀FEC编码到分组中来实现。换言之,子LSP的FEC不限 于是主机IP地址,并且备选地,可以是子网。
例如,用于支持LSP的可扩展性的各种示例实施例可以被配置为 支持LSP的可扩展性,同时保持不知道控制平面类型。换言之,用于 支持LSP的可扩展性的各种示例实施例不限于LDP信号发送的前缀 FEC并且可以使用各种其他控制平面类型而被支持。
例如,用于支持LSP的可扩展性的各种示例实施例可以被配置为 支持LSP的可扩展性,同时避免对LDP控制平面的强制修改的需要 (例如,避免需要新的FEC类型作为聚合前缀FEC),尽管应当了 解,这样的修改可以在各种条件下被使用(例如,当应用请求或要求时,根据需要或期望等,以及它们的各种组合)。
例如,用于支持LSP的可扩展性的各种示例实施例可以被配置为 以被配置为支持域间前缀FEC LSP的可扩展性的方式,支持用于聚合 MPLS LSP的各种通用解决方案,不知道FEC类型和MPLS控制协议, 并且因此,这减少或消除了对多域网络大小的限制(例如,在路由器 的数量方面)。
各种示例实施例可以被配置为支持LSP的可扩展性,同时克服通 常与聚合LSP的使用相关联的各种其他限制或潜在限制。
通过参考图4可以进一步理解用于支持LSP的可扩展性的各种示 例实施例。
在图4中,ABR通告聚合前缀FEC以促进区域间LSP。例如,ABR R7聚合来自区域2的前缀FEC,并将聚合前缀FEC 10.10.2.0/24通告给 区域0。聚合前缀FEC 10.10.2.0/24继而又由ABR R6通告给区域1。路 由器中的转发状态被重用(例如,如图5A-图5D中所示),以使得为了 支持LSP的可扩展性,不需要对路由器中的转发状态进行修改(例如, 如图6A-图6B中所示)。
在图4中,考虑路由器R1打算向路由器R9发送分组P的示例。 需要注意的是,分组P可以是路由器R9指派的针对VPN-100的带有 VPN标签的分组。
在该示例中,路由器R1在其FTN表(图5A-2)中查找到 10.10.2.9/32的LSP,并找到聚合LSP 10.10.2.0/24作为最佳匹配LSP。 因此,路由器R1将预期LSP的FEC编码为子LSP(即10.10.2.9/32) 并将预期LSP的FEC推送到分组上。路由器R1将SLI推送到分组上 以指示子LSP的FEC的存在。然后,路由器R1基于聚合LSP 10.10.2.0/24的FTN条目,将到下一跳路由器R2的标签LA2-2推送 到分组上。结果MPLS分组{LA2-2,SLI,子LSP FEC=10.10.2.9/32,P} 被发送到路由器R2。
在该示例中,路由器R2在接收到分组{LA2-2,SLI,子LSP FEC=10.10.2.9/32,P}后,在其ILM表中查找标签LA2-2(为了清楚起 见而省略),用标签LA2-6替换标签LA2-2,并将分组{LA2-6,SLI,子 LSP FEC=10.10.2.9/32,P}发送到路由器R6。路由器R6在接收到分组 {LA2-6,SLI,子LSP FEC=10.10.2.9/32,P}后,在其ILM表(图5B-1) 中查找标签LA2-6,用标签LA2-11替换标签LA2-6,并且将分组 {LA2-11,SLI,子LSP FEC=10.10.2.9/32,P}发送到下一跳路由器 R11。路由器R11在接收到分组{LA2-11,SLI,子LSP FEC=10.10.2.9/32,P}后,在其ILM表(为了清楚起见而省略)中查 找标签LA2-11,用标签LA2-12替换标签LA2-11,将分组{LA2-12,SLI, 子LSP FEC=10.10.2.9/32,P}发送到路由器R12。路由器R12在接收 到分组{LA2-12,SLI,子LSP FEC=10.10.2.9/32,P}后,在其ILM表(为 了清楚起见而省略)中查找标签LA2-12,用标签LA2-7替换标签LA2-12,将分组{LA2-7,SLI,子LSP FEC=10.10.2.9/32,P}发送到路 由器R7。
在此示例中,路由器R7在接收到分组{LA2-7,SLI,子LSP FEC=10.10.2.9/32,P}后,在其ILM表(图5C-1)中查找标签LA2-7, 它被编程为指示这是用于该标签的出口路由器。因此,路由器R7弹 出标签LA2-7并找到下面的SLI。因此,R7弹出SLI,然后解析子 LSPFEC 10.10.2.9/32。路由器R7为LSP 10.10.2.9/32查找其FTN表 (图5C-2)并找到精确匹配的LSP。因此,路由器R7从分组中弹出 子LSP FEC,并基于LSP的FTN条目,将标签L9-8推送到分组上。 结果分组{L9-8,P}被发送到下一跳路由器R8。
在此示例中,路由器R8在接收到分组{L9-8,P}后,在其ILM表 (为了清楚起见而省略)中查找标签L9-8,用标签L9-9替换标签 L9-8,并将分组{L9-9,P}发送到路由器R9。路由器R9在接收到分组 {L9-9,P}后,在其ILM表(图5D-1)中查找标签L9-9。由于ILM条 目中的NHLFE被编程为本地,因此路由器R9从分组中弹出标签L9-9 并基于其底层报头(例如,VPN标签等)进一步处理分组P。
需要注意的是,如果子LSP的FEC被聚合LSP的FEE归入 (subsum),那么子LSP的FEC可以作为聚合LSP中的子LSP FEC 的偏移量和范围而被有效地编码到分组中。例如,子LSP10.10.2.9/32 位于聚合LSP 10.10.2.0/24中的偏移量9处,并且其范围为1(因为只 有一个主机地址)。这种方法提供了子LSP的FEC在分组中的紧凑 编码。按照这种方法,在图4的示例中,路由器R1将发送MPLS分 组为{LA2-2,SLI,子LSP FEC={offset=9,range=1},P}。聚合LSP的 出口路由器R7接收分组为{LA2-7,SLI,子LSP FEC={offset=9, range=1},P}并弹出标签LA2-7,因为这是用于标签的出口路由器。出 口路由器R7在弹出SLI之后,找到子与标签LA2-7相关联的FEC的 LSP FEC为{offset=9,range=1},即10.10.2.0/24。出口路由器R7将子 LSP FEC计算为(10.10.2.0+9)/32=10.10.2.9/32。前缀长度是/32,因为 范围是1。
需要注意的是,在某些应用中,入口路由器在通过聚合LSP在子 LSP上发送分组之前,可能希望确保子LSP存在于聚合LSP的出口 路由器处。首先,入口路由器可能希望确保子LSP存在于聚合LSP 的出口路由器处,因为入口路由器可能无法直接可见到子LSP是否实际存在。其次,入口路由器可能希望确保子LSP存在于聚合LSP的 出口路由器处,因为聚合LSP的出口路由器可能在聚合LSP内有“漏 洞”(例如,意味着一个或多个子LSP可能不是活动的)。例如,在 图4的示例中,路由器R7可以被配置为从区域2到区域0发起汇总 路由10.10.2.0/24,而不管汇总路由内的每个主机地址(路由器)是 否可达。这是为了避免区域2内的中断导致汇总路由的不稳定,从而 使路由器的子集不可达。应当了解,可以使用各种机制来使得入口路 由器能够确保子LSP存在于聚合LSP的出口路由器处。
在至少一些示例实施例中,当子LSP的FEC没有被聚合LSP的 FEC归入时,可以使用各种机制来使入口路由器能确保子LSP存在于 聚合LSP的子LSP的出口路由器处。例如,入口路由器可以通过聚 合LSP在子LSP上发送操作、管理和维护(OAM)分组(诸如LSP Ping 分组或其他合适的OAM分组),以用于测试端到端连接性。在这里, OAM分组可以以与之前描述的分组P相同的方式被转发(分组P被 LSP Ping分组或其他OAM分组代替),并且可以使用LSP跟踪功能 性来跟踪分组所穿越的所有路由器。沿着端到端路径的每个路由器都 评估LSP跟踪分组并向入口路由器发送响应。例如,入口路由器可以 通过聚合LSP在子LSP上周期性地发送双向转发检测(BFD)分组。 在这里,BFD分组可以以与之前描述的分组P相同的方式被转发(P 分组被LSP Ping分组或其他OAM分组代替)。
在至少一些示例实施例中,当子LSP的FEC被聚合LSP的FEC 归入时,聚合LSP的入口路由器可以基于MPLS控制协议(例如, (LDP、BGP、OSPF、OSPFv3、IS-IS等)的配置,确保聚合LSP的 子LSP存在于聚合LSP的出口路由器处,以使得聚合LSP的出口路 由器能够指示在聚合LSP内活动的子LSP的精确集合。当路由器发 起聚合FEC的标签映射时,路由器在标签映射内包括一个比特串, 其中该比特串中的比特位置指示活动子LSP的偏移量。在图4的示例 中,路由器R7在聚合FEC 10.10.2.0/24的标签映射中包括一个大小 为256位的比特串,因为它归入了所有254个子LSP的可能性。如果 聚合FEC的范围非常大,诸如10.10.0.0/16,则最大可能的子LSP数 量为255x254。为了有效地通告如此大范围的比特串,可以使用以下方案。聚合FEC的范围被分成256个块。每个块在范围内按其升序 而被指派唯一标识符。例如,偏移量范围1-256中的子LSP在块1中, 偏移量范围257-512中的子LSP在块2中,以此类推。用于聚合FEC 的标签映射消息包括一个或多个块,其中每个块被编码为{块标识符, 比特串}。例如,块标识符10中的比特位置30意味着在聚合FEC范 围内的偏移量((10x 256)+30)=2590处的子LSP。如果标签映射消息 不能容纳聚合FEC范围内的所有块,那么块应在多个标签映射消息 中被发送,其中每个消息承载相同的聚合FEC和标签,但是承载不 相交的块集合。在聚合LSP的生命周期期间,如果活动子LSP的集 合发生变化,那么通过聚合路由器重新发送带有受影响块的标签映射 来从而在整个网络中反映该更改。基于比特串,入口路由器知晓子 LSP是否是活动的。例如,在图4中,路由器R7在用于聚合FEC 10.10.2.0/24的标签映射消息中包括块标识符为1的一个块。需要注 意的是,如上所指出,各种MPLS控制协议(LDP、BGP、OSPF、 OSPFv3、IS-IS等)可以被配置为支持在它们的标签映射消息中包括 比特串块。
用于支持LSP的可扩展性的各种示例实施例可以被配置为支持 使用单段PW的LSP的可扩展性。
通常,PW提供在公共网络上的层1或层2连接的仿真。例如, 两个远程站点中的两个以太网链路可以通过公共网络上的以太网PW 互连。PW是IP或MPLS传送网络之上的MPLS覆盖。关于图7和图 8A和图8B呈现了PW的一个示例,其是在MPLS网络上的SS-PW, 以以太网作为第2层服务。关于图9和图10A和图10B呈现了PW的 一个示例,其是在MPLS网络上的聚合SS-PW,以太网作为第2层服 务。
关于图7呈现了用于支持使用SS-PW的LSP的可扩展性的各种 示例实施例。
图7描绘了用于图示使用SS-PW的LSP的可扩展性的SS-PW的 示例实施例。
在通信系统700中,PW在以太网/第2层级别处提供主机A和主 机B之间的P2P第2层连接性,从而提供了一种机制使主机看到彼此, 就好像通过单个以太网链路连接一样——尽管主机跨越了第3层 /MPLS分组交换网络。PW由PE-1和PE-2之间的两个单跳LSP(每 个方向一个)组成。PE-1和PE-2被称为提供方边缘(PE)路由器, 它们是到PW的接入点。可以使用标签Lx来在PW上从PE-1向PE-2 发送以太网分组,反之亦然,使用标签Ly。由于PE-1和PE-2没有 直接连接,PW分组可以经由MPLS LSP上的隧道传输(每个方向一 个)、经由基于IP的隧道传输方法(例如,GRE/IP、VXLAN、 MPLSoUDP等)等等来在PE-1和PE-2之间“隧道传输”。在图7 的示例中,MPLS LSP是隧道传输方法。例如,从PE-1向PE-2发送 的PW分组通过LSP-A被隧道传输,而从PE-2向PE-1发送的PW分 组通过LSP-B被隧道传输。两个远端之间的多个PW可以通过连接远 程端点的单个MPLS LSP(或其他形式的PSN隧道)来进行复用。PW 标签通常通过在PE路由器之间运行的LDP或BGP而在PE路由器之 间被交换。用于建立和维护PW的基于LDP的控制平面在RFC 4447 中进行描述,并且用于建立和维护PW的基于BGP的控制平面在RFC 8214中进行描述。在RFC 8214中,每个PW由PWid FEC来识别, 其中PWid是一个32比特标识符。FEC还包括在PW上的各种参数, 诸如MTU等。
在图7中,考虑由LDP建立PW并且PWid为100的示例。PE-1 和PE-2在它们之间运行目标LDP会话。PE-1将标签映射 {FEC/Pwid=100,Ly}通告给PE2。PE-2将标签映射{FEC/Pwid=100,Lx} 通告给PE1。图8A和图8B分别描绘了在PE-1和PE-2处的ILM表 和FTN表,其包括针对PWid 100的转发状态,包括各种其他PW和 LSP-A和LSP-B。图8A和图8B还分别描绘了在PE-1和PE-2处的 PWid表,其包括PWid到针对PWid的本地链路的转发动作的映射。
在图7中,分组701-707图示了分组从主机A到主机B的传输。 主机A生成要发送到主机B的分组701。分组701是包括有效载荷和 以太网报头的以太网分组。需要注意的是,分组701的有效载荷可以 是TCP/IP分组、ARP等。PW不知道以太网报头的有效载荷类型, 因此有效载荷类型被示为不透明。主机A将分组701发送到以太网交 换机S1,以太网交换机S1将分组701作为分组702转发到PE-1。分 组702与分组701相同(即,分组701是由主机A发起的以太网分组)。 PE-1接收分组702并生成分组703以发送给P1。PE-1将分组702与 PWid 100相关联(例如,S1<->PE-1链路被映射到PWid 100),并 且基于PE-1处的针对PWid 100的FTN条目(例如,如图8A中所示), 推送PW标签Lx以发送到PE-2。基于LSP-A到PE-2的FTN条目(例如,如图8A中所示),PE-1进一步推送标签L1以将PW标签Lx传 送到PE-2。标签L1是由其下一跳P1所通告的LSP-A的标签。通过 向P1添加第2层报头以形成分组703并将分组703发送到P1,PE-1 将分组{L1,Lx,P}发送到P1。P1接收分组703并生成分组704以发 送给P2。P1将LSP-A的标签从L1替换到L2,并用第2层报头L2 HDR2替换第2层报头L2 HDR1。P1将分组704发送到P2。P2接收 分组704并生成分组705以发送到PE-2。P2将LSP-A的标签从L2 替换到L3,并用第2层报头L2 HDR3替换第2层报头L2 HDR2。P2 将分组705发送到PE-2。PE-2接收分组705并生成分组706以发送 到以太网交换机S2。PE-2在接收到带有标签L3的分组{L3,Lx,P}后, 弹出标签L3,因为这是LSP-A的结束(例如,由图8B中的ILM表 所确定)。PE-2基于标签L3指示标签L3之下还有更多标签(即标 签L3中的BOS位为0)的确定,在ILM表中查找下一个标签Lx(例 如,使用图8B中的ILM表)。PE-2弹出标签Lx,因为标签Lx指示PWid 100的结束。在PE-2处,PWid 100被映射到链路PE-2<->S2, 因此PE-2将分组发送到以太网交换机S2作为分组706(其等同于分 组702和701)。以太网交换机S2接收分组706并将分组707(它等同于分组706,并且因此等同于分组702和701)发送到主机B。
需要注意的是,在诸如PE-1和PE-2之类的两个PE路由器之间 可能存在非常大量的PW,诸如128K个PW(例如,参见图8A和图 8B中的128K个PW的状态)。PE路由器为每个PW维护控制平面 和数据平面状态。128K个PW在每个PE路由器处需要128K MPLS 标签。PE路由器在它们之间交换128K标签映射和其他维护消息。应 当了解,在许多情况下,整个PW集合内的一个大的PW子集可能具 有相同的特性,诸如具有相同的PW类型(例如,以太网、ATM、帧中继等),具有相同的MTU,在每个方向上共享相同的PSN隧道等, 以及它们的各种组合。需要注意的是,在这样的情况下,可以通过使 用本文呈现的各种示例实施例来显著最小化控制平面和数据平面的 开销。
在用于支持LSP可扩展性的各种示例实施例中,PE路由器不再 为PW交换标签映射;相反,PE路由器建立单个聚合PW,它共享 PW子集的特性(例如,PW类型、MTU、共享相同的PSN隧道等, 以及它们的各种组合)。聚合PW由控制协议(LDP、BGP等)基于 使用PWid FEC的标签映射交换来建立。然而,标签映射还包括一个 或多个比特串块,其中比特串中的比特位置是在聚合PW之上传送的 PW(子LSP)的标识符。例如,块10中的比特位置100是具有PWid2570(=10x256+10)的PW。聚合PW的PWid在PE路由器之中是唯 一的,但是成员PW的PWid仅在聚合PW内是唯一的。如果聚合PW 的标签映射消息不能容纳所有块,那么块可以在多个标签映射消息中 被发送,其中每个消息携带相同的聚合PWid FEC和标签,但是承载 不相交的块集合。例如,假设在聚合PW之上传送了4K个PW,那 么4K个PW可以由16个比特串块来指示。这种方法将控制平面和数 据平面的开销减少了4K倍。该方法还改进了PW的建立时间,因为 代替PE路由器之间的4K标签映射交换,16比特字符串块可以被包 括在一个或两个聚合PW标签映射消息中。如果PW的操作状态发生 变化,那么通过PE路由器通过重新发送聚合PW的标签映射来反映 它,该标签映射仅包括包含变化PW的比特串块。
关于图9呈现了用于支持使用聚合单段PW的LSP的可扩展性的 各种示例实施例。
图9描绘了用于图示使用聚合SS-PW的LSP的可扩展性的聚合 SS-PW的示例实施例。
在通信系统900中,PW在以太网/第2层级别处提供主机A和主 机B之间的P2P第2层连接性,从而提供了一种机制使主机看到彼此, 就好像通过单个以太网链路连接一样——尽管主机跨越了第3层 /MPLS分组交换网络。通信系统900具有与图7的通信系统700相同的拓扑结构和PSN隧道。在图9中,聚合PW在PE-1和PE-2之间 提供P2P连接性,以用于为共享相同特性(诸如PW类型、MTU、 PSN隧道等)的成员PW传送分组。共同特性在集合PW的建立期间 用信号发送。可以使用标签Lx来在聚合PW上从PE-1向PE-2发送 分组,反之亦然,使用标签Ly。由于PE-1和PE-2没有直接连接, 聚合PW分组可以经由MPLS LSP上的隧道传输(每个方向一个)、 经由基于IP的隧道传输方法(例如,GRE/IP、VXLAN、MPLSoUDP 等)等等来在PE-1和PE-2之间“隧道传输”。在图10的示例中, MPLS LSP是隧道通信方法。例如,从PE-1向PE-2发送的聚合PW 分组通过LSP-A被隧道传输,而从PE-2向PE-1发送的PW分组通过 LSP-B被隧道传输。两个远端之间的多个聚合PW可以通过连接远程 端点的单个MPLS LSP(或其他形式的PSN隧道)来进行复用。聚合 PW标签通常通过在PE路由器之间运行的LDP或BGP而在PE路由 器之间被交换。用于建立和维护聚合PW的基于LDP的控制平面可 以基于在PW标签映射消息中的比特串块的使用,并且用于建立和维 护PW的基于BGP的控制平面可以基于在PW标签映射消息中比特 串块的使用。
在图9中,考虑由LDP建立聚合PW并且PWid为100的示例。 PE-1和PE-2在它们之间运行目标的LDP会话。PE-1将标签映射 {FEC/Pwid=100,Ly,bitstringblocks}通告给PE2。PE-2将标签映射 {FEC/Pwid=100,Lx,bitstringblocks}通告给PE1。比特串块中被设置为1的比特位置指示覆盖在聚合PW之上的成员PW的PWid。在建立聚 合PW时,可以没有供应任何成员PW。在那种情况下,最初不会交 换任何比特串块,然后当在PE路由器处供应成员PW时,将重新发 送聚合PW的标签映射,包括针对成员PW的比特串块。在图7中, 为了清楚起见,仅为PE-1和PE-2之间的所有128K成员PW供应了 一个聚合PW。128K个PW的通告需要500比特字符串块。LDP消 息的最大大小为4096B,并且假设至少有4000B可用于比特串块,那么聚合PW的标签映射分组可以容纳15个块。因此,在这种情况下, 将需要聚合PW上的34个标签映射消息来通告128K成员PW(从而 与图7的场景相比,控制平面消息传递开销减少了99.97%)。图10A 和图10B分别描绘了在PE-1和PE-2处的ILM表和FTN表,其仅包 括针对聚合PW的状态(从而释放PE路由器中的128K-1标签以用于 其他应用)。图10A和图10B还分别描绘了在PE-1和PE-2处的成 员PWid表,其包括覆盖在聚合PWid 100之上的成员PW的转发状态 (注意,每个聚合PW将有一个成员PWid表)。
在图9中,分组901-907图示了分组从主机A到主机B的传输。 主机A生成要发送到主机B的分组901。分组901是包括有效载荷和 以太网报头的以太网分组。需要注意的是,分组901的有效载荷可以 是TCP/IP分组、ARP等。PW不知道以太网报头的有效载荷类型, 因此有效载荷类型被示为不透明。主机A将分组901发送到以太网交 换机S1,以太网交换机S1将分组901作为分组902转发到PE-1。分 组902与分组901相同(即,分组901是由主机A发起的以太网分组)。 PE-1接收分组902并生成分组903以发送给P1。PE-1将分组902与 聚合PWid100的成员PWid 4相关联(例如,S1<->PE-1链路被映射 到聚合PWid 100中的PWid 4)。因此,PE-1将PWid 4推送到分组 上。PE-1然后推送SLI以指示PWid FEC在分组中被编码在它之下。 基于在PE-1处的聚合PWid 100的FTN条目(例如,如图10A中所 示),PE-1将PW标签Lx推送到PE-2。基于LSP-A的FTN条目(例 如,如图10A中所示),PE-1进一步推送标签L1以将PW标签Lx 传送到PE-2。通过向P1添加第2层报头以形成分组903并将分组903 发送到P1,PE-1将分组{L1,Lx,SLI,PWid=4,P}发送到P1。P1接 收分组903并生成分组904以发送给P2。P1将LSP-A的标签从L1 替换到L2,并用第2层报头L2 HDR2替换第2层报头L2 HDR1。P1 将分组904发送到P2。P2接收分组904并生成分组905以发送到PE-2。 P2将LSP-A的标签从L2替换到L3,并用第2层报头L2 HDR3替换 第2层报头L2 HDR2。P2将分组905发送到PE-2。PE-2接收分组905 并生成分组906以发送到以太网交换机S2。PE-2在接收到带有标签 L3的分组{L3,Lx,SLI,PWid=4,P}后,推送出标签L3,因为这是 LSP-A的结束(例如,由图10B中的ILM表所确定)。PE-2基于标 签L3指示标签L3之下还有更多标签(即标签L3中的BOS位为0) 的确定,在ILM表中查找下一个标签Lx(例如,使用图8B中的ILM 表)。PE-2弹出标签Lx,因为标签Lx指示PWid 100的结束。在PE-2 处,PWid 100被映射到它的成员PWid表,其指示这个PW是聚合 PW,所以PE-2找到下一个标签,即SLI。PE-2弹出SLI,然后读取 并弹出下面的PWid FEC,即成员PWid 4。PE-2在聚合PWid 100的 成员PWid表中查找PWid 4。基于PWid 4的成员条目,PE-2将分组 作为分组906(相当于分组902和901)发送到S2。以太网交换机S2 接收分组906并将分组907(它等同于分组906,并且因此等同于分 组902和901)发送到主机B。
需要注意的是,虽然主要针对所有PW被覆盖在单个聚合PW之 上的示例(即,所有128K个PW都被覆盖在单个聚合PW之上)的 示例而呈现,但是一对PE路由器可以建立多个聚合PW,在它们之 间具有不相交的特性。例如,一对PE路由器可以具有每个PW类型 (例如以太网、ATM等)的一个聚合PW。例如,可以建立多个聚合PW,每个聚合PW具有不同的QoS配置文件。具有特定QoS需求的 聚合PW可以在保证QoS的PSN隧道上被传送,因此具有不同QoS 配置文件的聚合PW可以沿着PSN中的不同路径进行传送。需要注 意的是,聚合PW的QoS配置文件是聚合PW的成员PW的QoS配 置文件的累积。应当了解,各种其他参数或参数的组合可以被用作基 础以用于定义聚合PW。
需要注意的是,在图9中,如果PE-1和PE-2在不同的IP路由 域中,LSP-A或LSP-B也可以是聚合的。这将是聚合LSP上的子LSP 上的PW聚合上的PW的情况(PW-over-AggregatePW-over-sub-LSP-over-Aggregate-LSP)。需要注意的是,由于子LSP 在其之后承载了聚合PW标签,因此子LSP的FEC会将S标志设置 置为0。应当了解,LSP和子LSP的各种其他组合可以与聚合PW和 成员PW结合使用,以支持用于支持LSP的可扩展性的各种示例实施 例。
用于支持LSP的可扩展性的各种示例实施例可以被配置为使用 聚合多段PW来支持LSP的可扩展性。
一般来说,当PW跨越两个以上的PE路由器时,那么它被称为 MS-PW。PW终止的那对PE路由器被称为终止PE(T-PE)路由器, 并且中间PE路由器被称为交换PE(S-PE)路由器。建立MS-PW的 原因有多种,诸如避免每对T-PE路由器之间的控制协议会话(例如 LDP、BGP等)的全网格,提供出于安全原因而不被允许的T-PE路 由器对之间的直接控制协议会话——因为每个T-PE驻留在不同的路 由域中,其中每个路由域都在单独的管理控制之下,等等。在图11 中呈现了MS-PW的示例实施例。
图11描绘了用于图示使用动态聚合MS-PW的LSP的可扩展性 的动态聚合MS-PW的示例实施例。
在通信系统1100中,通过LDP作为信令协议在T-PE1和T-PE2 之间建立动态MS-PW。S-PE1、S-PE2、S-PE3、S-PE4是T-PE之间 的潜在S-PE。T-PE和S-PE通过分组交换网络互连。每个PW分段都 被覆盖在PSN隧道之上以到达下一跳S-PE或T-PE。可以支持MS-PW 端点地址的基于BGP的路由,并且可以支持基于LDP的控制平面以 建立和维护MS-PW。MS-PW的端点由附件个体标识符(AII)来标 识。AII有两种不同的寻址方案——AII类型1(也被称为AII-1)和 AII类型2(也被称为AII-2)。动态MS-PW使用AII-2,其格式为元 组{路由区分符(RD),前缀,附件电路(AC)标识符(ID)}。每个T-PE被 指派唯一的{RD,前缀},从中它为每个在那里终止的MS-PW指派一 个AC ID。因此,在T-PE处终止的所有MS-PW都可以通过公共{RD, 前缀}聚合,该公共{RD,前缀}被称为“AII-2前缀”。AII-2前缀可 以被认为等同于包括共享AII-2前缀的所有PW的IP子网。在图11 中,假设T-PE1被指派AII-2前缀{RD1,Pfx1}并且T-PE2被指派{RD2, Pfx2}。通过BGP作为AII-2路由协议,作为路由而在所有T-PE和 S-PE上分发前缀。因此,每个T-PE或S-PE中的BGP计算针对AII-2 前缀的下一跳S-PE或T-PE,并将AII-2前缀编程在AII-2路由表中。
在图11中,考虑假设需要在T-PE1和T-PE2之间供应MS-PW的 示例。在这个示例中,在T-PE1和T-PE2处指派的用于MS-PW的 AII-2分别是{RD1,Pfx1,100}和{RD2,Pfx2,100}。AII-2值较大的 T-PE启动MS-PW的信令。在这里,假设启动者是T-PE1。
在这个示例中,T-PE1为MS-PW FEC={SAII={RD1,Pfx1,100}, TAII={RD2,Pfx2,100}}分配标签L100。SAII意指“源”AII,并且 TAII意指“目标”AII。T-PE1在AII-2路由表中查找TAII,其找到 最佳匹配的(基于LPM)AII-2前缀{RD2,Pfx2},下一跳为S-PE1。然后,标签映射{FEC={SAII={RD1,Pfx1,100},TAII={RD2,Pfx2}}, Label=L100}被发送到S-PE1。需要注意的是,由于T-PE1和S-PE1 没有直接连接,所以分组经由PSN隧道(GRE隧道、MPLS LSP等) 被隧道传输到S-PE1。因此,该分组进一步被PSN隧道封装,并被发 送到PSN隧道的下一跳。为简单起见,此处不描述T-PE和S-PE之 间的PSN隧道传输。
在该示例中,在接收到来自T-PE1的标签映射后,S-PE1在AII-2 路由表中查找TAII,其找到最佳匹配的AII-2前缀{RD2,Pfx2},下一 跳为S-PE3。然后,S-PE1为MS-PW FEC={SAII={RD1,Pfx1,100}, TAII={RD2,Pfx2,100}}分配标签L200并发送标签映射 {FEC={SAII={RD1,Pfx1,100},TAII={RD2,Pfx2}},Label=L200}到 S-PE3。这意味着,当S-PE1接收到标签为L200的PW分组时,它将 用标签L300替换并将该分组发送给T-PE1。
在这个示例中,在接收到来自S-PE1的标签映射后,S-PE3在AII-2 路由表中查找TAII,其找到最佳匹配的AII-2前缀{RD2,Rfx2},下 一跳为S-PE4。然后,S-PE3为MS-PW FEC={SAII={RD1,Pfx1,100}, TAII={RD2,Pfx2,100}}分配标签L300并发送标签映射 {FEC={SAII={RD1,Pfx1,100},TAII={RD2,Pfx2}},Label=L300}到 S-PE4。
在这个示例中,在接收到来自S-PE3的标签映射后,S-PE4在AII-2 路由表中查找TAII,其找到最佳匹配的AII-2前缀{RD2,Pfx2},下一 跳为T-PE2。然后,S-PE4为MS-PW FEC={SAII={RD1,Pfx1,100}, TAII={RD2,Pfx2,100}}分配标签L400并发送标签映射 {FEC={SAII={RD1,Pfx1,100},TAII={RD2,Pfx2}},Label=L400}到 T-PE2。
在这个示例中,在接收到标签映射后,T-PE2在AII-2路由表中 查找TAII,其指示AII-2前缀{RD2,Pfx2}是本地的,并且这是PW的 终结点。在这个示例中,T-PE2在相反的方向上启动MS-PW的信令。
在这个示例中,在相反方向上,MS-PW FEC中的SAII和TAII 值是相反的。因此,用MS-PW FEC={SAII={RD2,Pfx2,100}, TAII={RD1,Pfx1,100}}执行反向信令。到T-PE1的反向信令遵循与 前向方向相同的路径(S-PE)。在这里,假设在相反的方向上由T-PE2、 S-PE4、S-PE3、S-PE1指派的标签分别为L500、L600、L700、L800。
在这个示例中,一旦在两个方向上信令完成,就可以在MS-PW 上发送分组。
在这个示例中,T-PE1为了在MS-PW上发送分组P,将标签L800 推送到分组上,然后进一步推送终止于S-PE2处的PSN隧道的封装。 然后T-PE1将分组{PSN隧道封装到S-PE2,L800,P}发送到PSN隧道 的直接下一跳。在穿越隧道之后,分组被S-PE2接收。S-PE2去除PSN封装,基于MS-PW的数据平面状态,用标签L700替换标签L800, 然后推送终止于S-PE3处的PSN隧道的封装。S-PE3将分组{PSN隧 道封装到S-PE3,L700,P}发送到PSN隧道的直接下一跳。在穿越隧 道之后,分组被S-PE3接收。S-PE3去除PSN封装,基于MS-PW的 数据平面状态,利用标签L600替换标签L700,然后推送终止于S-PE4 处的PSN隧道的封装。S-PE4将分组{PSN隧道封装到S-PE4,L600,P} 发送到PSN隧道的直接下一跳。在穿越隧道之后,分组被S-PE4接 收。S-PE4去除PSN封装,基于MS-PW的数据平面状态,用标签L500 替换标签L600,并推送终止于T-PE2处的PSN隧道的封装。S-PE4 将分组{PSN隧道封装到T-PE2,L500,P}发送到PSN隧道的直接下一 跳。在穿越隧道之后,分组被T-PE2接收。T-PE2去除PSN封装,基 于MS-PW的数据平面状态,弹出标签L500,并且将分组P转发给与 MS-PW相关联的AC。
在AII-2中,AC字段是16比特。因此,T-PE中的64K个MS-PW 可以共享单个AII-2前缀。S-PE维护通过它穿越的每个MS-PW的控 制和数据平面状态。需要注意的是,动态MS-PW的这种模型可能具 有如下某些局限性。首先,S-PE需要从其本地标签空间分配标签, 以用于建立通过该S-PE进行路由的每个MS-PW。由于S-PE标签空 间由许多基于MPLS的应用(包括基于MPLS的PSN隧道)共享, S-PE通常需要为在S-PE处拼接的MS-PW维护大量的控制平面和数 据平面状态(例如,仅一对T-PE就可以有128K个MS-PW)。其次, 由于每个S-PE都做PW分段拼接,每个S-PE通常需要参与PW OAM 功能。第三,MS-PW的建立和维护过程通常导致S-PE处的控制平面 拥塞。例如,S-PE需要参与PW状态信令,以便在通过那里进行路由 的每个MS-PW上进行各种维护过程。此外,如果S-PE需要处理网络 事件(例如,PW下一跳故障等)或需要重新路由,那么S-PE会在参 与的S-PE设备之间引发相对非常大量的控制平面交换。LDP是用于 MS-PW的默认信令协议,并且是基于TCP的协议,大量的LDP协议 交换可能导致S-PE处的TCP拥塞并影响使用相同LDP会话的其他基 本服务。第四,随着通过S-PE进行路由的PW数量的增长,每个S-PE 都需要维护越来越多的控制平面状态。控制平面的存储器有限,因此 限制了AS可以提供的MS-PW服务的数目。需要注意的是,至少一 些这样的潜在限制可以通过本文呈现的各种示例实施例来解决。
在用于支持LSP的可扩展性的各种示例实施例中,T-PE不再单 独地建立每个MS-PW。而是一对T-PE建立聚合MS-PW。如上所讨 论,使用针对聚合MS-PW的端点的AII-2寻址,由控制协议(例如, LDP、BGP等)建立聚合MS-PW。然而,聚合MS-PW的标签映射还 包括一个或多个比特串块,其中比特串中的比特位置是覆盖在聚合 MS-PW之上的SS-PW的标识符。例如,块10中的比特位置100是 PWid 2660(=10x256+100)的SS-PW。需要注意的是,PWid在聚合 PW内是唯一的。由于SS-PW被覆盖在聚合MS-PW之上,因此沿着 聚合PW路径的S-PE不维护SS-PW的任何状态。例如,假设存在与 聚合MS-PW相关联的4K个SS-PW,那么PW可以用16个块来指示。 仅此一项就将T-PE和S-PE处的控制平面和数据平面开销降低了4K 倍。T-PE不需要为SS-PW分配4K个标签。T-PE的数据平面仅保持 与聚合MS-PW相关联的PWid列表,以识别覆盖的SS-PW。这种方 法还改进了针对SS-PW的建立时间,因为代替在T-PE路由器之间的4K个标签映射交换,16比特字符串块可以被包括在一个或两个聚合 MS-PW标签映射消息中。如果SS-PW的操作状态发生变化,那么通 过T-PE路由器可以通过重新发送聚合MS-PW的标签映射来反映它, 该标签映射仅包括包含变化SS-PW的比特串块。S-PE只需要在发生 故障的情况下重新路由聚合MS-PW。
关于图11呈现了用于支持使用聚合多段PW的LSP的可扩展性 的各种示例实施例。应当了解,通过考虑以下示例,可以进一步理解 各种示例实施例。
在该示例中,在T-PE1和T-PE2之间建立任何PW之前,在它们 之间供应至少一个聚合MS-PW。例如,假设在T-PE1和T-PE2处指 派的聚合MS-PW的AII-2分别是{RD1,Pfx1,100}和{RD2,Pfx2, 100}。然后,AII-2值较大的T-PE启动聚合MS-PW的信令。在这里, 启动者是T-PE1。T-PE1为聚合MS-PW FEC={SAII={RD1,Pfx1,100}, TAII={RD2,RFx2,100}}分配标签L100。假设T-PE还需要在聚合 MS-PW之上建立200个SS-PW。然后,为SS-PW指派PWid 1-200, 并创建一个256位的比特串块,块标识符为1并且比特位置1-200被 设置为1。该比特串块表示聚合MS-PW FEC的子FEC。T-PE1在AII-2 路由表中查找TAII,其找到最佳匹配(基于LPM)AII-2前缀{RD2, Rfx2},下一跳为S-PE1。然后,将标签映射{FEC={SAII={RD1,Pfx1, 100},TAII={RD2,RFx2}},Label=L100,Sub-FECs=比特串}发送给 S-PE1。
在这个示例中,S-PE1接收到来自T-PE1的标签映射后,在AII-2 路由表中查找TAII,其找到最佳匹配AII-2前缀{RD2,Rfx2}-PE3, 下一跳为S。然后,S-PE1为聚合MS-PWFEC={SAII={RD1,Pfx1,100}, TAII={RD2,RFx2,100}}分配标签L200并发送标签映射{FEC={SAII={RD1,Pfx1,100},TAII={RD2,RFx2}},Label=L200, Sub-FECs=bitstring}到S-PE3。这意味着,当S-PE1接收到标签为L200 的PW分组时,它将利用标签L300替换标签L200,并将该分组发送 给T-PE1。
在这个示例中,在接收到来自S-PE1的标签映射后,S-PE3在AII-2 路由表中查找TAII,其找到最佳匹配AII-2前缀{RD2,Rfx2},下一 跳为S-PE4。然后,S-PE3为聚合MS-PWFEC={SAII={RD1,Pfx1,100}, TAII={RD2,RFx2,100}}分配标签L300并发送标签映射{FEC={SAII={RD1,Pfx1,100},TAII={RD2,RFx2}},Label=L300, Sub-FECs=bitstring}到S-PE4。
在这个示例中,在接收到来自S-PE3的标签映射后,S-PE4在AII-2 路由表中查找TAII,其找到最佳匹配AII-2前缀{RD2,Rfx2},下一 跳为T-PE2。然后,S-PE4为聚合MS-PWFEC={SAII={RD1,Pfx1,100}, TAII={RD2,RFx2,100}}分配标签L400并发送标签映射{FEC={SAII={RD1,Pfx1,100},TAII={RD2,RFx2}},Label=L400, Sub-FECs=比特串}到T-PE2。
在这个示例中,在接收到S-PE4的标签映射后,T-PE2在AII-2 路由表中查找TAII,其指示AII-2前缀{RD2,Rfx2}是本地的,并且 这是聚合的MS-PW的终结点。然后,T-PE2在相反的方向上发起聚 合MS-PW的信令。
在这个示例中,在相反的方向上,SAII和TAII值在聚合的MS-PW FEC中是相反的。因此,用聚合MS-PW FEC={SAII={RD2,Pfx2,100}, TAII={RD1,RFx1,100}}执行反向信令。到T-PE1的反向信令遵循与 前向方向相同的路径(S-PE),并且比特串作为Sub-FEC被包括在标 签映射消息中。在这里,假设在相反的方向上由T-PE2、S-PE4、S-PE3、 S-PE1指派的标签分别为L500、L600、L700、L800。
在这个示例中,一旦双向信令在两个方向上完成,就可以通过聚 合MS-PW在SS-PW上发送分组。需要注意的是,如果在聚合MS-PW 建立之后的某个时刻,T-PE需要添加或删除覆盖的SS-PW,那么T-PE 可以通过重新发送聚合MS-PW与更新后的Sub-FEC比特串块的标签映射来简单地反映该变化。
在这个示例中,T-PE1为了在SS-PW上发送PWid为100的分组 P,首先将PWid 100推送到分组P上,然后将SLI推送到分组上以指 示PWid的存在,然后将聚合的MS-PW标签L800推送到分组上,然 后进一步推送终止于S-PE2处的PSN隧道的封装。然后,T-PE1将分 组{PSN隧道封装到S-PE2,L800,SLI,FEC=PWid 100,P}发送到PSN 隧道的直接下一跳。在穿越隧道之后,分组被S-PE2接收。S-PE2去 除PSN封装,基于聚合MS-PW的数据平面状态,用标签L700替换 标签L800,并推送终止于S-PE3处的PSN隧道封装。然后S-PE3将 分组{PSN隧道封装到S-PE3,L700,SLI,FEC=PWid 100,P}发送到 PSN隧道的直接下一跳。在穿越隧道之后,分组被S-PE3接收。S-PE3 去除PSN封装。基于聚合MS-PW的数据平面状态,用标签L600替换标签L700,并推送终止于S-PE4处的PSN隧道封装。然后S-PE4 将分组{PSN隧道封装到S-PE4,L600,SLI,FEC=PWid 100,P}发送到 PSN隧道的直接下一跳。在穿越隧道之后,分组被S-PE4接收。S-PE4 去除PSN封装,基于聚合MS-PW的数据平面状态,用标签L500替 换标签L600,并推送终止于T-PE2处的PSN隧道的封装。然后S-PE4 将分组{PSN隧道封装到T-PE2,L500,SLI,FEC=PWid 100,P}发送到 PSN隧道的直接下一跳。在穿越隧道之后,分组被T-PE2接收。T-PE3 移除PSN封装,基于聚合MS-PW的数据平面状态,弹出标签L500, 找到SLI和PWid并查找PWid 100的转发状态,并且将分组P转发 给与PWid 100相关联的AC。
需要注意的是,一对T-PE路由器可以具有每个PW类型(例如 以太网、ATM等)的一个聚合MS-PW。需要注意的是,可以建立多 个聚合MS-PW,每个聚合MS-PW具有不同的QoS配置文件。需要 注意的是,具有特定QoS需求的聚合MS-PW将在保证QoS的PSN 隧道上被进一步传送。因此,具有不同QoS配置文件的聚合MS-PW 可以沿着S-PE的不同路径进行传送,并且聚合MS-PW的QoS配置 文件是所有成员SS-PW的累积QoS配置文件。
在图11的示例中,如果相邻的T-PE/S-PE在不同的IP路由域中, 则分段内的PSNLSP也可以是聚合LSP。这将是聚合MS-PW上的 PW/聚合LSP上的子LSP上的PW的情况(PW-over-Aggregate MS-PW /PW-over-sub-LSP-over-Aggregate-LSP)。由于子LSP承载聚合MS-PW标签,因此子LSP的FEC将S标志设置为0(意味着后面还 有更多标签)。
尽管聚合MS-PW的各个方面可以支持各种特征,但是应当了解, 聚合MS-PW的各个方面可能具有各种限制或潜在限制,如下文进一 步讨论的,这些限制或潜在限制可以通过本文呈现的各种示例实施例 来解决。可以在一对T-PE之间建立聚合MS-PW,而无需关联覆盖在 聚合MS-PW之上的SS-PW。一旦聚合MS-PW准备就绪,则每个覆 盖的SS-PW都由聚合MS-PW的上下文中的控制协议用信号发送。这 意味着标签由T-PE为SS-PW分配,并且标签映射作为{聚合MS-PW FEC,SS-PW FEC,Label}而被发送。标签映射穿越聚合MS-PW的路 径;路径中的S-PE将标签映射透明转发到聚合MS-PW的下一跳S-PE 或T-PE。因此,在针对覆盖的SS-PW的S-PE中没有维护控制和数 据平面状态。然后,为了在SS-PW上发送分组,T-PE将SS-PW标签、 聚合MS-PW标签和针对PSN隧道的封装推送到下一跳S-PE。然后, 分组被发送到PSN隧道的直接下一跳。然而,该解决方案并没有减 少因为每个SS-PW在聚合MS-PW的上下文中被独立地建立和维护而 导致的控制平面消息的开销,并且没有减少因为T-PE为每个被编程 到数据平面中的SS-PW分配一个标签而导致的T-PE中的控制平面和 数据平面状态。如下文进一步讨论的,本文呈现的各种示例实施例可 以被配置为解决这样的限制。
用于使用聚合MS-PW来支持LSP的可扩展性的各种示例实施例 可以减少因为每个SS-PW在聚合MS-PW的上下文中被独立地建立和 维护而导致的控制平面消息的开销,并且减少因为T-PE为每个被编 程到数据平面等中的SS-PW分配一个标签而导致的T-PE中的控制平 面和数据平面状态,以及其各种组合。
图12描绘了分组的示例实施例,用于图示对通过聚合LSP上的 子LSP传递的分组的分组编码。分组1200包括标签堆栈(包括N个 标签)、标签堆栈下方的子LSP指示符(SLI)标签和SLI标签的子 LSP FEC字段以及子LSP FEC下方的分组。
标签堆栈是与聚合LSP相关联的标签堆栈。当聚合LSP转而在 另一个LSP上被发送时(即,以LSP-in-LSP的方式),可能会出现 多个标签的情况。例如,如果聚合LSP是在LDPLSP上的BGP信号 发送的LSP,而LDP LSP在SR LSP上,那么N至少为3,因为SR 可以推送多于一个标签)。标签中的EXP和TTL字段可以被设置为 基于正被传送的底层分组的值,并且每个标签中的堆栈底(BOS)位 或S位将被设置为0,因为它们都不是最底层的标签。
SLI被配置为使聚合LSP的出口路由器能明确区分子LSP是通过 其FEC而被编码在分组中的。为了实现这一点,SLI被编码为使得它 就在子LSP FEC之前,其中“在……之前”意味着更靠近标签堆栈的 顶部(远离堆栈底部指示)。应当了解,如果被标准化,则用于SLI的值可以被保留在IANA注册管理机构专用标签上。需要注意的是, SLI中的EXP和TTL字段可以被设置为0,并且S位被设置为1,因 为没有更多后续标签跟随在SLI之后(即,SLI直接封装分组)。
图13描绘了用于图示子LSP的FEC的格式的子LSP的FEC的 示例实施例。
子LSP FEC 1300可以被编码到SLI下方的分组中。子LSP FEC 1300包括FEC类型字段、标志字段和值字段。
FEC类型字段是1个八位字节的字段,其指示FEC的类型。例 如,可以定义和使用以下FEC类型:(a)1=前缀FEC(其示例被呈 现在图14中),(b)2=PWid FEC(其示例被呈现在图15中),和 (C)3=聚合FEC中的偏移量(其示例被呈现在图16中)。应当了 解,更少或更多的类型(包括不同的类型)可以被定义和/或可以以其 他方式被定义。
8比特字段的标志字段指示FEC的各种补充信息。标志字段可以 包括可以在标志字段的最低有效位中提供的S比特。S比特被配置为 指示子LSP的FEC后面是否有更多标签(例如,S比特=0意指子LSP 的FEC后面有更多标签,而S位=1意指子LSP的FEC后面没有标签, 反之亦然)。例如,当子LSP上传送带有VPN标签的分组时,在FEC 之后至少有一个标签。标志字段的编码取决于FEC类型。
值字段是一个可变长度字段,其包括识别FEC的值。
图14描绘了用于图示前缀FEC子LSP的格式的前缀FEC子LSP 的示例实施例。
前缀FEC子LSP 1400可以被编码到SLI下方的分组中。需要注 意的是,该格式被用于域间前缀FEC聚合LSP的子LSP。前缀FEC 子LSP 1400包括FEC类型字段、标志字段、地址族字段、前缀长度 字段和前缀字段。
FEC类型字段是1个八位字节的字段,其用值1编码以指示前缀 FEC子LSP。
标志字段为8比特字段,其指示FEC的各种补充信息。标志字段 可以包括可以在标志字段的最低有效位中提供的S比特。S比特被配 置为指示子LSP的FEC后面是否有更多标签(例如,S比特=0意指 子LSP的FEC后面有更多标签,而S比特=1意指子LSP的FEC后 面没有标签,反之亦然)。例如,当子LSP上传送带有VPN标签的 分组时,在FEC之后至少有一个标签。标志字段的编码取决于FEC 类型。
地址族字段是1个八位字节的字段,其指示前缀FEC的地址族。 定义了以下两个子类型。例如,可以定义以下两个子类型:1=IPv4, 2=IPv6。
前缀长度是1个八位字节的字段,其对子LSP的前缀长度进行编 码。例如,在聚合LSP 10.10.2.0/24内,子LSP 10.10.2.9/32的前缀长 度为32,子LSP 10.10.2.16/28的前缀长度为28。
前缀字段是4个八位字节值或16个八位字节值,具体取决于地 址族。如果地址族为1,那么这是4个八位字节的字段,其对IPv4前 缀进行编码,标签在这种情况下,前缀长度字段对IPv4前缀的前缀 长度进行编码。如果地址族为2,那么这是16个八位字节的字段,其对IPv6前缀进行编码,标签在这种情况下,前缀长度字段对IPv6前 缀的前缀长度进行编码。
图15描绘了用于图示PWid FEC子LSP的格式的PWid FEC子 LSP的示例实施例。
PWid FEC子LSP 1500可以被编码到SLI下方的分组中。需要注 意的是,这种格式被用于覆盖在聚合PW之上的PW(例如,如图7 中所示)和覆盖在聚合MS-PW之上的SS-PW(例如,如图9中所示)。 PWid FEC子LSP 1500包括FEC类型字段、标志字段和PWid字段。
FEC类型字段是1个八位字节的字段,其用值2编码以指示PWid FEC子LSP。
标志字段为8比特字段,其指示FEC的各种补充信息。标志字段 可以包括可以在标志字段的最低有效位中提供的S比特。S位被配置 为指示子LSP的FEC后面是否有更多标签(例如,S位=0意指子LSP 的FEC后面有更多标签,而S位=1意指子LSP的FEC后面没有标签,反之亦然)。例如,当在子LSP上传送带有PW流标签标签的分组时, 在PWid FEC之后至少有一个标签。PW标签被用来为通过PW传送 的不同业务流着色。标志字段的编码取决于FEC类型。
PWid字段是2个八位字节的字段,其对指派给子LSP的PW标 识符进行编码。
图16描绘了用于图示范围在聚合内(Range-in-Aggregate)FEC 子LSP的格式的范围在聚合内FEC子LSP的示例实施例。
范围在聚合内FEC子LSP 1600可以被编码到SLI下方的分组中。 需要注意的是,范围在聚合内FEC子LSP并不是用于LSP的真正FEC 类型,而是表示聚合LSP的FEC内的范围,它表示子LSP的FEC。 这实现了子LSP的FEC的紧凑编码。范围在聚合内FEC子LSP 1600 包括FEC类型字段、标志字段、起始偏移量字段和范围字段。
FEC类型字段是1个八位字节的字段,其用值3编码以指示范围 在聚合内FEC子LSP。
标志字段为8比特字段,其指示FEC的各种补充信息。标志字段 可以包括可以在标志字段的最低有效位中提供的S比特。S比特被配 置为指示子LSP的FEC后面是否有更多标签(例如,S位=0意指子 LSP的FEC后面有更多标签,而S比特=1意指子LSP的FEC后面没 有标签,反之亦然)。例如,当子LSP上传送带有VPN标签的分组 时,在FEC之后至少有一个标签。标志字段的编码取决于FEC类型。
起始偏移量字段是2个八位字节的字段,其对聚合LSP的FEC 内的偏移量进行编码,这是子LSP的FEC的起始值。因此,起始值 的偏移量将小于65535(此2个八位字节字段的最大偏移量)。
范围字段包括子LSP的FEC中从起始偏移量开始的值的范围。 因此,最大范围将小于65535(此2个八位字节字段的最大范围)。
需要注意的是,当子LSP的FEC被聚合LSP的FEC归入时,该 方法提供基于前缀FEC的聚合LSP的子LSP的紧凑编码。例如,子 LSP 10.10.2.9/32可以被编码为10.10.2.0/24的聚合FEC中的偏移量, 其中起始偏移量为9并且范围为0。例如,子LSP 10.10.2.32/28可以被编码为10.10.2.0/24的聚合FEC中的偏移量,其中起始偏移量为32 并且范围为16。如果前缀FEC是IPv6类型,那么图14的格式需要 20个八位字节来编码子LSP的FEC,但是图16的格式需要6个八位 字节——如果子LSP的起始值和范围都在65535内的话。
图17描绘了由聚合LSP的入口路由器使用以用于在聚合LSP上 发送分组的方法的示例实施例。应当了解,虽然主要被呈现为顺序地 执行,但是方法1700的各个块的至少一部分可以同时或以与图17中 呈现的顺序不同的顺序执行。方法1700的输入包括要在聚合LSP上 发送的分组,以及如果要在聚合LSP的子LSP上发送分组,则包括 聚合LSP的子LSP的FEC。在块1701处,方法1700开始。块1702 检查子LSP的FEC是否作为输入而被提供。需要注意的是,如果需 要通过聚合LSP直接发送分组,则可以不提供子LSP。例如,如果需 要在FEC10.10.2.0/24的聚合LSP上发送IPv4报头中目的地址为 10.10.2.9的IP4分组,那么可以在聚合LSP上直接发送IPv4分组, 因为聚合LSP上的出口路由器可以适当地处理IPv4分组。如果没有 提供子LSP的FEC,那么方法1700进行到块1714,否则方法1700 进行到块1704。块1704检索与子LSP相关联的聚合LSP,然后方法 1700进行到块1706。块1706检查子LSP的FEC是否在聚合LSP的 FEC的范围内(其可以被编码为范围在聚合内FEC)(图16)。例 如,如果子LSP的FEC为10.10.2.9/32并且聚合LSP的FEC为 10.10.2.0/24,那么子LSP的FEC是在聚合LSP的FEC内的范围,其 中起始值为偏移量为9并且范围为0。如果子LSP的FEC将被编码为范围在聚合内FEC,那么方法1700进行到块1708,否则方法1700 进行到块1710。块1708将子LSP的FEC作为范围在聚合内FEC而 推送到分组上,即,使用图16中呈现的编码)。从块1710,方法1700 进行到块1712。块1710将子LSP的FEC推送到分组上。例如,这可 以涉及基于子LSP的FEC类型进行编码(例如,如图14、图15等中 所示)。从块1710,方法1700进行到块1712。块1712将SLI推送 到分组上,以指示子LSP的FEC跟随在SLI之后,然后方法1700进 行到块1714。块1714将聚合LSP的标签堆栈推送到分组上。从块 1714,方法1700进行到块1716。块1716将分组发送到聚合LSP的 下一跳。这涉及推送适当的(多个)封装以用于将分组传送到聚合 LSP的下一跳。例如,如果聚合LSP的下一跳是直接下一跳路由器, 那么该块将数据链路层封装(例如,以太网报头)推送到下一跳路由 器。例如,如果聚合LSP的下一跳是间接下一跳,那么该块将隧道传 输封装推送到聚合LSP的下一跳。例如,如果聚合LSP是聚合PW, 那么该块将用于PSN隧道的(一个或多个)封装推送到聚合PW的 下一跳(S-PE或T-PE),并将分组发送到PSN隧道的的直接下一跳。 从块1716,方法1700进行到块1799,在那里方法1700结束。在块 1700处,方法1700结束。
图18描绘了由聚合LSP的出口路由器使用以用于处理MPLS分 组的方法的示例实施例。应当了解,虽然主要被呈现为顺序地执行, 但是方法1800的各个块的至少一部分可以同时或以与图18中呈现的 顺序不同的顺序执行。方法1800的输入包括由路由器接收的MPLS 分组。在块1801处,方法1800开始。块1802弹出分组中最顶层的 标签,然后方法1800进行到块1804。块1804在ILM表中查找标签, 然后方法1800进行到块1806。块1806检查ILM条目是否被标注为 本地,这意味着路由器是针对标签的出口路由器。如果路由器不是针对标签的出口路由器,那么方法1800进行到块1812,否则方法1800 进行到块1808。块1808检查针对ILM条目的FEC是否是聚合FEC。 如果针对ILM条目的FEC不是聚合FEC,那么方法1800进行到块 1812,否则方法1800进行到块1810。块1810在聚合LSP的上下文 中处理分组,然后方法1800进行到块1899,在这里方法1800结束。 块1812基于ILM条目来处理分组,因为这不是在聚合LSP上终止的 分组,然后方法1800进行到块1899,在这里方法1800结束。在块 1899处,方法1800结束。
图19描绘了用于处理在聚合LSP上终止的分组的方法的示例实 施例。需要注意的是,该分组是在聚合LSP的FEC上下文中被处理 的。需要注意的是,方法1900可以提供图18的方法1800的块1810 的实现。应当了解,虽然主要被呈现为顺序地执行,但是方法1900 的各个块的至少一部分可以同时或以与图19中呈现的顺序不同的顺 序执行。方法1900的输入包括在聚合LSP上接收的分组、聚合LSP 的FEC以及关于该分组是否是MPLS分组的指示。需要注意的是, 关于该分组是否是MPLS的指示可以由HasLabels参数提供(例如, 基于聚合LSP标签中的BOS位),如果为真,则其指示该分组是MPLS 分组。在块1901处,方法1900开始。块1902检查分组是否是MPLS 分组。可以通过确定输入的HasLabels参数是否为真来检查该条件。 如果该分组不是MPLS分组,则方法1900进行到块1912,否则方法 1900进行到块1904。块1912基于其原生报头(native header)来处 理该分组,其中原生报头是基于聚合LSP的FEC类型来确定的。例 如,如果聚合LSP的FEC类型为前缀FEC,那么该分组将被视为IP分组并相应地进行处理。例如,如果聚合LSP的FEC是10.10.2.0/24, 那么IP分组可能是到目的地10.10.2.9的IPv4分组。块1904弹出分 组中最顶层的标签,然后方法1900进行到块1906。块1906检查标签 是否是SLI。如果标签不是SLI,那么方法1900进行到块1914,否则方法1900进行到块1908。块1914丢弃该分组,因为聚合LSP上的 任何带有标签的分组都属于子LSP,因此SLI必须已经存在。从块 1914,该方法进行到块1999,在那里方法1900结束。块1908从分组 中弹出SLI,然后方法1900进行到块1910。块1910将分组作为子 LSP分组进行处理,然后方法1900进行到块1999,在那里方法1900 结束。
图20描绘了用于在聚合LSP的上下文中处理在子LSP上接收的 分组的方法的示例实施例。需要注意的是,方法2000可以提供图19 的方法1900的块1910的实现。应当了解,虽然主要被呈现为顺序地 执行,但是方法2000的块的至少一部分可以同时或以与图20中呈现 的顺序不同的顺序执行。方法2000的输入包括分组(以子LSP的FEC 作为其最高报头)以及分组在其上到达的聚合LSP的FEC。在块2001 处,方法2000开始。块2002从分组的顶部解析并弹出子LSP FEC, 然后方法2000进行到块2004。块2004检查子LSP FEC是否是范围 在聚合内FEC类型(图16)。如果子LSP FEC是范围在聚合内FEC 类型,那么方法2000进行到块2006,否则方法2000进行到块2008。 块2006通过将范围在聚合内FEC映射到聚合LSP的FEC来计算子 LSP的实际FEC。例如,如果聚合LSP的FEC为前缀FEC 10.10.2.0/24 和起始偏移量,标签范围在聚合内FEC中的范围字段分别为32和16, 那么计算出的子LSP的FEC为10.10.2.32/28。方法2000从块2006 进入块2008。块2008在子LSP的FEC上下文中转发分组,然后方法 2000进入块2099,在那里方法2000结束。在块2099处,方法200 结束。
图21描绘了用于在子LSP FEC上转发分组的方法的示例实施例。 需要注意的是,方法2100可以提供图20的方法2000的块2008的实 现。应当了解,虽然主要被呈现为顺序地执行,但是方法2100的块 的至少一部分可以同时或以与图21中呈现的顺序不同的顺序执行。 方法2100的输入包括要在子LSP上转发的分组、子LSP FEC和聚合 LSP FEC。在块2101处,方法2100开始。块2102在FEC类型的适 当的转发表中查找子LSP的FEC。例如,如果FEC是前缀FEC(图 14),那么FEC的查找可以是在FTN表中。例如,如果FEC是PWid (图15),那么FEC的查找可以是在PWid转发表中。从块2102处, 方法2100进行到块2104。块2104检查对于子LSP是否存在转发状 态。如果子对于LSP不存在转发状态,那么方法2100进行到块2108, 否则方法2100进行到块2106。块2106在子LSP上转发分组,然后 方法2100进行到块2199,在那里方法2100结束。块2108丢弃分组, 然后方法2100进行到块2199,在那里方法2100结束。在块2199处, 方法2100结束。
图22描绘了当FEC是前缀类型时用于在子LSP上转发分组的方 法的示例实施例。需要注意的是,当子LSP FEC是前缀类型时,方法 2200可以提供图21的方法2100的实现。应当了解,虽然主要被呈现 为顺序地执行,但是方法2200的块的至少一部分可以同时或以与图 22中呈现的顺序不同的顺序执行。方法2200的输入包括要在子LSP 上转发的分组和子LSP FEC前缀。在块2201处,方法2200开始。块 2202在FTN表中查找与子LSP FEC前缀最佳匹配的条目。在这里, 最佳匹配意指最长前缀匹配(LPM)。从块2202,方法2200进行到 块2204。块2204检查是否找到匹配的FTN条目。如果没有找到匹配 的FTN条目,那么方法2200进行到块2222,否则方法2200进行到 块2206。块2206检查FTN条目中的FEC前缀是否是子LSP FEC前 缀的精确匹配。如果FTN条目中的FEC前缀是子LSP FEC前缀的精 确匹配,那么方法2200进行到块2218,否则方法2200进行到块2208。 块2222检查子LSP FEC前缀是否是本地IP地址或本地子网。可以通 过在IP路由表中查找前缀来进行此确定。如果子LSP FEC前缀不是 本地的,那么方法2200进行到块2224,否则方法2200进行到块2226。 由于未找到匹配的LSP,块2224丢弃分组,然后方法2200进行到块 2299,在那里方法2200结束。块2226基于其原生报头来处理分组, 因为路由器也是子LSP的出口路由器。如果分组是MPLS分组(例 如,如果这是一个VPN分组,那么将存在一个或多个MPLS标签, 如子LSP FEC中的S标志所指示的),那么该分组被重新插入到图 18的方法1800。如果分组不是MPLS分组,那么将分组作为本地IP 分组进行处理。从块2226,方法2200进行到块2299,在那里方法2200 结束。块2208将子LSP FEC前缀推送到分组上,因为分组需要在聚 合LSP上被传送,因为在FTN表中没有找到子LSP FEC前缀的精确 匹配条目。从块2208,方法2200进行到块2210。块2210检查子LSP FEC前缀是否在FTN条目中的FEC前缀中子LSP FEC可以以紧凑的 形式被编码为范围在聚合内FEC的这样一个范围内(如图16中所描 绘)。如果子LSP FEC前缀不在FTN条目中的FEC前缀中子LSP FEC 可以以紧凑的形式被编码为范围在聚合内FEC的范围内,那么方法2200进行到块2212,否则方法2200进行到块2214。块2214计算FTN 条目中的FEC前缀中的子LSP FEC前缀的起始偏移量和范围,并对 被推送到分组顶部上的范围在聚合内FEC进行编码。例如,如果子 LSP FEC前缀是10.10.2.32/28并且FTN条目中的FEC前缀是 10.10.2.0/24,那么范围在聚合内FEC用起始偏移量32和范围16进 行编码。从块2214,方法2200进行到块2216。块2212将子LSP FEC 前缀推送到分组上,然后方法2200进行到块2216。块2216将SLI 推送到分组上,然后方法2200进行到块2218。块2218推送聚合LSP 的标签堆栈,即与FTN条目相关联的标签堆栈。需要注意的是,聚 合LSP本身可能被覆盖在其他LSP上(例如,LDPoverRSVP、 BGPoverLDPoverSR等),这可能需要推送针对每个级别的标签,并 且因此,块2218可能需要推送整个标签堆栈。从块2218,方法2200 进行到块2220。块2220将MPLS分组发送到聚合LSP的下一跳。从 块2220,方法2200进行到块2299,在那里方法2200结束。
图23描绘了当FEC是PWid类型时用于在子LSP上转发分组的 方法的示例实施例。需要注意的是,当子LSP FEC是PWid类型时, 方法2300可以提供图21的方法2100的实现。应当了解,虽然主要 被呈现为顺序地执行,但是方法2300的各个块的至少一部分可以同 时或以与图23中呈现的顺序不同的顺序执行。方法2300的输入包括 在PW(子LSP)上接收的分组、PW的PWid、以及PW覆盖在其上 的聚合PW的FEC。在块2301处,方法2300开始。块2302通过使 用PWid作为索引来查找与聚合PW的FEC相关联的PWid表,然后 方法2300进行到块2304。块2304检查是否找到匹配的PWid表条目。 如果没有找到匹配的PWid表条目,那么方法2300进行到块2312, 否则方法2300进行到块2306。块2312丢弃分组,然后方法2300进 行到块2399,在那里方法2300结束。块2306检查PW是否在转发表 中终止,这由PWid表条目中的字段来指示。例如,如果PW被用于 连接VPLS站点,那么PW在MAC转发表中终止。如果PW在转发表中终止,那么方法2300进行到块2310,否则方法2300进行到块 2308。块2310基于在转发表的上下文中的原生报头的处理来转发分 组。例如,如果分组是VPLS中的以太网分组,那么在VPLS的MAC 转发表中查找以太网报头的目的地地址,并将分组转发到适当的下一 跳。从块2310,方法2300进行到块2399,在那里方法2300结束。 块2308将分组转发到被编程在PWid表条目中的AC,然后方法2300 进行到块2399,在那里方法2300结束。在块2399处,方法2300结 束。
图24描绘了用于支持标签交换路径的可扩展性的方法的示例实 施例。应当了解,虽然主要被呈现为顺序地执行,但是方法2400的 各个块的至少一部分可以同时或以与图24中呈现的顺序不同的顺序 执行。在块2401处,方法2400开始。在块2410处,基于在聚合标签交换路径的标签之下包括子标签交换路径的转发等价类,支持分组 在聚合标签交换路径的子标签交换路径上的通信。在至少一些示例实 施例中,支持分组的通信可以包括:由聚合标签交换路径的出口路由 器基于子标签交换路径的转发等价类来确定用于分组的下一个标签 交换路径。在至少一些示例实施例中,该方法包括:防止由聚合标签 交换路径的出口路由器用信号发送子标签交换路径与聚合标签交换 路径的关联的信令。在至少一些示例实施例中,该方法包括:由聚合 标签交换路径的入口路由器形成子标签交换路径与聚合标签交换路 径的关联。在至少一些示例实施例中,子标签交换路径与聚合标签交 换路径的关联基于子标签交换路径的转发等价类是聚合标签交换路 径的转发等价类的子集。在至少一些示例实施例中,子标签交换路径 与聚合标签交换路径的关联基于入口路由器处的策略。在至少一些示 例实施例中,子标签交换路径基于第一版本的互联网协议(IP)并且 聚合标签交换路径基于第二版本的IP,其中入口路由器处的策略被配 置为关联第一版本的IP的第一IP前缀和第二版本的IP的第二IP前 缀。在至少一些示例实施例中,子标签交换路径的转发等价类类型和 聚合标签交换路径的转发等价类类型相同。在至少一些示例实施例 中,子标签交换路径的转发等价类类型和聚合标签交换路径的转发等 价类类型是前缀转发等价类类型。在至少一些示例实施例中,子标签 交换路径的转发等价类是聚合标签交换路径的转发等价类的子集。在 至少一些示例实施例中,前缀转发等价类类型是互联网协议版本4 (IPv4)前缀或互联网协议版本6(IPv6)前缀。在至少一些示例实 施例中,子标签交换路径是单段伪线并且子标签交换路径的转发等价 类是基于数字PWid的转发等价类类型,其中聚合标签交换路径是单 段伪线并且聚合标签交换路径的转发等价类是基于PWid的转发等价 类类型。在至少一些示例实施例中,子标签交换路径是单段伪线并且 子标签交换路径的转发等价类是基于数字PWid的转发等价类类型, 其中聚合标签交换路径是多段伪线并且聚合标签交换路径的转发等 价类是PWid转发等价类类型。在至少一些示例实施例中,子标签交 换路径的转发等价类类型和聚合标签交换路径的转发等价类类型不 同。在至少一些示例实施例中,子标签交换路径是单段伪线并且子标 签交换路径的转发等价类是基于PWid的转发等价类类型,其中聚合 标签交换路径是多段伪线并且聚合标签交换路径的转发等价类是基 于{SAII,TAII}的转发等价类类型。在至少一些示例实施例中,子标 签交换路径是单段伪线并且子标签交换路径的转发等价类是基于数 字PWid的转发等价类类型,其中聚合标签交换路径是多段伪线并且 聚合标签交换路径的转发等价类是单段伪线转发等价类类型。在至少 一些示例实施例中,子标签交换路径是单段伪线并且子标签交换路径 的转发等价类是基于数字PWid的转发等价类类型,其中聚合标签交 换路径是多段伪线并且聚合标签交换路径的转发等价类是多段伪线 转发等价类类型。在至少一些示例实施例中,子标签交换路径和聚合 标签交换路径具有公共出口路由器。在至少一些示例实施例中,聚合 标签交换路径的出口路由器是路由域的边界路由器,其中聚合标签交 换路径的转发等价类类型是前缀转发等价类类型。在至少一些示例实 施例中,路由域是内部网关协议(IGP)区域或自治系统(AS)。在 至少一些示例实施例中,前缀转发等价类类型是对路由域的边界路由 器所汇总的互联网协议(IP)路由前缀进行编码的前缀转发等价类。 在至少一些示例实施例中,聚合标签交换路径的出口路由器是提供方 边缘路由器,其中聚合标签交换路径的转发等价类类型是单段伪线转 发等价类类型。在至少一些示例实施例中,聚合标签交换路径的出口 路由器是终端提供方边缘路由器,其中聚合标签交换路径的转发等价 类类型是多段伪线转发等价类类型。在至少一些示例实施例中,该方 法包括:由入口路由器在聚合标签交换路径的出口路由器处验证子标 签交换路径的有效性。在至少一些示例实施例中,基于至少一个连接 性消息从入口路由器发送到聚合标签交换路径的出口路由器,在聚合 标签交换路径的出口路由器处验证子标签交换路径的有效性。在至少 一些示例实施例中,该方法包括:由聚合标签交换路径的出口路由器 用信号发送聚合标签交换路径的有效子标签交换路径集合的指示。在 至少一些示例实施例中,用信号发送聚合标签交换路径的有效子标签 交换路径集合的指示包括:由聚合标签交换路径的出口路由器在聚合 标签交换路径的标签映射消息内包括比特串,该比特串包括与聚合标签交换路径的相应子标签交换路径集合相关联的比特位置集合。在至 少一些示例实施例中,子标签交换路径的转发等价类是数字PWid转 发等价类类型,并且聚合标签交换路径的转发等价类类型是单段伪线 转发等价类类型,其中子标签交换路径在比特串中的比特位置是子标 签交换路径的PWid。在至少一些示例实施例中,子标签交换路径的 转发等价类是数字PWid转发等价类类型,并且聚合标签交换路径的 转发等价类类型是多段伪线转发等价类类型,其中子标签交换路径在 比特串中的比特位置是子标签交换路径的PWid。在至少一些示例实 施例中,子标签交换路径的转发等价类是聚合标签交换路径的前缀转 发等价类内的互联网协议(IP)主机地址,其中子标签交换路径在比 特串中的比特位置是在聚合标签交换路径的前缀转发等价类中的IP 主机地址的偏移量。在块2499处,方法2400结束。
应当了解,虽然在本文中主要是在其中在聚合LSP的子LSP上 支持分组通信的布置的上下文中被呈现,但是在至少一些示例实施例 中,聚合LSP可以是LSP和子LSP的更一般形式可以更一般地被称 为LSP的成员LSP。在至少一些示例实施例中,可以基于在LSP的标签下方包括子LSP或成员LSP的FEC来支持分组在LSP的子LSP 或成员LSP上的通信。
用于支持LSP的可扩展性的各种示例实施例可以提供各种优势 或潜在优势。例如,用于支持LSP的可扩展性的各种示例实施例可以 被配置为提供用于MPLS LSP的可扩展性的简单且通用的解决方案, 而对现有MPLS数据平面和控制平面的改变非常小。例如,用于支持 LSP的可扩展性的各种示例实施例可以被配置为支持域间LSP的可 扩展性,包括将IGP区域间LSP的数量减少每个区域的平均路由器 数量倍(例如,在许多情况下,实际来说,一个IGP区域最多可以有 300个路由器,因此区域间LSP可以减少300倍,这是一个显著的扩展改进)。一般来说,域间LSP的可扩展性是当今的主要痛点。例如, 用于支持LSP的可扩展性的各种示例实施例可以被配置为改善包括 SS-PW和MS-PW在内的各种类型的PW的可扩展性(例如,在至少 一些情况下改善高达99.97%)。用于支持LSP的可扩展性的各种示 例实施例可以提供各种其他优势或潜在优势。
图25描绘了适合用于在执行本文呈现的各种功能时使用的计算 机的示例实施例。
计算机2500包括处理器2502(例如,中央处理单元(CPU)、 处理器、具有一组处理器核的处理器、处理器的处理器核等)和存储 器2504(例如,随机存取存储器、只读存储器等)。处理器2502和 存储器2504可以可通信地连接。在至少一些示例实施例中,计算机2500可以包括至少一个处理器和至少一个包括计算机程序代码的存 储器,其中至少一个存储器和计算机程序代码被配置为与至少一个处 理器一起使计算机执行本文呈现的各种功能。
计算机2500还可以包括协作元件2505。协作元件2505可以是硬 件设备。协作元件2505可以是可以被加载到存储器2504中并且由处 理器2502执行以实现本文呈现的各种功能的进程(例如,在这种情 况下,协作元件2505(包括相关联的数据结构)可以被存储在非瞬态 计算机可读存储介质上,诸如存储设备或其他合适类型的存储元件 (例如,磁驱动器、光驱等))。
计算机2500还可以包括一个或多个输入/输出设备2506。输入/ 输出设备2506可以包括一个或多个用户输入设备(例如,键盘、小 键盘、鼠标、麦克风、相机等)、用户输出设备(例如,显示器、扬 声器等)、一个或多个网络通信设备或元件(例如,输入端口、输出 端口、接收器、发射器、收发器等)、一个或多个存储设备(例如, 磁带驱动器、软盘驱动器、硬盘驱动器、光盘驱动器等)等,以及它 们的各种组合。
应当了解,计算机2500可以表示适合于实现本文描述的功能元 件、本文描述的功能元件的各部分等以及它们的各种组合的通用架构 和功能性。例如,计算机2500可以提供适合于实现本文呈现的一个 或多个元件(诸如网络设备(例如,路由器等)、网络控制器等以及 它们的各种组合)的通用架构和功能性。
应当了解,本文呈现的至少一些功能可以用软件实现(例如,通 过在一个或多个处理器上的软件实现,用于在通用计算机上执行(例 如,经由一个或多个处理器执行),从而提供专用计算机等)和/或可 以用硬件实现(例如,使用通用计算机、一个或多个专用集成电路和 /或任何其他硬件等效物)。
应当了解,本文呈现的至少一些功能可以在硬件内被实现,例如, 被实现为与处理器协作以执行各种功能的电路。本文描述的功能/元件 的各部分可以被实现为计算机程序产品,其中计算机指令在被计算机 处理时对计算机的操作进行适配以使得本文描述的方法和/或技术被 调用或以其他方式被提供。用于调用各种方法的指令可以被存储在固定或可移除介质(例如,非瞬态计算机可读介质)中,经由广播或其 他信号承载介质中的数据流而被发射,和/或被存储在根据指令进行操 作的计算设备内的存储器内。
应当了解,除非另有说明(例如,使用“或否则”或“或以替代 方式”),否则本文中所使用的术语“或”是指非排他性的“或”。
应当了解,虽然本文详细示出并描述了结合本文所呈现的教导的 各种实施例,但是本领域技术人员可以容易地设计出仍结合了这些教 导的许多其他变化的实施例。

Claims (33)

1.一种装置,包括:
至少一个处理器;以及
至少一个存储器,包括指令集;
其中所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
基于在聚合标签交换路径的标签之下包括子标签交换路径的转发等价类,支持分组在所述聚合标签交换路径的所述子标签交换路径上的通信。
2.根据权利要求1所述的装置,其中为了支持所述分组的通信,所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
由所述聚合标签交换路径的出口路由器基于所述子标签交换路径的所述转发等价类,确定用于所述分组的下一个标签交换路径。
3.根据权利要求1至2中任一项所述的装置,其中所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
阻止由所述聚合标签交换路径的出口路由器用信号发送所述子标签交换路径与所述聚合标签交换路径的关联的信令。
4.根据权利要求1所述的装置,其中所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
由所述聚合标签交换路径的入口路由器形成所述子标签交换路径与所述聚合标签交换路径的关联。
5.根据权利要求4所述的装置,其中所述子标签交换路径与所述聚合标签交换路径的所述关联基于的是所述子标签交换路径的所述转发等价类是所述聚合标签交换路径的转发等价类的子集。
6.根据权利要求4所述的装置,其中所述子标签交换路径与所述聚合标签交换路径的所述关联基于的是所述入口路由器处的策略。
7.根据权利要求6所述的装置,其中所述子标签交换路径基于的是第一版本的互联网协议IP,并且所述聚合标签交换路径基于的是第二版本的IP,其中所述入口路由器处的所述策略被配置为将所述第一版本的IP的第一IP前缀与所述第二版本的IP的第二IP前缀相关联。
8.根据权利要求1至7中任一项所述的装置,其中所述子标签交换路径的转发等价类类型和所述聚合标签交换路径的转发等价类类型是相同的。
9.根据权利要求8所述的装置,其中所述子标签交换路径的所述转发等价类类型和所述聚合标签交换路径的所述转发等价类类型是前缀转发等价类类型。
10.根据权利要求9所述的装置,其中所述子标签交换路径的所述转发等价类是所述聚合标签交换路径的所述转发等价类的子集。
11.根据权利要求9所述的装置,其中所述前缀转发等价类类型是互联网协议版本4(IPv4)前缀或互联网协议版本6(IPv6)前缀。
12.根据权利要求8所述的装置,其中所述子标签交换路径是单段伪线并且所述子标签交换路径的所述转发等价类是基于数字PWid的转发等价类类型,其中所述聚合标签交换路径是单段伪线并且所述聚合标签交换路径的所述转发等价类是基于PWid的转发等价类类型。
13.根据权利要求8所述的装置,其中所述子标签交换路径是单段伪线并且所述子标签交换路径的所述转发等价类是基于数字PWid的转发等价类类型,其中所述聚合标签交换路径是多段伪线并且所述聚合标签交换路径的所述转发等价类是PWid转发等价类类型。
14.根据权利要求1至13中任一项所述的装置,其中所述子标签交换路径的转发等价类类型与所述聚合标签交换路径的转发等价类类型是不同的。
15.根据权利要求14所述的装置,其中所述子标签交换路径是单段伪线并且所述子标签交换路径的所述转发等价类是基于PWid的转发等价类类型,其中所述聚合标签交换路径是多段伪线并且所述聚合标签交换路径的所述转发等价类是基于{SAII,TAII}的转发等价类类型。
16.根据权利要求14所述的装置,其中所述子标签交换路径是单段伪线并且所述子标签交换路径的所述转发等价类是基于数字PWid的转发等价类类型,其中所述聚合标签交换路径是多段伪线并且所述聚合标签交换路径的所述转发等价类是单段伪线转发等价类类型。
17.根据权利要求14所述的装置,其中所述子标签交换路径是单段伪线并且所述子标签交换路径的所述转发等价类是基于数字PWid的转发等价类类型,其中所述聚合标签交换路径是多段伪线并且所述聚合标签交换路径的所述转发等价类是多段伪线转发等价类类型。
18.根据权利要求1至17中任一项所述的装置,其中所述子标签交换路径和所述聚合标签交换路径具有公共出口路由器。
19.根据权利要求1至18中任一项所述的装置,其中所述聚合标签交换路径的出口路由器是路由域的边界路由器,其中所述聚合标签交换路径的转发等价类类型是前缀转发等价类类型。
20.根据权利要求19所述的装置,其中所述路由域是内部网关协议(IGP)区域或自治系统(AS)。
21.根据权利要求19所述的装置,其中所述前缀转发等价类类型是对由所述路由域的所述边界路由器所汇总的互联网协议(IP)路由前缀进行编码的前缀转发等价类。
22.根据权利要求1至21中任一项所述的装置,其中所述聚合标签交换路径的出口路由器是提供方边缘路由器,其中所述聚合标签交换路径的转发等价类类型是单段伪线转发等价类类型。
23.根据权利要求1至22中任一项所述的装置,其中所述聚合标签交换路径的出口路由器是终端提供方边缘路由器,其中所述聚合标签交换路径的转发等价类类型是多段伪线转发等价类类型。
24.根据权利要求1至23中任一项所述的装置,其中所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
由入口路由器验证所述子标签交换路径在所述聚合标签交换路径的出口路由器处的有效性。
25.根据权利要求24所述的装置,其中基于至少一个连接性消息从所述聚合标签交换路径的所述入口路由器到所述聚合标签交换路径的所述出口路由器的发送,所述子标签交换路径在所述聚合标签交换路径的所述出口路由器处的所述有效性被验证。
26.根据权利要求1至25中任一项所述的装置,其中所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
由所述聚合标签交换路径的出口路由器用信号发送所述聚合标签交换路径的有效子标签交换路径集合的指示。
27.根据权利要求26所述的装置,其中为了用信号发送所述聚合标签交换路径的所述有效子标签交换路径集合的所述指示,所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
由所述聚合标签交换路径的出口路由器在所述聚合标签交换路径的标签映射消息内包括比特串,所述比特串包括与所述聚合标签交换路径的子标签交换路径的相应集合相关联的比特位置集合。
28.根据权利要求27所述的装置,其中所述子标签交换路径的所述转发等价类是数字PWid转发等价类类型,并且所述聚合标签交换路径的转发等价类类型是单段伪线转发等价类类型,其中所述子标签交换路径在所述比特串中的比特位置是所述子标签交换路径的PWid。
29.根据权利要求27所述的装置,其中所述子标签交换路径的所述转发等价类所述数字PWid转发等价类类型,并且所述聚合标签交换路径的转发等价类类型是多段伪线转发等价类类型,其中所述子标签交换路径在所述比特串中的比特位置是所述子标签交换路径的PWid。
30.根据权利要求27所述的装置,其中所述子标签交换路径的所述转发等价类是所述聚合标签交换路径的前缀转发等价类内的互联网协议(IP)主机地址,其中所述子标签交换路径在所述比特串中的比特位置是在所述聚合标签交换路径的所述前缀转发等价内的所述IP主机地址的偏移量。
31.一种非瞬态计算机可读介质,存储指令集,所述指令集在由装置执行时使所述装置:
基于在聚合标签交换路径的标签之下包括子标签交换路径的转发等价类,支持分组在所述聚合标签交换路径的所述子标签交换路径上的通信。
32.一种方法,包括:
基于在聚合标签交换路径的标签之下包括子标签交换路径的转发等价类,支持分组在所述聚合标签交换路径的所述子标签交换路径上的通信。
33.一种装置,包括:
至少一个处理器;以及
至少一个存储器,包括指令集;
其中所述指令集被配置为在由所述至少一个处理器执行时使所述装置:
基于在标签交换路径的标签之下包括子标签交换路径的转发等价类,支持分组在所述标签交换路径的所述子标签交换路径上的通信。
CN202111224345.1A 2020-10-20 2021-10-19 标签交换路径可扩展性 Pending CN114448880A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/075,326 US11855885B2 (en) 2020-10-20 2020-10-20 Label switched path scalability
US17/075,326 2020-10-20

Publications (1)

Publication Number Publication Date
CN114448880A true CN114448880A (zh) 2022-05-06

Family

ID=77499735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111224345.1A Pending CN114448880A (zh) 2020-10-20 2021-10-19 标签交换路径可扩展性

Country Status (3)

Country Link
US (1) US11855885B2 (zh)
EP (1) EP3989510A1 (zh)
CN (1) CN114448880A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080253367A1 (en) * 2005-08-26 2008-10-16 Hamid Ould-Brahim Method for Establishing Multi Segment Pseudowire Across Domains Having Different Pseudowire Signaling Protocol
US20090268731A1 (en) * 2008-04-23 2009-10-29 Cisco Technology, Inc. Point-to -multipoint for multicast and unicast forwarding
EP2187581A1 (en) * 2008-11-14 2010-05-19 Juniper Networks Summarization and longest-prefix match within mpls networks
CN104869061A (zh) * 2014-02-24 2015-08-26 瞻博网络公司 利用标签分发协议的邻居标签分发

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289973B2 (en) * 2004-04-05 2012-10-16 Verizon Business Global Llc System and method for indicating classification of a communications flow
US8121126B1 (en) * 2006-09-08 2012-02-21 Juniper Networks, Inc. Layer two (L2) network access node having data plane MPLS
US7936780B1 (en) 2008-03-12 2011-05-03 Juniper Networks, Inc. Hierarchical label distribution protocol for computer networks
US8737399B2 (en) * 2010-01-05 2014-05-27 Futurewei Technologies, Inc. Enhanced hierarchical virtual private local area network service (VPLS) system and method for Ethernet-tree (E-Tree) services
US20150207675A1 (en) * 2012-08-28 2015-07-23 Nec Corporation Path Control System, Control Apparatus, Edge Node, Path Control Method, And Program
US9225664B2 (en) 2013-03-15 2015-12-29 Alcatel Lucent System and method for aggregating pseudowires
US20140341016A1 (en) * 2013-05-14 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for enabling efficient resource allocation
CN112995029B (zh) * 2018-06-30 2024-03-19 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN110896379B (zh) * 2018-09-13 2022-11-08 中兴通讯股份有限公司 报文的发送方法、绑定关系的通告方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080253367A1 (en) * 2005-08-26 2008-10-16 Hamid Ould-Brahim Method for Establishing Multi Segment Pseudowire Across Domains Having Different Pseudowire Signaling Protocol
US20090268731A1 (en) * 2008-04-23 2009-10-29 Cisco Technology, Inc. Point-to -multipoint for multicast and unicast forwarding
EP2187581A1 (en) * 2008-11-14 2010-05-19 Juniper Networks Summarization and longest-prefix match within mpls networks
CN104869061A (zh) * 2014-02-24 2015-08-26 瞻博网络公司 利用标签分发协议的邻居标签分发

Also Published As

Publication number Publication date
EP3989510A1 (en) 2022-04-27
US11855885B2 (en) 2023-12-26
US20220124028A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
US9667550B2 (en) Advertising traffic engineering information with the border gateway protocol for traffic engineered path computation
US10003531B2 (en) Method for establishing tunnel, method for allocating label, device and network system
US9264361B2 (en) System and method for implementing multiple label distribution protocol (LDP) instances in a network node
Gredler et al. North-bound distribution of link-state and traffic engineering (te) information using bgp
US7710902B2 (en) Path diversity for customer-to-customer traffic
Previdi et al. IS-IS extensions for segment routing
US8589573B2 (en) Technique for preventing routing loops by disseminating BGP attribute information in an OSPF-configured network
US7460481B2 (en) Inter-domain TE-LSP with IGP extensions
US7483387B2 (en) Hierarchical label distribution for inter-area summarization of edge-device addresses
US7710872B2 (en) Technique for enabling traffic engineering on CE-CE paths across a provider network
US7440438B2 (en) Refresh and filtering mechanisms for LDP based VPLS and L2VPN solutions
US20070260746A1 (en) Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
EP3886378B1 (en) Seamless end-to-end segment routing across metropolitan area networks
US10432516B2 (en) Pseudowire servicing across multiple administrative systems using border gateway protocol-link state
Martini et al. Dynamic Placement of Multi-Segment Pseudowires
US11368564B2 (en) Packet fragmentation and reassembly
EP3989510A1 (en) Label switched path scalability
Medved et al. RFC 7752: North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP
Filsfils et al. RFC 8667: IS-IS Extensions for Segment Routing
Martini et al. RFC 7267: Dynamic Placement of Multi-Segment Pseudowires
Patel et al. Network Working Group C. Camilo Cardona Internet-Draft P. Pierre Francois Intended status: Standards Track IMDEA Networks Expires: January 12, 2014 S. Ray
Gredler et al. North-Bound Distribution of Link-State and TE Information using BGP draft-ietf-idr-ls-distribution-13
Chowdhury Routing Technologies
Väinölä et al. Convergence time in VPNs
Liu et al. Internet Engineering Task Force H. Chen Internet-Draft Huawei Technologies Intended status: Standards Track N. So Expires: January 17, 2013 Tata Communications

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