Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

容器 LSP 配置

使用容器 LSP 进行动态带宽管理概述

具有自动带宽功能的 RSVP LSP 越来越多地部署在网络中,以满足流量工程需求。然而,目前针对点对点 LSP 的流量工程解决方案在网络带宽利用率方面效率低下,主要是因为源自 RSVP LSP 的入口路由器要么尝试沿特定路径安装 LSP,而不创建并行 LSP,要么不与网络中的其他路由器交互并探测额外的可用带宽。

此功能使入口路由器能够通过动态创建并行 LSP 来获取尽可能多的网络带宽。

了解 RSVP 多路径扩展

IETF [KOMPELLA-MLSP] 中提出的 RSVP 多路径扩展允许设置流量工程多路径标签交换路径(容器 LSP)。容器 LSP 除了符合流量工程约束外,还使用从源到目标的多个独立路径,从而促进流量负载均衡。多路径扩展需要更改 RSVP-TE 协议,并允许在下游节点合并标签(类似于 LDP),这也有助于保留转发资源。

RSVP 的多路径扩展具有以下优势:

  • 易于配置。通常,会为负载平衡或箱装箱配置多个 RSVP LSP。借助容器 LSP,只需一个实体即可预置、管理和监控 LSP。入口 LSP 通过添加、更改或删除成员 LSP 来重新平衡流量,同时保持相同的流量工程约束,从而轻松自主地处理拓扑更改。

  • RSVP 等价多路径 (ECMP) 通过缓解流量激增,继承了 ECMP 的标准优势。

  • 多路径流量工程可以更好、更完整地利用网络资源。

  • 了解 LSP 之间的关系有助于使用基于约束的路由计算各种路径。它允许调整成员 LSP,而其他成员 LSP 继续承载流量。

  • 中间路由器有机会合并成员 LSP 的标签。这减少了需要添加到转发平面的标签数量,从而缩短了收敛时间。

    如果独立 ECMP 路径的数量很大,则标签合并可以克服平台对最大 (ECMP) 下一跃点的限制。对于需要链路或节点保护的点对点 RSVP LSP,由于每个 LSP 都编程了主跃点和备份下一跳,因此下一跃点将加倍。RSVP 多路径(或 ECMP)消除了备份下一跃点的需要。

  • 当发生链路故障时,链路故障上游的路由器可以将来自故障链路的流量分配到其余的 ECMP 分支,从而避免使用旁路 LSP。旁路 LSP 方法不仅在向备份 LSP 发出信号时需要更多状态,而且还存在扩展问题,导致在本地修复点 (PLR) 有机会向备份 LSP 发出信号之前,受保护路径状态块 (PSB) 的合并点超时。

Junos OS RSVP 多路径实施

为了在网络中部署 RSVP 多路径 (ECMP),ECMP LSP 通过的所有节点都必须了解 RSVP ECMP 协议扩展。这可能是一个挑战,尤其是在多供应商网络中。

Junos OS 无需协议扩展即可实现 RSVP 多路径扩展。将预配具有 ECMP 和 RSVP TE 特征的单个容器 LSP。容器 LSP 由多个成员 LSP 组成,在入口和出口路由设备之间设置。每个成员 LSP 采用不同的路径到达同一目标。入口路由设备配置了计算 RSVP ECMP LSP 所需的所有参数。入口路由设备也可以使用配置为计算一组 RSVP 点对点 LSP 的参数来计算容器 LSP。

当前的流量工程挑战

流量工程面临的主要挑战是应对拓扑和流量需求的动态变化。需要能够在流量需求突然变化的场景中处理流量负载动态的机制,并动态分配流量以从可用资源中受益。

图 1 展示了一个示例网络拓扑,其中所有 LSP 具有相同的保留和设置优先级,并且入口路由器上的准入控制受到限制。所有链接都用元组(成本和容量)进行注释。

图 1: 示例拓扑示例拓扑

下面列出了 中看到 的一些流量工程问题:图 1

  • Bin Packing

    出现此问题的原因是 LSP 发出信号的特定顺序。尽管网络中有可用的带宽,但入口路由器可能无法向某些具有所需需求的 LSP 发出信号,从而导致链路容量利用率不足。

    例如,以下 LSP 按 中 提到的顺序到达。表 1

    表 1: 用于料箱包装的 LSP 序列顺序

    时间

    原文

    目的地

    需求

    ERO

    1

    A

    E

    5

    A-C-D-E

    2

    B

    E

    10

    无 ERO

    源自路由器 B 的 LSP 不可路由,因为基于约束的路由无法找到可行的路径。但是,如果首先向路由器 B 发出信号,则两个 LSP 都是可路由的。箱打包的发生是因为入口路由设备上缺乏对每个 LSP、每个设备的带宽需求的可见性。

    当不需要订购 LSP 时,也可能进行垃圾箱包装。例如,如果存在需求为 X 的 LSP,并且从具有可用带宽 Y1 和 Y2 的入口路由器到目标的路径有两条不同的路径,以便 Y1 小于 X、Y2 小于 X、Y1 加 Y2 大于或等于 X。

    在这种情况下,即使就可用带宽而言有足够的网络资源来满足总 LSP 需求 X,LSP 也可能不会根据新需求发出信号或重新优化。在 中 ,通过容器 LSP 支持,当提出需求 10 时,入口 B 会创建两个大小为 5 的 LSP。图 1一个 LSP 沿 B-C-E 路由,另一个沿 B-C-D-E 路由。

  • Deadlock

    考虑到 LSP 遵循 中 提到的顺序。图 1表 2

    表 2: 死锁的 LSP 序列顺序

    时间

    原文

    目的地

    需求

    ERO

    活动

    1

    A

    E

    2

    A-C-D-E

    具有 RSVP 信令的基于约束的路由

    2

    B

    E

    2

    B-C-D-E

    具有 RSVP 信令的基于约束的路由

    3

    A

    E

    2 到 20

    A-C-D-E

    基于约束的路由失败,无 RSVP 信令

    在时间 3 时,对 LSP 的需求从 A 增加到 E 从 2 增加到 20。如果配置了自动带宽,则在调整计时器到期之前不会检测到更改。在 A 没有准入控制的情况下,增加的流量需求可能会导致与行为异常的 LSP 共享公共链路的其他 LSP 上的流量下降。

    发生这种情况的原因如下:

    • 所有入口路由器均缺少全局状态

    • 发出行为不端需求的信号

    • 拆除行为不端的要求

    配置容器 LSP 后,入口 A 更有可能在多个 LSP 之间拆分负载(如果不是完全,甚至是增量)。因此,来自 A 的 LSP 不太可能看到长时间的流量丢失。

  • Latency Inflation

    延迟膨胀是由自动带宽和其他 LSP 参数引起的。导致延迟膨胀的其他一些因素包括:

    • LSP 优先级

      LSP 选择较长的路径,因为位于同一城市的数据中心之间的较短路径可能会拥塞。较短路径上的带宽可能会被同等或更高优先级的 LSP 耗尽。由于通过自动带宽定期优化 LSP,LSP 可能会重新路由到更高的延迟路径。当许多 LSP 的路径选择不够理想时,它们可能会形成依赖关系链。动态修改 LSP 优先级是解决此问题的方法;然而,动态调整 LSP 优先级以找到更短的路径是一项具有挑战性的任务。

    • 全有或全无政策

      当对 LSP 的需求增加,并且较短路径上至少有一个链路接近其预留限制时,LSP 优化可以强制 LSP 移动到更长的延迟路径。LSP 必须遍历一条长路径,即使这条短路径能够承载大部分流量。

    • 最小和最大带宽

      最小和最大带宽指定 LSP 大小的边界。如果最小带宽较小,则 LSP 更容易进行自动带宽调整,因为带宽的微小变化足以超过阈值限制。尽管带宽可用,但 LSP 可能会重新路由。另一方面,如果最小带宽很大,则可能会浪费网络带宽。如果最大带宽值较小,则入口路由器上可能需要大量 LSP 来满足应用程序需求。如果最大带宽很大,LSP 的大小可能会变大。此类 LSP 可能会因为全有或全无策略而受到影响。

    • 自动带宽调整阈值

      带宽阈值决定了 LSP 是否需要重新优化和调整大小。如果该值较小,则经常对 LSP 进行重新优化和重新路由。这可能会导致 CPU 峰值,因为应用程序或协议(例如通过 LSP 的 BGP 解析)可能会使路由引擎忙于执行下一跳解析。较大的值可能会使 LSP 无法移动。配置容器 LSP 后,LSP 不太可能受到一个策略或无策略的约束。入口路由器发起多个 LSP,但并非所有 LSP 都可能遍历高延迟路径。

  • Predictability

    服务提供商通常希望在 LSP 如何发送信号和路由方面实现可预测的行为。目前,在没有任何全球协调的情况下,很难以可预测的方式建立同一套LSP。请考虑 和 中的两种不同排序。表 3表 4LSP 使用的 ERO 取决于其信令时间。

    表 3: LSP 序列顺序,确保可预测性

    时间

    原文

    目的地

    需求

    ERO

    1

    A

    E

    5

    A-C-D-E

    2

    B

    E

    5

    B-C-E

    表 4: LSP 序列顺序,确保可预测性

    时间

    原文

    目的地

    需求

    ERO

    1

    B

    E

    5

    B-C-E

    2

    A

    E

    5

    A-C-D-E

