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 仅将活动路径播发至其邻接方,除非正在使用 add-path。

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

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

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

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

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

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

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

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

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

示例:均衡 BGP 流量负载

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

要求

开始之前:

  • 配置设备接口。

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

  • 配置 BGP。

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

概述

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

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

    注意:

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

  2. 将策略应用于从路由表导出到转发表的路由。为此,请添加 forwarding-table and export 语句:

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

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

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

注意:

在某些平台上,您可以使用 chassis maximum-ecmp 语句来增加负载均衡的路径数。

使用此语句,您可以将等价负载平衡路径的最大数量更改为 32、64、128、256 或 512(最大数量因平台而异,请参阅 maximum-ecmp)。

支持 BGP 的所有平台上都支持多路径功能。QFX 平台进行了部分增强:

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

拓扑结构

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

图 1:BGP 负载平衡 BGP Load Balancing

配置

过程

CLI 快速配置

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

分步程序

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

要配置 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 detail 一个网关指定为 selected。在负载平衡环境中,此输出可能会造成混淆。当 Junos OS 未执行按数据包负载均衡时,除了决定将哪个网关安装到内核中之外,所选网关还可用于多种用途。例如,命令 ping mpls 在发送数据包时使用选定的网关。在某些情况下,组播协议会使用选定的网关来确定上游接口。因此,即使 Junos OS 通过转发表策略执行按数据包的负载均衡,所选网关信息仍需要用于其他目的。显示选定网关以进行故障排除很有用。此外,可以使用转发表策略来覆盖内核中安装的内容(例如,通过使用 install-nexthop action)。在这种情况下,转发表中安装的下一跳网关可能是命令中 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。

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

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

  • 如果配置其中一个选项 hash-modeinetinet6layer2,则set forwarding-options enhanced-hash-key某些流量可能会更改目标链路,因为新的散列参数可能会为流量生成新的散列索引,从而产生新的目标链路。

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

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

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

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

  • 快速重新路由 (FRR) 可能不适用于一致散列。

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

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

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

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

  • 当配置与以下功能的配置组合使用时,一致散列可能会有局限性,因为这些功能的隧道终止或流量工程不使用散列来选择路径:GRE 隧道;BUM 流量;EVPN-VXLAN;和 MPLS 流量工程、自动带宽。

有关配置多达 512 个 ECMP 下一跃点以及(可选)配置一致负载均衡的说明

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

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

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

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

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

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

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

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

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

要求

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

概述

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

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

此示例包括一个导入路由策略, agg_route使单跃点外部 BGP 对等体(设备 R1)能够接受远程下一跃点 10.1.10.10,用于到 10.1.230.0/23 网络的路由。在 [edit protocols bgp] 层次结构级别,此示例包括 import agg_route 将策略应用于外部 BGP 对等体的语句,以及 accept-remote-nexthop 使单跃点 EBGP 对等方能够接受远程下一跃点的语句。

图 2 显示了示例拓扑。

图 2:用于接受远程下一跃点 Network topology diagram with routers R0 in AS 65500 and R1, R2 in AS 65000. R0 connects to R1 on subnets 10.1.0.0/30 and 10.1.1.0/30. R1 connects to R2 on subnet 10.12.0.0/30. Loopback IPs: R0 10.255.14.179, R1 10.255.71.24, R2 10.255.14.177.的拓扑

配置

CLI 快速配置

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

设备 R0

设备 R1

设备 R2

设备 R0

分步程序

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

要配置设备 R0:

  1. 配置接口。

  2. 配置 EBGP。

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

  4. 配置到远程网络的静态路由。 这些路由不属于拓扑。使用这些路由来演示此示例中的功能。

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

  6. 将和test_route策略从路由表导出agg_route到 BGP。

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

结果

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

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

配置设备 R1

分步程序

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

要配置设备 R1:

  1. 配置接口。

  2. 配置 OSPF。

  3. 使设备 R1 能够接受远程下一跃点。

  4. 配置 IBGP。

  5. 配置 EBGP。

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

  7. 配置一个路由策略,使单跃点外部 BGP 对等体(设备 R1)能够接受远程下一跃点 10.1.10.10,用于到 10.1.230.0/23 网络的路由。

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

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

结果

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

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

配置设备 R2

分步程序

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

要配置设备 R2:

  1. 配置接口。

  2. 配置 OSPF。

  3. 配置 IBGP。

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

结果

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

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

验证

确认配置工作正常。

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

目的

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

行动

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

意义

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

停用和重新激活 accept-remote-nexthop 语句

目的

停用语句时 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

意义

停用该语句后 accept-remote-nexthop ,到 10.1.230.0 网络的多路径路由将从路由表中移除。

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

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

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

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

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

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

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

配置任务由两部分组成:

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

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

BGP 链路带宽社区

概述

在 BGP 实施中,链路带宽扩展社区对给定下一跳的带宽进行编码。BGP 通过将 BGP 链路的速度传达给远程对等方,有助于实现流量负载平衡。当您(网络管理员)将链路带宽社区与多路径相结合时,您选择的负载均衡算法将按照下一跃点的相对带宽成比例,将流量分布到下一跃点集。

当 BGP 链路带宽扩展社区是跨自治系统 (AS) 的传递属性时,BGP 组会将链路带宽扩展社区播发至相邻的 AS。您可以选择将 BGP 链路带宽社区用作非传递属性,以便路由器在 AS 边界丢弃链路带宽社区。BGP 组不会将非传递链路带宽社区播发至外部 BGP (EBGP) 邻接方。

您还可以将 BGP 配置为自动感应带宽,并在组或邻居级别导入社区。使用此链路带宽自动感知功能,网络可以自动将链路带宽值设置为设备接收 BGP 路由的接口的速度。

只有按数据包的负载平衡支持 BGP 链路带宽社区。

优势

  • 启用多路径后,链路带宽可为不平等的负载平衡提供加权等价多路径 (WECMP)。

  • 确保高带宽链路比低带宽链路承载更多的流量。

  • 降低流量拥塞的可能性。

配置

带宽

默认情况下,链路带宽社区是传递的。您可以使用以下任一语句将链路带宽社区配置为传递:

要使其非传递,请使用以下配置:

非传递覆盖

您可以覆盖非传递配置,以便 BGP 组通过 EBGP 会话发送链路带宽扩展社区,即使链路带宽是非传递的。要跨 EBGP 邻接方发送非传递链路带宽社区,请加入以下配置:

send-non-transitive-link-bandwidth 语句不区分始发的链路带宽社区与已接收和重新播发的社区。启用此选项后,BGP 会将所有非传递链路带宽社区播发至 EBGP 邻接方。

聚合带宽

默认情况下,聚合链路带宽社区是传递的。您可以使用以下任一语句将链路带宽社区配置为传递:

要使其非传递,请使用以下配置:

要将总链路带宽除以播发组中的对等方数,请启用以下语 divide-equal 句:

自动感应

您只能为单跳 EBGP 会话启用自动感知。

  1. 为 BGP 组配置自动感知。

    在层次结构中neighbor配置auto-sense该语句,以检测并存储指向该 BGP 邻接方的带宽。在层次结构中group对其进行配置,以检测和存储该 BGP 组下所有邻接方的带宽:

  2. 使用auto-link-bandwidth设置为transitivenon-transitive或 配置导入策略。如果未指定,则默认auto-link-bandwidth为传递:

  3. (选答)要在带宽增加时抑制链路带宽值的频繁变化,可以配置自动感应抑制计时器。仅当带宽增加时才会触发抑制定时器。默认情况下,计时器设置为 60 秒:

验证

使用以下命令验证配置是否成功:

  • show route receive-protocol bgp peer-ip-address extensive

  • show route advertising-protocol bgp peer-ip-address extensive

  • show route address extensive

  • show bgp neighbor address

示例:通过分配给路径的带宽不相等来均衡 BGP 流量负载

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

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

要求

开始之前:

  • 配置设备接口。

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

  • 配置 BGP。

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

概述

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

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

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

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

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

按以下步骤配置带宽社区:

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

例如:

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

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

拓扑结构

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

图 3:BGP 负载平衡 BGP Load Balancing

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

配置

过程

CLI 快速配置

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

设备 R1

设备 R2

设备 R3

分步程序

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

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

  1. 配置接口。

  2. 配置 BGP 组。

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

    注意:

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

  4. 配置负载均衡策略。

  5. 应用负载均衡策略。

  6. 配置 BGP 社区成员。

    此示例假定带宽为 1 Gbps,并将 60% 分配给带宽高,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 使用新的链路带宽扩展社区,其中包含用于标记多路径的聚合带宽,并通过其停火区链路通告这些多个路由的聚合带宽。要通告聚合的多个路由,请在层次结构级别使用 [edit policy-options policy-statement name then] 配置aggregate-bandwidth带有 和 limit bandwidth 操作的策略。

拓扑结构

图 5:配置策略以通告跨外部 BGP 链路的聚合带宽以实现负载平衡 Network topology diagram with routers R1 to R4 in AS 65000, 65001, and 65002, showing BGP connections and IP addresses.

图 5 中,路由器 R1 通过路由器 R2 中的下一跃点 10.0.1.1(每秒 60,000,000 字节)和路由器 R3 中的 10.0.0.2(每秒 40,000,000 字节)将流量负载均衡到远程目标。路由器 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 编辑器

要配置策略以将聚合带宽播发至 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 位数字表示链路带宽,以字节/秒为单位。配置一个 bw-high 包含 60% 的 1-Gbps 链路的社区,以及另一个包含 40% 的 1-Gbps 链路的社区 bw-low

    将 60% 的 1-Gbps 链路配置到 bw-high 社区,将 40% 配置为 bw-low 社区。

结果

在配置模式下,输入 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

    • IPv4 标签单播 (family inet labeled-unicast

    • IPv6 标签单播 (family inet6 labeled-unicast

    • IPv4 VPN 单播 (family inet-vpn unicast

    • IPv6 VPN 单播 (family inet6-vpn unicast

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

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

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

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

    • 我们不支持对 EBGP 对等方的添加路径 发送 。当您尝试提交 EBGP 对等方的 add-path 发送 配置时,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 Series多服务边缘路由器、MX 系列5G通用路由平台或T Series核心路由器。

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

概述

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

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

当在 BGP 中启用多路径播发时,路由反射是可选的。

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

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

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

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

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

拓扑图

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

图 6:BGP Advertisement of Multiple Paths in BGP 中多路径的通告

配置

CLI 快速配置

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

路由器 R1

路由器 R2

路由器 R3

路由器 R4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

配置路由器 R1

分步程序

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

要配置路由器 R1,请执行以下操作:

  1. 配置路由器 R2、路由器 R3、路由器 R4 和路由器 R5 的接口,并配置环路 (lo0) 接口。

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

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

    路径的目标可以是路由器 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-options以及 show 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。

行动
意义

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

由于应用于路由器 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 Series、MX 系列 或 T Series 路由器的组合

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

概述

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

拓扑结构

图 7 中,RR1 和 RR4 是路由反射器。路由器 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 的 add-path 下配置。但是,路由器 RR4 未配置负载均衡多路径。路由器 RR1 配置为向路由器 RR4 发送最多 6 个从多路径候选路由中选择的 199.1.1.1/32 添加路径路由。

图 7:示例:配置 BGP 多路径的选择性播发以实现负载平衡 Network diagram of BGP setup with routers in AS64501 and AS64502. Shows EBGP and IBGP connections. RR1 and RR4 are route reflectors.

配置

CLI 快速配置

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

路由器 RR1

路由器 R2

路由器 R3

路由器 RR4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

配置路由器 RR1

分步程序

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

要配置路由器 RR1,请执行以下操作:

注意:

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

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

  2. 配置环路地址。

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

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

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

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

  7. 将 addpath 多路径功能配置为仅播发贡献者多个路径,并将播发的多路径数限制为 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 是否仅将 199.1.1.1/32 的一个路由播发至路由器 R8。

行动

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

意义

由于路由器 RR4 上未启用多路径,因此仅将一条路径 10.0.0.20 播发至路由器 R8。

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

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

要求

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

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

  • 八台路由器,可以是 M Series、MX 系列 或 T Series 路由器的组合

  • 设备上的 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 的多条路径。add-path 社区配置限制路由器 RR4 为仅包含 4713:100 社区值的路由发送多个路径。路由器 RR4 过滤并播发仅包含 4714:100 社区值的多路径。

图 8:示例:配置 BGP 以基于社区值 Network diagram of BGP setup with routers in AS64501 and AS64502. Shows EBGP and IBGP connections. RR1 and RR4 are route reflectors.通告多路径

配置

CLI 快速配置

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

路由器 RR1

路由器 R2

路由器 R3

路由器 RR4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

配置路由器 RR4

分步程序

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

要配置路由器 RR4,请执行以下操作:

注意:

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

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

  2. 配置环路地址。

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

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

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

  6. 定义一个策略 addpath-community-members 4713:100 ,用于过滤具有社区值 4713:100 的前缀,并限制设备向路由器 R8 发送最多 16 条路径。此限制将覆盖之前在 BGP 组层级配置的 add-path 发送路径计数 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 是否仅播发至路由器 R8 的社区值为 4713:100 的多路径路由

目的

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

行动

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

意义

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

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

从 Junos OS 17.3R1 版开始,当具有单个协议下一跃点的 BGP 前缀通过具有多个解析路径(单列表)的另一个 BGP 前缀进行解析时,系统会选择所有路径进行协议下一跃点解析。在早期的 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) 下一跃点。对于具有高流量的网络,这提供了更大的灵活性,可以在多达 128 个 LSP 上均衡流量负载。

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

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

注意:

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

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

以下类型的路由支持多达 128 个 ECMP 网关的 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 更多。流量分配不严格遵守配置的带宽分配。此警告适用于以下路由器:

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

要查看 ECMP 下一跃点的详细信息,请发出命令 show route 。还 show route summary command 显示了最大 ECMP 限制的当前配置。要查看 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 组中的一个或多个路径发生故障时,将失败的路径替换为新的活动路径。配置故障路径的替换可确保仅对故障路径上的流量进行重定向。活动路径上的流量将保持不变。

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

    有关通用路由封装的更多信息,请参阅 配置通用路由封装隧道

  • 一致负载平衡不支持 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>

使用多个 ECMP BGP 对等方提高网络弹性配置

概述

等价多路径 (ECMP) 是一种网络路由策略,允许同一会话或流的流量以等价的多条路径传输。流量是具有相同源和目标的流量。ECMP 进程可识别哪些路由器是朝向流目标的合法等价下一跃点。然后,设备会使用负载平衡在这多个等价下一跃点之间均匀分配流量。ECMP 是一种机制,使您(网络管理员)能够通过充分利用指向同一目标的链路上其他未使用的带宽来均衡流量负载并增加带宽。

您经常将 ECMP 与 BGP 配合使用。每个 BGP 路由可以有多个 ECMP 下一跃点。BGP 导出策略确定是否将 BGP 路由播发到这些下一跃点。作为网络管理员,您可以控制 BGP 前缀与这些 ECMP 对等方之间的播发和撤销。BGP 导出策略根据从中接收前缀的 ECMP BGP 对等方的数量确定是否播发 BGP 前缀。

您可以将BGP导出策略配置为撤回BGP路由,除非该路由从最少数量的 ECMP BGP对等方接收BGP路由前缀。要求 BGP 路由具有多个 ECMP BGP 对等方,可在发生链路故障时提供更好的弹性。

优势

  • 提高网络弹性

  • 防止链路意外过载

  • 协助负载平衡

配置

BGP 导出策略会将 BGP 路由的 ECMP 下一跃点数与您在以下任一层次结构中使用语句配置 from nexthop-ecmp 的值进行比较: [edit policy-options policy-statement policy-name] [edit policy-options policy-statement policy-name term term-name]

此语句的选项包括:

  • value满足条件所需的确切数量的 ECMP 网关(1 到 512)。

  • equal:网关数量必须等于配置的值。

  • greater-than:网关数量必须大于配置的值。

  • greater-than-equal:网关数量必须大于或等于配置的值。

  • less-than:网关数量必须小于配置的值。

  • less-than-equal:网关数量必须小于或等于配置的值。

  1. 配置 BGP 导出策略,以将 BGP 路由的 ECMP 下一跃点数与使用语句配置from nexthop-ecmp的值进行比较。
    在此示例中,当路由的 ECMP BGP 对等方少于两个时,策略术语 min-ecmp 会查找匹配项。
  2. 配置 BGP 导出策略,以便在 ECMP 下一跃点数与您配置的条件不匹配时停止播发 BGP 路由前缀。
  3. 策略应用于从路由表导出到 BGP 的路由。
  4. 确认您已验证该值是否与策略中配置的 BGP ECMP 对等方一致。
  5. 检查BGP路由是否已播发至所需上游BGP 对等体或从所需上游撤销。

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

什么是熵标签?

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

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

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

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

图 9:RSVP LSP Network diagram showing IP packet flow through routers PE1, P1, P2, and PE2 with RSVP LSP label stack for load balancing in MPLS networks. 的熵标签

BGP 标记单播的熵标签

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

图 10:带有 RSVP 熵标签 Network diagram showing IP packet flow through routers PE1, P1, ABR, P2, and PE2 with BGP labeled unicast label stack including RSVP Label1, BGP Label, RSVP Label2, ELI, EL, and IP.的区域间 BGP 标记单播

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

图 11:区域间 BGP 标记的单播,在拼接点 Flow of IP packets through MPLS network with BGP labeled unicast packets and entropy labels. Shows label stack changes for packet forwarding across nodes including PE1, P1, ABR, P2, and PE2.处带有 BGP 熵标签
注意:

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

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

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

支持和不支持的功能

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

  • LSP 的所有节点都具有平均信息量标签功能。

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

  • LSP 通过其他运营商的 VPN 进行隧道传输。

  • 定义入口策略以选择带有 BGP 标签的单播 LSP 子集,以便在入口处插入平均信息量标签。

  • 定义出口策略以禁用平均信息量标签功能播发。

对于带有单播的 BGP 标签,Junos OS 不支持以下熵标签功能:

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

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

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

为BGP标记的单播LSP配置熵标签,实现端到端熵标签负载平衡。熵标签是一种特殊的负载均衡标签,可以承载数据包的流信息。BGP 标记的单播通常跨多个 IGP 区域或多个自治系统 (AS) 连接 RSVP 或 IGP 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. 在入口路由器上,在层次结构级别包含[edit protocols bgp family inet labeled-unicast]entropy-label语句,以便在全局级别为带有 BGP 标签的单播启用平均信息量标签功能。

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

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

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

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

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

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

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

要求

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

  • 七款带 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 IGP LSP 时,RSVP 或 LDP 熵标签将与 RSVP 或 LDP 标签一起在倒数第二个跃点节点上弹出。但是,在拼接点(即两个区域之间的路由器)处没有熵标签。因此,拼接点的路由器使用 BGP 标签来转发数据包。

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

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

注意:

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

拓扑结构

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

图 12:为 BGP 标记的单播 Configuring an Entropy Label for BGP Labeled Unicast配置熵标签

配置

CLI 快速配置

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

路由器 CE1

路由器 PE1

路由器 P1

路由器 ABR

路由器 P2

路由器 PE2

路由器 CE2

配置路由器 PE1

分步程序

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

要配置路由器 PE1,请执行以下操作:

注意:

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

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

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

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

  4. 配置 OSPF 协议。

  5. 配置 RSVP 协议。

  6. 配置 MPLS 协议和指向 ABR 的 LSP。 包括以下选项 entropy-label 以将平均信息量标签添加到 MPLS 标签堆栈。

  7. 用于 family inet labeled-unicast ABR 对等和 family inet-vpn PE2 对等配置 IBGP。为带有 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 编辑器

要配置路由器 P1,请执行以下操作:

注意:

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

  1. 配置物理接口。

  2. 配置环路接口。

  3. 配置路由器 ID。

  4. 配置 OSPF 协议。

  5. 配置 RSVP 协议。

  6. 配置 MPLS 协议。

配置路由器 ABR

分步程序

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

要配置路由器 ABR,请执行以下操作:

  1. 配置物理接口。

  2. 配置环路接口。

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

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

  5. 配置 OSPF 协议。

  6. 配置 RSVP 协议。

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

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

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

  10. 定义负载平衡策略并将其应用 routing-options forwarding-table到 .

(选答)端口镜像配置

要查看应用的熵标签,可以捕获流量。在此示例中,过滤器应用于 P1 上面向 PE1 的接口,以捕获 CE1 到 CE2 的流量。流量被发送到主机 1 以供查看。捕获流量的方法与本例中使用的方法不同。有关更多信息,请参阅 端口镜像和分析器

分步程序

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

要配置路由器 P1,请执行以下操作:

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

  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 运行和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 对 CE2 执行 Ping 操作

目的

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

行动

在操作模式下,在路由器 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 命令。

意义

输出显示上一个命令使用的第一个 ping 使用 LSP abr-pe2-2 ,第二个 ping 使用 LSP abr-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 Series、MX 系列、T Series 或 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 的路由器上受支持。

拓扑结构

此示例显示了三台客户边缘 (客户边缘) 路由器:设备 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 Network topology diagram showing Autonomous Systems AS 64497 with CE routers CE0, CE1, CE2 and AS 64496 with PE routers PE0, PE1, PE2 and core routers P0, P1. Connections include IP subnets and loopback addresses for routing. 配置 BGP PIC

配置

CLI 快速配置

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

路由器 PE0

路由器 P0

路由器 P1

路由器 PE1

路由器 PE2

设备 CE0

设备 CE1

设备 CE2

配置设备 PE0

分步程序

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

要配置设备 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 policy-optionsshow protocolsshow routing-options命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

显示广泛的路由信息

目的

确认 BGP PIC Edge 正在正常工作。

行动

从设备 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指示具有被动下一跃点的备用路径。

保留下一跳层次结构概述

在传统的压缩层次结构中,服务标签被合并到单个传输下一跃点 (FNH) 中,这可能导致 PFE 中的下一跃点爆炸。传统的压缩层次结构还可能导致 ECMP 截断和层次结构权重丢失等问题。

保留下一跃点层次结构(也称为扩展层次结构)将每个服务标签保留在自己的链复合中,保留原始层次结构,而不是将所有内容合并到单个下一跃点结构中。

保留下一跳层次结构的好处

此功能具有以下优势:

  • 减少转发下一跃点资源:显著减少转发下一跃点资源/计数。
  • 所有级别的 BGP PIC:支持跨所有层级(传输、服务、复合链)的 BGP PIC,确保 BGP 路径的快速故障切换和本地融合。
  • 保留层次结构权重:维护 ECMP 和层次结构路由方案的权重和带宽分布。
  • 避免 ECMP 截断:确保所有 ECMP 支路都安装在 PFE 中,从而改善负载平衡和弹性。

第 2 层服务(第 2 层电路、第 2 层 VPN)、第 3 层 VPN(IPv4 和 IPv6)、VPLS、IPIP 隧道、互联网服务(IPv4、IPv6、6PE)、EVPN 和 PRPD 等服务支持保留下一跳层次结构。

传输协议,例如 BGP 标记单播、BGP 分类传输 (BGP-CT)、RSVP-流量工程、SR-MPLS、SR-FlexAlgo、SR-流量工程、SRv6 流量工程、MPLS-over-UDP 支持 通过传输类基础架构保留下一跳层次结构。

有关支持保留下一跳层次结构的平台列表,请参阅 功能浏览器 工具。

配置保留下一跃点层次结构

要配置保留下一跃点层次结构功能,请在 preserve-nexthop-hierarchy [edit routing-options resolution] 层级包含该语句。这可以确保所有相关的路由进程都遵循已建立的下一跳层次结构。这有助于在路径故障情况下高效解析路由并更快地进行调整,从而有助于提高网络性能。

保留下一跳层次结构功能有利于需要高可用性并与先进技术无缝集成的网络,例如使用 MPLS 的分段路由和使用 IPv6 的分段路由。它们可在复杂的网络架构中提供改进的流量分配、冗余和一致的路由行为。

注意:在全局或协议级别启用或禁用该 preserve-nexthop-hierarchy语句时,将重新计算受影响路由指向的下一跃点并将其下载到 PFE 和内核。这会导致在较大规模的环境中,设备中的 CPU 峰值较高,从而导致数据包丢失,直到在 PFE 中重新编程路由。

使用 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 Edge,由于边缘节点或边缘链路故障,将对转发链进行调整。

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

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

在瞻博网络 MX 系列、EX 系列和 PTX 系列设备上,BGP PIC 边缘支持第 3 层服务,并将 BGP 标记为单播作为传输协议。此外,在瞻博网络 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 BGP PIC 边缘保护:

  • 通过 IPv4 BGP 标记的单播提供 IPv4 服务

  • IPv6 基于 IPv4 BGP 标签的单播服务 BGP 标签的单播

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

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

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

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

  • 通过 IPv4 BGP 标记的单播实现第 2 层 VPN 服务

  • 通过 IPv4 实现的 VPLS(BGP VPLS、LDP VPLS 和 FEC 129 VPLS)服务BGP标记为 单播

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

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

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

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

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

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

对于第 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 展示了第 3 层 VPN 运行标记为单播的 BGP,作为域间传输协议。

图 14:使用 LDP 传输协议的 BGP 标记单播上的第 3 层 VPN
Network topology diagram showing a multi-AS network with AS 65002 and AS 65001. Includes PE routers PE1 and PE2 connecting CE1 and CE2, backbone P routers P1, P2, and P3, RR routers RR1, RR2, and RR3 for BGP route reflection, ABR routers ABR1 and ABR2 for IGP areas, ASBR routers ASBR1, ASBR2, ASBR3, and ASBR4 connecting ASes. Links labeled with interface names and IP addresses 192.168.x.x/31.

下表介绍了拓扑中使用的组件:

主要组件

设备类型

职位

CE1

MX 系列

连接到客户网络。

PE1

MX 系列

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

P1-P3

MX 系列

核心路由器来传输流量。

ABR1-ABR2

MX 系列

区域边界路由器

ABSR1-ABSR4

MX 系列

自治系统边界路由器

RR1-RR3

MX 系列

路由反射器

PE2-PE3

MX 系列

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

CE2

MX 系列

连接到客户网络。

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

配置

要使用 BGP 标签单播(LDP 作为传输协议)配置 BGP PIC Edge,请执行以下任务:

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 伪线支持概述

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

在 MPLS 网络中,伪线流标签的流感知传输 (FAT)(如 draft-keyupdate-l2vpn-fat-pw-bgp 中所述)用于通过第 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 位。

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

配置 BGP L2VPN 的 FAT 伪线支持,以均衡 MPLS 流量负载

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

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

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

  • 配置 RSVP。

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

  • 配置 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 Network topology diagram showing five devices: CE1, PE1, P, PE2, CE2. CE1 connects to PE1 via ge-0/0/0 with subnet 10.1.1.0/24. PE1 connects to P via ge-0/0/1 with subnet 1.0.0.0/24. P connects to PE2 via ge-0/0/1 with subnet 2.0.0.0/24. PE2 connects to CE2 via ge-0/0/0 with subnet 10.1.1.0/24. Loopback addresses are CE1 10.255.255.8/32, PE1 10.255.255.1/32, P 10.255.255.2/32, PE2 10.255.255.4/32, CE2 10.255.255.9/32. Represents MPLS network setup. 的 FAT 伪线支持示例

配置

CLI 快速配置

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

CE1

PE1

P

PE2

CE2

配置 PE1

分步程序

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

要配置设备 PE1:

  1. 配置接口。

  2. 配置不间断路由,并配置路由器 ID。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

结果

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

验证

确认配置工作正常。

验证 BGP 汇总信息
目的

验证 BGP 摘要信息。

行动

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

意义

输出显示 BGP 摘要信息。

验证 L2VPN 连接信息
目的

验证第 2 层 VPN 连接信息。

行动

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

意义

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

验证路由
目的

验证是否已学习预期路由。

行动

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

意义

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

配置 PE2

过程

分步程序

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

要配置设备 PE2:

  1. 配置接口。

  2. 配置路由器 ID。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

结果

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

验证

确认配置工作正常。

验证 BGP 汇总信息

目的

验证 BGP 摘要信息。

行动

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

意义

输出显示 BGP 摘要信息。

验证 L2VPN 连接信息

目的

验证第 2 层 VPN 连接信息。

行动

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

意义

输出显示第 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。

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

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

拓扑结构

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

图 16:BGP VPLS Network topology diagram: Five devices labeled CE1, PE1, P, PE2, and CE2. CE1 connects to PE1 via subnet 10.1.1.0/24. PE1 connects to P via subnet 1.0.0.0/24. P connects to PE2 via subnet 2.0.0.0/24. PE2 connects to CE2 via subnet 10.1.1.0/24. Loopback addresses are provided for each device. 的 FAT 伪线支持示例

配置

CLI 快速配置

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

CE1

PE1

P

PE2

CE2

配置 PE1

分步程序

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

要配置设备 PE1:

  1. 配置接口。

  2. 配置不间断路由,并配置路由器 ID。

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

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

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

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

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

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

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

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

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

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

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

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

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

结果

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

配置 PE2

分步程序

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

要配置设备 PE2:

  1. 配置接口。

  2. 配置路由器 ID。

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

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

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

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

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

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

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

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

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

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

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

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

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

结果

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

验证

确认配置工作正常。

验证 VPLS 连接信息
目的

验证 VPLS 连接信息。

行动

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

意义

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

验证

确认配置工作正常。

验证 VPLS 连接信息

目的

验证 VPLS 连接信息。

行动

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

意义

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

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
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 版开始,在层次结构级别全 [edit protocols bgp] 局支持 BGP 多路径。您可以选择性地禁用某些 BGP 组和邻接方上的多路径。 disable 在层次结构级别包括 [edit protocols bgp group group-name multipath] 以禁用组或特定 BGP 邻接方的多路径选项。
18.1R1
从 Junos OS 18.1R1 版开始,您可以推迟多路径计算,直到收到所有 BGP 路由。启用多路径后,每次添加新路由或现有路由发生更改时,BGP 都会将路由插入多路径队列。当通过BGP添加路径功能接收到多条路径时,BGP可能会多次计算一个多路径路由。多路径计算会降低 RIB(也称为路由表)学习速率。为了加快 RIB 学习速度,可以将多路径计算推迟到收到 BGP 路由,也可以根据要求降低多路径构建作业的优先级,直到 BGP 路由得到解析。要延迟多路径计算,请在层次结构级别进行 [edit protocols bgp]配置 defer-initial-multipath-build。或者,您可以在层次结构级别使用 [edit protocols bgp]配置语句降低 multipath-build-priority BGP 多路径构建作业优先级,以加快 RIB 学习。