- 目标

- 简介

- 适用设备

- 软件版本

- LAG管理

- 拓扑

- LAG负载均衡在Cisco 350和550系列交换机上的工作原理

- 使用IP/MAC地址负载均衡的两端口LAG示例

- 仅MAC地址负载均衡的两端口LAG示例

- 在交换机上配置LAG负载均衡算法

- 结论

目标

本文介绍链路聚合(LAG)负载均衡在Cisco 350和550系列交换机上的工作原理，以及如何在交换机上配置负载均衡。

简介

链路聚合控制协议(LACP)是IEEE规范(802.3az)的一部分，它使您能够将多个物理端口捆绑在一起，形成称为LAG的单个逻辑通道。LAG在保持两台设备之间冗余的同时增加带宽。

转发到LAG的流量在活动成员端口之间进行负载均衡，从而获得接近LAG的所有活动成员端口的聚合带宽的有效带宽。

LAG的活动成员端口上的流量负载均衡由基于散列的分布函数管理，该分布函数基于第2层或第3层数据包报头信息分布单播和组播流量。

设备支持两种负载均衡模式：

- 按介质访问控制(MAC)地址 — 基于所有数据包的目的MAC地址和源MAC地址。

- 按Internet协议(IP)和MAC地址 — 基于IP数据包的目的IP地址和源IP地址，以及非IP数据包的目的MAC地址和源MAC地址。

适用设备

- SG350

- SF350

- SG350X

- SG350XG

- SF550X

- SG550X

- SX550X

- SG550XG

软件版本

- 2.5.0.83

LAG管理

通常，系统将LAG视为单个逻辑端口。特别是，LAG具有类似于常规端口的端口属性，如状态和速度。

350系列设备最多支持8个LAG。550系列设备最多支持32个LAG。所有设备在一个LAG组中最多支持8个端口。

每个LAG都具有以下特征：

- LAG中的所有端口必须是相同的介质类型，例如以太网电缆连接。

- LAG中的端口不得分配给另一个LAG。

- 为静态LAG分配的端口不超过8个，并且动态LAG的候选端口不超过16个。

- 当端口添加到LAG时，LAG的配置将应用到端口。从LAG中删除端口后，将重新应用其原始配置。

- 生成树等协议将LAG中的所有端口视为一个端口。

拓扑

两台交换机通过仅使用2个端口的LAG连接，负载均衡算法MAC地址与MAC/IP地址。此外，4台客户端连接到一台交换机，4台服务器连接到第二台交换机。

LAG负载均衡在Cisco 350和550系列交换机上的工作原理

请注意，Cisco 350和550系列交换机使用Exclusive OR(XOR)方法来选择转发流量的接口。这些交换机在MAC地址（目的和源）或组合MAC/IP地址（目的和源）上使用XOR，在LAG端口之间提供负载均衡。 这意味着对于具有相同MAC和/或IP地址的特定数据包，流量将通过一个特定端口发送，而不是同时通过两个或三个端口发送。这意味着无论LAG中有多少个端口，一个客户端到服务器的连接都无法超过一个端口吞吐量。它完全基于数据包的报头信息。如果这些保持不变，算法行为将不会有任何差异。

我们将比较算法模式MAC地址与MAC/IP地址。由于我们使用2个端口进行LAG，因此只能得到XOR的两个不同结果，即0或1。这意味着我们只需使用地址的最后一位进行XOR比较，这样我们就可以得到0或1。如果XOR结果为0，则流量将通过LAG的1个端口，如果结果为1，则通过2LAG的端口。

- 0 >端口1

- 1 >端口2

如果我们使用3或4个端口，我们至少可以收到3-4个不同的XOR结果。我们需要使用2个位进行比较，因此我们可以有4个不同的组合。

- 00 >端口1

- 01 >端口2

- 10 >端口3

- 11 >端口4

如果我们使用5-8个端口，我们可以收到至少5-8个不同的XOR结果，并且我们需要使用3个位进行比较，这样我们就可以有8个不同的组合，如000、001、011、100、101、110和111。而选择端口的机制是类似于上文，但有更多选项。

- 000 >端口1

- 001 >端口2

- 010 >端口3

- 011 >端口4

- 100 >端口5

- 101 >端口6

- 110 >端口7

- 111 >端口8

使用IP/MAC地址负载均衡的两端口LAG示例

在本例中，我们重点介绍LAG的2个端口。因此，XOR操作只需考虑MAC和IP地址二进制形式的最后一位。

