BGP 路由的本地优先级

了解路由优先级值(管理距离)

Junos OS 路由协议进程会为路由表接收的每个路由分配一个默认优先级值(也称为 管理距离)。默认值取决于路由的来源。优先级值是从 0 到 4,294,967,295 (232 – 1) 的 值,值越低表示更首选的路由。 表 1 列出了默认优先级值。

表 1:默认路由首选项值

如何学习路由

默认首选项

用于修改默认 优先级的语句

直连网络

0

–

系统路由

4

–

静态和静态 LSP

5

静态

ARI-TS

5

ARI-TS 优先级。

从 Junos OS 22.2R1 版开始,ARI 路由安装为 ARI-TS 协议路由,而不是早期 Junos OS 版本中安装的静态路由。

静态 LSP

6

MPLS 优先级

注意:

在 10.4 之前的 Junos OS 版本中,如果使用语句配置 static-path 静态 MPLS LSP,则默认优先级值为 5。从 Junos OS 10.4 版开始,如果配置 默认 static-label-switched-path 首选项值为 6。之前的配置语句 static-path 在 Junos OS 10.4 及更高版本中隐藏。

RSVP 信号 LSP

7

按照《MPLS 应用程序用户指南》中所述进行 RSVP preference

SR-流量工程

8

SR-流量工程首选项

LDP 信号 LSP

9

LDP preference,如《MPLS 应用程序用户指南》中所述

OSPF 内部路由

10

OSPF 优先级

OSPF SR 路由

10

标记的 OSPF 首选项

访问内部路由

12

–

访问路由

13

–

IS-IS SR 路由

14

标记为 IS-IS 优先级

IS-IS 1 级 内部路由

15

IS-IS 优先级

IS-IS 2 级 内部路由

18

IS-IS 优先级

重定向

30

–

内核

40

–

SNMP

50

–

路由器发现

55

–

RIP

100

RIP 首选项

RIPng

100

RIPng 首选项

PIM

105

Junos OS 组播协议用户指南

DVMRP

110

Junos OS 组播协议用户指南

聚合

130

聚合

OSPF AS 外部路由

150

OSPF 外部优先级

IS-IS 1 级 外部路由

160

IS-IS 外部优先

IS-IS 2 级 外部路由

165

IS-IS 外部优先

BGP

170

BGP 首选项、导出、导入

MSDP

175

Junos OS 组播协议用户指南

EVPN 5 类

170

EVPN 用户指南

EVPN Type-2(本地学习的 MAC/IP)

7

EVPN 用户指南

注意:

EVPN 路由根据其类型具有不同的优先级值。本地获知的 MAC/IP 条目的 2 类路由优先级为 7,而 5 类路由(IP 前缀路由)的优先级为 170。

通常,语句范围越窄,其优先级值的优先级就越高,但影响的路由集就越小。要修改路由协议获知的路由的默认优先级值,通常在配置单个路由协议时应用路由策略。您还可以使用表中所示的其他配置语句修改某些首选项。

示例:配置 BGP 路由的优先级值

此示例说明如何指定从 BGP 获知的路由的优先级。路由信息可从多个来源获知。为了断开从多个源获知的同样特定路由之间的联系,每个源都有一个优先级值。通过显式管理操作(如静态路由)获知的路由优先于从路由协议(如 BGP 或 OSPF)获知的路由。一些供应商将此概念称为 管理距离 。

要求

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

概述

路由信息可从多个来源获知,例如通过静态配置、BGP 或内部网关协议 (IGP)。当 Junos OS 确定路由的优先级成为活动路由时,它会选择优先级最低的路由作为活动路由,并将此路由安装到转发表中。默认情况下,路由软件会为源自 BGP 的路由分配优先级 170。在所有路由协议中,BGP 具有最高的默认优先级值,这意味着 BGP 获知的路由成为活动路由的可能性最小。

某些供应商的外部 BGP (EBGP) 优先级(距离)为 20,内部 BGP (IGBP) 的距离为 200。Junos OS 对 EBGP 和 IBGP 使用相同的值 (170)。但是,供应商之间的这种差异不会影响运维,因为 Junos OS 始终优先选择 EBGP 路由而不是 IBGP 路由。

