Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

LDP 配置

最小 LDP 配置

要以最少配置启用 LDP:

  1. 在家族 MPLS 下启用所有相关接口。对于定向 LDP,需要使用家族 MPLS 启用环路接口。

  2. (可选)在层次结构级别下 [edit protocol mpls] 配置相关接口。

  3. 在单个接口上启用 LDP,包括语 ldp 句并使用 interface 语句指定接口。

这是最低 LDP 配置。所有其他 LDP 配置语句都是可选的。

要在所有接口上启用 LDP,请指定 allinterface-name

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

启用和禁用 LDP

LDP 具有路由实例感知能力。要在特定接口上启用 LDP,请包括以下语句:

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

要在所有接口上启用 LDP,请指定 allinterface-name

如果您在一组接口上配置了接口属性,并希望禁用其中一个接口上的 LDP,请使用 interface 以下语句 disable 进行选项:

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

为 Hello 消息配置 LDP 计时器

LDP hello 消息使 LDP 节点能够发现彼此并检测到邻接方故障或邻接方的链路。Hello 消息会定期在启用 LDP 的所有接口上发送。

有两种类型的 LDP hello 消息:

  • 链接 hello 消息 — 通过 LDP 接口发送,作为将 UDP 数据包发送至 LDP 发现端口。接口上收到 LDP 链路 hello 消息可识别与 LDP 对等路由器的邻接关系。

  • 定向 hello 消息 — 以 UDP 数据包的身份发送至特定地址的 LDP 发现端口。目标 hello 消息用于支持未直接连接的路由器之间的 LDP 会话。目标路由器确定是响应还是忽略目标 hello 消息。选择响应的定向路由器会定期向初始路由器发送有针对性的 hello 消息,从而执行此操作。

默认情况下,LDP 每 5 秒发送一次 hello 消息,用于链接 hello 消息,每 15 秒发送一次有针对性的 hello 消息。您可以配置 LDP 计时器,以更改两种类型的 hello 消息的发送频率。但是,您无法为超过 LDP 持有时间的 LDP 计时器配置时间。有关更多信息,请参阅 在 LDP 邻接方被视为 Down 之前配置延迟

配置 LDP 计时器以获取链接 Hello 消息

要修改 LDP 发送链路 hello 消息的频率,请使用 hello-interval 语句为 LDP 计时器指定新的链路 hello 消息间隔:

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

配置 LDP 计时器以获取有针对性的 Hello 消息

要修改 LDP 发送定向 hello 消息的频率,请为 LDP 计时器指定新的定向 hello 消息间隔,方法是将语句配置 hello-interval 为语句的 targeted-hello 选项:

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

在 LDP 邻接方被视为停机之前配置延迟

保留时间决定 LDP 节点应等待您好消息的时间,然后再宣布邻接方关闭。此值作为 hello 消息的一部分发送,以便每个 LDP 节点告诉邻居等待多长时间。每个邻接方发送的值不必匹配。

保留时间通常应至少是 hello 间隔的三倍。对于链路 hello 消息,默认为 15 秒,目标 hello 消息默认为 45 秒。但是,可以配置接近 hello 间隔值的 LDP 等待时间。

注:

通过配置接近 hello 间隔的 LDP 等待时间(不超过 hello 间隔的三倍),可以更快地检测到 LDP 邻接方故障。但是,这也增加了路由器宣布仍然正常运行的 LDP 邻接方的可能性。有关更多信息,请参阅 配置 LDP Timer for Hello Messages

LDP 保留时间也将在 LDP 对等方之间自动协商。当两个 LDP 对等方相互播发不同的 LDP 持有时间时,将使用较小的值。如果 LDP 对等路由器播发的保存时间比您配置的值短,则使用对等方路由器播发的保留时间。这种协商也会影响 LDP 的激活间隔。

如果 LDP 对等协商期间本地 LDP 的保留时间没有缩短,则用户配置的激活间隔将保持不变。但是,如果对等方协商期间的本地保留时间缩短,则重新计算激活间隔。如果对等协商期间 LDP 的持有时间缩短,则激活间隔减少到新持有时间值的三分之一。例如,如果新的保留时间值为 45 秒,则激活间隔设置为 15 秒。

这种自动激活间隔计算可能导致在每个对等方路由器上配置不同的激活间隔。这使得路由器能够灵活地发送激活消息的频率,因为 LDP 对等方协商确保发送信息的频率比 LDP 保持时间高。

重新配置保留时间间隔时,更改要到重置会话后才会生效。启动 LDP 对等会话时协商保留时间,只要会话已启动就不能重新协商(RFC 5036, LDP 规范要求)。要手动强制 LDP 会话重置,请发出 clear ldp session 命令。

配置 LDP 等待链接 Hello 消息的时间

要修改 LDP 节点在宣布邻接方关闭之前应等待链路 hello 消息的时间,请使用 hold-time 语句在几秒钟内指定新的时间:

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

为目标 Hello 消息配置 LDP 等待时间

要修改 LDP 节点在宣布邻接方关闭之前应等待定向 hello 消息的时间,请使用 hold-time 语句作为语句的选项 targeted-hello 在几秒钟内指定新的时间:

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

为 LDP 启用严格有针对性的 Hello 消息

使用严格有针对性的 hello 消息,防止与未专门配置的远程邻接方建立 LDP 会话。如果配置该 strict-targeted-hellos 语句,则 LDP 对等方不会响应来自非其配置远程邻接方之一的来源的定向 hello 消息。配置的远程邻接方可以包括:

  • 配置 LDP 隧道的 RSVP 隧道端点

  • 2 层电路邻接方

如果未配置的邻接方发送 hello 消息,则 LDP 对等方会忽略该消息,并记录一个错误(带有 error 追踪标志),表示来源。例如,如果 LDP 对等方从 Internet 地址 10.0.0.1 接收定向 hello,并且未专门配置此地址的邻接方,则将以下消息打印到 LDP 日志文件:

要启用严格有针对性的 hello 消息,请包括 strict-targeted-hellos 以下语句:

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

配置 LDP 激活消息的间隔

激活间隔可确定通过会话发送消息的频率,以确保不会超过激活超时。如果此时间段内没有通过会话发送其他 LDP 信息流,则会发送激活消息。默认设置为 10 秒。最低值为 1 秒。

如果为 LDP 配置的价值在对等路由器上的保留时间低于本地配置的值,则可以在 LDP 会话协商期间更改为激活间隔配置的值。有关更多信息,请参阅 在 LDP 邻接方被视为 Down 之前配置延迟

要修改激活间隔,请包括语 keepalive-interval 句:

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

配置 LDP 激活超时

建立 LDP 会话后,必须定期交换消息,以确保会话仍在运行。激活超时定义了邻接方 LDP 节点等待的时间量,然后再确定会话失败。此值通常设置为激活间隔至少三倍。默认设置为 30 秒。

要修改激活间隔,请包括语 keepalive-timeout 句:

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

为语句配置的 keepalive-timeout 值显示为发出 命令时的 show ldp session detail 等待时间。

配置最长 LDP 匹配项

为了让 LDP 学习跨域间 OSPF 区域或 ISIS 级别聚合或汇总的路由,Junos OS 允许您根据 RFC5283 为 LDP 配置最长匹配项。

为 LDP 配置最长匹配项之前,必须执行以下操作:

  1. 配置设备接口。

  2. 配置 MPLS 协议。

  3. 配置 OSPF 协议。

要为 LDP 配置最长匹配项,必须执行以下操作:

  1. 为 LDP 协议配置最长匹配项。
  2. 在接口上配置 LDP 协议。

    例如,要配置接口:

示例:配置最长 LDP 匹配项

此示例说明如何基于 RFC5283 为 LDP 配置最长匹配项。这使得 LDP 能够学习跨域间 OSPF 区域或 ISIS 级别聚合或汇总的路由。最长匹配策略提供每前缀粒度。

要求

此示例使用以下硬件和软件组件:

  • 六个带 OSPF 协议的 MX 系列路由器,并在连接的接口上启用 LDP。

  • 所有设备上运行的 Junos OS 版本 16.1 或更高版本。

开始之前:

  • 配置设备接口。

  • 配置 OSPF。

概述

LDP 通常用于使用 OSPF 或 IS-IS 等 IGP 在整个网络域中建立 MPLS 标签交换系列 (LSP)。在此类网络中,域中的所有链路都有 IGP 邻接以及 LDP 邻接。LDP 在到目标的最短路径上建立 LSP,由 IP 转发确定。在 Junos OS 中,LDP 实施对 RIB 或 IGP 路由中的 FEC IP 地址执行精确匹配查找,以便进行标签映射。此精确映射要求所有 LER 中配置 MPLS 端到端 LDP 端点 IP 地址。这会破坏接入设备中的 IP 分层设计或默认路由的目的。longest-match配置有助于克服这一难题,方法是抑制确切的匹配行为,并根据每前缀上最长的匹配路由设置 LSP。

拓扑

在拓扑中, 图 1显示了在设备 R0 上配置的 LDP 最长匹配项。

图 1: LDP 最长匹配示例LDP 最长匹配示例

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,将命令复制并粘贴到层级的 CLI 中 [edit] ,然后从配置模式进入 commit

R0

R1

R2

R3

R4

R5

配置设备 R0

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备 R0:

  1. 配置接口。

  2. 将环路地址分配给设备。

  3. 配置路由器 ID。

  4. 在接口上配置 MPLS 协议。

  5. 在接口上配置 OSPF 协议。

  6. 为 LDP 协议配置最长匹配项。

  7. 在接口上配置 LDP 协议。

结果

在配置模式下,输入 show interfacesshow protocolsshow routing-options 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

验证路由

目的

验证是否已了解预期路由。

行动

在设备 R0 上,在操作模式下 show route 运行 命令以显示路由表中的路由。

意义

输出显示设备 R0 的路由表中的所有路由。

验证 LDP 概述信息

目的

显示 LDP 概述信息。

行动

在设备 R0 上,在操作模式下 show ldp overview 运行 命令以显示 LDP 的概述。

意义

输出显示设备 R0 的 LDP 概述信息

验证内部拓扑表中的 LDP 条目

目的

显示标签分发协议 (LDP) 内部拓扑表中的路由条目。

行动

在设备 R0 上,在操作模式下 show ldp route 运行 命令以显示 LDP 的内部拓扑表。

意义

输出显示设备 R0 的标签分发协议 (LDP) 内部拓扑表中的路由条目。

仅验证 LDP 路由的 FEC 信息

目的

仅显示 LDP 路由的 FEC 信息。

行动

在设备 R0 上,在操作模式下 show ldp route fec-only 运行 命令以显示路由表中的路由。

意义

输出仅显示可用于设备 R0 的 LDP 协议的 FEC 路由。

验证 LDP 的 FEC 和影子路由

目的

显示路由表中的 FEC 和影子路由。

行动

在设备 R0 上,在操作模式下运行 show ldp route fec-and-route 命令,以显示路由表中的 FEC 和影子路由。

意义

输出显示设备 R0 的 FEC 和影子路由

配置 LDP 路由优先级

当多个协议计算到相同目标的路由时,将使用路由优先级来选择转发表中安装了哪种路由。选择优先级最低的路由。优先级值可以是范围为 0 到 255 的数字。默认情况下,LDP 路由的优先级值为 9。

要修改路由首选项,请包括以下 preference 语句:

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

LDP 平滑重启

LDP 平滑重新启动支持其 LDP 控制平面正在重新启动的路由器继续转发信息流,同时从邻接路由器恢复其状态。它还支持启用帮助器模式的路由器,以帮助尝试重新启动 LDP 的邻接路由器。

在会话初始化期间,路由器通告其执行 LDP 平滑重启或利用邻接方执行 LDP 平滑重启的能力,方法是发送平滑重新启动 TLV。此 TLV 包含两个与 LDP 平滑重新启动相关的字段:重新连接时间和恢复时间。重新连接和恢复时间的值表示路由器支持的平滑重新启动功能。

当路由器发现邻接路由器正在重新启动时,它会等到恢复时间结束,然后再尝试重新连接。恢复时间是路由器等待 LDP 平滑重新启动的时间长度。恢复时间段从发送或接收初始化消息时开始。此时间段通常也是邻接路由器维护其重新启动路由器信息的时间长度,从而允许其继续转发信息流。

您可以在 LDP 协议的主实例和特定路由实例中配置 LDP 平滑重新启动。您可在全局级别禁用平滑重新启动(仅适用于 LDP 的协议级别)和特定路由实例。LDP 平滑重新启动默认禁用,因为在全球级别,默认情况下会禁用平滑重新启动。但是,默认情况下,将启用帮助模式(协助邻接路由器尝试平稳重新启动的能力)。

以下是与 LDP 平滑重启相关的一些行为:

  • 未在重新启动时维护传出标签。将分配新的传出标签。

  • 重新启动路由器时,不会向支持平稳重新启动的邻接方发送标签映射消息,直至重新启动路由器稳定下来(标签映射消息将立即发送至不支持平稳重新启动的邻接方)。但是,所有其他消息(激活、地址消息、通知和发布)均照常发送。分发这些其他消息会妨碍路由器分发不完整信息。

  • 帮助器模式和平滑重新启动是独立的。您可在配置中禁用平滑重新启动,但仍允许路由器与尝试平滑重新启动的邻接方配合使用。

配置 LDP 平滑重启

在或[edit protocols ldp graceful-restart]层级更改平滑重新启动配置[edit routing-options graceful-restart]时,将自动重新启动任何运行的 LDP 会话以应用平滑重新启动配置。当您更改其平滑重新启动配置时,此行为将反映 BGP 的行为。

默认情况下,已启用平滑重新启动帮助模式,但是禁用平滑重新启动。因此,路由器的默认行为是帮助邻接路由器尝试平滑重新启动,但不要自己尝试平滑重新启动。

要配置 LDP 平滑重新启动,请参阅以下部分:

启用平滑重启

要启用 LDP 平滑重新启动,您还需要在路由器上启用平滑重新启动。要实现平滑重新启动,请包括语 graceful-restart 句:

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

  • [edit routing-options]

  • [edit logical-systems logical-system-name routing-options]

注:

ACX 系列路由器不支持 [edit logical-systems logical-system-name routing-options] 层次结构级别。

graceful-restart 语句支持路由器上支持此功能的所有协议平滑重新启动。有关平滑重新启动的详细信息,请参阅 用于路由设备的 Junos OS 路由协议库

默认情况下,在 LDP 协议级别和所有路由实例上启用平滑重新启动时,LDP 平滑重新启动。但是,您可以禁用 LDP 平滑重启和 LDP 平滑重启帮助器模式。

禁用 LDP 平滑重启或帮助模式

要禁用 LDP 平滑重新启动和恢复,请包括以下 disable 语句:

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

只能在 LDP 协议级别禁用帮助器模式。对于特定路由实例,您无法禁用帮助器模式。要禁用 LDP 帮助模式,请包括 helper-disable 语句:

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