容器 LSP 不会直接帮助 LSP 找到可预测的 ERO。如果 LSP 由于未配置容器 LSP 或未配置容器 LSP 的策略而重新路由,则在配置容器 LSP 的情况下,此类 LSP 的流失可能会减少,因为较小的 LSP 更有可能找到更短或相同的路径。

使用容器 LSP 作为解决方案

容器 LSP 可用作解决当前流量工程功能所面临挑战的解决方案。考虑到 ,当容器 LSP 上的需求 X 增加而网络容量(最大流量)大于需求时,以下方法将在容器 LSP 上生效:图 1

适应新的需求 X

在当前的实现中,自动带宽尝试使用新的需求 X 重新向 LSP 发出信号,并遵循前面提到的全有或全无策略。

容器 LSP 方法计算几个小(小于需求 X)带宽 LSP,使聚合带宽不小于 X,入口路由器会定期执行此调整。可以在聚合带宽中更改创建新 LSP 或删除旧 LSP 的触发器之一。然后,入口路由器在新创建的 LSP 之间对传入流量进行负载平衡。

创建新的 LSP 以满足需求 X

尽管创建的新 LSP 数量可以达到允许的可配置限制的最大数量,但一旦 LSP 的数量超过可能的不同路径或等价多路径 (ECMP) 的数量,这些 LSP 就没有多大好处。当入口路由器使用新创建的 LSP 对流量进行负载平衡时,可以看到创建较小 LSP 的好处。但是,这取决于网络拓扑和状态。

通过网络中的所有入口路由器创建多个并行 LSP 可能会导致传输路由器出现扩展问题。因此,要创建的新 LSP 的数量取决于各个 LSP 的大小和给定的总需求,在本例中为 X。

为新的 LSP 分配带宽

通常,可以采用多种启发式方法为新创建的 LSP 分配带宽。入口路由器可以解决优化问题,在该问题上它可以最大化给定的实用程序函数。优化问题的输出是分配最佳带宽值。但是,要解决优化问题,必须固定新创建的 LSP 的数量。因此,优化每个 LSP 的数量和大小很复杂。因此,为了简化问题,假设所有新创建的 LSP 具有相同的带宽量,然后计算所需的 LSP 数量。

控制 LSP 路径

控制 LSP 路径的灵活性体现在点对点 LSP 和容器 LSP 的配置上。使用配置参数控制 LSP 路径可以在两个不同的方面应用:

  • 拓扑 - 此功能没有拓扑约束。每个成员 LSP 都被视为点对点 LSP,并单独重新优化。入口路由器不会尝试为其所有 LSP 计算相等的 IGP 成本路径,而是使用当前流量工程数据库信息计算所有 LSP 的路径。计算路径时,基于约束的路由遵循通过配置指定的任何约束,尽管用于路径计算的基于约束的路由方法没有变化。

  • 何时创建新的 LSP — 可以明确指定何时创建新的 LSP。默认情况下,入口路由器会通过将所有单个 LSP 的流量速率相加来定期计算聚合流量速率。查看聚合带宽和配置,入口路由器会重新计算 LSP 的数量和 LSP 的带宽。然后向新的 LSP 发出信号,或者使用更新的带宽重新向现有 LSP 发出信号。入口路由器可以通过删除(聚合的)异常样本来计算一段时间内的平均值(聚合),而不是查看瞬时聚合速率。与基于特定 LSP 的使用情况创建新的 LSP 相比,通过考虑聚合带宽来管理保持未完成且处于活动状态的 LSP 更具可扩展性。可以配置间隔和阈值来跟踪聚合流量并触发调整。这些动态 LSP 与按 LSP 自动带宽配置共存并互操作。

Junos OS 容器 LSP 实施

容器 LSP 是一种 ECMP TE LSP,其作用类似于由一个或多个成员 LSP 组成的容器 LSP。点对点 TE LSP 等效于具有单个成员 LSP 的容器 LSP。成员 LSP 通过称为拆分的过程添加到容器 LSP,并通过称为合并的过程从容器 LSP 中删除。

容器 LSP 术语

以下术语在容器 LSP 的上下文中定义:

  • Normalization— 在执行调整成员 LSP 的操作(以调整其带宽和/或数量)时定期发生的事件。规范化过程与采样过程相关联,并定期估计容器 LSP 的总利用率。

  • Nominal LSP— 始终存在的容器 LSP 实例。

  • Supplementary LSP— 动态创建或删除的容器 LSP 的实例或子 LSP。

    自动带宽在每个成员 LSP 上运行,每个 LSP 根据其承载的流量和自动带宽配置参数调整大小。通过将所有成员 LSP 的带宽相加来跟踪容器 LSP 的总需求。

  • Minimum signaling-bandwidth— 在规范化或初始化时向成员 LSP 发出信号的最小带宽。这可能与自动带宽下定义的最小带宽不同。

  • Maximum signaling-bandwidth — 在规范化或初始化时向成员 LSP 发出信号的最大带宽。这可能与自动带宽下定义的最大带宽不同。

  • Merging-bandwidth — 指定聚合带宽使用情况的带宽下限阈值,这样,如果聚合使用量低于此值,入口路由器将在规范化时合并成员 LSP。

  • Splitting-bandwidth — 指定聚合带宽使用情况的带宽上限阈值,这样,如果聚合使用量超过此值,入口路由器将在规范化时拆分成员 LSP。

  • Aggregate minimum-bandwidth — 当前活动成员 LSP 的合并带宽总和。此最小带宽不同于自动带宽最小带宽。

  • Aggregate maximum-bandwidth— 当前活动成员 LSP 的拆分带宽之和。此最大带宽不同于自动带宽最大带宽。

