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,请在选项中包含disable语句interface

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

为 Hello 消息配置 LDP 计时器

LDP 你好消息使 LDP 节点能够相互发现并检测邻居的故障或与邻居的链路。在启用了 LDP 的所有接口上定期发送 hello 消息。

LDP 你好消息有两种类型:

  • 链路你好消息 — 通过 LDP 接口作为 UDP 数据包发送到 LDP 发现端口。在接口上收到 LDP 链路你好消息标识与 LDP 对等路由器的邻接关系。

  • 定向你好消息 — 作为 UDP 数据包发送到特定地址的 LDP 发现端口。目标你好消息用于支持未直接连接的路由器之间的 LDP 会话。目标路由器确定是响应还是忽略目标你好消息。选择响应的目标路由器通过定期将目标你好消息发送回发起路由器来实现此目的。

默认情况下,对于链路你好消息,LDP 每 5 秒发送一次你好消息,对于目标你好消息,每 15 秒发送一次消息。您可以配置 LDP 计时器以更改两种类型的你好消息的发送频率。但是,不能为 LDP 计时器配置大于 LDP 保持时间的时间。有关更多信息,请参阅 配置 LDP 邻接方被视为关闭之前的延迟

为链路呼叫消息配置 LDP 计时器

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

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

为目标呼叫消息配置 LDP 计时器

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

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

配置 LDP 邻接方被视为关闭之前的延迟

保留时间确定 LDP 节点在声明邻接方关闭之前应等待 你好 消息的时间。此值作为你好消息的一部分发送,以便每个 LDP 节点告诉其邻居等待多长时间。每个邻居发送的值不必匹配。

保持时间通常应至少为你好间隔的三倍。链接你好消息的默认值为 15 秒,目标你好消息的默认值为 45 秒。但是,可以配置接近你好间隔值的 LDP 保持时间。

注:

通过将 LDP 保持时间配置为接近你好间隔(小于你好间隔的三倍),可以更快地检测到 LDP 邻居故障。但是,这也增加了路由器声明仍在正常运行的 LDP 邻居关闭的可能性。有关更多信息,请参阅 为 Hello 消息配置 LDP 计时器

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

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

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

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

配置链路呼叫消息的 LDP 保持时间

要修改 LDP 节点在声明邻接方关闭之前等待链路你好消息的时间,请使用以下 hold-time 语句指定新时间(以秒为单位):

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

为目标呼叫消息配置 LDP 保持时间

要修改 LDP 节点在声明邻接方关闭之前等待目标 你好 消息的时间,请使用语句作为语句的选项targeted-hello指定新时间(以秒hold-time为单位):

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

为 LDP 启用严格的定向问候消息

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

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

  • 第 2 层电路邻居

如果未配置的邻接方发送 你好 消息,LDP 对等方将忽略该消息并记录指示源的错误(带有 error 跟踪标志)。例如,如果 LDP 对等方从因特网地址 10.0.0.1 收到目标你好,并且没有专门配置具有此地址的邻居,则会将以下消息打印到 LDP 日志文件中:

要启用严格的目标你好消息,请包含以下 strict-targeted-hellos 语句:

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

配置 LDP 激活消息的间隔

激活间隔确定通过会话发送消息的频率,以确保不超过激活超时。如果在这么长时间内没有通过会话发送其他 LDP 流量,则会发送激活消息。默认值为 10 秒。最小值为 1 秒。

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

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

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

配置 LDP 激活超时

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

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

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

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

为 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 级别。最长匹配策略提供按前缀粒度。

要求

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

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

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

准备工作:

  • 配置设备接口。

  • 配置 OSPF。

概述

LDP 通常用于通过 OSPF 或 IS-IS等 IGP 在整个网域中建立 MPLS 标签交换路径 (LSP)。在此类网络中,域中的所有链路都具有 IGP 邻接以及 LDP 邻接。LDP 在通过 IP 转发确定的到目标的最短路径上建立 LSP。在 Junos OS 中,LDP 实现对 RIB 或 IGP 路由中 FEC 的 IP 地址执行精确匹配查找,以进行标签映射。这种精确的映射要求在所有 LER 中配置 MPLS 端到端 LDP 端点 IP 地址。这有悖于在接入设备中进行 IP 分层设计或默认路由的目的。配置 longest-match 有助于通过抑制精确匹配行为并基于每个前缀的最长匹配路由设置 LSP 来帮助解决此问题。

拓扑学

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

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

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入 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 平稳重新启动的能力,或通过发送平稳重新启动 TLV 来利用执行 LDP 平稳重新启动的邻接方。此 TLV 包含两个与 LDP 平滑重启相关的字段:重新连接时间和恢复时间。重新连接和恢复时间的值表示路由器支持的平稳重启功能。

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

