Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RSVP 配置

最低 RSVP 配置

要启用单个接口上的 RSVP,请包括语句 rsvp 并使用语句指定接口 interface 。这是最低 RSVP 配置。所有其他 RSVP 配置语句都是可选的。

您可以在以下层次结构级别包括这些语句:

  • [edit protocols]

  • [edit logical-systems logical-system-name protocols]

要在所有接口上启用 RSVP,请将interface-name变量替换为all变量。

如果在一组接口上配置了接口属性,并希望禁用其中一个接口上的 RSVP,请添加以下 disable 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp interface interface-name ]

  • [edit logical-systems logical-system-name protocols rsvp interface interface-name ]

配置 RSVP 和 MPLS

Junos RSVP 软件的主要用途是在标签交换路径 (LSP) 内支持动态信令。在路由器上同时启用 MPLS 和 RSVP 时,MPLS 将成为 RSVP 的客户端。无需附加配置即可绑定 MPLS 和 RSVP。

您可以在层级使用 label-switched-path 语句 [edit protocols mpls] 来配置 MPLS 以设置信号路径。每个 LSP 都转化为 RSVP 启动 RSVP 会话的请求。此请求通过标签交换和 RSVP 之间的内部接口传递。检查请求信息、检查 RSVP 状态和本地路由表之后,RSVP 会为每个 LSP 启动一个会话。该会话来自本地路由器,发往 LSP 的目标。

成功创建 RSVP 会话后,将沿着 RSVP 会话创建的路径设置 LSP。如果 RSVP 会话不成功,RSVP 会通知 MPLS 其状态。由 MPLS 来启动备份路径或继续重试初始路径。

要传递标签交换信令信息,RSVP 支持四个附加对象:标签请求对象、标签对象、显式路由对象和记录路由对象。要成功设置 LSP,路径上的所有路由器都必须支持 MPLS、RSVP 和四个对象。在四个对象中,记录路由对象不是必需对象。

要配置 MPLS 并使其成为 RSVP 的客户端,请执行以下操作:

  • 在将参与标签交换的所有路由器上启用 MPLS(即,在可能属于标签交换路径的所有路由器上)。

  • 在所有路由器和构成 LSP 的所有路由器接口上启用 RSVP。

  • 在 LSP 开头配置路由器。

您可以将 RSVP 标签交换路径 (LSP) 配置为使用延迟指标来计算路径。要配置,请使用我们在层次结构下 [edit protocols mpls label-switched-path name] 引入的 CLI 选项。

示例:配置 RSVP 和 MPLS

下面显示了 LSP 开头的路由器配置示例:

下面显示了构成 LSP 的所有其他路由器的示例配置:

配置 RSVP 接口

以下部分介绍如何配置 RSVP 接口:

配置 RSVP 刷新缩减

通过在接口配置中包含以下语句,您可以在每个接口上配置 RSVP 刷新缩减:

  • aggregatereliable— 启用所有 RSVP 刷新缩减功能:RSVP 消息捆绑、RSVP 消息 ID、可靠的消息交付和摘要刷新。

    为了减少刷新并可靠地交付,您必须包括 aggregatereliable 语句。

  • no-aggregate- 禁用 RSVP 消息捆绑和摘要刷新。

  • no-reliable- 禁用 RSVP 消息 ID、可靠的消息交付和摘要刷新。

有关 RSVP 刷新减少的更多信息,请参阅 RSVP 刷新减少

如果在路由器上配置了语句 no-reliable (禁用可靠消息交付),则路由器将接受包括消息 ID 对象但忽略消息 ID 对象并将继续执行标准消息处理的 RSVP 消息。在这种情况下不会生成任何错误,并且 RSVP 运行正常。

但是,并非具有不同刷新缩减功能的两个邻接方之间的所有组合都能正确运行。例如,路由器配置 aggregate 了语句和 no-reliable 语句,或者配置了 reliable and no-aggregate 语句。如果 RSVP 邻接方向此路由器发送 Summary Refresh 对象,则不会生成任何错误,但无法处理 Summary Refresh 对象。因此,如果邻接方仅依赖摘要刷新来刷新这些 RSVP 状态,则此路由器上的 RSVP 状态可能会超时。

除非有特定要求,否则我们建议在每个 RSVP 邻接方上采用类似的方式配置 RSVP 刷新缩减。

要启用接口上的所有 RSVP 刷新缩减功能,请包括以下 aggregate 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp interface interface-name]

  • [edit logical-systems logical-system-name protocols rsvp interface interface-name]

要禁用 RSVP 消息捆绑和摘要刷新,请包括以下 no-aggregate 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp interface interface-name]

  • [edit logical-systems logical-system-name protocols rsvp interface interface-name]

要启用接口上的 RSVP 消息 ID 和可靠的消息交付,请包括以下 reliable 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp interface interface-name]

  • [edit logical-systems logical-system-name protocols rsvp interface interface-name]

要禁用 RSVP 消息 ID、可靠的消息交付和摘要刷新,请包括以下 no-reliable 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp interface interface-name]

  • [edit logical-systems logical-system-name protocols rsvp interface interface-name]

确定 RSVP 邻居的刷新减少功能

要确定 RSVP 邻接方 RSVP 刷新缩减功能,您需要以下信息:

  • 邻接方播发的 RR 位

  • RSVP 刷新减少的本地配置

  • 从邻居那里收到的实际 RSVP 消息

要获取此信息,可以发出 show rsvp neighbor detail 命令。示例输出如下:

有关命令的更多信息 show rsvp neighbor detail

配置 RSVP Hello 间隔

RSVP 监控内部网关协议 (IGP)(IS-IS 或 OSPF) 邻接方的状态,并依赖 IGP 协议检测节点发生故障时的情况。如果 IGP 协议声明了邻接方(因为不再接收 hello 数据包),RSVP 也会关闭该邻接方。但是,在启动邻接方时,IGP 协议和 RSVP 仍然独立运行。

对于瞻博网络路由器,配置较短或更长的 RSVP hello 间隔不会影响是否关闭 RSVP 会话。即使不再收到 RSVP hello 数据包,也会保持 RSVP 会话。在路由器停止接收 IGP hello 数据包或 RSVP 路径和 Resv 消息超时之前,将保留 RSVP 会话。但是,从 Junos OS 16.1 版开始,当 RSVP hello 消息超时时,RSVP 会话将被关闭。

当另一供应商的设备中断 RSVP 会话时,RSVP 发送间隔也可能受到影响。例如,可以将相邻的非瞻博网络路由器配置为监控 RSVP hello 数据包。

要修改 RSVP 发送 hello 数据包的频率,请包括以下 hello-interval 语句:

注:

从 16.1 版开始,Junos 当有可用时,通过旁路 LSP 发送 RSVP hello 消息。有关如何恢复通过 IGP 下一跃点发送问候的历史行为的信息,请参阅 no-node-hello-on-bypass

有关可包含此语句的层次结构级别列表,请参阅语句摘要部分。

配置 RSVP 身份验证

可以对所有 RSVP 协议交换进行身份验证,以确保只有可信邻接方参与设置预留。默认情况下,RSVP 身份验证处于禁用状态。

RSVP 身份验证使用散列消息身份验证代码 (HMAC)-MD5 基于消息的摘要。此方案会基于秘密身份验证密钥和消息内容生成消息摘要。(消息内容还包括序列号。)计算摘要与 RSVP 消息一起传输。配置身份验证后,将在此接口上验证包含所有邻接方的所有接收和传输的所有 RSVP 消息。

MD5 身份验证可抵御伪造和消息修改。它还可以防止重播攻击。但是,它不提供机密性,因为所有消息均以明文发送。

默认情况下,身份验证是禁用的。要启用身份验证,请在每个接口上配置一个密钥,包括以下 authentication-key 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp interface interface-name]

  • [edit logical-systems logical-system-name protocols rsvp interface interface-name]

为类类型配置带宽订阅

默认情况下,RSVP 允许将某类类型的 100% 带宽用于 RSVP 预留。超额订阅组播 LSP 的类类型时,允许所有 RSVP 会话的总需求超过该类类型的实际容量。

有关如何为类类型配置带宽订阅的详细说明,请参阅 为 LSP 配置带宽订阅百分比

在接口上配置 RSVP 更新阈值

内部网关协议 (IGP) 维护流量工程数据库,但流量工程数据库链路上的当前可用带宽源自 RSVP。当链路的带宽发生变化时,RSVP 会通知 IGP,然后 IGP 可以更新流量工程数据库,并将新的带宽信息转发到所有网络节点。然后,网络节点知道流量工程数据库链路(本地或远程)上的可用带宽,CSPF 可以正确地计算路径。

但是,IGP 更新可能会占用过多的系统资源。根据网络中节点的数量,对于带宽的细微变化,执行 IGP 更新可能不是可取的。通过在层次结构级别配置 update-threshold 语句 [edit protocols rsvp] ,您可以调整保留带宽更改触发 IGP 更新的阈值。

您可以为何时触发 IGP 更新配置 0.001% 到 20%(默认为 10%)的值。如果保留带宽的变化大于或等于该接口上静态带宽配置的阈值百分比,则会发生 IGP 更新。例如,如果将语句配置为 update-threshold 15%,而路由器发现链路上的保留带宽已更改 10% 的链路带宽,则 RSVP 不会触发 IGP 更新。但是,如果链路上的保留带宽更改了链路带宽的 20%,RSVP 会触发 IGP 更新。

您还可以使用 threshold-value 语句下 update-threshold 的选项将阈值配置为绝对值。

如果阈值配置为超过该链路上 20% 的带宽,则阈值上限为带宽的 20%。

例如,如果接口上的带宽为 1Gbps,并且 threshold-value 配置的带宽大于 200Mbps,则 threshold-value 上限为 200Mbps。显示 threshold-percent 20.000% 和 threshold-value 200Mbps。

注:

这两个选项 threshold-percentthreshold-value、 是相互排斥的。在给定时间点,您只能配置一个选项,以生成 IGP 更新,以降低带宽预留。因此,配置一个选项后,将在 CLI 上计算并显示另一个选项。

例如,在 1Gbps 的链路上,如果 threshold-percent 配置为 5%, threshold-value 则计算并显示为 50Mbps。同样,如果 threshold-value 配置为 50 米,则 threshold-percent 计算并显示为 5%。

要调整保留带宽更改触发 IGP 更新的阈值,请添加 update-阈值 语句。由于有更新阈值,受限最短路径优先 (CSPF) 可以使用链路上的过时流量工程数据库带宽信息来计算路径。如果 RSVP 尝试通过该路径建立 LSP,则可能会发现该链路上的带宽不足。发生这种情况时,RSVP 会触发 IGP 流量工程数据库更新,在网络上泛洪更新的带宽信息。然后,CSPF 可以使用更新的带宽信息重新计算路径,并尝试查找其他路径,以避免拥塞的链路。请注意,此功能为默认功能,不需要任何其他配置。

您可以在层级或[edit logical-systems logical-system-name protocols mpls]层次结构级别配置rsvp-error-hold-time语句[edit protocols mpls],以使用 PathErr 消息提供的信息提高流量工程数据库的准确性(包括 LSP 带宽估计的准确性)。请参阅 使用 RSVP PathErr 消息提高流量工程数据库的准确性

为未编号接口配置 RSVP

Junos OS 通过未编号的接口支持 RSVP 流量工程。RFC 4203、 支持广义多协议标签交换 (GMPLS) 的 OSPF 扩展和 RFC 4205、支持广义多协议标签 交换 (GMPLS) 的中间系统到中间系统 (IS-IS) 扩展所述,有关未编号链路的流量工程信息。未编号的链路也可以在 MPLS 流量工程信令中指定,如 RFC 3477 中的 “资源重新路由协议中的信令未编号链路 - 流量工程 (RSVP-TE)”所述。借助此功能,您不必为参与 RSVP 信号网络的每个接口配置 IP 地址。

要为未编号的接口配置 RSVP,必须使用在层次结构级别指定的[edit routing-options]语句来配置路由器 IDrouter-id。路由器 ID 必须可用于路由(通常可使用环路地址)。未编号链路的 RSVP 控制消息使用路由器 ID 地址(而不是随机选择的地址)发送。

要在启用了未编号接口的路由器上配置链路保护和快速重新路由,必须至少配置两个地址。除了配置路由器 ID 外,我们还建议在环路上配置辅助接口。

配置 RSVP 节点 ID Hellos

您可以配置基于节点 ID 的 RSVP hello,以确保瞻博网络路由器能够与其他供应商的设备进行互操作。默认情况下,Junos OS 使用基于接口的 RSVP hellos。基于节点 ID 的资源预留协议 (RSVP) 中指定了 RFC 4558、 基于节点 ID 的资源预留协议 (RSVP) Hello:澄清声明。如果您配置了 BFD 以检测 RSVP 接口上的问题,则 RSVP 节点 ID hello 会很有用,以便为这些接口禁用接口。您还可以使用节点 ID hello 来实现平稳的重启过程。

可以为所有 RSVP 邻接方全局启用节点 ID hello。默认情况下,节点 ID hello 支持处于禁用状态。如果未在路由器上启用 RSVP 节点 ID,则 Junos OS 不接受任何节点 ID hello 数据包。

注:

从 16.1 版开始,Junos 当有可用时,通过旁路 LSP 发送 RSVP hello 消息。有关如何恢复通过 IGP 下一跃点发送问候的历史行为的信息,请参阅 no-node-hello-on-bypass

要对路由器启用全局 RSVP 节点 ID hello,请将 节点-hello 语句包含在以下层级:

  • [edit protocols rsvp]

  • [edit logical-systems logical-systems-name protocols rsvp]

您还可以显式禁用全局 RSVP 接口 hellos。在瞻博网络路由器与其他供应商的设备进行大量 RSVP 连接的网络中,可能需要这种类型的配置。但是,如果全局禁用 RSVP 接口 hellos,您还可以使用 hello-interval 语句在 RSVP 接口上配置 hello 间隔。此配置将全局禁用 RSVP 接口 hello,但在指定接口(您为其配置 hello-interval 语句的 RSVP 接口)上启用 RSVP 接口 hello。在异构网络中,某些设备支持 RSVP 节点 ID hellos,而其他设备支持 RSVP 接口 hellos,则可能需要此配置。

要禁用路由器上的全局 RSVP 接口发送,请在以下层级包含 no-interface-hello 语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-systems-name protocols rsvp]

示例:配置 RSVP 信号 LSP

此示例说明如何使用 RSVP 作为信令协议在 IP 网络中的路由器之间创建 LSP。

要求

开始之前,请从设备中删除安全服务。请参阅 示例:删除安全服务

概述和拓扑

使用 RSVP 作为信令协议,您可以在 IP 网络中的路由器之间创建 LSP。在此示例中,您将配置一个示例网络,如中 图 1所示。

拓扑

图 1: 典型 RSVP 信号 LSP典型 RSVP 信号 LSP

要在路由器之间建立 LSP,您必须单独启用 MPLS 系列,并在 MPLS 网络中的每个传输接口上配置 RSVP。此示例说明如何在 ge-0/0/0 传输接口上启用 MPLS 和配置 RSVP。此外,您必须在网络中的所有 MPLS 接口上启用 MPLS 进程。

此示例说明如何使用 R7 的环路地址 (10.0.9.7) 在入口路由器 (R1) 上定义从 R1 到 R7 的 LSP。配置保留 10 Mbps 的带宽。此外,配置将禁用 CSPF 算法,确保主机 C1 和 C2 使用与网络 IGP 的最短路径对应的 RSVP 信号 LSP。

配置

程序

CLI 快速配置

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

逐步过程

以下示例要求您在配置层次结构中的各个级别上导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。

要配置 RSVP:

  1. 在 MPLS 网络中的所有传输接口上启用 MPLS 系列。

  2. 在 MPLS 网络中的每个传输接口上启用 RSVP。

  3. 在 MPLS 网络的传输接口上启用 MPLS 进程。

  4. 定义入口路由器上的 LSP。

  5. 在 LSP 上保留 10 Mbps 的带宽。

结果

在配置模式下输入命令, show 以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

为简洁起想,此命令 show 输出仅包含与此示例相关的配置。系统上的任何其他配置都已替换为椭圆 (...)。

完成设备配置后,请从配置模式进入 commit

验证

要确认配置工作正常,请执行以下任务:

验证 RSVP 邻接方

目的

验证每个设备是否都显示相应的 RSVP 邻接方,例如,路由器 R1 在路由器 R3 和路由器 R2 中 图 1 都列出为 RSVP 邻接方。

行动

从 CLI 中输入 show rsvp neighbor 命令。

输出显示相邻路由器的 IP 地址。验证是否列出了每个相邻的 RSVP 路由器环路地址。

验证 RSVP 会话

目的

验证是否已在所有 RSVP 邻接方之间建立 RSVP 会话。此外,验证带宽预留值是否处于活动状态。

行动

从 CLI 中输入 show rsvp session detail 命令。

输出显示每个已建立的 RSVP 会话的详细信息,包括会话 ID、带宽预留和下一跃点地址。验证以下信息:

  • 每个 RSVP 邻接方地址都有一个条目,按环路地址列出。

  • 每个 LSP 会话的状态为 Up

  • 对于 Tspec相应的带宽值, 10Mbps将显示 。

验证 RSVP 信号 LSP 是否存在

目的

验证条目(入口)路由器的路由表是否具有另一个路由器环路地址的已配置 LSP。例如,验证中 inet.3图 1 R1 条目路由器的路由表是否已配置到路由器 R7 的环路地址的 LSP。

行动

从 CLI 中输入 show route table inet.3 命令。

输出显示路由表中存在的 inet.3 RSVP 路由。验证 RSVP 信号 LSP 是否与 MPLS 网络中出口(出口)路由器 R7 的环路地址相关联。

示例:配置 RSVP 自动网状

服务提供商通常使用 BGP 和 MPLS VPN 高效扩展网络,同时提供创收服务。在这些环境中,BGP 用于跨服务提供商的网络分发 VPN 路由信息,而 MPLS 则用于将 VPN 流量从一个 VPN 站点转发到另一个。

在添加将参与 BGP 和 MPLS VPN 的新 PE 路由器时,必须将之前所有的 PE 路由器配置为与用于 BGP 和 MPLS 的新 PE 路由器对等。随着服务提供商的网络中添加了每台新的 PE 路由器,配置负担很快就会变得难以处理。

使用路由反射器可以降低 BGP 对等的配置要求。在 RSVP 信令 MPLS 网络中,RSVP 自动网格可以最大限度地减少网络 MPLS 部分的配置负担。在所有 PE 路由器上配置 rsvp-te 后,当添加新 PE 路由器时,RSVP 就可以自动创建所需的 LSP。

要求

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

  • 运行 Junos OS 10.1 或更高版本的路由器。

  • 使用 RSVP 作为 MPLS 标签交换路径 (LSP) 信令协议的 BGP 和 MPLS VPN。

概述

此示例说明如何使用配置语句在 PE 路由器 rsvp-te 上配置 RSVP 自动网格。为了使 RSVP 自动网状正常运行,全网状配置中的所有 PE 路由器都必须配置好语句 rsvp-te 。这可以确保以后添加的任何新 PE 路由器也受益于自动网状功能,前提是它们也使用 rsvp-te 语句进行配置。

鉴于此要求,此示例仅显示新添加的 PE 路由器上的配置。假设 RSVP 自动网状已在现有 PE 路由器上配置。

拓扑

图 2中,拓扑结构中有三个现有 PE 路由器:PE1、PE2 和 PE3。已添加 PE4,将配置 RSVP 自动网状。云代表服务提供商网络,网络地址 192.0.2.0/24 如图中心所示。

图 2: 采用 PE 路由器的服务提供商网络采用 PE 路由器的服务提供商网络

配置

配置 RSVP 自动网格涉及执行以下任务:

  • rsvp-te 层次结构级别启用配置语句 [edit routing-options dynamic-tunnels dynamic-tunnel-name]

  • 配置所需 destination-networks 元素。

    此配置元素为目标网络指定 IPv4 前缀范围。只能创建指定前缀范围内的隧道。

  • 配置所需 label-switched-path-template 元素。

    此配置元素将 default-template 预配置的 LSP 模板的名称作为参数。该 default-template 模板是系统定义的模板,无需用户配置。

CLI 快速配置

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

PE4 路由器

配置 RSVP 自动网状

逐步过程

以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用CLI 编辑器。

要启用 RSVP 自动网格:

  1. [edit routing-options dynamic-tunnels]层次结构级别配置rsvp-te

  2. [edit routing-options dynamic-tunnels]层次结构级别配置destination-networks

结果

show[edit routing-options dynamic-tunnels]层次结构级别发出命令,查看配置结果:

验证

验证路由器 PE4 上是否存在 RSVP 自动网状隧道

目的

要验证新配置的 PE4 路由器的操作,请在 show dynamic-tunnels database 操作模式下发出命令。此命令将显示可向目标网络创建动态隧道。

行动

验证路由器 PE4 上是否存在 MPLS LSP

目的

要验证 PE4 路由器上是否存在 MPLS LSP,请在 show mpls lsp 操作模式下发出命令。此命令将显示 MPLS LSP 的状态。

行动

为非休会 RSVP 邻接方配置 Hello 确认

hello-acknowledgements 语句控制 RSVP 邻接方之间的 hello 确认行为,无论它们是否处于同一会话中。

从 RSVP 邻接方收到的不是通用 RSVP 会话一部分的 Hello 消息将被丢弃。如果在层次结构级别配置 hello-acknowledgements 语句 [edit protocols rsvp] ,则来自非连接方发送的 hello 消息会用 hello 确认消息进行确认。从非分期邻接方收到 hello 时,将创建 RSVP 邻接方关系,现在可以从不接收邻接方收到定期发送的 hello 消息。语句 hello-acknowledgements 默认处于禁用状态。配置此语句允许使用 hello 数据包发现支持 RSVP 的路由器,并验证接口在发送任何 MPLS LSP 设置消息之前是否能够接收 RSVP 数据包。

为非会话 RSVP 邻接方启用 hello 确认后,路由器会继续确认来自任何非会话 RSVP 邻接方发送的 hello 消息,除非接口本身关闭或者您更改配置。基于接口的邻接方不会自动老化。

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

将 LSP 从网络节点交换

您可以将路由器配置为使用为某个接口启用的旁路 LSP 将活动 LSP 从网络节点切换。在需要更换设备时,此功能可用于保持活动网络,而不会中断通过网络的流量。LSP 可以是静态的,也可以是动态的。

  1. 您首先需要为要禁用的网络设备的流量配置链路或节点保护。要正常运行,旁路 LSP 必须使用与受保护 LSP 不同的逻辑接口。
  2. 要准备路由器开始从网络节点交换流量,请配置语句 always-mark-connection-protection-tlv

    然后,路由器会标记通过此接口的所有 OAM 流量,以便根据 OAM 功能将流量切换到备用路径。

    您可以在以下层级配置此语句:

    • [edit protocols mpls interface interface-name]

    • [edit logical-systems logical-system-name protocols mpls interface interface-name]

  3. 然后,您需要配置该 switch-away-lsps 语句,将流量从受保护的 LSP 切换到旁路 LSP,从而有效地绕过默认的下游网络设备。实际链路本身不会因此配置而中断。

    要配置路由器以将流量从网络节点切换,请配置以下 switch-away-lsps 语句:

    您可以在以下层级配置此语句:

    • [edit protocols mpls interface interface-name]

    • [edit logical-systems logical-system-name protocols mpls interface interface-name]

请注意,与将活动 LSP 从网络节点交换相关的以下限制:

  • 交换机离开功能仅在 MX 系列路由器上受支持。

  • 用于将主要点到多点 LSP 的流量切换以绕过点到多点 LSP 时,不支持交换机离开功能。如果为点到多点 LSP 配置 switch-away-lsps 语句,则流量不会切换到旁路点到多点 LSP。

  • 如果在沿动态 LSP 的路径的接口上配置交换离开功能,则无法通过该路径建立新的动态 LSP。交换机离开功能可防止 RSVP 信号 LSP 出现先断后断行为。“先断后断”行为通常会导致路由器先尝试重新发出动态 LSP 信号,然后再拆除原始 LSP。

配置 RSVP 设置保护

您可以配置设施备份快速重新路由机制,为正在发出信号的 LSP 提供设置保护。同时支持点对点 LSP 和点对多点 LSP。此功能适用于以下场景:

  1. 发出 LSP 信号之前,LSP 的严格显式路径上就存在失败的链路或节点。

  2. 还有一个旁路 LSP 来保护链路或节点。

  3. RSVP 通过旁路 LSP 向 LSP 发出信号。LSP 看起来就像最初是沿着其主路径设置的,然后由于链路或节点故障而故障转移到旁路 LSP。

  4. 恢复链路或节点后,LSP 会自动恢复到主路径。

您应该在 setup-protection 要启用 LSP 设置保护的 LSP 路径上的每台路由器上配置语句 [edit protocols rsvp] 。您还应在 LSP 路径上的所有路由器上配置 IGP 流量工程。您可以发出 show rsvp session 命令,以确定 LSP 在充当本地修复点 (PLR) 或合并点的路由器上是否启用了设置保护。

要启用 RSVP 设置保护,请包括语句setup-protection

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

跨 RSVP LSP 配置负载平衡

默认情况下,当您将多个 RSVP LSP 配置到同一出口路由器时,将选择指标最低的 LSP,并传输所有流量。如果所有 LSP 的指标都相同,则随机选择其中一个 LSP,并通过该 LSP 转发所有流量。

或者,您可以通过启用按数据包负载均衡来跨所有 LSP 实现流量负载均衡。

要对入口 LSP 启用按数据包负载均衡,请按如下配置 policy-statement 语句:

然后,您需要将此语句作为导出策略应用于转发表。

应用按数据包的负载平衡后,流量就会在 LSP 之间平均分布(默认情况下)。

如果要启用 PFE 快速重新路由,您需要配置按数据包的负载平衡。要启用 PFE 快速重新路由,请将 policy-statement 本部分所示的按数据包负载平衡的语句包含在可能重新路由的每个路由器的配置中。另请参阅 配置快速重新路由

您还可以按照为每个 LSP 配置的带宽量的比例,对 LSP 之间的流量进行负载均衡。此功能可以更好地将流量分配在具有非对称带宽功能的网络中,通过外部链路,因为 LSP 的配置带宽通常反映该 LSP 的流量容量。

要配置 RSVP LSP 负载平衡,请将 load-balance 语句包含 bandwidth 以下选项:

您可以在以下层级配置此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

使用 load-balance 语句时,请记住以下信息:

  • 如果配置语句 load-balance ,则当前运行 LSP 的行为不会改变。要强制当前运行的 LSP 使用新行为,可以发出 clear mpls lsp 命令。

  • load-balance 语句仅适用于启用了按数据包负载平衡的入口 LSP。

  • 对于差异服务感知流量设计的 LSP,LSP 的带宽是通过将所有类类型的带宽求和来计算得出的。

配置 RSVP 自动网状

您可以配置 RSVP,为添加到全网状 LSP 中的任何新 PE 路由器自动建立点对点标签交换路径 (LSP)。要启用此功能,必须在全网状中的所有 PE 路由器上配置 rsvp-te 语句。

注:

您不能将 RSVP 自动网格与 CCC 一起配置。CCC 无法使用动态生成的 LSP。

要配置 RSVP 自动网格,请添加 rsvp-te 语句:

您可以在以下层级配置这些语句:

  • [edit routing-options dynamic-tunnels tunnel-name]

  • [edit logical-systems logical-system-name routing-options dynamic-tunnels tunnel-name]

您还必须配置以下语句以启用 RSVP 自动网格:

  • destination-networks- 指定目标网络的 IP 版本 4 (IPv4) 前缀范围。可以启动指定 IPv4 前缀范围内的动态隧道。

  • label-switched-path-template (Multicast)-您可以使用选项显式配置默认模板,也可使用default-templatetemplate-name选项配置您自己的 LSP 模板。LSP 模板用作动态生成的 LSP 的模型配置。

为 RSVP 刷新消息配置计时器

RSVP 使用两个相关的计时参数:

  • refresh-time—刷新时间控制生成连续刷新消息之间的间隔。刷新时间的默认值为 45 秒。此数字源自 refresh-time 语句的默认值 30,乘以固定值 1.5。此计算与 RFC 2205 不同,其中指出刷新时间应乘以 0.5 到 1.5 范围内的随机值。

    刷新消息包括路径和 Resv 消息。刷新消息会定期发送,以便相邻节点的预留状态不会超时。每个路径和 Resv 消息都包含刷新计时器值,接收节点将从消息中提取此值。

  • keep-multiplier— keep 倍数是本地配置的一个小整数,从 1 到 255。默认值为 3。它表示在特定状态声明陈旧且必须删除之前可能丢失的消息数。保持倍数直接影响 RSVP 状态的生存期。

要确定预留状态的生存期,请使用以下公式:

在最坏情况下,(keep-multiplier – 1) 必须丢失连续刷新消息,然后才能删除预订状态。

我们不建议配置简短的 RSVP hello 计时器。如果需要快速发现故障邻接方,请配置短 IGP(OSPF 或 IS-IS)hello 计时器。

默认情况下,刷新计时器值为 30 秒。要修改此值,请包括以下 refresh-time 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

保持倍数的默认值为 3。要修改此值,请包括以下 keep-multiplier 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

抢占 RSVP 会话

只要带宽不足以处理所有 RSVP 会话,您就可以控制 RSVP 会话的抢先状态。默认情况下,新的高优先级会话只会抢占 RSVP 会话。

要始终在带宽不足时抢占会话,请将语句 preemption 随附 aggressive 选项:

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

要禁用 RSVP 会话抢占,请将 preemption 语句与选项一起 disabled

要返回默认值(即仅在新的高优先级会话中抢占会话),请将 preemption 语句添加 normal 选项:

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

在 RSVP 中配置 MTU 信令

要配置 RSVP 中的最大传输单元 (MTU) 信令,您需要配置 MPLS 以允许 IP 数据包在封装在 MPLS 中之前进行分片。您还需要在 RSVP 中配置 MTU 信令。出于故障排除目的,您可以单独配置 MTU 信令,而无需启用数据包分片。

要配置 RSVP 中的 MTU 信令,请 path-mtu 添加以下语句:

您可以在以下层级包含此语句:

  • [edit protocols mpls]

  • [edit logical-systems logical-system-name protocols mpls]

以下部分介绍如何在 RSVP 中启用数据包分片和 MTU 信令:

在 RSVP 中启用 MTU 信令

要启用 RSVP 中的 MTU 信令,请包括以下 rsvp mtu-signaling 语句:

您可以在以下层级包含此语句:

  • [edit protocols mpls path-mtu]

  • [edit logical-systems logical-system-name protocols mpls path-mtu]

提交配置后,RSVP 的 MTU 信令行为更改将下次刷新路径时生效。

您可以在层级自行[edit protocols mpls path-mtu rsvp]配置mtu-signaling语句。这对于故障排除非常有用。如果仅 mtu-signaling 配置语句,则可以使用 show rsvp session detail 命令来确定 LSP 上的最小 MTU 是什么。命令 show rsvp session detail 显示 Adspec 对象中接收和发送的 MTU 值。

启用数据包分片

要允许在 IP 数据包封装到 MPLS 中之前进行分片,请包括以下 allow-fragmentation 语句:

您可以在以下层级包含此语句:

  • [edit protocols mpls path-mtu]

  • [edit logical-systems logical-system-name protocols mpls path-mtu]

    注:

    不要单独配置 allow-fragmentation 语句。始终将其与 mtu-signaling 语句一起配置。

为 LSP 配置终极跳跃弹出

默认情况下,RSVP 信号 LSP 使用倒数第二跃点弹出 (PHP)。 图 3 展示了路由器 PE1 和路由器 PE2 之间倒数第二跃点弹出的 LSP。路由器 CE1 将数据包转发到其下一跃点(路由器 PE1),这也是 LSP 入口。路由器 PE1 推送数据包上的标签 1,并将已标记的数据包转发到路由器 P1。路由器 P1 完成标准的 MPLS 标签交换操作,将标签 1 交换为标签 2,并将数据包转发到路由器 P2。由于路由器 P2 是 LSP 到路由器 PE2 的倒数第二跃点路由器,它会首先弹出标签,然后将数据包转发到路由器 PE2。当路由器 PE2 收到数据包时,数据包可以包含服务标签、显式空标签,或者只是一个纯 IP 或 VPLS 数据包。路由器 PE2 将未标记的数据包转发到路由器 CE2。

图 3: LSP 倒数第二跳弹出LSP 倒数第二跳弹出

您还可以为 RSVP 信号 LSP 配置终极跳跃点弹出 (UHP)(如中 图 4所示)。某些网络应用程序可能要求数据包使用非空外部标签到达出口路由器(路由器 PE2)。对于最终跃点弹出 LSP,倒数第二位路由器(路由器 P2 in)在 图 4将数据包转发到出口路由器 PE2 之前执行标准 MPLS 标签交换操作(此示例中为标签 3 的标签 2)。路由器 PE2 会弹出外部标签并执行第二次数据包地址查找以确定最终目标。然后,它将数据包转发到相应的目标(路由器 CE2 或路由器 CE4)。

图 4: LSP 的终极跃点弹出LSP 的终极跃点弹出

以下网络应用程序要求您配置 UHP LSP:

  • 用于性能监控和带内 OAM 的 MPLS-TP

  • 边缘保护虚拟电路

以下功能不支持 UHP 行为:

  • LDP 信号 LSP

  • 静态 LSP

  • 点对多点 LSP

  • CCC

  • traceroute 命令

有关 UHP 行为的更多信息,请参阅互联网草案 draft-ietf-mpls-rsvp-te-no-php-oob-mapping-01.txt、 非 PHP 行为和 RSVP-TE LSP 带外映射

对于点对点 RSVP 信号 LSP,从 LSP 入口发出 UHP 行为信号。根据入口路由器配置,RSVP 可以使用设置非 PHP 标记来向 UHP LSP 发出信号。RSVP PATH 消息在 LSP-ATTRIBUTES 对象中携带这两个标志。当出口路由器收到 PATH 消息时,它会为 LSP 分配一个非空标签。此外,RSVP 还会在 mpls.0 路由表中创建和安装两个路由。S 是指 MPLS 标签的 S 位,表示标签堆栈的底部是否已到达。

  • Route S=0 — 表示堆栈中有更多的标签。此路由的下一跃点指向 mpls.0 路由表,从而触发链接式 MPLS 标签查找以发现堆栈中的剩余 MPLS 标签。

  • Route S=1 — 指示不再使用标签。如果平台支持链式和多系列查找,下一跃点指向 inet.0 路由表。或者,标签路由可以指向 VT 接口发起 IP 转发。

如果启用 UHP LSP,MPLS 应用程序(如第 3 层 VPN、VPLS、第 2 层 VPN 和第 2 层电路)可以使用 UHP LSP。下面将解释 UHP LSP 如何影响不同类型的 MPLS 应用程序:

  • 第 2 层 VPN 和第 2 层电路 — 一个数据包会带着两个标签到达 PE 路由器(UHP LSP 的出口)。外部标签 (S=0) 是 UHP 标签,内部标签 (S=1) 是 VC 标签。基于传输标签的查找将产生 mpls.0 路由表的表句柄。mpls.0 路由表中有一个与内部标签对应的附加路由。基于内部标签的查找结果为 CE 路由器下一跃点。

  • 第 3 层 VPN — 一个数据包会带着两个标签到达 PE 路由器(UHP LSP 的出口)。外部标签 (S=0) 是 UHP 标签,内部标签是 VPN 标签 (S=1)。基于传输标签的查找结果为 mpls.0 路由表的表句柄。此场景中有两种情况。默认情况下,第 3 层 VPN 播发 per-next 跃点标签。基于内部标签的查找将导致向 CE 路由器的下一跃点。但是,如果为第 3 层 VPN 路由实例配置 vrf-table-label 了语句,则内部 LSI 标签将指向 VRF 路由表。此外,还可以对 VRF 路由表执行 IP 查找。

    注:

    使用 vrf-table-label 语句配置的第 3 层 VPN 的 UHP 仅在 MX 系列 5G 通用路由平台上受支持。

  • VPLS — 一个数据包会带着两个标签到达 PE 路由器(UHP LSP 的出口)。外部标签是传输标签 (S=0),内部标签是 VPLS 标签 (S=1)。基于传输标签的查找结果为 mpls.0 路由表的表句柄。如果未配置隧道服务(或 VT 接口不可用),则基于 mpls.0 路由表中的内部标签的查找将导致 VPLS 路由实例的 LSI 隧道接口。MX 3D 系列路由器支持链式查找和多系列查找。

    注:

    使用语句配置的 no-tunnel-service VPLS 的 UHP 仅在 MX 3D 系列路由器上受支持。

  • 基于 MPLS 的 IPv4 — 一个数据包通过一个标签 (S=1) 到达 PE 路由器(UHP LSP 的出口)。基于此标签的查找将返回一个 VT 隧道接口。在 VT 接口上完成另一个 IP 查找,以确定数据包转发位置。如果路由平台支持多系列和链式查找(例如,MX 3D 路由器和 PTX 系列数据包传输路由器),则基于标签路由 (S=1) 的查找将指向 inet.0 路由表。

  • 基于 MPLS 的 IPv6 — 对于基于 MPLS 的 IPv6 隧道,PE 路由器使用标签值 2 相互播发 IPv6 路由。这是 IPv6 的显式空标签。因此,从远程 PE 路由器获悉的 IPv6 路由的转发下一跃点通常会推送两个标签。内部标签为 2(如果广告 PE 路由器来自其他供应商,则可能会有所不同),路由器标签为 LSP 标签。数据包会带着两个标签到达 PE 路由器(UHP LSP 的出口)。外部标签是传输标签 (S=0),内部标签是 IPv6 显式空标签(标签 2)。基于 mpls.0 路由表中内部标签的查找会将重定向回 mpls.0 路由表。在 MX 3D 系列路由器上,内部标签(标签 2)被剥离,并使用 inet6.0 路由表完成 IPv6 查找。

  • 同时启用 PHP 和 UHP LSP — 您可以通过相同的网络路径同时配置 PHP 和 UHP LSP。您可以通过使用语句的正则表达式 install-nexthop 选择转发 LSP 下一跃点来分离 PHP 和 UHP 流量。您还可以通过适当命名 LSP 来分隔流量。

以下语句支持 LSP 的终极跃点弹出。您可以在特定 LSP 上启用此功能,也可以为路由器上配置的所有入口 LSP 启用此功能。在 LSP 入口处的路由器上配置这些语句。

  1. 要启用最终跃点弹出,请包括以下 ultimate-hop-popping 语句:

    将此语句包含在 [edit protocols mpls label-switched-path label-switched-path-name] 层次结构级别,以启用特定 LSP 上的最终跃点弹出。在层次结构级别包含此语句 [edit protocols mpls] ,以在路由器上配置的所有入口 LSP 上启用最终跃点弹出。您还可以在 ultimate-hop-popping 等效 [edit logical-routers] 层次结构级别下配置语句。

    注:

    启用最终跃点弹出时,RSVP 会尝试以“先合后断”的方式将现有 LSP 重新作为最终跃点弹出 LSP。如果出口路由器不支持最终跃点弹出,则现有 LSP 将拆除(RSVP 沿 LSP 的路径发送 PathTear 消息 ,移除路径状态和相关预留状态,并释放关联的网络资源)。

    如果禁用最终跃点弹出,RSVP 将现有 LSVP 以“先合后断”的方式将现有 LSP 作为倒数第二跳弹出 LSP。

  2. 如果只想在 MX 3D 系列路由器上启用终极跃点弹出和链接式下一跃点,则还需要配置 enhanced-ip 语句 network-services 选项:

    您可以在层次结构级别配置此语句 [edit chassis] 。配置 network-services 语句后,需要重新启动路由器以启用 UHP 行为。

配置 RSVP 以弹出最终跃点路由器上的标签

您可以控制在 LSP 的出口路由器上播发的标签值。默认播发的标签为标签 3(隐式空标签)。如果播发标签 3,倒数第二跃点路由器将移除该标签并将数据包发送至出口路由器。启用最终跃点弹出后,将播发标签 0(IP 版本 4 [IPv4] 显式空标签)。最终跃点弹出可确保遍历 MPLS 网络的任何数据包都包含标签。

注:

瞻博网络路由器会根据传入标签对数据包进行队列。其他供应商的路由器可能会以不同的方式对数据包进行排队。在处理包含多个供应商路由器的网络时,请记住这一点。

要为 RSVP 配置最终跃点弹出,请添加 explicit-null 以下语句:

您可以在以下层级包含此语句:

  • [edit protocols mpls]

  • [edit logical-systems logical-system-name protocols mpls]

在点到多点 LSP 上实现终极跃点弹出

默认情况下,对于点到点和点对多点 LSP,倒数第二跳弹出用于 MPLS 流量。MPLS 标签将从路由器上的数据包中移除,就在 LSP 的出口路由器之前。然后,将普通 IP 数据包转发到出口路由器。对于最终跃点弹出,出口路由器负责移除 MPLS 标签和处理纯 IP 数据包。

在点到多点 LSP 上启用最终跃点弹出可能很有用,特别是在传输流量遍历同一出口设备时。如果启用最终跃点弹出,可以通过传入链路发送单个流量副本,从而节省大量带宽。默认情况下,最终跃点弹出被禁用。

通过配置 tunnel-services 语句,您可以为点到多点 LSP 启用最终跃点弹出。启用最终跃点弹出后,Junos OS 会选择一个可用的虚拟环路隧道 (VT) 接口,将数据包环路回 PFE 进行 IP 转发。默认情况下,VT 接口选择过程会自动执行。带宽许可控制用于限制可在一个 VT 接口上使用的 LSP 数量。一旦一个接口上消耗了所有带宽,Junos OS 就会选择具有足够带宽的另一个 VT 接口来实现准入控制。

如果 LSP 需要的带宽超过任何 VT 接口的可用带宽,则无法启用最终跃点弹出,而将启用倒数第二跃点弹出。

要使点到多点 LSP 上的最终跃点弹出正常运行,出口路由器必须具有提供隧道服务的 PIC,例如隧道服务 PIC 或自适应服务 PIC。弹出最终的 MPLS 标签和返回数据包进行 IP 地址查找需要隧道服务。

您可以通过包含 devices 语句选项 tunnel-services 来显式配置哪些 VT 接口处理 RSVP 流量。您可以通过 devices 选项指定 RSVP 将使用哪些 VT 接口。如果未配置此选项,则可以使用路由器可用的所有 VT 接口。

要为路由器上的出口点到多点 LSP 启用最终跃点弹出,请配置以下 tunnel-services 语句:

您可以在以下层级配置此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

要为出口点到多点 LSP 启用最终跃点弹出,您还必须使用以下选项配置 interface 语句 all

您必须在 [edit protocols rsvp] 层次结构级别配置此语句。

跟踪 RSVP 协议流量

要跟踪 RSVP 协议流量,请包括以下 traceoptions 语句:

您可以在以下层级包含此语句:

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

您可以在 RSVP 语句中指定以下特定于 RSVP traceoptions 的标志:

使用 file 语句指定接收跟踪操作输出的文件的名称。所有文件均位于目录中 /var/log。我们建议将 RSVP 跟踪输出放在文件中 rsvp-log

  • all— 所有追踪操作。

  • error- 所有检测到的错误状况

  • event—RSVP 相关事件(有助于跟踪与 RSVP 平滑重启相关的事件)

  • lmp—RSVP 链路管理协议 (LMP) 交互

  • packets— 所有 RSVP 数据包

  • path— 所有路径消息

  • pathtear-PathTear 消息

  • resv— Resv 消息

  • resvtear— ResvTear 消息

  • route—路由信息

  • state-会话状态转换,包括 RSVP 信号 LSP 上升和关闭时。

注:

小心 all 使用跟踪标志和 detail 标志修改器,因为它们可能会导致 CPU 变得非常繁忙。

要查看启用 RSVP 追踪选项时生成的日志文件,请发出 show log file-name 命令,其中 file-name 使用的是使用 traceoptions 语句指定的文件。

有关跟踪和全局跟踪选项的常规信息,请参阅 路由设备的 Junos OS 路由协议库

例子:跟踪 RSVP 协议流量

详细追踪 RSVP 路径消息:

跟踪所有 RSVP 消息:

跟踪所有 RSVP 错误情况:

追踪 RSVP 状态转换:

RSVP 日志文件输出

以下是在已配置了标志并 show log file-name 启用了 state RSVP 追踪选项的路由器上发出命令时生成的示例输出。RSVP 信号 LSP E-D 于 3 月 11 日 14:04:36.707092 显示正在拆除。3月11日 14:05:30.101492,显示将恢复。

RSVP 平滑重启

RSVP 平滑重启允许正在重新启动的路由器将情况通知相邻邻接方。重新启动的路由器会向邻接方或对等方请求一个宽限期,后者随后可以与重新启动的路由器配合。重新启动的路由器在重新启动期间仍然可以转发 MPLS 流量;网络中的融合不会中断。重新启动对网络的其他部分不可见,并且重新启动的路由器不会从网络拓扑中移除。可以在传输路由器和入口路由器上启用 RSVP 平滑重启。它同时适用于点对点 LSP 和点对多点 LSP。

以下部分介绍了 RSVP 平稳重启:

RSVP 平滑重启术语

重启时间(毫秒)

默认值为 60,000 毫秒(1 分钟)。重新启动时间在 hello 消息中播发。时间表示邻接方在声明路由器故障和正在清除状态之前,应等待多长时间才能收到重新启动路由器的 hello 消息。

如果时间大于本地重新启动时间的三分之一,Junos OS 可以覆盖邻接方播发的重启时间。例如,如果默认重新启动时间为 60 秒,路由器将等待 20 秒或更少时间才能从重新启动的邻接方收到 hello 消息。如果重新启动时间为零,则可以立即将重新启动邻接方声明为失效。

恢复时间(以毫秒为单位)

仅在控制通道开启(hello 交换已完成)重新启动时间前才适用。仅适用于点故障。

进行正常重启时,会播发剩余的恢复时间。有时,此值为零。播发的最大恢复时间为 2 分钟(120,000 毫秒)。

在恢复期间,重新启动的节点会尝试在邻居的帮助下恢复其丢失的状态。重新启动节点的邻接方必须在恢复时间的一半内将带有恢复标签的路径消息发送到重新启动节点。重新启动节点在其播发的恢复时间之后将其平滑重启完成。

RSVP 平滑重启操作

要使 RSVP 平稳重启正常运行,必须在全局路由实例上启用该功能。可以在协议级别(单独针对 RSVP)或全局级别对所有协议禁用 RSVP 平滑重启。

RSVP 平滑重启需要重新启动的路由器和路由器的邻接方具备以下功能:

  • 对于重新启动的路由器,RSVP 平滑重启尝试维护 RSVP 安装的路由和分配的标签,以便继续转发流量,而不会中断。RSVP 平滑重启速度足够快,从而减少或消除对相邻节点的影响。

  • 相邻路由器必须启用 RSVP 平滑重启助手模式,从而允许它们协助路由器尝试重新启动 RSVP。

在 RSVP hello 消息中发送的名为 Restart Cap 的对象用于通告节点的重启功能。相邻节点向重新启动节点发送恢复标签对象,以恢复其转发状态。此对象本质上是重新启动节点在节点关闭之前播发的旧标签。

下面列出了 RSVP 平滑重启行为,这些行为因配置和启用的功能而异:

  • 如果禁用帮助器模式,Junos OS 不会尝试帮助邻接方重新启动 RSVP。从邻接方随 Restart Cap 对象一起到达的任何信息将被忽略。

  • 在路由实例配置下启用平滑重启时,路由器可以在其邻接方的帮助下平稳重新启动。RSVP 在指定了重新启动和恢复时间的 hello 消息中播发一个重启上限对象 (RSVP RESTART)(值均不为 0)。

  • 如果在层次结构级别下 [protocols rsvp] 显式禁用 RSVP 平滑重启,则播发 Restart Cap 对象时会使用指定为 0 的重新启动和恢复时间。支持相邻路由器重新启动(除非禁用助手模式),但路由器本身不会保留 RSVP 转发状态,也无法恢复其控制状态。

  • 如果重新启动后,RSVP 发现没有保留任何转发状态,则播发重启帽对象时,重新启动和恢复时间指定为 0。

  • 如果禁用平滑重启和助手模式,则 RSVP 平滑重启将完全禁用。路由器既不识别也不播发 RSVP 平滑重启对象。

您不能为重新启动和恢复时间显式配置值。

与其他协议不同,RSVP 除了固定的超时外,无法确定它已完成重启过程。所有 RSVP 平滑重启过程均基于计时器。命令 show rsvp version 可能指示重新启动仍在进行,即使所有 RSVP 会话都已备份并还原路由。

处理重启大写对象

根据 Restart Cap 对象(假设可以明确区分控制通道故障与节点重启)对邻接方进行以下假设:

  • 未在其 hello 消息中播发 Restart Cap 对象的邻接方无法协助具有状态或标签恢复的路由器,也不能执行 RSVP 平滑重启。

  • 重新启动后,当邻接方广告为 Restart Cap 对象时,重新启动时间等于任何值,而恢复时间等于 0 时,则未保留其转发状态。当恢复时间等于 0 时,邻接方将被视为失效,并且与此邻接方相关的任何状态均会被清除,无论重新启动时间的值如何。

  • 重新启动后,使用 0 以外的值宣传其恢复时间的邻接方可以保留或一直保持转发状态。如果本地路由器正在帮助其邻接方重新启动或恢复过程,它会向此邻接方发送一个恢复标签对象。

配置 RSVP 平滑重启

可以采用以下 RSVP 平滑重启配置:

  • 平滑重启和助手模式均已启用(默认)。

  • 已启用平滑重启,但禁用助手模式。以这种方式配置的路由器可以正常重新启动,但无法帮助邻接方执行重新启动和恢复过程。

  • 已禁用平滑重启,但已启用助手模式。以这种方式配置的路由器无法正常重新启动,但可以帮助正在重新启动的邻接方。

  • 平滑重启和助手模式均已禁用。此配置完全禁用 RSVP 平滑重启(包括重启和恢复过程以及帮助器模式)。路由器的行为类似于不支持 RSVP 平滑重启的路由器。

注:

要启用 RSVP 平滑重启,必须将全局平滑重启计时器设置为至少 180 秒。

以下部分介绍如何配置 RSVP 平滑重启:

为所有路由协议启用平滑重启

要为 RSVP 启用平稳重启,您需要为所有在路由器上支持正常重新启动的协议启用平滑重启。有关平稳重启的更多信息,请参阅 路由设备的 Junos OS 路由协议库

要启用路由器上的平稳重启,请包括以下 graceful-restart 语句:

您可以在以下层级包含此语句:

  • [edit routing-options]

  • [edit logical-systems logical-system-name routing-options]

禁用 RSVP 平滑重启

默认情况下,当您启用平滑重启时,将启用 RSVP 平滑重启和 RSVP 助手模式。但是,您可以禁用其中一项或两项功能。

要禁用 RSVP 平滑重启和恢复,请在 disable 层次结构级别包含语句 [edit protocols rsvp graceful-restart]

禁用 RSVP 助手模式

要禁用 RSVP 帮助器模式,请在 helper-disable 层级包括语句 [edit protocols rsvp graceful-restart]

配置最长帮助程序恢复时间

要配置路由器在 RSVP 邻接方正常重新启动时保留其状态的时间量,请在层次结构级别添加语句maximum-helper-recovery-time[edit protocols rsvp graceful-restart]。此值将应用于所有相邻路由器,因此它应基于恢复速度最慢的 RSVP 邻接方所需的时间。

配置帮助程序最大重启时间

要配置路由器发现相邻路由器关闭与声明邻接方关闭之间的延迟,请在层次结构级别包含 maximum-helper-restart-time 语句 [edit protocols rsvp graceful-restart] 。此值应用于所有相邻路由器,因此它应基于最慢的 RSVP 邻接方重新启动所需的时间。

RSVP LSP 隧道概述

资源预留协议 (RSVP) 标签交换路径 (LSP) 隧道允许您在其他 RSVP LSP 内发送 RSVP LSP。这使得网络管理员能够提供从网络一端到另一端的流量工程。此功能的一个有用应用是,使用 RSVP LSP 将客户边缘 (CE) 路由器与提供商边缘 (PE) 路由器连接起来,然后在通过网络核心传输的第二个 RSVP LSP 内部建立此边缘 LSP 隧道。

您应该对 MPLS 和标签交换概念有一般了解。有关 MPLS 的更多信息,请参阅 Junos MPLS 应用程序配置指南

RSVP LSP 隧道增加了转发邻接的概念,类似于用于广义多协议标签交换 (GMPLS) 的概念。(有关 GMPLS 的更多信息,请参阅 Junos GMPLS 用户指南

转发邻接会创建一个隧道路径,用于在 RSVP LSP 网络中的对等设备之间发送数据。建立转发邻接 LSP (FA-LSP) 后,可以使用受限最短路径优先 (CSPF)、链路管理协议 (LMP)、开放式最短路径优先 (OSPF) 和 RSVP 通过 FA-LSP 发送其他 LSP。

要启用 RSVP LSP 隧道,Junos OS 使用以下机制:

  • LMP — LMP 最初专为 GMPLS 而设计,在 RSVP LSP 隧道对等方之间建立转发邻接,并为流量工程链路维护和分配资源。

  • OSPF 扩展 — OSPF 旨在将数据包路由到与 物理接口卡 (PIC) 相关的物理和逻辑接口。此协议已扩展到将数据包路由到 LMP 配置中定义的虚拟对等接口。

  • RSVP-TE 扩展 — RSVP-TE 旨在向物理接口发送数据包 LSP 的设置信号。该协议已扩展到请求路径设置,以便为传输至 LMP 配置中定义的虚拟对等接口的数据包 LSP 设置。

    注:

    从 Junos OS 15.1 版开始,多实例支持扩展到了 MPLS RSVP-TE。此支持仅适用于虚拟路由器实例类型。路由器可以创建并参与多个独立的 TE 拓扑分区,从而允许每个分区的 TE 域独立扩展。多实例 RSVP-TE 提供了手动选择需要实例感知的控制平面实体的灵活性,例如,路由器可以参与多个 TE 实例,同时仍然运行单个 BGP 实例。

    通过扩展 MPLS RSVP-TE 的 Junos OS 实施,可增强 Junos OS 16.1 版中 LSP 可用性、可见性、配置和故障排除。

    这些增强功能可通过以下方式大规模简化 RSVP-TE 配置:

    • 使用 RSVP-TE LSP 自 ping 机制,确保 LSP 在 LSP 重新调整期间 LSP 数据平面就绪。

      LSP 不应开始承载流量,除非已知已在数据平面中编程。在将流量切换到 LSP 或其 MBB 实例之前,LSP 数据平面中的数据交换(如 LSP ping 请求)发生在入口路由器上。在大型网络中,这种流量可能会使 LSP 出口路由器不堪重负,因为出口 LSP 需要响应 LSP ping 请求。LSP 自 ping 机制使入口 LER 能够创建 LSP ping 响应消息,并通过 LSP 数据平面发送。接收这些消息后,出口 LER 将其转发到入口,表示 LSP 数据平面的实时线路。这可确保 LSP 在编写数据平面之前不会开始承载流量。

    • 消除入口路由器上当前 64K LSP 的硬限制,并通过 RSVP-TE 信令 LSP 扩展 LSP 总数。每个出口最多可配置 64K 个 LSP。之前,此限制是在入口 LER 上配置的 LSP 聚合数。

    • 防止入口路由器突然撕毁 LSP,因为传输路由器上发出 LSP 信号有延迟。

    • 启用 LSP 数据集的灵活视图,方便实现 LSP 特征数据可视化。

    注:

    从 Junos OS 17.4 版开始,将引入默认 1800 秒的自 ping 计时器。

LSP 层次结构存在以下限制:

  • 不支持基于电路交叉连接 (CCC) 的 LSP。

  • 不支持平滑重启。

  • 链路保护不适用于 FA-LSP,也不可用于转发邻接的出口点。

  • 不支持跨 FA-LSP 的点对多点 LSP。

示例:RSVP LSP 隧道配置

图 5: RSVP LSP 隧道拓扑图RSVP LSP 隧道拓扑图

图 5 显示了一个称为的端到端 RSVP LSP,该地址 e2e_lsp_r0r5 在路由器 0 上发起,在路由器 5 上终止。在传输过程中,此 LSP 会遍历 FA-LSP fa_lsp_r1r4。返回路径由通过 FA-LSP e2e_lsp_r5r0 传输的端到端 RSVP LSP 表示 fa_lsp_r4r1

在路由器 0 上,配置传输到路由器 5 的端到端 RSVP LSP。使用遍历路由器 1 和从路由器 1 到路由器 4 的 LMP 流量工程链路的严格路径。

路由器 0

在路由器 1 上,配置 FA-LSP 以到达路由器 4。与路由器 4 建立 LMP 流量工程链路和 LMP 对等关系。引用流量工程链路中的 FA-LSP,并将对等接口添加到 OSPF 和 RSVP 中。

当端到端 LSP 返回路径到达路由器 1 时,路由平台会执行路由查找,并可将流量转发至路由器 0。请确保在路由器 0 和 1 之间正确配置 OSPF。

路由器 1

在路由器 2 上,在跨核心网络传输 FA-LSP 的所有接口上配置 OSPF、MPLS 和 RSVP。

路由器 2

在路由器 3 上,在跨核心网络传输 FA-LSP 的所有接口上配置 OSPF、MPLS 和 RSVP。

路由器 3

在路由器 4 上,配置返回路径 FA-LSP 以到达路由器 1。与路由器 1 建立 LMP 流量工程链路和 LMP 对等关系。引用流量工程链路中的 FA-LSP,并将对等接口添加到 OSPF 和 RSVP 中。

当初始端到端 LSP 到达路由器 4 时,路由平台会执行路由查找,并可将流量转发至路由器 5。请确保在路由器 4 和路由器 5 之间正确配置 OSPF。

路由器 4

在路由器 5 上,配置传输到路由器 0 的端到端 RSVP LSP 返回路径。使用遍历路由器 4 的严格路径以及从路由器 4 传输到路由器 1 的 LMP 流量工程链路。

路由器 5

验证您的工作

要验证您的 RSVP LSP 隧道是否工作正常,请发出以下命令:

  • show ted database (extensive)

  • show rsvp session name (extensive)

  • show link-management

  • show link-management te-link name (detail)

要查看与配置示例一起使用的这些命令,请参阅以下部分:

路由器 0

在路由器 0 上,您可以验证 FA-LSP 在流量工程数据库中是否显示为有效路径。在这种情况下,请查找来自路由器 1 (10.255.41.216) 和路由器 4 (10.255.41.217) 的路径,这些路径引用了和172.16.30.2172.16.30.1 LMP 流量工程链路地址。当端到端 LSP 通过 FA-LSP 传输到路由器 5 时,您还可以发出 show rsvp session extensive 命令来查找该 LSP 的路径。

路由器 1

在路由器 1 上,通过发出 show link-management 一组命令,验证您的 LMP 流量工程链路配置是否工作,以及端到端 LSP 是否正在遍历流量工程链路。您还可以发出 show rsvp session extensive 命令以确认 FA-LSP 是否正常运行。

在 OSPF 和 RSVP 中配置对等接口

建立 LMP 对等方后,必须将对等接口添加到 OSPF 和 RSVP。对等接口是用于支持两个对等方之间的控制邻接的虚拟接口。

对等接口名称必须与在层级的 peer peer-name LMP [edit protocols link-management] 中配置的语句匹配。由于实际协议数据包由对等接口发送和接收,因此可以像为 OSPF 和 RSVP 配置的任何其他物理接口一样,向对等方接口发出信号并播发至对等方。要为 LMP 对等方配置 OSPF 路由,请在 peer-interface 层次结构级别添加语句 [edit protocols ospf area area-number] 。要为 LMP 对等方配置 RSVP 信令,请在 peer-interface 层次结构级别包含语句 [edit protocols rsvp]

为 FA-LSP 定义标签交换路径

接下来,通过在层次结构级别包含语句[edit protocols mpls] label-switched-path定义 FA-LSP。在层级的语句中 to 包括对等方的 [edit protocols mpls label-switched-path] 路由器 ID。由于数据包 LSP 是单向的,因此必须创建一个 FA-LSP 以到达对等方,并创建第二个从对等方返回的 FA-LSP。

建立 FA-LSP 路径信息

为 FA-LSP 配置显式 LSP 路径时,您必须将流量工程链路远程地址用作下一跃点地址。支持 CSPF 时,您可以使用所需的任意路径选项。但是,在层次结构级别使用 no-cspf 语句 [edit protocols mpls label-switched-path lsp-name] 禁用 CSPF 时,必须使用严格路径。

注:

如果端到端 LSP 与 FA-LSP 在同一路由平台上发起,则必须禁用 CSPF 并使用严格的路径。

选项:平滑撕毁 RSVP LSP

您可以在两步式流程中关闭 RSVP LSP,以平滑撤回 LSP 使用的 RSVP 会话。对于支持平滑拆解的所有邻接方,路由平台会向 LSP 和路径中所有 RSVP 邻接方的目标端点发送拆除请求。请求包含在 ADMIN_STATUS RSVP 数据包的字段中。当邻接方收到请求时,他们会准备撤回 RSVP 会话。路由平台会发送第二条消息,以完成 RSVP 会话的拆解。如果邻接方不支持平滑拆解,则请求被视为标准会话拆解,而不是平滑会话拆解。

要正常执行 RSVP 会话拆开,请发出 clear rsvp session gracefully 命令。或者,您可以指定 RSVP 会话的源地址和目标地址、RSVP 发送方的 LSP 标识符以及 RSVP 会话的隧道标识符。要使用这些资格符,在发出clear rsvp session gracefully命令时包括 lsp-idconnection-sourceconnection-destination、 和tunnel-id选项。

您还可以配置路由平台在层次结构级别包含 graceful-deletion-timeout 语句 [edit protocols rsvp] ,以等待邻接方接收平滑拆解请求之前启动实际拆解请求的时间量。默认平滑删除超时值为 30 秒,最小为 1 秒,最大值为 300 秒。要查看为平滑删除超时配置的当前值,请 show rsvp version 发出操作模式命令。

发布历史记录表
版本
说明
19.4R1
16.1
但是,从 Junos OS 16.1 版开始,当 RSVP hello 消息超时时,RSVP 会话将被关闭。