帮助我们改善您的体验。

让我们了解您的想法。

您是否能抽出两分钟的时间完成一份问卷调查?

list Table of Contents

机器翻译对您有帮助吗?

starstarstarstarstar
Go to English page
免责声明:

我们将使用第三方机器翻译软件翻译本页面。瞻博网络虽已做出相当大的努力提供高质量译文,但无法保证其准确性。如果对译文信息的准确性有任何疑问,请参阅英文版本. 可下载的 PDF 仅提供英文版.

聚合以太网接口的负载平衡

date_range 17-Dec-24

在第 2 层跨成员链路进行负载均衡,从而改善配置,而不会出现拥塞并保持冗余。以下主题讨论负载平衡概述,如何基于 MAC 地址和 LAG 链路配置负载平衡,以及如何通过弹性散列来了解一致性。

基于 MAC 地址配置负载平衡

用于负载平衡的哈希密钥机制使用第 2 层媒体访问控制 (MAC) 信息,例如帧源和目标地址。要基于第 2 层 MAC 信息对流量进行负载均衡,请在[edit forwarding-options hash-key][edit chassis fpc slot number pic PIC number hash-key]或 层级添加multiservice语句:

content_copy zoom_out_map
multiservice {
    source-mac;
    destination-mac;
    payload {
        ip {
            layer3-only;
            layer-3 (source-ip-only | destination-ip-only);
            layer-4;
            inner-vlan-id;
            outer-vlan-id;
        }
    }
}

使用 Feature Expolorer 确认平台和版本对特定功能的支持。

查看特定 于平台的 MAC 地址基于负载均衡行为 部分,了解与您的平台相关的说明。

要在哈希密钥中包含目标地址 MAC 信息,请包含该 destination-mac 选项。要在哈希密钥中包含源地址 MAC 信息,请包含该 source-mac 选项。

注意:
  • 具有相同源地址和目标地址的任何数据包都将通过同一路径发送。

  • 您可以配置按数据包的负载平衡,以优化跨多个路径的 EVPN 流量。

  • 聚合以太网成员链路现在将使用物理 MAC 地址作为 802.3ah OAM 数据包中的源 MAC 地址。

基于特定平台 MAC 地址的负载均衡行为

平台

差异

ACX 系列

ACX7000 系列路由器支持对称散列。例如,您需要在“多服务”选项下同时 source-mac 配置和 destination-mac 。您不能单独使用 source-macdestination-mac 单独使用。

关于在 ACX7000 系列路由器上进行散列,请注意以下几点:

  • 不支持任何默认哈希。如果未配置“哈希密钥”选项,则不会发生负载均衡。 [set forwarding-options hash-key family] 使用层次结构。

  • 负载平衡可能是对称的,也可能不是。某些链接可能比其他链接承载更多的流量。此流量差异基于流量配置文件。

  • 不支持加权散列。

示例:配置组播负载平衡以用于 EX8200 交换机上的聚合 10 千兆以太网接口

EX8200 交换机支持链路聚合组 (LAG) 上的组播负载平衡。组播负载平衡可通过 LAG 均匀分配第 3 层路由的组播流量 您最多可以聚合 12 个 10 千兆以太网链路,以形成一个 120 千兆虚拟链路 (LAG)。MAC 客户端可以将此虚拟链路视为单个链路来增加带宽,在发生链路故障时提供正常的降级并提高可用性。在 EX8200 交换机上,组播负载平衡默认处于启用状态。但是,如果显式禁用它,则可以重新启用它。.

注意:

已配置 IP 地址的接口不能构成 LAG 的一部分。

注意:

只有具有 10 千兆链路的 EX8200 独立交换机才支持组播负载平衡。虚拟机箱不支持组播负载平衡。

此示例说明如何配置 LAG 并重新启用组播负载平衡:

要求

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

  • 两台 EX8200 交换机,一台用作接入交换机,另一台用作分布交换机

  • EX 系列交换机使用的 Junos OS 12.2 或更高版本

开始之前:

概述和拓扑

组播负载平衡使用七种散列算法之一来平衡 LAG 中各个 10 千兆链路之间的流量。有关散列算法的说明,请参阅 multicast-loadbalance。默认散列算法为 crc-sgip。您可以试验不同的散列算法,直到确定哪种算法最能平衡第 3 层路由的组播流量。

