以太网链路聚合
了解以太网链路聚合,也称为链路聚合组 (LAG)、端口中继或端口绑定,是一种将多个以太网链路组合成单个逻辑链路的技术。
以太网链路聚合是一种通过将多个全双工相同速度的点对点以太网链路捆绑或组合成单个虚拟链路来线性增加带宽并提高以太网链路弹性的机制。虚拟链路接口称为链路聚合组 (LAG) 或聚合以太网 (AE) 接口。LAG 平衡聚合以太网捆绑包中成员链路之间的流量,并有效增加上行链路带宽。链路聚合的另一个优点是提高了可用性,因为 LAG 由多个成员链路组成。如果一个成员链路发生故障,LAG 将继续通过其余链路传输流量。
要配置聚合以太网接口,请执行以下操作:
指定要创建的聚合以太网接口数量:
[edit chassis] user@host#
set aggregated-devices ethernet device-count number指定聚合以太网接口 (aex) 的最小链路数,即定义的捆绑包,标记为“up”:
[edit interfaces] user@host#
set ae0 aggregated-ether-options minimum-links number (1 — 8)指定聚合以太网捆绑包的链路速度:
[edit interfaces] user@host#
set ae0 aggregated-ether-options link-speed speed (10g | 1g | 100m)指定要包含在聚合以太网捆绑包中的成员:
[edit interfaces] user@host#
set ge-1/0/0 gigether-options 802.3ad ae0user@host#set ge-1/0/1 gigether-options 802.3ad ae0为聚合以太网捆绑包指定接口族:
[edit interfaces] user@host#
set ae0 unit 0 family inet address ip-address
上述过程创建一个 AE 接口,它们将启动并准备好运行 AE 逻辑接口上定义的服务。
AE 接口可以是有 VLAN 标记的,也可以是无标记的。您可以在 AE 接口上配置灵活 VLAN 标记、本机 VLAN ID 和双标记。
每当发生配置更改(AE 接口到千兆以太网接口,反之亦然),都需要删除现有配置,执行提交,然后添加新配置并再次提交配置。
要删除聚合以太网接口,请执行以下操作:
删除聚合以太网配置。
此步骤将接口状态更改为 down,并删除与 aex 相关的配置语句。
[edit] user@host#
delete interfaces aex从设备计数中删除接口。
[edit] user@host#
delete chassis aggregated-devices ethernet device-count
对于聚合以太网接口,您可以配置链路聚合控制协议 (LACP)。LACP 是捆绑多个物理接口以形成一个逻辑接口的一种方法。您可以在启用或不启用 LACP 的情况下配置 VLAN 标记和未标记聚合以太网。
负载平衡
JUNOS 根据数据包中的第 3 层信息,在 AE 捆绑包中成员链路之间对流量进行负载均衡。您可以全局配置用于 inet 和 MPLS 负载平衡的字段
在路由器上,inet 家族旋钮在 PIC 级别可用。您可以配置要用于负载平衡的 inet 系列第 3 层和第 4 层字段。对于网桥系列,将用于负载平衡的第 2 层、第 3 层和第 4 层字段。
路由器还支持使用第 2 层源 MAC 地址和/或目标 MAC 地址在成员链路之间实现负载平衡。这可以在层次结构级别进行配置 [edit forwarding-options hash-key family multiservice] 。第 2 层源 MAC 地址和目标 MAC 地址用作负载平衡的哈希密钥。
[edit]
forwarding-options {
hash-key {
family multiservice {
destination-mac;
source-mac;
}
}
}
-
对于 IP 第 2 层数据包,只有 IP 字段用于跨成员链路的负载平衡。源 MAC 地址和目标 MAC 地址不用于负载平衡。
-
对于非 IP 第 2 层数据包,源 MAC 地址或目标 MAC 地址用作负载平衡的哈希密钥。
-
如果要基于第 2 层字段进行哈希处理,则需要配置
multiservice. -
如果要基于第 3 层和第 4 层字段进行哈希处理,则需要配置
family (inet | inet6)
LACP 监控
LACP 交换是在参与者和合作伙伴之间进行的。执行组件是 LACP 交换中的本地接口。伙伴是 LACP 交换中的远程接口。
LACP 在 IEEE 802.3ad《 多个链路段的聚合》中定义。
LACP 旨在实现以下目标:
-
自动添加和删除聚合包的单个链接,无需用户干预
-
链路监控,以检查束的两端是否连接到正确的组
LACP 的 Junos OS 实施提供链路监控,但不自动添加和删除链路。
LACP 监控可以是分布式的,也可以是集中式的。默认值是分布式的,可以通过在 LACP 协议下配置集中式旋钮来覆盖它。LACP 交换是在参与者和合作伙伴之间进行的。执行组件是 LACP 交换中的本地接口。伙伴是 LACP 交换中的远程接口。
默认情况下,LACP 不会启动 LACP PDU 交换。可以将 LACP 数据包配置为以每秒 1 个数据包的速率交换 LACP PDU,或以 1 个数据包的较慢速率交换 LACP PDU,持续 30 秒。
LACP 模式可以是主动模式,也可以是被动模式。如果参与者和伙伴都处于被动模式,则它们不会交换 LACP 数据包,这会导致聚合以太网链路无法启动。如果参与者或合作伙伴处于活动状态,它们会交换 LACP 数据包。默认情况下,聚合以太网接口上的 LACP 处于关闭状态。如果配置了 LACP,则默认情况下它处于被动模式。要启动 LACP 数据包的传输和对 LACP 数据包的响应,必须在主动模式下配置 LACP。
要启用 LACP 活动模式,请在层次结构级别包含 lacp 语句 [edit interfaces interface-name aggregated-ether-options] ,并指定 active 选项:
[edit interfaces interface-name aggregated-ether-options] lacp { active; }
仅当在主动或被动 LACP 模式下配置系统时,系统中才存在 LACP 进程。
要恢复默认行为,请在层次结构级别包含 lacp 语句 [edit interfaces interface-name aggregated-ether-options] ,并指定 passive 选项:
[edit interfaces interface-name aggregated-ether-options] lacp { passive; }
了解用于对 LAG 束进行哈希处理的算法
路由器使用散列算法来确定如何通过链路聚合组 (LAG) 束转发流量。
散列算法根据各种数据包字段中的值以及某些内部值(如源端口 ID 和源设备 ID)做出散列决策。您可以配置哈希算法使用的某些字段。
散列算法用于为进入 LAG 束的流量做出流量转发决策。
对于 LAG 捆绑包,散列算法确定如何将进入 LAG 捆绑包的流量放置在捆绑包的成员链路上。散列算法尝试通过均衡捆绑包中成员链路上所有传入流量的负载来管理带宽。
散列算法根据各种数据包字段中的值以及某些内部值(如源端口 ID 和源设备 ID)做出散列决策。散列算法使用的数据包字段因数据包的 EtherType 而异,在某些情况下,还因路由器上的配置而异。散列算法可识别以下以太类型:
-
IPv4
-
MPLS
未被识别为属于任何这些以太类型的流量将根据第 2 层标头进行哈希处理。当用户将散列模式配置为第 2 层报头时,IP 和 MPLS 流量也会根据第 2 层报头进行散列。
您可以配置哈希算法用于做出流量转发决策的一些字段。但是,您无法配置哈希算法如何使用标头中的某些值。
请注意有关哈希算法的以下几点:
-
为哈希选择的字段仅基于数据包类型。这些字段不基于任何其他参数,包括转发决策(桥接或路由)或出口 LAG 束配置(第 2 层或第 3 层)。
-
相同的字段用于对单播和组播数据包进行哈希处理。但是,单播和组播数据包的散列方式不同。
表 1 描述了用于第 2 层服务散列的字段。下表说明了默认行为和第 2 层服务上接收的流量类型的可配置字段
|
流量类型 |
默认哈希字段 |
可配置字段(哈希键) |
|---|---|---|
|
2 层 |
无 |
源 MAC 地址 目标 MAC 源 MAC 和目标 MAC |
|
IP |
源 IP 和目标 IP |
源 MAC 地址 目标 MAC 源 MAC 和目标 MAC |
|
MPLS |
MPLS 标签 1 和 MPLS 标签 2 |
源 MAC 地址 目标 MAC 源 MAC 和目标 MAC |
表 2 描述了第 3 层服务用于散列的字段。下表说明了默认行为和第 3 层服务上接收的流量类型的可配置字段
|
流量类型 |
默认哈希字段 |
可配置字段(哈希键) |
|---|---|---|
|
IP |
源 IP 和目标 IP |
第 3 层(源 IP 和/或 | 目标 IP) 第 4 层(UDP/TCP 源端口和 UDP/TCP 目标端口) |