LSP 拆分

运营概述

当容器 LSP 上放置需求 X 时,LSP 拆分机制使入口路由器能够创建新的成员 LSP,或重新向容器 LSP 内具有不同带宽的现有 LSP 发出信号。启用 LSP 拆分后,入口路由器会定期创建多个 LSP(通过向新 LSP 发出信号或向现有 LSP 重新发出信号)以适应新的聚合需求 X。在当前实现中,入口路由器尝试查找满足需求 X 和其他约束的 LSP 路径。如果未找到路径,则 LSP 不会发出信号,或者它保持开启状态,但使用旧的保留带宽。

在两个规范化事件(拆分或合并)之间,由于自动带宽调整,各个 LSP 可能会以不同的带宽重新发出信号。如果容器 LSP 未配置自动带宽,则成员 LSP 将使用静态带宽值(如果已配置)发出信号。在这种情况下没有动态拆分,因为没有聚合带宽的动态估计。可以手动触发具有特定带宽值的分割调整。

注:

请注意 LSP 拆分的以下注意事项:

  • LSP 拆分后,入口路由器继续注入一个转发邻接。此功能在 IGP 中不支持转发邻接。

  • 在两个规范化事件之间,两个 LSP 可能具有受自动带宽约束的不同带宽。

  • 拆分(或合并)LSP 后,除非配置了该 选项,否则“先成后断”将使用固定筛选器 (FF) 样式共享。adaptive 但是,两个不同的 LSP 不会对此功能执行共享显式 (SE) 样式共享。

  • 当使用修改后的带宽重新向 LSP 发出信号时,某些 LSP 可能无法成功发出信号,从而导致出现故障转移选项。

操作限制

LSP 拆分具有以下操作约束:

  • LSP 带宽 — 尽管有多种方法可以将带宽值分配给 LSP,但 Junos OS 实施仅支持在完成规范化时采用相等带宽分配策略,其中所有成员 LSP 都以相等的带宽发出信号或重新发出信号。

  • LSP 数量 — 如果入口路由器配置为具有最小数量的 LSP,则即使可以通过少于最小数量的 LSP 来满足需求,它也会保持最小数量的 LSP。如果入口路由器无法执行基于约束的路由来计算足够数量的 LSP 或发出足够数量的 LSP 信号,则入口路由器会采用多种故障回复选项。

    默认情况下,支持增量方法作为回退选项(除非配置不同),其中入口路由器尝试启动足够数量的 LSP,以使新的聚合带宽超过旧的聚合带宽(并尽可能接近所需需求)。然后,入口路由器使用 LSP 对流量进行负载平衡。入口路由器会移除无法启动的 LSP。

支持的标准

当容器 LSP 向成员 LSP 发出信号时,成员 LSP 会收到具有最小信令带宽的信号。由于每个成员 LSP 都配置了自动带宽,因此在两个规范化事件之间,每个 LSP 可以进行多次自动带宽调整。随着流量需求的增加,入口路由器会创建额外的补充 LSP 。所有成员 LSP 都用于 ECMP,因此在规范化后,它们应具有大致相同的保留带宽。

例如,如果在归一化后发出了 K 个 LSP 信号,则每个 LSP 都以相等的带宽 B 发出信号。保留的总聚合带宽为 B.K,其中 B 满足以下条件:

  • 最小信令带宽小于或等于 B,即转弯小于或等于最大信令带宽

    (最小信令带宽 ≤ B ≤最大信令带宽)

在下一次规范化事件之前,每个成员 LSP 都会经历几次自动带宽调整。进行任何自动带宽调整后,如果有 N 个保留带宽为 bi 的 LSP,其中 i=1,2,.., N,则每个 bi 都应满足以下条件:

  • 最小带宽小于或等于 bi,而 bi 又小于或等于最大带宽

    (最小带宽≤ BI ≤最大带宽)

上述两个条件都适用于每个成员的 LSP(标称和补充),并且基本上具有存在于一定范围内的保留带宽。

拆分触发器

每次规范化计时器过期时,入口路由器都会决定是否需要 LSP 拆分。入口路由器使用聚合带宽,而不是单个 LSP 带宽。为聚合带宽定义了以下两个变量:

  • Current-Aggr-Bw— 所有当前成员 LSP 的预留带宽总和。

  • New-Aggr-Bw—基于采样的所有当前成员 LSP 上的流量速率总和。

举例来说,规范化时网络中有 N 个成员 LSP,则触发 LSP 拆分的两种方法如下:

  • 绝对触发 — 当大于 时执行 LSP 拆分。New-Aggr-BwAggregate-maximum-bandwidth

    ( > )New-Aggr-BwAggregate-maximum-bandwidth

  • 相对触发 - 在相对触发下,将执行动态计算。与入口路由设备进行比较。Current-Aggr-BwNew-Aggr-Bw 当带宽差异大于或等于计算的阈值量时,将执行 LSP 拆分。以下等式描述了所需状态:

    ([1-a] x < < [1+a] x ,其中 0 </= a < /= 1)Current-Aggr-BwNew-Aggr-BwCurrent-Aggr-Bw

    注:

    在上述条件下,“a”是调整阈值,其默认值为 10%(即 0.10)。您可以使用层次结构级别的语句配置调整阈值。splitting-merging-threshold[edit protocols mpls container-label-switched-path lsp-name] 该值也会显示在命令输出中 。show mpls container-lsp extensive

    当 大于 乘 以 [1+a] 时,因此超过计算的阈值,入口路由设备不执行规范化。New-Aggr-BwCurrent-Aggr-Bw 相反,由于这是相对触发情况,因此将执行 LSP 拆分。但是,当入口路由器上同时配置 LSP 拆分和 LSP 合并时,当满足两个条件之一时,入口路由器上将触发 LSP 拆分。

LSP 合并

运营概述

Junos OS 支持两种类型的 LSP - CLI 配置的 LSP 和动态创建的 LSP。CLI 配置的 LSP 是手动创建的,并保留在系统中,直到修改配置。动态 LSP 由下一代 MVPN、BGP 虚拟专用 LAN 服务 (VPLS) 或 LDP 基于模板配置动态创建,并在任何应用程序在一定时间内未使用时从系统中删除。LSP 合并遵循与动态 LSP 类似的方法。

LSP 合并使入口路由设备能够动态消除容器 LSP 的某些成员 LSP,从而减少网络中维护的状态信息。如果入口路由器在入口和出口路由器之间配置多个成员 LSP,并且聚合带宽总体减少(导致某些 LSP 未充分利用),则入口路由器会在较少的 LSP 之间分配新的流量负载。

尽管有多种方法可以合并成员 LSP,但 Junos OS 仅在执行规范化时支持整体合并。入口路由器会考虑总需求和最小(或最大)的 LSP 数量,并修改入口路由设备上应处于活动状态的 LSP 数量。因此,在规范化计时器触发时,可能会定期发生以下情况:

  • 使用更新的带宽重新向部分现有 LSP 发出信号

  • 创建新的 LSP

  • 移除部分现有 LSP

