Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP 会话的自治系统

了解 BGP 本地 AS 属性

当互联网服务提供商 (ISP) 获取属于不同自治系统 (AS) 的网络时,无法将所获取网络的 BGP 对等方移动到获取 ISP 的 AS。使用新的 AS 编号配置 BGP 对等方的过程可能既耗时又繁琐。有时,客户不想或无法立即修改其对等安排或配置。在这种过渡期间,可以在新的 AS 中配置支持 BGP 的设备,以便在 BGP 更新中使用之前的 AS 编号。此以前的 AS 编号称为本地 AS。

使用本地 AS 编号让所获取网络中的路由设备看起来好像仍属于之前的 AS。

例如,AS 为 65 200 的 ISP A 获取 AS 为 65250 的 ISP B。ISP B 有一个不想更改其配置的客户 ISP C。ISP B 成为 ISP A 的一部分后,将配置一个本地 AS 编号 65250,以便在与 ISP C 的 EBGP 对等会话中使用。因此,本地 AS 编号 65 250 要么前置在前面,要么用于代替 AS 路径中的全局 AS 编号 65200,用于将路由导出到 ISP C 中的直接外部对等方。

如果路由是从内部 BGP (IBGP) 对等方接收的,则 AS 路径将包含在全局 AS 编号之前附加的本地 AS 编号。

如果路由是外部路由(例如导入 BGP 的静态路由或内部网关协议 (IGP) 路由),则使用本地 AS 编号代替全局 AS 编号。如果路由是外部的,并且您希望将全局 AS 编号包含在 AS 路径中,则可以应用使用 或 的路由策略。as-path-expandas-path-prepend 使用 策略操作将全局 AS 编号置于本地 AS 编号之后。as-path-expand 使用 策略操作将全局 AS 编号置于本地 AS 编号前面。as-path-prepend

例如:

在第 3 层 VPN 场景中,提供商边缘 (PE) 设备使用外部 BGP (EBGP) 与客户边缘 (CE) 设备对等,语句 的行为与非 VPN 场景中的行为不同。local-as 在 VPN 场景中,默认情况下,在主实例中定义的全局 AS 编号会前置到 AS 路径。要覆盖此行为,可以在 PE 设备上配置 路由实例 BGP 配置,如下所示:no-prepend-global-as

本地 AS 属性的 Junos 操作系统 (Junos OS) 实现支持以下选项:

  • — 使用该 选项时,将在与 EBGP 邻接方建立 BGP 会话期间使用本地 AS,但在发送至其他 IBGP 和 EBGP 对等方的 AS 路径中会隐藏本地 AS。Local AS with private optionprivate 发送至外部对等方的 AS 路径中仅包含全局 AS。

    该 选项可用于与仍配置了其先前 AS 的路由设备建立本地对等关系,或者与尚未修改其对等方安排的特定客户建立对等关系。private 本地 AS 用于建立与 EBGP 邻接方的 BGP 会话,但隐藏在发送到另一个 AS 中的外部对等方的 AS 路径中。

    包括该 选项,以便在发送给外部对等方的 AS 路径中,本地 AS 不会在全局 AS 之前附加。private 指定该 选项时,本地 AS 只会前置在发送到 EBGP 邻接方的 AS 路径中。private

    例如,在 中,路由器 1 和路由器 2 在 AS 64496 中,路由器 4 在 AS 64511 中,路由器 3 在 AS 64510 中。图 1路由器 2 之前属于 AS 64497,后者已与其他网络合并,现在属于 AS 64496。由于路由器 3 仍然使用其以前的 AS (64497) 与路由器 2 对等,因此路由器 2 需要配置本地 AS 64497,以便与路由器 3 保持对等。配置本地 AS 64497 将允许路由器 2 在向路由器 3 播发路由时添加 AS 64497。路由器 3 看到前缀 10/8 的 AS 路径为 64497 64496。

    图 1: 本地 AS 配置本地 AS 配置

    要防止路由器 2 在向其他对等方的公告中添加本地 AS 编号,请使用 该语句。local-as 64497 private 此语句将路由器 2 配置为在向路由器 1 和路由器 4 通告路由时不包含本地 AS 64497。在这种情况下,路由器 4 会看到前缀 10.222/16 的 AS 路径为 64496 64510。

  • Local AS with alias option— 在 Junos OS 9.5 及更高版本中,您可以将本地 AS 配置为别名。在建立 BGP 开放式会话期间,开放式消息中使用的 AS 在本地 AS 和全局 AS 之间交替。如果使用本地 AS 与 EBGP 邻接方连接,则在建立 BGP 对等会话时,只会将本地 AS 前置到 AS 路径。如果使用全局 AS 与 EBGP 邻接方连接,则在建立 BGP 对等会话时,只会将全局 AS 前置到 AS 路径。使用该 选项还意味着,对于从该 EBGP 邻接方获知的任何路由,本地 AS 不会前置到 AS 路径中。alias 因此,本地 AS 对其他外部对等方保持隐藏。

    将已获取网络中的路由设备迁移到新 AS 时,使用该 选项配置本地 AS 特别有用。alias 在迁移过程中,某些路由设备可能配置了新的 AS,而其他设备仍配置之前的 AS。例如,最好先迁移到新的 AS,其中有路由设备充当路由反射器。但是,当您以增量方式迁移路由反射器客户端时,每个路由反射器必须与配置了旧 AS 的路由设备对等,并与配置了新 AS 的路由设备对等。要建立本地对等会话,网络中的 BGP 对等方同时使用本地 AS 和全局 AS 会很有用。同时,您希望对外部对等方隐藏此本地 AS,并在将路由导出到其他 AS 时,仅在 AS 路径中使用全局 AS。在这种情况下,请配置该 选项。alias

    包括将 本地 AS 配置为在层次结构级别配置 的全局 AS 的别名的选项。alias[edit routing-options] 将本地 AS 配置为别名时,在建立 BGP 开放式会话期间,开放式消息中使用的 AS 在本地 AS 和全局 AS 之间交替。仅当使用该本地 AS 与 EBGP 邻接方建立对等会话时,才会将本地 AS 前置到 AS 路径。在发送至任何其他外部对等方的 AS 路径中,本地 AS 将会隐藏。当使用全局 AS 建立 BGP 会话时,仅将全局 AS 前置到 AS 路径。

    注:

    和选项是互斥的。privatealias 不能使用相同的语句配置 这两个选项。local-as

  • Local AS with option not to prepend the global AS—在 Junos OS 9.6 及更高版本中,您可以配置本地 AS,并提供不前置全局 AS 的选项。在发送至外部对等方的 AS 路径中仅包含本地 AS。

    如果要在虚拟专用网络 (VPN) 方案中从出站 BGP 更新中删除全局 AS 编号,请使用该选项。no-prepend-global-as 在 VPN 场景中,当您想对 VPN 隐藏全局 AS 时,此选项很有用。

    包括以下选项以 从发送到外部对等方的 AS 路径中删除在层次结构级别配置 的全局 AS。no-prepend-global-as[edit routing-options] 使用此选项时,对于发送至客户边缘 (CE) 设备的路由,AS 路径中仅包含本地 AS。

  • Number of loops option— 本地 AS 功能还支持指定在 AS_PATH 属性中检测到 AS 编号导致路由被丢弃或隐藏的次数。例如,如果配置 ,则当在路径中检测到 AS 编号一次或多次时,路由将被隐藏。loops 1 这是默认行为。如果配置 ,则当在路径中检测到 AS 编号两次或两次以上时,路由将被隐藏。loops 2

    对于语句,您可以配置 1 到 10。loops number

    注:

    如果为任何 BGP 组配置本地 AS 值,则将使用所有 BGP 组的 AS 值和本地 AS 值来检测路由环路。

    如果 EBGP 或 IBGP 对等方的本地 AS 与当前 AS 相同,则不要使用该 语句指定本地 AS 编号。local-as

    在 VRF 中配置本地 AS 时,这会影响 AS 路径环路检测机制。设备上配置的所有语句都是单个 AS 域的一部分。local-as AS 路径环路检测机制基于寻找域中存在的匹配 AS。

示例:为 EBGP 会话配置本地 AS

此示例说明了如何为 BGP 对等方配置本地自治系统 (AS),以便在 BGP 入站和出站更新中使用全局 AS 和本地 AS。

要求

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

概述

当 ISP 合并并希望保留客户的配置时,特别是客户配置为与之建立对等关系的 AS,请使用该 语句。local-as 该 语句模拟客户路由器中已有的 AS 编号,即使 ISP 的路由器已移动到其他 AS 也是如此。local-as

此示例说明如何使用语句配置 本地 AS。local-as 该 语句在全局、组和邻居层次结构级别支持 BGP。local-as

配置 语句时,必须指定 AS 编号。local-as 可以指定纯数字格式的 1 到 4,294,967,295 之间的数字。在 Junos OS 9.1 及更高版本中,AS 编号的范围得到了扩展,可为 4 字节 AS 编号提供 BGP 支持,如 RFC 4893“四 字节 AS 编号空间的 BGP 支持”中定义。在 Junos OS 9.3 版及更高版本中,您还可以使用 AS 点符号格式(两个整数值加一个句点)配置 4 字节 AS 编号:<>.<>.16-bit high-order value in decimal16-bit low-order value in decimal 例如,以纯数字格式表示的 4 字节 AS 编号 65,546 在 AS 点符号格式中表示为 1.10。可以 AS 点表示法格式指定一个介于 0.0 到 65535.65535 之间的值。Junos OS 继续支持 2 字节 AS 编号。2 字节 AS 编号范围为 1 到 65535(这是 4 字节范围的一个子集)。

图 2 显示了示例拓扑。

图 2: 用于配置本地 AS 的拓扑用于配置本地 AS 的拓扑

在此示例中,设备 R2 原来属于 AS 250,现在属于 AS 200。设备 R1 和设备 R3 配置为与 AS 250 对等,而非与新的 AS 编号 (AS 200) 对等。设备 R2 具有使用该语句配置 的新 AS 编号。autonomous-system 200 要使对等会话正常工作,将在 BGP 配置中添加该 语句。local-as 250 由于已配置,设备 R2 在其 BGP 入站和出站更新中包括全局 AS (200) 和本地 AS (250)。local-as 250

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

配置设备 R1

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R1:

  1. 配置接口。

  2. 配置外部 BGP (EBGP)。

  3. 配置路由策略。

  4. 配置设备 R2 和设备 R3 之间远程网络的静态路由。

  5. 配置全局 AS 编号。

成果

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

完成设备配置后,从配置模式输入 。commit

配置设备 R2

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R2:

  1. 配置接口。

  2. 配置 EBGP。

  3. 配置本地自治系统 (AS) 编号。

  4. 配置全局 AS 编号。

  5. 配置路由策略。

成果

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

完成设备配置后,从配置模式输入 。commit

配置设备 R3

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R3:

  1. 配置接口。

  2. 配置 EBGP。

  3. 配置全局自治系统 (AS) 编号。

  4. 配置设备 R1 和设备 R2 之间远程网络的静态路由。

  5. 配置路由策略。

成果

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

完成设备配置后,从配置模式输入 。commit

验证

确认配置工作正常。

检查本地和全局 AS 设置

目的

确保设备 R2 已配置本地和全局 AS 设置。

操作

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

意义

本地 AS:250 和本地系统 AS:200 输出显示设备 R2 具有预期的设置。此外,输出显示选项列表包括 LocalAS。

检查 BGP 对等会话

目的

确保已建立会话并显示本地 AS 编号 250。

操作

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

意义

设备 R1 和设备 R3 似乎与 AS 250 中的设备对等,即使设备 R2 实际上在 AS 200 中。

验证 BGP AS 路径

目的

请确保路由在路由表中,且 AS 路径显示本地 AS 编号 250。

操作

从配置模式,输入 set route protocol bgp 命令。

意义

输出显示设备 R1 和设备 R3 的路由似乎包括了含有 AS 250 的 AS 路径,尽管设备 R2 实际处于 AS 200 中。

示例:为 EBGP 会话配置本地专用 AS

此示例说明了如何配置专用本地自治系统 (AS) 编号。本地 AS 被视为专用的,因为它会播发给使用本地 AS 编号进行对等的对等方,但在向可以使用全局 AS 编号进行对等的对等方的公告中隐藏。

要求

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

概述

当 ISP 合并并希望保留客户的配置时,特别是客户配置为与之建立对等关系的 AS,请使用该 语句。local-as 该 语句模拟客户路由器中已有的 AS 编号,即使 ISP 的路由器已移动到其他 AS 也是如此。local-as

使用该 选项时,将在与外部 BGP (EBGP) 邻接方建立 BGP 会话期间使用本地 AS,但会在发送至其他 EBGP 对等方的 AS 路径中隐藏本地 AS。private 发送至外部对等方的 AS 路径中仅包含全局 AS。

该 选项可用于与仍配置了其先前 AS 的路由设备建立本地对等关系,或者与尚未修改其对等方安排的特定客户建立对等关系。private 本地 AS 用于建立与 EBGP 邻接方的 BGP 会话,但会在发送至其他 AS 中外部对等方的 AS 路径中隐藏。

包括该 选项,以便在发送给外部对等方的 AS 路径中,本地 AS 不会在全局 AS 之前附加。private 指定该 选项时,本地 AS 只会前置在发送到 EBGP 邻接方的 AS 路径中。private

图 3 显示了示例拓扑。

图 3: 用于配置专用本地 AS 的拓扑用于配置专用本地 AS 的拓扑

设备 R1 在 AS 64496 中。设备 R2 在 AS 64510 中。设备 R3 在 AS 64511 中。设备 R4 在 AS 64512 中。设备 R1 之前属于 AS 64497,后者已与其他网络合并,现在属于 AS 64496。由于设备 R3 仍然与设备 R1(使用其之前的 AS 64497)对等,因此设备 R1 需要配置编号为 64497 的本地 AS,以便与设备 R3 保持对等。配置本地 AS 64497 将允许设备 R1 在向设备 R3 播发路由时添加 AS 64497。设备 R3 看到:前缀 10.1.1.2/32 的 AS 路径为 64497 64496,即设备 R2 的环路接口。设备 R4(位于设备 R3 后面)看到到 设备 R2 环路接口的 AS 路径为 64511 64497 64496 64510。为防止设备 R1 在向其他对等方的公告中添加本地 AS 编号,此示例包含该 语句。local-as 64497 private 该 选项将设备 R1 配置为在向设备 R2 通告路由时不包含本地 AS 64497。private 设备 R2 看到:到设备 R3 的 AS 路径为 64496 64511 ,到设备 R4 的 AS 路径为 64496 64511 64512。设备 R1 配置中的选项会导致设备 R1 重新播发到设备 R2 的 AS 路径中缺少 AS 编号 64497。private

设备 R1 对所有路由器隐藏专用本地 AS,设备 R3 除外。该 选项适用于设备 R1 从设备 R3 接收(学习)的路由,而设备 R1 又会重新播发到其他路由器。private 当设备 R1 向设备 R2 重新播发从设备 R3 获知的这些路由时,向设备 R2 播发的 AS 路径中没有专用本地 AS。

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

设备 R4

配置设备 R1

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R1:

  1. 配置接口。

  2. 配置与设备 R2 的 EBGP 对等会话。

  3. 配置与设备 R3 的 EBGP 对等会话。

  4. 配置路由策略。

  5. 配置全局自治系统 (AS) 编号。

成果

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

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

根据需要对拓扑中的其他设备重复配置。

验证

确认配置工作正常。

检查设备 R2 的 AS 路径

目的

确保设备 R2 在到设备 R3 和设备 R4 的 AS 路径中没有 AS 64497。

操作

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

意义

设备 R2 的 AS 路径不包括 AS 64497。

检查设备 R3 的 AS 路径

目的

确保本地 AS 64497 仅在发送到 EBGP 邻接方 R3 的 AS 路径中附加。设备 R3 看到:前缀 10.1.1.2/32 的 AS 路径为 64497 64496,即设备 R2 的环路接口。

操作

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

意义

设备 R3 到设备 R2(前缀 10.1.1.2)的路由包括设备 R1 上配置的本地和全局 AS(分别为 64497 和 64496)。

了解 BGP 的累积 IGP 属性

内部网关协议 (IGP) 旨在处理单个域或一个自治系统 (AS) 内的路由。每个链路都被分配一个称为指标的特定值。两个节点之间的距离计算为路径上链接的所有指标值的总和。IGP 根据距离选择两个节点之间的最短路径。

BGP 旨在为大量独立的 AS 提供路由,这些 AS 各自的管理之间的协调有限或是没有协调。BGP 不会在路径选择决策中使用指标。

BGP 的累积 IGP (AIGP) 指标属性支持部署,其中单个管理部门可以运行多个连续的 BGP AS。此类部署允许 BGP 根据 IGP 指标做出路由决策。在此类网络中,BGP 可以根据指标选择路径,就像 IGP 所做的那样。在这种情况下,BGP 选择两个节点之间的最短路径,即使这些节点可能位于两个不同的 AS 中。

AIGP 属性在使用隧道将数据包传送到其 BGP 下一跃点的网络中特别有用。瞻博网络® Junos 操作系统 (Junos® OS) 目前支持两个 BGP 地址族和 的 AIGP 属性。 family inet labeled-unicastfamily inet6 labeled-unicast

AIGP 会影响 BGP 最佳路由决策流程。AIGP 属性首选项规则在本地首选项规则之后应用。将 AIGP 距离比作打破平局。如果解析下一跃点具有 AIGP 属性,BGP 最佳路由决策过程也会影响内部成本规则的应用方式。如果未启用 AIGP,路由的内部成本将基于路由下一跃点的指标计算。启用 AIGP 后,解析 AIGP 距离将添加到内部成本中。

从版本 20.2R1 开始,Junos OS 支持将 AIGP 指标转换为 MED。如果您希望 MED 承载端到端 AIGP 指标值(用于选择最佳路径),则可以启用此功能。 这在 AS 间 MPLS VPN 解决方案中特别有用,因为客户站点通过两个不同的服务提供商连接,而客户边缘路由器希望采取基于 IGP 指标的决策。您可以配置 , 以防止在有效 aigp 更改超过先前已知的最低值时不必要地更新路由。minimum-aigp 有效 AIGP 是随路由播发的 AIGP 值加上到达下一跃点的 IGP 成本。您可以在和层次结构级别进行配置和语句。effective-aigpminimum-effective-aigp[edit protocols bgp group <group-name> metric-out][edit policy-options policy-statement <name> then metric]

AIGP 属性是可选的非传递 BGP 路径属性,在互联网草案 draft-ietf-idr-aigp-06( BGP 的累积 IGP 指标属性)中指定。

示例:为 BGP 配置累积的 IGP 属性

此示例说明如何为 BGP 配置累积 IGP (AIGP) 指标属性。

要求

此示例使用以下硬件和软件组件:

  • 七个 BGP 接口设备。

  • Junos OS 12.1 或更高版本。

概述

AIGP 属性支持单个管理部门可以运行多个连续的 BGP 自治系统 (AS) 的部署。此类部署允许 BGP 根据 IGP 指标做出路由决策。启用 AIGP 后,BGP 可以根据 IGP 指标选择路径。这使 BGP 能够选择两个节点之间的最短路径,即使这些节点可能位于不同的 AS 中。AIGP 属性在使用隧道将数据包传送到其 BGP 下一跃点的网络中特别有用。此示例显示了配置了 MPLS 标签交换路径的 AIGP。

要启用 AIGP,您需要在 协议家族的 BGP 配置中包含该语句。aigp 在特定家族上配置 AIGP 可以在该家族上发送和接收 AIGP 属性。默认情况下,AIGP 处于禁用状态。禁用 AIGP 的邻居不会发送 AIGP 属性,而是以静默方式丢弃收到的 AIGP 属性。

Junos OS 支持 AIGP 和 。family inet labeled-unicastfamily inet6 labeled-unicast 可以在全局 BGP、组或邻居级别为给定系列配置语句 。aigp

默认情况下,本地前缀的 AIGP 属性值为零。启用了 AIGP 的邻居可以使用策略 操作,通过导出策略为给定前缀发起 AIGP 属性。aigp-originate AIGP 属性的值反映到前缀的 IGP 距离。或者,您可以使用策略操作指定 一个值。aigp-originate distance distance 可配置范围为 0 到 4,294,967,295。只需一个节点即可发起 AIGP 属性。如果使用 BGP 配置中的语句启用了 邻接方 AIGP,则会保留并重新通告 AIGP 属性。aigp

发起 AIGP 属性的策略操作具有以下要求:

  • 邻居必须启用 AIGP。

  • 策略必须作为导出策略应用。

  • 前缀必须没有当前 AIGP 属性。

  • 前缀必须使用下一跃点自导出。

  • 前缀必须位于 AIGP 域中。通常,环路 IP 地址是要发起的前缀。

如果不满足这些要求,则忽略该策略。

拓扑图

图 4 显示了此示例中使用的拓扑。OSPF 用作内部网关协议 (IGP)。在设备 PE1 和设备 PE4 之间配置内部 BGP。外部 BGP (EBGP) 在设备 PE7 和设备 PE1 之间、设备 PE4 和设备 PE3 之间以及设备 PE4 和设备 PE2 之间配置。设备 PE4、PE2 和 PE3 配置为多跳。设备 PE4 根据 AIGP 值选择路径,然后根据 AIGP 和策略配置重新播发 AIGP 值。设备 PE1 将 AIGP 值重新播发到另一个管理域中的设备 PE7。每个设备都有两个环路接口地址:10.9.9.x 用于 BGP 对等互连和路由器 ID,10.100.1.x 用于 BGP 下一跃点。

设备 PE1 和 PE3 之间的网络具有 IBGP 对等和多个 OSPF 区域。指向设备 PE7 的外部链接配置为显示 AIGP 属性已重新播发到管理域之外的邻接方(如果该邻接方已启用 AIGP)。

图 4: BGP 中多路径通告BGP 中多路径通告

对于 AIGP 属性的发起,BGP 下一跃点必须是自身。如果 BGP 下一跃点保持不变,则收到的 AIGP 属性将按原样重新播发到另一个 AIGP 邻接方。如果下一跃点发生变化,则收到的 AIGP 属性将以增加的值重新播发到另一个 AIGP 邻接方。值的增加反映了到上一个 BGP 下一跃点的 IGP 距离。为了进行演示,此示例将环路接口地址用于设备 PE4 与设备 PE2 和设备 PE3 的 EBGP 对等会话。在这些会话上启用多跳,以便执行递归查找以确定点对点接口。由于下一跃点会更改,因此 IGP 距离将添加到 AIGP 距离中。

配置

CLI 快速配置

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

设备 P1

设备 P2

设备 PE4

设备 PE1

设备 PE2

设备 PE3

设备 PE7

配置设备 P1

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 P1:

  1. 配置接口。

  2. 配置 MPLS 和信令协议,例如 RSVP 或 LDP。

  3. 配置 BGP。

  4. 启用 AIGP。

  5. 配置 IGP,例如 OSPF、RIP 或 IS-IS。

  6. 配置路由器 ID 和自治系统编号。

  7. 如果完成设备配置,请提交配置。

成果

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

配置设备 P2

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 P2:

  1. 配置接口。

  2. 配置 MPLS 和信令协议,例如 RSVP 或 LDP。

  3. 配置 BGP。

  4. 启用 AIGP。

  5. 配置 IGP,例如 OSPF、RIP 或 IS-IS。

  6. 配置路由器 ID 和自治系统编号。

  7. 如果完成设备配置,请提交配置。

成果

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

配置设备 PE4

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 PE4:

  1. 配置接口。

  2. 配置 MPLS 和信令协议,例如 RSVP 或 LDP。

  3. 配置 BGP。

  4. 启用 AIGP。

  5. 发起前缀,并配置 AIGP 距离。

    默认情况下,前缀是使用当前 IGP 距离发起的。或者,您可以使用选项 为 AIGP 属性配置距离,如下所示。distance

  6. 启用策略。

  7. 配置静态路由。

  8. 配置 IGP,例如 OSPF、RIP 或 IS-IS。

  9. 配置路由器 ID 和自治系统编号。

  10. 如果完成设备配置,请提交配置。

成果

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

配置设备 PE1

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 PE1:

  1. 配置接口。

  2. 配置 MPLS 和信令协议,例如 RSVP 或 LDP。

  3. 配置 BGP。

  4. 启用 AIGP。

  5. 启用策略。

  6. 配置 IGP,例如 OSPF、RIP 或 IS-IS。

  7. 配置路由器 ID 和自治系统编号。

  8. 如果完成设备配置,请提交配置。

成果

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

配置设备 PE2

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 PE2:

  1. 配置接口。

  2. 配置 MPLS 和信令协议,例如 RSVP 或 LDP。

  3. 配置 BGP。

  4. 启用 AIGP。

  5. 发起前缀,并配置 AIGP 距离。

    默认情况下,前缀是使用当前 IGP 距离发起的。或者,您可以使用选项 为 AIGP 属性配置距离,如下所示。distance

  6. 启用策略。

  7. 启用一些静态路由。

  8. 配置 IGP,例如 OSPF、RIP 或 IS-IS。

  9. 配置路由器 ID 和自治系统编号。

  10. 如果完成设备配置,请提交配置。

成果

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

配置设备 PE3

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 PE3:

  1. 配置接口。

  2. 配置 MPLS 和信令协议,例如 RSVP 或 LDP。

  3. 配置 BGP。

  4. 启用 AIGP。

  5. 启用策略。

  6. 配置 IGP,例如 OSPF、RIP 或 IS-IS。

  7. 配置路由器 ID 和自治系统编号。

  8. 如果完成设备配置,请提交配置。

成果

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

配置设备 PE7

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 PE7:

  1. 配置接口。

  2. 配置 BGP。

  3. 启用 AIGP。

  4. 配置路由策略。

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

  6. 如果完成设备配置,请提交配置。

成果

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

验证

确认配置工作正常。

验证设备 PE4 是否正在从其 EBGP 邻接方 PE2 接收 AIGP 属性

目的

确保设备 PE2 上的 AIGP 策略正常工作。

操作
意义

在设备 PE2 上, 语句配置的距离为 20 ()。aigp-originateaigp-originate distance 20 此语句适用于路由 55.0.0.0/24。同样,该 语句将应用于路由 99.0.0.0/24。aigp-originate distance 30 因此,当设备 PE4 收到这些路由时,AIGP 属性将附加配置的衡量指标。

检查 IGP 指标

目的

从设备 PE4,检查 BGP 下一跃点 10.100.1.5 的 IGP 指标。

操作
意义

此路由的 IGP 指标为 2。

验证设备 PE4 是否已将 IGP 衡量指标添加到 AIGP 属性

目的

确保设备 PE4 在向其 IBGP 邻接方设备 PE1 重新播发路由时,将 IGP 指标添加到 AIGP 属性。

操作
意义

IGP 指标将添加到 AIGP 指标(20 + 2 = 22 和 30 + 2 = 32),因为这些路由的下一跃点已更改。

验证设备 PE7 是否正在从其 EBGP 邻接方 PE1 接收 AIGP 属性

目的

确保设备 PE1 上的 AIGP 策略正常工作。

操作
意义

44.0.0.0/24 路由源自设备 PE4。55.0.0.0/24 和 99.0.0.0/24 路由源自设备 PE2。IGP 距离将添加到配置的 AIGP 距离中。

验证解析 AIGP 指标

目的

确认如果前缀是通过递归解析的,并且递归下一跃点具有 AIGP 指标,则该前缀具有递归 BGP 下一跃点上的 AIGP 值的总和。

操作
  1. 将静态路由添加到 66.0.0.0/24。

  2. 删除设备 PE2 上的策略语句中的 现有条款。aigp

  3. 为路由到 66.0.0.0 配置递归路由查找。

    该策略显示前缀 66.0.0.0/24(无)的 AIGP 指标及其递归下一跃点。前缀 66.0.0.0/24 由 55.0.0.1 解析。前缀 66.0.0.0/24 没有发起自己的 AIGP 指标,但其递归下一跃点 55.0.0.1 具有 AIGP 值。

  4. 在设备 PE4 上,运行 命令。show route 55.0.0.0 extensive

    指标 2 的值是 BGP 下一跃点的 IGP 指标。当设备 PE4 将这些路由重新播发到其 IBGP 对等方设备 PE1 时,AIGP 衡量指标是 AIGP + 其解析 AIGP 衡量指标 + 衡量指标 2 之和。

    前缀 55.0.0.0 显示自己的 IGP 度量 20,由设备 PE2 定义和通告。它不显示解析 AIGP 值,因为它没有递归 BGP 下一跃点。指标 2 的值为 2。

  5. 在设备 PE4 上,运行 命令。show route 66.0.0.0 extensive

    前缀 66.0.0.0/24 显示解析 AIGP,这是其自己的 AIGP 指标与其递归 BGP 下一跃点的总和:

    66.0.0.1 = 0, 55.0.0.1 = 20, 0+20 = 20

验证 BGP 更新中是否存在 AIGP 属性

目的

如果未在 BGP(或或层次结构)下启用 AIGP 属性,则 AIGP 属性将被静默丢弃。groupneighbor 在配置的选项中启用并包含标志,以确认传输或接收的 BGP 更新中是否存在 AIGP 属性。traceoptionspacketsdetail 这在调试 AIGP 问题时很有用。

操作
  1. 为 配置 设备 PE2 和设备 PE4。traceoptions

  2. 检查设备 PE2 上的文件。traceoptions

    以下示例显示了设备 PE2 播发前缀 99.0.0.0/24 到设备 PE4 (10.9.9.4) 且 AIGP 指标为 20:

  3. 使用命令验证 设备 PE4 上是否已收到路由。show route receive-protocol

    设备 PE4 上未启用 AIGP,因此对于前缀 99.0.0.0/24,AIGP 属性将被静默丢弃,并且不会出现在以下输出中:

  4. 检查设备 PE4 上的文件。traceoptions

    日志中的 以下输出显示收到的 99.0.0.0/24 前缀附加了 AIGP 属性:traceoptions

意义

执行此验证有助于对 AIGP 进行故障排除和调试问题。它使您能够验证网络中的哪些设备发送和接收 AIGP 属性。

了解 AS 覆盖

AS 覆盖功能允许提供商边缘 (PE) 路由器更改在 VPN 路由和转发 (VRF) 接入链路上运行的外部 BGP (EBGP) 会话上客户边缘 (CE) 设备使用的专用自治系统 (AS) 编号。专用 AS 编号将更改为 PE AS 编号。连接到另一台 PE 设备的另一台 CE 设备看到 EBGP 路由来自第一个站点,AS 路径为提供商 ASN 提供商 ASN,而不是提供商 ASN 站点 1-ASN。这允许企业网络在所有站点上使用相同的专用 ASN。

AS 覆盖功能为服务提供商提供了明显的管理优势,因为默认情况下 BGP 不接受具有包含本地 AS 编号的 AS 路径属性的 BGP 路由。

在有多个站点的企业网络中,您可能会希望跨站点使用单个 AS 编号。例如,假设两台 CE 设备位于 AS 64512 中,而提供商网络处于 AS 65534 中。

当服务提供商使用此设置配置第 3 层 VPN 时,即使 MPLS 网络具有指向设备 CE1 和设备 CE2 的路由,设备 CE1 和设备 CE2 之间也没有路由,因为 AS 路径属性将显示为 64512 65534 64512。BGP 使用 AS 路径属性作为其环路避免机制。如果站点在 AS 路径中多次看到自己的 AS 编号,则路由被视为无效。

克服此困难的一种方法是使用语句, 该语句适用于 PE 设备。as-override 该 语句将 CE 设备的 AS 编号替换为 PE 设备的 AS 编号,从而防止客户 AS 编号在 AS 路径属性中多次出现。as-override

如果客户使用 AS 路径前缀来降低某些路径的可取性,并且服务提供商使用 AS 覆盖,则 AS 路径中出现的每个 CE AS 编号都将更改为服务提供商 AS 编号。例如,假设所有客户站点使用相同的 AS 编号,如 64512。如果 ISP 使用 AS 编号 65534,则一个客户站点会看到至其他站点的路径为 65534 65534。如果客户在特定路径上附加 64512 以降低其理想性,则另一个客户站点会将该路径视为 65534 65534 65534。

示例:使用路由反射和 AS 覆盖配置第 3 层 VPN

假设您是提供基于 MPLS 的托管第 3 层 VPN 服务的服务提供商。您的客户有多个站点,并且需要将 BGP 路由到每个站点上的客户边缘 (CE) 设备。

要求

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

概述

此示例包含两个 CE 设备、两个提供商边缘 (PE) 设备和多个提供商核心设备。提供商网络还使用 IS-IS 来支持 LDP 和 BGP 环路可达性 设备 P2 充当路由反射器 (RR)。两台 CE 设备均位于自治系统 (AS) 64512 中。提供商网络位于 AS 65534 中。

该 语句将应用于 PE 设备,从而将 CE 设备的 AS 编号替换为 PE 设备的 AS 编号。as-override 这可以防止客户 AS 编号在 AS 路径属性中多次出现。

图 5 显示了此示例中使用的拓扑。

图 5: AS 覆盖拓扑AS 覆盖拓扑

显示了 中 所有设备的配置。CLI 快速配置图 5本节介绍设备 PE1 上的步骤。分步过程

拓扑

配置

程序

CLI 快速配置

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

设备 CE1

设备 P1

设备 P2

设备 P3

设备 PE1

设备 PE2

设备 CE2

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置 AS 覆盖:

  1. 配置接口。

    要启用 MPLS,请在接口上包含协议家族,以便接口不会丢弃传入的 MPLS 流量。

  2. 将接口添加到 MPLS 协议以建立控制平面级别的连接。

    设置 IGP,以便提供商设备可以相互通信。

    要建立分发 MPLS 标签的机制,请启用 LDP。(可选)对于 LDP,启用转发等效类 (FEC) 分解,这样可以加快全局收敛速度。

  3. 使用 IPv4 VPN 单播地址族,启用内部 BGP (IBGP) 连接,以便仅与 RR 对等。

  4. 配置路由实例,包括 语句。as-override

    在 PE 设备上创建路由实例 (VRF),并将 BGP 配置设置为与设备 CE1 对等。

  5. 配置路由器 ID 和 AS 编号。

成果

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

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

验证

确认配置工作正常。

检查到 CE 设备的 AS 路径

目的

在设备 PE1 上显示有关设备 CE2 环路接口路由的 AS 路径属性的信息。

操作

在设备 PE1 上,从操作模式输入 命令。show route table VPN-A.inet.0 10.255.6.6

意义

输出显示设备 PE1 具有来自 AS 64512 的 10.255.6.6/32 的 AS 路径。

检查如何通告到设备 CE2 的路由

目的

确保到设备 CE2 的路由已播发到设备 CE1,就像它来自 MPLS 核心一样。

操作

在设备 PE1 上,从操作模式输入 命令。show route advertising-protocol bgp 10.0.0.1

意义

输出指示设备 PE1 在 AS 路径中仅播发自己的 AS 编号。

检查设备 CE1 上的路由

目的

确保设备 CE1 在通往设备 CE2 的路由的 AS 路径中仅包含提供程序 AS 编号。

操作

在操作模式下,输入 show route table inet.0 terse 10.255.6.6 命令。

意义

输出指示设备 CE1 具有到设备 CE2 的路由。循环问题可通过使用该 语句得到解决。as-override

一个路由在 CE 设备上隐藏。这是因为 Junos OS 不执行 BGP 水平分割。通常,BGP 中的水平分割是不必要的,因为由于 AS 路径长度(对于 EBGP)、AS 路径环路检测 (IBGP) 或其他 BGP 指标,发起方可能接收回的任何路由都不太优先。将路由播发回从中获知的邻居对路由器性能的影响可以忽略不计,这是正确的做法。

示例:启用 BGP 路由通告

Junos OS 不会将从某个 EBGP 对等方获知的路由播发回同一个外部 BGP (EBGP) 对等方。此外,无论路由实例如何,软件都不会将这些路由播发至与始发对等方相同的自治系统 (AS) 中的任何 EBGP 对等方。您可以通过在配置中包含 语句来修改此行为。 advertise-peer-as

如果在配置中包含语句 ,则无论此检查如何,BGP 都会播发路由。advertise-peer-as

要恢复默认行为, 请在配置中包含该语句:no-advertise-peer-as

如果配置中包含路由 抑制缺省行为,则会禁用该语句。as-override 如果在配置中同时包含 and 语句,则会忽略该 语句。 as-override no-advertise-peer-asno-advertise-peer-as

要求

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

注:

此示例已在 Junos 21.2R1 版上更新并重新验证。

概述

此示例显示了具有外部 BGP (EBGP) 连接的三个路由设备。设备 R2 有一个到设备 R1 的 EBGP 连接,另一个连接到设备 R3 的 EBGP 连接。尽管被位于 AS 64511 中的设备 R2 分隔,但设备 R1 和设备 R3 在同一 AS (AS 64512) 中。设备 R1 和设备 R3 向 BGP 直接路由播发至各自的环路接口地址。

设备 R2 接收这些环路接口路由,并且该 语句允许设备 R2 通告这些路由。advertise peer-as 具体而言,设备 R1 将 192.168.0.1 路由发送到设备 R2,由于设备 R2 已配置, 因此设备 R2 可以将 192.168.0.1 路由发送到设备 R3。advertise peer-as 同样,设备 R3 将 192.168.0.3 路由发送到设备 R2,并使 设备 R2 能够将路由转发到设备 R1。advertise peer-as

要使设备 R1 和设备 R3 接受在 AS 路径中包含其自己的 AS 编号的路由,需要对 设备 R1 和设备 R3 使用该语句。loops 2

拓扑

图 6: 用于播发对等身份的 BGP 拓扑用于播发对等身份的 BGP 拓扑

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R1:

  1. 配置设备接口。

  2. 配置 BGP。

  3. 通过包含 语句,防止来自设备 R3 的路由在设备 R1 上被隐藏。loops 2

    该 语句意味着本地设备自己的 AS 编号最多可以在 AS 路径中出现一次,而不会导致路由被隐藏。loops 2 如果在路径中检测到本地设备的 AS 编号两次或更多次,则路由将被隐藏。

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

  5. 将导出策略应用于与设备 R2 的 BGP 对等会话。

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

分步过程

要配置设备 R2:

  1. 配置设备接口。

  2. 配置 BGP。

  3. 配置设备 R2,以从一个 EBGP 对等方获知的路由播发至同一 AS 中的另一个 EBGP 对等方。

    换句话说,播发至从设备 R3 获知的设备 R1 路由(反之亦然),即使设备 R1 和设备 R3 在同一 AS 中。

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

  5. 应用导出策略。

  6. 配置 AS 编号。

成果

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

设备 R1

设备 R2

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

验证

确认配置工作正常。

验证 BGP 路由

目的

确保设备 R1 和设备 R3 上的路由表包含预期的路由。

操作
  1. 在设备 R2 上,停用 BGP 配置中的语句。advertise-peer-as

  2. 在设备 R3 上,停用 BGP 配置中的语句。loops

  3. 在设备 R1 上,检查向设备 R2 播发的路由。

  4. 在设备 R2 上,检查从设备 R1 接收的路由。

  5. 在设备 R2 上,检查向设备 R3 播发的路由。

  6. 在设备 R2 上,激活 BGP 配置中的语句。advertise-peer-as

  7. 在设备 R2 上,重新检查播发到设备 R3 的路由。

  8. 在设备 R3 上,检查从设备 R2 接收的路由。

  9. 在设备 R3 上,激活 BGP 配置中的语句。loops

  10. 在设备 R3 上,重新检查从设备 R2 接收的路由。

意义

首先停用 语句和 语句,以便可以检查默认行为。advertise-peer-asloops 设备 R1 向设备 R2 发送指向设备 R1 环路接口地址 192.168.0.1/32 的路由。设备 R2 不会将此路由播发到设备 R3。激活 语句后,设备 R2 会将 192.168.0.1/32 路由播发至设备 R3。advertise-peer-as 设备 R3 在激活语句之前 不接受此路由。loops

禁用独立 AS 域的属性集消息,以便进行 BGP 环路检测

针对特定路由的 BGP 环路检测使用路由实例的本地自治系统 (AS) 域。默认情况下,所有路由实例都属于单个主路由实例域。因此,BGP 环路检测使用在所有路由实例上配置的本地 AS。根据您的网络配置,此默认行为可能会导致路由被循环和隐藏。

要限制主路由实例中的本地 AS,可以为路由实例配置独立 AS 域。独立域独立于主路由实例,可防止独立域的 AS 路径与其他域的 AS 路径和 AS 路径属性共享。

默认情况下,独立域使用传递路径属性 128(属性集)消息,通过内部 BGP (IBGP) 核心对独立域的 BGP 属性建立隧道。但是,在许多情况下,独立域的属性集消息行为是不需要的。如果只想配置独立域来保持路由实例中本地 AS 的独立性,并且仅对路由实例中指定的本地 AS 执行 BGP 环路检测,则可以禁用属性集消息。

要在独立域上禁用属性集消息,请包含以下 语句:independent-domain no-attrset

  1. 选择包含要修改的独立域的路由实例。您可以从以下层次结构级别中选择路由实例:
    • [edit routing-instances routing-instance-name]

    • [edit logical-systems logical-system-name routing-instances routing-instance-name]

  2. 禁用独立域上的属性集消息。
    提示:

    禁用属性集消息时,建议您指定主路由实例的 AS 编号。这可确保主路由实例 AS 在路由实例中被视为本地 AS,并用于 BGP 环路检测。

为独立域指定路由实例后,本地 AS 仅与该路由实例关联。这意味着 BGP 环路检测仅使用路由实例中定义的本地 AS。

示例:选择最佳路径时忽略 AS 路径属性

如果存在到同一目标的多个 BGP 路由,BGP 将根据路径的路由属性选择最佳路径。影响最佳路径决策的路由属性之一是每个路由的 AS 路径长度。AS 路径更短的路由优先于 AS 路径更长的路由。尽管通常不实用,某些情景可能要求在路由选择过程中忽略 AS 路径长度。此示例说明了如何配置路由设备以忽略 AS 路径属性。

要求

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

概述

在外部连接的路由设备上,跳过 AS 路径比较的目的可能是强制外部 BGP (EBGP) 与内部 BGP (IBGP) 决策尽快从网络中删除流量。在内部连接的路由设备上,您可能希望仅 IBGP 路由器默认为本地外部连接的网关。本地仅支持 IBGP(内部)路由器会跳过 AS 路径比较,并在决策树中向下移动,以使用最近的内部网关协议 (IGP) 网关(最低 IGP 指标)。这样做可能是强制这些路由器使用 LAN 连接而不是其 WAN 连接的有效方法。

警告:

在网络中的路由设备上包含语句 时,可能需要将其包含在网络中所有其他启用了 BGP 的设备上,以防止出现路由环路和收敛问题。as-path-ignore 对于 IBGP 路径比较尤其如此。

在此示例中,设备 R2 从设备 R1 和设备 R3 了解设备 R4 (10.4.4.4/32) 上的环路接口地址。设备 R1 播发 10.4.4.4/32,AS 路径为 65001 65005 65004,设备 R3 播发 10.4.4.4/32,AS 路径为 65003 65004。设备 R2 从设备 R3 中选择 10.4.4.4/32 的路径作为最佳路径,因为 AS 路径比设备 R1 中的 AS 路径短。

此示例修改设备 R2 上的 BGP 配置,以便最佳路径选择中不使用 AS 路径长度。

设备 R1 的路由器 ID (10.1.1.1) 低于设备 R3 (10.3.3.3)。如果所有其他路径选择标准相等(或在本例中被忽略),则使用从设备 R1 获知的路由。由于 AS 路径属性会被忽略,因此最佳路径是指向设备 R1,因为它的路由器 ID 值较低。

图 7 显示了示例拓扑。

图 7: 用于忽略 AS 路径长度的拓扑用于忽略 AS 路径长度的拓扑

配置

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

设备 R4

设备 R5