以下 LDP 平滑重新启动配置是可能的:

  • LDP 平滑重启和帮助模式均已启用。

  • LDP 平滑重新启动禁用,但已启用帮助模式。以这种方式配置的路由器不能平滑重新启动,但可以帮助重新启动邻接方。

  • LDP 平滑重启和帮助模式均禁用。路由器不使用初始化消息中发送的 LDP 平滑重新启动或平滑重新启动类型、长度和值 (TLV)。路由器充当无法支持 LDP 平滑重新启动的路由器。

如果尝试启用平滑重新启动和禁用帮助模式,则会发出配置错误。

配置重新连接时间

邻接方之间的 LDP 连接失败后,邻接方等待一定时间以便平滑重新启动路由器以恢复发送 LDP 消息。等待期结束后,可以重新建立 LDP 会话。您可以在几秒钟内配置等待期。当启用 LDP 平滑重新启动时,在 LDP 初始化消息中发送的容错会话 TLV 中包含此值。

假设路由器 A 和路由器 B 是 LDP 邻接方。路由器 A 是重新启动的路由器。重新连接时间是指路由器 A 告知路由器 B 等待路由器 B 检测到路由器 A 已重新启动的时间。

要配置重新连接时间,请包括以下 reconnect-time 语句:

您可将重新连接时间设置为 30 至 300 秒范围内的值。默认情况下,为 60 秒。

有关可配置这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。

配置恢复时间和最大恢复时间

恢复时间是指路由器等待 LDP 平滑重新启动的时间。恢复时间段从发送或接收初始化消息时开始。此期间通常是相邻路由器维护其重新启动路由器信息的时间量,从而允许其继续转发信息流。

为防止相邻路由器在重新启动路由器的恢复时间中收到虚假值时受到不利影响,您可以在相邻路由器上配置最大恢复时间。相邻的路由器维护其状态的时间缩短两倍。例如,路由器 A 正在执行 LDP 平滑重新启动。它向邻接路由器 B 发送了 900 秒的恢复时间。但是,路由器 B 在 400 秒内配置了其最大恢复时间。路由器 B 将仅等待 400 秒,然后再从路由器 A 中清除其 LDP 信息。

要配置恢复时间,请包括语 recovery-time 句和 maximum-neighbor-recovery-time 语句:

有关可配置这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。

过滤入站 LDP 标签绑定

您可以过滤收到的 LDP 标签绑定,应用策略以接受或拒绝邻接路由器通告的绑定。要配置收到的标签过滤,请包括语 import 句:

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

命名策略(在 [edit policy-options] 层级配置)适用于从所有 LDP 邻接方接收的所有标签绑定。所有过滤均使用 from 语句完成。 表 1 列出了唯 from 一适用于 LDP 接收标签过滤的操作员。

表 1: 适用于 LDP 接收标签过滤的运营商

from 算子

说明

interface

从相邻在指定接口上的邻接方收到的绑定匹配

neighbor

从指定的 LDP 路由器 ID 收到的绑定匹配

next-hop

匹配从邻接方收到的绑定,通告指定接口地址

route-filter

使用指定前缀的绑定匹配

如果过滤了绑定,则其仍然显示在 LDP 数据库中,但不被视为作为标签交换系列 (LSP) 的一部分进行安装。

一般来说,在 LDP 中应用策略只能用于阻止 LSP 的建立,而不能控制其路由。这是因为 LSP 遵循的路径由单播路由决定,而不是由 LDP 决定。但是,当通过不同邻接方有多个通过目标的等价路径时,您可以使用 LDP 过滤将某些可能的下一跳跃排除在考量之外。(否则,LDP 会随机选择其中一个可能的下一跳跃。)

LDP 会话不绑定到接口或接口地址。LDP 仅通告每路由器(非每个接口)标签;因此,如果两个路由器之间存在多个并行链路,则仅建立一个 LDP 会话,并且不会绑定到单个接口。当路由器与同一邻接方有多个邻接关系时,请注意确保过滤器执行预期操作。(一般而言,使用 next-hopinterface 不适合此情况。)

如果标签已被过滤(即已被策略拒绝且未用于构建 LSP),则在数据库中标记为过滤:

有关如何为 LDP 配置策略的详细信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南

例子:过滤入站 LDP 标签绑定

仅接受来自所有邻接方的 /32 个前缀:

接受 131.108/16 路由器 ID 10.10.255.2 或更长时间并接受所有其他邻接方的所有前缀:

过滤出站 LDP 标签绑定

您可以配置导出策略以过滤 LDP 出站标签。您可通过应用路由策略来过滤出站标签绑定,以阻止绑定通告至邻接路由器。要配置出站标签过滤,请包括以下 export 语句:

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

指定的导出策略(在 [edit policy-options] 层次结构级别上配置)适用于传输至所有 LDP 邻接方的所有标签绑定。唯 from 一适用于 LDP 出站标签过滤的操作员是 route-filter,它与指定前缀的绑定匹配。唯 to 一适用于出站标签过滤的操作员是 中的 表 2操作员。

表 2: 向运营商提供 LDP 出站标签过滤

运营商

说明

interface

发送至指定接口上邻接方的绑定匹配

neighbor

发送至指定 LDP 路由器 ID 的绑定匹配

next-hop

发送至邻接方播发指定接口地址的绑定匹配

如果过滤了绑定,则绑定不会通告给邻接路由器,但可作为 LSP 的一部分安装到本地路由器上。您可以在 LDP 中应用策略以阻止 LSP 的建立,但不能控制其路由。LSP 遵循的路径由单播路由决定,而不是由 LDP 确定。

LDP 会话不绑定到接口或接口地址。LDP 仅通告每个路由器(非每个接口)标签。如果两个路由器之间存在多个并行链路,则仅建立一个 LDP 会话,并且不会绑定到单个接口。

当路由器与同一邻接方有多个邻接关系时,请勿使用 next-hopinterface 操作员。

过滤标签在数据库中标记:

有关如何为 LDP 配置策略的详细信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南

例子:过滤出站 LDP 标签绑定

阻止路由 10.10.255.6/32 传输至任何邻接方:

131.108/16 发送或更长时间发送至路由器 ID 10.10.255.2,并将所有前缀发送至所有其他路由器:

指定 LDP 使用的传输地址

路由器必须先在彼此之间建立 TCP 会话,然后才能建立 LDP 会话。TCP 会话允许路由器交换 LDP 会话所需的标签通告。要建立 TCP 会话,每个路由器都必须学习其他路由器的传输地址。传输地址是一个 IP 地址,用于识别将通过 LDP 会话运行的 TCP 会话。

要配置 LDP 传输地址,请包括传输地址语句:

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

如果指定选项 router-id ,则路由器标识符的地址将用作传输地址(除非另有配置,否则路由器标识符通常与环路地址相同)。如果指定选项 interface ,则接口地址用作可通过该接口到达的邻接方的任何 LDP 会话的传输地址。请注意,路由器标识符默认用作传输地址。

注:

要正常运行,必须联系 LDP 传输地址。路由器 ID 是标识符,而不是可路由 IP 地址。为此,它建议将路由器 ID 设置为与环路地址匹配,并且环路地址由 IGP 通告。

当与同一 interface LDP 邻接方存在多个并行链路时,您无法指定选项,因为 LDP 规范要求在所有接口上将相同的传输地址通告至同一邻接方。如果 LDP 检测到与同一邻接方的多个并行链路,则会将接口一个接口一个接口禁用,直至情况得到清除,方法是断开接口上的邻接方连接,或者指定 router-id 选项。

用于定向 LDP 会话的控制传输地址

要在两台设备之间建立 TCP 会话,每个设备都必须学习其他设备的传输地址。传输地址是一个 IP 地址,用于识别 LDP 会话操作的 TCP 会话。之前,此传输地址只能是路由器 ID 或接口地址。借助 LDP 传输地址功能,您可以显式配置任何 IP 地址,作为第 2 层电路、MPLS 和 VPLS 邻接的目标 LDP 邻接方的传输地址。这使您能够使用传输地址配置控制目标-LDP 会话。

控制用于定向 LDP 会话的传输地址的优势

配置用于建立有针对性的 LDP 会话的传输地址具有以下好处:

  • Flexible interface configurations— 提供为一个环路接口配置多个 IP 地址的灵活性,而不会中断目标-LDP 邻接方之间 LDP 会话的创建。

  • Ease of operation— 在接口级别配置的传输地址,允许您在 IGP 主干中使用多个协议来执行 LDP。这可实现顺畅便捷的运维。

目标- LDP 传输地址概述

在 Junos OS 版本 19.1R1 之前,LDP 仅作为任何 LDP 接口上的传输地址为路由器 ID 或接口地址提供支持。在该接口上形成的邻接关系使用分配给接口或路由器 ID 的一个 IP 地址。如果存在有针对性的邻接关系,则接口是环路接口。在设备上配置多个环路地址时,无法为接口派生传输地址,因此无法建立 LDP 会话。

从 Junos OS 版本 19.1R1 开始,除了用于目标-LDP 会话传输地址的默认 IP 地址外,您还可以将任何其他 IP 地址配置为 下方的传输地址,session-group以及interface配置语句。session 传输地址配置仅适用于配置的邻接方,包括第 2 层电路、MPLS 和 VPLS 邻接。此配置不适用于发现的邻接(目标与否)。

传输地址优先级

您可以为会话、会话组和接口级别的定向 LDP 会话配置传输地址。

配置传输地址后,根据 LDP 的传输地址优先级建立定向 LDP 会话。

目标邻接方(通过第 2 层电路、MPLS、VPLS 和 LDP 配置配置配置)的传输地址优先级顺序如下:

  1. 在层次结构下 [edit protocols ldp session]

  2. 在层次结构下 [edit protocols ldp session-group]

  3. 在层次结构下 [edit protocols ldp interfcae lo0]

  4. 在层次结构下 [edit protocols ldp]

  5. 默认地址。

所发现的邻接方的传输地址优先顺序如下:

  1. 在层次结构下 [edit protocols ldp interfcae]

  2. 在层次结构下 [edit protocols ldp]

  3. 默认地址。

将 LDP 配置为接受 hello 数据包的自动定向邻接方的传输地址优先级顺序如下:

  1. 在层次结构下 [edit protocols ldp interfcae lo0]

  2. 在层次结构下 [edit protocols ldp]

  3. 默认地址。

传输地址配置故障排除

您可以使用以下 show 命令输出对有针对性的 LDP 会话进行故障排除:

  • show ldp session

  • show ldp neighbor

    命令 detailshow ldp neighbor 输出级别显示通过 hello 消息发送至目标邻接方的传输地址。如果无法从邻接方访问此地址,则不会出现 LDP 会话。

  • show configuration protocols ldp

您还可以启用 LDP 追踪功能以进一步排除故障。

  • 如果配置从使用无效(无法到达)的传输地址更改为传输地址(有效),则可观察以下痕迹:

  • 如果配置从使用有效的传输地址更改为传输地址无效(不可访问),则可观察以下痕迹:

如果配置错误,请执行以下故障排除任务:

  • address family检查 。根据语句配置的 session 传输地址必须与邻接方或会话属于同一地址族。

  • 在或session语句下neighbor配置为传输地址的地址必须本地发送到路由器,以便启动目标 hello 消息。您可以检查地址是否已配置。如果地址未在任何接口下配置,则该配置被拒绝。

从路由表配置通告到 LDP 的前缀

您可以控制通告到 LDP 的前缀集,并导致路由器成为这些前缀的出口路由器。默认情况下,只有环路地址通告至 LDP。要从路由表中配置一组前缀以通告至 LDP,请包括 egress-policy 以下语句:

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

注:

如果为不包括环路地址的 LDP 配置出口策略,则不再在 LDP 中通告。要继续通告环路地址,您需要明确将其配置为 LDP 出口策略的一部分。

指定策略(在 [edit policy-options][edit logical-systems logical-system-name policy-options] 层级配置)应用于路由表中的所有路由。与策略匹配的路由通告至 LDP。您可以使用 export 语句控制这些前缀通告的邻接方集。仅 from 考虑运营商;您可使用任何有效的 from 操作员。有关更多信息,请参阅 Junos OS 路由设备路由协议库

注:

ACX 系列路由器不支持 [edit logical-systems] 层次结构级别。

示例:配置通告到 LDP 的前缀

将所有已连接的路由通告至 LDP:

配置 FEC 分解

当 LDP 出口路由器通告多个前缀时,前缀绑定到单个标签,并聚合为单个转发同等类 (FEC)。默认情况下,当通告遍历网络时,LDP 会维护此聚合。

通常,由于 LSP 不会跨多个下一跳跃分割,并且前缀绑定到单个 LSP 中,因此不会跨等价路径进行负载平衡。但是,如果配置负载平衡策略并分解 FEC,则可以在等价路径上实现负载平衡。

解聚 FEC 会使每个前缀绑定到单独的标签,并成为单独的 LSP。

要配置分解的 FEC,请包括以下 deaggregate 语句:

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

对于所有 LDP 会话,您只能在全球范围内配置解聚 FEC。

解聚 FEC 允许生成的多个 LSP 分布在多个等价路径上,并在出口段上的多个下一跳跃中分配 LSP,但每个 LSP 仅安装一个下一跳跃。

要聚合 FEC,请包括语 no-deaggregate 句:

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

对于所有 LDP 会话,您只能在全球范围内配置聚合 FEC。

为 LDP FEC 配置监管器

您可以配置 Junos OS 来跟踪和监管 LDP FEC 的流量。LDP FEC 监管器可用于执行以下任何操作:

  • 跟踪或监管 LDP FEC 的入口流量。

  • 跟踪或监管 LDP FEC 的传输流量。

  • 跟踪或监管源自特定转发类的 LDP FEC 流量。

  • 跟踪或监管源自特定虚拟路由和转发 (VRF) 站点的 LDP FEC 流量。

  • 丢弃绑定特定 LDP FEC 的虚假信息流。

要监管 LDP FEC 的流量,必须先配置过滤器。具体来说,您需要interface[edit firewall family protocol-family filter filter-name term term-name from]层次结构级别配置语句或interface-set语句。该 interface 语句允许您将过滤器匹配到单个接口。该 interface-set 语句允许您将过滤器匹配到多个接口。

有关如何为 LDP FEC 配置 interface 语句、 interface-set 语句和监管器的详细信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南

配置过滤器后,您需要将其包含在 LDP 的语句配置中 policing 。要为 LDP FEC 配置监管器,请包括以下 policing 语句:

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

policing 语句包含以下选项:

  • fec— 指定要监管的 LDP FEC 的 FEC 地址。

  • ingress-filter—指定入口信息流过滤器的名称。

  • transit-traffic—指定传输流量过滤器的名称。

配置 LDP IPv4 FEC 过滤

默认情况下,当建立有针对性的 LDP 会话时,Junos OS 始终在目标 LDP 会话上交换 IPv4 转发同等类 (FEC) 和第 2 层电路 FEC。对于间接连接的邻接方的 LDP 会话,您可能只想将第 2 层电路 FEC 导出到邻接方,如果该会话专门配置为支持第 2 层电路或 VPLS。