当 EX8200 交换机上需要大于 10 千兆位的链路时,您最多可以组合 12 个 10 千兆链路以创建更多带宽。此示例使用链路聚合功能在分布式交换机上将四个 10 千兆链路合并为一个 40 千兆链路。此外,还启用了组播负载平衡,以确保在 40 千兆链路上均匀分布第 3 层路由的组播流量。在 图 2 所示的示例拓扑中,分布层中的 EX8200 交换机连接到接入层中的 EX8200 交换机。

注意:

根据配置的 LAG 大小自动确定链路速度。例如,如果一个 LAG 由四个 10 千兆链路组成,则链路速度为每秒 40 千兆位)。

注意:

默认散列算法 crc-sgip 涉及组播数据包源和组 IP 地址的循环冗余校验。

图 2:由四个 10 千兆链路 40-Gigabit LAG Composed of Four 10-Gigabit Links组成的 40 千兆 LAG

您将在每台交换机上配置一个 LAG,并重新启用组播负载平衡。重新启用后,组播负载平衡将自动对 LAG 生效,并且 LAG 中每个链路的速度设置为每秒 10 千兆位。40 千兆 LAG 的链路速度会自动设置为每秒 40 千兆。

配置

程序

CLI 快速配置

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

content_copy zoom_out_map
set chassis aggregated-devices ethernet device-count 1
set interfaces ae0 aggregated-ether-options minimum-links 1 
set interfaces xe-0/1/0 ether-options 802.3ad ae0 
set interfaces xe-1/1/0 ether-options 802.3ad ae0
set interfaces xe-2/1/0 ether-options 802.3ad ae0
set interfaces xe-3/1/0 ether-options 802.3ad ae0
set chassis multicast-loadbalance hash-mode crc-gip 
分步过程

要配置 LAG 并重新启用组播负载平衡,请执行以下操作:

  1. 指定要创建的聚合以太网接口数量:

    content_copy zoom_out_map
    [edit chassis]
    user@switch#  set aggregated-devices ethernet device-count 1
  2. 指定聚合以太网接口 (aex) 的最小链路数,即 LAG, up标记为:

    注意:

    默认情况下,只需运行一个链路即可为 LAG 进行标记 up

    content_copy zoom_out_map
    [edit interfaces]
    user@switch# set ae0 aggregated-ether-options minimum-links 1                     
  3. 指定要包含在 LAG 中的四个成员:

    content_copy zoom_out_map
    [edit interfaces]
    user@switch# set xe-0/1/0 ether-options 802.3ad ae0
    user@switch# set xe-1/1/0 ether-options 802.3ad ae0        
    user@switch# set xe-2/1/0 ether-options 802.3ad ae0  
    user@switch# set xe-3/1/0 ether-options 802.3ad ae0               
  4. 重新启用组播负载平衡:

    content_copy zoom_out_map
    [edit chassis]
    user@switch#  set  multicast-loadbalance 
    注意:

    您无需像为不使用组播负载平衡的 LAG 那样设置链路速度。在 40 千兆位 LAG 上,链路速度会自动设置为每秒 40 千兆位。

  5. 您可以选择性地更改 multicast-loadbalance 语句中选项hash-mode的值,以尝试不同的算法,直到找到最能分配第 3 层路由组播流量的算法。

    如果在禁用组播负载平衡时更改散列算法,则新算法将在重新启用组播负载平衡后生效。

结果

检查配置结果:

content_copy zoom_out_map
user@switch>  show configuration
chassis

	aggregated-devices {
		ethernet {
		     device-count 1;
		}
	}
	multicast-loadbalance {
		hash-mode crc-gip; 
	}

interfaces
	xe-0/1/0 {
	ether-options {
			802.3ad ae0;
		}
	}
	xe-1/1/0 {
		ether-options {
			802.3ad ae0;
		}
	}
	xe-2/1/0 {
		ether-options {
			802.3ad ae0;
		}
	}
	xe-3/1/0 {
		ether-options {
			802.3ad ae0;
		}
	}
	ae0 {
		aggregated-ether-options {
			minimum-links 1;
		}
	}
}


验证

要确认配置工作正常,请执行以下任务:

验证 LAG 接口的状态

目的

验证交换机上是否已创建链路聚合组 (LAG) (ae0)。

