Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

LSP 路由

MPLS 和路由表

Igp 和 BGP 将其路由信息存储在 inet 路由表,即主 IP 路由表中。如果已traffic-engineering bgp配置命令,则仅允许 BGP 使用 MPLS 路径转发流量,MPLS 路径信息存储在单独的路由表 inet 3 中。仅 BGP 访问 inet。3路由表。BGP 使用 inet 和 inet 来解析下一跳地址。如果traffic-engineering bgp-igp命令已配置,从而允许 igp 使用 MPLS 路径转发信息流,MPLS 路径信息将存储在 inet 路由表中。(图 1图 2说明了这两种流量工程配置中的路由表。)

图 1: 路由和转发表,信息流工程 bgp路由和转发表,信息流工程 bgp

inet.3 路由表包含每个 LSP 出口路由器的主机地址。此路由表用于入口路由器,用于将数据包路由到目标出口路由器。BGP 使用入口路由器上的 inet 路由表来帮助解决下一中继站地址。

MPLS 还维护了一个 MPLS 路径路由表(MPLS. 0),其中包含每个 LSP 中的下一个标签交换路由器的列表。此路由表在传输路由器上用于将数据包路由到 LSP 上的下一个路由器。

通常,LSP 中的出口路由器不会参考 mpls。0路由表。(此路由器无需参考 mpls.0,因为 LSP 中倒数第二个路由器将数据包标签更改为 0 或弹出标签。)无论哪种情况,出口路由器都作为 IPv4 数据包转发,并查阅 IP 路由表 inet.0,以确定如何转发数据包。

当传输或出口路由器收到 MPLS 数据包时,MPLS 转发表中的信息用于确定 LSP 中的下一个传输路由器或确定此路由器是否为出口路由器。

当 BGP 解析下一跳跃的前缀时,它将检查 inet 和 inet 路由表,并以最低优先级寻求下一个跳跃。如果在两个路由表中都找到具有相同首选项的下一跳条目,BGP 将首选 inet 路由表中的条目。

图 2: 路由和转发表,流量工程-igp路由和转发表,流量工程-igp

通常,BGP 会选择 inet 网络路由表中的下一跳条目,因为它们的首选项始终低于 OSPF 和 IS-IS 下一跳首选项。配置 Lsp 时,您可以覆盖 MPLS Lsp 的默认首选项,这可能会改变下一跳选择进程。

当 BGP 从 inet 中选择下一跳条目时,它会将 LSP 安装到数据包转发引擎中的转发表中,这会导致发送到下一跳跃的数据包进入并沿 LSP 传送。如果 LSP 被卸下或发生故障,则从 inet 路由表和转发表中卸下该路径,BGP 恢复为使用 inet 路由表中的下一个跳跃。

快速重新路由概述

快速重新路由为 LSP 路径提供冗余。启用快速重新路由时,detours 将沿 LSP precomputed 和 preestablished。如果当前 LSP 路径上的网络故障,流量会快速路由到其中的一个走道。 图 3 展示了路由器 A 到路由器 F 的 LSP,显示了既定的道。每个绕道都由上游节点建立,以避免指向直属下游节点和直属下游节点本身的链路。每个绕道可能遍历一个或多个未在图中显示的标签交换路由器(或交换机)。

快速重新路由可针对入口和出口路由器(或交换机)之间的任何单点故障保护信息流。如果快速重新路由方案中出现故障,则设备将失去通过故障链路连接的所有对等方的可访问性。这会导致信息流中断,因为设备之间的 BGP 会话会关闭。如果 LSP 上存在多个故障,快速重新路由本身可能会失败。此外,快速重新路由不会防止入口或出口路由器出现故障。

图 3: 使用快速重新路由为 LSP 建立的 Detours使用快速重新路由为 LSP 建立的 Detours

如果节点检测到下游链路出现故障(使用链路层特定的实时性检测机制)或下游节点发生故障(例如,使用 RSVP 邻接节点 hello 协议),节点会快速将流量切换至环网,同时向入口路由器发送有关链路或节点故障的信号。展示了在路由器 B 和路由器 C 之间的链路出现故障 图 4 时采取的环行方法。

图 4: 绕道在从路由器 B 到路由器 C 的链路发生故障后绕道在从路由器 B 到路由器 C 的链路发生故障后