在混合供应商网络中,所有非 BGP 前缀均通告至 LDP,则 LDP 数据库可以变为大。对于这种类型的环境,可以防止因第 2 层电路或 LDP VPLS 配置而形成的 LDP 会话上发布 IPv4 FEC 的通告。同样,过滤此类环境中收到的任何 IPv4 FEC 也很有用。

如果与 LDP 会话相关联的所有 LDP 邻接方仅属于第 2 层,则可通过配置 l2-smart-policy 语句来将 Junos OS 配置为仅通告第 2 层电路 FEC。此功能还会自动过滤掉在此会话中收到的 IPv4 FEC。配置已激活 l2-smart-policy 以在相应方向禁用此功能的显式导出或导入策略。

如果 LDP 会话的邻接方之一因发现的邻接关系而形成,或者如果邻接因一个或多个 RSVP LSP 上的 LDP 隧道配置而形成,则使用默认行为通告和接收 IPv4 FEC。

为防止 LDP 通过仅与第 2 层邻接方的 LDP 会话导出 IPv4 FEC 并过滤掉通过此类会话收到的 IPv4 FEC,请包括 l2-smart-policy 以下声明:

有关可配置此语句的层次结构级别列表,请参阅此语句的语句摘要。

为 LDP LSP 配置 BFD

您可以为 LDP LSP 配置双向转发检测 (BFD)。BFD 协议是一种简单的 hello 机制,可检测网络中的故障。Hello 数据包以指定的定期间隔发送。当路由器在指定间隔后停止接收回复时,将检测到邻接方故障。BFD 可与各种网络环境和拓扑配合使用。BFD 故障检测定时器的时间限制比静态路由的故障检测机制短,从而提供更快的检测速度。

每当路径的 BFD 会话出现故障时,就会记录错误。以下内容显示 LDP LSP 日志消息的 BFD 可能如何显示:

您还可以为 RSVP LSP 配置 BFD,如 为 RSVP 信号 LSP 配置 BFD 中所述。

BFD 故障检测定时器具有自适应性,可调整为或多或少具有攻击性。例如,如果邻接失败,计时器可以适应更高的值,或者邻接方可以协商比配置的值更高的计时器值。当 BFD 会话翻动在 15 秒内发生三次以上时,定时器会适应更高的值。如果本地 BFD 实例是会话翻动的原因,则备份算法会将接收 (Rx) 间隔增加两倍。如果远程 BFD 实例是会话翻动的原因,则传输 (Tx) 间隔增加两倍。您可以使用 命令 clear bfd adaptation 将 BFD 间隔定时器返回至其配置的值。命令 clear bfd adaptation 无中断,这意味着命令不会影响路由设备上的流量。

要为 LDP LSP 启用 BFD,请包括 oambfd-liveness-detection 语句:

通过在[edit protocols ldp]层次结构级别使用 fec 选项配置 FEC 地址,您可以为与特定转发同等类 (FEC) 关联的 LDP LSP 启用 BFD。或者,您也可以配置操作管理和管理 (OAM) 入口策略,以便在一系列 FEC 地址上启用 BFD。有关详细信息,请参阅 为 LDP 配置 OAM 入口策略

除非其等效 FEC 地址已明确配置,或者使用 OAM 入口策略在 FEC 上启用 OAM,否则不能启用 BFD LDP LSP。如果未为任何 FEC 地址启用 BFD,BFD 会话将不会出现。

您可以在以下层次结构级别配置 oam 语句:

  • [edit protocols ldp]

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

注:

ACX 系列路由器不支持 [edit logical-systems] 层次结构级别。

oam 语句包含以下选项:

  • fec—指定 FEC 地址。您必须指定 FEC 地址或配置 OAM 入口策略,以确保 BFD 会话出现。

  • lsp-ping-interval—在几秒钟内指定 LSP ping 间隔的持续时间。要在 LDP 信号 LSP 上发出 ping,请使用 命令 ping mpls ldp 。有关详细信息,请参阅 CLI Explorer

bfd-liveness-detection 语句包含以下选项:

  • ecmp— 导致 LDP 为为指定的 FEC 配置的所有 ECMP 路径建立 BFD 会话。如果配置选项 ecmp ,还必须为指定的 FEC 配置 periodic-traceroute 语句。如果不执行此操作,提交操作将失败。您可在全局层次结构级别 ([edit protocols ldp oam]) 配置periodic-traceroute语句,同时仅为特定 FEC ([edit protocols ldp oam fec address bfd-liveness-detection]) 配置ecmp选项。

  • 按时间隔 — 指定 BFD 会话应保持正常运行的持续时间,然后再添加路由或下一跳跃。指定 0 秒的时间会导致在 BFD 会话恢复后立即添加路由或下一跳跃。

  • minimum-interval—指定最小传输和接收间隔。如果配置选项 minimum-interval ,则无需配置 minimum-receive-interval 选项或 minimum-transmit-interval 选项。

  • minimum-receive-interval—指定最小接收间隔。范围为 1 到 255,000 毫秒。

  • minimum-transmit-interval—指定最小传输间隔。范围为 1 到 255,000 毫秒。

  • multiplier—指定检测时间乘数。范围为 1 到 255。

  • 版本 — 指定 BFD 版本。选项为 BFD 版本 0 或 BFD 版本 1。默认情况下,Junos OS 软件会尝试自动确定 BFD 版本。

为 LDP LSP 配置 ECMP 感知 BFD

为 FEC 配置 BFD 时,仅为路由器的一个活动本地下一跳跃建立了 BFD 会话。但是,您可以配置多个 BFD 会话,每个与特定等价多路径 (ECMP) 路径关联的 FEC 各一个。要使此功能正常运行,您还需要配置 LDP LSP 定期追踪路由。(请参阅 配置 LDP LSP Traceroute。)LDP LSP traceroute 用于发现 ECMP 路径。为发现的每个 ECMP 路径启动 BFD 会话。每当其中一个 ECMP 路径的 BFD 会话发生故障时,都会记录错误。

LDP LSP traceroute 定期运行,检查 ECMP 路径的完整性。发现问题时,可能会出现以下情况:

  • 如果 FEC 的最新 LDP LSP 追踪路由与之前的追踪路由不同,则与该 FEC 关联的 BFD 会话(地址范围与先前运行更改的 BFD 会话)将被关闭,并且会话会针对更改的范围内的目标地址启动新的 BFD 会话。

  • 如果 LDP LSP traceroute 返回错误(例如超时),与 FEC 关联的所有 BFD 会话将被拆除。

要配置 LDP 为为指定 FEC 配置的所有 ECMP 路径建立 BFD 会话,请包括该 ecmp 语句。

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

除了该 ecmp 语句,您还必须将语句包括 periodic-traceroute 在全局 LDP OAM 配置中( [edit protocols ldp oam] 在或 [edit logical-systems logical-system-name protocols ldp oam] 层级)或指定 FEC 的配置中(在 [edit protocols ldp oam fec address][edit logical-systems logical-system-name protocols ldp oam fec address] 层级)中。否则,提交操作将失败。

注:

ACX 系列路由器不支持 [edit logical-systems] 层次结构级别。

在 LDP LSP 上为 BFD 会话配置故障操作

如果 LDP LSP 上出现 BFD 会话故障事件,您可以配置路由和下一跳跃属性。故障事件可能是已关闭或可能是从未出现过的 BFD 会话的现有 BFD 会话。当相关的 BFD 会话恢复时,LDP 会重新添加路由或下一跳跃。

如果 LDP LSP 上出现 BFD 会话失败,您可以为 failure-action 该语句配置以下一个故障操作选项:

  • remove-nexthop— 检测到 BFD 会话故障事件时,卸下与入口节点上 LSP 路由下一跳跃对应的路由。

  • remove-route— 检测到 BFD 会话故障事件时,从相应的路由表中卸下与 LSP 对应的路由。如果 LSP 配置了 ECMP,并且与任何路径对应的 BFD 会话中断,则路由将被移除。

要在 LDP LSP 上出现 BFD 会话故障时配置故障操作,请包括 remove-nexthop 语句选项或 remove-route 选项 failure-action

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

配置 BFD 会话的锁定间隔

通过在层次结构级别或层级配置 holddown-interval 语句,您可以在 [edit protocols ldp oam bfd-livenesss-detection] 添加路由或下一跳跃之前指定 BFD 会话应该延长的 [edit protocols ldp oam fec address bfd-livenesss-detection] 持续时间。指定 0 秒的时间会导致在 BFD 会话恢复后立即添加路由或下一跳跃。

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

了解仅组播快速重新路由

仅组播快速重新路由 (MoFRR) 可在发生链路故障时最大程度地减少组播分配树中流量的数据包丢失,从而增强支持这些功能的设备上的组播路由协议,如协议无关组播 (PIM) 和多点标签分发协议 (多点 LDP)。

注:

在交换机上,不支持具有 MPLS 标签交换系列和多点 LDP 的 MoFRR。

对于 MX 系列路由器,仅在带有 MPC 线卡的 MX 系列路由器上支持 MoFRR。作为先决条件,您必须将路由器配置为 network-services enhanced-ip 模式,并且路由器中的所有线卡都必须为 MPC。

启用 MoFRR 后,设备会在主路径和备份上游路径上向组播源发送加入消息。设备从主路径和备份路径接收数据包,并根据优先级丢弃冗余数据包(分配给主路径和备份路径的权重)。当设备检测到主路径上的故障时,它会立即开始接受来自辅助接口(备份路径)的数据包。快速切换大大缩短了主路径链路故障时的融合时间。

MoFRR 的一个应用程序是流式 IPTV。IPTV 流作为 UDP 流进行组播,因此不会重新传输丢失的数据包,从而带来不尽如人意的用户体验。MoFRR 可以改善这种情况。

MoFRR 概述

通过在单播流上快速重新路由,上游路由设备预建立 MPLS 标签交换系列 (LSP) 或预先计算 IP 无环路备选 (LFA) 快速重新路由备份路径,以处理下游路径中的分段故障。

在组播路由中,接收端通常源自信息流分配图。这与单播路由不同,单播路由通常会建立从源到接收方的路径。PIM(适用于 IP)、多点 LDP(用于 MPLS)和 RSVP-TE(适用于 MPLS)是能够建立组播分配图的协议。其中,PIM 和多点 LDP 接收器启动分配图形设置,因此 MoFRR 可在受支持时与这两个组播协议配合使用。

在组播树中,如果设备检测到网络组件故障,则需要一些时间来执行被动修复,从而导致重大流量丢失,同时设置备用路径。MoFRR 可减少网络组件发生故障时组播分配树中的流量丢失。借助 MoFRR,一个下游路由设备建立了一个朝源方向的替代路径,以接收相同组播流量的备份实时流。当主流出现故障时,MoFRR 路由设备可以快速切换到备份流。

启用 MoFRR 后,对于每个 (S、G) 条目,设备使用两个可用上游接口发送加入消息和接收组播信息流。如果有两个此类路径可用,协议会尝试选择两个脱节路径。如果没有脱节路径,协议将选择两个非脱节路径。如果没有两个非脱节路径,则只选择一个没有备份的主路径。MoFRR 将脱节的备份优先级用于对可用路径进行负载平衡。

MoFRR 支持 IPv4 和 IPv6 协议系列。

图 12 显示了从组播接收器路由设备(也称为出口提供商边缘 (PE) 设备)到组播源路由设备(也称为入口 PE 设备)的两个路径。

图 12: MoFRR 示例拓扑MoFRR 示例拓扑

启用 MoFRR 后,出口(接收方)路由设备为每个 (S、G) 设置两个组播树、一个主路径和一个备份路径,以朝向组播源。换句话说,出口路由设备会将相同的 (S,G) 加入消息传播到两个不同的上游邻接方,从而创建两个组播树。

其中一棵组播树穿过平面 1,另一棵穿过平面 2,如 中 图 12所示。对于每个 (S、G),出口路由设备会转发主路径上接收的信息流,并丢弃在备份路径上收到的信息流。

等价多路径 (ECMP) 路径和非 ECMP 路径均支持 MoFRR。设备需要启用单播无环路备选 (LFA) 路由,以便在非 ECMP 路径上支持 MoFRR。您可使用 link-protection 内部网关协议 (IGP) 配置中的语句启用 LFA 路由。在 OSPF 或 IS-IS 接口上启用链路保护时,设备会为遍历受保护接口的所有目标路由创建到主下一跳跃的备份 LFA 路径。

Junos OS 在 IP MoFRR 的 IP 网络和用于多点 LDP MoFRR 的 MPLS 标签边缘路由设备 (LER) 中实施 MoFRR。

多点 LDP MoFRR 用于 MPLS 网络的出口设备,其中数据包转发至 IP 网络。借助多点 LDP MoFRR,设备可为上游 PE 路由设备建立两个路径,以便在 LER 接收两个 MPLS 数据包流。设备接受其中一个流(主流),另一个(备份)在 LER 上丢弃。如果主路径发生故障,设备将接受备份流,而不是。带内信号支持是具有多点 LDP 的 MoFRR 的先决条件(请参阅 了解多点 LDP 对多点 LSP 的带内信令)。

PIM 功能

Junos OS 支持用于最短路径树 (SPT) 的 MoFRR 加入 PIM 源特定组播 (SSM) 和任意源组播 (ASM)。SSM 和 ASM 范围均支持 MoFRR。要为 (*、G) 加入启用 MoFRR,请在层次结构中[edit routing-options multicast stream-protection]包含mofrr-asm-starg配置语句。对于每个 G 组,MoFRR 将用于 (S、G) 或 (*,G),但不适用于两者。(S、G) 始终优先于 (*,G)。

启用 MoFRR 后,PIM 路由设备将在两个上游反向路径转发 (RPF) 接口上传播加入消息,以便在两个链路上接收组播信息流以获得相同的加入请求。MoFRR 优先考虑两个未融合到同一直接上游路由设备的路径。PIM 使用具有两个接口的上游 RPF 下一跳跃安装适当的组播路由(用于主路径和备份路径)。

当主路径发生故障时,备份路径升级为主状态,设备将相应地转发信息流。如果有备用路径,MoFRR 将计算新的备份路径并更新或安装相应的组播路由。

您可以使用 PIM 加入负载平衡来启用 MoFRR(请参阅 join-load-balance automatic 语句)。但是,在这种情况下,链路之间可能甚至无法分发加入消息。添加新的 ECMP 链路时,将重新分配主路径上的加入消息并实现负载平衡。备份路径上的加入消息可能仍遵循相同的路径,并且可能不会进行偶数重新分配。

您可使用层次结构中的 stream-protection 配置语句启用 [edit routing-options multicast] MoFRR。MoFRR 由一组过滤器策略管理。

