Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解 BGP 路径选择

对于路由表中的每个前缀,路由协议进程选择一个最佳路径。选择最佳路径后,路由将安装在路由表中。如果具有较低(更首选)全局优先级值(也称为管理距离)的协议未获知相同的前缀,则最佳路径将成为活动路由。确定活动路由的算法如下:

  1. 验证是否可以解析下一跃点。

  2. 选择具有最低首选项值(路由协议进程首选项)的路径。

    不符合转发条件的路由(例如,由于路由策略拒绝或无法访问下一跃点)的优先级为 –1,并且永远不会被选中。

  3. 首选具有较高本地优先级的路径。

    对于非 BGP 路径,请选择具有最低 ppreferences2 值的路径。

  4. 如果启用了累积内部网关协议 (AIGP) 属性,请添加 IGP 指标,并优先选择具有较低 AIGP 属性的路径。

  5. 首选具有最短自治系统 (AS) 路径值的路径(如果配置了 as-path-ignore 语句,则跳过)。

    联合段(序列或集合)的路径长度为 0。AS 集的路径长度为 1。

  6. 首选起点代码较低的路线。

    从 IGP 获知的路由的源码低于从外部网关协议 (EGP) 获知的路由,并且两者的源码都低于不完整的路由(来源未知的路由)。

  7. 首选具有最低多重出口鉴别器 (MED) 指标的路径。

    根据是否配置了非确定性路由表路径选择行为,有两种可能的情况:

    • 如果未配置非确定性路由表路径选择行为(即,如果 path-selection cisco-nondeterministic 语句未包含在 BGP 配置中),对于在 AS 路径前面具有相同相邻 AS 编号的路径,首选 MED 指标最低的路径。要始终比较 MED,无论所比较路由的对等 AS 是否相同,请包含语句 path-selection always-compare-med

    • 如果配置了非确定性路由表路径选择行为(即语句 path-selection cisco-nondeterministic 包含在 BGP 配置中),请首选具有最低 MED 指标的路径。

    确定相邻 AS 时不考虑联合。缺少的 MED 指标被视为存在 MED,但为零。

    注意:

    MED 比较适用于 AS 内的单个路径选择(当路由不包含 AS 路径时),但这种用法并不常见。

    默认情况下,仅比较具有相同对等自治系统 (AS) 的路由的 MED。您可以配置路由表路径选择选项以获取不同的行为。

  8. 严格首选内部路径,其中包括 IGP 路由和本地生成的路由(静态、直接、本地等)。

  9. 优先选择严格的外部 BGP (EBGP) 路径,而不是通过内部 BGP (IBGP) 会话获知的外部路径。

  10. 首选通过具有最低指标的 IGP 路由解析下一跃点的路径。通过 IGP 解析的 BGP 路由优先于无法访问或被拒绝的路由。

    注意:

    如果在上一步之后执行了平局中断,则路径被视为 BGP 等价路径(并将用于转发)。具有相同相邻 AS、由支持多路径的 BGP 邻接方获知的所有路径都会被考虑在内。

    BGP 多路径不适用于共享相同 MED-plus-IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本指标,即使两条路径具有相同的 MED-plus-IGP 成本也是如此。

  11. 如果两个路径都是外部路径,则首选最早的路径,换句话说,即首先学习的路径。这样做是为了尽量减少路由抖动。如果满足以下任一条件,则不使用此规则:

    • 路径选择外部路由器 ID 已配置。

    • 两个对等方具有相同的路由器 ID。

    • 任一对等方都是联合对等方。

    • 这两个路径都不是当前活动路径。

  12. 首选主路由而不是辅助路由。主路由是属于路由表的路由。辅助路由是通过导出策略添加到路由表中的路由。

  13. 首选路由器 ID 最低的对等方路径。对于具有发起方 ID 属性的任何路径,在路由器 ID 比较期间,将发起方 ID 替换为路由器 ID。

  14. 首选群集列表长度最短的路径。长度为 0 表示无列表。

  15. 首选来自对等方 IP 地址最低的对等方的路径。

