Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

LDP 信号 LSP

9

LDPpreference,如 MPLS 应用程序用户指南所述

OSPF 内部路由

10

OSPF 优先级

OSPF SR 路由

10

标记为 OSPF 首选项

接入内部路由

12

接入路由

13

IS-IS 级别 1 内部路由

15

IS-IS 首选项

IS-IS 级别 2 内部路由

18

IS-IS 首选项

IS-IS SR 路由

14

标记为 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 组播协议用户指南

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

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

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

要求

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

概述

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

某些供应商的外部 BGP (EBGP) 首选项(距离)为 20,内部 BGP (IGBP) 的距离为 200。Junos OS 对 EBGP 和 IBGP 使用相同值 (170)。但是,供应商之间的这种差异不会影响运营,因为 Junos OS 总是偏爱 EBGP 路由而不是 IBGP 路由。

供应商不同的另一个领域是与 BGP 距离相比的 IGP 距离。例如,有些供应商为 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 学习到的最佳路由,即使 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 优先级值拓扑BGP 优先级值拓扑

配置

CLI 快速配置

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

设备 R1

设备 R2

程序

逐步过程

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

要配置设备 R1:

  1. 配置接口。

  2. 配置本地自治系统。

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

  4. 配置 OSPF。

  5. 配置路由策略。

结果

在配置模式下,输入 show interfacesshow policy-optionsshow protocolsshow 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 确定路由的优先级以成为活动路由时,会选择优先级最低的路由作为活动路由,并将此路由安装到转发表中。默认情况下,路由软件会将优先级 170 分配给源自 BGP 的路由。在所有路由协议中,BGP 具有最高的默认优先级值,这意味着 BGP 学习的路由成为活动路由的可能性最小。

某些供应商的外部 BGP (EBGP) 首选项(距离)为 20,内部 BGP (IGBP) 的距离为 200。Junos OS 对 EBGP 和 IBGP 使用相同值 (170)。但是,供应商之间的这种差异不会影响运营,因为 Junos OS 总是偏爱 EBGP 路由而不是 IBGP 路由。

供应商不同的另一个领域是与 BGP 距离相比的 IGP 距离。例如,有些供应商为 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 优先级值拓扑

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

本节 #d11e83__d11e231 介绍设备 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 interfacesshow protocolsshow policy-optionsshow 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 会话和多个出口点的典型网络具有 IBGP 会话和多个出口点的典型网络

要到达设备 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 interfacesshow policy-optionsshow protocolsshow routing-options 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

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

配置设备 R2

逐步过程

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

要配置设备 R2:

  1. 配置接口。

  2. 配置 BGP。

  3. 配置 OSPF。

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

    注:

    在这种情况下,其他有用的选项可能是接受通过 OSPF 或本地路由学习的路由。

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

结果

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

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

配置设备 R3

逐步过程

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

要配置设备 R3:

  1. 配置接口。

  2. 配置 BGP。

  3. 配置 OSPF。

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

    注:

    在这种情况下,其他有用的选项可能是接受通过 OSPF 或本地路由学习的路由。

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

结果

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

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

配置设备 R4

逐步过程

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

要配置设备 R4:

  1. 配置接口。

  2. 配置 BGP。

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

    注:

    在这种情况下,其他有用的选项可能是接受通过 OSPF 或本地路由学习的路由。

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

结果

在配置模式下,输入 show interfacesshow policy-optionsshow protocolsshow 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,即使 Junos OS 未将其选择为活动路由,也要将其导出到 BGP 的最佳路由,请包括 advertise-inactive 以下语句:

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

注:

如果路由表有两个 BGP 路由,其中一个处于活动状态,另一个处于非活动状态, advertise-inactive 则该语句不会通告非活动 BGP 前缀。当其他活动 BGP 路由出现时,此语句不会通告非活动 BGP 路由。但是,如果活动路由是静态路由,则该 advertise-inactive 语句通告非活动 BGP 路由。

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

此限定符仅在导出策略环境中使用时匹配。当可通告无效路由(如 BGP)的协议通告路由时,state inactive匹配因 (或advertise-external) 语句而播发的advertise-inactive路由。

例如,以下配置可用作 BGP 导出策略,用于标记因用户定义公共组设置而 advertise-inactive 通告的路由。接收方路由器稍后可以使用该公共组从转发表中过滤掉此类路由。这种机制可用于解决发送方未用于转发的广告路径可能导致转发环路的问题。

要求

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

概述

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

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

拓扑

图 4 显示了示例网络。

图 4: 用于播发无效的 BGP 拓扑用于播发无效的 BGP 拓扑

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

本节 #d14e117__d14e243 介绍设备 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 interfacesshow protocolsshow policy-optionsshow routing-options 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

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

验证

确认配置工作正常。

验证 BGP 活动路径

目的

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

行动
意义

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

验证外部路由通告

目的

在设备 R2 上,请确保 172.16.5.0/24 路由通告至设备 R3。

行动
意义

设备 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 配置中移除时会发生什么。

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

  2. 在设备 R2 上,检查 172.16.5.0/24 路由是否通告至设备 R3。

    如预期的那样,路由不再通告。

  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。