如果网络拓扑结构不够丰富(没有足够的路由器具有到其他路由器的足够链接),则某些 detours 可能无法成功。例如,从路由器 A 到路由器 C 的绕道图 3无法穿过链路 A B 和路由器 B。如果不可能这样的路径,则不会发生绕道。

请注意,在节点切换到绕道的流量后,它可能会在不久后再次将流量再次切换到新计算的绕道。这是因为初始绕道路由可能不是最佳路由。为了尽可能快地进行重新路由,节点将流量切换到初始绕道,而无需先验证绕道是否有效。交换机发出后,节点 recomputes 绕道。如果节点确定初始绕道仍然有效,则流量将通过此绕道继续流动。如果节点确定初始绕道不再有效,则会再次将流量切换至新计算的绕道。

注:

如果在节点show将信息流切换到初始绕道之后发出命令,则节点可能会指示流量仍将通过原始 LSP 进行流。这种情况是临时性的,应尽快纠正。

快速重新路由绕道要生效所需的时间取决于两个独立的时间间隔:

  • 检测到有链路或节点故障的时间量 - 此间隔在很大程度上取决于使用中的链路层和故障性质。例如,SONET/SDH 链路上的故障检测通常比千兆位以太网链路快得多,而且两者的速度都比检测到路由器故障快得多。

  • 将流量拼接到道上所需的时间量 — 此操作由数据包转发引擎执行,无需少量时间将流量拼接到回道上。根据切换到 detours 的 Lsp 数量,所需时间可能有所不同。

快速重新路由是减少数据包丢失的短期修补程序。由于绕道计算可能不会保留足够的带宽,detours 可能会在替代链路上引入拥塞。入口路由器是唯一能够完全识别 LSP 策略约束的路由器,因此,唯一能提供足够长期备用路径的路由器。

Detours 通过使用 RSVP 创建,与所有 RSVP 会话一样,它们都需要在网络中产生额外的状态和开销。因此,对于已启用快速重新路由的每个 LSP,每个节点最多可以建立一个绕道。为每个 LSP 创建多个绕道会增加开销,但无需实际用途。

为了更进一步降低网络开销,每个绕道尝试在发生故障的节点或链路之后尽快将其尽可能恢复为 LSP。如果能考虑通过路由器节点的 LSP,那么可以创建走 nn – 1 道。例如,在 中,路向尝试合并回路由器 D 上的 LSP,而不是路由器 E 或路由器 F。重新合并到 LSP 使回行可伸缩性问题变得更具 图 5 可控性。如果拓扑限制阻止绕道快速合并回 LSP,则 detours 会自动与其他 detours 合并。

图 5: Detours 合并到其他 DetoursDetours 合并到其他 Detours

配置快速重新路由

快速重新路由提供一种在 lsp 中的节点或链路发生故障时自动重新路由流量的机制,从而减少在 LSP 上传输的数据包的丢失。

要在 LSP 上配置快速重新路由,请fast-reroute在入口路由器(或交换机)上包含此语句:

您可将此语句包含在以下层次结构级别:

无需在 LSP 的传输和出口路由器(或交换机)上配置快速重新路由。一旦启用快速重新路由,入口路由器(或交换机)将会发出信号,指示在 LSP 上启用了快速重定路由的所有下游路由器(或交换机),而每个下游路由器则为 LSP 设置 detours 的最佳选择。如果下游路由器不支持快速重新路由,它将忽略设置 detours 的请求并继续支持 LSP。不支持快速重新路由的路由器会导致某些 detours 失败,但否则对 LSP 没有影响。

注:

要启用 PFE 快速重新路由,请在流量可能重新路由load-balance per-packet的每个[edit policy-options policy-statement policy-name then]路由器的层次结构级别上配置路由策略语句。另请参阅跨 RSVP Lsp 配置负载平衡

默认情况下,不会为重新路由的路径保留带宽。要为重新路由的路径分配带宽,请包含bandwidth语句或bandwidth-percent语句。一次只能包括其中一条语句。如果不包含bandwidth语句或bandwidth-percent语句,默认设置为不为绕道路径保留带宽。

包括该bandwidth语句时,您可以指定要为绕道路径保留的特定带宽量(以每秒位数 [bps] 为单位)。带宽无需与为 LSP 分配的容量相同。