下面列出的是IP和MAC地址到二进制以及这些源和目标上的XOR的转换。

来源：

名称

IP 地址

IP的二进制形式（仅最后一个二进制八位数）

MAC地址（仅限最后6位）

MAC的二进制形式（最后一位）

XOR输出

客户端 1

192.168.46.100

01100100

:06:41:43

0100 0011

0或1 = 1

客户端 2

192.268.46.101

01100101

:06:41:42

0100 0010

1 XOR 0 = 1

客户端 3

192.168.46.102

01100110

:06:3e:af

1010 1111

0或1 = 1

客户端 4

192.168.46.103

01100111

:06:3e:ae

1010 1110

1 XOR 0 = 1

目标：

名称

IP 地址

IP的二进制形式（仅最后一个二进制八位数）

MAC地址（仅限最后6位）

MAC的二进制形式（最后一位）

XOR输出

服务器1

192.168.46.120

01111000

:06:62:0f

0000 1111

0或1 = 1

服务器2

192.268.46.121

01111001

:06:62:0e

0000 1110

1 XOR 0 = 1

服务器3

192.168.46.122

01111010

:06:3b:f7

1111 0111

0或1 = 1

服务器4

192.168.46.123

01111011

:06:3b:f6

1111 0110

1 XOR 0 = 1

在所有目的MAC地址和源IP地址上执行XOR时，MAC地址和IP地址的值相同，为1。这意味着所有流量仅使用LAG的端口2。端口1不用于从任何客户端连接到任何服务器，这意味着MAC/IP地址模式不是最佳模式。

仅MAC地址负载均衡的两端口LAG示例

现在，我们将仅根据MAC地址分析负载均衡。

名称

MAC地址（仅限最后6位）

MAC的二进制形式（最后一位）

二进制输出的最后一位

客户端 1

:06:41:43

0100 0011

1

客户端 2

:06:41:42

0100 0010

0

客户端 3

:06:3e:af

1010 1111

1

客户端 4

:06:3e:ae

1010 1110

0

名称

MAC地址（仅限最后6位）

MAC的二进制形式（最后一位）

二进制输出的最后一位

服务器1

:06:62:0f

0000 1111

1

服务器2

:06:62:0e

0000 1110

0

服务器3

:06:3b:f7

1111 0111

1

服务器4

:06:3b:f6

1111 0110

0

此时，对每个MAC地址执行的XOR不同。

- 如果我们从客户端1获取数据包到服务器1，我们将使用端口1执行1 XOR 1 > 0。

- 如果从客户端1获取数据包到服务器2，我们将使用端口2执行1 XOR 0 > 1。

- 如果我们从客户端2获取数据包到服务器2，我们将使用端口1执行0 XOR 0 > 0。

- 如果我们从客户端2获取数据包到服务器1，我们将使用端口2执行0 XOR 1 > 1。

现在，我们将实现最佳负载均衡，并且端口利用率将相当平等。

注意：在使用IP/MAC地址算法时，在某些情况下，我们可能通过仅在源端或目的端更改IP地址来实现最佳输出，因为设备的MAC地址将保持不变。

在交换机上配置LAG负载均衡算法

步骤1.输入用户名和密码以登录Cisco交换机。单击Log In。默认情况下，用户名和密码为cisco，但由于您在现有网络上工作，因此您应该拥有自己的用户名和密码。改为输入这些凭据。

注意：默认情况下，“应用程序”窗口显示已选定的“交换机管理”选项，且应保持单独。

步骤2.导航至Port Management > LAG Management，然后选择Load Balance Algorithm选项。您可以选择MAC Address或IP/MAC Address。单击 Apply。

注意：默认情况下，MAC Address是为负载平衡算法选择的选项。

步骤3.现在，您将能在屏幕上看到“成功”通知。单击File Operations将交换机上的配置保存到启动配置。

注意：或者，您只需单击该图 标即可保存配置。

步骤4.将打开“文件操作”页。验证“源文件名”是否已选为“运行配置”，“目标文件名”是否选为“启动配置”。单击Apply以保存配置。

结论

现在，您对LAG负载均衡以及如何在350或550系列交换机上配置LAG负载均衡有了更深入的了解。您还了解到，如果选择IP/MAC地址负载均衡，在某些拓扑中，负载均衡可能无法有效运行。

查看以下相关文章：

在SG350XG和SG550XG上配置链路聚合组

通过命令行界面(CLI)在交换机上配置LAG设置

Sx500、Sx350X和Sx550X系列堆叠式交换机上的链路聚合组(LAG)管理和设置