面向 MPLS 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,请按先进先出 (FIFO) 顺序扫描手动旁路 LSP,跳过已处于活动状态的 LSP(每个手动旁路只能激活一次)。可以满足要求的第一个非活动手动旁路将被激活,流量将定向到该旁路。
如果没有可用的手动旁路 LSP,并且
max-bypasses
语句激活了多个旁路 LSP 进行链路保护,请确定自动配置的旁路 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。
节点故障通常是由于节点路由器上的软件问题造成的。节点保护依赖于从相邻路由器接收你好消息来确定它是否仍在运行。节点保护转移流量所需的时间部分取决于节点路由器发送你好消息的频率,以及受节点保护的路由器对未收到你好消息做出反应所需的时间。但是,一旦检测到故障,流量就可以快速转移到下一跃点旁路 LSP。
节点保护可在两个路由器之间的物理链路发生错误或中断时提供流量保护。它不会在发生控制平面错误时提供保护。下面提供了控制平面错误的示例:
由于控制平面错误,中转路由器更改了数据包的标签。
当入口路由器收到数据包时,它会将标签更改视为灾难性事件,并删除主 LSP 和关联的旁路 LSP。
快速重新路由、节点保护和链路保护
本文档讨论以下部分:
LSP 保护概述
RSVP-TE 扩展建立备用标签交换路径 (LSP) 隧道,用于本地修复 LSP 隧道。这些机制可在发生故障时立即将流量重定向到备用 LSP 隧道上。
RFC 4090, 用于 LSP 隧道的 RSVP-TE 的快速重新路由扩展,描述了针对 RSVP 信号 LSP 的两种不同类型的流量保护:
一对一备份 — 在此方法中,将在每个潜在的本地修复点创建每个受保护 LSP 的绕行 LSP。
设施备份 — 在此方法中,将创建一个旁路隧道,以利用 MPLS 标签堆叠来保护一组在潜在故障点具有类似备份约束的 LSP。
一对一备份和设施备份方法可在网络故障期间保护链路和节点,并且可以在混合网络中共存。
LSP 保护类型比较
在 Junos OS 中,通过快速重新路由提供流量保护的一对一备份。每个 LSP 都需要在除出口路由器之外的每个跃点上发出保护 LSP 信号。无法共享此 LSP 保护方法。
在弹性备份方法中,在节点和链路上提供 LSP 流量保护。与快速重新路由不同,此保护 LSP 可由其他 LSP 共享。
表 1 汇总了流量保护类型。
比较 |
一对一备份 |
设施备份 |
---|---|---|
保护 LSP 的名称 |
绕道 LSP |
旁路 LSP |
共享保护 LSP |
无法共享 |
可由多个 LSP 共享 |
Junos 配置语句 |
|
|
一对一备份实施
在一对一备份方法中,本地维修点为通过设施的每个 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 在具有相同传出接口的 LSR 上与其受保护的 LSP 相交时,该 LSP 将被合并。
设施备份实施
在设施备份方法中,本地维修点维护单个备份路径,以保护遍历本地维修点、设施和合并点的一组主 LSP。设施备份基于接口,而不是 LSP。虽然快速重新路由可以保护沿 LSP 整个路径的接口或节点,但可以根据需要在接口上应用设施备份保护。因此,需要维护和刷新的状态更少,从而产生了可扩展的解决方案。设施备份方法也称为多对一备份。
设施备份方法利用 MPLS 标签堆栈。不是为每个备份的 LSP 创建单独的 LSP,而是创建一个 LSP 来备份一组 LSP。此类 LSP 隧道称为旁路隧道。在此方法中,链路故障的上游路由器使用备用接口将流量转发到其下游邻居,合并点应为设施下游的节点。这是通过预先建立一条旁路路径来实现的,该路径由遍历故障链路的所有受保护 LSP 共享。单个旁路路径可以保护一组受保护的 LSP。发生中断时,紧接链路中断上游的路由器会将受保护的流量切换到旁路链路,然后向入口路由器发出链路故障信号。
旁路隧道必须与本地维修点下游某处的原始 LSP 路径相交。这会将通过该旁路隧道备份的 LSP 集限制为通过某些常见下游节点的 LSP。所有通过本地维修点和此公共节点的 LSP,并且不使用旁路隧道中涉及的设施的 LSP 都是这组 LSP 的候选者。
设施备份方法适用于以下情况:
要保护的 LSP 数量很多。
满足旁路路径的路径选择标准(优先级、带宽和链路着色)不太重要。
不需要对单个 LSP 进行粒度控制。
在 中 图 4,路由器 R1 和 R5 分别是入口路由器和出口路由器。路由器 R2 已建立旁路隧道,可防止路由器 R2-R3 链路和路由器 R3 节点发生故障。在路由器 R6 和 R7 之间建立了旁路隧道。有三种不同的受保护 LSP 使用相同的旁路隧道进行保护。
设施备份方法提供了可扩展性改进,其中相同的旁路隧道也用于保护 LSP,从任何路由器 R1、R2 或 R8 到任何路由器 R4、R5 或 R9。
在 LSP 使用的接口上配置链路保护
如 为 LSP 配置节点保护或链路保护中所述,在路由器上为 LSP 配置节点保护或链路保护时,还必须在 LSP 使用的 RSVP 接口上配置 link-protection
语句。
要在 LSP 使用的接口上配置链路保护,请包含 链路保护 语句:
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 都应具有唯一的“到”IP 地址。您还可以单独配置启用多个旁路 LSP 时生成的每个旁路 LSP。如果未单独配置旁路 LSP,它们将共享相同的路径和带宽限制(如果有)。
如果为旁路 LSP 指定 bandwidth
、 hop-limit
和 path
语句,则这些值优先于在层次结构级别配置 [edit protocols rsvp interface interface-name link-protection]
的值。其他属性 (subscription
、 no-node-protection
和 optimize-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) 也已启用。
默认情况下,此选项处于禁用状态,并且每个接口仅启用一个旁路。可以为语句配置介于 到 之间的 0
99
max-bypasses
值。配置值 可 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 到 65,535 秒的优化间隔。默认值 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 过载 — 沿旁路 LSP 使用的路径在路由器上更改了 IS-IS 过载的配置。在层次结构级别使用
[edit protocols isis]
语句配置overload
IS-IS 重载。 -
IGP 指标 — 沿旁路 LSP 使用的路径的链路上的 IGP 指标已更改。
要配置旁路 LSP 的优化间隔,请包含以下 optimize-timer
语句:
optimize-timer seconds;
您可以在以下层次结构级别包含此语句:
为旁路 LSP 配置未预留带宽优化
RSVP 旁路的默认方法会产生一种优化流量工程 (TE) 指标的旁路方法。受限最短路径优先 (CSPF) 可以选择使用不同的方法来利用基于 (TE) 链路上未预留带宽的计算来保护链路或节点。
要启用此功能,请在层次结构级别使用optimize bandwidth
edit protocols rsvp interface interface link-protection
配置语句。启用新的配置语句可最大化端到端未预留带宽。
要应用优化带宽配置语句,请启用 设置协议 isis l3-单播-拓扑 配置。
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;
您可以在以下层次结构级别包含此语句:
[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-TE 网络中,运行 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]