Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

LSP 路由器

LSP 中的路由器

LSP 中的每台路由器都具有以下功能之一:

  • 入口路由器 — LSP 开头的路由器。此路由器使用 MPLS 第 2 层帧封装 IP 数据包,并将其转发至路径中的下一个路由器。每个 LSP 只能有一个入口路由器。

  • 出口路由器 — LSP 末尾的路由器。此路由器可移除 MPLS 封装,从而将其从 MPLS 数据包转换为 IP 数据包,并使用 IP 转发表中的信息将数据包转发到最终目的地。每台 LSP 只能有一个出口路由器。LSP 中的入口和出口路由器不能是同一个路由器。

  • 中继路由器 — 入口和出口路由器之间的 LSP 中任何中间路由器。中继路由器会将收到的 MPLS 数据包转发到 MPLS 路径中的下一个路由器。一个 LSP 可以包含零台或更多台传输路由器,单个 LSP 中最多可包含 253 台传输路由器。

单个路由器可以是多个 LSP 的一部分。它可以是一个或多个 LSP 的入口或出口路由器,也可以是一个或多个 LSP 中的中继路由器。每台路由器支持的功能取决于您的网络设计。

为 LSP 配置入口和出口路由器地址

以下部分介绍如何指定 LSP 入口和出口路由器的地址:

为 LSP 配置入口路由器地址

本地路由器始终被视为入口路由器,这是 LSP 的开始。软件会自动确定要用来到达 LSP 中下一个路由器的正确传出接口和 IP 地址。

默认情况下,路由器 ID 被选为入口路由器的地址。要覆盖源地址的自动选择,请在语句中 from 指定源地址:

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

LSP 使用的传出接口不受您配置的源地址的影响。

为 LSP 配置出口路由器地址

配置 LSP 时,必须通过包括 to 以下语句来指定出口路由器的地址:

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

设置信号 LSP 时,语句 to 是唯一必需的语句。所有其他语句均为可选语句。

建立 LSP 后,出口路由器的地址将作为主机路由安装在路由表中。然后,BGP 可以使用此路由来转发流量。

要让软件通过 LSP 发送 BGP 流量,出口路由器的地址与 BGP 下一跃点的地址相同。您可以将出口路由器的地址指定为任意一个路由器的接口地址或 BGP 路由器 ID。如果指定了不同的地址,即使该地址位于同一路由器上,BGP 流量也不会通过 LSP 发送。

要确定 BGP 下一跃点的地址,请使用 show route detail 命令。要确定 LSP 的目标地址,请使用 show mpls lsp 命令。要确定路由是否已通过 LSP,请使用 show routeshow route forwarding-table 命令。在这最后两个命令的输出中 label-switched-path ,路由随附的或 push 关键字表示路由已通过 LSP。此外,使用 traceroute 命令跟踪路由通向的实际路径。这是另一个指示路由是否已通过 LSP。

您还可以通过定义设置路由下一跃点地址的 BGP 导入策略过滤器来操控 BGP 下一跃点的地址。

防止向路由表添加出口路由器地址

您必须使用该 to 语句为所有 LSP 配置地址。此地址始终作为 /32 inet.3 或 inet.0 路由表中的前缀安装。您可以通过包含语句来防止使用 to 语句配置的出口路由器地址添加到 inet.3 和 inet.0 路由表中 no-install-to-address

在 inet.3 和 inet.0 路由表中不安装 to 语句地址的一些原因包括:

  • 允许将受限最短路径优先 (CSPF) RSVP LSP 映射到打算用于辅助环路地址的流量。如果配置 RSVP 隧道(包括 no-install-to-address 语句),然后稍后配置 install pfx/ <active> 策略,则可以请执行以下操作:

    • 验证 LSP 设置是否正确,而不会影响流量。

    • 以增量步骤将流量映射到 LSP。

    • 在故障排除完成后删除 no-install-to-address 语句,将流量映射到目标环路地址(BGP 下一跳)。

  • 防止 CCC 连接丢失 IP 流量。当 LSP 确定它不属于连接时,它将安装 inet.3 路由表中使用 to 语句指定的地址。然后,IP 流量被转发到 CCC 远程端点,这可能会导致某些类型的 PIC 出现故障。

要防止将使用该 to 语句配置的出口路由器地址添加到 inet.3 和 inet.0 路由表中,请添加以下 no-install-to-address 语句:

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