当出口 PIM 路由设备收到加入消息或 IGMP 报告时,它会检查 MoFRR 配置并进行如下收益:

  • 如果不存在 MoFRR 配置,PIM 将一条加入消息上游发送至一个上游邻接方(例如,平面 2 英寸 图 12)。

  • 如果存在 MoFRR 配置,设备将检查策略配置。

  • 如果没有策略,设备将检查主路径和备份路径(上游接口),并以如下所示进行:

    • 如果没有主路径和备份路径,PIM 将一条加入消息上游发送至一个上游邻接方(例如,平面 2 英寸 图 12)。

    • 如果提供主路径和备份路径,PIM 将加入消息上游发送至两个可用的上游邻接方。Junos OS 设置主组播和辅助组播路径以接收组播信息流(例如,平面 1 英寸 图 12)。

  • 如果存在策略,设备将检查策略是否允许 MoFRR 执行此 (S,G),并且收益如下:

    • 如果此策略检查失败—PIM 将加入消息上游发送至一个上游邻接方(例如,平面 2 英寸 图 12)。

    • 如果此策略检查通过 — 设备将检查主路径和备份路径(上游接口)。

      • 如果主路径和备份路径不可用,PIM 会向上游邻接方(例如,平面 2 英寸 图 12)上行发送加入消息。

      • 如果提供主路径和备份路径,PIM 将加入消息上游发送至两个可用上游邻接方。该设备设置主组播和辅助组播路径以接收组播信息流(例如,平面 1 英寸 图 12)。

多点 LDP 功能

为避免 MPLS 流量重复,多点 LDP 通常仅选择一个上游路径。(请参阅第 2.4.1.1 部分。确定 RFC 6388 中的“上游 LSR”、 点对多点和多点到多点标签交换路径的标签分配协议扩展。)

对于具有 MoFRR 的多点 LDP,多点 LDP 设备选择两个独立的上游对等方,并发送两个单独的标签,一个发送给每个上游对等方。设备使用 RFC 6388 中介绍的相同算法来选择主上游路径。设备使用相同的算法来选择备份上游路径,但不包括作为候选的主上游 LSR。两个不同的上游对等方将两个 MPLS 流量流发送至出口路由设备。设备仅选择上游邻接方路径之一作为接受 MPLS 流量的主要路径。另一条路径将成为备份路径,设备将丢弃该流量。当主上游路径发生故障时,设备将开始接受来自备份路径的流量。多点 LDP 设备根据内部网关协议 (IGP) 根设备下一跳跃选择两个上游路径。

转发同等类 (FEC) 是一组以相同方式、在同一路径上以及具有相同转发处理方式转发的 IP 数据包。通常,放置在特定数据包上的标签表示该数据包分配给该数据包的 FEC。在 MoFRR 中,每个 FEC 都将两个路由放置在 mpls.0 表中 —一个用于主标签的路由,另一个路由用于备份标签。

如果与同一直接上游设备存在并行链路,则设备会认为这两个并行链路都是主要链路。在任何时间点,上游设备仅在多个并行链路之一上发送信息流。

萌芽节点是一种 LSR,是一种出口 LSR,但还有一个或多个直接连接的下游 LSR。对于萌芽节点,从主上游路径的信息流转发至下游 LSR。如果主上游路径发生故障,则从备份上游路径发出的 MPLS 流量将转发至下游 LSR。这意味着下游 LSR 下一跃点与出口下一跳跃一起添加到两个 MPLS 路由中。

与 PIM 一样,您使用 stream-protection 层次结构中的 [edit routing-options multicast] 配置语句启用具有多点 LDP 的 MoFRR,并通过一组过滤器策略进行管理。

如果您已为 MoFRR 启用了多点 LDP 点到多点 FEC,则设备会考虑以下因素来选择上游路径:

  • 如果有非定点 LDP 会话,则跳过目标 LDP 会话。如果有单个目标 LDP 会话,则选择目标 LDP 会话,但相应的点对多点 FEC 将失去 MoFRR 功能,因为与目标 LDP 会话没有关联的接口。

  • 属于同一上游 LSR 的所有接口均被视为主路径。

  • 对于任何根节点路由更新,上游路径将根据 IGP 的最新下一跳跃进行更改。如果有更好的路径可用,多点 LDP 会尝试切换到更好的路径。

分组转发

对于 PIM 或多点 LDP,设备在入口接口执行组播源流选择。这能保留交换矩阵带宽并最大限度地提高转发性能,因为它:

  • 避免在交换矩阵中发送重复流

  • 防止多次路由查找(导致丢包)。

对于 PIM,每个 IP 组播流都包含相同的目标地址。无论数据包到达哪个接口,数据包都有相同的路由。设备检查每个数据包到达的接口,仅对来自主接口的接口进行转发。如果接口与备份流接口匹配,设备将丢弃数据包。如果接口与主接口或备份流接口不匹配,设备将数据包作为控制平面中的例外情况处理。

图 13 显示了此过程,其中为具有 PIM 的路由器提供了主接口示例和备份接口。 图 14 对于具有 PIM 的交换机,也同样显示了这一点。

图 13: 路由器上数据包转发引擎中的 MoFRR IP 路由查找路由器上数据包转发引擎中的 MoFRR IP 路由查找
图 14: 交换机上数据包转发引擎中的 MoFRR IP 路由处理交换机上数据包转发引擎中的 MoFRR IP 路由处理

对于路由器上具有多点 LDP 的 MoFRR,设备使用多个 MPLS 标签控制 MoFRR 流选择。每个标签代表一个单独的路由,但每个都引用相同的接口列表检查。设备只会转发主标签,然后丢弃所有其他标签。多个接口可以使用相同的标签接收数据包。

图 15 显示了具有多点 LDP 的路由器的此过程。

图 15: 数据包转发引擎中的 MoFRR MPLS 路由查找数据包转发引擎中的 MoFRR MPLS 路由查找

限制和警告

交换和路由设备的 MoFRR 限制和警告

MoFRR 在路由和交换设备上具有以下限制和注意事项:

  • 支持 MoFRR 故障检测,以便立即对启用 MoFRR 的路由设备进行链路保护,而不是组播信息流路径中的所有链路(端到端)上。

  • MoFRR 支持在朝源的两条选定脱节路径上快速重新路由。选择的两个上游邻接方不能位于同一接口上—换句话说,LAN 分段上的两个上游邻接方。如果上游接口恰好是组播隧道接口,情况也是如此。

  • 不支持检测最大端到端脱节上游路径。接收方侧(出口)路由设备仅确保上游设备(即前一跳跃)存在脱节。PIM 和多点 LDP 不支持等同于显式路由对象 (ERO)。因此,脱节的上游路径检测仅限于控制之前的跳跃设备。由于这种限制,可能会共享上一跳跃的上游设备作为主跃点和备份的路径。

  • 在以下情景下,您可能会看到一些流量丢失:

    • 出口设备上将提供更好的上游路径。

    • 当有活动信息流流动时,出口设备上启用或禁用 MoFRR。

  • 不支持 PIM 加入负载平衡以获取备份路径的加入消息。

  • 对于组播组 G,不允许对 (S、G) 和 (*,G) 加入消息使用 MoFRR。(S、G) 加入消息优先级超过 (*,G)。

  • 对于使用两个不同的组播组的组播信息流,不支持 MoFRR。每个 (S、G) 组合都被视为一个独特的组播信息流。

  • MoFRR 不支持双向 PIM 范围。

  • MoFRR 不支持 PIM 密集模式。

  • PIM 不维护备份信息流的组播统计信息,因此在命令的 show 操作输出中不可用。

  • 不支持速率监控。

使用 PIM 的交换设备的 MoFRR 限制

具有 PIM 的 MoFRR 在交换设备上具有以下限制:

  • 如果上游接口是集成路由和桥接 (IRB) 接口,从而影响互联网组管理协议版本 3 (IGMPv3) 侦听等其他组播功能,则不支持 MoFRR。

  • 数据包复制和组播查找,同时转发组播信息流可能导致数据包在 PPE 中多次回流。因此,命令中显示的 show pfe statistics traffic 组播数据包计数值可能会显示输出字段(如 Input packetsOutput packets) 中的数字高于预期。在 MoFRR 情景中,您可能会更频繁地注意到此行为,因为复制主流和备份流会增加一般流量。

使用多点 LDP 的路由设备上的 MoFRR 限制和警告

MoFRR 在使用多点 LDP 时对路由器有以下限制和注意事项:

  • MoFRR 不适用于在 RSVP 隧道上接收的多点 LDP 流量,因为 RSVP 隧道与任何接口无关。

  • 不支持混合上游 MoFRR。这指的是 PIM 多点 LDP 带内信号,其中一条上游路径通过多点 LDP,第二条上游路径通过 PIM。

  • 不支持将多点 LDP 标签作为内部标签。

  • 如果源可以通过多个入口(源端)提供商边缘 (PE) 路由设备到达,则不支持多点 LDP MoFRR。

  • 目标 LDP 上游会话不会被选为 MoFRR 的上游设备。

  • 备份路径上的多点 LDP 链路保护不受支持,因为不支持 MoFRR 内部标签。

配置仅组播快速重新路由

您可配置仅组播快速重新路由 (MoFRR),以最大程度地减少链路故障时网络中的数据包丢失。

当快速重新路由应用于单播流时,上游路由器将预先建立 MPLS 标签交换系列 (LSP), 或预先计算 IP 无环路备选 (LFA) 快速重新路由备份路径,以处理下游路径中的分段故障。

在组播路由中,信息流分配图形通常由接收方发起。这与单播路由不同,单播路由通常会建立从源到接收方的路径。能够建立组播分配图的协议是 PIM(用于 IP)、多点 LDP(用于 MPLS)和 RSVP-TE(用于 MPLS)。其中,PIM 和多点 LDP 接收器启动分配图形设置,因此:

  • 在 QFX 系列中,PIM 域中支持 MoFRR。

  • 在 MX 系列和 SRX 系列中,PIM 和多点 LDP 域支持 MoFRR。

在支持此功能的所有设备上启用 PIM 的 MoFRR 的配置步骤相同,除非另有说明。同时还指示了不适用于多点 LDP MoFRR 的配置步骤。

(仅适用于 MX 系列路由器)使用 MPC 线卡的 MX 系列路由器支持 MoFRR。作为先决条件,路由器中的所有线卡都必须为 MPC。

要在路由器或交换机上配置 MoFRR:

  1. (仅适用于 MX 系列和 SRX 系列路由器)将路由器设置为增强型 IP 模式。
  2. 启用 MoFRR。
  3. (可选)配置路由策略,过滤受 MoFRR 配置影响的受限组播流集。

    您可以应用基于源地址或组地址的过滤器。

    例如:

  4. (可选)如果将路由策略配置为过滤受 MoFRR 配置影响的组播组集,请应用该策略进行 MoFRR 流保护。

    例如:

  5. (可选)在与 MoFRR 的 PIM 域中,允许将 MoFRR 应用于任意源组播 (ASM) (*,G) 加入。

    这不支持多点 LDP MoFRR。

  6. (可选)在与 MoFRR 的 PIM 域中,只能选择一个脱节的 RPF(单独平面上的 RPF)作为备份 RPF 路径。

    这不支持多点 LDP MoFRR。在多点 LDP MoFRR 域中,与同一上游邻接方的并行链路之间共享同一标签。PIM 域中的情况并非如此,其中每个链路都构成邻接方。如果路径与主 RPF 路径的同一上游邻接方,则 mofrr-disjoint-upstream-only 该语句不允许选择备份 RPF 路径。这可确保仅在具有多个 RPF 上游邻接方的拓扑上触发 MoFRR。

  7. (可选)在具有 MoFRR 的 PIM 域中,请避免在备份路径上发送加入消息,但会保留所有其他 MoFRR 功能。

    这不支持多点 LDP MoFRR。

  8. (可选)在具有 MoFRR 的 PIM 域中,允许基于单播路由到源的单播网关选择新主路径选择,并在单播选择发生更改时更改,而不是将备份路径推广为主路径。这样可以确保主 RPF 跃点始终位于最佳路径上。

    当包含语 mofrr-primary-selection-by-routing 句时,当主路径下降时,无法保证备份路径被提升为新的主路径。

    这不支持多点 LDP MoFRR。

示例:在多点 LDP 域中配置仅组播快速重新路由

此示例说明如何配置仅组播快速重新路由 (MoFRR),以最大程度地减少链路故障时网络中的数据包丢失。

多点 LDP MoFRR 用于 MPLS 网络的出口节点,数据包将转发至 IP 网络。对于多点 LDP MoFRR,将建立面向上游提供商边缘 (PE) 路由器的两个路径,用于在标签边缘路由器 (LER) 接收两个 MPLS 数据包流。其中一个流(主流)被接受,另一个(备份)丢弃在 LER 上。如果主路径发生故障,将接受备份流。

要求

配置此示例之前,无需设备初始化以外的特殊配置。

在多点 LDP 域中,要使 MoFRR 工作,只有出口 PE 路由器才需要启用 MoFRR。其他路由器不需要支持 MoFRR。

使用 MPC 线卡的 MX 系列平台支持 MoFRR。作为先决条件,路由器必须设置为 network-services enhanced-ip 模式,平台中的所有线卡都必须为 MPC。

此示例需要出口 PE 路由器上的 Junos OS 14.1 或更高版本。

概述

在此示例中,设备 R3 是出口边缘路由器。仅此设备上启用了 MoFRR。

OSPF 用于连接,但是可以使用任何内部网关协议 (IGP) 或静态路由。

为测试目的,路由器用于模拟源和接收器。设备 R4 和设备 R8 配置为使用 set protocols igmp interface interface-name static group group 命令静态加入所需组。如果没有真正的组播接收器主机,如此示例中,此静态 IGMP 配置非常有用。在接收器上,为了让它们听组播组地址,此示例使用 set protocols sap listen group

MoFRR 配置包括一个策略选项,此示例中未显示,但会单独解释。选项配置如下:

拓扑

图 16 显示了示例网络。

图 16: 多点 LDP 域中的 MoFRR多点 LDP 域中的 MoFRR

CLI 快速配置 显示了 中所有设备 图 16的配置。

本节 配置 介绍设备 R3 上的步骤。

CLI 快速配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。

设备 src1

设备 src2

设备 R1

设备 R2

设备 R3

设备 R4

设备 R5

设备 R6

设备 R7

设备 R8

配置

程序

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 Junos OS CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备 R3:

  1. 启用增强型 IP 模式。

  2. 配置设备接口。

  3. 配置自治系统 (AS) 编号。

  4. 配置路由策略。

  5. 配置 PIM。

  6. 配置 LDP。

  7. 配置 IGP 或静态路由。

  8. 配置内部 BGP。

  9. 配置 MPLS,可选为 RSVP。

  10. 启用 MoFRR。

结果

在配置模式下,输入 show chassisshow interfacesshow protocolsshow policy-optionsshow routing-options 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

如果完成设备配置,请在配置模式下输入 commit

验证

确认配置工作正常。

检查 LDP 点对多点转发同等类

目的