路由表路径选择

默认情况下,算法的最短 AS 路径步骤评估 AS 路径的长度并确定活动路径。您可以配置一个选项,通过包含 as-path-ignore 选项,使 Junos OS 能够跳过算法的这一步。

注意:

从 Junos OS 版本 14.1R8、14.2R7、15.1R4、15.1F6 和 16.1R1 开始,路由实例支持 路径忽略 选项。

路由进程路径选择在 BGP 将路径移交给路由表以做出决定之前进行。要配置路由表路径选择行为,请包含以下 path-selection 语句:

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

可以通过以下方式之一配置路由表路径选择:

  • 模拟思科 IOS 默认行为(思科非确定性)。此模式按接收顺序评估路由,不会根据相邻 AS 对其进行分组。在 cisco-non-deterministic 模式下,活动路径始终排在第一位。所有非活动但符合条件的路径都遵循活动路径,并按接收顺序进行维护,最新的路径排在最前面。不符合条件的路径仍位于列表末尾。

    例如,假设 192.168.1.0 /24 路由有三个路径播发:

    • 路径 1 - 通过 EBGP 学习;AS 路径 65010;MED 的 200

    • 路径 2 - 通过 IBGP 学习;AS 路径为 65020;MED 为 150;IGP 成本为 5

    • 路径 3 — 通过 IBGP 学习;AS 路径 65010;MED 为 100;IGP 成本为 10

    这些广告按列出的顺序在一秒钟内快速连续收到。路径 3 是最近收到的,因此路由设备会将其与路径 2(下一个最新的播发)进行比较。对于路径 2,IBGP 对等方的成本更好,因此路由设备消除了路径 3 的争用。比较路径 1 和 2 时,路由设备首选路径 1,因为它是从 EBGP 对等方接收的。这允许路由设备将路径 1 安装为路由的活动路径。

    注意:

    建议不要在网络中使用此配置选项。它仅用于互操作性,以允许网络中的所有路由设备做出一致的路由选择。

  • 始终比较 MED,无论所比较路由的对等 AS 是否相同(始终比较)。

  • 覆盖以下规则:如果两个路径都是外部路径,则首选当前活动路径 (external-router-id)。继续执行路径选择过程中的下一步(步骤 12)。

  • 在比较路径选择的 MED 值之前,将下一跃点目标的 IGP 成本添加到 MED 值 (med-plus-igp)。

    BGP 多路径不适用于共享相同 MED-plus-IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本指标,即使两条路径具有相同的 MED-plus-IGP 成本也是如此。

BGP 表路径选择

BGP 的路径选择遵循以下参数:

  1. 首选最高的本地首选项值。

  2. 首选最短 AS 路径长度。

  3. 首选最低源值。

  4. 首选最低的 MED 值。

  5. 首选从 EBGP 对等方获知的路由,而不是 IBGP 对等方。

  6. 最好退出 AS。

  7. 对于 EBGP 接收的路由,首选当前活动路由。

  8. 首选路由器 ID 最低的对等方的路由。

  9. 首选集群长度最短的路径。

  10. 首选来自对等方 IP 地址最低的对等方的路由。步骤 2、6 和 12 是 RPD 标准。

宣传通往目的地的多条路径的效果

BGP 仅播发活动路径,除非您将 BGP 配置为将多个路径播发到目标。

假设路由设备的路由表中有四条通向目标的路径,并配置为播发最多三条路径(添加路径发送路径计数 3)。这三条路径是根据路径选择标准选择的。也就是说,三个最佳路径按路径选择顺序进行选择。最佳路径是活动路径。此路径将从考虑范围中删除,并选择新的最佳路径。重复此过程,直到达到指定的路径数。

版本历史记录表
释放
描述
14.1R8
从 Junos OS 版本 14.1R8、14.2R7、15.1R4、15.1F6 和 16.1R1 开始,路由实例支持 路径忽略 选项。