操作限制

如果容器 LSP 未配置自动带宽,则成员 LSP 将使用静态带宽值(如果已配置)发出信号。LSP 合并不会发生,因为没有聚合带宽的动态估计。但是,可以配置手动触发器,用于根据特定带宽值进行拆分和调整。

注:
  • 名义 LSP 永远不会作为 LSP 合并的一部分被删除。

  • 在删除 LSP 之前,LSP 处于非活动状态,以便在删除 LSP 之前将流量转移到其他 LSP。这是因为 RSVP 在从数据包转发引擎中删除路由和下一跃点之前发送 PathTear。

  • 当使用修改后的带宽重新向成员 LSP 发出信号时,可能会发生某些 LSP 无法成功发出信号的情况。

合并触发器

每次规范化计时器过期时,入口路由器都会决定是否需要 LSP 合并。入口路由器使用聚合带宽,而不是单个 LSP 带宽。为聚合带宽定义了以下两个变量:

  • Current-Aggr-Bw— 所有当前成员 LSP 的预留带宽总和。

  • New-Aggr-Bw—基于采样的所有当前成员 LSP 上的流量速率总和。

例如,如果在规范化时网络中有 N 个成员 LSP,则触发 LSP 合并的两种方法如下:

  • 绝对触发 — 当小于 时执行 LSP 合并。New-Aggr-BwAggregate-minimum-bandwidth

    ( < )New-Aggr-BwAggregate-minimum-bandwidth

  • 相对触发 — 与入口路由设备进行比较。Current-Aggr-BwNew-Aggr-Bw 当带宽量的差异偏离阈值时,将执行 LSP 合并。

    ([1-a] x < < [1+a] x ,其中 0 </= a < /= 1)Current-Aggr-BwNew-Aggr-BwCurrent-Aggr-Bw

    注:

    在上述条件下,“a”是调整阈值,其默认值为 10%(即 0.10)。您可以使用层次结构级别的语句配置调整阈值。splitting-merging-threshold[edit protocols mpls container-label-switched-path lsp-name] 该值也会显示在命令输出中 。show mpls container-lsp extensive

    当该值小于或等于 [1+a] 乘以该值时,入口路由设备不会执行规范化,而是执行 LSP 合并。New-Aggr-BwCurrent-Aggr-Bw 但是,当入口路由器上同时配置 LSP 拆分和 LSP 合并时,当满足两个条件之一时,入口路由器上将触发 LSP 拆分。

节点和链路保护

Junos OS 支持以下节点和链路保护机制:

  • 快速重新路由

  • 链路保护

  • 节点链路保护

在任何给定时间,入口路由设备上只能配置上述保护模式之一。所有成员 LSP(名义和补充)都使用配置的相同保护模式。

命名约定

配置容器 LSP 时,会为 LSP 分配一个名称。通过将配置的名称后缀和自动生成的后缀添加到容器 LSP 的名称,可以形成名义和补充 LSP 的名称。容器 LSP 的名称是唯一的,在配置解析期间会检查其准确性。容器 LSP 名称应唯一标识参数,例如入口和出口路由器名称。

注:

入口路由设备上的容器 LSP 成员 LSP 和点对点 LSP 不能具有相同的 LSP 名称。

容器 LSP 遵循基于数字的 LSP 命名约定。例如,如果名义 LSP 的配置名称为 、且成员 LSP 的数量为 N,则成员 LSP 的名称为 、 、 和 。bobbob-<configured-suffix>-1bob-<configured-suffix>-2bob-<configured-suffix>-N

规范化事件后,成员 LSP 的数量可能会更改。例如,如果成员 LSP 的数量从 6 个增加到 8 个,则入口路由设备会将前 6 个 LSP 命名 为 、 、 和 。bob-<configured-suffix>-1bob-<configured-suffix>-2bob-<configured-suffix>-6 另外两个 LSP 分别命名 为 和 。bob-7bob-8 如果原始 LSP 的信号带宽发生变化,则可能需要重新优化。

同样,如果成员 LSP 的数量从 8 个减少到 6 个,则入口路由设备会重新向成员 LSP 发出信号,例如将系统中剩余的活动 LSP 命名 为 、 、 和 。bob-<configured-suffix>-1bob-<configured-suffix>-2bob-<configured-suffix>-6

在创建新 LSP 的过程中,可以配置名为 的 RSVP LSP。bob-<configured-suffix>-7

规范化

运营概述

规范化是定期发生的事件。发生这种情况时,将决定应保持活动状态的成员 LSP 的数量及其在容器 LSP 中各自的带宽。更具体地说,决定是创建新的补充 LSP,还是需要在规范化事件期间重新发出信号或删除任何现有 LSP。

在两个规范化事件之间,成员 LSP 可以进行多次自动带宽调整。配置了规范化计时器,类似于重新优化计时器。归一化计时器间隔应不小于调整间隔或优化计时器。

注:

规范化不会基于网络事件(如拓扑更改)触发。

操作限制

规范化具有以下操作约束:

  • 仅当所有成员 LSP 均未进行重新优化或先合后断时,才会进行规范化。当所有成员 LSP 完成其正在进行的先成后断时,规范化开始。如果规范化挂起,则在规范化完成之前不应尝试新的优化。

  • 规范化后,入口路由设备首先使用基于约束的路由计算计算一组带宽可行路径。如果未提供足够多的基于约束的路由计算路径,其聚合带宽值超过所需带宽,则会执行多个故障转移操作。

  • 在一组带宽可行路径可用后,入口路由设备会向这些路径发出信号,同时保持原始路径集与旧带宽值一致。先成后断是使用共享显式 (SE) 共享样式完成的,当某些 LSP 未成功重新发出信号时,将在指定的持续时间内尝试有限次数的重试。仅当成功发出所有 LSP 信号时,入口路由器才会从容器 LSP 的旧实例切换到较新的实例。如果无法成功发出所有 LSP 信号,则入口路由器会保留带宽值较高的成员实例。

    例如,如果成员 LSP (LSP-1) 的旧实例的带宽为 1G,则该 LSP 将拆分为带宽为 2G 的 LSP-1 和带宽为 2G 的 LSP-2。如果带宽为 2G 的 LSP-1 信令失败,入口路由器将保留带宽为 1G 的 LSP-1 和带宽为 2G 的 LSP-2。

    当发生信令故障时,入口路由设备将保持错误状态,其中某些 LSP 仅在聚合带宽增加时才更新带宽值。入口路由器会尝试启动那些无法成功发出信号的 LSP,从而将流量损失降至最低。

  • 如果 LSP 在两个规范化事件之间出现故障,则可能会增加其他已启动的 LSP 上的负载。为了防止过度使用其他 LSP,可以在 LSP 发生故障时配置过早归一化。LSP 可能会因为抢占或缺少节点或链路保护而宕机。可能没有必要启动已关闭的 LSP,因为规范化过程会重新运行基于约束的路由路径计算。

通过自动带宽实现互操作

例如,有一个名为 LSP-1 的标称 LSP,配置了以下参数:

  • 拆分带宽和最大信令带宽为 1G

  • 合并带宽和最小信令带宽为 0.8G

  • 自动带宽

在以下情况下,规范化的执行方式不同:

每个 LSP 自动带宽调整的变化