确保 MoFRR 已启用,并确定正在使用哪些标签。

行动
意义

输出显示 MoFRR 已启用,并且显示标签301568和 301600 用于两个多点 LDP 点到多点 LSP。

检查标签信息

目的

确保出口设备具有两个用于组播组加入的上游接口。

行动
意义

输出显示主要上游路径和备份上游路径。它还显示了 RPF 下一跳跃。

检查组播路由

目的

检查 IP 组播转发表,确保有上游 RPF 接口列表(带有主接口和备份接口)。

行动
意义

输出显示主会话和备份会话以及 RPF 下一跳跃。

检查 LDP 点到多点流量统计信息

目的

确保列出主要和备份统计信息。

行动
意义

输出显示带有标签的主路由和备份路由。

示例:按需配置 LDP 下游

此示例说明如何按需配置下游 LDP 。LDP 通常使用下游未经请求的广告模式配置,这意味着所有路由的标签通告均从所有 LDP 对等方接收。随着服务提供商将接入和聚合网络集成到单个 MPLS 域中,则需要 LDP 按需向下分配接入和聚合网络之间的绑定,并降低控制平面的处理要求。

下游节点可能会从上游聚合节点接收数以万计的标签绑定。下游聚合节点无需学习和存储整个 MPLS 网络中所有可能的环路地址的所有标签绑定,而是可以按需使用 LDP 下游配置,仅要求对应于其已配置服务的出口节点的环路地址的 FEC 的标签绑定。

要求

此示例使用以下硬件和软件组件:

  • M 系列路由器

  • Junos OS 12.2

概述

您可以在层次结构级别中包含 下游按需 语句 [edit protocols ldp session] ,从而为 LDP 会话启用下游按需标签通告。如果您已按需配置下游,则瞻博网络路由器会按需向其对等路由器播发下游按需请求。要在两台路由器之间建立下游按需会话,必须在 LDP 会话建立期间播发下游按需模式。如果一个路由器播发下游未经请求的模式,另一个路由器按需向下游播发,则使用下游未经请求的模式。

配置

按需配置 LDP 下游

逐步过程

要按需配置下行 LDP 策略,然后在 LDP 会话上配置该策略并使 LDP 下游按需进行:

  1. 配置下游按需策略(本示例中的 DOD-Request-Loops)。

    此策略会使路由器仅将标签请求消息转发至符合 DOD-Request-Loops 策略匹配的 FEC。

  2. 使用 dod-request-policy 层次结构级别的语句 [edit protocols ldp] 指定 DOD-Request-Loopbacks 策略。

    语句中指定的 dod-request-policy 策略用于识别发送标签请求消息的前缀。此策略类似于出口策略或导入策略。在处理 inet.0 路由表中的路由时,Junos OS 软件会检查与策略匹配的 DOD-Request-Loopbacks 路由(在此示例中)。如果路由与策略匹配,并且 LDP 会话与 DOD 广告模式协商,则标签请求消息将发送至相应的下游 LDP 会话。

  3. downstream-on-demand在 LDP 会话的配置中包括语句,以启用下游按需分配模式。

按需分配 LDP 按需路由到标记为 BGP 的

逐步过程

要按需将 LDP 按需路由分配到标记为 BGP 的中,请使用 BGP 导出策略。

  1. 配置 LDP 路由策略(redistribute_ldp 在此示例中)。

  2. 在 BGP 配置中包括 LDP 路由策略 redistribute_ldp (作为此示例中 BGP 组配置 ebgp-to-abr 的一部分)。

    BGP 根据 redistribute_ldp 策略将 LDP 路由转发至远程 PE 路由器

逐步过程

要将标签传播限制到在下游未经请求模式下配置的其他路由器(而不是按需下游),请配置以下策略:

  1. 配置策略 dod-routes 以接受来自 LDP 的路由。

  2. 将策略 do-not-propagate-du-sessions 配置为不会将路由转发给邻接方 1.1.1.12.2.2.23.3.3.3

  3. 配置策略 filter-dod-on-du-sessions 以防止策略检查的路由 dod-routes 转发至策略中 do-not-propagate-du-sessions 定义的邻接路由器。

  4. 指定该 filter-dod-routes-on-du-sesssion 策略作为 BGP broup 的 ebgp-to-abr出口政策。

结果

在配置模式下,输入 show policy-optionsshow protocols ldp 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

验证标签广告模式

目的

确认配置工作正常。

show ldp session使用 命令验证 LDP 会话的标签通告模式的状态。

行动

show ldp session发出 和show ldp session detail命令:

  • 命令的 show ldp session 以下命令输出表示 Adv. Mode (标签通告模式) DOD (表示 LDP 下游按需会话可操作):

  • 命令的 show ldp session detail 以下命令输出表示 Local Label Advertisement mode , 是 Downstream unsolicited, 默认值(即不在本地会话上按需配置下游)。反之,Remote Label Advertisement mode这两Negotiated Label Advertisement modeDownstream on demand个表示在远程会话上配置的

配置 LDP 本机 IPv6 支持

LDP 仅在 IPv6 网络中受支持,在 IPv6 或 IPv4 双堆栈网络中受支持,如 RFC 7552 中所述。将地址族 inet 配置为 IPv4 或 inet6 IPv6 或两者兼而有之,传输首选项为 任一 IPv4IPv6。该 dual-transport 语句允许 Junos OS LDP 与 IPv4 邻接方建立 IPv4 上的 TCP 连接,通过 IPv6 与 IPv6 邻接方作为单堆栈 LSR 建立连接。inet6-lsr-idinet-lsr-id ID 是必须配置为建立 IPv4 和 IPv6 TCP 传输 LDP 会话的两个 LSR ID。这两个 ID 应为非零,并且必须使用不同的值配置。

将 IPv6 配置为双堆栈之前,请确保配置路由和信号协议。

要配置 LDP 本机 IPv6 支持,必须执行以下操作:

  1. 启用转发同等类 (FEC) 解聚,以便为不同地址族使用不同的标签。
  2. 配置 LDP 地址族。
  3. 启用 IPv4 和 IPv6 时, transport-preference 配置语句以选择 TCP 连接的首选传输。默认情况下,IPv6 用作建立 LDP 连接的 TCP 传输。
  4. (可选)配置双传输,允许 LDP 与 IPv4 邻接方建立单独的 IPv4 会话,以及与 IPv6 邻接方的 IPv6 会话。配置 inet-lsr-id 为 IPv4 的 LSR ID,并 inet6-lsr-id 配置为 IPv6 的 LSR ID。

    例如,将 inet-lsr-id 配置为 10.255.0.1,将 inet6-lsr-id 配置为 10.1.1.1.1。

示例:配置 LDP 本机 IPv6 支持

此示例说明如何允许 Junos OS 标签分发协议 (LDP) 与 IPv4 邻接方建立 IPv4 上的 TCP 连接,以及通过 IPv6 与 IPv6 邻接方作为单堆栈 LSR 的 IPv6 连接。这有助于避免使用 IPv4 信号 MPLS 标签交换系列 (LSP) 通过 IPv4 MPLS 核心实现 IPv6 隧道传输。

要求

此示例使用以下硬件和软件组件:

  • 两台 MX 系列路由器

  • 所有设备上运行的 Junos OS 16.1 或更高版本

将 IPv6 配置为双堆栈之前,请确保配置路由和信号协议。

概述

LDP 仅在 IPv6 网络中受支持,在 IPv6 或 IPv4 双堆栈网络中受支持,如 RFC 7552 中所述。将地址族 inet 配置为 IPv4 或 inet6 IPv6。默认情况下,启用 IPv4 和 IPv6 时,IPv6 会用作 LDP 会话与其对等方的 TCP 传输。双传输语句允许 Junos LDP 与 IPv4 邻接方建立 IPv4 上的 TCP 连接,通过 IPv6 与 IPv6 邻接方作为单堆栈 LSR 建立 TCP 连接。inet6-lsr-id这两个 LSR ID 必须配置为建立基于 IPv4 和 IPv6 TCP 传输的 LDP 会话,以及inet-lsr-id它们。这两个 ID 应为非零,并且必须使用不同的值配置。

拓扑

图 17 显示了在设备 R1 和设备 R2 上配置为双堆栈的 LDP IPv6。

图 17: LDP 本机 IPv6 支持示例 LDP 本机 IPv6 支持示例

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,将命令复制并粘贴到层级的 CLI 中 [edit] ,然后从配置模式进入 commit

R1

R2

配置 R1

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 Junos OS CLI 用户指南中的“ Using the CLI Editor in Configuration Mode ”。

要配置设备 R1:

  1. 配置接口。

  2. 为设备分配环路地址。

  3. 配置 IS-IS 接口。

  4. 配置 MPLS 以在设备上使用 LDP 接口。

  5. 启用转发同等类 (FEC) 解聚,以便为不同地址族使用不同的标签。

  6. 配置 LDP 地址族。

结果

在配置模式下,输入 show interfacesshow protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

配置传输优先级以选择首选传输

CLI 快速配置
逐步过程

启用 IPv4 和 IPv6 时, transport-preference 您可以配置语句以选择 TCP 连接的首选传输。默认情况下,IPv6 用作建立 LDP 连接的 TCP 传输。

  • (可选)配置 LDP 连接的传输优先级。

逐步过程
结果

在配置模式下,输入 show protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

配置双传输以使用 IPv4 邻接方和 IPv6 邻接方为 IPv4 建立单独会话

逐步过程

您可以将语 dual-transport 句配置为允许 LDP 与 IPv4 邻接方建立单独的 IPv4 会话,以及与 IPv6 邻接方的 IPv6 会话。这就需要将配置为 IPv4 的 inet-lsr-id LSR ID,并 inet6-lsr-id 作为 IPv6 的 LSR ID。

  • (可选)配置双传输,允许 LDP 与 IPv4 邻接方建立 IPv4 上的 TCP 连接,通过 IPv6 与 IPv6 邻接方作为单堆栈 LSR 建立连接。

结果

在配置模式下,输入 show protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证 mpls.0 表中的路由条目
目的

显示 mpls.0 路由表信息。

行动

在设备 R1 上,在操作模式下,运行 show route table mpls.0 命令以显示 mpls.0 路由表信息。

意义

输出显示 mpls.0 路由表信息。

验证 inet.3 表中的路由条目
目的

显示 inet.3 路由表信息。

行动

在设备 R1 上,在操作模式下,运行 show route table inet.3 命令以显示 inet.3 路由表信息。

意义

输出显示 inet.3 路由表信息。

验证 inet6.3 表中的路由条目
目的

显示 inet6.3 路由表信息。

行动

在设备 R1 上,在操作模式下,运行 show route table inet6.3 命令以显示 inet6.3 路由表信息。

意义

输出显示 inet6.3 路由表信息。

验证 LDP 数据库
目的

显示 LDP 数据库信息。

行动

在设备 R1 上,在操作模式下 show ldp database 运行 命令以显示 LDP 数据库信息。

意义

输出显示 LDP 数据库中的条目。

验证 LDP 邻接方信息
目的

显示 LDP 邻接方信息。

行动

在设备 R1 上,在操作模式下运行 show ldp neighborshow ldp neighbor extensive 命令以显示 LDP 邻接方信息。

意义

输出显示 IPv4 和 IPv6 地址的 LDP 邻接方信息。

验证 LDP 会话信息
目的

显示 LDP 会话信息。

行动

在设备 R1 上,在操作模式下运行 show ldp sessionshow ldp session extensive 命令以显示 LDP 会话信息。

意义

输出显示使用 IPv6 作为 TCP 传输的 LDP 会话的信息。

验证

确认配置工作正常。

验证 LDP 邻接方信息
目的

显示 LDP 邻接方信息。

行动

在设备 R1 上,在操作模式下 show ldp neighbor extensive ,运行 命令以显示 LDP 邻接方信息。

意义

输出显示 IPv4 和 IPv6 地址的 LDP 邻接方信息。

验证 LDP 会话信息
目的

显示 LDP 会话信息。

行动

在设备 R1 上,在操作模式下 show ldp session extensive 运行 命令以显示 LDP 会话信息。

意义

输出显示使用 IPv6 作为 TCP 传输的 LDP 会话的信息。

验证

确认配置工作正常。

验证 LDP 邻接方信息
目的

显示 LDP 邻接方信息。

行动

在设备 R1 上,在操作模式下 show ldp neighbor extensive ,运行 命令以显示 LDP 邻接方信息。

意义

输出显示 IPv4 和 IPv6 地址的 LDP 邻接方信息。

验证 LDP 会话信息
目的

显示 LDP 会话信息。

行动

在设备 R1 上,在操作模式下 show ldp session extensive ,运行 命令以显示 LDP 邻接方信息。

示例:为点对多点 LSP 配置多点 LDP 带内信号

了解点对多点 LSP 的多点 LDP 带内信号

对于带带内信号的点对多点标签交换系列 (LSP) 的多点标签分发协议 (M-LDP)在与现有 IP/MPLS 骨干网(需要承载组播流量)的部署中非常有用,例如 IPTV。

多年来,用于传输组播流量的最广泛解决方案一直是在服务提供商核心和多点 IP 隧道中使用本机 IP 组播来隔离客户流量。组播路由协议(通常是协议无关组播 (PIM))部署以设置转发路径。IP 组播路由用于转发,在核心中使用 PIM 信号。要使此模型发挥作用,核心网络必须启用组播。这样,即使在自治系统 (AS) 间场景中,也可实现有效且稳定的部署。

但是,在现有 IP/MPLS 网络中,部署 PIM 可能不是第一选择。有些服务提供商希望用 MPLS 标签封装取代 IP 隧道。迁移到 MPLS 标签交换的动机是利用 MPLS 流量工程和保护功能,并减少提供商核心中的控制流量开销。

为此,服务提供商有兴趣利用现有部署的扩展来允许组播流量通过。IP/MPLS 的现有组播扩展是针对 RSVP-TE 和点对多点以及 LDP 的多点对多点扩展的点对多点扩展。RFC 6826、 针对点对多点和多点到多点标签交换路径的多点 LDP 带内信号讨论这些部署情景。此功能概述仅限于 LDP 的点对多点扩展。

M-LDP 的工作原理

M-LDP 信令中的标签绑定

对 LDP 的多点扩展使用点对多点和多点到多点转发等效类 (FEC) 元素(在 RFC 5036、 LDP 规范中定义)以及功能通告、标签映射和信令程序。FEC 元素包括 LSP root(一个 IP 地址)和“不透明”值的概念,这是将共享相同不透明值的叶节点分组在一起的选择器。不透明值对中间节点透明,但对 LSP root 有意义。每个 LDP 节点都在最短路径上将本地传入标签绑定通告至在 FEC 中找到的根 IP 地址的最短路径上的上游 LDP 节点。接收标签绑定的上游节点会创建自己的本地标签和传出接口。如果存在多个传出分支,则此标签分配流程可能会导致数据包复制。如 中 图 18所示,如果发现下游节点共享相同的上游节点,则 LDP 节点合并标签绑定以获得相同的不透明值。这允许有效地构建点对多点 LSP 和标签保护。

