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 路径,选择优先级值最低的路径 2

  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-忽略 选项,使 Junos OS 能够跳过算法的这一步。

注意:

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

在 BGP 将路径交由路由表进行决策之前,将路由流程路径选择进行。要配置路由表路径选择行为,请 path-selection 添加以下语句:

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

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

  • 模拟 Cisco IOS 默认行为(cisco 非确定性)。此模式按接收顺序评估路由,不会根据相邻 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;10 的 IGP 成本

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

    注意:

    我们不建议在网络中使用此配置选项。它专为互操作性而提供,允许网络中的所有路由设备进行一致的路由选择。

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

  • 覆盖以下规则:如果两条路径都是外部路径,则当前活动路径为首选路径(外部路由器 ID)。继续选择路径过程中的下一步(步骤 12)。

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

    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 配置为将多个路径播发至目标。

假设一个路由设备在其路由表中有四条到一个目标的路径,并且被配置为播发最多三个路径(add-path send path-count 3)。根据路径选择标准选择这三条路径。也就是说,按路径选择顺序选择三个最佳路径。最佳路径是活动路径。此路径已从考虑范围中移除,并会选择一条新的最佳路径。此过程会重复进行,直到达到指定数量的路径。

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