表 5 说明了随着自动带宽调整通过无条件归一化更改每个 LSP 带宽,规范化如何拆分和合并成员 LSP。

表 5: 通过按 LSP 自动带宽调整更改进行规范化

规范化时间

当前状态

事件

调整状态

T0

没有状态。

初始 化

LSP-1 以 0.8G 的带宽发出信号

T1

LSP-1 使用量增加到 1.5G

  • 可以多次自动调整带宽,因为 T0 是可能的。

  • 入口路由器决定将 LSP-1 拆分为两个 LSP,并创建 LSP-2。

LSP-1 = 0.8G

LSP-2 = 0.8G

T2

LSP-1 使用量增加到 2G

LSP-2 使用量增加到 0.9G(在限制范围内)

  • 聚合带宽为 2.9G,超过了聚合拆分最大值 2G。

  • 入口路由器决定将 LSP-1 拆分为三个 LSP,并创建 LSP-3。

LSP-1 = 1G

LSP-2 = 1G

LSP-3 = 1G

T3

LSP-3 使用量增加到 1.5G

  • 聚合带宽为 3.5G,最大聚合拆分为 3G。

  • 入口路由器决定将 LSP-1 拆分为四个 LSP,并创建 LSP-4。

LSP-1 = 1G

LSP-2 = 1G

LSP-3 = 1G

LSP-4 = 1G

T4

LSP-2 使用率降至 0.5G

  • 聚合带宽为 3G。

  • 入口路由器决定合并 LSP-1 并删除 LSP-4。

LSP-1 = 1G

LSP-2 = 1G

LSP-3 = 1G

由于自动带宽是按 LSP 配置的,因此每次进行自动带宽调整时,入口路由器都会使用 .Max Avg Bw

处理每个 LSP 自动带宽调整变化的另一种方法是,不允许单个 LSP 在入口路由器上运行自动带宽,而是在被动(监控)模式下运行自动带宽。这样,仅在成员 LSP 的每个统计间隔进行采样,并且仅对容器 LSP 执行规范化,而不是在单个 LSP 调整计时器到期时执行操作。

因此,给定成员 LSP 的重新信令尝试次数和带宽波动都会减少。入口路由器仅使用计算的每个成员 LSP 的带宽值来查找要在规范化期间使用的聚合带宽。由于重新信令,配置自动带宽调整然后进行归一化(调整和归一化间隔相当)可能会导致相当大的开销。

以同样的例子为例,并应用第二种方法,LSP-1从0.8G变为1.5G,然后再回到0.8G。如果规范化计时器与调整间隔的顺序相同,则入口路由器将 LSP-1 单独保留其原始 0.8G,仅向 LSP-2 发出 0.8G 信号。这有助于实现归一化的最终结果,从而避免在调整定时器到期时对 1.5G 的 LSP-1 进行额外的信令尝试。

由于成员 LSP 始终使用相等的带宽,因此对成员 LSP 所做的任何调整都将撤消。与带有归一化触发器的调整触发器中的预留容量相比,成员 LSP 在带宽减少的情况下重新发出信号。因此,假设规范化和调整间隔的顺序相同,则避免触发成员 LSP 的调整可能会很有用。

注:

建议规范化计时器高于自动带宽调整间隔和常规优化持续时间,因为流量趋势是在较长的时间尺度上观察到的,并且每天执行一到三次规范化。LSP 可以进行优化的原因如下:

  • 正常优化

  • 自动带宽调整

  • 规范化

流量增长的变化

表 6 说明了当流量大幅增长时如何执行规范化。

表 6: 流量增长的常态化

规范化时间

当前状态

事件

调整状态

T0

无状态

LSP-1 以 0.8G 的带宽发出信号

T1

LSP-1 使用量增加到 3G

  • 聚合使用量超过最大拆分带宽

  • 入口路由器决定拆分 LSP-1,并再创建两个补充 LSP

LSP-1 = 1G

LSP-2 = 1G

LSP-3 = 1G

除非对最小数量的 LSP 有限制,否则拥有较少的 LSP 比发送四个 LSP 各具有 0.8G 带宽的信号更可取。

计算范围和配置的可行范围

当入口路由器配置了最小和最大数量的 LSP 以及每个 LSP 拆分带宽和合并带宽值时,带宽阈值用于拆分和合并。为此,LSP (N) 的数量应满足以下约束:

在归一化时,基于总需求 X:

上述约束为 N 提供了两个工作范围。如果 N 的两个范围重叠,将从重叠间隔(可能的最小 N)中选择 N,以保持网络中 LSP 的数量较小。

否则,如果最大成员 lsps 小于 [X/拆分带宽],则入口路由器将(最大)保留系统中的最大成员 lsp,并且每个 LSP 的带宽为 [X/最大成员 lsp] 或最大信令带宽,以较小者为准。某些 LSP 可能无法成功收到信号。

同样,如果最小成员 lsps 大于 [X/合并带宽],则入口路由器(至少)在系统中保留最小成员 lsp,并且每个 LSP 的带宽为 [X/最小成员 lsp] 或最小信令带宽,以较小者为准。

举例来说,在这些情况下,规范化按如下方式执行:

  • 案例 1

    • 最小成员 LSP = 2

    • 最大成员 LSP = 10

    • 总需求 = 10G

    • 合并带宽 = 1G

    • 分割带宽 = 2.5G

    在这种情况下,入口路由设备向四个成员 LSP 发出信号,每个成员的带宽为 2G。

  • 案例 2

    • 最小成员 LSP = 5

    • 最大成员 LSP = 10

    • 总需求 = 10G

    • 合并带宽 = 2.5G

    • 分割带宽 = 10G

    在这种情况下,入口路由设备会向 5 个成员 LSP 发出信号,每个成员的带宽为 2G。在这里,成员 LSP 数量的静态配置优先。

  • 案例 3

    • 最小信令带宽 = 5G

    • 最大信令带宽 = 40G

    • 合并带宽 = 10G

    • 分割带宽 = 50G

    当容器 LSP 启动时,标称 LSP 以最小信令带宽发出信号。规范化时,新聚合带宽为 100G。要找到 N 和每个 LSP 的带宽,N 应满足以下约束:

    因此,N 等于:

    • N = 2,带宽 = 最小值 {100/2G, 40G} = 40G

      此选项不满足新的 100G 聚合。

    • N = 3,带宽 = 最小值 {100/3G, 40G} = 33.3G

      此选项使聚合带宽等于 100G。

    在这种情况下,入口路由设备会向三个 LSP 发出信号,每个 LSP 的带宽为 33.3G。

    注:

    入口路由器不会向小于最小信令带宽的 LSP 发出信号。

基于约束的路由路径计算

尽管常规的基于约束的路由路径计算没有变化,但使用容器 LSP,有一个单独的模块用于监督规范化过程、计划基于约束的路由事件以及计划从旧实例到新实例的切换(如果适用)。入口路由设备必须定期处理基于约束的路由路径计算。发生规范化时,如果需要更改 LSP 的数量或带宽,入口路由器必须计算基于约束的路由路径。

例如,入口路由器上有 K 个 LSP,带宽值为 X-1、X-2、... 和 X-K。当前聚合带宽值为 Y,即 X-1 加 X-2 加 X-K 之和。如果有新的 W 需求,入口路由器首先计算需要多少 LSP。如果入口路由器只需要 N 个带宽值为 B 的 LSP(LSP-1、LSP-2、.. 和 LSP-N),则基于约束的路由模块的任务是提供一组带宽可行的 LSP,以适应不小于 Y 的新聚合需求。

