Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
在本页
 

BGP 会话的负载平衡

了解 BGP 多路径

BGP 多路径允许您将多个内部 BGP 路径和多个外部 BGP 路径安装到转发表。选择多个路径使 BGP 能够跨多个链路对流量进行负载均衡。

如果 BGP 路径选择过程在将 IGP 成本与下一跃点进行比较后执行平局中断,则路径被视为 BGP 等价路径(用于转发)。默认情况下,多路径选择过程中会考虑具有同一相邻 AS、由支持多路径的 BGP 邻接方获知的所有路径。

BGP 通常只为每个前缀选择一个最佳路径,并将该路由安装在转表中。启用 BGP 多路径后,设备选择多个等价 BGP 路径到达给定目标,所有这些路径都安装在转发表中。BGP 仅将活动路径播发至其邻居,除非正在使用添加路径。

Junos OS BGP 多路径功能支持以下应用程序:

  • 跨属于不同自治系统 (AS) 的两台路由设备之间多个链路的负载平衡

  • 将一个公共子网或多个子网的负载平衡到属于同一对等 AS 的不同路由设备

  • 跨属于不同外部联合对等方的两个路由设备之间多个链路的负载平衡

  • 将一个公共子网或多个子网的负载平衡到属于外部联合对等方的不同路由设备

在负载平衡的常见方案中,客户在接入点 (POP) 中多宿主到多个路由器或交换机。默认行为是仅通过一个可用链接发送所有流量。负载平衡会导致流量使用两个或多个链路。

BGP 多路径不适用于共享相同 MED-plus-IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本指标,即使两条路径具有相同的 MED-plus-IGP 成本也是如此。

从 Junos OS 18.1R1 版开始,BGP 多路径在层次结构级别全局受支持 。[edit protocols bgp] 您可以有选择地在某些 BGP 组和邻居上禁用多路径。在层次结构级别包含以禁用组或特定 BGP 邻接方的多路径选项。disable[edit protocols bgp group group-name multipath]

从 Junos OS 18.1R1 版开始,您可以推迟多路径计算,直到收到所有 BGP 路由。启用多路径后,BGP 会在每次添加新路由或现有路由更改时将路由插入多路径队列。当通过 BGP 添加路径功能接收到多个路径时,BGP 可能会多次计算一个多路径路由。多路径计算会减慢 RIB(也称为路由表)学习速率。为了加快 RIB 学习速度,可以将多路径计算推迟到收到 BGP 路由,也可以根据需要降低多路径构建作业的优先级,直到解析 BGP 路由。若要推迟多路径计算,请在层次结构级别进行配置。defer-initial-multipath-build[edit protocols bgp] 或者,您可以使用层次结构级别的配置语句降低 BGP 多路径构建作业优先级,以加快 RIB 学习。multipath-build-priority[edit protocols bgp]

示例:均衡 BGP 流量负载

此示例说明如何配置 BGP 以选择多个等价外部 BGP (EBGP) 或内部 BGP (IBGP) 路径作为活动路径。

要求

准备工作:

  • 配置设备接口。

  • 配置内部网关协议 (IGP)。

  • 配置 BGP。

  • 配置路由策略,将路由(例如直接路由或 IGP 路由)从路由表导出到 BGP。

概述