供应商之间的另一个差异是 IGP 距离与 BGP 距离的比较。例如,某些供应商为 OSPF 路由分配了 110 的距离。这高于 EBGP 距离 20 ,并导致在等效 OSPF 路由上选择 EBGP 路由。在同一场景中,Junos OS 选择 OSPF 路由,因为内部 OSPF 路由的默认优先级为 10,外部 OSPF 路由的默认优先级为 150,这两个优先级均低于分配给所有 BGP 路由的 170 优先级。

在多供应商环境中,您可能需要更改 BGP 路由的优先级值,以便 Junos OS 选择 EBGP 路由而不是 OSPF 路由。要实现此目标,一种选择是在 EBGP 配置中包含 preference 该语句。要修改默认 BGP 优先级值,请包含该 preference 语句,指定一个从 0 到 4,294,967,295 (232 – 1) 的 值。

提示:

实现多供应商兼容性的另一种方法是将该语句包含在 advertise-inactive EBGP 配置中。这会导致路由表将 BGP 获知的最佳路由导出到 BGP,即使 Junos OS 未将其选择为活动路由也是如此。默认情况下,BGP 将从更新消息接收到的路由信息存储在 Junos OS 路由表中,路由表仅将活动路由导出到 BGP,然后 BGP 将其播发给对等方。该 advertise-inactive 语句会导致 Junos OS 播发由于 IGP 优先级而处于非活动状态的最佳 BGP 路由。使用该 advertise-inactive 语句时,Junos OS 设备使用 OSPF 路由进行转发,而其他供应商的设备使用 EBGP 路由进行转发。但是,从相邻 AS 中 EBGP 对等方的角度,两家供应商的设备看起来行为方式相同。

拓扑结构

在示例网络中,设备 R1 和设备 R2 彼此之间有 EBGP 路由,彼此之间也有 OSPF 路由。

此示例显示了以下情况下的路由表:

  • 接受 BGP 的默认优先级值 170 和 OSPF 的 10。

  • 将 BGP 首选项更改为 8。

图 1 显示了示例网络。

图 1:BGP 优先级值拓扑 Network topology diagram with two routers R1 and R2 connected by a link in AS 65500. R2 has a loopback interface lo0 with IP 10.255.14.177.

配置

CLI 快速配置

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

设备 R1

设备 R2

过程

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R1:

  1. 配置接口。

  2. 配置本地自治系统。

  3. 使用设备 R2 配置外部对等。

  4. 配置 OSPF。

  5. 配置路由策略。

结果

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

如果完成设备配置,请从配置模式输入 commit 。 在设备 R2 上重复这些步骤。

验证

确认配置工作正常。

验证偏好

目的

请确保设备 R1 和设备 R2 上的路由表反映设备 R1 使用的是配置的 EBGP 优先级 8,而设备 R2 使用的是默认 EBGP 优先级 170。

行动

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

意义

输出显示,在设备 R1 上,到设备 R2 环路接口 (10.255.14.177/32) 的活动路径是 BGP 路由。输出还显示,在设备 R2 上,到设备 R1 的环路接口 (10.255.71.24/32) 的活动路径是 OSPF 路由。

示例:使用路由策略为 BGP 路由设置优先级值

此示例说明如何使用路由策略设置从 BGP 获知的路由的首选项。路由信息可从多个来源获知。为了断开从多个源获知的同样特定路由之间的联系,每个源都有一个优先级值。通过显式管理操作(如静态路由)获知的路由优先于从路由协议(如 BGP 或 OSPF)获知的路由。一些供应商将此概念称为 管理距离 。

要求

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

概述

路由信息可从多个来源获知,例如通过静态配置、BGP 或内部网关协议 (IGP)。当 Junos OS 确定路由的优先级成为活动路由时,它会选择优先级最低的路由作为活动路由,并将此路由安装到转发表中。默认情况下,路由软件会为源自 BGP 的路由分配优先级 170。在所有路由协议中,BGP 具有最高的默认优先级值,这意味着 BGP 获知的路由成为活动路由的可能性最小。