然后,入口路由器会尝试查看是否可以为所有 N 个 LSP 成功计算基于约束的路由路径。如果成功找到所有 LSP 的路径,则基于约束的路由模块会将集合返回到规范化模块。

对于某些 LSP,基于约束的路由计算可能不成功。在这种情况下,入口路由设备将执行以下操作:

  • 如果配置允许增量规范化(即如果入口路由器有足够的 LSP 其聚合超过 Y),则基于约束的路由模块将返回该组路径。

  • 无论是否配置增量规范化,如果无法为足够数量的 LSP 计算基于约束的路由路径,则入口路由器必须重复查找一组新 LSP 的过程。最初,入口路由器从可行区域中的最小值 N 开始。每次入口路由器必须修改数字时,它都会线性增加 1。因此,每个 LSP 带宽变得更少,因此成功发送信令的机会更大。对所有可行的 N 值(或配置的某个有界的次数或持续时间)重复该过程。

    成功计算基于约束的路由路径计算后,入口路由器会向 LSP 发出信号。当 LSP 发出信号时,许多 LSP 的信号可能会失败。除了基于约束的路由路径计算要成功之外,RSVP 信令也应该成功,这样新的聚合就不会小于旧的聚合带宽。

采样

采样对于规范化的功能非常重要。配置采样后,入口路由设备能够对总流量需求进行统计估计。每次触发采样计时器时,入口路由设备都可以考虑不同 LSP 上的流量速率,并计算聚合带宽采样。此采样计时器不同于 RSVP 对所有 LSP 定期执行的统计信息采样。聚合带宽是在规范化时使用的示例。入口路由设备可以保存过去的样本以计算平均值(或其他一些统计度量),并在下次发生归一化时使用它。

若要删除任何异常值样本,请配置采样令牌。换句话说,从配置时间内收集的所有聚合样本中,在从剩余样本计算统计度量之前,将忽略底部和顶部异常值。

支持以下两种计算聚合带宽值的方法:

  • 平均值 — 入口路由设备会考虑所有聚合带宽样本,然后移除所有离群值样本。平均带宽值是根据归一化期间要使用的剩余样本计算得出的。

  • Max — 入口路由设备将考虑所有聚合带宽样本,然后移除所有异常值样本。从归一化期间要使用的剩余样本中选取最大带宽值。

持续时间、要存储的过去聚合样本数、要确定的百分位值以及忽略异常值是用户可配置的参数。

支持 NSR、IPG-FA 和静态路由

从 Junos OS 15.1 版开始,容器标签交换路径 (LSP) 支持不间断活动路由 (NSR)、IGP 转发邻接 (FA) 和静态路由,以满足更广泛的业务案例的要求。

NSR 支持

容器 LSP 具有 ECMP 和 RSVP 流量工程的特点。由于容器 LSP 由入口和出口路由器之间的多个成员 LSP 组成,并且每个成员 LSP 采用不同的路径到达同一目标,因此入口路由器配置了计算 RSVP ECMP LSP 所需的所有参数。这些参数以及转发状态信息必须在主路由引擎和备份路由引擎之间同步,以便为容器 LSP 启用不间断活动路由 (NSR) 支持。虽然备份路由引擎上的某些转发状态信息是基于配置在本地构建的,但其中大部分是基于主路由引擎的定期更新构建的。容器 LSP 是使用备份路由引擎上的复制状态动态创建的。

默认情况下,规范化每 6 小时发生一次,在此期间,每个成员 LSP 上都会发生许多自动带宽调整。成员 LSP 会根据其承载的流量和配置的自动带宽配置参数调整其大小。通过汇总所有成员 LSP 的带宽来跟踪容器 LSP 的总需求。

对于 RSVP 点对点 LSP,路由引擎切换可以在以下任一情况下进行:

  • Steady state

    在稳定状态下,LSP 状态为启动并转发流量;但是,LSP 上不会发生其他事件,例如先成后断 (MBB)。在此阶段,RPD 在两个路由引擎上运行,切换事件在主路由引擎和备份路由引擎之间切换。备份路由引擎已复制 LSP 信息。切换后,新的主数据库使用复制结构的信息构建容器 LSP,并在回溯模式下将 LSP 的路径 (ERO) 排队。RSVP 发出信号并检查 ERO 中提到的路径是否可访问。如果 RSVP 检查失败,则会重新启动 LSP。如果 RSVP 检查成功,LSP 状态将保持开启状态。

  • Action leading to make-before-break (MBB)

    容器 LSP 可以使用更新的带宽进行优化,此更改以 MBB 方式完成。在 MBB 过程中,给定 LSP 有两个路径实例,LSP 从一个实例切换到另一个实例。对于每个路由引擎切换,都会检查路径以找出路径在 MBB 进程中的位置。如果路径位于 MBB 进程的中间,主实例关闭,重新优化的路径打开,则 MBB 可以切换到新实例。在这种情况下,命令输出如下所示:show mpls lsp extensive

    在带宽优化期间,成员 LSP 也会保留类似的行为。

    稳定状态(未进行规范化时)下的路由引擎切换可使容器 LSP 保持正常运行,而不会丢失任何流量。稳定状态下的事件(例如由于自动带宽调整导致的 MBB、链路状态关闭或双重故障)类似于正常的 RSVP 点对点 LSP。

    如果容器 LSP 处于规范化过程中,并且规范化事件是手动或定期触发的,则会经历计算和执行阶段。在这两种情况下,都不能保证零百分比的流量损失。

    • 计算阶段的规范化

      在计算阶段,主路由引擎计算目标成员 LSP 计数和带宽,每个成员 LSP 应用来重新发出信号。备份路由引擎有关容器 LSP 的信息有限,例如 LSP 名称、LSP ID、其成员 LSP 的当前带宽、成员 LSP 计数和规范化重试计数。如果在计算阶段发生切换,则备份路由引擎不知道目标成员 LSP 计数和要发出信号的带宽。由于流量统计信息不会复制到备份路由引擎,因此无法计算目标成员计数和带宽。在这种情况下,新的主路由引擎使用存储在目标成员 LSP 计数中的旧数据和目标带宽向 LSP 发出信号。

    • 执行阶段的规范化

      在执行阶段,主路由引擎的 RSVP 会尝试使用新计算的带宽向 LSP 发出信号。如果在对带宽更大的 LSP 发出信令期间或在 LSP 拆分或合并期间发生切换,则新的主路由引擎将使用目标成员计数和要发出的带宽值的信息来启动 LSP。

IPG-FA 支持

转发邻接 (FA) 是在两个节点之间配置并由内部网关协议 (IGP) 用于转发流量的流量工程标签交换路径 (LSP)。默认情况下,IGP 不考虑站点之间的 MPLS 流量工程隧道进行流量转发。转发邻接将流量工程 LSP 隧道视为 IGP 拓扑中的链路,从而允许网络中的节点也转发 IP 流量以通过此 FA LSP 到达目标。可以在路由设备之间创建转发邻接关系,而不管它们在网络中的位置如何。

要将容器 LSP 播发为 IGP-FA,需要在 IS-IS 或 OSPF 下配置 LSP 名称。例如:

IS-IS

OSPF

注:

