MPLS LSP 的链路保护
链路保护
链路保护有助于确保在通过特定接口到相邻路由器或交换机的流量发生故障时,能够继续到达此路由器(交换机)。为遍历此接口的接口和 LSP 配置链路保护后,将创建一个旁路 LSP,如果接口出现故障,该 LSP 将处理此流量。旁路 LSP 使用不同的接口和路径到达同一目标。可以使用的路径进行显式配置,也可以依赖 CSPF。旁路 LSP 的 RSVP 指标设置在 20,000 到 29,999 的范围内(此值用户不可配置)。
如果受链路保护的接口发生故障,流量会快速切换至绕过 LSP。请注意,绕过 LSP 不能与其监控的 LSP 共享同一出口接口。
在 图 1 中,路由器 1 和路由器 2 之间的接口 B 上启用了链路保护。它还在 LSP A 上启用,LSP A 是遍历路由器 1 和路由器 2 之间链路的 LSP。如果路由器 1 和路由器 2 之间的链路出现故障,则来自 LSP A 的流量将快速切换到链路保护生成的旁路 LSP。
创建旁路 LSP
尽管可以将遍历接口的 LSP 配置为利用链路保护,但请务必注意,受益于链路保护的接口具体是接口。如果在某个接口上启用了链路保护,但未在遍历该接口的特定 LSP 上启用,则如果接口发生故障,该 LSP 也将发生故障。
链路保护对未编号的接口不起作用。
要保护 LSP 所采用的整个路由上的流量,应配置快速重新路由。更多信息,请参阅配置快速重新路由。
用于链路保护的多个旁路 LSP
默认情况下,链路保护依靠单个旁路 LSP 为接口提供路径保护。但是,您也可以指定多个旁路 LSP,为接口提供链路保护。您可以单独配置每个旁路 LSP,也可以为所有旁路 LSP 创建一个配置。如果不单独配置旁路 LSP,它们都会共享相同的路径和带宽约束。
以下算法介绍如何以及何时为 LSP 激活附加旁路 LSP:
如果任何当前活动的旁路可以满足 LSP 的要求(带宽、链路保护或节点链路保护),则流量将定向至该旁路。
如果没有可用的活动旁路 LSP,请按先进先出 (FIFO) 顺序扫描手册旁路 LSP,跳过那些已经处于活动状态的 LSP(每个手册旁路只能激活一次)。第一个可以满足要求的非活动手册旁路将被激活,并将流量定向到该旁路。
如果没有可用的手册旁路 LSP,并且语句激活多个旁路 LSP 进行链路保护,请
max-bypasses确定自动配置的旁路 LSP 是否可以满足要求。如果自动配置的旁路 LSP 可用,并且活动自动配置的旁路 LSP 总数不超过最大旁路 LSP 限制(使用语句配置max-bypasses),请激活另一个旁路 LSP。
有关如何为链路保护配置多个旁路 LSP 的信息,请参阅 配置旁路 LSP。
节点保护
节点保护扩展了链路保护的功能。链路保护有助于确保在通过特定接口到相邻路由器的流量发生故障时能够继续到达此路由器。节点保护可确保,即使相邻路由器发生故障,遍历相邻路由器的 LSP 流量也能继续到达目的地。
为 LSP 启用节点保护时,还必须启用链路保护。启用后,节点保护和链路保护将建立以下类型的绕过 LSP:
下一跃点绕过 LSP — 为 LSP 提供到达相邻路由器的替代路由。启用节点保护或链路保护时,将建立这种类型的旁路 LSP。
下一跃点绕过 LSP — 为 LSP 提供备用路由,以便在到达目标路由器的途中绕过相邻路由器。这种类型的旁路 LSP 仅在配置节点保护时建立。如果无法创建下一跳旁路 LSP,则会尝试向下一跳旁路 LSP 发出信号。
在 图 2 中,路由器 1 上的接口 B 上启用了节点保护。节点保护也在 LSP A 上启用,LSP A 是一个遍历传输路由器 1、路由器 2 和路由器 3 的链路的 LSP。如果路由器 2 出现硬件或软件故障,来自 LSP A 的流量将切换到节点保护生成的下一跳绕过 LSP。
节点保护将流量切换到下一跃点旁路 LSP 所需的时间可能明显长于链路保护将流量切换到下一跃点旁路 LSP 所需的时间。链路保护依靠硬件机制检测链路故障,使其能够快速将流量切换到下一跳绕过 LSP。
节点故障通常是由节点路由器上的软件问题引起的。节点保护依靠接收来自相邻路由器的 hello 消息来确定其是否仍在运行。节点保护转移流量所需的时间部分取决于节点路由器发送hello消息的频率,以及受节点保护的路由器对未收到hello消息做出反应所需的时间。但是,一旦检测到故障,流量就可以迅速转移到下一跳绕过 LSP。
节点保护可在两个路由器之间的物理链路发生错误或中断时提供流量保护。它不在发生控制平面错误时提供保护。下面提供控制平面错误的示例:
由于控制平面错误,中转路由器更改了数据包的标签。
当入口路由器收到数据包时,它会将标签更改视为灾难性事件,并删除主 LSP 和关联的旁路 LSP。
链路和节点的带宽保护(动态和静态)
概述
配置 LSP 时,您可以指定要为保护该路径预留的带宽。这可确保 LSP 在本地修复期间遍历的链路上具有必要的容量。Junos OS 支持配置旁路(备份)LSP,以保护主 LSP 免受链路或节点故障的影响。这些备用 LSP 可以保留带宽,确保在故障期间有足够的带宽用于重新路由的流量。
例如,如果您的网络有一个正在经历某些跃点(节点)的 LSP,并且需要 100% 的带宽保护,则理想情况下,每个跃点都会为受保护的 LSP 的 100% 容量保留一个旁路。在这种情况下,所需的整体网络容量将非常高。您需要确定需要多少个旁路 LSP、每个旁路 LSP 的容量以及需要保护的流量比率(或带宽百分比)。您可以通过配置静态旁路 LSP 来选择旁路应遍历的特定路径或跃点,也可以通过配置动态旁路 LSP 使用一个或多个自动创建的动态旁路。
使用以下公式配置绕过 LSP 以进行带宽保护:
-
interface-subscription[i] * interface-link-bandwidth[i] <= bypass-n-bandwidth[i] * bypass-n-subscription [i]—配置静态旁路 LSP 时, 接口订阅 和 接口链路带宽 的总和不得超过配置的 bypass-n-bandwidth 和 bypass-n-subscription 的总和。例如,(bypass-1-bandwidth、 bypass-1-subscription、 bypass-2-bandwidth、bypass-2-subscription 等)。
-
interface-subscription[i] * interface-link-bandwidth[i] <= max-bypasses[i] * bypass-bandwidth[i] * bypass-subscription[i]—配置动态旁路 LSP 时,接口订阅和接口链路带宽的总和不得超过配置的最大旁路、旁路带宽和旁路订阅的总和。
| value |
描述 |
|---|---|
| 接口订阅 |
接口总带宽 |
| 接口-链路-带宽 |
接口的链路带宽 |
| 最大旁路 |
将为动态旁路 LSP 创建的最大旁路数。配置的带宽值将根据最大旁路值平均分配给 LSP。 |
| 旁路带宽 |
您可以为给定的旁路 LSP 配置的带宽(以 Mbps 为单位)。如果配置手册旁路 LSP,则可以为每个 LSP 配置不同的旁路带宽。 |
| 绕过订阅 |
设置要启用保护的流量总比率。设置 bypass-bandwidth 值以适合计划的 bypass-subscription。 |
快速重新路由、节点保护和链路保护
本文档讨论以下部分:
LSP 保护概述
RSVP-流量工程扩展建立备用标签交换路径 (LSP) 隧道,以便对 LSP 隧道进行本地修复。在发生故障时,这些机制可以立即将流量重定向到备用 LSP 隧道。
RFC 4090“ LSP 隧道的 RSVP-流量工程的快速重新路由扩展)介绍了两种不同类型的 RSVP 信号 LSP 流量保护:
一对一备份 — 在此方法中,将在每个潜在的本地修复点为每个受保护的 LSP 创建绕行 LSP。
设施备份 — 在这种方法中,将创建一个旁路隧道,以利用 MPLS 标签堆叠来保护一组在潜在故障点具有类似备份约束的 LSP。
一对一备份和设施备份方法可以在网络故障期间保护链路和节点,并且可以在混合网络中共存。
LSP 保护类型比较
在 Junos OS 中,流量保护的一对一备份由快速重新路由提供。每个 LSP 都需要在每个跃点上向保护 LSP 发出信号,出口路由器除外。此 LSP 保护方法不能共享。
在设备备份方法中,LSP 流量保护在节点和链路上提供。与快速重新路由不同,这种保护 LSP 可以由其他 LSP 共享。
表 2 总结了流量保护类型。
比较 |
一对一备份 |
设施备份 |
|---|---|---|
保护 LSP 的名称 |
绕行 LSP |
绕过 LSP |
共享保护 LSP |
不可共享 |
可由多个 LSP 共享 |
Junos 配置语句 |
|
|
一对一备份实施
在一对一备份方法中,本地修复点为通过设施的每个 LSP 维护单独的备份路径。备份路径通过在称为合并点的节点上与主路径合并而终止。在此方法中,合并点可以是受保护设施下游的任何节点。
在一对一备份方法中,将建立一个 LSP,该 LSP 与链路或节点故障点的原始 LSP 下游相交。为每个备份的 LSP 建立单独的备份 LSP。
在以下情况下,一对一备份是合适的:
相对于 LSP 总数,保护少量 LSP。
绕行路径的路径选择标准(例如带宽、优先级和链路着色)至关重要。
对单个 LSP 的控制非常重要。
在 图 3 中,路由器 R1 和 R5 分别是入口路由器和出口路由器。在传输路由器 R2、R3 和 R4 的两台路由器之间建立受保护的 LSP。路由器 R2 通过创建与路由器 R4 上受保护的 LSP 合并的部分备份 LSP 来提供用户流量保护。这种部分一对一备份 LSP 称为绕行。始终计算绕行以避免直接下游链路和节点,从而防止链路和节点发生故障。
在此示例中,受保护的 LSP 是 R1-R2-R3-R4-R5,并建立了以下绕行:
路由器 R1—
R1-R6-R7-R8-R3路由器 R2—
R2-R7-R8-R4路由器 R3—
R3-R8-R9-R5路由器 R4—
R4-R9-R5
要保护完全遍历 N 节点的 LSP,可以有多达 ()N - 1 个绕行。本地修复点会定期发送刷新消息来维护每个备份路径,因此维护保护单个 LSP 的备份路径的状态信息是本地修复点的重大资源负担。为了尽量减少网络中的 LSP 数量,最好在可行的情况下将绕行合并回其受保护的 LSP。当绕行 LSP 在具有相同传出接口的标签交换路由器上与其受保护的 LSP 相交时,它将被合并。
设施备份实施
在设施备份方法中,本地维修点会保留单个备份路径,以保护遍历本地维修点、设施和合并点的一组主 LSP。设施备份基于接口而非 LSP。虽然快速重新路由可以保护 LSP 整个路径上的接口或节点,但可以根据需要对接口应用设施备份保护。因此,需要维护和刷新的状态更少,从而形成可扩展的解决方案。设施备份方法也称为多对一备份。
设施备份方法利用 MPLS 标签堆栈。不是为每个备份的 LSP 创建单独的 LSP,而是创建一个用于备份一组 LSP 的 LSP。这样的 LSP 隧道称为旁路隧道。在此方法中,紧邻链路故障上游的路由器使用备用接口将流量转发至其下游邻接方,合并点应为紧邻设施下游的节点。这是通过预先建立遍历故障链路的所有受保护 LSP 共享的旁路路径来实现的。单个旁路路径可以保护一组受保护的 LSP。当发生中断时,紧邻链路中断上游的路由器会将受保护的流量切换到绕过链路,然后向入口路由器发出链路故障信号。
旁路隧道必须与本地维修点下游某处的原始 LSP 路径相交。这会将通过该旁路隧道备份的 LSP 集限制为通过某些常见下游节点的 LSP 集。通过本地维修点并通过此公共节点且不使用旁路隧道中涉及的设施的所有 LSP 都是这组 LSP 的候选者。
设施备份方法适用于以下情况:
需要保护的 LSP 数量庞大。
满足旁路路径的路径选择标准(优先级、带宽和链路着色)就不太重要了。
不需要控制单个 LSP 的粒度。
在 图 4 中,路由器 R1 和 R5 分别是入口路由器和出口路由器。路由器 R2 已建立旁路隧道,可防止路由器 R2-R3 链路和路由器 R3 节点发生故障。在路由器 R6 和 R7 之间建立旁路隧道。有三种不同的受保护 LSP 使用相同的旁路隧道进行保护。
设施备份方法可改进可扩展性,其中,同一旁路隧道还用于保护从任何路由器 R1、R2 或 R8 到任何路由器 R4、R5 或 R9 的 LSP。
在 LSP 使用的接口上配置链路保护
在为 LSP 配置节点保护或链路保护中所述,在路由器上为 LSP 配置节点保护或链路保护时,还必须在 LSP 使用的 RSVP 接口上配置该 link-protection 语句。
要在 LSP 使用的接口上配置链路保护,请包含 link-protection 语句:
link-protection {
disable;
admin-group
exclude group-names;
include-all group-names;
include-any group-names;
}
bandwidth bps;
bypass bypass-name {
bandwidth bps;
description text;
hop-limit number;
no-cspf;
path address <strict | loose>;
priority setup-priority reservation-priority;
to address;
}
class-of-service cos-value;
hop-limit number;
max-bypasses number;
no-cspf;
no-node-protection;
optimize-timer seconds;
path address <strict | loose>;
priority setup-priority reservation-priority;
subscription percent {
ct0 percent;
ct1 percent;
ct2 percent;
ct3 percent;
}
}
您可以在以下层级包含此语句:
-
[edit protocols rsvp interface interface-name] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name]
下面的 link-protection 所有语句都是可选的。
以下部分介绍如何配置链路保护:
- 配置绕过 LSP
- 为绕过 LSP 配置管理组
- 配置旁路 LSP 的带宽
- 为旁路 LSP 配置服务等级
- 配置绕过 LSP 的跃点限制
- 配置最大旁路 LSP 数
- 禁用绕过 LSP 的 CSPF
- 禁用绕过 LSP 的节点保护
- 配置旁路 LSP 的优化间隔
- 为绕过 LSP 配置未预留带宽优化
- 为绕过 LSP 配置显式路径
- 配置为绕过 LSP 订阅的带宽量
- 为旁路 LSP 配置优先级和抢占
配置绕过 LSP
您可以为旁路 LSP 配置特定的带宽和路径约束。路由器上的每个手册绕过 LSP 都应具有唯一的“to”IP 地址。您还可以单独配置启用多个旁路 LSP 时生成的每个旁路 LSP。如果不单独配置绕过 LSP,它们都会共享相同的路径和带宽约束(如果有)。
如果为绕过 LSP 指定 bandwidth、 和 hop-limitpath 语句,则这些值优先于在层次结构级别配置[edit protocols rsvp interface interface-name link-protection]的值。其他属性(subscription、 和 no-node-protectionoptimize-timer)继承自常规约束。
要配置旁路 LSP,请使用 bypass 语句指定旁路 LSP 的名称。名称长度最长可达 64 个字符。
bypass bypass-name { bandwidth bps; description text; class-of-service cos-value; hop-limit number; no-cspf; path address <strict | loose>; priority setup-priority reservation-priority; to address; }
您可以在以下层级包含此语句:
-
[edit protocols rsvp interface interface-name link-protection] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection]
为绕过 LSP 配置下一跳或下一跳节点地址
如果配置绕过 LSP,则还必须配置该 to 语句。该 to 语句指定直接下一跃点节点(用于链路保护)或下一跳节点(用于节点链路保护)的接口地址。指定的地址决定了这是链路保护旁路还是节点链路保护旁路。在多路访问网络(例如 LAN)上,此地址还用于指定要保护的下一跳节点。
为绕过 LSP 配置管理组
管理组(也称为链接着色或资源类)是手动分配的属性,用于描述链接的“颜色”,以便具有相同颜色的链接在概念上属于同一类。您可以使用管理组来实施各种基于策略的 LSP 设置。您可以为绕过 LSP 配置管理组。有关配置管理组的更多信息,请参阅 为 LSP 配置管理组。
要为绕过 LSP 配置管理组,请包含以下 admin-group 语句:
admin-group { exclude group-names; include-all group-names; include-any group-names; }
要为所有绕过 LSP 配置管理组,请在以下层次结构级别包含 admin-group 该语句:
-
[edit protocols rsvp interface interface-name link-protection] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection]
要为特定绕过 LSP 配置管理组,请在以下层次结构级别包含该 admin-group 语句:
配置旁路 LSP 的带宽
您可以指定为自动生成的旁路 LSP 分配的带宽量,也可以单独指定为每个 LSP 分配的带宽量。
如果启用了多个旁路 LSP,则需要此语句。
要指定带宽分配,请包含以下语 bandwidth 句:
bandwidth bps;
对于自动生成的旁路 LSP,请在以下层次结构级别包含该 bandwidth 语句:
-
[edit protocols rsvp interface interface-name link-protection] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection]
对于单独配置的旁路 LSP,请在以下层次结构级别包含该 bandwidth 语句:
为旁路 LSP 配置服务等级
您可以通过包含以下 class-of-service 语句来指定绕过 LSP 的服务等级值:
class-of-service cos-value;
要将服务等级值应用于所有自动生成的旁路 LSP,请在以下层次结构级别包含该 class-of-service 语句:
-
[edit protocols rsvp interface interface-name link-protection] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection]
要为特定旁路 LSP 配置服务等级值,请在以下层次结构级别包含该 class-of-service 语句:
配置绕过 LSP 的跃点限制
您可以指定旁路可以遍历的最大跃点数。默认情况下,每个旁路最多可遍历 255 个跃点(入口和出口路由器各计为一个跃点,因此最小跃点限制为 2)。
要配置绕过 LSP 的跃点限制,请包含以下 hop-limit 语句:
hop-limit number;
对于自动生成的旁路 LSP,请在以下层次结构级别包含该 hop-limit 语句:
-
[edit protocols rsvp interface interface-name link-protection] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection]
对于单独配置的旁路 LSP,请在以下层次结构级别包含该 hop-limit 语句:
配置最大旁路 LSP 数
您可以在层次结构级别使用[edit protocols rsvp interface interface-name link-protection]语max-bypasses句指定允许保护接口的最大动态旁路 LSP 数。配置此语句后,将启用链路保护的多个旁路。呼叫许可控制 (CAC) 也已启用。
默认情况下,此选项处于禁用状态,并且仅为每个接口启用一个旁路。您可以为max-bypasses语句配置值 between 0 through99。配置值 可0防止为接口创建任何动态旁路 LSP。如果为max-bypasses语句配置值 ,0则需要配置一个或多个静态旁路 LSP,以便在接口上启用链路保护。
如果配置该 max-bypasses 语句,则还必须配置该 bandwidth 语句(在 配置绕过 LSP 的带宽中讨论)。
要为受保护的接口配置最大旁路 LSP 数,请包含以下 max-bypasses 语句:
max-bypasses number;
您可以在以下层级包含此语句:
禁用绕过 LSP 的 CSPF
在某些情况下,您可能需要禁用绕过 LSP 的 CSPF 计算,并使用配置的显式路由对象 (ERO)(如果可用)。例如,绕过 LSP 可能需要遍历多个 OSPF 区域或 IS-IS 级别,从而阻止 CSPF 计算工作。为确保链路和节点保护在这种情况下正常运行,您必须禁用旁路 LSP 的 CSPF 计算。
您可以为所有旁路 LSP 或特定旁路 LSP 禁用 CSPF 计算。
要禁用旁路 LSP 的 CSPF 计算,请包含以下 no-cspf 语句:
no-cspf;
有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要。
禁用绕过 LSP 的节点保护
您可以在 RSVP 接口上禁用节点保护。链路保护保持活动状态。配置此选项后,路由器只能启动下一跃点旁路,而不能启动下一跳旁路。
要禁用绕过 LSP 的节点保护,请包含以下 no-node-protection 语句:
no-node-protection;
您可以在以下层级包含此语句:
配置旁路 LSP 的优化间隔
您可以使用该语句为 optimize-timer 绕过 LSP 配置优化间隔。在此间隔结束时,将启动优化过程,尝试尽量减少当前正在使用的旁路数,或尽量减少为所有旁路保留的带宽总量,或两者兼而有之。可以配置 1 到 65535 秒的优化间隔。默认值 0 禁用绕过 LSP 优化。
配置该 optimize-timer 语句时,当您配置或更改以下任何一项的配置时,旁路 LSP 会自动重新优化:
-
旁路 LSP 管理组 — 旁路 LSP 所用路径沿线链路上的链路上已更改管理组的配置。在层次结构级别使用
[edit protocols rsvp interface interface-name link-protection]语句配置admin-group管理组。 -
命运共享组 - 命运共享组的配置已更改。在层次结构级别使用
[edit routing-options fate-sharing]语句配置group命运共享组。 -
IS-IS 过载 — IS-IS 过载的配置已沿旁路 LSP 使用的路径在路由器上更改。在层次结构级别使用
[edit protocols isis]语句配置overloadIS-IS 过载。 -
IGP 指标 — 绕过 LSP 使用的路径沿线链路上的 IGP 指标已更改。
要配置旁路 LSP 的优化间隔,请包含以下 optimize-timer 语句:
optimize-timer seconds;
您可以在以下层级包含此语句:
为绕过 LSP 配置未预留带宽优化
RSVP 旁路的默认方法会产生一种旁路方法,用于优化流量工程 (流量工程) 指标。受限最短路径优先 (CSPF) 可以选择使用不同的方法来保护链路或节点,方法是利用基于 (流量工程) 链路上未预留带宽的计算。
要启用此功能,请在edit protocols rsvp interface interface link-protection层次结构级别使用 optimize bandwidth configuration 语句。启用新的配置语句可最大限度利用端到端未预留带宽。
要应用 optimize bandwidth 配置语句,请启用 set protocols isis l3-单播-topology 配置。
link-protection {
optimize {
bandwidth;
}
}
要为旁路 LSP 配置带宽优化算法,请在以下层次结构级别包含该 optimize bandwidth 语句:
为绕过 LSP 配置显式路径
默认情况下,当您建立到相邻邻接头的旁路 LSP 时,将使用 CSPF 来发现最低成本路径。该 path 语句允许您配置显式路径(一系列严格或松散路由),从而控制绕过 LSP 的建立位置和方式。要配置显式路径,请包含以下 path 语句:
path address <strict | loose>;
对于自动生成的旁路 LSP,请在以下层次结构级别包含该 path 语句:
-
[edit protocols rsvp interface interface-name link-protection] -
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection]
对于单独配置的旁路 LSP,请在以下层次结构级别包含该 path 语句:
配置为绕过 LSP 订阅的带宽量
您可以配置订阅以绕过 LSP 的带宽量。您可以为整个旁路 LSP 或可能遍历旁路 LSP 的每种类类型配置带宽订阅。可以配置 1% 到 65,535% 之间的任意值。如果配置的小于 100% 的值,您将对旁路 LSP 的订阅不足。如果配置的值大于 100%,则会超额订阅绕过 LSP。
能够为绕过 LSP 超额订阅带宽,从而更有效地使用网络资源。您可以根据平均网络负载(而不是峰值负载)配置旁路 LSP 的带宽。
要配置为绕过 LSP 订阅的带宽量,请包含以下 subscription 语句:
subscription percentage { ct0 percentage; ct1 percentage; ct2 percentage; ct3 percentage; }
您可以在以下层级包含此语句:
为旁路 LSP 配置优先级和抢占
当没有足够的带宽来建立更重要的 LSP 时,您可能需要拆除一个不太重要的现有 LSP 以释放带宽。为此,可抢占现有 LSP。
有关为 LSP 配置设置优先级和预留优先级的更多详细信息,请参阅 为 LSP 配置优先级和抢占。
要配置旁路 LSP 的优先级和抢占属性,请包含以下 priority 语句:
priority setup-priority reservation-priority;
有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要部分。
为 LSP 配置节点保护或链路保护
在路由器或交换机上配置节点保护或链路保护时,系统会为遍历路由器(交换机)的 LSP 创建到下一跃点或下一跳路由器(交换机)的路由器旁路 LSP。您必须为每个要保护的 LSP 配置节点保护或链路保护。要沿 LSP 使用的整个路径扩展保护,您必须在 LSP 遍历的每个路由器上配置保护。
您可以为静态和动态 LSP 配置节点保护或链路保护。
要在路由器上为指定 LSP 配置节点保护,请包含以下 node-link-protection 语句:
node-link-protection;
您可以在以下层级包含此语句:
[edit protocols mpls label-switched-path lsp-name][edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
要在路由器上为指定 LSP 配置链路保护,请包括 link-protection 语句:
link-protection;
您可以在以下层级包含此语句:
[edit protocols mpls label-switched-path lsp-name][edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
要完成节点或链路保护的配置,还必须在 LSP 遍历的所有单向 RSVP 接口上配置链路保护,如 在 LSP 使用的接口上配置链路保护中所述。
配置 AS 间节点和链路保护
为了与其他供应商的设备互操作,Junos OS 支持在 AS 间链路和节点保护配置中使用记录路由对象 (RRO) 节点 ID 子对象。RRO 节点 ID 子对象在 RFC 4561 记录 路由对象 (RRO) 节点 ID 子对象的定义中定义。默认情况下,此功能在 Junos OS 9.4 及更高版本中启用。
如果瞻博网络路由器与运行 Junos OS 8.4 及更早版本的路由器在同一 MPLS-流量工程网络中运行 Junos OS 9.4 及更高版本,则可能需要通过配置以下 no-node-id-subobject 语句来禁用 RRO 节点 ID 子对象:
no-node-id-subobject;
您可以在以下层级包含此语句:
[edit protocols rsvp][edit logical-systems logical-system-name protocols rsvp]
配置约束感知旁路 LSP
您可以配置 RSVP 旁路 LSP,以了解并继承主 LSP 的所有路径约束。您还可以为单个 LSP 显式配置旁路约束。
约束感知 RSVP 绕过 LSP 的优势
-
控制 MPLS 路径并防止绕过 LSP 遍历全球 MPLS RSVP 网络中的特定地理区域
您可以使用链路保护、节点链路保护和主 LSP 容器化配置约束感知 RSVP 绕过 LSP。
要配置约束感知绕过 LSP,inherit-lsp constraints将在[edit protocols mpls label-swithed-path lsp-name link-protection][edit protocols mpls label-swithed-path lsp-name node-link-protection]层次结构级别引入 和 bypass-constraints 语句。
要在入口 LER 上配置约束感知旁路 LSP,可以继承旁路约束,也可以显式定义单独的旁路约束。
要继承旁路约束,请在inherit-lsp constraints层次结构级别包括该[edit protocols mpls label-swithed-path lsp-name link-protection][edit protocols mpls label-swithed-path lsp-name node-link-protection]语句。
要为绕过 LSP 定义单独的约束,请在bypass-constraints层次结构级别包含该[edit protocols mpls label-swithed-path lsp-name link-protection][edit protocols mpls label-swithed-path lsp-name node-link-protection]语句。您可以配置语句层次结构中的bypass-constraints选项,以继承主 LSP 的所有约束或该 LSP 旁路的特定约束。
配置约束感知绕过 LSP 时,配置 transport-class 语句不是必需的。约束感知旁路 LSP 功能适用于是否为 LSP 配置的 transport-class 语句。
在 PLR 上,您需要在 [edit protocols rsvp interface interface-name link-protection] 层次结构级别包含该constraint-aware-bypass语句,以支持约束感知绕过 LSP。
如果您在特定入口 LER 上有多个 LSP,并且您决定仅在一小部分 LSP 上启用约束感知旁路功能,则该 bypass-constraints 语句有助于仅在这些特定 LSP 上启用该功能。
如果未在入口处为特定 LSP 配置 bypass-constraints 语句,则该 LSP 将继续具有当前的非约束感知旁路关联。传输 LSR 和 PLR 仅会为在 MPLS 下的入口和 RSVP 下的 PLR 上为其 bypass-constraints 配置语句的 LSP 自动建立约束感知旁路 LSP。
修改入口上的约束感知绕过 LSP 配置时,将以 LSP 的先发后断 (MBB) 方式处理此类配置更改。也就是说,LSP 的新实例使用新的旁路约束对象发出信号。当 PLR 收到 LSP 新实例的路径消息时,PLR 会建立满足这些约束的相应旁路 LSP。
同样,当您修改 PLR 上的约束感知旁路配置时,将重新计算所有旁路 LSP,并与该 PLR 上的主 LSP 重新关联。
沿 PLR 路径创建动态链路保护旁路 LSP,遵循相同的 CSPF 约束,例如排除特定的管理组。
在以下情况下,约束感知绕过 LSP 功能不起作用:
-
LSP 在入口处配置了 no-cspf 语句。
-
LSP 配置了弹出和转发功能。
-
旁路 LSP 在 PLR 上手动配置。
-
max-bypasses语句配置在 PLR
如果为 LSP 发出的资源关联性有任何变化,则 LSP 路径上的每个单独标签交换路由器都会根据需要自动重新计算旁路。
当在入口处配置该 bypass-constraints 语句以指示要向约束感知绕过 LSP 发出信号时,入口 LER 会在 LSP 的 RSVP 路径消息中包含 FAST_REROUTE 对象。入口将标志字段设置为0x02,指示设施备份作为保护类型。入口还会填充为该绕过 LSP 配置的所有约束。
在RSVP路径消息中收到FAST_REROUTE对象后,每个PLR路由器都会创建并维护一个lsp-affinities-profile,用于存储所有收到的约束。PLR 在现有旁路 LSP 之间执行查找,以查看是否有任何现有旁路 LSP 满足约束要求。如果现有旁路 LSP 满足约束,则该旁路 LSP 与主 LSP 相关联。否则,如果现有旁路 LSP 未满足约束,则 PLR 将继续建立新的旁路,与传入 RSVP 路径消息中收到的所有约束相匹配。
和 命令的show rsvp sessionshow rsvp session bypass输出已得到增强,可显示从主 LSP 继承的旁路约束以及为 LSP 发出信号的资源关联性。
以下是显示旁路约束信息的命令输出 show rsvp session extensive 示例:
user@host> show rsvp session extensive
8.8.8.8
From: 1.1.1.1, LSPstate: Up, ActiveRoute: 0
LSPname: lsp-R1-R8-1, LSPpath: Primary
LSPtype: Static Configured
Suggested label received: -, Suggested label sent: -
Recovery label received: -, Recovery label sent: 299984
Resv style: 1 SE, Label in: -, Label out: 299984
Time left: -, Since: Sun Nov 19 02:46:26 2023
Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
Port number: sender 3 receiver 18914 protocol 0
Link protection desired
Type: Link protected LSP, using Bypass->22.1.9.9
6 Nov 20 15:16:04 Link protection up, using Bypass->22.1.9.9
5 Nov 20 15:16:03 Bypass in down state, Bypass->22.1.9.9[3 times, first Nov 20 15:16:01 ]
Bypass constraints for LSP:
Hop Limit : 9
Include Any: green Include All: Brown Exclude: Red
Enhanced FRR: Enabled (Downstream), LP-MP is 9.9.9.9
PATH rcvfrom: localclient
Adspec: sent MTU 1500
Path MTU: received 1500
PATH sentto: 22.1.9.9 (ge-0/0/2.0) 4 pkts
outgoing message state: refreshing, Message ID: 180, Epoch: 11062187
RESV rcvfrom: 22.1.9.9 (ge-0/0/2.0) 6 pkts, Entropy label: Yes
incoming message handle: R-82/6, Message ID: 170, Epoch: 11062161
Explct route: 22.1.9.9 22.9.10.10 22.8.10.8
Record route: <self> 9.9.9.9 (node-id) 22.1.9.9 10.10.10.10 (node-id) 22.9.10.10 8.8.8.8 (node-id) 22.8.10.8
以下是显示旁路约束信息的命令输出 show rsvp session bypass extensive 示例:
user@host> show rsvp session bypass extensive
9.9.9.9
From: 1.1.1.1, LSPstate: Up, ActiveRoute: 0
LSPname: Bypass->22.1.9.9
LSPtype: Static Configured
Suggested label received: -, Suggested label sent: -
Recovery label received: -, Recovery label sent: 300048
Resv style: 1 SE, Label in: -, Label out: 300048
Time left: -, Since: Mon Nov 20 15:16:03 2023
Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
Port number: sender 1 receiver 40332 protocol 0
Type: Bypass LSP
Number of data route tunnel through: 1
Number of RSVP session tunnel through: 0
Number of protected LSP instances: 1
Bypass constraints for LSP:
Hop Limit : 9
Include Any: green Include All: Brown Exclude: Red
Enhanced FRR: Enabled (Downstream)
PATH rcvfrom: localclient
Adspec: sent MTU 1500
Path MTU: received 1500
PATH sentto: 22.1.5.5 (ge-0/0/1.0) 1 pkts