以下步骤说明如何配置每个数据包的负载平衡:

  1. 通过在层次结构级别包含一个或多个 语句 来定义负载平衡路由策略,并定义以下 操作:policy-statement[edit policy-options]load-balance per-packet

    注:

    要在多个 EBGP 路径和多个 IBGP 路径之间启用负载平衡,请在层次结构级别全局包含语句。multipath[edit protocols bgp] 如果不全局包含 语句,或者为层次结构级别的 BGP 组 或层次结构级别的特定 BGP 邻接方 启用该语句,则无法启用 BGP 流量的负载平衡。multipath[edit protocols bgp group group-name[edit protocols bgp group group-name neighbor address]

  2. 将策略应用于从路由表导出到转发表的路由。为此,请包含 和 语句:forwarding-tableexport

    您无法将导出策略应用于 VRF 路由实例。

  3. 在分配与正在播发的路由对应的标签时,指定该路由的所有下一跃点(如果存在多个跃点)。

  4. 配置 MPLS 的转发选项哈希密钥以包含 IP 有效负载。

注:

在某些平台上,可以使用语句 增加负载平衡的路径数。chassis maximum-ecmp 使用此语句,您可以将等价负载平衡路径的最大数量更改为 32、64、128、256 或 512(最大数量因平台而异 — 请参阅 最大 ecmp)。 从 Junos OS 19.1R1 版开始,您可以在 QFX10000 交换机上指定最多 128 条等价路径。https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/maximum-ecmp-edit-chassis-qfx.html从 Junos OS 19.2R1 版开始,您可以在QFX10000交换机上指定最多 512 条等价路径。— 请参阅 了解使用可选一致负载平衡配置多达 512 条等价路径。了解多达 512 条等价路径的配置,并可选择一致负载平衡

在此示例中,设备 R1 位于 AS 64500 中,并连接到位于 AS 64501 中的设备 R2 和设备 R3。此示例显示了设备 R1 上的配置。

拓扑

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

图 1: BGP 负载平衡BGP 负载平衡

配置

程序

CLI 快速配置

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

分步过程

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

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

  1. 配置 BGP 组。

  2. 使 BGP 组能够使用多个路径。

    注:

    要禁用要求 BGP 多路径接受的路径必须具有相同相邻自治系统 (AS) 的默认检查,请包含该 选项。multiple-as

  3. 配置负载均衡策略。

  4. 应用负载平衡策略。

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

成果

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

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

验证

确认配置工作正常:

验证路由

目的

验证是否从相邻 AS 中的两个路由器获知路由。

操作

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

意义

活动路径(用星号 (*) 表示)有两个下一跃点:10.0.1.1 和 10.0.0.2 到 10.0.2.0 目标。10.0.1.1 下一跃点将从非活动路径复制到活动路径。

注:

命令输出将 一个网关指定为 .show route detailselected 在负载平衡的上下文中,此输出可能会造成混淆。当 Junos OS 未执行按数据包负载均衡时,除了决定将哪个网关安装到内核中之外,所选网关还用于多种用途。例如,命令 在发送数据包时使用选定的网关。ping mpls 在某些情况下,组播协议使用所选网关来确定上游接口。因此,即使 Junos OS 通过转发表策略执行每个数据包的负载平衡,所选网关信息仍需要用于其他目的。显示选定的网关以进行故障排除非常有用。此外,可以使用转发表策略来覆盖内核中安装的内容(例如,通过使用 操作)。install-nexthop 在这种情况下,转发表中安装的下一跃点网关可能是命令中显示的 网关总数的子集。show route

验证转发

目的

验证转发表中是否安装了两个下一跃点。

操作

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

了解多达 512 条等价路径的配置,并可选择一致负载平衡

您可以为外部 BGP 对等方配置最多 512 条路径的等价多路径 (ECMP) 功能。由于能够配置多达 512 个 ECMP 下一跃点,因此您可以增加与指定路由设备的直接 BGP 对等连接数量,从而改善延迟并优化数据流。您可以选择在该 ECMP 配置中包含一致的负载平衡。一致的负载平衡可确保在 ECMP 成员(即路径)发生故障时,只有流经故障成员的流量才会重新分配给其他活动的 ECMP 成员。一致的负载平衡还可确保在添加 ECMP 成员时,从现有 EMCP 成员到新 ECMP 成员的流重新分配最少。

配置 256 到 512 个等价路径的准则和限制,可以选择一致负载平衡

  • 该功能仅适用于单跳外部 BGP 对等方。(此功能不适用于 MPLS 路由。

  • 设备的路由进程 (RPD) 必须支持 64 位模式;不支持 32 位 RPD。

  • 该功能仅适用于单播流量。

  • 流量分布可能不会在所有组成员之间均匀分布 — 这取决于流量模式和硬件中散列流集表的组织。在组中添加或删除成员时,一致的散列可 最大程度地减少 流到目标链接的重新映射。

  • 如果使用 、 或 选项之一进行配置,某些流可能会更改目标链接,因为新的哈希参数可能会为流生成新的哈希索引,从而生成新的目标链接。set forwarding-options enhanced-hash-keyhash-modeinetinet6layer2

  • 为了获得最佳哈希准确性,此功能使用 级联 拓扑为超过 128 个下一跃点的配置实现下一跃点结构。因此,散列精度略低于小于 128 的 ECMP 下一跃点配置,后者不需要级联拓扑。

  • 受影响 ECMP 路径上的现有流量和流经这些受影响 ECMP 路径的新流量可能会在本地路由修复期间切换路径,并且流量倾斜可能很明显。但是,在随后的全球路由修复期间,任何此类倾斜都会得到纠正。

  • 增加该 值时,在路由前缀的 下一个 跃点更改事件期间,一致性哈希将丢失。maximum-ecmp

  • 如果将新路径添加到现有 ECMP 组,则未受影响路径上的某些流量可能会移动到新添加的路径。

  • 快速重新路由 (FRR) 可能无法使用一致散列。

  • 无法实现完美的类似 ECMP 的流量分配。具有比其他路径更多的“存储桶”的路径比具有较少存储桶的路径具有更多的流量( 存储桶 是负载平衡表的通讯组列表中映射到 ECMP 成员索引的条目)。

  • 在网络拓扑更改事件期间,在某些情况下,网络前缀会丢失一致的哈希,因为这些前缀指向新的 ECMP 下一跃点,该跃点不具有前缀先前 ECMP 下一跃点的所有属性。

  • 如果多个网络前缀指向同一个 ECMP 下一跃点,并且该语句启用了 其中一个或多个前缀,则指向同一 ECMP 下一跃点 的所有 网络前缀将显示一致的散列行为。consistent-hash

  • 仅在基于等价 BGP 路由的 ECMP 组上支持一致散列。如果配置了优先于 BGP 路由的其他协议或静态路由,则不支持一致哈希。

  • 当配置与以下功能的配置结合使用时,一致性哈希可能会受到限制,因为这些功能具有不使用哈希来选择路径的隧道终止或流量工程 - GRE 隧道;流浪汉流量;EVPN-VXLAN;和 MPLS TE,自动带宽。

有关配置最多 512 个 ECMP 下一跃点以及选择性地配置一致负载平衡的说明

当您准备好配置最多 512 个下一跃点时,请使用以下配置说明:

  1. 配置 ECMP 下一跃点的最大数量,例如,配置 512 个 ECMP 下一跃点:

  2. 创建路由策略并启用每个数据包的负载平衡,从而在系统上全局启用 ECMP:

  3. 通过创建单独的路由策略将传入路由与一个或多个目标前缀匹配,在所选前缀上启用弹性,例如:

  4. 将 eBGP 导入策略(例如,“c 哈希”)应用于外部对等方的 BGP 组:

有关配置等价路径的更多详细信息,请参阅 示例:负载平衡 BGP 流量,出现在本文档前面部分。

(可选)有关配置一致负载平衡(也称为一致性哈希)的更多详细信息,请参阅 为 ECMP 组配置一致负载平衡为 ECMP 组配置一致的负载平衡

示例:配置单跃点 EBGP 对等方以接受远程下一跃点

此示例说明如何将单跃点外部 BGP (EBGP) 对等方配置为接受不共享公共子网的远程下一跃点。

要求

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

概述

在某些情况下,有必要将单跃点 EBGP 对等方配置为接受不共享公共子网的远程下一跃点。默认行为是丢弃从未识别为共享公共子网的单跃点 EBGP 对等方接收的任何下一跃点地址。如果能够让单跃点 EBGP 对等方接受它未直接连接到的远程下一跃点,还可以防止将单跃点 EBGP 邻接方配置为多跃点会话。在这种情况下配置多跃点会话时,通过此 EBGP 对等方获知的所有下一跃点路由都将标记为间接路由,即使它们共享一个公共子网也是如此。这种情况会破坏通过包含这些下一跃点地址的路由递归解析的路由的多路径功能。配置语句 允许单跃点 EBGP 对等方接受远程下一跃点,从而恢复通过这些下一跃点地址解析的路由的多路径功能。 accept-remote-nexthop 您可以在 BGP 的全局、组和邻居层次结构级别配置此语句。逻辑系统和 VPN 路由和转发 (VRF) 路由实例类型也支持该语句。远程下一跃点和 EBGP 对等方都必须支持 RFC 2918“BGP-4 中的路由刷新功能”中定义的 BGP 路由刷新。如果远程对等方不支持 BGP 路由刷新,则会重置会话。

默认情况下,单跃点 EBGP 对等方将其自己的地址播发为下一跃点。如果要播发不同的下一跃点,则必须在 EBGP 对等方上定义导入路由策略。启用单跃点 EBGP 对等方接受远程下一跃点时, 还可以 在 EBGP 对等方上配置导入路由策略。 但是,如果已配置远程下一跃点,则不需要路由策略。

此示例包含一个导入路由策略 ,该策略使单跳外部 BGP 对等方(设备 R1)能够接受远程下一跃点 1 0.1.10.10 作为到 1 0.1.230.0/23 网络的路由。agg_route 在 层次结构级别,该示例包含 将策略应用于外部 BGP 对等方的语句,并包含 使单跃点 EBGP 对等方能够接受远程下一跃点的语句。[edit protocols bgp]import agg_routeaccept-remote-nexthop

图 2 显示了示例拓扑。

图 2: 用于接受远程下一跃点的拓扑用于接受远程下一跃点的拓扑

配置

CLI 快速配置

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

设备 R0

设备 R1

设备 R2

设备 R0

分步过程

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

要配置设备 R0:

  1. 配置接口。

  2. 配置 EBGP。

  3. 在设备 R0 和设备 R1 之间启用多路径 BGP。

  4. 配置到远程网络的静态路由。 这些路由不是拓扑的一部分。这些路由的目的是演示此示例中的功能。

  5. 配置接受静态路由的路由策略。

  6. 将 路由表中的和 策略导出到 BGP 中。agg_routetest_route

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

成果

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

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

配置设备 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. 配置 OSPF。

  3. 启用设备 R1 以接受远程下一跃点。

  4. 配置 IBGP。

  5. 配置 EBGP。

  6. 在设备 R0 和设备 R1 之间启用多路径 BGP。

  7. 配置路由策略,使单跳外部 BGP 对等方(设备 R1)能够接受远程下一跃点 1 0.1.10.10 以路由到 1 0.1.230.0/23 网络。

  8. 将 策略导入设备 R1 上的路由表中。agg_route

  9. 配置自治系统 (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. 配置 OSPF。

  3. 配置 IBGP。

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

成果

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

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

验证

确认配置工作正常。

验证具有间接下一跃点的多路径路由是否在路由表中

目的

验证设备 R1 是否有到 1 0.1.230.0/23 网络的路由。

操作

在操作模式下,输入 show route 10.1.230.0 extensive 命令。

意义

输出显示设备 R1 具有到 1 0.1.230.0 网络的路由,并启用了多路径功能 ()。Accepted Multipath 输出还显示路由的间接下一跃点为 1 0.1.10.10。

停用和重新激活接受-远程-下一跃点语句

目的

停用语句时, 请确保从路由表中删除具有间接下一跃点的多路径路由。accept-remote-nexthop

操作
  1. 从配置模式,输入 deactivate protocols bgp accept-remote-nexthop 命令。

  2. 在操作模式下,输入 show route 10.1.230.0 命令。

  3. 在配置模式下,输入 命令重新激活语句。activate protocols bgp accept-remote-nexthop

  4. 在操作模式下,重新输入 命令。show route 10.1.230.0

意义

当语句停用时,多路径路由到 10。1.230.0 网络已从路由表中删除。accept-remote-nexthop

了解分配给路径的带宽不相等的 BGP 流量的负载平衡

多路径选项从活动路由决策流程中删除了仲裁程序,从而允许将从多个源获知的等价 BGP 路由安装到转发表中。但是,当可用路径的成本不相等时,您可能希望以非对称方式对流量进行负载均衡。

在转发表中安装多个下一跃点后,Junos OS 按前缀负载平衡算法选择特定的转发下一跃点。此过程根据数据包的源地址和目标地址进行哈希处理,以明确地将前缀对映射到可用的下一跃点之一。当哈希函数具有大量前缀时(例如可能发生在 Internet 对等交换上),并且用于防止通信节点对之间的数据包重新排序,因此按前缀映射效果最佳。

企业网络通常希望更改默认行为以唤起 按数据包负载 均衡算法。这里强调按数据包,因为它的使用用词不当,源于原始互联网处理器 ASIC 的历史行为。实际上,当前的瞻博网络路由器支持按前缀(默认)和按流负载均衡。后者涉及针对各种第 3 层和第 4 层标头进行哈希处理,包括源地址、目标地址、传输协议、传入接口和应用程序端口的部分内容。其效果是,现在各个流被哈希到特定的下一跃点,从而在可用的下一跃点之间更均匀地分布,尤其是在源和目标对之间进行路由时。

使用按数据包负载均衡时,包含两个端点之间的通信流的数据包可能会重新排序,但各个流中的数据包会保持正确的顺序。无论您选择按前缀还是按数据包负载平衡,接入链路的不对称都会带来技术挑战。无论采用哪种方式,与映射到快速以太网接入链路等的流相比,映射到 T1 链路等的前缀或流的性能都会下降。更糟糕的是,对于繁重的流量负载,任何同等负载均衡的尝试都可能导致 T1 链路完全饱和,以及数据包丢失导致的会话中断。

幸运的是,瞻博网络 BGP 实施支持带宽社区的概念。此扩展社区对给定下一跃点的带宽进行编码,当与多路径结合使用时,负载平衡算法会在与流量相对带宽成比例的下一跃点集之间分配流量。换句话说,如果您有 10 Mbps 和 1 Mbps 的下一跃点,则对于每个使用低速的流量,平均有 9 个流将映射到高速下一跃点。

只有按数据包的负载均衡才支持 BGP 带宽社区的使用。

配置任务包含两部分:

  • 配置外部 BGP (EBGP) 对等会话,启用多路径,并定义导入策略,以使用反映链路速度的带宽社区标记路由。

  • 启用按数据包(实际上是按流)负载平衡,以实现最佳流量分配。

示例:在分配给路径的带宽不相等的情况下,平衡 BGP 流量的负载

此示例说明如何将 BGP 配置为选择多个不等价路径作为活动路径。

BGP 社区可以帮助您控制路由策略。BGP 社区良好用法的一个示例是不等负载均衡。当自治系统边界路由器 (ASBR) 接收来自直接连接的外部 BGP (EBGP) 邻接方的路由时,ASBR 会使用 IBGP 通告将这些路由通告给内部邻接方。在 IBGP 广告中,您可以附加链路带宽社区来传达播发的外部链路的带宽。当有多个外部链接可用,并且您希望对这些链接执行不相等的负载平衡时,这很有用。您可以在 AS 的所有入口链路上配置链路带宽扩展社区。链路带宽扩展社区中的带宽信息基于 EBGP 链路的配置带宽。它不基于链路上的流量。Junos OS 支持 BGP 链路带宽和多路径负载平衡,如互联网草案 draft-ietf-idr-link-bandwidth-06,BGP 链路带宽扩展社区中所述。请注意,即使 指定了非传递社区,Junos OS 实施也仅限于传递社区。draft-ietf-idr-link-bandwidth-06

要求

准备工作:

  • 配置设备接口。

  • 配置内部网关协议 (IGP)。

  • 配置 BGP。

  • 配置路由策略,将路由(例如直接路由或 IGP 路由)从路由表导出到 BGP。

概述

在此示例中,设备 R1 位于 AS 64500 中,并连接到位于 AS 64501 中的设备 R2 和设备 R3。

此示例使用带宽扩展社区。

默认情况下,使用 BGP 多路径时,流量在计算的多个路径之间平均分配。带宽扩展社区允许向 BGP 路径添加附加属性,从而允许流量分布不均。主要应用是具有非对称带宽功能的给定网络存在多个外部路径的方案。在这种情况下,您可以标记使用带宽扩展社区接收的路由。当 BGP 多路径(内部或外部)在包含带宽属性的路由之间运行时,转发引擎可能会根据每个路径对应的带宽不均地分配流量。

当 BGP 有多个候选路径可用于多路径时,BGP 不会根据带宽社区执行不等价负载平衡,除非所有候选路径都具有此属性。

带宽扩展社区的适用性受到 BGP 多路径接受多个路径以供考虑的限制。明确而言,就 BGP 而言,执行负载平衡的路由器与多个出口点之间的 IGP 距离需要相同。这可以通过使用不跟踪相应 IGP 指标的标签交换路径 (LSP) 的完整网格来实现。但是,在电路传播延迟很大的网络中(例如,如果存在长距离电路),考虑不同路径的延迟特性通常是有价值的。

按如下方式配置带宽社区:

第一个 16 位数字表示本地自治系统。第二个 32 位数字表示链路带宽(以字节/秒为单位)。

例如:

其中 10458 是本地 AS 编号。这些值对应于 T1、T3 和 OC-3 路径的带宽(以字节/秒为单位)。指定为带宽值的值不需要与特定接口的实际带宽相对应。使用的平衡因子计算为指定总带宽的函数。要使用此扩展社区标记路由,请定义策略语句,如下所示:

将此作为导入策略应用于面向非对称带宽链路的 BGP 对等会话。尽管理论上可以在网络中的任何点添加或删除社区属性,但在上述场景中,在面向外部链接的 EBGP 对等会话中将社区作为导入策略应用允许该属性影响本地多路径决策,并且可能更易于管理。

拓扑

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

图 3: BGP 负载平衡BGP 负载平衡

显示了 中 所有设备的配置。CLI 快速配置图 3本节介绍设备 R1 上的步骤。#d29e111__d29e370

配置

程序

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

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

  1. 配置接口。

  2. 配置 BGP 组。

  3. 使 BGP 组能够使用多个路径。

    注:

    要禁用要求 BGP 多路径接受的路径必须具有相同相邻自治系统 (AS) 的默认检查,请包含该 选项。multiple-as 如果邻接方位于不同的 AS 中,请使用此选项 。multiple-as

  4. 配置负载均衡策略。

  5. 应用负载平衡策略。

  6. 配置 BGP 社区成员。

    此示例假定带宽为 1 Gbps,并将 60% 分配给 bw 高,40% 分配给低带宽。参考带宽不必与链路带宽相同。

  7. 配置带宽分配策略。

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

成果

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

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

验证

确认配置工作正常:

验证路由

目的

验证是否选择了两个路由,以及路由上的下一跃点是否显示 60%/40% 的余额。

操作

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

意义

活动路径(用星号 (*) 表示)有两个下一跃点:10.0.1.1 和 10.0.0.2 到 172.16/16 目标。

同样,用星号 (*) 表示的活动路径有两个下一跃点:10.0.1.1 和 10.0.0.2 到 10.0.2.0 目标。

在这两种情况下,10.0.1.1 下一跃点都会从非活动路径复制到活动路径。

输出中显示了 40% 和 60% 的余额。show route 这表明流量在两个下一跃点之间分配,60% 的流量遵循第一个路径,而 40% 的流量遵循第二个路径。

示例:配置策略以跨外部 BGP 链路通告聚合带宽以实现负载平衡

此示例说明如何配置策略以跨外部 BGP 链路通告聚合带宽以实现负载平衡,以及如何为配置的聚合带宽指定阈值。BGP 将多路径的可用链路带宽相加并计算聚合带宽。如果发生链路故障,将调整聚合带宽以反映可用带宽的当前状态。

要求

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

  • 四个具有负载平衡功能的路由器

  • 在所有设备上运行的 Junos OS 17.4 或更高版本

概述

从 Junos OS 17.4R1 版开始,从内部对等方接收多条路径的 BGP 发送方会在这些路径之间实现流量负载均衡。在早期的 Junos OS 版本中,从内部对等方接收多条路径的 BGP 发送方仅播发与活动路由关联的链路带宽。BGP 使用具有聚合带宽的新链路带宽扩展社区来标记多路径,并在其 DMZ 链路上通告这些多路由的聚合带宽。要通告聚合的多个路由,请在 [然后编辑策略选项策略语句] 层次结构级别配置策略和操作。aggregate-bandwidthlimit bandwidthname

拓扑

图 5: 配置策略以跨外部 BGP 链路通告聚合带宽以实现负载平衡配置策略以跨外部 BGP 链路通告聚合带宽以实现负载平衡

在 中 ,路由器 R1 通过路由器 R2 中的下一跃点 10.0.1.1 以每秒 60,000,000 字节的速度负载均衡到远程目标的流量,并以每秒 40,000,000 字节的速度通过路由器 R3 中的 10.0.0.2 将流量负载均衡到远程目标。图 5路由器 R1 将目标 10.0.2.0 播发至路由器 R4。路由器 R1 计算可用带宽的聚合,即每秒 10000000 字节。但是,路由器 R1 上配置的策略将聚合带宽的阈值设置为每秒 80,000,000 字节。因此,R1 播发每秒 80,000,000 字节,而不是每秒 10,000,000 字节。

注:

如果其中一个多路径链路出现故障,则故障链路的带宽不会添加到向 BGP 邻接方播发的聚合带宽中。

配置

CLI 快速配置

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

路由器 R1

路由器 R2

路由器 R3

路由器 R4

配置路由器,从 R1 开始

分步过程

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

要配置策略以将聚合带宽播发至 BGP 对等方(从路由器 R1 开始),请执行以下操作:

注:

修改相应的接口名称、地址和其他参数后,在路由器 R2、R3 和 R4 上重复此过程。

  1. 使用 IPv4 地址配置接口。

  2. 配置环路地址。

  3. 为 BGP 主机配置自治系统。

  4. 在外部边缘路由器上配置 EBGP。

  5. 定义带宽分配策略,为发往路由器 R3 的流量分配高带宽社区。

  6. 定义带宽分配策略,为发往路由器 R2 的流量分配低带宽社区。

  7. 启用该功能可通过 BGP 会话将 80,000,000 字节的聚合带宽播发至 EBGP 对等路由器 R4。

  8. 将aggregate_bw_and limit_capacity策略应用于 EBGP 组 。external2

  9. 定义负载均衡策略。

  10. 应用负载平衡策略。

  11. 配置 BGP 社区成员。第一个 16 位数字表示本地自治系统。第二个 32 位数字表示链路带宽(以字节/秒为单位)。配置一个 社区,使用 60% 的 1-Gbps 链路,配置另一个社区 ,配置 40% 的 1-Gbps 链路。bw-highbw-low

    将 60% 的 1-Gbps 链路配置为高带宽社区,40% 配置为低带宽社区。

成果

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

验证

验证是否已建立 BGP 会话

目的

要验证 BGP 对等互连是否完成并在路由器之间建立了 BGP 会话,

操作
意义

路由器 R1 已完成与路由器 R2、R3 和 R4 的对等互连。

验证每个路径中是否存在聚合带宽

目的

验证每个路由路径是否存在扩展社区。

操作

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

意义

验证路由器 R1 是否正在向其邻居路由器 R4 播发聚合带宽

目的

验证路由器 R1 是否正在向其外部邻居播发聚合带宽。

操作
意义

路由器 R1 正在向其邻居播发 80,000,000 字节的总带宽。

了解 BGP 中指向单个目标的多个路径的播发

BGP 对等方在更新消息中相互播发路由。BGP 将其路由存储在 Junos OS 路由表 () 中。inet.0 对于路由表中的每个前缀,路由协议进程会选择一个最佳路径,称为活动路径。除非将 BGP 配置为将多个路径播发到同一目标,否则 BGP 只会播发活动路径。

您可以将 BGP 配置为播发到目标的多个路径,而不是只播发目标的活动路径。在自治系统 (AS) 中,多个出口点到达目的地的可用性具有以下优势:

  • 容错 — 路径分集可缩短故障后的恢复时间。例如,在接收到同一目标的多个路径后的边界可以预先计算备份路径并准备就绪,以便在主路径无效时,边界路由设备可以使用备份快速恢复连接。如果没有备份路径,恢复时间取决于 BGP 重新融合,其中包括网络中的撤回和播发消息,然后才能获知新的最佳路径。

  • 负载平衡 — 如果 AS 中的路由满足某些限制,则可利用多条路径到达同一目标,从而实现流量负载平衡。

  • 维护 — 备用出口点的可用性允许路由器的正常维护操作。

以下限制适用于在 BGP 中播发多个路由:

  • 支持的地址族:

    • IPv4 单播 ()family inet unicast

    • IPv6 单播 ()family inet6 unicast

    • 标记为单播 () 的 IPv4family inet labeled-unicast

    • 标记为单播 () 的 IPv6family inet6 labeled-unicast

    • IPv4 VPN 单播 ()family inet-vpn unicast

    • IPv6 VPN 单播 ()family inet6-vpn unicast

    以下示例显示了 IPv4 VPN 单播和 IPv6 VPN 单播系列的配置:

  • 我们支持 内部 BGP (IBGP) 和外部 BGP (EBGP) 对等方。add-path

    注:
    • 我们支持 IBGP 和 EBGP 对等方的添加路径 接收 。

    • 我们仅支持对 IBGP 对等方的添加路径发送。

    • 我们不支持 EBGP 对等方的添加路径 发送 。当您尝试为 EBGP 对等方提交添加路径 发送 的配置时,CLI 会引发提交错误。

  • 仅限主实例。不支持路由实例。

  • 支持平稳重启和不间断活动路由 (NSR)。

  • 不支持 BGP 监控协议 (BMP)。

  • 前缀策略允许您过滤配置为向目标播发多个路径的路由器上的路由。前缀策略只能匹配前缀。它们无法匹配路由属性,也无法更改路由的属性。

从 Junos OS 18.4R1 版开始,除了多个 ECMP 路径外,BGP 最多可以通告 2 个添加路径路由 。

若要播发所有添加路径(最多 64 个添加路径)或仅播发等价路径,请在层次结构级别包含。path-selection-mode[edit protocols bgp group group-name family name addpath send] 您不能同时启用两者。multipathpath-selection-mode

示例:在 BGP 中通告多条路径

在此示例中,BGP 路由器配置为播发多个路径,而不是仅播发活动路径。RFC 7911, BGP 中的多路径播发中指定了 BGP 中的多条路径播发

要求

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

  • 八个支持 BGP 的设备。

  • 启用 BGP 的设备中有五台不一定需要是路由器。例如,它们可以是 EX 系列以太网交换机。

  • 其中三个支持 BGP 的设备配置为发送多个路径或接收多个路径(或同时发送和接收多个路径)。这三台支持 BGP 的设备必须是 M 系列多服务边缘路由器、MX 系列 5G 通用路由平台或 T 系列核心路由器。

  • 这三台路由器必须运行 Junos OS 11.4 或更高版本。

概述

以下语句用于配置到目标的多个路径:

在此示例中,路由器 R5、路由器 R6 和路由器 R7 将静态路由重新分发到 BGP 中。路由器 R1 和路由器 R4 是路由反射器。路由器 R2 和路由器 R3 是路由反射器 R1 的客户端。路由器 R8 是路由反射器 R4 的客户端。

在 BGP 中启用多路径通告时,路由反射是可选的。

通过此 配置,路由器 R1 配置为向路由器 R4 发送最多 6 条路径(每个目标)。add-path send path-count 6

通过此 配置,路由器 R4 配置为从路由器 R1 接收多条路径。add-path receive

通过此 配置,路由器 R4 配置为向路由器 R8 发送最多 6 条路径。add-path send path-count 6

通过此 配置,路由器 R8 配置为从路由器 R4 接收多条路径。add-path receive

策略配置(以及相应的路由过滤器)将 路由器 R4 限制为仅发送 172.16.199.1/32 路由的多个路径。add-path send prefix-policy allow_199

拓扑图

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

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

配置

CLI 快速配置

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

路由器 R1

路由器 R2

路由器 R3

路由器 R4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

配置路由器 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. 配置路由器 R2、路由器 R3、路由器 R4 和路由器 R5 的接口,并配置环路 (lo0) 接口。

  2. 在接口上配置 BGP,并配置 IBGP 路由反射。

  3. 将路由器 R1 配置为向其邻居路由器 R4 发送最多六条路径。

    路径的目标可以是路由器 R1 可以通过多个路径到达的任何目标。

  4. 在接口上配置 OSPF。

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

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

成果

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

配置路由器 R2

分步过程

要配置路由器 R2:

  1. 配置环路 (lo0) 接口以及路由器 R6 和路由器 R1 的接口。

  2. 在路由器 R2 的接口上配置 BGP 和 OSPF。

  3. 对于从路由器 R2 发送到路由器 R1 的路由,请将路由器 R2 播发为下一跃点,因为路由器 R1 在 10.0.26.0/24 网络上没有到路由器 R6 地址的路由。

  4. 配置自治系统编号。

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

成果

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

配置路由器 R3

分步过程

要配置路由器 R3:

  1. 配置环路 (lo0) 接口以及路由器 R7 和路由器 R1 的接口。

  2. 在路由器 R3 的接口上配置 BGP 和 OSPF。

  3. 对于从路由器 R3 发送到路由器 R1 的路由,请将路由器 R3 播发为下一跃点,因为路由器 R1 在 10.0.37.0/24 网络上没有到路由器 R7 地址的路由。

  4. 配置自治系统编号。

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

成果

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

配置路由器 R4

分步过程

要配置路由器 R4:

  1. 配置路由器 R1 和路由器 R8 的接口,并配置环路 (lo0) 接口。

  2. 在接口上配置 BGP,并配置 IBGP 路由反射。

  3. 将路由器 R4 配置为向其邻居路由器 R8 发送最多 6 条路径。

    路径的目的地可以是路由器 R4 可以通过多个路径到达的任何目标。

  4. 将路由器 R4 配置为从其邻居路由器 R1 接收多条路径。

    路径的目标可以是路由器 R1 可以通过多个路径到达的任何目标。

  5. 在接口上配置 OSPF。

  6. 配置允许路由器 R4 将路由器 R8 多个路径发送到 172.16.199.1/32 路由的策略。

    • 路由器 R4 接收 172.16.198.1/32 路由和 172.16.199.1/32 路由的多条路径。但是,由于此策略,路由器 R4 仅发送 172.16.199.1/32 路由的多个路径。

    • 路由器 R4 还可以配置为为添加路径播发前缀的子集发送多达 20 个 BGP 路由。add-path

  7. 配置自治系统编号。

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

成果

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

配置路由器 R5

分步过程

要配置路由器 R5:

  1. 配置环路 (lo0) 接口和路由器 R1 接口。

  2. 在路由器 R5 的接口上配置 BGP。

  3. 创建静态路由以重新分发到 BGP。

  4. 将静态和直接路由重新分发到 BGP 中。

  5. 配置自治系统编号。

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

成果

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

配置路由器 R6

分步过程

要配置路由器 R6:

  1. 配置环路 (lo0) 接口和路由器 R2 接口。

  2. 在路由器 R6 的接口上配置 BGP。

  3. 创建静态路由以重新分发到 BGP。

  4. 将来自路由器 R6 路由表的静态和直接路由重新分配到 BGP。

  5. 配置自治系统编号。

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

成果

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

配置路由器 R7

分步过程

要配置路由器 R7:

  1. 配置环路 (lo0) 接口和路由器 R3 接口。

  2. 在路由器 R7 的接口上配置 BGP。

  3. 创建静态路由以重新分发到 BGP。

  4. 将来自路由器 R7 路由表的静态和直接路由重新分发到 BGP 中。

  5. 配置自治系统编号。

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

成果

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

配置路由器 R8

分步过程

要配置路由器 R8:

  1. 配置环路 (lo0) 接口和路由器 R4 接口。

  2. 在路由器 R8 的接口上配置 BGP 和 OSPF。

  3. 将路由器 R8 配置为从其邻居路由器 R4 接收多条路径。

    路径的目的地可以是路由器 R4 可以通过多个路径到达的任何目标。

  4. 配置自治系统编号。

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

成果

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

验证

确认配置工作正常。

验证 BGP 对等方是否能够发送和接收多条路径

目的

确保命令输出 中出现以下一个或两个字符串:show bgp neighbor

  • NLRI's for which peer can receive multiple paths: inet-unicast

  • NLRI's for which peer can send multiple paths: inet-unicast

操作

验证路由器 R1 是否正在播发多条路径

目的

确保将到 172.16.198.1/32 目标的多条路径和到 172.16.199.1/32 目标的多条路径播发到路由器 R4。

操作
意义

当您看到一个前缀和多个下一跃点时,表示有多个路径播发到路由器 R4。

验证路由器 R4 是否正在接收并播发多条路径

目的

确保从路由器 R1 接收到 172.16.199.1/32 目标的多条路径,并将其播发到路由器 R8。确保从路由器 R1 接收到 172.16.198.1/32 目标的多条路径,但只有一条指向此目标的路径播发到路由器 R8。

操作
意义

该 命令显示路由器 R4 接收到 172.16.198.1/32 目标的两条路径和到 172.16.199.1/32 目标的三条路径。show route receive-protocol 该 命令显示路由器 R4 仅播发一条路径到 172.16.198.1/32 目标,并将所有三条路径播发到 172.16.199.1/32 目标。show route advertising-protocol

由于应用于路由器 R4 的前缀策略,路由器 R4 不会播发到 172.16.198.1/32 目标的多个路径。路由器 R4 仅播发到 172.16.198.1/32 目标的一条路径,即使它收到到此目标的多条路径也是如此。

验证路由器 R8 是否正在接收多个路径

目的

确保路由器 R8 通过路由器 R4 接收到 172.16.199.1/32 目标的多条路径。确保路由器 R8 仅通过路由器 R4 接收到 172.16.198.1/32 目标的一条路径。

操作

检查路径 ID

目的

在下游设备路由器 R4 和路由器 R8 上,验证路径 ID 是否唯一标识路径。查找 字符串。Addpath Path ID:

操作

示例:配置 BGP 多路径的选择性通告以实现负载平衡

此示例说明如何配置 BGP 多路径的选择性播发。播发所有可用的多路径可能会导致设备内存上的大量处理开销,这也是一个扩展注意事项。可以将 BGP 路由反射器配置为仅播发参与者多路径以实现负载平衡。

要求

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

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

  • 八款路由器,可组合使用 M 系列、MX 系列或 T 系列路由器

  • 设备上的 Junos OS 16.1R2 或更高版本

概述

从 Junos OS 16.1R2 版开始,您可以将 BGP 限制为 仅向参与者通告多个路径。add-path 您最多可以限制和配置 BGP 算法选择的六个前缀。multipath 多路径的选择性广告有利于互联网服务提供商和数据中心使用路由反射器在 IBGP 中构建路径内多样性。您可以启用 BGP 路由反射器来通告作为负载均衡参与者路径的多路径。

拓扑

在 中 ,RR1 和 RR4 是路由反射器。图 7路由器 R2 和 R3 是路由反射器 RR1 的客户端。路由器 R8 是路由反射器 RR4 的客户端。具有邻居 R2 和 R3 的 RR1 组配置为多路径。路由器 R5、R6 和路由器 R7 将静态路由 199.1.1.1/32 和 198.1.1.1/32 重新分发到 BGP 中。

在路由器 RR1 上配置负载均衡策略,以便计算 199.1.1.1/32 路由的多路径。多路径功能在邻居 RR4 的添加路径下配置。但是,路由器 RR4 未配置负载平衡多路径。路由器 RR1 配置为向路由器 RR4 发送最多 6 个从多路径候选路由中选择的 199.1.1.1/32 添加路径路由。

图 7: 示例:配置 BGP 多路径的选择性通告以实现负载平衡示例:配置 BGP 多路径的选择性通告以实现负载平衡

配置

CLI 快速配置

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

路由器 RR1

路由器 R2

路由器 R3

路由器 RR4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

配置路由器 RR1

分步过程

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

要配置路由器 RR1:

注:

修改相应的接口名称、地址和其他参数后,对其他路由器重复此过程。

  1. 使用 IPv4 地址配置接口。

  2. 配置环路地址。

  3. 配置内部网关协议 (IGP),例如 OSPF 或 IS-IS。

  4. 为连接到内部路由器 R2 和 R3 的接口配置内部组 rr。

  5. 为内部 BGP 组 rr 配置负载平衡。

  6. 为路由反射器配置内部组rr_rr。

  7. 将添加路径多路径功能配置为仅播发参与者多个路径,并将播发的多路径数限制为 6。

  8. 在连接到外部边缘路由器的接口上配置 EBGP。

  9. 为每个数据包负载平衡定义策略loadbal_199。

  10. loadbal_199应用定义的导出策略。

  11. 为 BGP 主机配置路由器 ID 和自治系统。

成果

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

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

验证

确认配置工作正常。

验证静态路由 199.1.1.1/32 的多路径路由

目的

验证目标 199.1.1.1/32 的可用多路径路由。

操作

在操作模式下,在路由器 RR1 上运行 命令。show route 199.1.1.1/32 detail

意义

路由器 RR1 上启用了选择性播发多路径功能,并且路由 199.1.1.1/32 有多个下一跃点可用。路由 199.1.1.1/32 的两个可用下一跃点是 10.0.0.20 和 10.0.0.30。

验证多路径路由是否已从路由器 RR1 播发到路由器 RR4

目的

验证路由器 RR1 是否正在播发多路径路由。

操作

在操作模式下,在路由器 RR1 上运行 命令。show route advertising-protocol bgp 10.0.0.40

意义

路由器 RR1 正在将路由 199.1.1.1/32 的两个下一跃点 10.0.0.20 和 10.0.0.30 播发到路由器 RR4。

验证路由器 RR4 是否将 199.1.1.1/32 的一个路由播发至路由器 R8

目的

路由器 RR4 上未配置多路径,因此路由 199.1.1.1/32 不符合添加路径的条件。验证路由器 RR4 是否仅向路由器 R8 播发 199.1.1.1/32 的一个路由。

操作

在操作模式下, 在路由器 RR4 上运行命令。show route advertising-protocol bgp 10.0.0.80

意义

由于路由器 RR4 上未启用多路径,因此只有一个路径 10.0.0.20 播发至路由器 R8。

示例:配置路由策略以根据 BGP 社区值选择和通告多路径

播发所有可用的多个路径可能会导致设备内存上的大量处理开销。如果要在事先实际不知道前缀的情况下播发有限的前缀子集,则可以使用 BGP 公共组值来确定需要向 BGP 邻接方播发的前缀路由。此示例说明如何定义路由策略,以根据已知的 BGP 社区值过滤和播发多个路径。

要求

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

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

  • 八款路由器,可组合使用 M 系列、MX 系列或 T 系列路由器

  • 设备上的 Junos OS 16.1R2 或更高版本

概述

从 Junos OS 16.1R2 开始,您可以定义一个策略,以根据社区值识别符合条件的多路径前缀。除了指向给定目标的活动路径之外,BGP 还会通告这些带有社区标记的路由。如果路由的社区值与策略中定义的社区值不匹配,则 BGP 不会播发该路由。此功能允许 BGP 播发到给定目标的不超过 20 条路径。您可以限制和配置 BGP 为多个路径考虑的前缀数,而无需事先实际知道前缀。相反,已知的 BGP 社区值确定是否播发前缀。

拓扑

在 中 图 8,RR1 和 RR4 是路由反射器。路由器 R2 和 R3 是路由反射器 RR1 的客户端。路由器 R8 是路由反射器 RR4 的客户端。路由器 R5、R6 和路由器 R7 将静态路由重新分发到 BGP 中。路由器 R5 通告静态路由 199.1.1.1/32 和 198.1.1.1/32,社区值为 4713:100。

路由器 RR1 配置为向路由器 RR4 发送最多 6 条路径(每个目标)。路由器 RR4 配置为向路由器 R8 发送最多 6 条路径。路由器 R8 配置为从路由器 RR4 接收多条路径。添加路径社区配置限制路由器 RR4 为仅包含 4713:100 社区值的路由发送多个路径。路由器 RR4 过滤并通告仅包含 4714:100 社区值的多路径。

图 8: 示例:配置 BGP 以根据社区值通告多路径示例:配置 BGP 以根据社区值通告多路径

配置

CLI 快速配置

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

路由器 RR1

路由器 R2

路由器 R3

路由器 RR4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

配置路由器 RR4

分步过程

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

要配置路由器 RR4:

注:

修改相应的接口名称、地址和其他参数后,对其他路由器重复此过程。

  1. 使用 IPv4 地址配置接口。

  2. 配置环路地址。

  3. 配置 OSPF 或任何其他内部网关协议 (IGP)。

  4. 为路由反射器配置两个 IBGP 组 rr,为路由反射器的客户端配置两个 rr_client。

  5. 将该功能配置为发送仅包含 4713:100 社区值的多个路径,并将播发的多路径数限制为 6。

  6. 定义一个策略 来过滤具有社区值 4713:100 的前缀,并将设备限制为向路由器 R8 发送最多 16 条路径。addpath-community-members 4713:100 此限制将覆盖之前在 BGP 组层次结构级别配置的添加路径发送路径计数 6。

  7. 为 BGP 主机配置路由器 ID 和自治系统。

成果

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

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

验证

确认配置工作正常。

验证多路径路由是否已从路由器 RR4 播发到路由器 R8

目的

验证路由器 RR4 是否可以向路由器 R8 发送多条路径。

操作

在操作模式下, 在路由器 RR4 上运行命令。show route advertising-protocol bgp neighbor-address

意义

路由器 RR4 正在向路由器 R8 播发多个路径 10.0.0.20、10.0.0.30 和 10.0.15.2。

验证路由器 R8 是否接收路由器 RR4 通告的多路径路由

目的

验证路由器 R8 是否正在从路由器 RR4 接收多路径路由。

操作

在操作模式下, 在路由器 R8 上运行命令。show route receive-protocol bgp neighbor-address

意义

路由器 R8 正在从路由器 RR4 接收路由 199.1.1.1/32 的多个下一跃点 10.0.0.20、10.0.0.30 和 10.0.15.2。

验证路由器 RR4 是否仅播发具有社区值 4713:100 的多路径路由到路由器 R8

目的

路由器 RR4 必须仅向路由器 R8 播发社区值为 4713:100 的多路径路由。

操作

在操作模式下, 在路由器 RR4 上运行命令。show route 199.1.1.1/32 detail

意义

路由器 RR4 正在向路由器 R8 播发社区值为 4713:100 的三条路径。

通过 BGP 多路径配置递归解析

从 Junos OS 版本 17.3R1 开始,当具有单个协议下一跃点的 BGP 前缀通过具有多个解析路径的另一个 BGP 前缀解析 (unilist) 时,将选择所有路径进行协议下一跃点解析。在早期的 Junos OS 版本中,只有一条路径被选用于协议下一跃点解析,因为解析程序不支持跨 IBGP 多路径路由的所有路径进行负载平衡。路由协议进程 (rpd) 中的解析程序将协议下一跃点地址 (PNH) 解析为立即转发下一跃点。BGP 递归解析功能增强了解析器,使其能够通过 IBGP 多路径路由解析路由,并将所有可行路径用作下一跃点。此功能有利于密集连接网络,在这些网络中,BGP 用于建立基础架构连接,例如具有高等价多路径和无缝 MPLS 拓扑的 WAN 网络。

在开始配置 BGP 多路径的递归解析之前,必须执行以下操作:

  1. 配置设备接口。

  2. 配置 OSPF 或任何其他 IGP 协议。

  3. 配置 MPLS 和 LDP。

  4. 配置 BGP。

要配置多路径上的递归解析,

  1. 定义包含 操作 的策略。multipath-resolve
  2. 导入策略以解析 IBGP 多路径路由的所有可用路径。
  3. 验证 BGP 是否以递归方式解析多路径,以及多个下一跃点可用于对流量进行负载均衡。

    在操作模式下,输入 命令:show route resolution detail

为 RSVP 和 LDP LSP 配置 ECMP 下一跃点以实现负载平衡

Junos OS 支持 RSVP 和 LDP LSP 的 16、32、64 或 128 等价多路径 (ECMP) 下一跃点配置。s. 对于具有高流量的网络,这提供了更大的灵活性,可以在多达 128 个 LSP 上对流量进行负载均衡。

要配置 ECMP 下一跃点的最大限制,请在层次结构级别包含 语句 :maximum-ecmp next-hops[edit chassis]

您可以使用此语句将最大 ECMP 下一跃点限制配置为 16、32、 64 或 128 。默认限制为 16.

注:

MX 系列路由器带有一个或多个模块化端口集中器 (MPC) 卡并安装了 Junos OS 11.4 或更低版本,支持仅具有 16 个下一跃点的语句配置 。maximum-ecmp 不应为语句配置 32 或 64 个下一跃点。maximum-ecmp 提交具有 32 或 64 个下一跃点的配置时,将显示以下警告消息:

Error: Number of members in Unilist NH exceeds the maximum supported 16 on Trio.

以下类型的路由支持 ECMP 最大下一跃点配置,支持多达 128 个 ECMP 网关:

  • 具有直接和间接下一跃点 ECMP 的静态 IPv4 和 IPv6 路由

  • 通过关联的 IGP 路由获知的 LDP 入口和中转路由

  • 为 LSP 创建的 RSVP ECMP 下一跃点

  • OSPF IPv4 和 IPv6 路由 ECMP

  • IS-IS IPv4 和 IPv6 路由 ECMP

  • EBGP IPv4 和 IPv6 路由 ECMP

  • IBGP(通过 IGP 路由解析)IPv4 和 IPv6 路由 ECMP

增强型 ECMP 限制(最多 128 个 ECMP 下一跃点)也适用于通过 MPLS 路由解析的第 3 层 VPN、第 2 层 VPN、第 2 层电路和 VPLS 服务,因为此类流量也可以使用 MPLS 路由中的可用 ECMP 路径。

注:
注:

如果 RSVP LSP 配置了带宽分配,则对于具有超过 16 个 LSP 的 ECMP 下一跃点,流量不会根据配置的带宽进行最佳分配。某些分配带宽较小的 LSP 接收的流量比配置较高带宽的 LSP 更多。流量分配不严格遵循配置的带宽分配。此注意事项适用于以下路由器:

  • MX 系列路由器,配备所有类型的 FPC 和 DPC,不包括 MPC。此警告 不适用于 具有基于 Junos Trio 芯片组的线卡的 MX 系列路由器。

要查看 ECMP 下一跃点的详细信息,请发出 命令。show route 还 显示了最大 ECMP 限制的当前配置。show route summary command 要查看 ECMP LDP 路径的详细信息,请发出 命令。traceroute mpls ldp

为 ECMP 组配置一致的负载平衡

通过按数据包负载均衡,您可以在多个等价路径上分配流量。默认情况下,当一个或多个路径发生故障时,哈希算法会重新计算所有路径的下一跃点,这通常会导致重新分配所有流。一致的负载平衡 使您能够覆盖此行为,以便仅重定向非活动链接的流。所有现有的活动流量都可以在不中断的情况下得到维护。在数据中心环境中,当链路出现故障时重新分配所有流量可能会导致流量严重丢失,或者链路仍处于活动状态的服务器失去服务。一致的负载平衡会保留所有活动链路,而只会重新映射受一个或多个链路故障影响的流。此功能可确保连接到保持活动状态的链路的流不会中断。

此功能适用于等价多路径 (ECMP) 组的成员是单跳 BGP 会话中的外部 BGP 邻接方的拓扑。添加新的 ECMP 路径或以任何方式修改现有路径时,一致的负载平衡不适用。要在中断最少的情况下添加新路径,请在不修改现有路径的情况下定义新的 ECMP 组。这样,客户端可以逐渐移动到新组,而无需终止现有连接。

  • (在 MX 系列上)仅支持模块化端口集中器 (MPC)。

  • 支持 IPv4 和 IPv6 路径。

  • 还支持属于虚拟路由和转发 (VRF) 实例或其他路由实例的 ECMP 组。

  • 不支持组播流量。

  • 支持聚合接口,但链路聚合 (LAG) 捆绑包的成员之间不支持一致的负载平衡。当一个或多个成员链路发生故障时,来自 LAG 捆绑包的活动成员的流量可能会移动到另一个活动成员。当一个或多个 LAG 成员链路出现故障时,将重新对流进行哈希处理。

  • 强烈建议您将一致的负载平衡应用于每个路由器或交换机最多不超过 1,000 个 IP 前缀。

  • 支持集成路由和桥接 (IRB) 接口上的第 3 层邻接。

您可以配置 BGP 添加路径功能,以便在 ECMP 组中的一个或多个路径发生故障时,将故障路径替换为新的活动 路径 。https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/add-path-edit-protocols-bgp.html配置故障路径的替换可确保仅重定向故障路径上的流量。活动路径上的流量将保持不变。

注:
  • 在通用路由封装 (GRE) 隧道接口上配置一致的负载平衡时,必须指定远端 GRE 接口的 inet 地址,以便在转发表中正确安装 GRE 隧道接口上的第 3 层邻接。但是,在一致负载平衡期间,不支持通过 GRE 隧道接口的 ECMP 快速重新路由 (FRR)。您可以在路由器上指定目标地址,在层次结构级别配置 了一致的负载平衡。[edit interfaces interface name unit unit name family inet address address] 例如:

    有关通用路由封装的更多信息,请参阅 配置通用路由封装隧道。Configuring Generic Routing Encapsulation Tunneling

  • 一致负载平衡不支持 EBGP 邻接方的 BGP 多跳。因此,请勿在配置了一致负载平衡的设备上启用该 选项。multihop

要为 ECMP 组配置一致的负载平衡,请执行以下操作:

  1. 配置 BGP 并使外部对等方的 BGP 组能够使用多个路径。
  2. 创建路由策略以将传入路由与一个或多个目标前缀匹配。
  3. 对路由策略应用一致的负载平衡,以便仅流向一个或多个遇到链路故障的目标前缀的流量重定向到活动链路。
  4. 创建单独的路由策略并启用按数据包负载均衡。
    注:

    您必须配置并应用按数据包负载均衡策略才能在转发表中安装所有路由。

  5. 将路由策略用于将一致的负载平衡应用到外部对等方的 BGP 组。
    注:

    一致的负载平衡只能应用于 BGP 外部对等方。此策略不能在全球范围内应用。

  6. (可选)为每个外部 BGP 邻接方启用双向转发检测 (BFD)。
    注:

    此步骤显示所需的最低 BFD 配置。您可以为 BFD 配置其他选项。

  7. 全局应用每前缀负载均衡策略,以在转发表中安装所有下一跃点路由。
  8. (可选)为 ECMP 路由启用快速重新路由。
  9. 验证您为其启用了一致负载平衡的一个或多个 ECMP 路由的状态。

    启用一致负载平衡时,命令的输出将显示以下标志:State: <Active Ext LoadBalConsistentHash>

了解 BGP 标记的单播 LSP 的熵标签

什么是熵标签?

熵标签是一种特殊的负载平衡标签,可增强路由器跨等价多路径 (ECMP) 路径或链路聚合组 (LAG) 对流量进行负载均衡的能力。熵标签允许路由器仅使用标签堆栈而不是深度数据包检测 (DPI) 来有效地对流量进行负载均衡。DPI 需要更多路由器的处理能力,并不是所有路由器共享的功能。

当 IP 数据包有多条路径到达其目的地时,Junos OS 使用数据包标头的某些字段将数据包散列为确定性路径。数据包的源地址或目标地址和端口号用于散列,以避免对给定流进行数据包重新排序。如果核心标签交换路由器 (LSR) 无法执行 DPI 来识别流量,或者无法以线速识别流量,则标签堆栈单独用于 ECMP 散列。这需要一个熵标签,一个可以携带流信息的特殊负载平衡标签。与中转 LSR 相比,入口 LSR 具有更多有关传入数据包的上下文和信息。因此,入口标签边缘路由器 (LER) 可以检查数据包的流信息,将其映射到熵标签,然后将其插入标签堆栈中。核心中的 LSR 仅使用熵标签作为密钥,将数据包散列到正确的路径。

熵标签可以是 16 到 1048575 之间的任何标签值(常规 20 位标签范围)。由于此范围与现有的常规标签范围重叠,因此在熵标签之前插入一个称为熵标签指示器 (ELI) 的特殊标签。ELI 是 IANA 分配的特殊标签,值为 7。

图 9 说明了 RSVP 标签交换路径 (LSP) 数据包标签堆栈中的熵标签。标签堆栈由熵标签指示器 (ELI)、熵标签和 IP 数据包组成。

图 9: RSVP LSP 的熵标签RSVP LSP 的熵标签

BGP 标记单播的熵标签

BGP 标记的单播跨多个内部网关协议 (IGP) 区域或多个自治系统(内部 AS LSP)连接 RSVP 或 LDP LSP。当入口 PE 和出口 PE 位于不同的 IGP 区域时,区域间 BGP 标记的单播 LSP 通常携带 VPN 和 IP 流量。当 BGP 标记的单播连接 RSVP 或 LDP LSP 时,Junos OS 会在 BGP 标记的单播 LSP 入口处插入熵标签,以实现端到端熵标签负载平衡。这是因为 RSVP 或 LDP 熵标签通常与 RSVP 或 LDP 标签一起在倒数第二个跳节点弹出,并且在拼接点(即两个区域或两个 AS 之间的路由器)处没有熵标签。因此,在没有熵标签的情况下,拼接点的路由器使用 BGP 标签转发数据包。 说明了 BGP 标记的单播数据包标签堆栈以及 RSVP 标签堆栈中的熵标签。图 10RSVP 标签堆栈由熵标签指示器 (ELI)、熵标签、BGP 标签和 IP 数据包组成。RSVP 熵标签在倒数第二个跃点节点弹出。

图 10: 带 RSVP 熵标签的区域间 BGP 标记单播带 RSVP 熵标签的区域间 BGP 标记单播

BGP 标记的单播拼接节点不能使用熵标签进行负载平衡,除非拼接节点在 BGP 出口处发出熵标签功能的信号。如果 BGP 标记的单播拼接节点向提供商边缘路由器发出 BGP 熵标签功能 (ELC) 信号,则标记为单播 LSP 入口的 BGP 知道 BGP 标记的单播 LSP 出口可以处理熵标签,并在 BGP 标签下方插入熵标签指示器和熵标签。所有 LSR 都能够使用熵标签进行负载平衡。虽然 BGP 标记的单播 LSP 可能会跨越不同区域和 AS 中的许多路由器,但某些分段可能支持熵标签,而其他分段可能不支持。 说明了 BGP 标签堆栈中的熵标签。图 11拼接节点上的标签堆栈由 ELI、熵标签和 IP 数据包组成。

图 11: 区域间BGP标记的单播,拼接点处有BGP熵标签区域间BGP标记的单播,拼接点处有BGP熵标签
注:

要在出口节点上禁用 BGP 标记的单播的熵标签功能,请在层次结构级别使用该选项定义策略。no-entropy-label-capability[edit policy-options policy-statement policy-name then]

默认情况下,支持熵标签的路由器在层次结构级别配置了负载-平衡-标签-功能语句,以基于每个 LSP 向标签发出信号。load-balance-label-capability[edit forwarding-options] 如果对等路由器未配备处理负载平衡标签的设备,则可以通过在层次结构级别配置 语句 来阻止熵标签功能的信令发送。no-load-balance-label-capability[edit forwarding-options]

默认情况下,BGP 说话人使用 IETF BGP 路由器功能属性 (RCA) 中定义的熵标签功能 (ELCv3) 属性进行负载平衡。它仅发送和接收 ELCv3 属性。如果需要使用可与 RCA 草稿互操作的 ELCv2 属性,请在标记单播熵标签层次结构中显式配置 旋钮。elc-v2-compatible 在这种情况下,将发送和接收 ELCv3 和 ELCv2。

支持和不支持的功能

在以下情况下,Junos OS 支持 BGP 标记单播的熵标签:

  • LSP的所有节点都具有熵标签功能。

  • LSP 的某些节点具有熵标记功能。

  • LSP 通过其他运营商的 VPN 建立隧道。

  • 定义入口策略以选择 BGP 标记的单播 LSP 子集,以便在入口处插入熵标签。

  • 定义出口策略以禁用熵标签功能通告。

Junos OS 不支持 BGP 标记为单播的熵标签的以下功能:

  • 当 BGP 标记的单播 LSP 通过其他运营商的 VPN 建立隧道时,不存在真正的端到端熵标签,因为 Junos OS 不会在载波至载波网络的 VPN 标签下方插入熵标签指示器或熵标签。

  • 目前,Junos OS 不支持带有自有熵标签的 IPv6 BGP 标记的单播 LSP。但是,IPv6 BGP 标记的单播 LSP 可能会使用底层 RSVP、LDP 或 BGP LSP 中的熵标签。

为标记为单播 LSP 的 BGP 配置熵标签

为 BGP 标记的单播 LSP 配置熵标签,以实现端到端熵标签负载平衡。熵标签是一种特殊的负载均衡标签,可以携带数据包的流信息。BGP 标记的单播通常跨多个 IGP 区域或多个自治系统 (AS) 连接 RSVP 或 LDP LSP。RSVP 或 LDP 熵标签与 RSVP 或 LDP 标签一起在倒数第二个跃点节点弹出。此功能允许在拼接点(即两个区域或 AS 之间的路由器)使用平均信息量标签,以实现 BGP 流量的端到端平均信息量标签负载平衡。此功能允许在 BGP 标记的单播 LSP 入口处插入熵标签。

熵标签可以是 16 到 1048575 之间的任何标签值(常规 20 位标签范围)。由于此范围与现有的常规标签范围重叠,因此在熵标签之前插入一个称为熵标签指示器 (ELI) 的特殊标签。ELI 是 IANA 分配的特殊标签,值为 7。

在为 BGP 标记的单播配置熵标签之前,请确保:

  1. 配置设备接口。

  2. 配置 OSPF 或任何其他 IGP 协议。

  3. 配置 BGP。

  4. 配置 LDP。

  5. 配置 RSVP。

  6. 配置 MPLS。

要为 BGP 标记的单播 LSP 配置熵标签,请执行以下操作:

  1. 在入口路由器上,在层次结构级别包含 语句 ,以便在全局级别为 BGP 标记的单播启用熵标签功能。entropy-label[edit protocols bgp family inet labeled-unicast]

    您还可以通过在 或 层次结构级别包含语句,在 BGP 组或特定 BGP 邻居级别启用熵标签的使用。entropy-label[edit protocols bgp group group name family inet labeled-unicast][edit protocols bgp group group name neighbor address labeled-unicast]

  2. (可选)指定附加策略以定义具有熵标签功能的路由。

    在入口路由器上应用策略。

  3. (可选)如果不希望 Junos OS 根据路由下一跃点验证熵标签功能属性中的下一跃点字段,请包含该选项 。no-next-hop-validation
  4. (可选)要在出口路由器上显式禁用播发熵标签功能,请使用策略中指定的路由选项定义 策略,并将该 选项包含在层次结构级别的指定策略 中。no-entropy-label-capabilityno-entropy-label-capability[edit policy-options policy statement policy-name then]

示例:为标记为单播 LSP 的 BGP 配置熵标签

此示例说明如何为标记为单播的 BGP 配置熵标签,以使用熵标签实现端到端负载均衡。当 IP 数据包有多条路径到达其目的地时,Junos OS 使用数据包标头的某些字段将数据包散列为确定性路径。这需要一个熵标签,一个可以携带流信息的特殊负载平衡标签。核心中的 LSR 只需使用熵标签作为密钥,将数据包散列到正确的路径。熵标签可以是 16 到 1048575 之间的任何标签值(常规 20 位标签范围)。由于此范围与现有的常规标签范围重叠,因此在熵标签之前插入一个称为熵标签指示器 (ELI) 的特殊标签。ELI 是 IANA 分配的特殊标签,值为 7。

BGP 标记的单播通常跨多个 IGP 区域或多个自治系统连接 RSVP 或 LDP LSP。RSVP 或 LDP 熵标签与 RSVP 或 LDP 标签一起在倒数第二个跃点节点弹出。此功能允许在拼接点使用熵标签来弥合倒数第二个跃点和拼接点之间的间隙,以实现 BGP 流量的端到端熵标签负载平衡。

要求

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

  • 7 个带 MPC 的 MX 系列路由器

  • 在所有设备上运行的 Junos OS 15.1 或更高版本

    • 使用 Junos OS Relese 22.4 重新验证

在为 BGP 标记的单播配置熵标签之前,请确保:

  1. 配置设备接口。

  2. 配置 OSPF 或任何其他 IGP 协议。

  3. 配置 BGP。

  4. 配置 RSVP。

  5. 配置 MPLS。

概述

当 BGP 标记的单播跨多个 IGP 区域或多个自治系统连接 RSVP 或 LDP LSP 时,RSVP 或 LDP 熵标签将与 RSVP 或 LDP 标签一起在倒数第二个跃点节点弹出。但是,在拼接点(即两个区域之间的路由器)处没有熵标签。因此,拼接点处的路由器使用 BGP 标签转发数据包。

从 Junos OS 15.1 版开始,您可以为 BGP 标记的单播配置熵标签,以实现端到端熵标签负载平衡。此功能允许在拼接点使用熵标签,以实现 BGP 流量的端到端熵标签负载平衡。Junos OS 允许在 BGP 标记的单播 LSP 入口处插入熵标签。

默认情况下,支持熵标签的路由器在层次结构级别配置语句,以基于每个 LSP 发出标签信号。load-balance-label-capability[edit forwarding-options] 如果对等路由器未配备处理负载平衡标签的设备,则可以通过在层次结构级别配置 来阻止熵标签功能的信令发送。no-load-balance-label-capability[edit forwarding-options]

注:

您可以使用层次结构级别的选项,在出口处为策略中指定的路由显式禁用播发熵标签功能。no-entropy-label-capability[edit policy-options policy-statement policy name then]

拓扑

在 中 ,路由器 PE1 是入口路由器,路由器 PE2 是出口路由器。图 12路由器 P1 和 P2 是传输路由器。路由器 ABR 是区域 0 和区域 1 之间的区域网桥路由器。两个 LSP是配置 ABR 到 PE2,用于对流量进行负载平衡。入口路由器 PE1 上启用了 BGP 标记单播的熵标签功能。 主机 1 连接到 P1 以进行数据包捕获,以便我们可以显示熵标签。

图 12: 为 BGP 标记的单播配置熵标签为 BGP 标记的单播配置熵标签

配置

CLI 快速配置

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

路由器 CE1

路由器 PE1

路由器 P1

路由器 ABR

路由器 P2

路由器 PE2

路由器 CE2

配置路由器 PE1

分步过程

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

要配置路由器 PE1:

注:

修改相应的接口名称、地址和其他参数后,对路由器 PE2 重复此过程。

  1. 配置物理接口。 确保在面向核心的接口上进行配置 。family mpls

  2. 配置环路接口。 辅助环回是可选的,将在后面的步骤中在路由实例下应用。

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

  4. 配置 OSPF 协议。

  5. 配置 RSVP 协议。

  6. 配置 MPLS 协议和面向 ABR 的 LSP。包括将熵标签添加到 MPLS 标签堆栈的选项。entropy-label

  7. 使用 ABR 对等和 PE2 对等配置 IBGP。family inet labeled-unicastfamily inet-vpn 为 BGP 标记的单播启用熵标签功能。

  8. 定义用于将 BGP VPN 路由导出到 OSPF 的策略。 该策略在路由实例中的 OSPF 下应用。

  9. 定义 负载平衡 策略 并将其应用到 .routing-options forwarding-table PE1 在示例中只有一条路径,因此不需要此步骤,但对于此示例,我们将在所有设备上应用相同的负载平衡策略。

  10. 配置第 3 层 VPN 路由实例。

  11. 将接口分配给路由实例。

  12. 为 路由实例配置路由识别符。

  13. 为 路由实例配置 VPN 路由和转发 (VRF) 目标。

  14. 在路由实例下配置协议 OSPF,并应用之前配置 的策略。bgp-to-ospf

配置路由器 P1

分步过程

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

要配置路由器 P1:

注:

修改相应的接口名称、地址和其他参数后,对路由器 P2 重复此过程。

  1. 配置物理接口。

  2. 配置环路接口。

  3. 配置 路由器 ID。

  4. 配置 OSPF 协议。

  5. 配置 RSVP 协议。

  6. 配置 MPLS 协议。

配置路由器 ABR

分步过程

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

要配置路由器 ABR:

  1. 配置物理接口。

  2. 配置环路接口。

  3. 配置路由器用于将数据包散列到其目标以进行负载平衡的 MPLS 标签。

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

  5. 配置 OSPF 协议。

  6. 配置 RSVP 协议。

  7. 配置MPLS 协议并指定面向 PE1 和 PE2 的 LSP。 针对 PE2 创建了两个 LSP,以便对流量进行负载均衡,以显示使用了不同的 LSP 和接口。

  8. 使用 将 IBGP 同时配置为 PE1 和 PE2。family inet labeled-unicast 应用策略以通告来自 PE1 和 PE2 的 inet.3 环路路由。我们将在下一步中显示策略。

  9. 在 PE1 和 PE2 的环路地址上定义要匹配的策略。

  10. 定义负载平衡策略,并在 .routing-options forwarding-table

(可选)端口镜像配置

要查看应用的熵标签,您可以捕获流量。在此示例中,在 P1 上面向 PE1 的接口上应用过滤器,以捕获 CE1 到 CE2 流量。流量将发送到主机 1 进行查看。捕获流量的方法与我们在此示例中使用的方法不同。有关详细信息,请参见 。了解端口镜像和分析器

分步过程

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

要配置路由器 P1:

  1. 配置接口。在此示例中,我们将连接到 Host1 的接口放在桥接域中,并创建一个 IRB 接口来验证与 Host1 的连接。

  2. 配置桥接域。

  3. 配置过滤器以捕获流量。在本例中,我们将捕获所有流量。

  4. 将过滤器应用于面向 PE1 的接口。

  5. 配置端口镜像选项。在本例中,我们将镜像所有流量并将其发送到连接到接口 ge-0/0/4 的 Host1。

验证

确认配置工作正常。

验证是否正在播发熵标签功能

目的

验证熵标注功能路径属性是否正在从 ABR 播发到 PE1,以便路由到 PE2。

操作

在操作模式下, 在路由器 ABR 上运行命令。show route advertising-protocol bgp 10.1.255.2 detail

意义

输出显示 IP 地址 为 10.1.255.6 的主机 PE2 具有熵标签功能和 使用的路由标签。主机正在向其 BGP 邻居播发熵标签功能。

验证路由器 PE1 是否接收熵标签通告

目的

验证路由器 PE1 是否收到路由器 PE2 的熵标签播发。

操作

在操作模式下, 在路由器 PE1 上运行命令。show route protocol bgp 10.1.255.6 extensive

意义

路由器 PE1 从其 BGP 邻居接收熵标签功能通告。

在 ABR 到 PE2 上验证 ECMP

目的

验证 到 PE2 的等价多路径 (ECMP)。

操作

在操作模式下,在路由器 ABR 上运行和命令s。show route table mpls.0show route forwarding-table label <label>

意义

输出显示用于 BGP 标记的单播路由的标签的 ECMP。

在 PE1 上显示通往 CE2 的路线

目的

验证到 CE2 的路由。

操作

在操作模式下,在路由器 PE1 上运行 和 命令。show route table VPN-l3vpn.inet.0 172.16.255.7 extensiveshow route table VPN-l3vpn.inet.0 192.168.255.7 extensive

意义

输出显示两个路由使用相同的标注。

从 CE1 执行 Ping CE2

目的

验证连接并用于验证负载平衡。

操作

在操作模式下,在路由器 PE1 上运行 和 命令。ping 172.16.255.7 source 172.16.12.1 rapid count 100ping 192.168.255.7 source 192.168.255.1 rapid count 200

意义

输出显示 ping 成功。

验证负载平衡

目的

验证负载平衡。

操作

在操作模式下,在 ABR 上运行 命令。show mpls lsp ingress statistics

意义

输出显示上一个命令中使用 LSP 的第一个 ping 和第二个使用 LSP 的 ping 。abr-pe2-2abr-pe2

验证熵标签

目的

验证所使用的 ping 之间的熵标签是否不同。

操作

在主机 1 上,运行 .tcpdump -i eth1 -n

意义

输出显示两个不同 ping 命令的熵标签的不同值。

适用于 inet、inet6 或带标签的单播的 BGP 前缀无关融合用例

在路由器发生故障的情况下,BGP 网络可能需要几秒钟到几分钟的时间才能恢复,具体取决于网络大小或路由器性能等参数。在路由器上启用 BGP 前缀独立收敛 (PIC) 功能后,除了计算出的到达目标的最佳路径之外,BGP 还会向数据包转发引擎安装第二最佳路径。当出口路由器在网络中发生故障时,路由器将使用此备份路径,从而大大减少中断时间。您可以启用此功能以减少出口路由器发生故障时的网络停机时间。

当网络中出口路由器的可访问性失败时,IGP 会检测到此中断,链路状态会在整个网络中传播此信息,并将该前缀的 BGP 下一跃点播发为无法访问。BGP 会重新评估备用路径,如果有备用路径可用,则会将此备用下一跃点重新安装到数据包转发引擎中。这种出口故障通常会同时影响多个前缀,BGP 必须一次更新所有这些前缀。在入口路由器上,IGP 首先完成最短路径 (SPF) 并更新下一跃点。然后,Junos OS 确定无法访问的前缀,并向协议发出需要更新的信号。BGP 收到通知并更新现在无效的每个前缀的下一跃点。此过程可能会影响连接,并且可能需要几分钟才能从中断中恢复。BGP PIC 可以减少此停机时间,因为数据包转发引擎中已安装备份路径。

从 Junos OS 15.1 版开始,最初由第 3 层 VPN 路由器支持的 BGP PIC 功能扩展到具有全局表中多个路由的 BGP,例如 inet 和 inet6 单播,以及标记为单播的 inet 和 inet6。在启用了 BGP PIC 的路由器上,Junos OS 会在路由引擎上安装间接下一跃点的备份路径,并将此路由 提供给数据包转发引擎和 IGP。当 IGP 失去对具有一个或多个路由的前缀的可访问性时,它会在更新路由表之前通过一条消息向路由引擎发出信号。路由引擎向数据包转发引擎发出信号,表明间接下一跃点出现故障,必须使用备份路径重新路由流量。即使在 BGP 开始重新计算 BGP 前缀的新下一跃点之前,到受影响目标前缀的路由也会继续使用备份路径。路由器使用此备份路径来减少流量丢失,直到解决通过 BGP 的全局融合问题。

发生中断的时间到发出可访问性丧失信号的时间实际上取决于最近路由器的故障检测时间和 IGP 收敛时间。本地路由器检测到中断后,未启用 BGP PIC 功能的路由收敛在很大程度上取决于受影响的前缀数以及由于重新计算每个受影响的前缀而导致的路由器性能。但是,启用 BGP PIC 功能后,即使在 BGP 重新计算受影响前缀的最佳路径之前,路由引擎也会向数据平面发出信号,使其切换到备用下一个最佳路径。因此,流量损失是最小的。即使在转发流量时,也会计算新路由,并将这些新路由向下推送到数据平面。因此,受影响的 BGP 前缀数不会影响从流量中断发生到 BGP 发出可访问性丧失信号所花费的时间点。

为 Inet 配置 BGP 前缀独立收敛

在启用了 BGP 前缀独立融合 (PIC) 的路由器上,Junos OS 会在路由引擎上安装间接下一跃点的备份路径,并将此路由提供给数据包转发引擎和 IGP。当 IGP 失去对具有一个或多个路由的前缀的可访问性时,它会在更新路由表之前通过一条消息向路由引擎发出信号。路由引擎向数据包转发引擎发出信号,表明间接下一跃点出现故障,必须使用备份路径重新路由流量。即使在 BGP 开始重新计算 BGP 前缀的新下一跃点之前,到受影响目标前缀的路由也会继续使用备份路径。路由器使用此备份路径来减少流量丢失,直到解决通过 BGP 的全局融合问题。BGP PIC 功能最初在第 3 层 VPN 路由器上受支持,现已扩展到在全局表中具有多个路由的 BGP,例如 inet 和 inet6 单播,以及标记为单播的 inet 和 inet6。

准备工作:

  1. 配置设备接口。

  2. 配置 OSPF 或任何其他 IGP 协议。

  3. 配置 MPLS 和 LDP。

  4. 配置 BGP。

注:

BGP PIC 功能仅在具有 MPC 接口的路由器上受支持。

最佳实践:

在配备模块化端口集中器 (MPC) 的路由器上,启用增强型 IP 网络服务,如下所示:

要为 inet 配置 BGP PIC,请执行以下操作:

  1. 为 inet 启用 BGP PIC。
    注:

    BGP PIC 边缘功能仅在具有 MPC 接口的路由器上受支持。

  2. 配置按数据包的负载均衡。
  3. 将按数据包负载均衡策略应用于从路由表导出到转发表的路由。
  4. 验证 BGP PIC 是否正常工作。

    在操作模式下,输入 命令:show route extensive

    包含的输出行遵循软件可用于修复发生链路故障的 路径的下一跃点。Indirect next hop: weight 下一跃点权重具有以下值之一:

    • 0x1 表示活动的下一跃点。

    • 0x4000 表示被动下一跃点。

示例:为 Inet 配置 BGP 前缀独立收敛

此示例说明如何为 inet 配置 BGP PIC。在路由器发生故障的情况下,BGP 网络可能需要几秒钟到几分钟的时间才能恢复,具体取决于网络大小或路由器性能等参数。在路由器上启用 BGP 前缀独立收敛 (PIC) 功能后,全局表中具有多个路由(例如 inet 和 inet6 单播以及标记为单播的 inet 和 inet6)的 BGP 除了计算出的到达目标的最佳路径外,还会将第二最佳路径安装到数据包转发引擎。当出口路由器在网络中发生故障时,路由器将使用此备份路径,从而大大减少中断时间。

要求

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

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

  • 一台带有 MPC 的 MX 系列路由器,用于配置 BGP PIC 功能

  • 七款路由器,可以是 M 系列、MX 系列、T 系列或 PTX 系列路由器的组合

  • 配置了 BGP PIC 的设备上的 Junos OS 15.1 或更高版本

概述

从 Junos OS 15.1 版开始,最初支持 3 层 VPN 路由器的 BGP PIC 扩展到具有全局表中多个路由的 BGP,例如 inet 和 inet6 单播,以及标记为单播的 inet 和 inet6。除了计算出的到目标的最佳路径之外,BGP 还会向数据包转发引擎安装第二最佳路径。当 IGP 失去对前缀的可访问性时,路由器将使用此备份路径来减少流量损失,直到解决通过 BGP 的全局收敛问题,从而缩短中断持续时间。

注:

BGP PIC 功能仅在具有 MPC 的路由器上受支持。

拓扑

此示例显示了三个客户边缘 (CE) 路由器:设备 CE0、CE1 和 CE2。路由器 PE0、PE1 和 PE2 是提供商边缘 (PE) 路由器。路由器 P0 和 P1 是提供商核心路由器。BGP PIC 在路由器 PE0 上配置。为了进行测试,地址 192.168.1.5 将添加为设备 CE1 上的第二个环路接口地址。该地址通告给路由器 PE1 和 PE2,并由内部 BGP (IBGP) 中继到路由器 PE0。在路由器 PE0 上,有两条路径可以连接到 192.168.1.5 网络。这些是主路径和备份路径。 图 13 显示了示例网络。

图 13: 为 Inet 配置 BGP PIC为 Inet 配置 BGP PIC

配置

CLI 快速配置

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

路由器 PE0

路由器 P0

路由器 P1

路由器 PE1

路由器 PE2

设备 CE0

设备 CE1

设备 CE2

配置设备 PE0

分步过程

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

要配置设备 PE0:

  1. 在配备模块化端口集中器 (MPC) 的路由器上,启用增强型 IP 网络服务。

  2. 配置设备接口。

  3. 配置环路接口。

  4. 在所有接口(管理接口除外)上配置 MPLS 和 LDP。

  5. 在面向核心的接口上配置 IGP。

  6. 配置与其他 PE 设备的 IBGP 连接。

  7. 配置与客户设备的 EBGP 连接。

  8. 配置负载均衡策略。

  9. 配置下一跃点自我策略。

  10. 启用 BGP PIC 边缘功能。

  11. 应用负载平衡策略。

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

成果

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

验证

确认配置工作正常。

显示广泛的路线信息

目的

确认 BGP PIC 边缘工作正常。

操作

从设备 PE0 运行 命令。show route extensive

意义

发生链路故障时,Junos OS 使用下一跃点和 值来选择备份路径。weight 下一跃点权重具有以下值之一:

  • 0x1 表示具有活动下一跃点的主路径。

  • 0x4000指示具有被动下一跃点的备份路径。

显示转发表

目的

使用 命令检查转发和内核路由表状态。show route forwarding-table

操作

从设备 PE0 运行 命令。show route forwarding-table destination 192.168.1.5 extensive

意义

发生链路故障时,Junos OS 使用下一跃点和 值来选择备份路径。weight 下一跃点权重具有以下值之一:

  • 0x1 表示具有活动下一跃点的主路径。

  • 0x4000指示具有被动下一跃点的备份路径。

使用 BGP 标记单播的 BGP PIC 边缘概述

本节介绍使用 BGP 标记的单播作为传输协议的 BGP PIC Edge 的优势和概述。

使用 BGP 标记单播的 BGP PIC 边缘的优势

此功能具有以下优点:

  • 在多域网络中发生边界(ABR 和 ASBR)节点故障时提供流量保护。

  • 提供更快的网络连接恢复,并在主路径不可用时减少流量损失。

BGP 前缀独立收敛的工作原理是什么?

BGP 前缀独立收敛 (PIC) 改进了网络节点故障时的 BGP 收敛。BGP PIC 为路由引擎上的间接下一跃点创建并存储主路径和备份路径,并向数据包转发引擎提供间接下一跃点路由信息。发生网络节点故障时,路由引擎会向数据包转发引擎发出信号,表明间接下一跃点出现故障,并且流量将重新路由到预先计算的等价路径或备份路径,而无需修改 BGP 前缀。通过使用备份路径继续将流量路由到目标前缀以减少流量丢失,直到解决通过 BGP 的全局融合问题。

BGP 融合适用于核心和边缘网络节点故障。对于 BGP PIC 核心,转发链的调整是由于节点或核心链路故障。对于 BGP PIC 边缘,转发链的调整是由于边缘节点或边缘链路故障。

使用 BGP 标记的单播作为传输协议的 BGP PIC Edge

当多域网络中发生边界节点(ABR 和 ASBR)故障时,使用 BGP 标记的单播传输协议的 BGP PIC Edge 有助于保护和重新路由流量。多域网络通常用于城域以太网聚合和移动回传网络设计。

在瞻博网络 MX 系列、EX 系列和 PTX 系列设备上,BGP PIC Edge 支持将 BGP 标记为单播作为传输协议的第 3 层服务。此外,在瞻博网络 MX 系列、EX9204、EX9208、EX9214、EX9251 和 EX9253 设备上,BGP PIC Edge 支持第 2 层电路、第 2 层 VPN 和 VPLS(BGP VPLS、LDP VPLS 和 FEC 129 VPLS)服务,并将 BGP 标记为单播作为传输协议。这些 BGP 服务是多路径的(从多个 PE 学习),并通过 BGP 标记的单播路由解析,这可能是从其他 ABR 学习的多路径。通过 BGP PIC Edge 支持的传输协议包括 RSVP、LDP、OSPF 和 ISIS。从 Junos OS 20.2R1 版开始,MX 系列、EX9204、EX9208、EX9214、EX9251 和 EX9253 设备支持用于第 2 层电路、第 2 层 VPN 和 VPLS(BGP VPLS、LDP VPLS 和 FEC 129 VPLS)服务的 BGP PIC 边缘保护,其中 BGP 标记为单播作为传输协议。

在瞻博网络 MX 系列、EX 系列和 PTX 系列设备上,以下服务支持 BGP PIC 边缘保护,并将 BGP 标记为单播作为传输:

  • 标记为单播的 IPv4 BGP 上的 IPv4 服务

  • IPv6 BGP 标记为单播服务的 IPv4 BGP 标记为单播

  • 通过标记为单播的 IPv4 BGP 上的 IPv4 第 3 层 VPN 服务

  • 通过标记为单播的 IPv4 BGP 上的 IPv6 第 3 层 VPN 服务

在瞻博网络 MX 系列和 EX 系列设备上,以下服务支持 BGP PIC 边缘保护,并将 BGP 标记为单播作为传输:

  • 通过 IPv4 BGP 标记的单播的第 2 层电路服务

  • 标记为单播的 IPv4 BGP 上的第 2 层 VPN 服务

  • 基于 IPv4 的 VPLS(BGP VPLS、LDP VPLS 和 FEC 129 VPLS)服务 BGP 标记为单播

使用带有 BGP 标记的单播为第 2 层服务配置 BGP PIC Edge

MX 系列、EX9204、EX9208、EX9214、EX9251 和 EX9253 设备支持用于第 2 层电路、第 2 层 VPN 和 VPLS(BGP VPLS、LDP VPLS 和 FEC 129 VPLS)服务的 BGP PIC 边缘保护,其中 BGP 标记为单播作为传输协议。BGP PIC Edge 使用 BGP 标记的单播传输协议有助于保护多域网络中边界节点(ABR 和 ASBR)上的流量故障。多域网络通常用于城域聚合和移动回传网络设计。

BGP PIC 边缘保护的先决条件是使用扩展的下一跃点层次结构对数据包转发引擎 (PFE) 进行编程。

要为 BGP 标记为单播家族启用扩展的下一跃点层次结构,您需要在 [] 层次结构级别配置以下 CLI 配置语句:edit protocols

要为 MPLS 负载平衡下一跃点启用 BGP PIC,您需要在 [] 层次结构级别配置以下 CLI 配置语句:edit routing-options

要启用第 2 层服务的快速收敛,您需要在 [] 层次结构级别配置以下 CLI 配置语句:edit protocols

对于第 2 层电路和 LDP VPLS:

对于第 2 层 VPN、BGP VPLS 和 FEC129:

示例:通过运行标记为单播的 BGP 的第 3 层 VPN 保护 IPv4 流量

此示例说明如何配置 BGP 前缀无关融合 (PIC) 边缘标记为单播,以及如何保护第 3 层 VPN 上的 IPv4 流量。当来自客户边缘路由器的 IPv4 流量发送到 PE 路由器时,IPv4 流量将通过第 3 层 VPN 进行路由,其中标记为单播的 BGP 配置为传输协议。

要求

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

  • MX 系列路由器。

  • 在所有设备上运行的 Junos OS 19.4R1 或更高版本。

概述

以下拓扑通过在主路径不可用时将流量切换到备份路径来提供 ABR 和 ASBR 保护。

拓扑

图 14 说明了运行标记为单播作为域间传输协议的 BGP 的第 3 层 VPN。

图 14: 使用 LDP 传输协议的 BGP 标记单播第 3 层 VPN
拓扑

下表描述了拓扑中使用的组件:

主要组件

设备类型

位置

CE1

MX 系列

已连接到客户网络。

PE1

MX 系列

配置了主路由路径和备份路由路径,以保护和重新路由从 CE1 到 CE2 的流量。

小一至小三

MX 系列

用于传输流量的核心路由器。

ABR1-ABR2

MX 系列

区域边界路由器

ABSR1-ABSR4

MX 系列

自治系统边界路由器

RR1-RR3

MX 系列

路由反射器

PE2-PE3

MX 系列

PE 路由器连接到客户边缘路由器 (CE2)。

CE2

MX 系列

已连接到客户网络。

PE2 和 PE3 设备地址 作为标记为单播路由从 ABR1 和 ABR2 获知 。这些路由通过 IGP/LDP 协议解析。PE1 从 PE2 和 PE3 设备学习 CE2 路由。

配置

要使用以 LDP 作为传输协议的 BGP 标签单播配置 BGP PIC 边缘,请执行以下操作:

CLI 快速配置

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

设备 CE1

设备 PE1

设备 P1

设备 RR1

设备 ABR1

设备 ABR2

设备 P2

设备 RR2

设备 ASBR1

设备 ASBR2

设备 ASBR3

设备 ASBR4

设备 RR3

设备 P3

设备 PE2

设备 PE3

设备 CE2

配置 CE1

分步过程

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

要配置设备 CE1:

  1. 配置接口以启用 IP 和 MPLS 传输。

  2. 配置要用作 LDP 和 BGP 会话的路由器 ID 和终止接口的环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 配置路由选项。

  5. 将标记为单播的 BGP 配置为 ABR,以将环路 IP 地址交换为 BGP 标记的单播前缀。

成果

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

配置 PE1

分步过程

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

要配置设备 PE1:

  1. 配置接口以启用 IP 和 MPLS 传输。

  2. 配置要用作 LDP 和 BGP 会话的路由器 ID 和终止接口的环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 配置第 3 层 VPN 路由实例以提供客户服务。

  5. 配置解析器 RIB 导入策略和解析 RIB,以便为策略中指定的选定第 3 层 VPN 前缀启用扩展的分层下一跃点结构。

  6. 配置 OSPF 协议。

  7. 配置路由协议以在整个域中建立 IP 和 MPLS 连接。

  8. 将标记为单播的 BGP 配置为 ABR,以将环路 IP 地址交换为 BGP 标记的单播前缀。

成果

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

配置 P1 设备

分步过程

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

要配置设备 P1:

  1. 配置接口。

  2. 配置环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 配置路由选项。

  5. 在接口上配置 ISIS、RSVP、LDP 和 MPLS 协议。

成果

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

配置 RR1 设备

分步过程

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

要配置设备 RR1:

  1. 配置接口。

  2. 配置环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 配置路由选项。

  5. 在接口上配置 ISIS、RSVP、LDP 和 MPLS 协议。

  6. 配置 BGP 标记的单播,以将环路 IP 地址交换为 BGP 标记的单播前缀。

成果

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

配置 ABR1 设备

分步过程

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

要配置设备 ABR1:

  1. 配置接口以启用 IP 和 MPLS 传输。

  2. 配置要用作 LDP 和 BGP 会话的路由器 ID 和终止接口的环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 应用按流负载均衡策略以启用流量保护。

  5. 在接口上配置 ISIS、RSVP、MPLS 和 LDP 协议。

  6. 配置 BGP 标记的单播,以将环路 IP 地址交换为 BGP 标记的单播前缀。

成果

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

配置 ABR2 设备

分步过程

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

要配置设备 ABR2:

  1. 配置接口以启用 IP 和 MPLS 传输。

  2. 配置要用作 LDP 和 BGP 会话的路由器 ID 和终止接口的环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 应用按流负载均衡策略以启用流量保护。

  5. 在接口上配置 ISIS、RSVP、MPLS 和 LDP 协议。

  6. 配置 BGP 标记的单播,以将环路 IP 地址交换为 BGP 标记的单播前缀。

成果

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

配置 P2 设备

分步过程

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

要配置设备 P2:

  1. 配置接口以启用 IP 和 MPLS 传输。

  2. 配置要用作 LDP 和 BGP 会话的路由器 ID 和终止接口的环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 配置路由选项。

  5. 在接口上配置 ISIS、RSVP、MPLS 和 LDP 协议。

成果

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

配置 RR2 设备

分步过程

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

要配置设备 RR2:

  1. 配置接口以启用 IP 和 MPLS 传输。

  2. 配置要用作 LDP 和 BGP 会话的路由器 ID 和终止接口的环路接口。

  3. 配置多路径解析策略以将分层多路径安装到 PFE 中。

  4. 应用按流负载均衡策略以启用流量保护。

  5. 在接口上配置 ISIS、RSVP、MPLS 和 LDP 协议。

  6. 配置 BGP 标记的单播,以将环路 IP 地址交换为 BGP 标记的单播前缀。

成果

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

验证

确认配置工作正常。

验证下一跃点是否已解析

目的

验证 PE2 和 PE3 下一跃点是否已在 PE1 解析。

操作

在操作模式下,运行 命令。show route forwarding-table destination

意义

您可以查看权重 以及 主跃点和备份下一跃点。0x10x4000

验证路由表中的下一跃点条目

目的

验证 PE1 上的活动下一跃点路由条目。

操作

在操作模式下,运行 命令。show route extensive expanded-nh

意义

您可以查看权重 以及 主跃点和备份下一跃点。0x10x4000

面向 BGP L2VPN 和 VPLS 的 FAT 伪线支持概述

伪线是通过 MPLS 分组交换网络 (PSN) 模拟电信服务(如 T1 线路)基本属性的第 2 层电路或服务。伪线旨在仅提供具有给定服务定义所需弹性要求的线线所需的最少必要功能。

在 MPLS 网络中,如 draft-keyupdate-l2vpn-fat-pw-bgp 中所述,伪线流标签的流感知传输 (FAT) 用于跨第 2 层虚拟专用网络 (L2VPN) 和虚拟专用 LAN 服务 (VPLS) 的 BGP 信号伪线对流量进行负载平衡。

FAT 流标签仅在标签边缘路由器 (LER) 上配置。这会导致中转路由器或标签交换路由器 (LSR) 跨等价多路径 (ECMP) 路径或链路聚合组 (LAG) 对 MPLS 数据包执行负载平衡,而无需对有效负载进行深度数据包检测。

FAT 流标签可用于 VPWS 和 VPLS 伪线的 LDP 信号转发等效类(FEC 128 和 FEC 129)伪线。接口参数 (Sub-TLV) 用于 FEC 128 和 FEC 129 伪线。为 LDP 定义的子 TLV 包含发送 (T) 和接收 (R) 位。T 位通告推送流标签的功能。R 位通告了弹出流标签的功能。默认情况下,提供商边缘 (PE) 路由器对于任何这些伪线的信令行为是通告设置为 0 的标签中的 T 位和 R 位。

和配置语句提供了在子 TLV 字段中将 T 位和 R 位通告设置为 1 的功能,这是 LDP 标签映射消息的 FEC 接口参数的一部分。flow-label-transmitflow-label-receive 您可以使用这些语句来控制负载均衡标签的推送,以及将标签播发到 BGP 信号伪线(如 L2VPN 和 VPLS)的控制平面中的路由对等方。

为 BGP L2VPN 配置 FAT 伪线支持,以对 MPLS 流量进行负载平衡

仅在标签边缘路由器 (LER) 上配置的 BGP 信号伪线(如 L2VPN)支持流感知传输 (FAT) 或流标签。这使得中转路由器或标签交换路由器 (LSR) 能够跨等价多路径路径 (ECMP) 或链路聚合组 (LAG) 执行 MPLS 数据包的负载平衡,而无需对有效负载进行深度数据包检测。FAT 伪线或流标签可用于具有转发等效类(FEC128 和 FEC129)的 LDP 信号 L2VPN,并且对流标签的支持已扩展到用于点对点或点对多点第 2 层服务的 BGP 信号伪线。

在为 BGP L2VPN 配置 FAT 伪线支持以对 MPLS 流量进行负载平衡之前:

  • 配置设备接口并在所有接口上启用 MPLS。

  • 配置 RSVP。

  • 为远程 PE 路由器配置 MPLS 和 LSP。

  • 配置 BGP 和 OSPF。

要为 BGP L2VPN 配置 FAT 伪线支持以对 MPLS 流量进行负载平衡,必须执行以下操作:

  1. 为 L2VPN 协议的给定路由实例配置连接到提供商设备的站点。
  2. 为路由实例配置 L2VPN 协议,以提供播发功能,以便在接收方向上将流标签弹出到远程 PE。
  3. 配置 L2VPN 协议以提供播发功能,将流标签沿传输方向推送到远程 PE。
  4. 为 VPLS 协议的给定路由实例配置连接到提供商设备的站点。
  5. 为路由实例配置 VPLS 协议,以提供播发功能,以便在接收方向上将流标签弹出到远程 PE。
  6. 配置 VPLS 协议以提供播发功能,以将流标签沿传输方向推送到远程 PE。

示例:为 BGP L2VPN 配置 FAT 伪线支持,以对 MPLS 流量进行负载平衡

此示例说明如何为 BGP L2VPN 实现 FAT 伪线支持,以帮助均衡 MPLS 流量的负载。

要求

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

  • 五个 MX 系列路由器

  • 在所有设备上运行的 Junos OS 16.1 或更高版本

在为 BGP L2VPN 配置 FAT 伪线支持之前,请确保配置路由和信令协议。

概述

Junos OS 允许仅在标签边缘路由器 (LER) 上配置 BGP 信号伪线(如 L2VPN)支持的流感知传输 (FAT) 流标签。这会导致中转路由器或标签交换路由器 (LSR) 跨等价多路径 (ECMP) 路径或链路聚合组 (LAG) 对 MPLS 数据包执行负载平衡,而无需对有效负载进行深度数据包检测。FAT 流标签可用于 VPWS 和 VPLS 伪线的 LDP 信号转发等效类(FEC 128 和 FEC 129)伪线。

拓扑

图 15,显示了对设备 PE1 和设备 PE2 上配置的 BGP L2VPN 的 FAT 伪线支持。

图 15: BGP L2VPN 的 FAT 伪线支持示例BGP L2VPN 的 FAT 伪线支持示例

配置

CLI 快速配置

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

CE1

PE1

P

PE2

CE2

配置 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. 配置不间断路由,并配置路由器 ID。

  3. 配置自治系统 (AS) 编号,并使用导出语句将策略应用到本地路由器的转发表。

  4. 在接口上配置 RSVP 协议。

  5. 将标签交换路径属性应用于 MPLS 协议,并配置接口。

  6. 定义对等组,并为对等组 配置 BGP 会话的本地端地址地址。vpls-pe

  7. 在更新中为 NLRI 配置协议家族的属性。

  8. 为对等组 配置邻居。vpls-pe

  9. 配置流量工程,并配置 OSPF 区域 0.0.0.0 的接口。

  10. 配置路由策略和 BGP 社区信息。

  11. 配置路由实例的类型并配置接口。

  12. 例如 ,配置路由识别符,并配置 VRF 目标社区。l2vpn-inst

  13. 配置 L2VPN 协议所需的封装类型。

  14. 配置连接到提供商设备的站点。

  15. 为路由实例配置 L2VPN 协议,以提供播发功能以在接收方向上将流标签弹出到远程 PE,并提供播发功能以将流标签沿传输方向推送到远程 PE。

  16. 配置路由实例的类型并配置接口。

  17. 例如 ,配置路由识别符,并配置 VRF 目标社区。vp1

  18. 为 VPLS 域分配最大站点标识符。

  19. 配置为不使用 VPLS 实例的隧道服务,并为连接到提供商设备的站点分配站点标识符。

  20. 为路由实例配置 VPLS 协议,以提供播发功能以在接收方向上将流标签弹出到远程 PE,并提供播发功能以在传输方向上将流标签推送到远程 PE。

成果

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

验证

确认配置工作正常。

验证 BGP 摘要信息
目的

验证 BGP 摘要信息。

操作

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

意义

输出显示 BGP 摘要信息。

验证 L2VPN 连接信息
目的

验证第 2 层 VPN 连接信息。

操作

在操作模式下,运行 命令以显示第 2 层 VPN 连接信息。show l2vpn connections

意义

输出显示第 2 层 VPN 连接信息以及流标签传输和流标签接收信息。

验证路由
目的

验证是否学习了预期的路由。

操作

在操作模式下,运行 命令以在路由表中显示路由。show route

意义

输出显示路由表中的所有路由。

配置 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. 配置路由器 ID。

  3. 配置自治系统 (AS) 编号,并使用导出语句将策略应用到本地路由器的转发表。

  4. 在接口上配置 RSVP 协议。

  5. 将标签交换路径属性应用于 MPLS 协议,并配置接口。

  6. 定义对等组,并为对等组 配置 BGP 会话的本地端地址。vpls-pe

  7. 在更新中为 NLRI 配置协议家族的属性。

  8. 为对等组 配置邻接方。vpls-pe

  9. 配置流量工程,并配置 OSPF 区域 0.0.0.0 的接口。

  10. 配置路由策略和 BGP 社区信息。

  11. 配置路由实例的类型并配置接口。

  12. 例如 ,配置路由识别符,并配置 VRF 目标社区。l2vpn-inst

  13. 配置 L2VPN 协议所需的封装类型。

  14. 配置连接到提供商设备的站点。

  15. 为路由实例配置 L2VPN 协议,以提供播发功能以在接收方向上将流标签弹出到远程 PE,并提供播发功能以将流标签沿传输方向推送到远程 PE。

  16. 配置路由实例的类型并配置接口。

  17. 例如 ,配置路由识别符,并配置 VRF 目标社区。vpl1

  18. 为 VPLS 域分配最大站点标识符。

  19. 配置为不使用 VPLS 实例的隧道服务,并为连接到提供商设备的站点分配站点标识符。

  20. 为路由实例配置 VPLS 协议,以提供播发功能以在接收方向向远程 PE 弹出流标签,并在传输到远程 PE 的方向上向推送流标签提供播发功能。

成果

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

验证

确认配置工作正常。

验证 BGP 摘要信息

目的

验证 BGP 摘要信息。

操作

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

意义

输出显示 BGP 摘要信息。

验证 L2VPN 连接信息

目的

验证第 2 层 VPN 连接信息。

操作

在操作模式下,运行 命令以显示第 2 层 VPN 连接信息。show l2vpn connections

意义

输出显示第 2 层 VPN 连接信息以及流标签传输和流标签接收信息。

验证路由

目的

验证是否学习了预期的路由。

操作

在操作模式下,运行 命令以在路由表中显示路由。show route

意义

输出显示路由表中的所有路由。

为 BGP VPLS 配置 FAT 伪线支持,以对 MPLS 流量进行负载平衡

VPLS 等 BGP 信号伪线支持流感知传输 (FAT) 或流标签,并且只能在标签边缘路由器 (LER) 上配置。这使得中转路由器或标签交换路由器 (LSR) 能够跨等价多路径 (ECMP) 或链路聚合组 (LAG) 对 MPLS 数据包执行负载平衡,而无需对有效负载进行深度数据包检测。FAT 伪线或流标签可与具有转发等效类(FEC128 和 FEC129)的 LDP 信号 VPLS 一起使用,并且对流标签的支持已扩展到用于点对点或点对多点第 2 层服务的 BGP 信号伪线。

在为 BGP VPLS 配置 FAT 伪线支持以对 MPLS 流量进行负载平衡之前:

  • 配置设备接口并在所有接口上启用 MPLS。

  • 配置 RSVP。

  • 为远程 PE 路由器配置 MPLS 和 LSP。

  • 配置 BGP 和 OSPF。

要为 BGP VPLS 配置 FAT 伪线支持以对 MPLS 流量进行负载均衡,您必须执行以下操作:

  1. 为 VPLS 协议的给定路由实例配置连接到提供商设备的站点。
  2. 为路由实例配置 VPLS 协议,以提供播发功能,以便在接收方向上将流标签弹出到远程 PE。
  3. 配置 VPLS 协议以提供播发功能,以将流标签沿传输方向推送到远程 PE。

示例:为 BGP VPLS 配置 FAT 伪线支持,以对 MPLS 流量进行负载平衡

此示例说明如何为 BGP VPLS 实现 FAT 伪线支持,以帮助均衡 MPLS 流量的负载。

要求

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

  • 五个 MX 系列路由器

  • 在所有设备上运行的 Junos OS 16.1 或更高版本

在为 BGP VPLS 配置 FAT 伪线支持之前,请确保配置路由和信令协议。

概述

Junos OS 允许仅在标签边缘路由器 (LER) 上配置 VPLS 等 BGP 信号伪线支持的流感知传输 (FAT) 流标签。这会导致中转路由器或标签交换路由器 (LSR) 跨等价多路径 (ECMP) 路径或链路聚合组 (LAG) 对 MPLS 数据包执行负载平衡,而无需对有效负载进行深度数据包检测。FAT 流标签可用于 VPWS 和 VPLS 伪线的 LDP 信号转发等效类(FEC 128 和 FEC 129)伪线。

拓扑

图 16 显示了对设备 PE1 和设备 PE2 上配置的 BGP VPLS 的 FAT 伪线支持。

图 16: BGP VPLS 的 FAT 伪线支持示例BGP VPLS 的 FAT 伪线支持示例

配置

CLI 快速配置

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

CE1

PE1

P

PE2

CE2

配置 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. 配置不间断路由,并配置路由器 ID。

  3. 配置自治系统 (AS) 编号,并使用导出语句将策略应用到本地路由器的转发表。

  4. 在接口上配置 RSVP 协议。

  5. 将标签交换路径属性应用于 MPLS 协议,并配置接口。

  6. 定义对等组,并为对等组 配置 BGP 会话的本地端地址。vpls-pe

  7. 在更新中为 NLRI 配置协议家族的属性。

  8. 为对等组 配置邻居。vpls-pe

  9. 配置流量工程,并配置 OSPF 区域 0.0.0.0 的接口。

  10. 配置路由策略和 BGP 社区信息。

  11. 配置路由实例的类型并配置接口。

  12. 例如 ,配置路由识别符,并配置 VRF 目标社区。vpl1

  13. 为 VPLS 域分配最大站点标识符。

  14. 将 VPLS 协议配置为不使用 VPLS 实例的隧道服务,并将站点标识符分配给连接到提供商设备的站点。

  15. 为路由实例配置 VPLS 协议,以提供播发功能以在接收方向上将流标签弹出到远程 PE,并提供播发功能以在传输方向上将流标签推送到远程 PE。

成果

在配置模式下,输入 、 、 和命令来确认您的配置。show interfacesshow protocolsshow policy-optionsshow routing-instancesshow 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. 配置路由器 ID。

  3. 配置自治系统 (AS) 编号,并使用导出语句将策略应用到本地路由器的转发表。

  4. 在接口上配置 RSVP 协议。

  5. 将标签交换路径属性应用于 MPLS 协议,并配置接口。

  6. 定义对等组,并为对等组 配置 BGP 会话的本地端地址。vpls-pe

  7. 在更新中为 NLRI 配置协议家族的属性。

  8. 为对等组 配置邻居。vpls-pe

  9. 配置流量工程,并配置 OSPF 区域 0.0.0.0 的接口。

  10. 配置路由策略和 BGP 社区信息。

  11. 配置路由实例的类型并配置接口。

  12. 例如 ,配置路由识别符,并配置 VRF 目标社区。vp11

  13. 为 VPLS 域分配最大站点标识符。

  14. 将 VPLS 协议配置为不使用 VPLS 实例的隧道服务,并将站点标识符分配给连接到提供商设备的站点。

  15. 为路由实例配置 VPLS 协议,以提供播发功能以在接收方向上将流标签弹出到远程 PE,并提供播发功能以在传输方向上将流标签推送到远程 PE。

成果

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

验证

确认配置工作正常。

验证 VPLS 连接信息
目的

验证 VPLS 连接信息。

操作

在操作模式下,运行 命令以显示 VPLS 连接信息。show vpls connections

意义

输出显示 VPLS 连接信息以及流标签接收和流标签传输信息。

验证

确认配置工作正常。

验证 VPLS 连接信息

目的

验证 VPLS 连接信息。

操作

在操作模式下,运行 命令以显示 VPLS 连接信息。show vpls connections

意义

输出显示 VPLS 连接信息以及流标签接收和流标签传输信息。

变更历史表

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

版本
说明
20.2R1
从 Junos OS 20.2R1 版开始,MX 系列、EX9204、EX9208、EX9214、EX9251 和 EX9253 设备支持用于第 2 层电路、第 2 层 VPN 和 VPLS(BGP VPLS、LDP VPLS 和 FEC 129 VPLS)服务的 BGP PIC 边缘保护,其中 BGP 标记为单播作为传输协议。
19.2R1
从 Junos OS 19.2R1 版开始,您可以在QFX10000交换机上指定最多 512 条等价路径。
19.1R1
从 Junos OS 19.1R1 版开始,您可以在 QFX10000 交换机上指定最多 128 条等价路径。
18.4R1
从 Junos OS 18.4R1 版开始,除了多个 ECMP 路径外,BGP 最多可以通告 2 个添加路径路由 。
18.1R1
从 Junos OS 18.1R1 版开始,BGP 多路径在层次结构级别全局受支持 。[edit protocols bgp] 您可以有选择地在某些 BGP 组和邻居上禁用多路径。在层次结构级别包含以禁用组或特定 BGP 邻接方的多路径选项。disable[edit protocols bgp group group-name multipath]
18.1R1
从 Junos OS 18.1R1 版开始,您可以推迟多路径计算,直到收到所有 BGP 路由。启用多路径后,BGP 会在每次添加新路由或现有路由更改时将路由插入多路径队列。当通过 BGP 添加路径功能接收到多个路径时,BGP 可能会多次计算一个多路径路由。多路径计算会减慢 RIB(也称为路由表)学习速率。为了加快 RIB 学习速度,可以将多路径计算推迟到收到 BGP 路由,也可以根据需要降低多路径构建作业的优先级,直到解析 BGP 路由。若要推迟多路径计算,请在层次结构级别进行配置。defer-initial-multipath-build[edit protocols bgp] 或者,您可以使用层次结构级别的配置语句降低 BGP 多路径构建作业优先级,以加快 RIB 学习。multipath-build-priority[edit protocols bgp]