IGP-FA 适用于容器 LSP 和常规点对点 LSP。如果容器 LSP 和点对点 LSP 共享相同的名称,则点对点 LSP 优先为 FA。

静态路由支持

静态路由通常只包含一条或很少的到目标的路径,并且通常不会更改。这些路由用于未配置策略和其他协议时的拼接服务。

要将容器 LSP 播发为静态路由,需要在静态路由配置下配置 LSP 名称。例如:

静态路由

注:

静态路由支持适用于容器 LSP 和常规点对点 LSP。如果容器 LSP 和点对点 LSP 共享相同的名称,则点对点 LSP 优先选择静态路由。

容器 LSP 支持的配置语句

表 7 列出了适用于 RSVP LSP 和容器 LSP(名义和补充)的 MPLS LSP 配置语句。

配置支持使用以下术语定义:

  • 是 — 此类型的 LSP 支持配置语句。

  • 否 — 此类型的 LSP 不支持配置语句。

  • N/A — 配置语句不适用于此类型的 LSP。

表 7: RSVP LSP 配置对容器 LSP 的适用性

配置语句

RSVP LSP(入口)

成员 LSP(入口)

自 适应

(默认值:非自适应)

管理员向下

管理员组

管理员组除外

应用组

应用组除外

associate-backup-pe-groups

助理-LSP

(无双向支持)

自动带宽

备份

带宽

服务等级

带芯-双向

(无双向支持)

核-双向-被动

(无双向支持)

说明

禁用

出口保护

exclude-srlg

快速重新路由

(所有成员 LSP 的快速重新路由相同)

跳数限制

安装

域间

(同一终端路由器)

辅助

(所有 LSP 都是主要的)

LDP 隧道

(所有 LSP 都执行隧道传输)

最少填充

链路保护

(所有 LSP 共享相同的链路保护机制)

LSP 属性

LSP-外部控制器

度量

(所有 LSP 都相同)

填充最多

无 CSPF

(LSP 使用 IGP)

no-decrement-ttl

(所有 LSP 具有相同的 TTL 行为)

无安装到地址

无记录

节点链路保护

(Al LSP 共享相同的节点链路保护机制)

Oam

优化-保持-死-延迟

(所有 LSP 都具有相同的价值)

优化-切换-延迟

(所有 LSP 都具有相同的价值)

优化计时器

(所有 LSP 都具有相同的价值)

P2MP

不适用

管制

(可变流量)

优先级

主要内容

(所有路径都是主路径)

随机

记录

重试限制

(适用于会员)

重试计时器

(适用于会员)

恢复计时器

(无辅助 LSP)

辅助

(所有 LSP 都是主要的)

软抢占

备用

(所有 LSP 均为备用)

模板

跟踪选项

终极跳跃弹出

配置容器 LSP 对网络性能的影响

容器 LSP 是一种容器 LSP,允许多个成员 LSP 共存并作为一个捆绑包进行管理。成员 LSP 类似于独立的点对点 RSVP LSP。因此,资源消耗类似于每个点对点 RSVP LSP 消耗的资源总和。但是,配置容器 LSP 效率更高,因为未充分利用的成员 LSP 会被动态移除,从而节省内存和 CPU 资源。

容器 LSP 功能取决于是否存在功能基础 MPLS RSVP 实现。因此,容器 LSP 除了基本 MPLS RSVP 功能的现有注意事项外,不会引入任何安全注意事项。可能的攻击和对策的类别如下:

  • 与进程和路由器配置交互

    容器 LSP 不需要与外部主机建立新的通信机制。数据通过本地软件进程和路由器配置到达 RSVP 模块,RSVP 邻居邻接除外。Junos OS 对访问路由器和路由器配置提供安全控制。

  • 与外部 RSVP 邻居通信

    RSVP 信令 MPLS LSP 依靠 RSVP 和 IGP 的服务,通过网络在相邻路由器之间传递 RSVP 消息。由于 RSVP 会话涉及本地路由器之外的通信,因此它们会受到多种形式的攻击,例如欺骗对等方、注入伪造的 RSVP 消息和路由更新,以及对会话的基础 TCP/UDP 传输的攻击。Junos OS 为此类攻击媒介提供对策。

  • 资源限制和拒绝服务

    Junos OS 通过监管器和过滤器提供多种机制,以防止基于注入高于预期的流量需求的拒绝服务攻击。在 MPLS LSP 级别,Junos OS 允许运营商配置 LSP 带宽和 LSP 数量的限制。但是,与点对点 RSVP LSP 类似,容器 LSP 不会对通过这些 LSP 转发的流量实施限制。

支持和不支持的功能

Junos OS 支持以下容器 LSP 功能:

  • 基于等带宽的 LSP 拆分机制

  • 以先合后断的方式进行基于聚合带宽的 LSP 拆分和合并

  • 动态创建的成员 LSP 的基于 LSP 编号的命名机制

  • 用于估计聚合带宽的定期采样机制

  • 与自动带宽功能的互操作性

  • 使用动态创建的 LSP 的 ECMP

  • 动态创建的 LSP 上的 LDP 隧道

  • 使用 IGP 快捷方式配置容器 LSP

  • 聚合以太网链路

  • 逻辑系统

Junos OS 支持 以下容器 LSP 功能:not

  • 入口和出口路由设备之间不同 LSP 的节点和链路不相交路径

  • 规范化事件中的带宽分配策略不同于等带宽策略

  • 基于约束的路由路径计算,可为不同的 LSP 找到相等的 IGP 成本路径

  • RSVP 对象,如 ,并在 [KOMPELLA-MLSP] 中定义MLSP_TUNNEL Sender TemplateMLSP_TUNNEL Filter Specification

  • 拓扑更改作为 LSP 拆分和合并的触发器

  • 拓扑更改和链路故障作为规范化的触发因素,除非成员 LSP 出现故障

  • 容器 LSP 上的出口保护

  • 容器 LSP 作为 IGP 接口的备用 LSP

  • 容器 LSP 作为组播 VPN 的提供商隧道

  • 用于标准化的动态 LSP

  • 使用容器 LSP 的 CCC

  • 容器 LSP 的辅助路径

  • 双向容器 LSP

  • 警 务

  • 在尽力而为的基础上使用容器 LSP 作为下一跃点的静态路由

  • 外部路径计算实体,例如 PCE

  • 多机箱

  • IPv6

示例:使用容器 LSP 配置动态带宽管理

此示例说明如何通过配置容器标签交换路径 (LSP) 来启用动态带宽管理,这些路径可在多个点对点成员 LSP 之间实现负载平衡。

要求

此示例使用以下硬件和软件组件:

  • 五台路由器可以是 M 系列、MX 系列或 T 系列路由器的组合,其中两台路由器是提供商边缘 (PE) 路由器,三台路由器是提供商 (P) 路由器

  • 在所有路由器上运行的 Junos OS 14.2 或更高版本

准备工作:

  1. 配置设备接口。

  2. 配置设备的自治系统编号和路由器 ID。

  3. 配置以下协议:

    • RSVP

    • MPLS

    • BGP

    • OSPF

概述

从 Junos OS 14.2 版开始,引入了一种称为容器 LSP 的新型 LSP,以实现跨多个点对点 LSP 的负载平衡。容器 LSP 包括相同入口和出口路由设备之间的一个或多个成员 LSP。成员 LSP 类似于独立的点对点 LSP,每个成员 LSP 采用不同的路径到达同一目标,并且可以沿着不同的 IGP 成本路径进行路由。