图 18: M-LDP 信令中的标签绑定M-LDP 信令中的标签绑定
无 PIM MPLS 核心中的 M-LDP

图 19 显示了横向扩展部署场景。两个独立的 PIM 域由无 PIM 核心站点互连。此核心站点中的边界路由器支持边界接口上的 PIM。此外,这些边界路由器会从相邻站点收集并分发到核心网络的路由信息。站点 C 中的边缘路由器运行 BGP 以进行根节点发现。内部网关协议 (IGP) 路由不能用于入口发现,因为在大多数情况下,IGP 提供的下一跳跃转发不会提供有关入口设备朝源方向的信息。M-LDP 带内信号在点对多点 LSP 和 (S,G) 流之间具有一对一映射。通过带内信号发送,PIM 消息将直接转换为 M-LDP FEC 绑定。相比之下,带外信号基于手动配置。M-LDP 带内信令的一个应用程序是在 MPLS 中枢中传 IPTV 组播信息流。

图 19: 无 PIM MPLS 核心中的 M-LDP 拓扑示例无 PIM MPLS 核心中的 M-LDP 拓扑示例
配置

标签边缘路由器 (LER) 上的 配置语句 mldp-inband-signalling 允许 PIM 在 LER 未检测到 PIM 上游邻接方时为上游邻接方使用 M-LDP 带内信号。使用策略,PIM 配置中包含 MPLS LSP root 的静态配置。当核心站点不提供 IBGP 或覆盖基于 IBGP 的 LSP root 检测时,则需要使用此功能。

例如:

支持 PIM 的 MPLS 核心中的 M-LDP

从 Junos OS 14.1 版开始,为了将现有 IPTV 服务从原生 IP 组播迁移到 MPLS 组播,您需要平稳地从 PIM 过渡到 M-LDP 点到多点 LSP,并且尽可能少地中断。 图 20 显示了与 M-LDP 类似的拓扑 图 19结构,但场景却不同。核心通过 PIM 启用,其中一个源流传输所有 IPTV 频道。电视频道作为 ASM 流发送,每个频道均由其组地址标识。以前,这些通道作为 IP 流在核心上传输,并使用 PIM 发出信号。

图 20: 支持 PIM 的 MPLS 核心中的 M-LDP 拓扑示例支持 PIM 的 MPLS 核心中的 M-LDP 拓扑示例

通过在此情景中配置 mldp-inband-signaling ,M-LDP 信号仅在朝源方向没有 PIM 邻接方时启动。但是,由于在出口 PE 的上游接口上停用 PIM 时,源上始终存在 PIM 邻接方,因此 PIM 优先于 M-LDP,而 M-LDP 不会生效。

配置

要通过通道逐步迁移到 M-LDP MPLS 核心,且使用 M-LDP 上游的流很少,使用现有 PIM 上游的其他流,请在策略过滤器中包括 selected-mldp-egress 配置语句以及基于组的过滤器,以用于 M-LDP 带内信令。

注:

M-LDP 带内信号策略过滤器可以包括 source-address-filter 语句或 route-filter 语句,或两者的组合。

例如:

注:

以上配置的某些限制如下:

  • selected-mldp-egress 句仅应在 LER 上配置。在非出口 PIM 路由器上配置 selected-mldp-egress 语句可能导致路径设置故障。

  • 在进行策略更改以将流量从 PIM 上游切换到 M-LDP 时,反之亦然,当在控制平面上执行盈亏机制时,可能会出现数据包丢失。

术语

以下条款对于了解组播信息流的 M-LDP 带内信号非常重要。

点对点 LSP

具有一个入口标签交换路由器 (LSR) 和一个出口 LSR 的 LSP。

多点 LSP

点对多点或多点对多点 LSP。

点对多点 LSP

具有一个入口 LSR 和一个或多个出口 LSR 的 LSP。

多点对点 LSP

具有一个或多个入口 LSR 和一个唯一出口 LSR 的 LSP。

多点到多点 LSP

连接一组节点的 LSP,这样由 LSP 中的任何节点发送的流量将发送至所有其他节点。

入口 LSR

特定 LSP 的入口 LSR 是可沿 LSP 发送数据包的 LSR。多点到多点 LSP 可具有多个入口 LSR。点对多点 LSP 只有一个,该节点通常称为根节点。

出口 LSR

特定 LSP 的出口 LSR 是一种 LSR,可以从该 LSP 中卸下数据包,以便进一步处理。点对点和多点对点 LSP 只有一个出口节点。点对多点和多点对多点 LSP 可具有多个出口节点。

传输 LSR

一种 LSR,可通过直接连接的上游 LSR 和一个或多个直接连接的下游 LSR 到达多点 LSP 的根部。

Bud LSR

一个出口但又有一个或多个直接连接下游 LSR 的 LSR。

叶节点

点对多点 LSP 环境中的出口或萌芽 LSR。在多点到多点 LSP 环境中,LSR 既是同一多点到多点 LSP 的入口,也可以是一个萌芽 LSR。

入口加入转换和伪接口处理

在入口 LER,LDP 通知 PIM 有关通过带内信号接收的 (S,G) 消息。PIM 将每个 (S,G) 消息与伪接口相关联。随后,向源发起最短路径树 (SPT) 加入消息。PIM 将此视为新型本地接收器。当 LSP 被拆下时,PIM 会根据 LDP 的通知卸下此本地接收器。

入口切片

LDP 为 PIM 提供了下一跳跃,以便与每个 (S,G) 条目相关联。PIM 使用 LDP 下一跳跃和其他 PIM 接收器安装 PIM (S、G) 组播路由。下一跳跃是本地接收器的复合下一跳跃 + PIM 下游邻接方列表 + LDP 隧道的子级别下一跳跃。

反向路径转发

PIM 反向路径转发 (RPF) 计算在出口节点执行。

当以下所有条件均属实时,PIM 执行 M-LDP 带内信号:

  • 没有针对源的 PIM 邻接方。

  • 已配置 M-LDP 带内信号语句。

  • 下一跳跃通过 BGP 学习,或存在于静态映射中(在 M-LDP 带内信号策略中指定)。

否则,如果 LSP root 检测失败,PIM 将保留带有未解决 RPF 状态的 (S,G) 条目。

每次单播路由信息更改时,PIM RPF 都会注册此源地址。因此,如果朝源方向的路由发生变化,RPF 重新计算会再次发生。对源的 BGP 协议下一跳跃也会受到 LSP root 更改的监控。此类更改可能会导致短时间流量中断。

LSP 根检测

如果 RPF 操作检测到上游需要 M-LDP 带内信号,将检测到 LSP root(入口)。此 root 是 LDP LSP 信号的参数。

根节点检测到如下:

  1. 如果现有静态配置指定源地址,则根在配置中作为给予。

  2. 在单播路由表中执行查找。如果找到源地址,则会将朝源方向的协议下一跳跃用作 LSP root。

    在 Junos OS 16.1 版之前,M-LDP 点对多点 LSP 使用入口 LSR 的根地址从出口到入口发出信号。此根地址仅可通过 IGP 访问,从而将 M-LDP 点对多点 LSP 限制在单个自治系统中。如果 root 地址无法通过 IGP 到达,但可通过 BGP 访问,并且如果该 BGP 路由通过 MPLS LSP 反复解析,则点对多点 LSP 不会从该点进一步发送至入口 LSR 根地址。

    这些非分段点到多点 LSP 需要跨多个自治系统发出信号,这些自治系统可用于以下应用程序:

    • 带非分段点到多点 LSP 的 AS 间 MVPN。

    • 通过 MPLS 核心网络连接的客户端网络之间的 AS 间 M-LDP 带内信号。

    • 带非分段点到多点 LSP 的区域间 MVPN 或 M-LDP 带内信号(无缝 MPLS 组播)。

    从 Junos OS 版本 16.1 开始,当 root 地址是通过 MPLS LSP 进一步递解的 BGP 路由时,M-LDP 可以在 ASBR 或中继或出口发出点对多点 LSP 信号。

出口加入转换和伪接口处理

在出口 LER,PIM 通知 LDP (S,G) 消息与 LSP root 一起发送。PIM 将伪接口创建为此 (S,G) 消息的上游接口。收到 (S,G) 删除消息时,此关联将被移除。

出口切片

在核心网络的出口节点,接收来自下游站点的 (S,G) 加入消息,此加入消息将转换为 M-LDP 带内信号参数,并将 LDP 通知。此外,当 (S、G) 条目丢失、LSP root 发生变化或 (S,G) 条目可通过 PIM 邻接方到达时,将发生 LSP 断开。

支持的功能

对于 M-LDP 带内信号,Junos OS 支持以下功能:

  • PIM 下一跃点与 LDP 路由的出口接口接口

  • PIM 路由与 LDP 下一跳跃的入口接口接口

  • 将 PIM 加入消息转换为 LDP 点到多点 LSP 设置参数

  • 用于设置 PIM 加入消息的 M-LDP 带内 LSP 参数的转换

  • 静态配置和 BGP 协议基于下一跳跃的 LSP root 检测

  • PIM 源特定组播 (SSM) 和任何源多播 (ASM) 范围内的 PIM (S,G) 状态

  • 入口和出口 LER 上的配置语句,使其可用作边缘路由器

  • IGMP 在 LER 上加入消息

  • 将 IPv6 源和组地址作为不透明信息传递到 IPv4 根节点

  • 将 IPv6 (S,G) 映射到 IPv4 root 地址的静态配置

不受支持的功能

对于 M-LDP 带内信号,Junos OS 支持以下功能:

  • 完全支持 PIM ASM

  • 具有 mpls lsp point-to-multipoint ping (S,G) 选项的命令

  • 不间断活动路由 (NSR)

  • PIM 的先决断前 (MBB)

  • IPv6 LSP root 地址(LDP 不支持 IPv6 LSP。)

  • 未直接连接的 PIM 发送方之间的邻接关系

  • 平滑重启

  • PIM 密集模式

  • PIM 双向模式

LDP 功能

PIM (S、G) 信息作为 M-LDP 不透明类型长度值 (TLV) 编码承载。点对多点 FEC 元素由根节点地址构成。对于下一代组播 VPN (NGEN MVPN),点对多点 LSP 由根节点地址和 LSP ID 标识。

出口 LER 功能

在出口 LER 上,PIM 使用以下信息触发 LDP 以创建点对多点 LSP:

  • 根节点

  • (S、G)

  • 下一跳跃

PIM 根据组播树的来源找到根节点。如果为此 (S,G) 条目配置了 root 地址,则配置的地址将用作点对多点 LSP root。否则,路由表将用于查找到源的路由。如果组播树源的路由是 BGP 获知的路由,则 PIM 检索 BGP 下一跳跃地址并将其用作点对多点 LSP 的根节点。

LDP 根据根节点查找上游节点,分配标签,并将标签映射发送至上游节点。LDP 不会使用倒数第二跳弹出 (PHP) 来执行带内 M-LDP 信令。

如果组播树源的根地址发生变化,PIM 将删除点对多点 LSP 并触发 LDP 以创建新的点对多点 LSP。发生这种情况时,传出接口列表将成为 NULL,PIM 将触发 LDP 删除点对多点 LSP,而 LDP 会向上游节点发送标签提取消息。

传输 LSR 功能

传输 LSR 将标签通告至上游 LSR 朝向点对多点 FEC 的来源,并安装必要的转发状态以转发数据包。传输 LSR 可以是任何支持 M-LDP 的路由器。

入口 LER 功能

在入口 LER 上,LDP 在收到标签映射后向 PIM 提供以下信息:

  • (S、G)

  • 下一跃点泛滥

然后 PIM 将安装转发状态。如果添加或删除了新分支机构,下一跳跃泛滥将相应更新。如果所有分支机构因标签被撤销而被删除,则 LDP 会向 PIM 发送更新的信息。如果上游邻接方和下游邻接方之间存在多个链路,则点对多点 LSP 的负载不会均衡。

示例:为点对多点 LSP 配置多点 LDP 带内信号

此示例说明如何将多点 LDP (M-LDP) 带内信号配置为组播信息流,作为协议无关组播 (PIM) 协议的扩展或 PIM 的替代。

要求

此示例可使用以下硬件和软件组件配置:

  • Junos OS 版本 13.2 或更高版本

  • 适用于提供商边缘 (PE) 路由器的 MX 系列 5G 通用路由平台或 M 系列多服务边缘路由器

  • 作为传输标签交换路由器的 PTX 系列数据包传输路由器

  • 核心路由器的 T 系列核心路由器

注:

PE 路由器也可以是 T 系列核心路由器,但并非典型。根据您的扩展需求,核心路由器也可以是 MX 系列 5G 通用路由平台或 M 系列多服务边缘路由器。客户边缘 (CE) 设备可能是来自瞻博网络或其他供应商的其他路由器或交换机。

配置此示例之前,无需设备初始化以外的特殊配置。

概述

CLI 快速配置 显示了 中所有设备 图 21的配置。本节 #d158e60__d158e615 介绍设备出口PE 上的步骤。

图 21: 用于点对多点 LSP 示例拓扑的 M-LDP 带内信号用于点对多点 LSP 示例拓扑的 M-LDP 带内信号

配置

程序
CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。

设备 src1

设备入口PE

设备出口PE

设备 p6

设备 pr3

设备 pr4

设备 pr5

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备出口PE:

  1. 配置接口。

    在面向核心的接口上启用 MPLS。在出口下一跃点上,您不需要启用 MPLS。

  2. 在出口接口上配置 IGMP。

    此示例包括静态组和源地址,用于测试目的。

  3. 在面向核心的接口上配置 MPLS。

  4. 配置 BGP。

    BGP 是一种策略驱动的协议,因此配置和应用任何必要的路由策略。

    例如,您可能需要将静态路由导出到 BGP 中。

  5. (可选)配置与设备 pr5 的 MSDP 对等连接,以便互连不同的 PIM 域,从而启用冗余 RP。

  6. 配置 OSPF。

  7. 在面向核心的接口和回传接口上配置 LDP。

  8. 启用点对多点 MPLS LSP。

  9. 在下游接口上配置 PIM。

  10. 配置 RP 设置,因为此设备用作 PIM 汇聚点 (RP)。

  11. 启用 M-LDP 带内信号并设置相关策略。

  12. 配置路由策略,指定点对多点 LSP 和相关源地址的根地址。

  13. 配置自治系统 (AS) ID。

结果

在配置模式下,输入 show interfacesshow protocolsshow policy-optionsshow routing-options 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

设备出口PE

同样,配置其他出口设备。

如果完成设备配置,请从配置模式进入 commit

验证

确认配置工作正常。

检查 PIM 加入状态
目的

显示有关 PIM 加入状态的信息,以验证 M-LDP 带内上游和下游详细信息。在入口设备上 show pim join extensive ,命令显示 Pseudo-MLDP 为下游接口。在出口上 show pim join extensive ,命令显示 Pseudo-MLDP 为上游接口。