某些供应商的外部 BGP (EBGP) 优先级(距离)为 20,内部 BGP (IGBP) 的距离为 200。Junos OS 对 EBGP 和 IBGP 使用相同的值 (170)。但是,供应商之间的这种差异不会影响运维,因为 Junos OS 始终优先选择 EBGP 路由而不是 IBGP 路由。

供应商之间的另一个差异是 IGP 距离与 BGP 距离的比较。例如,某些供应商为 OSPF 路由分配了 110 的距离。这高于 EBGP 距离 20,并导致在等效 OSPF 路由上选择 EBGP 路由。在同一场景中,Junos OS 选择 OSPF 路由,因为内部 OSPF 路由的默认优先级为 10,外部 OSPF 路由的默认优先级为 150,这两个优先级均低于分配给所有 BGP 路由的 170 优先级。

此示例显示了匹配来自特定下一跃点的路由并设置优先级的路由策略。如果路由与第一个术语不匹配,则由第二个术语对其进行评估。

拓扑结构

在示例网络中,设备 R1 和设备 R3 与设备 R2 具有 EBGP 会话。

在设备 R2 上,导入策略会执行以下操作:

  • 对于通过下一跃点 10.0.0.1(设备 R1)通过 BGP 接收的路由,请将路由优先级设置为 10。

  • 对于通过下一跃点 10.1.0.2(设备 R3)通过 BGP 接收的路由,请将路由优先级设置为 15。

图 2 显示了示例网络。

图 2:BGP 优先级值拓扑 BGP Preference Value Topology

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

第 #d11e86__d11e235 节介绍了设备 R2 上的步骤。

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

过程

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R2:

  1. 配置设备接口。

  2. 配置本地自治系统。

  3. 配置发送直接路由的路由策略。

  4. 配置用于更改接收路由的优先级的路由策略。

  5. 使用设备 R2 配置外部对等。

  6. 将策略应用 set-preference 为导入策略。

    这会影响设备 R2 的路由表,对设备 R1 和设备 R3 没有影响。

结果

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

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

验证

确认配置工作正常。

验证偏好

目的

请确保设备 R1 和设备 R2 上的路由表反映设备 R1 使用的是配置的 EBGP 优先级 8,而设备 R2 使用的是默认 EBGP 优先级 170。

行动

在操作模式下,输入命令 show route protocols bgp 。

意义

输出显示,在设备 R2 上,从设备 R3 获知的路由的优先级值已更改为 15,而从设备 R1 获知的路由的优先级值已更改为 10。

了解内部 BGP 路由的本地优先指标

内部BGP (IBGP) 会话使用称为 本地优先级的指标,该指标在路径属性LOCAL_PREF的 IBGP 更新数据包中传输。当一个自治系统 (AS) 有到其他 AS 的多个路由时,本地优先级指示一个 BGP 路由优先于其他 BGP 路由的程度。首选具有最高本地优先级值的 BGP 路由。

LOCAL_PREF 路径属性始终播发至 IBGP 对等方和相邻联合体。它永远不会播发给外部 BGP (EBGP) 对等方。默认行为是不修改LOCAL_PREF路径属性(如果存在)。

默认LOCAL_PREF路径属性值 100 仅在导出时将路径从路由表导出到 BGP 时适用。

如果收到的BGP路由没有LOCAL_PREF属性,则路由将存储在路由表中,并由BGP进行通告,就像接收LOCAL_PREF值为 100 一样。默认情况下,由 BGP 播发的非BGP路由的LOCAL_PREF值 为 100。

示例:配置 BGP 路由的本地优先级值

此示例说明如何在内部 BGP (IBGP) 对等会话中配置本地优先级。

要求

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

概述

要更改路径属性中播发的本地偏好指标,您必须包含该 local-preference 语句,指定从 0 到 4,294,967,295 (232 – 1) 的 值。

您可能希望更喜欢一条路径而不是另一条路径,原因有多种。例如,与其他路径相比,一条路径的使用成本可能更低、带宽更高或更稳定。

图 3 显示了一个典型网络,其中包含内部对等会话和相邻 AS 的多个出口点。

图 3:具有 IBGP 会话和多个出口点 Typical Network with IBGP Sessions and Multiple Exit Points的典型网络

要到达设备 R4,设备 R1 可以采用穿过设备 R2 或设备 R3 的路径。默认情况下,任一路由的本地优先级为 100。当本地优先级相等时,Junos OS 会制定打破平局和选择路径的规则。(请参阅 了解 BGP 路径选择。)在此示例中,活动路由通过设备 R2,因为设备 R2 的路由器 ID 低于设备 R3 的路由器 ID。以下示例演示如何使用本地首选项的显式设置覆盖默认行为。此示例在设备 R3 上配置了 300 的本地优先级,从而使设备 R3 成为到达设备 R4 的首选路径。

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

设备 R4

配置设备 R1

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R1:

  1. 配置接口。

  2. 配置 BGP。

  3. 配置 OSPF。

  4. 配置接受直接路由的策略。

    注意:

    此方案的其他有用选项可能是接受通过 OSPF 或本地路由获知的路由。

  5. 配置路由器 ID 和自治系统 (AS) 编号。

结果

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

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

配置设备 R2

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R2:

  1. 配置接口。

  2. 配置 BGP。

  3. 配置 OSPF。

  4. 配置接受直接路由的策略。

    注意:

    此方案的其他有用选项可能是接受通过 OSPF 或本地路由获知的路由。

  5. 配置路由器 ID 和自治系统 (AS) 编号。

结果

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

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

配置设备 R3

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R3:

  1. 配置接口。

  2. 配置 BGP。

  3. 配置 OSPF。

  4. 配置接受直接路由的策略。

    注意:

    此方案的其他有用选项可能是接受通过 OSPF 或本地路由获知的路由。

  5. 配置路由器 ID 和自治系统 (AS) 编号。

结果

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

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

配置设备 R4

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R4:

  1. 配置接口。

  2. 配置 BGP。

  3. 配置接受直接路由的策略。

    注意:

    此方案的其他有用选项可能是接受通过 OSPF 或本地路由获知的路由。

  4. 配置路由器 ID 和自治系统 (AS) 编号。

结果

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

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

验证

确认配置工作正常。

检查从设备 R1 到设备 R4 的活动路径

目的

验证从设备 R1 到设备 R4 的活动路径是否通过设备 R2。

行动

在操作模式下,输入命令 show route protocol bgp 。

意义

星号 (*) 表示首选路径通过设备 R2。在默认配置中,设备 R2 的路由器 ID 低于设备 R3。路由器 ID 控制路径选择。

更改本地首选项以更改路径选择

目的

更改路径,使其通过设备 R3。

行动

从配置模式,输入命令 set local-preference 300 。

重新检查从设备 R1 到设备 R4 的活动路径

目的

验证从设备 R1 到设备 R4 的活动路径是否通过设备 R3。

行动

在操作模式下,输入命令 show route protocol bgp 。

意义

星号 (*) 表示首选路径通过设备 R3。在更改后的配置中,设备 R3 的本地优先级高于设备 R2。本地优先级是控制路径选择。

示例:配置 BGP 以通告非活动路由

默认情况下,BGP 仅重新播发活动路由。要将路由表导出为BGP BGP获知的最佳路由(即使Junos OS未将其选择为活动路由),请包含以下 advertise-inactive 语句:

在 Junos OS 中,BGP 通告已安装或处于活动状态的 BGP 路由,这些路由是根据 BGP 路径选择规则选择的最佳路由。该 advertise-inactive 语句允许将非活动 BGP 路由播发至其他对等方。

注意:

如果路由表有两个 BGP 路由,其中一个处于活动状态,另一个处于非活动状态, advertise-inactive 则该语句不会播发非活动 BGP 前缀。如果存在其他活动 BGP 路由,此语句不会播发非活动 BGP 路由。但是,如果活动路由是静态路由, advertise-inactive 则该语句会播发非活动 BGP 路由。

注意:

当路由器配置为路由反射器时,该 advertise-inactive 语句无助于从 VRF 播发非活动路由。

Junos OS 还支持配置与播发路由状态匹配的 BGP 导出策略。您可以匹配活动或非活动路由,如下所示:

仅当在导出策略的上下文中使用时,此限定符才匹配。当路由由可播发非活动路由(如 BGP)的协议播发时,state inactive匹配由于 (or advertise-external) 语句而advertise-inactive播发的路由。

例如,以下配置可用作 BGP 导出策略,以标记由于 advertise-inactive 用户定义社区的设置而播发的路由。接收路由器稍后可以使用该社区从转发表中过滤掉此类路由。此类机制可用于解决发送方未用于转发的播发路径可能导致转发环路的担忧。

要求

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

概述

在此示例中,设备 R2 有两个外部 BGP (EBGP) 对等方,设备 R1 和设备 R3。

设备 R1 有到 172.16.5/24 的静态路由。同样,设备 R2 也有到 172.16.5/24 的静态路由。设备 R1 通过 BGP 向设备 R2 发送有关其静态路由的信息。设备 R2 现在有来自两个来源的有关 172.16.5/24 的信息:设备 R2 自己的静态路由和从设备 R1 接收的 BGP 获知路由。静态路由优先于 BGP 获知的路由,因此 BGP 路由在设备 R2 上处于非活动状态。通常,设备 R2 会将 BGP 获知的信息发送到设备 R3,但设备 R2 不会这样做,因为 BGP 路由处于非活动状态。因此,设备 R3 没有关于 172.16.5/24 的信息,除非您在设备 R2 上启用命令 advertise-inactive ,这会导致设备 R2 将 BGP 获知的请求发送到设备 R3。

拓扑结构

图 4 显示了示例网络。

图 4:广告无效 BGP Topology for advertise-inactive的 BGP 拓扑

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

第 #d14e128__d14e255 节介绍了设备 R2 上的步骤。

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

过程

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R2:

  1. 配置设备接口。

  2. 配置到设备 R1 的 EBGP 连接。

  3. 配置到设备 R3 的 EBGP 连接。

  4. 将该 advertise-inactive 语句添加到与设备 R3 的 EBGP 组对等会话中。

  5. 配置到 172.16.5.0/24 网络的静态路由。

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

结果

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

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

验证

确认配置工作正常。

验证 BGP 活动路径

目的

在设备 R2 上,确保 172.16.5.0/24 前缀位于路由表中,并具有预期的活动路径。

行动
意义

设备 R2 从设备 R1 和其自己的静态配置路由接收 172.16.5.0/24 路由。静态路由是由星号 (*) 指定的活动路径。与 BGP 优先级 (170) 相比,静态路由路径具有最低的路由优先级 (5)。因此,静态路由将变为活动状态。

验证外部路由通告

目的

在设备 R2 上,确保向设备 R3 播发 172.16.5.0/24 路由。

行动
意义

设备 R2 正在向设备 R3 播发 172.16.5.0/24 路由

验证设备 R3 上的路由

目的

确保 172.16.6.0/24 前缀位于设备 R3 的路由表中。

行动
意义

设备 R3 具有 172.16.5.0/24 的 BGP 获知路由。

试验 advertise-inactive 语句

目的

查看从设备 R2 上的 BGP 配置中移除该语句后 advertise-inactive 会发生什么情况。

行动
  1. 在设备 R2 上,停用该 advertise-inactive 语句。

  2. 在设备 R2 上,检查是否向设备 R3 播发了 172.16.5.0/24 路由。

    正如预期一样,不再对路由进行播发。

  3. 在设备 R3 上,确保路由表中没有 172.16.5/24 路由。

意义

设备 R1 将路由 172.16.5/24 播发至设备 R2,但设备 R2 为此前缀手动配置了静态路由。静态路由优先于 BGP 路由,因此设备 R2 会将 BGP 路由安装为非活动路由。由于 BGP 路由未处于活动状态,设备 R2 不会将 BGP 路由重新播发至设备 R3。这是 Junos OS 中的默认行为。如果将该 advertise-inactive 语句添加到设备 R2 上的 BGP 配置中,设备 R2 将重新播发非活动路由。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
10.4
从 Junos OS 10.4 版开始,如果配置 默认 static-label-switched-path 首选项值为 6。