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) 指标最低的路径。

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

    • 如果未配置非确定性路由表路径选择行为(即,如果 BGP 配置中未包含该 path-selection cisco-nondeterministic 语句),则对于在 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 加 IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本指标,即使两条路径具有相同的 MED 加 IGP 成本。

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

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

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

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

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

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

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

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

  15. 优先选择主路由而不是辅助路由。主路由是属于路由表的路由。辅助路由是通过导出策略添加到路由表的路由。

路由表路径选择

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

注意:

从 Junos OS 14.1R8、14.2R7、15.1R4、15.1F6 和 16.1R1 版开始,路由实例支持 as-path-ignore 选项。

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

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

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

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

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

    • 路径 1 — 通过 EBGP 学习;AS 路径为 65010;MED of 200

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

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

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

    注意:

    我们不建议在您的网络中使用此配置选项。其仅用于互作性,使网络中的所有路由设备都能做出一致的路由选择。

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

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

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

    BGP 多路径不适用于共享相同 MED 加 IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本指标,即使两条路径具有相同的 MED 加 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 版开始,路由实例支持 as-path-ignore 选项。