行动

验证是否已创建 ae0 LAG:

content_copy zoom_out_map
user@switch> show interfaces ae0 terse
content_copy zoom_out_map
Interface             Admin  	Link 	Proto      Local             Remote               

ae0                    up       up

ae0.0                  up       up     inet     10.10.10.2/24

 

意义

接口名称 aex 表示这是 LAG。 A 代表聚合, E 代表以太网。该数字区分了各种 LAG。

验证组播负载平衡

目的

检查流量在各路径之间的负载是否均衡。

行动

验证四个接口之间的负载平衡:

content_copy zoom_out_map
user@switch> monitor interface traffic           
content_copy zoom_out_map
Bytes=b, Clear=c, Delta=d, Packets=p, Quit=q or ESC, Rate=r, Up=^U, Down=^D
ibmoem02-re1                      Seconds: 3                   Time: 16:06:14

Interface    Link  Input packets        (pps)     Output packets        (pps)
 xe-0/1/0      Up        2058834         (10)          7345862         (19)
 xe-1/1/0      Up        2509289          (9)          6740592         (21)
 xe-2/1/0      Up        8625688         (90)         10558315         (20)
 xe-3/1/0      Up        2374154         (23)         71494375          (9)
意义

接口承载的流量应大致相同。

动态负载平衡

负载平衡用于确保网络流量尽可能均匀地分布在给定 ECMP(等价多路径路由)或 LAG(链路聚合组)中的成员之间。通常,负载平衡分为静态或动态。静态负载平衡 (SLB) 仅根据数据包内容(例如,源 IP、目标 IP 等)计算散列。负载均衡的最大优势在于,给定流量的所有数据包都采用相同的路径,因此可以保证数据包的排序。但是,由于 SLB 机制不考虑路径或链路负载,网络经常会遇到以下问题:

  • 链路带宽利用率低

  • 单个链路上的大象流完全丢弃了鼠标流。

动态负载平衡 (DLB) 是在 SLB 基础上的一项改进。

对于 ECMP,您可以全局配置 DLB,而对于 LAG,您需要为每个聚合以太网接口配置它。您可以根据配置对选定 的以太类型(动态负载平衡)( IPv4、IPv6 和 MPLS)应用 DLB。如果未配置任何 ether-type(动态负载均衡),则 DLB 将应用于所有 EtherTypes。请注意,由于没有默认模式,因此必须显式配置 DLB 模式。

注意:
  • 从 Junos OS 22.3R1-EVO 版开始,QFX5130-32CD 交换机支持 ECMP 和 LAG 的动态负载平衡。

  • 从 Junos OS 19.4R1 版开始,QFX5120-32C 和 QFX5120-48Y 交换机同时支持 ECMP 和 LAG 的动态负载平衡。对于 LAG,DLB 必须基于每个聚合以太网接口进行配置。

  • 从 Junos OS 演化版 19.4R2 版开始,QFX5220交换机支持 ECMP 的动态负载平衡 (DLB)。对于 ECMP,必须全局配置 DLB。

  • 您不能同时配置 DLB 和弹性散列。否则,将引发提交错误。

  • DLB 仅适用于单播流量。

  • 当 LAG 是出口 ECMP 成员之一时,不支持 DLB。

  • 远程 LAG 成员不支持 DLB。

  • 虚拟机箱和虚拟机箱交换矩阵 (VCF) 不支持 DLB。

  • 不能同时支持 LAG 和 HiGig-Trunk 上的 DLB。

  • QFX5220、QFX5230-64CD 和 QFX5240 交换机不支持 LAG 上的 DLB。

表 2:支持 ECMP/LAG 动态负载平衡的平台

平台

ECMP 的 DLB 支持

DLB 对 LAG 的支持

QFX5120-32C型

是的

是的

QFX5120-48Y

是的

是的

QFX5220

是的

QFX5230-64CD

是的

QFX5240

是的

