Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

如何在 IS-IS 网络中配置泛洪反射器接口

了解如何在 IS-IS 网络中配置泛洪反射器接口,以实现泛洪路径减少、快速融合、网络效率和可扩展性。

了解 IS-IS 泛洪反射器

泛滥反射器的优点

  • Flooding path reduction—减少了泛洪路径中的冗余,因为它限制了链路状态数据包数据单元 (PDU) 的泛洪,并提高了大型交换矩阵拓扑中的 IS-IS 更新效率。

  • Fast convergence—优化大型网络中的 IS-IS 路由协议融合。

  • Network efficiency—利用现有功能通过灵活隧道接口 (FTI) 建立 IS-IS 邻接关系,从而快速提高网络效率。

  • Scalability—为 IS-IS 网络中的第 2 级拓扑提供更好的可扩展性。只有配置为泛洪反射器的路由器才会参与泛洪反射。这利用了在现有网络中增量部署可扩展的 1 级中转区域,而无需升级网络中的其他路由器。

泛洪反射器概述

draft-przygienda-flood reflector-00 中定义的泛洪反射器邻接是为了反射泛滥信息而构建的。泛洪反射器参与 IS-IS 控制平面,而不在转发平面中使用。这是对 1 级/2 级入口设备的纯本地作,因为它不需要更换或修改任何不参与反射过程的路由器。

IS-IS 泛滥反射支持创建泛洪反射拓扑,其中 1 级区域为 2 级拓扑中的 2 级目的地提供中转转发。这是通过在每个 1 级区域内创建 2 级洪水反射邻接来实现的。2 级泛洪反射邻接用于泛洪 2 级最短路径优先 (SPF) 计算中使用的 2 级链路状态 PDU。但是,它们不用于转发。这种安排为第 2 级拓扑提供了更好的可扩展性。

为了建立泛洪反射的 IS-IS 邻接关系,我们将灵活隧道接口 (FTI) 指定为泛洪反射器接口。这些隧道利用 UDP 封装。

泛洪反射器的 Junos OS 实施

概述

在 Junos OS 实施中,通过基本的泛洪反射器转发功能,我们可以按层将 IS-IS 接口识别为泛洪反射器接口。这将修改第 2 级路由计算,不安装任何使用泛洪反射器接口作为下一跃点的下一跃点。

如果此过程产生至少一个剩余的下一跃点使用正常接口,则安装修改后的第 2 级路由。如果从第 2 级路由中删除泛洪反射器下一跃点的过程导致第 2 级路由没有下一跃点,则将完全禁止安装第 2 级路由。由于通常的 IS-IS 2 级路由的安装会受到抑制,因此我们依靠 IS-IS 1 级路由的存在来将流量传送到此前缀的第 2 级最短路径上的泛洪反射器客户端。

洪水反射不会对 2 级和 1 级路由上的流量进行负载均衡。假设第 2 级路由有 10 个等价下一跃点,其中一个下一跃点使用泛洪反射器接口,则所有下一跃点都将从第 2 级路由中删除。即使第 2 级域中有可用的路径,它也会抑制所有第 2 级路由,并依赖 IS-IS 第 1 级/第 2 级区域间路由来承载流量。Junos OS 实施不会使用第 2 级路由,直到第 2 级路由至少有一个泛洪反射器下一跃点。

注意:

确保已配置第 1 级路由以防止流量中断。

泛滥反射邻接形成

draft-przygienda-flood reflector-00 中定义的泛洪反射 TLV 是一种新的顶级 TLV,表示给定路由器接口配置为参与的泛滥反射器集群。它还指示路由器是否配置为充当泛洪反射器或泛滥反射器客户端的角色。有关洪水反射 TLV 的更多信息,请参阅 draft-przygienda-flood-reflector-00

