Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP 对等会话

了解外部 BGP 对等会话

要在对等自治系统 (AS) 之间建立点对点连接,请在点对点链路的每个接口上配置 BGP 会话。通常,此类会话是在 AS 外部的相邻主机的网络出口点进行。 图 1 显示了 BGP 对等会话的示例。

图 1: BGP 对等会话BGP 对等会话

在 中 图 1,路由器 A 是用于 AS 3 的网关路由器,而路由器 B 是用于 AS 10 的网关路由器。对于任一 AS 内部流量,使用内部网关协议 (IGP)(例如 OSPF)。要在对等方 AS 之间路由流量,请使用 BGP 会话。

您将 BGP 路由设备排列成对等组。不同的对等组可以具有不同的组类型、AS 编号和路由反射器群集标识符。

要定义仅将指定 BGP 系统识别为对等方的 BGP 组,请通过包含一个或多个 neighbor 语句静态配置系统的所有对等方。对等方邻接方的地址可以是 IPv6 或 IPv4 地址。

随着外部 BGP (EBGP) 组数量的增加,支持大量 BGP 会话的能力可能会成为一个扩展问题。配置大量 BGP 邻接方的首选方法是配置几个组,每个组包含多个邻接方。支持较少 EBGP 组的扩展通常优于支持大量 EBGP 组。与每个组中具有多个对等组的几个 EBGP 组相比,在数百个 EBGP 组的情况下,这一点变得更加明显。

建立 BGP 对等方后, BGP 对等方不会自动播发非 BGP 路由。在每个支持 BGP 的设备上,都需要策略配置将本地、静态或 IGP 学习的路由导出到 BGP RIB 中,然后将其播发为 BGP 路由给其他对等方。默认情况下,BGP 的广告策略不会向对等方播发任何非 BGP 路由(如本地路由)。

注:

在 SRX 系列设备上,您必须在指定接口或区域的所有接口上启用预期主机入站信息流。否则,默认情况下会丢弃发往此设备的入站流量。

例如,要在 SRX 系列设备的特定区域允许 BGP 流量,请使用以下步骤:

(所有接口) (指定接口)

示例:配置外部 BGP 点对点对等会话

此示例说明如何配置 BGP 点对点对等会话。

要求

开始之前,如果默认 BGP 策略不足以满足您的网络需求,请配置路由策略以过滤传入 BGP 路由并播发 BGP 路由。

概述

图 2 显示了具有 BGP 对等会话的网络。在示例网络中,AS 17 中的设备 E 会向一组称为的 external-peers对等方提供 BGP 对等会话。对等方 A、B 和 C 位于 AS 22 中,其 IP 地址为 10.10.10.2、10.10.10.6 和 10.10.10.10。对等 D 驻留在 AS 79 中,IP 地址为 10.21.7.2。此示例显示设备 E 上的配置。

拓扑

图 2: 使用 BGP 对等会话的典型网络使用 BGP 对等会话的典型网络

配置

程序

CLI 快速配置

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

逐步过程

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

要配置 BGP 对等会话,

  1. 将接口配置为对等方 A、B、C 和 D。

  2. 设置自治系统 (AS) 编号。

  3. 创建 BGP 组并添加外部邻接方地址。

  4. 指定外部 AS 的自治系统 (AS) 编号。

  5. 添加对等方 D 并在单个邻接方级别设置 AS 编号。

    邻接方配置替代组配置。因此,虽然 peer-as 22 为组中所有其他邻接方设置, peer-as 79 则设置为邻接方 10.21.7.2。

  6. 将对等类型设置为外部 BGP (EBGP)。

结果

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

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

验证

确认配置工作正常。

验证 BGP 邻接方

目的

验证 BGP 是否在配置的接口上运行,以及每个邻接方地址的 BGP 会话是否处于活动状态。

行动

在操作模式下 show bgp neighbor ,运行 命令。

验证 BGP 组

目的

验证 BGP 组是否配置正确。

行动

在操作模式下 show bgp group ,运行 命令。

验证 BGP 摘要信息

目的

验证 BGP 配置是否正确。

行动

在操作模式下 show bgp summary ,运行 命令。

示例:使用 IPv6 接口在逻辑系统上配置外部 BGP

此示例说明如何使用 IPv6 接口在逻辑系统上配置外部 BGP (EBGP) 点对点对等会话。

要求

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

概述

Junos OS 通过 IPv6 地址支持 EBGP 对等会话。当语句中 neighbor 指定了 IPv6 地址时,可以配置 IPv6 对等会话。此示例使用 EUI-64 生成自动应用于接口的 IPv6 地址。EUI-64 地址是 IPv6 地址,使用 IEEE EUI-64 格式用于地址的接口标识符部分(最后 64 位)。

注:

或者,您也可以使用手动分配的 128 位 IPv6 地址来配置 EBGP 会话。

如果为接口使用 128 位链路本地地址,则必须包含该 local-interface 语句。此语句仅适用于 128 位 IPv6 链路本地地址,且必须配置 IPv6 EBGP 链路本地对等会话。

使用链路本地地址配置 EBGP 对等互连仅适用于直接连接的接口。不支持多霍普对等互对。

接口打开后,您可以使用 show interfaces terse 命令查看接口上生成的 EUI-64 生成的 IPv6 地址。您必须在 BGP neighbor 语句中使用这些已生成的地址。此示例演示了完整的端到端过程。

在此示例中,帧中继接口封装应用于逻辑隧道 (lt) 接口。这是一项要求,因为在接口上 lt 配置 IPv6 地址时,仅支持帧中继封装。

图 3 显示了具有 BGP 对等会话的网络。在示例网络中,路由器 R1 配置了五个逻辑系统。自治系统 (AS) 中的设备 E 17 具有与一组称为的 external-peers对等方的 BGP 对等会话。对等方 A、B 和 C 位于 AS 22 中。此示例显示逻辑系统 A 和逻辑系统 E 上的逐步配置。

拓扑

图 3: 使用 BGP 对等会话的典型网络使用 BGP 对等会话的典型网络

配置

程序

CLI 快速配置

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

设备 A

设备 B

设备 C

设备 D

设备 E

逐步过程

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

要配置 BGP 对等会话,

  1. show interfaces terse运行 命令以验证物理路由器是否具有逻辑隧道 (lt) 接口。

  2. 在逻辑系统 A 上,配置接口封装、对等单元编号和 DLCI 以到达逻辑系统 E。

  3. 在逻辑系统 A 上,配置到 Peer E 的链路的网络地址并配置环路接口。

  4. 在逻辑系统 E 上,配置接口封装、对等单元编号和 DLCI 以到达逻辑系统 A。

  5. 在逻辑系统 E 上,配置到 Peer A 的链路的网络地址并配置环路接口。

  6. show interfaces terse运行 命令以查看由 EUI-64 生成的 IPv6 地址。

    此示例中使用的 2001 地址在 BGP neighbor 语句中。

    注:

    fe80 地址是链路本地地址,此示例中未使用。

  7. 在其他逻辑系统上重复接口配置。

配置外部 BGP 会话

逐步过程

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

要配置 BGP 对等会话,

  1. 在逻辑系统 A 上,创建 BGP 组并添加外部邻接方地址。

  2. 在逻辑系统 E 上,创建 BGP 组并添加外部邻接方地址。

  3. 在逻辑系统 A 上,指定外部 AS 的自治系统 (AS) 编号。

  4. 在逻辑系统 E 上,指定外部 AS 的自治系统 (AS) 编号。

  5. 在逻辑系统 A 上,将对等类型设置为 EBGP。

  6. 在逻辑系统 E 上,将对等类型设置为 EBGP。

  7. 在逻辑系统 A 上,设置自治系统 (AS) 编号和路由器 ID。

  8. 在逻辑系统 E 上,设置 AS 编号和路由器 ID。

  9. 为对等方 A、B、C 和 D 重复这些步骤。

结果

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

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

验证

确认配置工作正常。

验证 BGP 邻接方

目的

验证 BGP 是否在配置的接口上运行,以及每个邻接方地址的 BGP 会话是否处于活动状态。

行动

在操作模式下 show bgp neighbor ,运行 命令。

意义

邻接方之间正在交换 IPv6 单播网络层可访问性信息 (NLRI)。

验证 BGP 组

目的

验证 BGP 组是否配置正确。

行动

在操作模式下 show bgp group ,运行 命令。

意义

组类型为外部,组有四个对等方。

验证 BGP 摘要信息

目的

验证是否已建立 BGP 对等关系。

行动

在操作模式下 show bgp summary ,运行 命令。

意义

Down 对等方:0 输出显示 BGP 对等方处于既定状态。

检查路由表

目的

验证 inet6.0 路由表是否已填充本地和直接路由。

行动

在操作模式下 show route ,运行 命令。

意义

inet6.0 路由表包含本地和直接路由。要将路由表与其他类型的路由一起填充,必须配置路由策略。

了解内部 BGP 对等会话

当两个支持 BGP 的设备处于相同的自治系统 (AS) 中时,BGP 会话称为 内部 BGP 会话或 IBGP 会话。BGP 在 IBGP 和外部 BGP (EBGP) 会话上使用相同的消息类型,但是何时发送每个消息以及如何解释每个消息的规则略有不同。因此,有些人将 IBGP 和 EBGP 称为两个单独的协议。

图 4: 内部和外部 BGP内部和外部 BGP

图 4中,Device Jackson、Device Memphis 和 Device Biloxi 之间有 IBGP 对等会话。同样,设备迈阿密和设备亚特兰大有IBGP对等会话之间。

IBGP 的目的是提供一种可在整个网络中转发 EBGP 路由通告的方法。从理论上讲,要完成这项任务,您可以将所有 EBGP 路由重新分配为内部网关协议 (IGP),例如 OSPF 或 IS-IS。但是,由于互联网中存在大量 EBGP 路由,并且 IGP 的运维方式,因此在生产环境中不建议这样做。简而言之,IGP 发生混乱或崩溃的路由很多。

通常,环路接口 (lo0) 用于在 IBGP 对等方之间建立连接。只要设备在运行,回传接口就始终正常运行。如果有通向环路地址的路由,则 IBGP 对等会话将保持正常运行。如果改为使用物理接口地址,并且该接口向上和向下,则 IBGP 对等会话也会起起落落。因此,如果设备具有链路冗余,环路接口可在物理接口或链路中断时提供容错。

虽然 IBGP 邻接方不需要直接连接,但它们确实需要完全网状化。在这种情况下,全网状表示每个设备都通过邻接方对等关系在逻辑上连接到所有其他设备。语 neighbor 句创建网状。由于 IBGP 的全网状要求,您必须在 AS 中的所有 IBGP 设备之间配置单独的对等会话。全网状不必是物理链路。相反,每个路由设备上的配置都必须创建对等会话的全网状(使用多个 neighbor 语句)。

注:

如果配置了联合体或路由反射,则放弃对全网状结构的要求。

要了解全网状要求,请考虑不能将 IBGP 获知的路由重新修改为其他 IBGP 对等方。防止重新调整 IBGP 路由并要求全网状结构的原因是避免 AS 内的路由环路。AS 路径属性是 BGP 路由设备避免环路的方法。只有在从 EBGP 对等方接收路由时,才会检查本地 AS 编号的路径信息。由于属性仅跨 AS 边界修改,因此此系统运行良好。但是,仅跨 AS 边界修改属性的事实会在 AS 内部出现问题。例如,假设路由设备 A、B 和 C 都在同一 AS 中。设备 A 从 EBGP 对等方接收路由,并将路由发送至设备 B,设备 B 将其安装为活动路由。然后,路由会发送至设备 C,后者会在本地安装并将其发送回设备 A。如果设备 A 安装路由,则在 AS 内形成环路。由于 AS 路径属性不会在这些播发期间修改,路由设备无法检测到环路。因此,BGP 协议设计人员决定,永远不会形成路由环路的唯一保证是防止 IBGP 对等方在 AS 中播发 IBGP 学习的路由。为了实现路由可达性,IBGP 对等方完全网状化。

IBGP 支持多用途连接,因此 IBGP 邻接方可位于 AS 内的任何位置,并且通常不共享链路。递归路由查找可将环路对等地址解析到下一跳跃的 IP 转发。查找服务由静态路由或 IGP(如 OSPF 或 BGP 路由)提供。

示例:配置内部 BGP 对等会话

此示例说明如何配置内部 BGP 对等会话。

要求

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

概述

在此示例中,您可配置内部 BGP (IBGP) 对等会话。环路接口 (lo0) 用于在 IBGP 对等方之间建立连接。只要设备在运行,回传接口就始终正常运行。如果有通向环路地址的路由,则 IBGP 对等会话将保持正常运行。如果改为使用物理接口地址,并且该接口向上和向下,则 IBGP 对等会话也会起起落落。因此,如果设备具有链路冗余,则环路接口可在物理接口或其中一个链路断开时提供容错。

当设备与远程设备的环路接口地址对等时,本地设备会期望来自(由)远程设备的环路接口地址发出的 BGP 更新消息。该 local-address 语句允许您指定 BGP 更新消息中的源信息。如果省略该 local-address 语句,则 BGP 更新消息的预期来源基于设备的源地址选择规则,通常导致出口接口地址为更新消息的预期来源。发生这种情况时,将未建立对等会话,因为预期源地址(对等方的出口接口)与实际源(对等方的环路接口)之间存在不匹配。要确保预期源地址与实际源地址匹配,请在语句中 local-address 指定环路接口地址。

由于 IBGP 支持多用途连接,因此 IBGP 邻接方可位于自治系统 (AS) 内的任何位置,并且通常不共享链路。递归路由查找可将环路对等方地址解析到下一跳跃的 IP 转发。在此示例中,此服务由 OSPF 提供。尽管不需要直接连接内部网关协议 (IGP) 邻接方,但它们确实需要完全网状化。在这种情况下,全网状表示每个设备都通过邻接方对等关系在逻辑上连接到所有其他设备。语 neighbor 句创建网状。

注:

如果配置了联合体或路由反射,则放弃对全网状结构的要求。

建立 BGP 对等方后,本地路由不会由 BGP 对等方自动通告。在每个支持 BGP 的设备上,都需要策略配置将本地、静态或 IGP 学习的路由导出到 BGP 路由信息库 (RIB),然后将其播发为 BGP 路由给其他对等方。默认情况下,BGP 的广告策略不会向对等方播发任何非 BGP 路由(如本地路由)。

在示例网络中,AS 17 中的设备在组 internal-peers中完全网状化。这些设备的回传地址为 192.168.6.5、192.163.6.4 和 192.168.40.4。

图 5 显示了具有内部对等会话的典型网络。

图 5: 具有 IBGP 会话的典型网络具有 IBGP 会话的典型网络

配置

CLI 快速配置

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

设备 A

设备 B

设备 C

配置设备 A

逐步过程

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

要在设备 A 上配置内部 BGP 对等会话:

  1. 配置接口。

  2. 配置 BGP。

    neighbor即使设备 A 未直接连接到设备 C,也包括对设备 B 和设备 C 的语句。

  3. 配置 OSPF。

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

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

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

结果

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

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

配置设备 B

逐步过程

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

要在设备 B 上配置内部 BGP 对等会话:

  1. 配置接口。

  2. 配置 BGP。

    neighbor即使设备 A 未直接连接到设备 C,也包括对设备 B 和设备 C 的语句。

  3. 配置 OSPF。

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

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

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

结果

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

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

配置设备 C

逐步过程

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

要在设备 C 上配置内部 BGP 对等会话:

  1. 配置接口。

  2. 配置 BGP。

    neighbor即使设备 A 未直接连接到设备 C,也包括对设备 B 和设备 C 的语句。

  3. 配置 OSPF。

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

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

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

结果

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

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

验证

确认配置工作正常。

验证 BGP 邻接方

目的

验证 BGP 是否在配置的接口上运行,以及每个邻接方地址的 BGP 会话是否处于活动状态。

行动

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

验证 BGP 组

目的

验证 BGP 组是否配置正确。

行动

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

验证 BGP 摘要信息

目的

验证 BGP 配置是否正确。

行动

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

验证是否已在路由表中安装 BGP 路由

目的

验证导出策略配置是否导致 BGP 路由安装在对等方的路由表中。

行动

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

示例:在逻辑系统上配置内部 BGP 对等会话

此示例说明如何在逻辑系统上配置内部 BGP 对等会话。

要求

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

概述

在此示例中,您可配置内部 BGP (IBGP) 对等会话。

在示例网络中,AS 17 中的设备在组 internal-peers中完全网状化。这些设备的回传地址为 192.168.6.5、192.163.6.4 和 192.168.40.4。

图 6 显示了具有内部对等会话的典型网络。

图 6: 具有 IBGP 会话的典型网络具有 IBGP 会话的典型网络

配置

CLI 快速配置

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

设备 A

逐步过程

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

要在设备 A 上配置内部 BGP 对等会话:

  1. 配置接口。

  2. 配置 BGP。

    在逻辑系统 A 上 neighbor ,即使逻辑系统 A 未直接连接到设备 C,也包括设备 B 和设备 C 的语句。

  3. 配置 OSPF。

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

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

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

结果

在配置模式下,输入 show logical-systems 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以将其更正。

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

验证

确认配置工作正常。

验证 BGP 邻接方

目的

验证 BGP 是否在配置的接口上运行,以及每个邻接方地址的 BGP 会话是否处于活动状态。

行动

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

验证 BGP 组

目的

验证 BGP 组是否配置正确。

行动

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

验证 BGP 摘要信息

目的

验证 BGP 配置是否正确。

行动

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

验证是否已在路由表中安装 BGP 路由

目的

验证导出策略配置是否工作。

行动

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