您可以使用以下 DLB 模式对流量进行负载均衡:

  • 按数据包模式

    在此模式下,将为流中的每个数据包启动 DLB。此模式可确保数据包始终被分配到质量最佳的成员端口。但是,在这种模式下,DLB 可能会遇到由于延迟偏差而引起的数据包重新排序问题。

  • Flowlet 模式

    此模式依赖于基于 Flowlet 而非 Flows 分配链路。实际应用流量依赖于上层传输协议(如 TCP)的流控制机制,这些机制会限制传输速率。结果,创建了 Flowlet。您可以将 Flowlet 视为同一流量的多个脉冲,由这些脉冲之间的非活动期隔开 — 此非活动期称为非活动区间。非活动间隔用作识别新 Flowlet 的分界标准,并在 DLB 配置下作为用户可配置的语句提供。在此模式下,DLB 将按 flowlet 启动,即,对于新流程以及处于足够长时间(配置 inactivity-interval)处于非活动状态的现有流程。此模式解决了每个数据包模式的重新排序问题,因为 Flowlet 中的所有数据包采用相同的链路。如果将 inactivity-interval 该值配置为高于所有 ECMP 路径的最大延迟偏差,则可以避免跨 Flowlet 对数据包进行重新排序,同时提高所有可用 ECMP 链路的链路利用率。

  • 分配流模式

    您可以使用分配的流模式在一段时间内选择性地禁用重新平衡,以隔离问题来源。您无法将此模式用于实时 DLB,也无法预测将使用此模式选择的出口端口,因为分配的流模式不考虑端口负载和队列大小。

注意:

以下是 DLB 的一些重要行为:

  • DLB 仅适用于传入的 EtherTypes。

  • 从 DLB 的角度来看,第 2 层和第 3 层链路聚合组 (LAG) 捆绑包被视为相同。

  • 如果在非对称捆绑中使用动态负载平衡,即在具有不同成员容量的 ECMP 链路上使用动态,则链路利用率将不是最佳的。

  • 使用 DLB,当在每个数据包和分配的流模式中添加新链路时,不会重新分配流量。这可能会导致在链路翻盖场景中使用次优,如果在翻盖后没有看到新的流量或流,则在经过翻盖后可能无法利用已使用的链路。

好处

  • DLB 会考虑成员带宽利用率和数据包内容进行成员选择。因此,我们基于实时链路加载实现了更好的链路利用率。

  • DLB 可确保被大象流占用的链路不会被鼠标流使用。因此,通过使用 DLB,我们避免了 SLB 发生的哈希冲突丢弃。也就是说,使用 DLB,链路会相互传播,从而避免冲突和随之而来的数据包丢弃。

配置动态负载平衡

本主题介绍如何在 Flowlet 模式下配置动态负载平衡 (DLB)。

从 Junos OS 19.4R1 版开始,QFX5120-32C 和 QFX5120-48Y 交换机同时支持 ECMP 和 LAG 的动态负载平衡。对于 LAG,DLB 必须基于每个聚合以太网接口进行配置。

从 Junos OS 演化版 19.4R2 版开始,QFX5220交换机支持 ECMP 的动态负载平衡 (DLB)。对于 ECMP,必须全局配置 DLB。

为 ECMP 配置 DLB(Flowlet 模式)

要为采用流模式的 ECMP(QFX5120-32C、QFX5120-48Y 和 QFX5220 交换机)配置动态负载平衡:

  1. 使用 Flowlet 模式启用动态负载平衡:
    content_copy zoom_out_map
    [edit forwarding-options enhanced-hash-key]
    user@router# set ecmp-dlb flowlet
    
  2. (可选)配置 inactivity-interval 值 - 链路重新分配的最小非活动间隔(以微秒为单位):
    content_copy zoom_out_map
    [edit forwarding-options enhanced-hash-key]
    user@router# set ecmp-dlb flowlet inactivity-interval (micro seconds)
    
  3. (可选)配置动态 ether-type负载平衡:
    content_copy zoom_out_map
    [edit forwarding-options enhanced-hash-key]
    user@router# set ecmp-dlb ether-type mpls
    
  4. (选答)您可以使用命令查看为 ECMP show forwarding-options enhanced-hash-key 上的动态负载平衡配置的选项。

同样,您可以使用 “按数据包 ”或 “分配流 ”模式为 ECMP 配置 DLB。

为 LAG 配置 DLB(Flowlet 模式)

开始之前,通过将一组路由器接口配置为聚合以太网并使用特定的聚合以太网 (AE) 组标识符来创建聚合以太网 (AE) 捆绑包。

要使用 flowlet 模式(QFX5120-32C 和 QFX5120-48Y)为 LAG 配置动态负载平衡:

  1. 使用 Flowlet 模式启用动态负载平衡:

    content_copy zoom_out_map
    [edit interfaces ae-x aggregated-ether-options]
    user@router# set dlb flowlet
    
  2. (选答)配置 inactivity-interval 值 - 链路重新分配的最小非活动间隔(以微秒为单位):

    content_copy zoom_out_map
    [edit interfaces ae-x aggregated-ether-options]
    user@router# set dlb flowlet inactivity-interval (micro seconds) 
    
  3. (选答)配置 ether-type动态负载平衡:

    content_copy zoom_out_map
    [edit forwarding-options enhanced-hash-key]
    user@router# set lag-dlb ether-type mpls
    
  4. (选答)您可以使用命令查看为 LAG show forwarding-options enhanced-hash-key 上的动态负载平衡配置的选项。

同样,您可以使用 “按数据包 ”或 “分配的流 ”模式为 LAG 配置 DLB。

示例:配置动态负载平衡

此示例说明如何配置动态负载平衡。

要求

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

  • 两台 QFX5120-32C 或 QFX5120-48Y 交换机

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

概述

动态负载平衡 (DLB) 是在 SLB 基础上的一项改进。

对于 ECMP,您可以全局配置 DLB,而对于 LAG,您需要为每个聚合以太网接口配置它。您可以根据配置在选定 的以太类型(动态负载平衡) 上应用 DLB,例如 IPv4、IPv6 和 MPLS。如果未配置任何 ether-type(动态负载均衡),则 DLB 将应用于所有 EtherTypes。请注意,由于没有默认模式,因此必须显式配置 DLB 模式。

注意:
  • 从 Junos OS 19.4R1 版开始,QFX5120-32C 和 QFX5120-48Y 交换机支持在 ECMP 和 LAG 上进行动态负载平衡。

  • 您不能同时配置 DLB 和弹性散列。否则,将引发提交错误。

拓扑学

在此拓扑中,R0 和 R1 均已连接。

图 3:动态负载平衡 Dynamic Load Balancing
注意:

此示例显示静态配置。您还可以使用动态协议添加配置。

配置

CLI 快速配置

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

R0

content_copy zoom_out_map
set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.2/24
set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.2/24
set interfaces xe-0/0/54:0 unit 0 family inet address 10.10.10.2/24
set forwarding-options enhanced-hash-key ecmp-dlb per-packet
set policy-options policy-statement loadbal then load-balance per-packet
set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3
set routing-options static route 20.0.1.0/24 next-hop 10.1.1.3
set routing-options forwarding-table export loadbal

R1

content_copy zoom_out_map
set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.3/24
set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.3/24
set interfaces xe-0/0/52:0 unit 0 family inet address 20.0.0.2/16

为 LAG(QFX5120-32C 和 QFX5120-48Y)配置动态负载平衡

分步过程

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

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

注意:

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

  1. 配置链路聚合组 (LAG)。

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set interfaces xe-0/0/0 ether-options 802.3ad ae0
    user@R0# set interfaces xe-0/0/10 ether-options 802.3ad ae0
    user@R0# set interfaces ae0 aggregated-ether-options lacp active
    user@R0# set interfaces ae0 unit 0 family inet address 10.1.0.2/24
    user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3
    

    配置 LAG 后,在验证部分中,执行在 LAG 上配置动态负载平衡功能之前验证流量负载 部分中的步骤,以在配置 DLB 之前检查配置或流量负载。

  2. 为 LAG 配置按数据包模式的动态负载平衡。

    content_copy zoom_out_map
    [edit]
    user@R0# set interfaces ae0 aggregated-ether-options dlb per-packet
    

    配置 DLB 后,在验证部分,执行在 LAG 上配置动态负载平衡功能后验证流量负载 部分中的步骤,在配置 DLB 之前检查配置或流量负载。

为 ECMP(QFX5120-32C、QFX5120-48Y 和 QFX5220 交换机)配置动态负载平衡

分步过程

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

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

注意:

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

  1. 配置从 R0 连接到 R1 的千兆以太网接口链路。

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.2/24
    user@R0# set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.2/24
    user@R0# set interfaces xe-0/0/54:0 unit 0 family inet address 10.10.10.2/24
    
  2. 创建静态路由:

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3
    user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.1.3
    
  3. 应用负载均衡策略。动态负载平衡功能要求转发表中存在多个 ECMP 下一跃点。

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set policy-options policy-statement loadbal then load-balance per-packet
    user@R0# set routing-options forwarding-table export loadbal
    
  4. 为 ECMP 配置按数据包模式的动态负载平衡。

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set forwarding-options enhanced-hash-key ecmp-dlb per-packet
    
  5. 在 R1 上,配置千兆以太网接口链路。

    content_copy zoom_out_map
    [edit interfaces]
    user@R2# set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.3/24
    user@R2# set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.3/24
    user@R2# set interfaces xe-0/0/52:0 unit 0 family inet address 20.0.0.2/16
    

验证

确认配置工作正常。

在 LAG 上配置动态负载平衡功能之前验证流量负载
目的

在链路聚合组上配置 DLB 功能之前进行验证。

行动

在操作模式下,运行 show interfaces interface-name | match pps 命令。

content_copy zoom_out_map
user@R0>show interfaces xe-0/0/0 | match pps 
  Input rate     : 1240 bps (1 pps)
  Output rate    : 1024616 bps (1000 pps) ## all traffic in one link.
user@R0>show interfaces xe-0/0/10 | match pps
  Input rate     : 616 bps (0 pps)
  Output rate    : 1240 bps (1 pps)<<  Output rate    : 1240 bps (1 pps) ## no traffic
在 LAG 上配置动态负载平衡功能后验证流量负载
目的

验证 R0 上接收的数据包是否负载均衡。

行动

在操作模式下,运行 show interfaces interface-name 命令。

content_copy zoom_out_map
user@R0>show interfaces xe-0/0/0 | match pps 
  Input rate     : 616 bps (0 pps)
  Output rate    : 519096 bps (506 pps)<<  Output rate    : 519096 bps (506 pps) ## load equally shared
user@R0>show interfaces xe-0/0/10 | match pps
  Input rate     : 1232 bps (1 pps)
  Output rate    : 512616 bps (500 pps)<<  Output rate    : 512616 bps (500 pps) ## load equally shared
意义

动态负载平衡,按数据包模式成功工作。在 LAG 上应用动态负载平衡功能后,负载在网络中平均分担。

验证

确认配置在 R0 处工作正常。

验证 R0 上的动态负载平衡

目的

验证 R0 上接收的数据包是否负载均衡。

行动

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