泛滥反射实现 draft-przygienda-lsr-flood-reflection-01 中定义的泛滥反射邻接子 TLV 的播发和接收。洪水反射邻接子 TLV 安装在流量工程数据库 (TED) 中,并包含在 2 级区域淹没的 LSP 中。它表示给定的邻接是泛洪反射器邻接,具有以下目的:

  • 它使同一路由器上的 RSVP 能够识别 TED 中的链路表示泛洪反射邻接。

  • 它还有助于潜在的与指标无关的环路预防机制。也就是说,它使参与泛洪反射的设备能够感知远程泛洪反射链路以检测环路。

注意:

不参与泛滥反射的外部 2 级设备不会播发或接收泛滥反射邻接子 TLV。

泛光反射器示例拓扑结构

图 1 描述了一个泛洪反射器拓扑,该拓扑允许 R4 利用图上所示的 1 级交换矩阵向 R5 发送流量,而不会暴露于任何 1 级通告。

图 1:泛光反射器示例拓扑结构 Flood Reflector Sample Topology
  • R6 是泛光反射器。R0、R1、R2、R3 是泛洪反射器客户端,具有到 R6 的 FTI 隧道。所有 FTI 隧道均具有度量 10,并配置为泛洪反射器接口。R0、R1、R2、R3、R6 配置为将 2 级路由重新分配给 1 级,作为 1 级/2 级区域间路由。仅当路由表中安装了第 2 级路由时,才会重新分配给第 1 级。

  • R2 在 1 级链路状态 PDU 中播发 10.2.5.2/30,成本为 10,因为它已通过从 R2 到 R5 的物理接口安装了 10.2.5.2/30 的 2 级路由。

  • 在正常情况下,如果从 R3 到 R6 的 FTI 隧道未配置为泛洪反射器接口,则 R3 也会将 10.2.5.2/30 播发到第 1 级链路状态 PDU,成本为 30。

    但是,由于从 R3 到 R6 的 FTI 隧道配置为泛洪反射器接口,因此 2 级路由将抑制,转而由 R3 将 10.2.5.2/30 的 1 级路由播发到 1 级链路状态 PDU。相同的逻辑也适用于 R0 和 R1。因此,只有 R2 在 1 级链路状态 PDU 中播发 10.2.5.2/24。

  • 当我们跟踪发往 10.2.5.2/30 的数据包从 R4 到 R5 时,R4 只能看到 2 级播发。因此,它确定达到 10.2.5.2/30 的第 2 级最短路径为 R4-R0-R6-R2-R5。R4 将数据包发送至 R0。

  • 在 R0 时,达到 10.2.5.2/30 的最短 2 级路径是 R0-R6-R2-R5(成本 30)。但是,由于此 2 级路由的下一跃点使用泛洪反射器接口,因此第 2 级路由将受到抑制。而是使用到达 R2 的第 1 级路由。

  • R7、R8、R9、R10 使用 1 级路线到达 R2,因为它们不参与 2 级。R6 使用 1 级路由,因为 R6 上的所有 2 级路由都使用配置为 2 级泛洪反射器接口的 FTI 隧道,因此所有 2 级路由在 R6 处都会被抑制。

  • 在 R2 上,安装并使用 10.2.5.2/30 的 2 级内部路由,该路由使用到 R5 的物理级别 2 接口。

配置泛洪反射器接口的要求

通过在 IS-IS Hello 消息中包含有关路由器角色(泛洪反射器或泛光反射器客户端)的信息以及群集标识符 (ID),可以通过 IS-IS 通告强制执行以下要求:

  • 不得允许泛滥反射器客户端通过泛滥反射器接口连接到另一个泛光反射器客户端。

  • 必须允许泛洪反射器客户端通过泛滥反射器接口连接到多个泛洪反射器。

  • 不得允许泛洪反射器通过泛光反射器接口连接到另一个泛光反射器。

  • 只有当泛洪反射器和泛洪反射器客户端具有相同的群集 ID 时,才能建立它们之间的邻接关系。

  • 给定级别(级别 1、级别 2 或级别 1/级别 2)的泛洪反射器在给定级别上不得有任何非泛洪反射器接口的 IS-IS 接口。这可以在没有任何广告的情况下进行 commit check 验证。