行动

在操作模式下,输入 show pim join extensive 命令。

检查 PIM 源
目的

验证 PIM 源是否具有预期的 M-LDP 带内上游和下游详细信息。

行动

在操作模式下,输入 show pim source 命令。

检查 LDP 数据库
目的

请确保命令 show ldp database 显示预期的 root to(S,G) 绑定。

行动
查找 MPLS 标签的路由信息
目的

显示点对多点 FEC 信息。

行动
检查 LDP 流量统计信息
目的

监控点对多点 LSP 的数据流量统计信息。

行动

LDP 映射服务器,实现分段路由与 LDP 的互操作性概述

在逐步部署分段路由的 LDP 网络中,可能存在仅支持 LDP 或仅支持分段路由的设备孤岛。要使设备互连,需要在分段路由网络中的任何设备上配置 LDP 映射服务器功能。

LDP 映射服务器功能使用 OSPF 或 ISIS 实施。

使用 OSPF 分段路由与 LDP 的互操作性

为使用 OSPF 实现分段路由与 LDP 的互操作性,在 inet.3 和 mpls.0 路由表中安装了具有所有 LDP 前缀范围、长度和值 (TLV) 的扩展前缀链路状态通告 (LSA),并映射与前缀对应的路由。

图 22 是一个简单的 LDP 网络拓扑,用于说明使用 OSPF 的分段路由设备与 LDP 设备的互操作性。该拓扑具有六个设备(带 LDP 到分段路由迁移的设备 R1、R2、R3、R4、R5 和 R6)。

图 22: 使用 OSPF 实现分段路由与 LDP 互操作性的 LDP 拓扑示例使用 OSPF 实现分段路由与 LDP 互操作性的 LDP 拓扑示例

在上述拓扑中,设备 R1、R2 和 R3 仅支持分段路由,设备 R5 和 R6 仅支持 LDP,而设备 R4 支持 LDP 和分段路由。在此处,由于互操作性问题,设备 R1 无法与设备 R6 互操作。

为了在具有 LDP 功能的设备和分段路由设备之间实现互操作性,分段路由网段中设备的任何一个接口均配置为 LDP 映射服务器。目前,映射服务器在层次结构级别下 [edit routing-options source-packet-routing] 配置前缀。借助此功能,如果在层次结构级别下 [edit protocols ospf] 应用,则 LDP 映射服务器配置,其中 OSPF 通告具有所有 LDP 前缀范围 TLV 的全新扩展前缀 LSA。在 inet.3 和 mpls.0 路由表中安装了能够分段路由的设备分析扩展前缀范围 TLV 并映射对应于前缀的路由。

例如,如果 图 22设备 R2(分段路由网络中的)是 LDP 映射服务器,则包括以下配置:

注:

用作的 start-prefix IP 地址是 LDP 网络中的设备的环路地址(本示例中为设备 R5)。

在设备 R2 上提交 LDP 映射服务器配置时,扩展前缀范围 TLV 将在整个 OSPF 区域泛滥。能够分段路由(设备 R1、R2 和 R3)的设备将安装带分段 ID (SID) 索引的指定环路地址的 OSPF 分段路由路由。分段路由设备还在 mpls.0 路由表中更新了 SID 索引。

从 Junos OS 19.1R1 版开始,分段路由-LDP 边界路由器可以将分段路由流量拼接到 LDP 下一跃点,反之亦然。

Unsupported Features and Functionality for Interoperability of Segment Routing with LDP using OSPF

  • 仅在源配置中检测到前缀冲突。出现前缀范围冲突时,来自较低路由器 ID 的前缀 SID 将占上风。在这种情况下,会生成一条系统日志错误消息RPD_OSPF_PFX_SID_RANGE_CONFLICT

  • 不支持 IPv6 前缀。

  • 不支持分段路由映射服务器为自治系统 (AS) 生成的 OSPF 扩展前缀不透明 LSA 泛洪。

  • 不支持区域间 LDP 映射服务器功能。

  • 不支持扩展前缀不透明 LSA 的 ABR 功能。

  • 不支持扩展前缀不透明 LSA 的 ASBR 功能。

  • 不支持分段路由映射服务器首选项 TLV。

使用 ISIS 分段路由与 LDP 的互操作性

要使用 ISIS 实施分段路由与 LDP 的互操作性,需要根据协议 ISIS 和 LDP 分别进行服务器客户端配置,而 inet.3 或 inet.0 路由表的路由用于拼接带 LDP LSP 的分段路由 LSP,反之亦然。

图 23 是一个简单的 LDP 网络拓扑,用于使用 LDP 映射服务器-客户端功能演示分段路由设备与 LDP 设备的互操作性。拓扑有四个提供商边缘 (PE) 设备(设备 PE1、PE2、PE3 和 PE4)和四个提供商 (P) 设备(设备 P5、P6、P7 和 P8)。

图 23: 使用 ISIS 实现分段路由与 LDP 互操作性的 LDP 拓扑示例使用 ISIS 实现分段路由与 LDP 互操作性的 LDP 拓扑示例

设备 PE3、PE4、P6、P7 和 P8 是支持 LDP 的设备。设备 PE1、PE2、P5 和 P6 能够分段路由,分段路由全局块 (SRGB) 值分别为 100 和 200,节点分段 ID (SID) 值分别为 101、102、105 和 106。

要使服务流使用连续 MPLS 隧道对设备 PE3 和设备 PE1 进行隧道传输,支持分段路由和 LDP 的设备孤岛必须互操作。

LDP Mapping Client Functionality (LDP to Segment Routing)

LDP 客户端功能是 LDP 到分段的路由映射,即从右到左的信息流。图 23在设备 P6 上,LDP 出口策略配置为通告左侧分段路由网络中的所有节点 SID 和前缀 SID。因此,在设备 P6 上,LDP 将设备 PE1、PE2 和 P5 播发为与设备 P7 的出口 FEC 标签绑定。

设备 PE3 已学习到将设备 PE1 作为协议下一跳跃的服务路由。设备 PE3 在 PE1 FEC 的 P8 下一跳跃带有 LDP 标签绑定。因此,设备 PE3 会根据典型的 LDP 行为将其服务数据包发送至设备 P8。设备 P8 的 P7 下一跳跃带有一个 LDP 标签绑定,用于 PE1 FEC,因此设备 P8 会根据典型的 LDP 行为转发至设备 P7。

设备 P7 有一个 LDP 标签绑定从其 P6 下一跃点 PE1 FEC,因此,设备 P7 转发到设备 P6,根据典型的 LDP 行为。

设备 P6 作为 PE1 FEC 的 LDP 出口,用等效分段路由节点 SID(此示例中的 101)拼接并交换 PE1 FEC 的传入出口 LDP 标签,以将信息流转发至设备 P5。

设备 P5 弹出 101 SID,假设设备 PE1 使用倒数第二个弹出标记设置播发其节点 101,然后将流量转发至设备 PE1。设备 PE1 收发隧道数据包并处理服务标签。

因此,端到端 MPLS 隧道由从设备 PE3 到设备 P6 的 LDP LSP 以及从设备 P6 到设备 PE1 的相关节点分段构建。

LDP Mapping Server Functionality (Segment Routing to LDP)

LDP 服务器功能是分段路由与 LDP 的映射,即从左到右的信息流。图 23在设备 P6 上,层次结构级别下 [edit routing-options source-packet-routing] 包含映射服务器前缀配置。在特定 IGP 下应用配置时,LDP 网络中所有 LDP FEC 标签绑定的标签绑定类型、长度和值 (TLV) 将播发为 inet.3 LDP 路由。

在此处,设备 P6 充当分段路由映射服务器 (SRMS),并通告以下映射 - (P7、107)、(P8、108)、(PE3、103)、(PE4、104)和 (P7、107)。如果设备 PE3 上支持分段路由,则会在设备 PE3 上配置节点 SID 103。由于设备 PE3 不支持分段路由,因此策略在设备 P6 上的 SRMS 上配置,而设备 P6 负责播发映射。

这些映射服务器通告仅由分段路由设备理解。分段路由设备在 MPLS 数据平面上安装相关节点 SID,正好说明节点本身是如何通告节点分段的。例如,设备 PE1 使用 P5 下一跳跃安装节点 SID 103,与设备 PE3 播发 SID 103 一模一样。

设备 PE1 具有以 PE3 作为其协议下一跳跃的服务路由。设备 PE1 具有用于该 IGP 路由的节点段 – 带 P5 下一跳跃的 103 分段。因此,设备 PE1 会将其服务数据包发送至带有两个标签的设备 P5, 底部标签(即服务标签)和顶部标签(即 SID 103)。设备 P5 将 103 交换为 103 并转发至设备 P6。设备 P6 的下一跳跃是 IGP 路由 PE3,它无法进行分段路由。(设备 P7 不通告分段路由功能)。但是,设备 P6 具有同一 FEC 下一跳跃的 LDP 标签绑定(例如 LDP 标签 1037)。因此,在设备 P6 上,IGP 会将 103 交换为 1037,然后转发至设备 P7。

设备 P7 将此标签更换为从设备 P8 接收到的 LDP 标签,然后转发至设备 P8。LDP 标签由设备 P8 弹出,转发至设备 PE3。

设备 PE3 接收通道数据包并处理服务标签。端到端 MPLS 隧道由设备 PE1 到 P6 的分段路由节点以及从设备 P6 到 PE3 的 LDP LSP 构建而来。

Segment Routing to LDP Stitching

当 IGP 分段路由 LSP 的 IP 下一跳不支持分段路由时,IGP 会查看 inet.3 路由表,以查看同一前缀是否有 LDP LSP。如果存在 LDP LSP,IGP 将分段路由 LSP 拼接到 LDP LSP,方法是编程 MPLS 传输路由,将分段路由标签与 LDP 标签交换,以便将流量从分段路由域切换到 LDP 域。

图 24 展示了分段路由和 LDP LSP 的拼接,以实现互操作性。

图 24: 拼接分段路由和 LDP LSP拼接分段路由和 LDP LSP

在拓扑中,设备 PE3 支持 LDP,不支持分段路由。分段路由域中的映射服务器可以通告设备 P7、P8 和 PE4 的标签绑定 TLV。在这种情况下,设备 PE1 可以同时具有前缀 SID 和远程标签绑定 TLV 和 SID 以到达设备 PE4。但是,设备 PE1 倾向于前缀 SID 而不是远程标签绑定 TLV,同时为设备 PE4 编程其入口分段路由路由。因此,设备 PE1 使用分段路由 LSP 端到端将流量发送至设备 PE4,并在将流量发送至设备 PE3 时使用分段路由到 LDP 拼接。

Unsupported Features and Functionality for Interoperability of Segment Routing with LDP using ISIS

  • 不支持用于标签绑定 TLV 的倒数第二跳弹出行为。

  • 不支持在标签绑定 TLV 中播下各种前缀。

  • 不支持分段路由冲突解决。

  • LDP 信息流统计不起作用。

  • 不支持不支持不间断活动路由 (NSR) 和平滑路由引擎切换 (GRES)。

  • 不支持 ISIS 级别间。

  • RFC 7794 不支持 扩展 IPv4 的 IS-IS 前缀属性

  • 不支持将 LDP 路由重新分配为拼接节点的前缀 sid。

配置其他 LDP 属性

以下部分介绍如何配置多个其他 LDP 属性:

配置 LDP 以使用 IGP 路由指标

track-igp-metric如果您希望将内部网关协议 (IGP) 路由指标用于 LDP 路由,而不是默认 LDP 路由指标(默认 LDP 路由指标为 1),请使用该语句。

要使用 IGP 路由指标,请包括以下 track-igp-metric 语句:

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

防止在 inet.0 路由表中添加入口路由

通过配置no-forwarding语句,您可以防止入口路由被添加到 inet.0 路由表中,而非 inet.3 路由表,即使您在[edit protocols mpls][edit logical-systems logical-system-name protocols mpls]层次结构级别启用该traffic-engineering bgp-igp语句也是如此。默认情况下,语 no-forwarding 句禁用。

注:

ACX 系列路由器不支持 [edit logical-systems] 层次结构级别。

要从 inet.0 路由表中省略入口路由,请包括以下 no-forwarding 语句:

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

多实例 LDP 和运营商级 VPN

通过配置多个 LDP 路由实例,您可以使用 LDP 将运营商 VPN 中的标签从服务提供商边缘 (PE) 路由器播发到客户运营商客户边缘 (CE) 路由器。如果运营商客户是基本的互联网服务提供商 (ISP),并希望限制其 PE 路由器的完整互联网路由,这一点特别有用。通过使用 LDP 而不是 BGP,运营商客户将其他内部路由器屏蔽到互联网上。如果运营商客户希望向其客户提供第 2 层或第 3 层 VPN 服务,则多实例 LDP 也很有用。

有关如何为载波至载波 VPN 配置多个 LDP 路由实例的示例,请参阅 标签分发协议用户指南的多个实例

配置 MPLS 和 LDP 以在终极跳跃路由器上弹出标签

默认通告标签为标签 3(隐式空标签)。如果播发标签 3,则倒数第二跳路由器将移除标签并将数据包发送至出口路由器。如果启用了最终跳跃弹出,则播发标签 0(IPv4 显式空标签)。终极跳跃弹出可确保通过 MPLS 网络的任何数据包都包含一个标签。

要配置终极跳跃弹出,请包括以下 explicit-null 语句:

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

注:

瞻博网络路由器基于传入标签的队列数据包。来自其他供应商的路由器可能会以不同的方式排队数据包。与包含来自多家供应商的路由器的网络合作时,请记住这一点。

有关标签的详细信息,请参阅 MPLS 标签概述MPLS 标签分配

通过 RSVP 建立的 LSP 启用 LDP

您可以在 RSVP 建立的 LSP 上运行 LDP,通过 RSVP 建立的 LSP 有效地建立 LDP 建立的 LSP 隧道。为此,请在 lo0.0 接口上启用 LDP(请参阅 启用和禁用 LDP)。您还必须配置希望 LDP 通过在层次结构级别上[edit protocols mpls label-switched-path lsp-name]包括ldp-tunneling语句来操作的 LSP:

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

在异构网络中通过 RSVP 建立的 LSP 启用 LDP

其他一些供应商对环路地址使用 OSPF 指标 1。瞻博网络路由器对环路地址使用 OSPF 指标 0。这可能要求您在异构网络中通过 RSVP LSP 部署 LDP 隧道时手动配置 RSVP 指标。

如果瞻博网络路由器通过 RSVP 隧道连接到另一家供应商的路由器,并且还启用 LDP 隧道,默认情况下,如果 RSVP 路径的指标大于物理 OSPF 路径,则瞻博网络路由器可能不会使用 RSVP 隧道将流量路由到其他供应商出口路由器下游的 LDP 目标。

为了确保 LDP 隧道在异构网络中正常运行,您可以通过包括 ignore-lsp-metrics 语句来配置 OSPF 以忽略 RSVP LSP 指标:

您可以在以下层次结构级别配置此语句:

  • [edit protocols ospf traffic-engineering shortcuts]

  • [edit logical-systems logical-system-name protocols ospf traffic-engineering shortcuts]

注:

ACX 系列路由器不支持 [edit logical-systems] 层次结构级别。

要通过 RSVP LSP 启用 LDP,您还需要完成第一节 通过 RSVP 建立的 LSP 启用 LDP中的过程。

为 LDP 会话配置 TCP MD5 签名

您可以为 LDP TCP 连接配置 MD5 签名,以防止在 LDP 会话连接流中引入欺骗 TCP 分段。

使用 MD5 签名选项的路由器为每个需要认证的对等方配置密码。密码将加密存储。

即使对等接口配置了不同的安全签名,也仍然可以创建 LDP hello 邻接。但是,TCP 会话无法认证,也从未建立。

从 Junos OS 版本 16.1R1 开始,对 LDP 会话的散列消息认证代码 (HMAC) 和 MD5 身份验证的支持将从每个会话配置扩展到子网匹配(即最长前缀匹配)配置。

支持子网匹配身份验证,可以灵活地为自动定向 LDP (TLDP) 会话配置身份验证,从而轻松部署远程无环路备选 (LFA) 和 FEC 129 伪线。

要为 LDP TCP 连接配置 MD5 签名,请包括 session-groupauthentication-key 语句:

使用 语 session-group 句配置 LDP 会话远程端的地址。

md5-authentication-key 密码)最长可达 69 个字符。字符可以包含任何 ASCII 字符串。如果包含空格,请用引号将所有字符括起来。

您还可以为 LDP 路由协议配置认证密钥更新机制。此机制允许您更新身份验证密钥,而不会中断相关路由和信号协议,例如开放最短路径优先 (OSPF) 和资源预留设置协议 (RSVP)。

要配置身份验证密钥更新机制,请在层次结构级别中[edit security authentication-key-chains]包含key-chain语句,然后指定key创建包含多个认证密钥的密钥链的选项。

要配置 LDP 路由协议的身份验证密钥更新机制,请在层次结构级别中[edit protocols ldp]包含authentication-key-chain语句,以便将协议与[edit security authentication-key-chains]认证密钥相关联。您还必须通过将语句和层次结构级别包括 authentication-algorithm algorithm 在内 [edit protocols ldp] 来配置认证算法。

有关身份验证密钥更新功能的详细信息,请参阅 为 BGP 和 LDP 路由协议配置身份验证密钥更新机制

配置 LDP 会话保护

LDP 会话通常通过一个或多个链路连接的一对路由器之间创建。路由器为连接它们并将所有邻接关系与相应的 LDP 会话关联的每个链路组成一个 hello 邻接关系。当 LDP 会话的最后一次邻接关系消失时,LDP 会话终止。您可能需要修改此行为,以防止 LDP 会话被不必要地终止和重新建立。

您可以配置 Junos OS 以使两个路由器之间的 LDP 会话恢复开启,即使通过配置 session-protection 语句来连接两个路由器的链路上没有 hello 邻接关系。您可以选择使用 timeout 选项在几秒钟内指定一个时间。只要路由器保持 IP 网络连接,会话在指定的持续时间内保持正常运行。

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

禁用 LDP 的 SNMP 陷阱

每当 LDP LSP 从上至下或向下过渡时,路由器都会发送 SNMP 陷阱。但是,可以禁用路由器、逻辑系统或路由实例上的 LDP SNMP 陷阱。

有关 LDP SNMP 陷阱和专有 LDP MIB 的信息,请参阅 SNMP MIB Explorer。。

要禁用 LDP 的 SNMP 陷阱,请指定 trap disable 语句的 log-updown 选项:

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

在 LDP 链路上配置 LDP 与 IGP 同步

LDP 是一种协议,用于在非流量工程应用程序中分发标签。标签沿由 IGP 确定的最佳路径分发。如果不维护 LDP 和 IGP 之间的同步,LSP 将关闭。当给定链路的 LDP 未完全运行(未建立会话且未交换标签)时,IGP 将通告具有最大成本指标的链路。该链路并非首选,而是保留在网络拓扑中。

LDP 同步仅在 IGP 下配置为点对点的活动点对点接口和 LAN 接口上受支持。平滑重新启动期间不支持 LDP 同步。

要通告最大成本指标,直至 LDP 运行以实现同步,请包括以下 ldp-synchronization 语句:

要禁用同步,请包括语 disable 句。要配置为未完全运行的链路通告最大成本指标的时间段,请包括该 hold-time 语句。

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

配置 LDP 与路由器上的 IGP 同步

您可以配置 LDP 等待的时间,然后通知 IGP 接口的 LDP 邻接方和会话正在运行。对于拥有众多 FEC 的大型网络,可能需要配置更长的值,以便有足够的时间来交换 LDP 标签数据库。

要配置 LDP 等待时间,然后再通知 IGP LDP 邻接方和会话正在运行,请包括 igp-synchronization 该语句并在几秒钟内指定 holddown-interval 选项的时间:

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

配置标签提取计时器

标签取款计时器延迟将 FEC 的标签取款消息发送至邻接方。当与邻接方的 IGP 链路发生故障时,如果邻接方是 FEC 的下一跳跃,则与 FEC 关联的标签必须从所有上游路由器中提取。从新的下一跳跃接收 IGP 融合并接收标签之后,标签将重新调整到所有上游路由器。这是典型的网络行为。通过将标签提取延迟少量时间(例如,直到 IGP 融合,路由器从下游下一跃点接收到 FEC 的新标签),可以很快避免标签提取和发送标签映射。该 label-withdrawal-delay 语句允许您配置此延迟时间。默认情况下,延迟为 60 秒。

如果路由器在计时器用完之前收到新标签,则标签提取计时器将被取消。但是,如果计时器用完,FEC 的标签将从所有上游路由器中提取。

默认情况下,LDP 会等待 60 秒,然后再提取标签,以避免在 IGP 重新融合时多次出现 LSP 辞职。要在数秒内配置标签取款延迟时间,请包括以下 label-withdrawal-delay 语句:

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

忽略 LDP 子网检查

在 Junos OS 版本 8.4 和更高版本中,在邻接方建立过程中会执行 LDP 源地址子网检查。LDP 链路 hello 数据包中的源地址与接口地址匹配。这会导致与其他一些供应商的设备的互操作性问题。

要禁用子网检查,请包括语 allow-subnet-mismatch 句:

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

  • [edit protocols ldp interface interface-name]

  • [edit logical-systems logical-system-name protocols ldp interface interface-name]

注:

ACX 系列路由器不支持 [edit logical-systems] 层次结构级别。

配置 LDP LSP Traceroute

您可以跟踪路由,然后跟踪 LDP 信号 LSP。LDP LSP traceroute 基于 RFC 4379, 检测多协议标签交换 (MPLS) 数据平面故障。此功能允许您定期跟踪 FEC 中的所有路径。FEC 拓扑信息存储在可从 CLI 访问的数据库中。

拓扑更改不会自动触发 LDP LSP 的痕迹。但是,您可以手动发起 traceroute。如果 traceroute 请求是针对当前在数据库中的 FEC,则数据库的内容将随结果一起更新。

定期 traceroute 功能适用于在[edit protocols ldp]层次结构级别上配置的oam语句指定的所有 FEC。要配置定期 LDP LSP traceroute,请包括以下 periodic-traceroute 语句:

您可以在以下层次结构级别配置此语句:

  • [edit protocols ldp oam]

  • [edit protocols ldp oam fec address]

您可以自行或使用以下任一选项配置 periodic-traceroute 语句:

  • exp—指定在发送探测器时要使用的服务等级。

  • fanout—指定每个节点搜索的下一跳跃的最大数量。

  • frequency—指定 traceroute 尝试之间的间隔时间。

  • paths—指定搜索的最大路径数。

  • retries—指定在放弃之前向特定节点发送探测器的尝试数量。

  • source—指定要在发送探测器时使用的 IPv4 源地址。

  • ttl—指定最大上线时间值。不会追踪超出此值的节点。

  • wait—在收到探测数据包之前,请指定等待间隔。

收集 LDP 统计信息

LDP 流量统计信息显示通过路由器上特定 FEC 的流量。

[edit protocols ldp]层级配置traffic-statistics语句时,将定期收集 LDP 信息流统计信息并写入文件中。您可以使用 interval 选项来配置统计信息收集频率(以秒为单位)。默认收集间隔为 5 分钟。您必须配置 LDP 统计文件;否则,将不会收集 LDP 流量统计信息。如果 LSP 下降,则会重置 LDP 统计信息。

要收集 LDP 流量统计信息,请包括 traffic-statistics 以下语句:

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

本节包括以下主题:

LDP 统计信息输出

以下样本输出来自 LDP 统计文件:

LDP 统计文件包含以下数据列:

  • FEC—收集 LDP 信息流统计信息的 FEC。

  • Type— 源自路由器 Ingress 的流量类型(源自此路由器)或 Transit (通过此路由器转发)。

  • Packets—自 LSP 出现以来,FEC 传递的数据包数。

  • Bytes—自 LSP 出现以来,FEC 通过的数据字节数。

  • Shared— 值 Yes 表示多个前缀绑定到同一标签(例如,当多个前缀使用出口策略通告时)。本案例的 LDP 信息流统计信息适用于所有前缀,应将其视为此类信息流统计信息。

  • read—此编号(出现在日期和时间旁边)可能与显示的实际统计信息数不同。部分统计数据在显示之前汇总在一起。

禁用 Penultimate-Hop 路由器上的 LDP 统计信息

收集倒数第二跳路由器的 LDP 流量统计信息会占用过多的系统资源,特别是在下一跳跃路由上。如果除了traffic-statistics语句之外还配置了语句,deaggregate那么这个问题就更加严重了。对于达到下一跳跃路由使用限制的路由器,建议为语traffic-statistics句配置no-penultimate-hop选项:

有关可配置语句的 traffic-statistics 层次结构级别列表,请参阅此语句的语句摘要部分。

注:

配置 no-penultimate-hop 选项时,不会为作为此路由器倒数第二跳跃的 FEC 提供统计信息。

无论何时从配置中包含或移除此选项,LDP 会话都会被撤下,然后重新启动。

以下样本输出来自一个 LDP 统计文件,其中显示了配置选项的 no-penultimate-hop 路由器:

LDP 统计信息限制

以下是通过配置 traffic-statistics 语句收集 LDP 统计信息相关的问题:

  • 您无法清除 LDP 统计信息。

  • 如果缩短指定的时间间隔,则只有在统计计时器在新间隔后到期时,才会发出新的 LDP 统计请求。

  • 新的 LDP 统计信息收集操作要在上一个完成之前才开始。如果间隔时间较短或 LDP 统计信息数量较大,则两个统计信息收集之间的时间间隙可能长于间隔。

当 LSP 下降时,LDP 统计信息将重置。

跟踪 LDP 协议流量

以下部分介绍如何配置追踪选项以检查 LDP 协议流量:

在协议和路由实例级别追踪 LDP 协议流量

要跟踪 LDP 协议信息流,可以在层次结构级别的全局 traceoptions 语句 [edit routing-options] 中指定选项,并且可以通过包括 traceoptions 语句来指定 LDP 特定选项:

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

使用 语 file 句指定接收跟踪操作输出的文件的名称。所有文件都放在目录/var/log 中。建议将 LDP 跟踪输出放入文件 ldp-log中。

以下追踪标志显示与发送和接收各种 LDP 消息相关的操作。每个都可携带以下一个或多个修改器:

  • address-跟踪地址和地址提取消息的操作。

  • binding-跟踪标签绑定操作。

  • error-跟踪错误情况。

  • event—跟踪协议事件。

  • initialization—追踪初始化消息的操作。

  • label—跟踪标签请求、标签映射、标签提取和标签发布消息的操作。

  • notification—跟踪通知消息的操作。

  • packets— 跟踪地址、地址提取、初始化、标签请求、标签映射、标签提取、标签发布、通知和定期消息的操作。此修改器等同于设置 addressinitializationlabelnotificationperiodic 修改器。

    您也可使用旗子filter选项packets配置标记修改器match-on address。这样您就可以根据数据包的来源和目标地址进行跟踪。

  • path-跟踪标签交换系列操作。

  • path-跟踪标签交换系列操作。

  • periodic-追踪您好和激活消息的操作。

  • route—追踪路由消息的操作。

  • state—跟踪协议状态转换。

跟踪 FEC 内的 LDP 协议流量

LDP 将转发同等类 (FEC) 与创建的每个 LSP 相关联。与 LSP 关联的 FEC 指定哪些数据包映射到该 LSP。LSP 通过网络进行扩展,因为每个路由器都会选择下一跳跃为 FEC 播发的标签,并将其拼接到通告给所有其他路由器的标签。

您可以在特定 FEC 中跟踪 LDP 协议信息流,并根据 FEC 过滤 LDP 追踪语句。当您想要追踪或故障排除与 FEC 关联的 LDP 协议流量时,这很有用。以下追踪标志可用于此目的:routepathbinding.

以下示例说明了如何配置 LDP traceoptions 语句以过滤基于 FEC 的 LDP 追踪语句:

此功能具有以下限制:

  • 过滤功能仅适用于由 IP 版本 4 (IPv4) 前缀组成的 FEC。

  • 不能过滤第 2 层电路 FEC。

  • 配置路由跟踪和过滤时,不显示 MPLS 路由(它们被过滤器阻止)。

  • 过滤由策略和选项的配置值 match-on 决定。配置策略时,请确保默认行为始终 reject为 。

  • 唯一 match-on 的选择是 fec. 因此,您应包含的唯一一种策略类型是路由过滤策略。

例子:跟踪 LDP 协议流量

详细追踪 LDP 路径消息:

追踪所有 LDP 传出消息:

跟踪所有 LDP 错误情况:

跟踪所有 LDP 传入消息和所有标签绑定操作:

跟踪与 LSP 关联的 FEC 的 LDP 协议信息流:

发布历史记录表
版本
说明
19.1
从 Junos OS 19.1R1 版开始,分段路由-LDP 边界路由器可以将分段路由流量拼接到 LDP 下一跃点,反之亦然。
16.1R1
从 Junos OS 版本 16.1R1 开始,对 LDP 会话的散列消息认证代码 (HMAC) 和 MD5 身份验证的支持将从每个会话配置扩展到子网匹配(即最长前缀匹配)配置。
16.1
从 Junos OS 版本 16.1 开始,当 root 地址是通过 MPLS LSP 进一步递解的 BGP 路由时,M-LDP 可以在 ASBR 或中继或出口发出点对多点 LSP 信号。
14.1
从 Junos OS 14.1 版开始,为了将现有 IPTV 服务从原生 IP 组播迁移到 MPLS 组播,您需要平稳地从 PIM 过渡到 M-LDP 点到多点 LSP,并且尽可能少地中断。