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。如果指定其他地址,即使该地址在同一路由器上,也不会通过 LSP 发送 BGP 流量。

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

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

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

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

不在 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.13.1.110.12.1.110.11.1.1的完整10.14.1.1严格路径。除了指定的路由器之外,不能有任何中间路由器。但是,和出口路由器之间 10.11.1.1 可以有中间路由器,因为出口路由器未在语句中 path 特别列出。要防止中间路由器在出口之前出现,请将出口路由器配置为最后一个路由器(具有类型 strict )。

创建路径 alt-hastings,以允许在路由器 10.14.1.110.11.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 成本最低)。

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

  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。

对 LSP 执行 ping 操作

以下部分介绍如何使用该 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) 执行 ping 操作,也必须配置 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,但基于 VLAN 的 LSP 或 CCC 中使用的 LSP 不支持自 ping。系统将针对每个 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 是否已启动并正在运行,您可以 ping LSP 的端点地址。要对 MPLS LSP 端点执行 ping 操作,请使用命令 ping mpls lsp-end-point address 。此命令告诉您哪种类型的 LSP(RSVP 或 LDP)在指定的地址终止,以及该 LSP 是打开还是关闭。

有关此命令的详细说明,请参阅 CLI 资源管理器

Ping CCC LSP

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

有关此命令的详细说明,请参阅 CLI 资源管理器

对第 3 层 VPN 执行 ping 操作

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

支持基于 RFC 4379 的 LSP ping 和跟踪路由命令

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

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