使用bandwidth-percent语句指定带宽百分比时,将通过带宽百分比乘以为主要流量工程 LSP 配置的带宽来计算绕道路径带宽。有关如何为以通信为工程的 LSP 配置带宽的信息,请参阅配置信息流工程 lsp

跃点限制约束定义了绕道允许与 LSP 本身进行比较的路由器的数量。默认情况下,跳跃限制设置为 6。例如,如果 LSP 遍历 4 个路由器,LSP 的任何上行道可高达 10 个(即 4 + 6 个)路由器跃点,包括入口和出口路由器。

默认情况下,当 CSPF 确定备用路径时,绕道将与父 LSP 继承相同的管理(着色)组约束。管理组(也称为链路着色或资源类)手动分配属性,用于描述链路的"颜色",使相同颜色的链接在概念上属于同一类。如果在配置父include-any LSP 时指定了语句,则由备用会话遍历的所有链路都必须至少有一个在组列表中找到的颜色。如果在配置父include-all LSP 时指定了语句,则由备用会话遍历的所有链接都必须具有组列表中的所有颜色。如果您在配置exclude父 LSP 时指定了语句,则任何链路都必须在组列表中找到一种颜色。有关管理组约束的详细信息,请参阅配置 lsp 的管理组

绕道合并流程

本部分介绍了路由器在接收不同接口中的路径消息且会话和发送方模板对象相同时要选择哪个 LSP 的过程。发生这种情况时,路由器需要合并路径状态。

路由器采用以下过程来确定何时以及如何合并路径状态:

  • 如果所有路径消息均不包含快速重新路由或方向对象,或者当路由器是 LSP 出口时,不需要合并。这些消息将根据 RSVP 流量工程进行处理。

  • 否则,路由器必须记录传入接口以外的路径状态。如果 path 消息不共享相同的传出接口和下一中继站路由器,则路由器将其视为独立 Lsp,并且不会合并它们。

  • 对于共享同一传出接口和下一中继站路由器的所有路径,路由器使用以下过程来选择最终 LSP:

    • 如果只有一个 LSP 来自此节点,请将其选择为最终 LSP。

    • 如果只有一个 LSP 包含快速重新路由对象,请将其选择为最终 LSP。

    • 如果存在多个 Lsp,其中某些部分具有绕道对象,则从最终 LSP 选择流程中消除了包含绕道对象的内容。

    • 如果仍然保留几个最终 LSP 报考者(即,仍存在道向和受保护的 LSP),请选择具有快速重新路由对象的 LSP。

    • 如果 LSP 没有快速重新路由对象,请选择不带回行对象的对象。如果所有 Lsp 都有绕道对象,请将其全部选中。

    • 在其余的 LSP 候选人中,不要考虑那些遍历其他 Lsp 无法避免的节点的情况。

    • 如果几个候选 Lsp 仍然保留,请使用最短的显式路由对象(ERO)路径长度来选择一个。如果多个 LSP 具有相同的路径长度,请随机选择一个。

  • 确定最终 LSP 后,路由器必须仅传输与此 LSP 对应的路径消息。所有其他 Lsp 均被视为在此节点上合并。

绕道计算

计算和设置 detours 在每个节点上独立完成。在节点上,如果 LSP 已启用快速重新路由,并且可以识别下游链路或节点,则路由器使用本地流量工程数据库中的信息执行受限最短路径优先(CSPF)计算。因此,detours 依赖于 IGP 支持流量工程扩展。如果没有流量工程数据库,detours 将无法建立。

CSPF 最初尝试查找跳过下一个下游节点的路径。尝试找到此路径可针对节点或链路中的下游故障提供保护。如果节点跳过路径不可用,CSPF 将尝试查找指向下一个下游节点的备用链路上的路径。尝试查找备用链路仅可针对链路中的下游故障提供保护。绕道计算首次可能失败。如果计算失败,路由器 recomputes detours 大约每次刷新间隔一次,直到计算成功。每个绕道的 RSVP 指标都设置为10000到19999范围内的一个值。

快速重新路由路径优化

快速重新路由保护路径是非确定性的。特定节点的实际保护路径取决于 LSP 的历史记录,并在计算快速重新路由路径时使用网络拓扑。在网络中出现多个链路翼之后,缺乏确定性行为可能导致操作困难和优化的路径不佳。即使是在小型网络中,在几个链路的后面,快速重新路由路径也可以遍历任意多个节点,并可无限期保持在此状态。这种效率低下,使得网络的可预测性更低。