为 MPLS 信号 LSP 配置入口路由器

MPLS 信号标签交换路径 (LSP) 从特定入口路由器到特定出口路由器运行。对于基本的 MPLS 信号 LSP 功能,必须配置入口路由器,但不必配置任何其他路由器。

要配置信号 LSP,请在入口路由器上执行以下任务:

创建命名路径

要配置信号 LSP,必须先在入口路由器上创建一个或多个命名路径。对于每个路径,您可以指定路径中的部分或所有传输路由器,也可以将其留空。

每个路径名称最多可包含 32 个字符,并可以包含字母、数字、句点和连字符。在入口路由器中,名称必须唯一。创建命名路径后,您就可以将命名路径与 or secondary 语句一起primary用于在[edit protocols mpls label-switched-path label-path-name]层次结构级别上配置 LSP。您可以在任意数量的 LSP 上指定相同的命名路径。

要确定 LSP 是否与 RSVP 会话中的主路径或辅助路径相关联,请发出 show rsvp session detail 命令。

要创建空路径,请通过包含以下形式的 path 语句来创建命名路径。这种形式的 path 语句是空的,这意味着入口路由器和出口路由器之间的任何路径都被接受。实际上,使用的路径往往是相同的路径,而后是基于目标的尽力流量。

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

  • [edit protocols mpls]

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

要创建一个路径,您可以在该路径中指定部分或所有传输路由器,请添加以下语句形式 path ,为每个传输路由器指定一个地址:

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

  • [edit protocols mpls]

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

在这种形式的语句中 path ,您可以指定一个或多个传输路由器地址。指定入口或出口路由器是可选的。您可以指定每个中继路由器的地址或主机名,但如果其类型为 loose,则不需要列出每个中继路由器。按顺序指定地址,从入口路由器(可选)或第一个中继路由器开始,然后沿着路径按顺序继续到出口路由器(可选)或位于出口路由器前的路由器。每个路由器跃点只需指定一个地址。如果为同一路由器指定多个地址,则仅使用第一个地址:附加地址将被忽略和截断。

对于每个路由器地址,请指定类型,可以是以下类型之一:

  • strict-(默认)从上一个路由器到此路由器的路由是直接路径,不能包含任何其他路由器。如果是 address 接口地址,则此路由器还确保传入接口为指定接口。当前一个路由器和此路由器之间存在并行链路时,确保传入接口为指定接口非常重要。它还可确保可以按链路实施路由。

    对于严格地址,必须确保紧邻要配置的路由器与该路由器直接连接。地址可以是环路接口地址,在这种情况下,不会检查传入接口。

  • loose— 从前一个路由器到此路由器的路由不需要是直接路径,可以包含其他路由器,并且可以在任何接口上接收。该地址可以是任何接口地址,也可以是环路接口的地址。

例子:创建命名路径

配置一个路径,to-hastings以按该顺序指定从入口到出口路由器10.12.1.110.14.1.110.13.1.110.11.1.1的完整严格路径,除了指定的路由器外,不能有任何中间路由器。但是,与出口路由器之间 10.11.1.1 可以有中间路由器,因为出口路由器没有在语句中 path 特别列出。要防止中间路由器在出口之前出现,请将出口路由器配置为类型为最后一个 strict 路由器。

创建一个路径,alt-hastings以在路由器和10.11.1.1之间允许任意数量的中间路由器10.14.1.1。此外,允许在出口路由器之间 10.11.1.1 使用中间路由器。

使用命运共享配置备用路径

您可以创建一个信息数据库,在主路径不稳定的情况下,受限最短路径优先 (CSPF) 使用该数据库计算一个或多个备份路径。该数据库描述路由器和链路等网络元素之间的关系。由于这些网络元素命运相同,这种关系称为命运共享。

您可以配置备用路径,尽可能将共享链路和光纤路径的数量与主路径的数量降至最低,以确保在光纤被切断的情况下,丢失最少的数据量,并且目标路径仍存在。

要使备用路径以最佳方式工作,它不得与主路径共享链路或物理光纤路径。这可以确保单个故障点不会同时影响主路径和备份路径。

以下部分介绍如何配置命运共享以及它如何影响 CSPF,并提供命运共享配置示例:

配置命运共享

要配置命运共享,请添加 fate-sharing 以下语句:

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