容器 LSP 允许入口路由器根据配置和聚合流量分别通过称为 LSP 拆分和 LSP 合并的过程动态添加和移除成员 LSP,从而为动态带宽管理提供支持。除了添加和删除之外,成员 LSP 还可以以先合后断的方式使用不同的带宽值重新优化。

拓扑

图 2 是配置了容器 LSP 的示例拓扑。

图 2: 使用容器 LSP 进行动态带宽管理使用容器 LSP 进行动态带宽管理

在此示例中,路由器 PE1 和 PE2 是分别连接到主机主机 1 和主机 2 的 PE 路由器。核心路由器、路由器 P1、P2 和 P3 连接到 PE 路由器。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入 commit

PE1

P1

P2

P3

PE2

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置路由器 PE1:

  1. 配置路由器 PE1 接口。

  2. 配置路由器 PE1 的路由器 ID 和自治系统编号。

  3. 启用策略以对流量进行负载均衡。

  4. 在所有路由器 PE1 接口(不包括管理接口)上启用 RSVP。

  5. 在路由器 PE1 的所有接口(不包括管理接口)上启用 MPLS。

  6. 配置 MPLS 统计信息参数。

  7. 配置标签交换路径 (LSP) 模板参数。

  8. 在路由器 PE1 和路由器 PE2 之间配置容器 LSP,并将 PE1 分配给 PE2 模板 LSP 模板。

  9. 配置容器 LSP 参数。

  10. 配置 BGP 组,并分配本地和邻居 IP 地址。

  11. 在路由器 PE1 的所有接口(不包括管理接口)上启用 OSPF 以及流量工程功能。

  12. 配置策略语句以对流量进行负载均衡。

  13. 在路由器 PE1 上配置路由实例,并分配路由实例接口。

  14. 配置 VRF 路由实例的路由识别符、vrf 目标和 vrf 表标签值。

成果

在配置模式下,输入 、 、 和命令来确认您的配置。show interfacesshow routing-optionsshow protocolsshow policy-optionsshow routing-options 如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

验证

确认配置工作正常。

在没有带宽的情况下验证容器 LSP 状态

目的

验证容器 LSP 的状态。

操作

在操作模式下,运行 命令。show mpls container-lsp extensive

意义

容器 LSP 在路由器 PE1 和 PE2 之间建立。

使用增加的带宽验证容器 LSP 状态(规范化之前)

目的

在规范化之前,使用增加的带宽验证容器 LSP 的状态。

操作

在操作模式下,运行 命令。show mpls container-lsp extensive

意义

由于尚未发生规范化,因此成员 LSP 计数仍为 2。

通过增加带宽验证容器 LSP 状态(规范化后)

目的

规范化后,使用增加的带宽验证容器 LSP 的状态。

操作

在操作模式下,运行 命令。show mpls container-lsp extensive

意义

在规范化计时器到期时,容器 LSP 被拆分为 5 个成员 LSP,每个成员具有 10 Mbps(最小和最大信令带宽)。因此,聚合带宽为 50 Mbps。

验证容器 LSP 拆分过程

目的

在规范化发生后验证容器 LSP 拆分过程。

操作

在操作模式下,运行 命令。show route 10.2.2.0

意义

LSP 拆分后,路由器 PE1 注入了转发邻接关系。

验证容器 LSP 统计信息

目的

在规范化发生后验证容器 LSP 统计信息。

操作

在操作模式下,运行 命令。show mpls container-lsp statistics

意义

流量会在新创建的成员 LSP 之间进行负载均衡。

在带宽减少的情况下验证容器 LSP 状态(规范化之前)

目的

在进行规范化之前,验证带宽减少的容器 LSP 的状态。

操作

在操作模式下,运行 命令。show mpls container-lsp detail

意义

由于尚未进行规范化,因此成员 LSP 计数仍为 5。

在带宽减少的情况下验证容器 LSP 状态(规范化后)

目的

验证规范化后带宽减少的容器 LSP 的状态。

操作

在操作模式下,运行 命令。show mpls container-lsp detail

意义

在规范化计时器到期时,将进行容器 LSP 合并,因为带宽总体减少。成员 LSP 已合并,规范化后成员 LSP 计数为 2。

验证容器 LSP 合并过程

目的

在规范化发生后验证容器 LSP 拆分过程。

操作

在操作模式下,运行 命令。show route 10.2.2.0

意义

LSP 合并后,路由器 PE1 已删除合并的成员 LSP。

验证故障转移规范化

目的

当以 35 Mbps 的速度发送流量并且路由器 P1 和 P2 之间的链路被禁用时,验证负载重新分配。PathErr 在链路故障时到达会立即触发规范化。

要启用故障转移规范化,请在层次结构级别包含 配置语句 。failover-normalization[edit protocols mpls container-label-switched-path container-lsp-name splitting-merging normalization]

操作

在操作模式下,运行 命令。show mpls container-lsp

路由器 P1 和 P2 之间的 ge-0/0/2 链路断开后,会立即触发规范化。

在操作模式下,运行 命令。show mpls container-lsp detail

意义

链路故障时 PathErr 消息到达会立即触发规范化。

验证增量规范化

目的

当没有足够的带宽可用时,验证增量规范化。

在路由器 PE1 上,RSVP 接口静态带宽限制为每个 22 Mbps。

操作

在操作模式下,运行 命令。show rsvp interface

在规范化发生之前:

在操作模式下,运行 命令。show mpls container-lsp

规范化发生后:

在操作模式下,运行 命令。show mpls container-lsp

在操作模式下,运行 命令。show mpls container-lsp detail

意义

规范化后,三次重试后的总带宽为 40.8326 Mbps。

使用容器 LSP 配置动态带宽管理

您可以配置容器 LSP,以动态启用跨多个点对点 LSP 的负载平衡。容器 LSP 包括相同入口和出口路由设备之间的一个或多个成员 LSP。成员 LSP 类似于独立的点对点 LSP,每个成员 LSP 采用不同的路径到达同一目标,并且可以沿着不同的 IGP 成本路径进行路由。

容器 LSP 允许入口路由器根据配置和聚合流量分别通过称为 LSP 拆分和 LSP 合并的过程动态添加和移除成员 LSP,从而为动态带宽管理提供支持。除了添加和删除之外,成员 LSP 还可以以先合后断的方式使用不同的带宽值重新优化。

准备工作:

  1. 配置设备接口。

  2. 配置设备路由器 ID 和自治系统编号。

  3. 配置以下协议:

    • RSVP

    • BGP

      配置 BGP 组以将设备与远程提供商边缘 (PE) 设备对等。

    • OSPF

      启用流量工程功能。

  4. 配置 VRF 路由实例。

要配置 PE 设备,请执行以下操作:

  1. 在所有接口(不包括管理接口)上启用 MPLS。
  2. 配置 MPLS 统计信息参数。
  3. 配置标签交换路径 (LSP) 模板参数。
  4. 在两个 PE 路由器之间配置容器 LSP,并分配 LSP 模板。
  5. 配置容器 LSP 参数。
  6. 配置策略语句以对流量进行负载均衡。
    注:

    负载均衡流量的策略应分配给 [编辑路由选项] 层次结构级别下的转发表配置。

  7. 验证并提交配置。

    例如: