Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP 对等会话

使用外部 BGP 对等方组的优势

BGP 是当今唯一适合于承载互联网上所有路由的路由协议。这主要是因为 BGP 在 TCP 之上运行,并且可以利用 TCP 流控制。相比之下,内部网关协议 (IGP) 没有流控制。当 IGP 拥有过多的路由信息时,它们就会开始流失。当 BGP 的相邻发送方发送信息过快时,BGP 可以通过延迟 TCP 确认来限制邻接方。

BGP 的另一个好处是(与 IS-IS 一样)它使用类型、长度、值 (TLV) 元组和网络层可达性信息 (NLRI),无需更改底层协议即可提供看似无限的可扩展性。

在 Junos OS 中,BGP 完全由策略驱动。运维人员必须显式配置邻接方以便与之对等,并明确接受进入 BGP 的路由。此外,路由策略还用于过滤和修改路由信息。因此,路由策略提供了对路由表的完全管理控制。

配置大量 BGP 对等体邻接方的首选方法是配置对等组,每个组由多个邻接方组成。

随着外部 BGP (EBGP) 组数量的增加,支持大量 BGP 会话的能力可能会成为 CPU 和内存资源扩展问题。通常,支持较少的 EBGP 组比支持大量 EBGP 组具有更好的可扩展性。与少数 EBGP 组(每个组中有多个对等方)相比,这在数百个 EBGP 组的情况下变得更加明显。出现这种扩展行为的原因是 Junos OS 的数据结构是按每个路由、按组生成的。添加组时,将这些数字相乘并减少可用内存量。

BGP 对等互连在两个独立的自治系统 (AS) 之间建立互惠互利的流量交换关系。它在服务提供商交换点尤其有用。这种关系的主要好处是降低了两个网络的传输成本和设备资源。创建 BGP 对等体组的其他潜在好处包括降低 BGP 配置的复杂性,以及通过减少对传输提供商的依赖来增加路由冗余。

BGP 对等互连可用于在两个远程网络(例如远程办公室和公司总部)之间创建点对点流量交换。它还可用于快速连接两个不同的网络,例如在两个合并后的办公室之间。

了解外部 BGP 对等会话

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

图 1:BGP 对等会话 Network topology diagram showing AS 3 using OSPF and AS 10 using RIP, connected by BGP via routers A and B.

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

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

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

建立 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 对等会话 Network diagram showing routers in autonomous systems AS 17, AS 22, and AS 78 with labeled connections indicating data routing paths.的典型网络

配置

过程

CLI 快速配置

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

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器

要配置 BGP 对等体会话,请执行以下操作:

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

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

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

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

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

    邻接方配置将覆盖组配置。因此,while 为组中的所有其他邻居设置,peer-as 79peer-as 22为邻居 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) 17 中的设备 E 与一组称为外部 对等方的 BGP 对等体会话。对等方 A、B 和 C 驻留在 AS 22 中。此示例显示了逻辑系统 A 和逻辑系统 E 上的分步配置。

拓扑结构

图 3:具有 BGP 对等会话 Typical Network with BGP Peer Sessions的典型网络

配置

过程

CLI 快速配置

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

设备 A

设备 B

设备 C

设备 D

设备 E

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 《CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置 BGP 对等体会话,请执行以下操作:

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

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

  3. 在逻辑系统 A 上,配置指向对等方 E 的链路的网络地址,并配置一个环路接口。

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

  5. 在逻辑系统 E 上,配置指向对等方 A 的链路的网络地址,并配置一个环路接口。

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

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

    注意:

    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

意义

关闭对等方:0 输出显示 BGP 对等方处于已建立状态。

检查路由表

目的

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

行动

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

意义

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

了解内部 BGP 对等会话

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

图 4:内部和外部 BGP Network topology diagram showing Autonomous Systems and routers: AS 604 in Biloxi, Memphis, Jackson; AS 931 in Miami, Atlanta; AS 25 in Topeka. IBGP connects routers within AS; EBGP connects Memphis to Atlanta and Jackson to Topeka. IP addresses and subnets indicated.

图 4 中,设备 Jackson、设备 Memphis 和设备 Biloxi 彼此之间有 IBGP 对等会话。同样,设备 Miami 和设备 Atlanta 彼此之间有 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 中的设备在内部对 方组中处于全网状状态。设备的环路地址为 192.168.6.5、192.163.6.4 和 192.168.40.4。

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

图 5:具有 IBGP 会话的 Typical Network with IBGP Sessions典型网络

配置

CLI 快速配置

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

设备 A

设备 B

设备 C

配置设备 A

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器

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

  1. 配置接口。

  2. 配置 BGP。

    即使设备 A 未直接连接到设备 C,设备 B 和设备 C 也包含这些 neighbor 语句。

  3. 配置 OSPF。

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

    此方案的其他有用选项可能是接受通过 OSPF 或本地路由获知的路由。

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

结果

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

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

配置设备 B

分步程序

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

要在设备 B 上配置内部 BGP 对等体会话,请执行以下操作:

  1. 配置接口。

  2. 配置 BGP。

    即使设备 A 未直接连接到设备 C,设备 B 和设备 C 也包含这些 neighbor 语句。

  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。

    即使设备 A 未直接连接到设备 C,设备 B 和设备 C 也包含这些 neighbor 语句。

  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 中的设备在内部对 方组中处于全网状状态。设备的环路地址为 192.168.6.5、192.163.6.4 和 192.168.40.4。

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

图 6:具有 IBGP 会话的 Typical Network with IBGP Sessions典型网络

配置

CLI 快速配置

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

设备 A

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 《CLI 用户指南》中的在配置模式下使用 CLI 编辑器

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

  1. 配置接口。

  2. 配置 BGP。

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

  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