配置设备 R2

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R2:

  1. 配置接口。

  2. 配置 EBGP。

  3. 配置在 Junos OS 路径选择算法中要忽略的自治系统 (AS) 路径属性。

  4. 配置路由策略。

  5. 配置一些静态路由。

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

成果

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

如果完成设备配置,请从配置模式输入 commit。在网络中的其他设备上重复配置,根据需要更改接口名称和 IP 地址。

验证

确认配置工作正常。

检查邻居状态

目的

确保从设备 R2 到 AS 4 的活动路径通过 AS 65001 和 AS 65005,而不是通过 AS 65003。

注:

要验证语句的功能 ,您可能需要运行 命令以强制重新评估活动路径。as-path-ignorerestart routing 这是因为对于 BGP,如果两个路径都是外部路径,则 Junos OS 的行为是首选当前活动的路径。此行为有助于最大程度地减少路由摆动。在生产网络中重新启动路由协议进程时要小心。

操作

在操作模式下,输入 restart routing 命令。

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

意义

星号 (*) 位于从 R1 获知的路径旁边,表示这是活动路径。活动路径的 AS 路径为 65001 65005 65004,比从路由器 R3 获知的非活动路径的 AS 路径 (65003 65004) 长。

了解如何从 AS 路径中移除专用 AS 编号

默认情况下,当 BGP 将 AS 路径播发至远程系统时,将包含所有 AS 编号,其中包括专用 AS 编号。您可以配置软件,以便从 AS 路径中删除专用 AS 编号。当满足以下任一情况时,执行此操作很有用:

  • 您为其提供连接的远程 AS 是多宿主的,但仅限于本地 AS。

  • 远程 AS 没有正式分配的 AS 编号。

  • 不宜将远程 AS 作为本地 AS 的联合体成员 AS。

大多数公司都有自己的 AS 编号。一些公司还使用专用 AS 编号来连接到其公共 AS 网络。对于开展业务的每个地区,这些公司可能会使用不同的专用 AS 编号。在任何实施中,都须避免在互联网公布专用 AS 编号。服务提供商可以使用该 语句来防止在互联网上播发专用 AS 编号。remove-private

在企业场景中,假设您的公司有多个 AS 编号,其中有些是专用 AS 编号,有一个则使用公共 AS 编号。具有公共 AS 编号的那个与服务提供商有直接连接。在直接连接到服务提供商的 AS 中,可以使用该 语句过滤掉发送到服务提供商的播发中的任何专用 AS 编号。remove-private

AS 编号将从 AS 路径的左端(最近添加 AS 路径的一端)开始去除。当路由设备找到第一个非专用 AS 或对等方的专用 AS 时,它会停止搜索专用 AS。如果 AS 路径包含外部 BGP (EBGP) 邻接方的 AS 编号,则 BGP 不会移除专用 AS 编号。

注:

从 Junos OS 10.0R2 及更高版本开始,如果需要将前缀发送到 AS 编号与 AS 路径中的 AS 编号匹配的 EBGP 对等方,请考虑使用 语句而不是 语句。as-overrideremove-private

如果适用,当已从 AS 路径中移除任何联合体成员 AS 后,将发生该操作。

软件预先配置了被视为专用的 AS 编号集,即在互联网编号分配机构 (IANA) 编号分配文档中定义的范围。保留为专用的 16 位 AS 编号集的范围为 64,512 到 65,534(含)。保留为专用的 32 位 AS 编号的范围是 4,200,000,000 到 4,294,967,294(含)。

示例:从 AS 路径中移除专用 AS 编号

此示例演示了如何从播发的 AS 路径中移除专用 AS 编号,以避免在互联网上公布该专用 AS 编号。

要求

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

概述

服务提供商和企业网络使用该语句来 防止在互联网上播发专用 AS 编号。 remove-private 该 语句在出站方向上工作。remove-private 您可以在具有公有 AS 编号且连接到一个或多个具有专用 AS 编号的设备上的设备上配置 语句。remove-private 通常,您不能在具有专用 AS 编号的设备上配置此语句。

图 8 显示了示例拓扑。

图 8: 用于从播发 AS 路径中移除专用 AS 的拓扑用于从播发 AS 路径中移除专用 AS 的拓扑

在此示例中,设备 R1 使用专用 AS 编号 65530 连接到其服务提供商。示例显示了在设备 ISP 上配置的语句,以防止将设备 R1 的 专用 AS 编号通告给设备 R2。remove-private 设备 R2 仅看到服务提供商的 AS 编号。

注:

添加或删除 BGP 选项 将导致受影响的 BGP 对等会话抖动。remove-private

配置

CLI 快速配置

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

设备 R1

设备 ISP

设备 R2

设备 ISP

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 ISP:

  1. 配置接口。

  2. 配置 EBGP。

  3. 对于自治系统 (AS) 200 中的邻接方(设备 R2),请从播发的 AS 路径中移除专用 AS 编号。

  4. 配置 AS 编号。

成果

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

如果完成设备配置,请从配置模式输入 commit。对设备 R1 和设备 R2 重复配置,根据需要更改接口名称和 IP 地址,然后添加路由策略配置。

验证

确认配置工作正常。

检查邻居状态

目的

确保设备 ISP 在其与设备 R2 的邻居会话中启用了该设置。remove-private

操作

在操作模式下,输入 show bgp neighbor 192.168.20.1 命令。

意义

该 选项显示设备 ISP 具有预期的设置。RemovePrivateAS

检查路由表

目的

请确保设备具有预期的路由和 AS 路径。

操作

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

意义

设备 ISP 在到设备 R1 的 AS 路径中具有专用 AS 编号 65530。但是,设备 ISP 不会将此专用 AS 编号播发至设备 R2。这显示在设备 R2 的路由表中。设备 R2 到设备 R1 的路径仅包含设备 ISP 的 AS 编号。

当 remove-private 语句停用时,检查 AS 路径

目的

验证不使用语句时 ,专用 AS 编号是否显示在设备 R2 的路由表中。remove-private

操作

在设备 ISP 上的配置模式下,输入 命令,然后重新检查设备 R2 上的路由表。deactivate remove-private

意义

专用 AS 编号 65530 显示在设备 R2 到设备 R1 的 AS 路径中。

变更历史表

是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。

版本
说明
20.2R1
从版本 20.2R1 开始,Junos OS 支持将 AIGP 指标转换为 MED。如果您希望 MED 承载端到端 AIGP 指标值(用于选择最佳路径),则可以启用此功能。