最佳实践:

我们建议将第 2 级隧道配置为使用仅在第 1 级播发的源和目标环路地址。不同的环路地址被播发到级别 2。否则,您可能会遇到这样的情况:交换矩阵中的边缘路由器与第 1 级交换矩阵断开连接,但它仍然能够通过在第 2 级拓扑中的链路上建立隧道来形成泛洪反射器邻接。

局限性

如果配置不当,泛洪反射可能会中断某些拓扑中的流量和路由环路。

路由环路

使用泛洪反射时,可以创建导致路由环路的拓扑。 图 2 描述了一个循环拓扑示例。

图 2:循环拓扑 Looping Topology

图 1图 2 中拓扑之间的唯一区别是图 2 中 R1 和 R6 之间缺少 FTI 隧道。

导致路由环路的其他因素

除了 图 2 拓扑中描述的缺少 FTI 隧道之外,以下因素也可能导致路由环路:

  • 隧道建设缓慢或隧道从未建立。

  • 第 1 级指标大于第 2 级指标。

ECMP 的局限性

使用泛洪反射器时,ECMP 可能会遇到一些问题,从而导致网络路径的使用率降至最低。以下情况表示 ECMP 的一些问题:

  • ECMP Expected from Level 2 SPF not Realized in Forwarding

    在此拓扑中,根据其 2 级 SPF 计算,R4 期望流量在 R0 进入 1 级交换矩阵,在 R1 和 R2 退出,流量在从 R1 到 R5 和 R2 到 R5 的链路上均衡负载。

    但是,从 R0 到 R1 的 1 级成本为 2,而从 R0 到 R2 的 1 级成本为 4。所有流量都转发至第 1 层交换矩阵中的 R1,并使用从 R1 到 R5 的链路。

    可以通过在每个 1 级/2 级叶路由器之间构建一个完整的等价 1 级隧道网格来解决此问题。

  • ECMP Expected from Level 2 SPF not Effectively Utilized

    根据其 2 级 SPF 计算,R4 期望流量仅通过从 R0 到 R5 的链路发送。这是观察到的转发行为。但是,这种行为限制了有效利用 ECMP。在所有 2 级/1 级叶路由器之间构建全网状等价 1 级隧道并不能解决此问题。

示例:IS-IS 泛洪反射器

此示例说明如何在 IS-IS 网络中配置泛洪反射器。泛洪反射主要减少了泛洪路径中的冗余,提高了大型交换矩阵拓扑中 IS-IS 更新的效率。

要求

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

  • 11 台 PTX 系列路由器。

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

概述

从 Junos OS 20.4R1 版开始,您可以在 IS-IS 网络中配置泛洪反射器接口。泛洪反射使您能够创建 IS-IS 拓扑,其中 1 级区域为 2 级拓扑中的 2 级目标提供中转转发。这是通过在每个 1 级区域内创建 2 级洪水反射邻接来实现的。

泛洪反射器邻接反映了 2 级链路状态数据包数据单元 (PDU),它们用于 2 级最短路径优先 (SPF) 计算。但是,它们不用于转发。

为了建立泛洪反射的 IS-IS 邻接关系,灵活隧道接口 (FTI) 被指定为泛洪反射器接口。这些隧道利用 UDP 封装。

拓扑学

图 3 显示了 IPv4 流量的泛洪反射器拓扑, 图 4 显示了 IPv6 流量的泛洪反射器拓扑,其中路由器 R6 是泛洪反射器。路由器 R0、R1、R2、R3 是具有到 R6 的 FTI 隧道的泛洪反射器客户端。所有 FTI 隧道均具有度量 10,并配置为泛洪反射器接口。路由器 R0、R1、R2、R3 配置为将 2 级路由重新分配到 1 级,作为 1 级/2 级区域间路由。路由器 R4 和 R5 是 2 级路由器。路由器 R7、R8、R9、R10 使用级别 1 路由,因为它们不参与泛洪反射。级别 1 指标为 100。

图 3:IPv4 流量 Flood-Reflector Topology for IPv4 Traffic的泛洪反射器拓扑
图 4:IPv6 地址 Flood-Reflector Topology for IPv6 addresses的泛洪反射器拓扑

配置

CLI 快速配置

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

设备 R0

设备 R1

设备 R2

设备 R3

设备 R4

设备 R5

设备 R6

设备 R7

设备 R8

设备 R9

设备 R10

配置泛洪反射器客户端

分步过程

要配置泛洪反射器客户端 R0,请执行以下任务:

  1. 配置设备接口以启用 IP 和 ISO 传输。

  2. 使用 IPv4 和 IPv6 地址配置环路接口 (lo0),用作 IS-IS 会话的路由器 ID。在环路接口上配置路由器的 ISO 网络实体名称 (NET) 地址以支持 IS-IS。

  3. 配置路由选项以识别域中的路由器。

  4. 使用 UDP 封装配置 FTI 的源地址。源地址是隧道源的路由器 ID。

  5. 配置 FTI 的目标地址。目标地址是隧道端点的路由器 ID。

  6. 指定隧道的源 IP 地址和用于标识隧道端点的目标的 UDP 端口值。指定 1 到 65,535 的 destination-udp-port 值。

  7. 在连接到级别 2 的 R4 接口的接口上禁用 IS-IS 级别 1。为第 2 级接口配置指标 10。

  8. 在连接到级别 1 的 R7 和 R8 接口的接口上的接口上禁用 IS-IS 级别 2。为 1 级接口配置指标 100。

  9. 将 IS-IS 接口配置为类似于点对点接口。

  10. 禁用 FTI 上的级别 1,并通过包含群集标识符将泛洪反射器客户端配置在第 2 级。

  11. 配置 wide-metrics IS-IS 以允许更大范围的指标值。

  12. 将环路接口配置为被动接口,以确保协议不会在环路接口上运行,并确保环路接口在整个网络中正确播发。

  13. 从 R0 设备上的配置模式输入提交。

除了在泛洪反射器客户端 R0 上配置这些步骤外,还要对您配置的群集中的泛洪反射器客户端 R1、R2、R3 重复这些步骤。

结果

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

配置泛洪反射器

分步过程

要配置泛洪反射器设备 R6,请执行以下任务:

  1. 配置设备接口以启用 IP 和 ISO 传输。

  2. 使用 IPv4 和 IPv6 地址配置环路接口 (lo0),用作 IS-IS 会话的路由器 ID。在环路接口上配置路由器的 ISO 网络实体名称 (NET) 地址以支持 IS-IS。

  3. 配置路由选项以识别域中的路由器。

  4. 使用 UDP 封装配置 FTI 的源地址。源地址是隧道源的路由器 ID。

  5. 配置每个单元的 FTI 的目标地址。目标地址是隧道端点的路由器 ID。

  6. 指定隧道的源 IP 地址和目标的 UDP 端口值,用于标识每个单元的隧道端点。指定 1 到 65,535 的 destination-udp-port 值。

  7. 在第 2 级区域中配置策略,以将路由泄漏到第 1 级区域。

  8. 在接口上禁用 IS-IS 级别 2,并在级别 1 接口上配置指标 100。

  9. 将 IS-IS 接口配置为类似于点对点接口。

  10. 在 FTI 上禁用级别 1,并通过包含群集标识符在级别 2 配置泛洪反射器客户端。

  11. 配置 wide-metrics IS-IS 以允许更大范围的指标值。

  12. 将环路接口配置为被动接口,以确保协议不会在环路接口上运行,并确保环路接口在整个网络中正确播发。

  13. 从 R6 设备上的配置模式输入提交。

结果

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

在第 2 级配置非泛洪反射器设备