每个命运共享组都必须有一个名称,其长度最多可以 32 个字符,并且可能包含字母、数字、句点 (.) 和连字符 (-)。最多可定义 512 个组。

命运共享组包含三种类型的对象:

  • 点对点链路 — 由链路两端的 IP 地址识别。未编号的点对点链路通常通过从其他接口借用 IP 地址来识别。顺序不重要; from 10.1.3.4 to 10.1.3.5 具有 from 10.1.3.5 to 10.1.3.4 同样的意义

  • 非点对点链路 — 包括 LAN 接口(如千兆以太网接口)或非广播多路访问 (NBMA) 接口(如异步传输模式 [ATM] 或帧中继)上的链路。您可以通过链路的单个接口地址来识别这些链路。例如,如果 LAN 接口 192.168.200.0/24 连接了四个路由器,则每个路由器链路均会单独标识:

    您可以按任意顺序列出地址。

  • 路由器节点 — 通过其配置的路由器 ID 标识。

一个组中的所有对象都有某些相似性。例如,您可以为共享相同光纤管道的所有光纤、共享相同光纤的所有光纤通道、连接到同一 LAN 交换机的所有链路、共享相同电源的所有设备定义一个组,等等。所有对象均被视为 /32 主机地址。

要使一个组有意义,它应至少包含两个对象。您可以配置包含零个对象或一个对象的组;这些组在处理过程中将被忽略。

一个对象可以包含在任意数量的组中,一个组可以包含任意数量的对象。每个组都有一个可配置的成本,这表示该组对 CSPF 计算的影响级别。成本越高,备份路径与主路径共享组中的任何对象的可能性就越小。成本可以直接与流量工程指标相提并论。默认情况下,成本为 1。在下次 CSPF 重新优化之前,更改命运共享数据库不会影响已建立的 LSP。命运共享数据库确实会影响快速重新路由计算。

对 CSPF 的影响

当 CSPF 计算 LSP 的主路径(或在主路径不处于活动状态时计算辅助路径)时,它会忽略命运共享信息。您始终希望找到主路径的最佳路径(最低 IGP 成本)。

当(同一 LSP 的主路径)处于活动状态时,CSPF 计算辅助路径时,将发生以下情况:

  1. CSPF 标识与主路径关联的所有命运共享组。CSPF 通过识别主路径遍历的所有链路和节点,并编译包含至少一个链路或节点的组列表来做到这一点。CSPF 会忽略搜索中的入口和出口节点。

  2. CSPF 根据编译的组列表检查流量工程数据库中的每个链路。如果链路是某个组的成员,则链路成本会因该组的成本而增加。如果一个链路是多个组的成员,则所有组成本都会汇总在一起。

  3. CSPF 对流量工程数据库中的每个节点(入口和出口节点除外)执行检查。同样,一个节点可以属于多个组,因此成本是累加的。

  4. 路由器使用调整后的拓扑结构执行常规 CSPF 计算。

通过旁路 LSP 共享命运时对 CSPF 的影响

如果启用了命运共享以及链路保护或链路节点保护,CSPF 在计算旁路 LSP 路径时将按如下操作:

  • CSPF 标识与主 LSP 路径关联的命运共享组。CSPF 通过识别旁路试图保护的直接下游链路和直接下游节点来做到这一点。CSPF 编译包含直接下游链路和直接下游节点的组列表。

  • CSPF 根据编译的组列表检查流量工程数据库中的每个链路(从入口到直接的下游节点)。如果链路是某个组的成员,则链路成本会因该组的成本而增加。

  • CSPF 识别不在命运共享路径中的下游链路。

当有可行的替代项可用时,此计算可防止旁路使用与主 LSP 路径相同的物理链路。

示例:配置命运共享

配置命运共享组 eastwest。由于 west 没有对象,因此在处理过程中会忽略它。

为 MPLS 信号 LSP 配置中间路由器和出口路由器

要在应参与 MPLS 的所有 MPLS 路由器上配置信号 LSP,您需要在这些路由器上启用 MPLS 和 RSVP。

配置入口路由器和出口路由器之间的连接

入口路由器可能会多次尝试使用主路径连接和重新连接到出口路由器。您可以控制入口路由器尝试使用主路径建立连接的频率,以及两次重试尝试之间等待的时间。

重试计时器用于配置入口路由器在尝试使用主路径再次连接到出口路由器之前等待的时间。默认重试时间为 30 秒。时间可以从 1 秒到 600 秒之间。要修改此值,请包括以下 retry-timer 语句:

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

默认情况下,不会为入口路由器尝试使用主路径与出口路由器建立或重新建立连接的次数限制。要限制尝试次数,请包括以下 retry-limit 语句:

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

此限制可以是最高 10,000 的值。超过重试限制时,不会再尝试建立路径连接。此时,需要干预才能重新启动主路径。

如果设置重试限制,则每次创建成功主路径时,该限制都会重置为 1。

PING LSP

以下部分介绍如何使用 ping mpls 命令确认 LSP 功能。

Ping MPLS LSP

您可以对特定 LSP 执行 ping 操作。回显请求以 MPLS 数据包通过 LSP 发送。有效负载是转发到 127/8 范围(默认为 127.0.0.1,此地址可配置)和端口 8503 的用户数据报协议 (UDP) 数据包。用于构建此信息并将其作为 MPLS 数据包发送的标签和接口信息与标准 LSP 流量相同。

当回显请求到达出口节点时,接收方会检查数据包的内容,并使用 UDP 发送包含正确返回值的答复。发送回显请求的路由器在超时 2 秒后等待接收回显回复(无法配置此值)。

您必须在远程路由器的 [edit protocols mpls] 层级配置 MPLS,才能对终止该路由器的 LSP 执行 ping 操作。即使您只打算使用 LDP 转发等价类 (FEC),也必须配置 MPLS。

要对 MPLS LSP 执行 ping 操作, ping mpls <count count> <ldp <fec>> <rsvp <exp forwarding-class> <lsp-name>> 请使用命令。要对辅助 MPLS LSP 执行 ping 操作,请使用 ping mpls <count count> <rsvp <lsp-name>> standby path-name 命令。有关此命令的详细说明,请参阅 CLI 浏览器

注:

ping mpls路由实例不支持命令。

注:

主实例支持自 ping,CCC 中使用的基于 VLAN 的 LSP 或 LSP 则不支持。将为每个 LSP 显示消息,从而降低配置的可读性。

Ping 点到多点 LSP

要对点到多点 LSP 执行 ping 操作,请使用 ping mpls rsvp lsp-name multipointping mpls rsvp egress address 命令。命令 ping mpls rsvp lsp-name multipoint 会返回所有出口路由器标识符和点到多点 LSP 出口路由器的当前状态列表。命令 ping mpls rsvp lsp-name multipoint egress address 将返回指定出口路由器的当前状态。

对 MPLS LSP 的端点地址执行 Ping 操作

要确定两个提供商边缘 (PE) 路由器之间的 LSP 是否已启动并运行,您可以对 LSP 的端点地址执行 ping 操作。要对 MPLS LSP 端点执行 ping 操作,请使用 ping mpls lsp-end-point address 命令。此命令会告诉您哪种类型的 LSP(RSVP 或 LDP)在指定的地址终止,以及该 LSP 是否处于正常运行状态。

有关此命令的详细说明,请参阅 CLI 浏览器

对 CCC LSP 进行 Ping

您可以对特定 CCC LSP 执行 ping 操作。CCC LSP ping 命令与用于 MPLS LSP 的命令相同。您使用的命令是 ping mpls <count count> <rsvp <lsp-name>>。您还可以使用命令对辅助备用 CCC LSP 执行 ping mpls <count count> <rsvp <lsp-name>> standby path-name ping 操作。

有关此命令的详细说明,请参阅 CLI 浏览器

Ping 第 3 层 VPN

您可以使用类似的命令 ping mpls l3vpn vpn-name prefix prefix <count count>对第 3 层 VPN 执行 ping 操作。有关此命令的详细信息,请参阅 用于路由设备的 Junos OS VPN 库CLI 浏览器

支持基于 RFC 4379 的 LSP Ping 和 Traceroute 命令

Junos OS 支持 LSP 和基于 RFC 4379 的命令,检测多协议标签交换 (MPLS) 数据平面故障tracerouteping

LSP pingtraceroute 基于 RFC 4379 的命令试图通过依赖 MPLS TTL 到期来跟踪 LSP 采用的路径。LSP 可以采用从入口到出口的多个路径。这种情况特别是在等价多路径 (ECMP) 中。LSP traceroute 命令可以追踪到 LSP 节点的所有可能路径。