content_copy zoom_out_map
user@R0>show route forwarding-table destination 20.0.1.0/24
inet.0: 178 destinations, 178 routes (178 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

20.0.1.0/24        *[Static/5] 1d 03:35:12
                    >  to 10.1.0.3 via xe-0/0/0.0
                       to 10.1.1.3 via xe-0/0/10.0
user@R0>show route 20.0.1.0/24
inet.0: 178 destinations, 178 routes (178 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

20.0.1.0/24        *[Static/5] 1d 03:35:12
                    >  to 10.1.0.3 via xe-0/0/0.0
                       to 10.1.1.3 via xe-0/0/10.0
意义

验证 R1 上的负载均衡

目的

确认配置在 R1 上工作正常。

行动

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

content_copy zoom_out_map
user@R1>show route 20.0.1.25
inet.0: 146 destinations, 146 routes (146 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

20.0.0.0/16        *[Direct/0] 1d 03:37:11
                    >  via xe-0/0/52:0.0
意义

动态负载平衡,按数据包模式成功工作。在 ECMP 上应用动态负载平衡功能后,负载在网络中平均分担。

在 DLB Flowlet 模式下配置 Flowset 表大小

概述

动态负载平衡 (DLB) 是一种负载平衡技术,可根据链路质量选择最佳出口链路,使流量均匀分布。您(网络管理员)可以在 Flowlet 模式下配置 DLB。

在 flowlet 模式下,DLB 通过记录最近看到的时间戳和 DLB 根据最佳链路质量选择的出口接口来跟踪流量。DLB 将此信息记录在分配给每个 ECMP 组的流集表中。DLB 算法在特定链路上维护给定流量,直到最后看到的时间戳超过非活动计时器。当特定流的非活动计时器过期时,DLB 会重新检查该链路是否仍适用于该流。如果链路不再最佳,DLB 将选择新的出口链路,并使用新链路和流的最后一个已知时间戳更新流集表。如果链路仍然处于最佳状态,则 flowset 表将继续使用相同的出口链路。

您(网络管理员)可以增加流程集表的大小,以更改流程集表条目在 ECMP 组之间的分布。ECMP 组在流集表中的条目越多,ECMP 组可以容纳的流量就越多。在 AI-ML 数据中心等必须处理大量流量的环境中,DLB 使用更大的流量集表特别有用。当每个 ECMP 组都可以容纳大量流量时,DLB 可以在 ECMP 成员链路中实现更好的流量分布。

flowset 表总共包含 32,768 个条目,这些条目在 DLB ECMP 组之间平均分配。每个 ECMP 组的流量集表大小范围为 256 到 32,768。使用以下公式计算 ECMP 组数:

content_copy zoom_out_map
32,768/(flowset size) = Number of ECMP groups

默认情况集大小为 256 个条目,因此默认情况下有 128 个 ECMP 组。

好处

  • 改善出口链路上的负载分配。

  • 对流进行分组,以最大程度地减少 DLB 必须为每个流进行的计算次数。

  • 自定义流程集表条目分配,实现最高效率。

  • 提高 flowlet 模式的效率。

配置

配置 flowset 表大小时,请注意以下事项:

  • 更改流集大小时,ECMP DLB 组的规模也会发生变化。分配大于 256 的流集表大小会减少支持 DLB 的 ECMP 组的数量。

  • 提交此配置时,流量可能会在配置更改期间丢弃。

  • 当链路聚合组 (LAG) 是 ECMP 的出口成员之一时,不支持 DLB。

  • 只有底层交换矩阵支持 DLB。

  • QFX5240速度低于 50 Gbps 的交换机端口不支持 DLB。

  1. 在 Flowlet 模式下配置 DLB。请参阅配置动态负载平衡
  2. 配置流程集表大小。
    content_copy zoom_out_map
    set forwarding-options enhanced-hash-key ecmp-dlb flowlet flowset-table-size value
  3. 验证配置是否成功。
    content_copy zoom_out_map
    show forwarding-options enhanced-hash-key

平台支持

请参阅 功能浏览器 ,了解平台和版本支持。

相关主题

被动路径重新平衡

概述

动态负载平衡 (DLB) 是处理 AI-ML 数据中心交换矩阵中固有的大型数据流(也称为“大象流”)的重要工具。 响应路径重新平衡 是对现有 DLB 功能的增强。

在 DLB 的 Flowlet 模式中,您(网络管理员)配置非活动间隔。流量使用分配的传出(出口)接口,直到流量暂停的时间长于非活动计时器。如果传出链路质量逐渐下降,则流中的暂停可能不会超过配置的非活动计时器。在这种情况下,传统的 flowlet 模式不会将流量重新分配给其他链路,因此流量无法利用质量更好的链路。响应式路径重新平衡解决了这一限制,使用户能够在启用流模式时将流量移动到质量更好的链路。

设备会根据流经链路的流量,为每个等价多路径 (ECMP) 出口成员链路分配一个质量频段。质量带取决于端口负载和队列缓冲区。端口负载是传输的出口字节数。队列缓冲区是等待从出口端口传输的字节数。您可以根据流经 ECMP 的流量模式自定义这些属性。

好处

  • 链路降级的可扩展解决方案

  • 针对大型数据流优化使用带宽

  • 避免由于长期流动而导致的负载平衡效率低下

配置

配置概述

质量条带从 0 到 7 编号,其中 0 表示最低质量,7 表示最高质量。根据成员端口负载和队列大小,DLB 会为成员端口分配一个质量带值。端口到质量的频段映射会根据瞬时端口负载和队列大小而变化。

当满足以下两个条件时,反应性路径重新平衡会将流量重新分配给质量更高的成员链路:

  • 质量更好的成员链路可用,其质量范围等于或大于当前成员的质量范围加上配置的重新分配 质量增量 值。质量增量是两个质量带之间的差值。使用 quality-delta 语句配置质量增量值。

  • 系统生成的数据包随机值低于重新分配 概率阈值 。使用 prob-threshold 语句配置概率阈值。

使用此功能时,请注意以下事项:

  • 无功路径重新平衡是一种全局配置,适用于系统中的所有 ECMP DLB 配置。

  • 除了被动路径重新平衡之外,您还可以配置出口量化来控制流量重新分配。

  • 当流量从一个端口移动到另一个端口时,可能会发生数据包重新排序。当将流重新分配给新链路时,配置反应式路径重新平衡可能会导致暂时的乱序问题。

拓扑学

在此拓扑中,设备有三个入口端口和两个出口端口。其中两个入口流是第 2 层 (L2) 流量,一个是第 3 层 (L3) 流量。该图显示了将流量转发到每个出口端口的表条目。所有入口和出口端口的速度相同。

图 4:无功路径重新平衡 Reactive Path Rebalancing

在此拓扑中,响应式路径重新平衡的工作原理如下:

  1. 配置的质量增量为 2。

  2. L2 流 1 (mac 0x123) 以 10% 的速率进入入口端口 et-0/0/0。它通过 et-0/0/10 退出。et-0/0/10 的出口链路利用率为 10%,质量带值为 6。

  3. L3 流以 50% 的速率进入端口 et-0/0/1。它通过 et-0/0/11 退出,并从 ECMP 成员列表中选择最佳链路。et-0/0/11 的出口链路利用率为 50%,质量带值为 5。

  4. L2 流 2 (mac 0x223) 以 40% 的速率进入端口 et-0/0/2。它也通过et-0/0/11退出。这会进一步将 et-0/0/11 链路质量带值降低到 4。现在,两个 ECMP 成员链路的质量带值相差 2。

  5. 无功路径平衡算法现在可运行,因为端口 et-0/0/10 和 et-0/0/11 的质量带值之差等于或高于配置的质量增量 2。该算法将 L3 流从 et-0/0/11 移动到质量更好的成员链路,在本例中为 et-0/0/10。

  6. 在 L3 蒸汽移动到 et-0/0/10 后,et-0/0/10 链路利用率增加到 60%,质量带值降低到 5。L2 流 2 继续通过 et-0/0/11 退出。et-0/0/11 链路利用率保持在 40%,质量频段值增加到 5。

配置响应式路径重新平衡

  1. 在 Flowlet 模式下配置 DLB。请参阅配置动态负载平衡
  2. 配置当前流成员与可用于重新分配的成员之间所需的质量差异 (delta)。

    质量增量的最佳选择非常重要。不正确的增量可能导致流量从一个链路不断重新分配到另一个链路。

    语句的 quality-delta 范围为 0 到 8。将其设置为 0 以禁用流的重新分配。

    content_copy zoom_out_map
    set forwarding-options enhanced-hash-key ecmp-dlb flowlet reassignment quality-delta reassign-quality-delta 
  3. 设置响应式路径重新平衡用于将现有流重新分配给可用性更好的成员链路的概率阈值。

    配置概率阈值时,请注意以下几点:

    • 配置时 quality-deltaprob-threshold 默认值为 100。

    • prob-threshold 范围为 0 到 255。将其设置为 0 以禁用流的重新分配。

    • 较低的概率阈值意味着流量以较慢的速度移动到质量更高的成员链路。例如,当概率阈值为 200 时,流移动到质量更高的链路的速度比概率阈值为 50 时要快。

    content_copy zoom_out_map
    set forwarding-options enhanced-hash-key ecmp-dlb flowlet reassignment prob-threshold reassign-prob-threshold
  4. 验证配置是否成功。
    content_copy zoom_out_map
    show forwarding-options enhanced-hash-key​

平台支持

请参阅 功能浏览器 ,了解平台和版本支持。

变更历史表

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

释放
描述
19.4R2-EVO
从 Junos OS 演化版 19.4R2 版开始,QFX5220交换机支持 ECMP 的动态负载平衡 (DLB)。对于 ECMP,必须全局配置 DLB。
19.4R1
从 Junos OS 19.4R1 版开始,QFX5120-32C 和 QFX5120-48Y 交换机同时支持 ECMP 和 LAG 的动态负载平衡。对于 LAG,DLB 必须基于每个聚合以太网接口进行配置。
10.1
从 Junos OS 10.1 版开始,您还可以为第 2 层流量配置负载平衡哈希密钥,以便使用语 payload 句使用第 3 层和第 4 层标头中的字段。
external-footer-nav