您可以在主实例中为 LDP 协议和特定路由实例配置 LDP 平稳重启。您可以在全局级别对所有协议禁用平稳重启,在协议级别仅为 LDP 禁用平稳重启,也可以在特定路由实例上禁用平稳重启。默认情况下禁用 LDP 平滑重新启动,因为在全局级别,默认情况下禁用平滑重新启动。但是,默认情况下会启用帮助程序模式(帮助相邻路由器尝试平稳重新启动的功能)。

以下是与 LDP 平稳重新启动关联的一些行为:

  • 在重新启动时不会保留传出标签。将分配新的传出标签。

  • 当路由器重新启动时,在重新启动的路由器稳定之前,不会向支持平稳重新启动的邻居发送标签映射消息(标签映射消息会立即发送到不支持正常重新启动的邻居)。但是,所有其他消息(激活、地址消息、通知和释放)将照常发送。分发这些其他消息可防止路由器分发不完整的信息。

  • 帮助程序模式和平稳重启是独立的。您可以在配置中禁用平稳重新启动,但仍允许路由器与尝试正常重新启动的邻居合作。

配置 LDP 平滑重启

在 或 [edit routing-options graceful-restart][edit protocols ldp 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 检测到路由器 A 重新启动后告诉路由器 B 等待的时间。

要配置重新连接时间,请包含以下 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 算子

Description

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 或更长的路由器 ID 10.10.255.2 ,并接受来自所有其他邻居的所有前缀:

过滤出站 LDP 标签绑定

您可以配置导出策略来过滤 LDP 出站标签。您可以通过应用路由策略来过滤出站标签绑定,阻止绑定播发到相邻路由器。要配置出站标签筛选,请包含以下 export 语句:

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

指定的导出策略(在层次结构级别配置 [edit policy-options] )将应用于传输到所有 LDP 邻接方的所有标签绑定。唯一 from 适用于 LDP 出站标签筛选的运算符是 route-filter,它匹配具有指定前缀的绑定。唯一 to 适用于出站标签筛选的运算符是 中的 表 2运算符。

表 2: 用于 LDP 出站标签筛选的运算符

到操作员

Description

interface

匹配发送到通过指定接口相邻的邻接方的绑定

neighbor

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

next-hop

与发送到通告指定接口地址的邻接方的绑定进行匹配

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

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

当路由器与同一邻居有多个邻接关系时,请勿使用 next-hop and interface 运算符。

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

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

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

阻止将路由 10.10.255.6/32 传输到任何邻居:

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

指定 LDP 使用的传输地址

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

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

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

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

注:

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

当有多个并行链路连接到同一 LDP 邻接方时,您无法指定该 interface 选项,因为 LDP 规范要求在所有接口上向同一邻接方播发相同的传输地址。如果 LDP 检测到到同一邻接方的多个并行链路,则会通过断开接口上的邻接方连接或指定 router-id 选项来逐个禁用与该邻接方的接口,直到清除条件为止。

控制用于目标 LDP 会话的传输地址

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

控制用于目标 LDP 会话的传输地址的好处

配置传输地址以建立目标 LDP 会话具有以下优点:

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

  • Ease of operation— 在接口级别配置的传输地址允许您在 LDP 的 IGP 主干网中使用多个协议。这样可以实现平稳和简单的操作。

目标 LDP 传输地址概述

在 Junos OS 19.1R1 版之前,LDP 仅支持将路由器 ID 或接口地址作为任何 LDP 接口上的传输地址。在该接口上形成的邻接使用分配给该接口的 IP 地址之一或路由器 ID。在目标邻接的情况下,接口是环路接口。在设备上配置了多个环路地址时,无法为接口派生传输地址,因此无法建立 LDP 会话。

从 Junos OS 19.1R1 版开始,除了用于目标 LDP 会话的传输地址的默认 IP 地址外,您还可以在 、 session-groupinterface配置语句下session将任何其他 IP 地址配置为传输地址。传输地址配置仅适用于已配置的邻接方,包括第 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 配置为接受你好数据包的自动目标邻接方,传输地址的优先顺序如下:

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

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

  3. 默认地址。

传输地址配置疑难解答

您可以使用以下 show 命令输出对目标 LDP 会话进行故障排除:

  • show ldp session

  • show ldp neighbor

    detail命令的show ldp neighbor输出级别显示在你好消息中发送到目标邻居的传输地址。如果无法从邻居访问此地址,则不会启动 LDP 会话。

  • show configuration protocols ldp

您还可以启用 LDP 追踪选项以进行进一步的故障排除。

  • 如果将配置从使用无效(无法访问)的传输地址更改为有效的传输地址,则可以观察到以下跟踪:

  • 如果将配置从使用有效的传输地址更改为无效(无法访问)的传输地址,则可以观察到以下跟踪:

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

  • address family检查 . 在语句下 session 配置的传输地址必须与邻居或会话属于同一地址族。

  • 在 or neighborsession 语句下配置为传输地址的地址必须是路由器的本地地址,目标 你好 消息才能启动。您可以检查地址是否已配置。如果未在任何接口下配置地址,则配置将被拒绝。

配置从路由表播发到 LDP 的前缀

您可以控制播发到 LDP 中的前缀集,并使路由器成为这些前缀的出口路由器。默认情况下,仅将环路地址播发到 LDP。要配置路由表中要播发到 LDP 中的前缀集,请包含以下 egress-policy 语句:

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

注:

如果为 LDP 配置的出口策略不包含环路地址,则不会再在 LDP 中播发该地址。要继续播发环路地址,您需要将其显式配置为 LDP 出口策略的一部分。

命名策略(在或[edit logical-systems logical-system-name policy-options]层次结构级别配置[edit 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 层电路 FC。对于到间接连接的邻接方的 LDP 会话,如果会话专门配置为支持第 2 层电路或 VPLS,则可能只想将第 2 层电路 FEC 导出到邻接方。

在混合供应商网络中,所有非 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 数据包按指定的定期间隔发送。当路由器在指定间隔后停止接收回复时,将检测到邻居故障。BFD 适用于各种网络环境和拓扑结构。BFD 故障检测定时器的时间限制比静态路由的故障检测机制短,检测速度更快。

每当路径的 BFD 会话失败时,都会记录错误。下面显示了适用于 LDP LSP 的 BFD 日志消息的显示方式:

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

BFD 故障检测计时器是自适应的,可以调整为或多或少的主动性。例如,如果邻接失败,计时器可以适应更高的值,或者邻居可以为计时器协商比配置的值更高的值。当 BFD 会话抖动在 15 秒内出现三次以上时,计时器会适应更高的值。如果本地 BFD 实例是会话抖动的原因,则退避算法会将接收 (Rx) 间隔增加 2。如果远程 BFD 实例是会话抖动的原因,则传输 (Tx) 间隔增加 2。您可以使用命令将 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 入口策略

您无法启用 BFD LDP LSP,除非显式配置了等效的 FEC 地址,或者使用 OAM 入口策略在 FEC 上启用了 OAM。如果未为任何 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 资源管理器

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 跟踪路由。)LDP LSP 跟踪路由用于发现 ECMP 路径。对于发现的每个 ECMP 路径,将启动一个 BFD 会话。每当其中一个 ECMP 路径的 BFD 会话失败时,都会记录错误。

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

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

  • 如果 LDP LSP 跟踪路由返回错误(例如,超时),则与该 FEC 关联的所有 BFD 会话都将被拆除。

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

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

除语句外ecmp,还必须将该periodic-traceroute语句包含在全局 LDP OAM 配置(在 或 [edit logical-systems logical-system-name protocols ldp oam] 层次结构级别)[edit protocols ldp oam]或指定 FEC 的配置(在 或 [edit logical-systems logical-system-name protocols ldp oam fec address] 层次结构级别)[edit 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语句的选项failure-actionremove-route选项:

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

配置 BFD 会话的抑制间隔

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

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

了解仅组播快速重新路由

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

注:

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

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

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

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

经济和财务审查报告概述

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

在组播路由中,接收端通常发起流量分布图。这与单播路由不同,单播路由通常建立从源到接收方的路径。PIM(用于 IP)、多点 LDP(用于 MPLS)和 RSVP-TE(用于 MPLS)是能够建立组播分布图的协议。其中,PIM 和多点 LDP 接收器启动分布图设置,因此 MoFRR 可以在支持这两种组播协议的情况下使用它们。

在组播树中,如果设备检测到网络组件故障,则需要一些时间才能执行反应性修复,从而导致在设置备用路径时出现显著的流量丢失。MoFRR 可减少网络组件发生故障时组播分配树中的流量损失。借助 MoFRR,其中一个下游路由设备会设置通向源的备用路径,以接收相同组播流量的备份实时流。当主流发生故障时,MoFRR 路由设备可以快速切换到备份流。

启用 MoFRR 后,对于每个 (S,G) 条目,设备使用两个可用的上游接口发送加入消息和接收组播流量。如果有两个这样的路径可用,协议会尝试选择两个不相交的路径。如果不相交路径不可用,协议将选择两条非脱节路径。如果两个不相交的路径不可用,则仅选择一个主路径,而不进行备份。MoFRR 优先考虑脱节备份,以支持对可用路径进行负载平衡。

IPv4 和 IPv6 协议家族都支持 MoFRR。

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

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

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

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

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

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

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

PIM 功能

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

启用 MoFRR 后,PIM 路由设备会在两个上游反向路径转发 (RPF) 接口上传播加入消息,以便在两个链路上接收同一加入请求的组播流量。MoFRR 优先考虑两条不汇聚到同一直接上游路由设备的路径。PIM 使用上游 RPF 下一跃点安装适当的组播路由,该跃点具有两个接口(用于主路径和备份路径)。

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

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

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

当出口 PIM 路由设备收到加入消息或 IGMP 报告时,它会检查 MoFRR 配置并按以下步骤操作:

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

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

  • 如果策略不存在,设备将检查主路径和备份路径(上游接口),并按以下步骤操作:

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

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

  • 如果存在策略,设备将检查策略是否允许 MoFRR 执行此操作 (S,G),并按以下步骤操作:

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

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

      • 如果主路径和备份路径不可用,PIM 将向上游的一个上游邻接方(例如,中的 图 12平面 2)发送加入消息。

      • 如果主路径和备份路径可用,PIM 会将加入消息向上游的两个可用上游邻接方发送。设备设置主组播和辅助组播路径以接收组播流量(例如,中的 图 12平面 1)。

多点 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。对于 bud 节点,来自上游主路径的流量将转发到下游 LSR。如果主上游路径发生故障,来自备份上游路径的 MPLS 流量将转发到下游 LSR。这意味着下游 LSR 下一跃点将与出口下一跃点一起添加到两个 MPLS 路由中。

与 PIM 一样,您可以使用层次结构中的[edit routing-options multicast]配置语句为stream-protection多点 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) 接口时,不支持 MoFRR,这会影响其他组播功能,例如互联网组管理协议版本 3 (IGMPv3) 侦听。

  • 转发组播流量时的数据包复制和组播查找可能会导致数据包多次通过 PFE 再循环。因此,命令中显示的 show pfe statistics traffic 组播数据包计数值可能会在输出字段(如 Input packetsOutput packets)中显示高于预期数字。在 MoFRR 方案中,您可能会更频繁地注意到此行为,因为重复的主流和备份流通常会增加流量。

具有多点 LDP 的路由设备的 MoFRR 限制和注意事项

与多点 LDP 一起使用时,MoFRR 对路由器具有以下限制和警告:

  • 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 域中,情况并非如此,其中每个链路形成一个邻居。mofrr-disjoint-upstream-only如果备份 RPF 路径与主 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 快速配置

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

设备 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 policy-optionsshow protocolsshow 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 会话上按需启用下游 LDP,请执行以下操作:

  1. 配置下游按需策略(DOD-Request-Loopbacks 在此示例中)。

    此策略导致路由器仅将标签请求消息转发到与 DOD-Request-Loopbacks 策略匹配的 FEC。

  2. 在层次结构级别使用[edit protocols ldp]语句指定 dod-request-policy DOD-请求-环回策略。

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

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

将 LDP 下游按需路由分配到标记的 BGP 中

分步过程

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

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

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

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

分步过程

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

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

  2. do-not-propagate-du-sessions 策略配置为不将路由转发到邻居 10.1.1.110.2.2.210.3.3.3

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

  4. 将该 filter-dod-routes-on-du-sesssion 策略指定为 BGP group 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 modeDownstream unsolicited,默认值(表示未在本地会话上配置下游按需)。相反, Remote Label Advertisement modeNegotiated Label Advertisement mode 两者都表示 Downstream on demand 在远程会话上配置

配置 LDP 本机 IPv6 支持

LDP 在仅支持 IPv6 的网络以及 RFC 7552 中所述的 IPv6 或 IPv4 双堆栈网络中受支持。将地址族 inet 配置为 IPv4 和 inet6 /或 IPv6,并将传输首选项配置为 IPv4IPv6。该 dual-transport 语句允许 Junos OS LDP 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立单堆栈 LSR 的 TCP 连接。inet-lsr-idinet6-lsr-id ID 是两个 LSR ID,必须对其进行配置才能通过 IPv4 和 IPv6 TCP 传输建立 LDP 会话。这两个 ID 应为非零,并且必须配置不同的值。

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

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

  1. 启用转发等效类 (FEC) 分解,以便对不同的地址族使用不同的标签。
  2. 配置 LDP 地址族。
  3. 配置语句以 transport-preference 在同时启用 IPv4 和 IPv6 时为 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。

示例:配置 LDP 本机 IPv6 支持

此示例说明如何允许 Junos OS 标签分发协议 (LDP) 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立单堆栈 LSR 的 TCP 连接。这有助于避免使用 IPv4 信号 MPLS 标签交换路径 (LSP) 通过 IPv4 MPLS 核心建立 IPv6 隧道。

要求

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

  • 两台 MX 系列路由器

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

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

概述

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

拓扑学

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

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

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入 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 快速配置
分步过程

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

  • (可选)配置 LDP 连接的传输首选项。

分步过程
结果

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

配置双传输,以便为具有 IPv4 邻居的 IPv4 和与 IPv6 邻居的 IPv6 建立单独的会话

分步过程

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

  • (可选)配置双传输,以允许 LDP 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立 TCP 连接作为单堆栈 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 根的概念(IP 地址)和“不透明”值(用于将共享相同不透明值的叶节点组合在一起的选择器)。不透明值对中间节点是透明的,但对 LSP 根有意义。每个 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 带内信令。MPLS LSP 根的静态配置包含在使用策略的 PIM 配置中。当 IBGP 在核心站点中不可用或覆盖基于 IBGP 的 LSP 根检测时,需要执行此操作。

例如:

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

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

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

通过在此方案中配置 , mldp-inband-signaling 仅当源没有 PIM 邻居时,才会启动 M-LDP 信令。但是,由于除非在出口 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 带内信令非常重要。

Point-to-point LSP

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

Multipoint LSP

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

Point-to-multipoint LSP

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

Multipoint-to-point LSP

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

Multipoint-to-multipoint LSP

连接一组节点的 LSP,以便将 LSP 中的任何节点发送的流量传送到所有其他节点。

Ingress LSR

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

Egress LSR

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

Transit LSR

一种 LSR,可通过直接连接的上游 LSR 和一个或多个直接连接的下游 LSR 访问多点 LSP 的根目录。

Bud LSR

作为出口但也具有一个或多个直接连接的下游 LSR 的 LSR。

Leaf node

点对多点 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 根检测失败,PIM 将保留 (S,G) 条目,RPF 状态为未解析。

每次单播路由信息更改时,PIM RPF 都会注册此源地址。因此,如果指向源的路由发生更改,RPF 将重复计算。BGP 协议朝向源的下一跃点也会受到监控,以了解 LSP 根中的更改。此类更改可能会导致流量在短时间内中断。

LSP 根检测

如果 RPF 操作检测到上行需要 M-LDP 带内信令,则会检测到 LSP 根(入口)。此根是 LDP LSP 信号的参数。

按如下方式检测根节点:

  1. 如果现有静态配置指定了源地址,则采用配置中给定的根地址。

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

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

    需要通过多个自治系统发出这些非分段点对多点 LSP 的信号,这些系统可用于以下应用:

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

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

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

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

出口联接转换和伪接口处理

在出口 LER 上,PIM 通知 LDP 要与 LSP 根一起发出信号的 (S,G) 消息。PIM 创建一个伪接口作为此 (S,G) 消息的上游接口。收到 (S,G) 修剪消息时,将删除此关联。

出口拼接

在接收来自下游站点的 (S,G) 加入消息的核心网络出口节点,该加入消息将转换为 M-LDP 带内信令参数并通知 LDP。此外,当 (S,G) 条目丢失、LSP 根更改或可通过 PIM 邻接方访问 (S,G) 条目时,会发生 LSP 拆卸。

支持的功能

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

  • 使用 LDP 路由的 PIM 下一跃点的出口拼接

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

  • 将 PIM 联接消息转换为 LDP 点对多点 LSP 设置参数

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

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

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

  • 关于入口和出口 LER 的配置语句,以使它们能够充当边缘路由器

  • LER 上的 IGMP 加入消息

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

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

不支持的功能

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

  • 完全支持 PIM ASM

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

  • 不间断活动路由 (NSR)

  • PIM 的先成后断 (MBB)

  • IPv6 LSP 根地址(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) 条目配置了根地址,则配置的地址将用作点对多点 LSP 根。否则,路由表用于查找到源的路由。如果到组播树源的路由是 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 或更高版本

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

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

  • 适用于核心路由器的 T 系列核心路由器

注:

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

配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

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

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

配置

程序
CLI 快速配置

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

设备 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 显示预期的根到 (S,G) 绑定。

操作
查找 MPLS 标签的路由信息
目的

显示点对多点 FEC 信息。

操作
检查 LDP 流量统计信息
目的

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

操作

映射 客户端和 服务器以实现 分段路由 到 LDP 互操作性

分段路由映射服务器和客户端支持可实现运行 LDP 和分段路由(SR 或 SPRING)的网络孤岛之间的互操作性。在从 LDP 迁移到 SR 的过程中,这种互操作性非常有用。在过渡 期间,可能存在孤岛 (或域),其设备仅 支持 LDP 或仅支持分段路由。要使这些设备协同工作,需要 LDP 分段路由映射服务器 (SRMS) 和分段路由映射客户端 (SRMC) 功能。您可以在分段路由网络中的设备上启用这些服务器和客户端功能。

OSPF 或 ISIS 支持 SR 映射服务器和客户端功能。

分段路由到 LDP 互操作性概述

图 22 显示了一个简单的 LDP 网络拓扑,说明了分段路由设备与 LDP 设备的互操作性是如何工作的。请记住,OSPF 和 ISIS 都受支持,因此现在我们将保持与 IGP 无关。示例拓扑在正在从 LDP 迁移到分段路由的网络中有六个设备(R1 到 R6)。

在拓扑中,设备 R1、R2 和 R3 仅配置为分段路由。设备 R5 和 R6 是旧版 LDP 域的一部分,当前不支持 SR。设备 R4 支持 LDP 和分段路由。将显示所有设备的环路地址。这些环路在 LDP 域中播发为出口 FEC,在 SR 域中播发为 SR 节点 ID。互操作性基于将 LDP FEC 映射到 SR 节点 ID,反之亦然。

图 22: 分段路由到 LDP 互操作拓扑的示例分段路由到 LDP 互操作拓扑的示例

要使 R1 与 R6 互通,需要 LDP 分段路由映射服务器 (SRMS) 和分段路由映射客户端 (SRMC)。通过以单向方式查看流量,可以更轻松地理解 SRMS 和 SRMC 的作用。基于 图 22,我们假设从左向右流动的流量源自 SR 域,终止于 LDP 域。同样,从右向左流动的流量源自 LDP 域,终止于 SR 域。

SRMS 提供从左到右拼接流量所需的信息。SRMC 为从右向左流动的流量提供映射。

  • 从左到右的流量:分段路由映射服务器

    SRMS 有助于 SR 域和 LDP 域之间的 LSP 拼接。服务器将 LDP FEC 映射到 SR 节点 ID。您将 LDP FEC 配置为在层次结构级别下 [edit routing-options source-packet-routing] 映射。通常,您需要映射所有 LDP 节点环路地址以实现完全连接。如下所示,您可以在单个范围语句中映射连续前缀。如果 LDP 节点环回不是连续的,则需要定义多个映射语句。

    您可以在或[edit protocols isis]层次结构级别下[edit protocols ospf]应用 SRMS 映射配置。此选择取决于正在使用的 IGP。请注意,SR 和 LDP 节点共享一个通用的单区域/级别 IGP 路由域。

    SRMS 会生成扩展前缀列表 LSA(如果是 ISIS,则为 LSP)。此 LSA 中的信息允许 SR 节点将 LDP 前缀 (FEC) 映射到 SR 节点 ID。LDP 前缀的映射路由安装在 inet.3 SR 节点的 和 mpls.0 路由表中,以方便从左向右流量的 LSP 入口和拼接操作。

    扩展的 LSA(或 LSP)在整个(单个)IGP 区域泛滥。这意味着您可以自由地将 SRMS 配置放置在 SR 域中的任何路由器上。SRMS 节点不必运行 LDP。

  • 从右到左的流量:分段路由映射客户端

    要从右到左方向(即从 LDP 岛到 SR 岛)进行互操作,只需在同时使用 SR 和 LDP 的节点上启用分段路由映射客户端功能即可。在我们的示例中,这是 R4。您可以使用层次结构中的[edit protocols ldp]语句激活 mapping-client SRMC 功能。

    SRMC 配置会自动激活 LDP 出口策略,以将 SR 域的节点和前缀 SID 播发为 LDP 出口 FEC。这为 LDP 节点提供了对 SR 域中节点的 LSP 可访问性。

  • 必须在同时连接到 SR 和 LSP 域的路由器上配置 SRMC 功能。如果需要,同一节点也可以用作 SRMS。

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

请参考 图 22, 假设 d次 R2(在分段路由网络中)是 SRMS。

  1. 定义 SRMS 函数:

    此配置为示例拓扑中的两个 LDP 设备环路地址创建一个映射块。映射到 R5 环回的初始分段 ID (SID) 索引为 1000。指定大小 2 会导致 SID 索引 10001 映射到 R6 的环路地址。

    注:

    用作 的 start-prefix IP 地址是 LDP 网络中设备的环路地址(本例中为 R5)。要实现完全连接,您必须将 LDP 路由器的所有环路地址映射到 SR 域中。如果环路地址是连续的,则可以使用单个 prefix-segment-range 语句执行此操作。非连续环路需要定义多个前缀映射语句。

    我们的示例使用连续环回,因此上面显示了单个 prefix-segment-range 环回。下面是支持两个具有非连续环回寻址的 LDP 节点的情况的多个映射示例:

  2. 接下来,为用于泛洪映射前缀的扩展 LSA 配置 OSPF 支持。

    在设备 R2 上提交映射服务器配置后,扩展前缀范围 TLV 将在整个 OSPF 区域中泛洪。能够进行分段路由的设备(R1、R2 和 R3)使用分段 ID (SID) 索引为指定的环路地址(本例中为 R5 和 R6)安装 OSPF 分段路由路由。分段路由设备也会在路由表中更新 mpls.0 SID 索引。

  3. 启用 SRMC 功能。对于示例拓扑,您必须在 R4 上启用 SRMC 功能。

    在设备 R4 上提交映射客户端配置后,SR 节点 ID 和标签块将作为出口 FEC 播发至路由器 R5,然后路由器 R5 将其重新播发至 R6。

从 Junos OS 19.1R1 开始支持使用 OSPF 的拼接分段路由和 LDP 下一跃点。

Unsupported Features and Functionality for Segment Routing interoperability with LDP using OSPF

  • 仅在 SRMS 上检测到前缀冲突。 当存在前缀范围冲突时,以较低路由器 ID 中的前缀 SID 为准。在这种情况下,将生成系统日志错误消息 —RPD_OSPF_PFX_SID_RANGE_CONFLICT

  • 不支持 IPv6 前缀。

  • 不支持跨 AS 边界(AS 间)泛洪 OSPF 扩展前缀不透明 LSA。

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

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

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

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

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

请参阅 图 22,假定设备 R2(在分段路由网络中)是 SRMS。映射功能增加如下配置:

  1. 定义 SRMS 函数:

    此配置为示例拓扑中的两个 LDP 设备环路地址创建一个映射块。映射到 R5 环回的初始段 ID (SID) 索引为 1000。指定大小 2 会导致 SID 索引 10001 映射到 R6 的环路地址。

    注:

    用作 的 start-prefix IP 地址是 LDP 网络中设备的环路地址(本例中为 R5)。要实现完全连接,您必须映射 SR 域中 LDP 路由器的所有环路地址。如果环路地址是连续的,则可以使用语句执行此操作 prefix-segment-range 。非连续环回需要定义多个映射语句。

    我们的示例使用连续环回,因此上面显示了单个 prefix-segment-range 环回。下面是一个前缀映射示例,用于处理两个具有非连续环路寻址的 LDP 路由器的情况:

  2. 接下来,为用于泛洪映射前缀的扩展 LSP 配置 ISIS 支持。

    在设备 R2 上提交映射服务器配置后,扩展前缀范围 TLV 将在整个 OSPF 区域中泛洪。能够进行分段路由的设备(R1、R2 和 R3)使用分段 ID (SID) 索引为指定的环路地址(本例中为 R5 和 R6)安装 ISIS 分段路由路由。分段路由设备也会在路由表中更新 mpls.0 SID 索引。

  3. 启用 SRMC 功能。对于示例拓扑,您必须在 R4 上启用 SRMC 功能。

    在设备 R4 上提交映射客户端配置后,SR 节点 ID 和标签块将作为出口 FEC 播发至路由器 R5,然后从那里播发到 R6。

Junos OS 17.4R1 开始支持使用 ISIS 拼接分段路由和 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 路由指标

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

要使用 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 标签分配

通过已建立的 LSP 启用 LDP

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

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

注:

LDP 可以通过启用了链路保护的 RSVP 会话建立隧道。从 Junos OS Release 21.1R1 开始,显示有关 LDP 隧道路由的详细信息会显示主跃点和旁路 LSP 下一跃点。在之前的 Junos OS 版本中, 旁路 LSP 下一 跃点显示主 LSP 的下一 跃点。

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

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

当瞻博网络路由器通过 RSVP 隧道链接到其他供应商的路由器,并且还启用了 LDP 隧道时,默认情况下,如果 RSVP 路径的指标比物理 OSPF 路径大 1,则瞻博网络路由器可能不会使用 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,您还需要完成第 通过已建立的 LSP 启用 LDP一节 中的过程。

为 LDP 会话配置 TCP MD5 签名

您可以为 LDP TCP 连接配置 MD5 签名,以防止将欺骗性 TCP 分段引入 LDP 会话连接流。有关 TCP 身份验证的详细信息,请参阅 TCP。有关如何使用 TCP 身份验证选项 (TCP-AO) 而不是 TCP MD5 的信息,请参阅 No link title

使用 MD5 签名选项的路由器为每个需要身份验证的对等体配置密码。密码以加密方式存储。

即使对等接口配置了不同的安全签名,仍可创建 LDP 你好邻接关系。但是,TCP 会话无法进行身份验证,并且永远不会建立。

您可以将 LDP 会话的散列消息认证代码 (HMAC) 和 MD5 认证配置为每会话配置或子网匹配(即最长前缀匹配)配置。对子网匹配身份验证的支持为自动定向 LDP (TLDP) 会话配置身份验证提供了灵活性。这使得部署远程无环路备用 (LFA) 和 FEC 129 伪线变得容易。

要为 LDP TCP 连接配置 MD5 签名,请将语句 authentication-key 作为会话组的一部分包含在内:

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

配置中的 md5-authentication-key或密码最多可包含 69 个字符。字符可以包含任意 ASCII 字符串。如果包含空格,请用引号将所有字符括起来。

您还可以为 LDP 路由协议配置认证密钥更新机制。此机制允许您在不中断关联的路由和信令协议(如开放最短路径优先 (OSPF) 和资源预留设置协议 (RSVP))的情况下更新身份验证密钥。

要配置认证密钥更新机制,请在层次结构级别包含 key-chain 语句 [edit security authentication-key-chains] ,并指定 key 用于创建由多个认证密钥组成的钥匙串的选项。

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

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

配置 LDP 会话保护

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

您可以通过配置语句将 session-protection Junos OS 配置为保持两个路由器之间的 LDP 会话打开,即使连接两个路由器的链路上没有你好邻接关系也是如此。您可以选择使用该选项指定 timeout 以秒为单位的时间。只要路由器保持 IP 网络连接,会话就会在指定的持续时间内保持打开状态。

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

禁用 LDP 的 SNMP 陷阱

每当 LDP LSP 从上到下或从下到上转换时,路由器都会发送 SNMP 陷阱。但是,可以在路由器、逻辑系统或路由实例上禁用 LDP SNMP 陷阱。

有关 LDP SNMP 陷阱和专有 LDP MIB 的信息,请参阅 SNMP MIB 资源管理器

要为 LDP 禁用 SNMP 陷阱,请为语句指定trap disablelog-updown选项:

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

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

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

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

要在 LDP 运行同步之前公布最大成本指标,请包含以下 ldp-synchronization 语句:

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

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

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

您可以配置 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 链路你好数据包中的源地址与接口地址匹配。这会导致与其他某些供应商设备的互操作性问题。

要禁用子网检查,请包含 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 跟踪路由

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

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

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

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

  • [edit protocols ldp oam]

  • [edit protocols ldp oam fec address]

您可以单独配置 periodic-traceroute 语句,也可以使用以下任一选项配置语句:

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

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

  • frequency— 指定跟踪路由尝试之间的间隔。

  • 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- 此数字(显示在日期和时间旁边)可能与显示的统计数据的实际数字不同。某些统计信息在显示之前会进行汇总。

禁用倒数第二个跃点路由器上的 LDP 统计信息

在倒数第二跳路由器上收集 LDP 流量统计信息可能会消耗过多的系统资源,尤其是在下一跃点路由上。如果除了语句之外traffic-statistics还配置了deaggregate语句,则会加剧此问题。对于达到下一跳路由使用限制的路由器,我们建议配置 no-penultimate-hop 语句的选项 traffic-statistics

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

注:

配置该 no-penultimate-hop 选项时,没有此路由器倒数第二个跃点的 FEC 的统计信息可用。

每当在配置中包含或删除此选项时,LDP 会话都会关闭,然后重新启动。

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

LDP 统计限制

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

  • 您无法清除 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—跟踪地址、地址撤回、初始化、标注请求、标注映射、标注撤回、标注发布、通知、定期消息等操作。此修饰符等效于设置 addressnotificationinitializationlabel、 和 periodic 修饰符。

    您还可以使用标志的packets子选项配置filtermatch-on address标志修饰符。这允许您根据数据包的源地址和目标地址进行跟踪。

  • path— 跟踪标签交换路径操作。

  • path— 跟踪标签交换路径操作。

  • periodic— 跟踪你好和激活消息的操作。

  • route- 跟踪路由消息的操作。

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

跟踪 FEC 内的 LDP 协议流量

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

您可以跟踪特定 FEC 中的 LDP 协议流量,并根据 FEC 过滤 LDP 跟踪语句。当您想要跟踪或排查与 FEC 关联的 LDP 协议流量时,这非常有用。以下跟踪标志可用于此目的:routepathbinding

以下示例说明了如何配置 LDP traceoptions 语句以基于 FEC 筛选 LDP 跟踪语句:

此功能具有以下限制:

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

  • 无法过滤第 2 层电路 FEC。

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

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

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

示例:跟踪 LDP 协议流量

详细跟踪 LDP 路径消息:

跟踪所有 LDP 传出消息:

跟踪所有 LDP 错误条件:

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

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

变更历史表

是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。

版本
说明
22.4R1
从 Junos OS 演化版 22.4R1 开始,您可以使用 IP 子网配置 TCP-AO 或 TCP MD5 身份验证,以包括该子网下的整个地址范围。
22.4R1
从 Junos OS 演化版 22.4R1 开始,TCP 身份验证可以识别 VRF。
19.1
从 Junos OS 19.1R1 版开始,分段路由 LDP 边界路由器可以将分段路由流量拼接到 LDP 下一跃点,反之亦然。
16.1
从 Junos OS 16.1 版开始,当根地址是通过 MPLS LSP 进一步递归解析的 BGP 路由时,M-LDP 可以在 ASBR 或传输或出口处发出点对多点 LSP 信号。
14.1
从 Junos OS 14.1 版开始,为了将现有 IPTV 服务从本机 IP 组播迁移到 MPLS 组播,您需要从 PIM 平稳过渡到 M-LDP 点对多点 LSP,同时尽量减少中断。