分步过程

要在第 2 级配置非泛洪反射器设备 R4,请执行以下作:

  1. 配置设备接口以启用 IP 和 ISO 传输。

  2. 使用 IPv4 和 IPv6 地址配置环路接口 (lo0),用作 IS-IS 会话的路由器 ID。在环路接口上配置路由器的 ISO 网络实体名称 (NET) 地址以支持 IS-IS。

  3. 配置路由选项以识别域中的路由器。

  4. 在接口上禁用 IS-IS 级别 1,并在级别 2 接口上配置指标 10 和 11。

  5. 将 IS-IS 接口配置为类似于点对点接口。

  6. 配置 wide-metrics IS-IS 以允许更大范围的指标值。

  7. 将环路接口配置为被动接口,以确保协议不会在环路接口上运行,并确保环路接口在整个网络中正确播发。

  8. 从 R4 设备上的配置模式输入提交。

除了在 2 级非泛洪反射器设备 R4 上配置这些步骤外,还要对非泛洪反射器设备 R5 重复这些步骤。

结果

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

在第 1 级配置非泛洪反射器设备

分步过程

要在第 1 级配置非泛洪反射器设备 R7:

  1. 配置设备接口以启用 IP 和 ISO 传输。

  2. 使用 IPv4 和 IPv6 地址配置环路接口 (lo0),用作 IS-IS 会话的路由器 ID。在环路接口上配置路由器的 ISO 网络实体名称 (NET) 地址以支持 IS-IS。

  3. 配置路由选项以识别域中的路由器。

  4. 在接口上禁用级别 2,并在级别 1 接口上配置指标 100。

  5. 将 IS-IS 接口配置为类似于点对点接口。

  6. 配置 wide-metrics IS-IS 以允许更大范围的指标值。

  7. 将环路接口配置为被动接口,以确保协议不会在环路接口上运行,并确保环路接口在整个网络中正确播发。

  8. 从 R7 设备上的配置模式输入提交。

除了在 1 级非泛洪反射器设备 R7 上配置这些步骤外,还要对非泛洪反射器设备 R8、R9、R10 重复这些步骤。

结果

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

验证

要确认配置工作正常,请执行以下任务:

验证 IS-IS 邻接

目的

验证 IS-IS 邻接是否已打开。

行动

在作模式下,运行 show isis adjacency 命令。

验证 IS-IS 实例是否在设备 R0 和 R6 上运行,以及它们是否彼此相邻。

在作模式下,运行 show isis adjacency extensive 命令。

在 R0 上

意义
  • 设备 R0 上的接口 fti0.0 已与设备 R6 建立邻接关系。

验证泛洪反射器状态

目的

验证泛滥反射器是否已启用并验证其状态。

行动

在作模式下,运行 show isis interface fti0.0 extensive 命令。

在 R6 上

意义
  • 在 R6 上,泛洪反射器在第 2 级的 fti0 上启用,集群 ID 为 100。

验证泛洪反射器客户端状态

目的

验证泛滥反射器客户端是否已启用并验证其状态。

行动

在作模式下,运行 show isis interface fti0.0 extensive 命令。

在 R0 上

意义
  • 在 R0 上,泛洪反射器客户端在第 2 级的 fti0 上启用,集群 ID 为 100。

验证 IS-IS 数据库

目的

验证泛洪反射器和泛洪反射器客户端上的 IS-IS 数据库。

行动

在作模式下,运行 show isis database 命令。

在 R0 上

在 R6 上

意义

在 R0 和 R6 上,IS-IS 数据库显示泛洪反射器客户端和聚类 ID 为 100 的泛洪反射器。

验证 IS-IS 路由

目的

验证在 FTI 上获知的第 2 级路由是否未安装在 R0 路由表中。

行动

在作模式下,运行 show isis route 命令。

在 R0 上

意义

在 R0 和 R6 之间的 FTI 上学习的第 2 级路由未安装在 R0 路由表中。