快速重新路由优化可解决这种缺陷。它提供了全局路径优化定时器,允许您优化已启用快速重新路由且绕道路径启动和运行的所有 Lsp。根据预期 RE 处理负载,计时器值可能会变化。

快速重新路由优化算法仅基于 IGP 指标。只要新路径的 IGP 指标低于旧路径,CSPF 结果将被接受,即使新路径可能更塞塞(更高带宽利用率)或遍历更多跳跃。

符合 RFC 4090 为 LSP 隧道对 RSVP-流量工程的快速重新路由扩展,当计算并接受新路径以快速重新路由优化时,现有走道将先被销毁,然后建立新走道。为了防止信息流丢失,主动保护流量的 detours 不会得到优化。

配置快速重新路由路径的优化间隔

您可通过配置快速重新路由优化计时器来启用快速重新路由的路径优化。优化计时器会触发定期优化过程,recomputes 快速重新路由绕道 Lsp 以提高使用网络资源的效率。

要启用快速重新路由路径优化,请为 语句使用优化计时器选项指定 fast-reroute 秒数:

您可将此语句包含在以下层次结构级别:

  • [edit protocols rsvp]

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

将 LSP 相关路由添加到 inet。3或 inet 6.3 路由表

默认情况下,朝出口路由器的主机路由安装在 inet 或 inet 6.3 路由表中。(主机路由地址是您在to语句中配置的。)通过安装主机路由,BGP 可以执行下一跳解析。它还可防止主机路由干扰从动态路由协议获知的前缀,并将其存储在 inet 或 inet 6.0 路由表中。

与 inet 或 inet 6.0 表中的路由不同,inet 或 inet 6.3 表中的路由不会复制到数据包转发引擎,因此它们不会直接导致系统转发表发生变化。您不能通过ping这些traceroute路由使用或命令。Inet 3 或 inet 6.3 的唯一用途是允许 BGP 执行下一跳解析。要检查 inet 3 或 inet 6.3 表,请使用show route table inet.3show route table inet6.3命令。

要将其他路由注入 inet。3或 inet 6.3 路由表中,包含以下install语句:

您可将此语句包含在以下层次结构级别:

建立 LSP 时,将指定的路由作为别名安装到路由表中。安装其他路由允许 BGP 解析指定前缀内的下一跃点,并将这些下一跃点的额外流量定向到特定 LSP。

将此active选项包括随install语句一起将指定的前缀安装到 inet 或 inet 6.0 路由表(主转发表)中。其结果是在每次建立 LSP 时都安装在转发表中的路由,这意味着您可以 ping 或跟踪路由。请小心使用此选项,因为这种类型的前缀与静态路由非常类似。

可将具有多个地址的路由器的别名路由用作 BGP 下一跃点,或者不 MPLS 功能的路由器。无论哪种情况,LSP 都可以配置为本地域中另一MPLS个支持路由的系统,然后充当"边界"路由器。随后,LSP 会终止边界路由器,通过该路由器进行第 3 层转发,将数据包传输至真正的下一跳跃路由器。

对于互连,域的边界路由器可以用作代理路由器,如果边界路由器未向自身设置下一跳跃,BGP播发互连的前缀。

在存在不支持 MPLS 的路由器的情况下(POP),一个支持 MPLS 的路由器(例如核心路由器)可用作整个 POP 的代理,并可以注入一组覆盖 POP 的前缀。因此,POP 内的所有路由器都可以将自己播发为内部 BGP (IBGP)下一跃点,而流量可以跟随 LSP 来到达核心路由器。这意味着正常 IGP 路由将在 POP 中起作用。

不能对 inet pingtraceroute inet 6.3 路由表中的路由使用或命令。

对于 BGP 下一中继站解析,无论路由是否处于 inet 中,都不存在任何差异。 3/inet 6.3;选择了最佳匹配(最长掩码)的路由。在多个最佳匹配路由中,将选择具有最高优先级值的一个。

注:

静态install destination-prefix active lsp 上不支持此语句。当为install destination-prefix active静态 LSP 配置语句时,MPLS 路由不会安装到 inet 路由表中。