摘要:本文围绕“使用链路聚合提高公司局域网带宽”这一主题,先讲清链路聚合的基本原理、流量分担机制与手工/LACP 两种聚合模式的差异,再结合一个财务部、技术部双 VLAN 的企业组网案例,给出华为交换机上从创建 VLAN、划分端口、创建 Eth-Trunk、加入成员接口到配置 Trunk 放行 VLAN 的完整配置步骤,并补充 LACP 动态聚合配置与配置验证、常见问题排查方法。

目录

一、链路聚合的基本原理

链路聚合(Link Aggregation)又称端口绑定、链路捆绑、Eth-Trunk、EtherChannel,是把两台设备之间的多条物理链路在逻辑上合并成一条逻辑链路的技术。对上层业务而言,它看起来只是一条带宽更大的链路,但底层实际由多条成员链路并行工作。

链路聚合主要带来两个收益:

  • 提高带宽:逻辑链路的总带宽等于各成员链路带宽之和。例如两条千兆链路聚合后,逻辑链路总带宽为 2Gbps。
  • 提高冗余能力:任一成员链路故障时,流量自动切换到剩余链路,业务不中断。

需要提前说明的是,链路聚合提升的是多条会话并发时的总吞吐。单条数据流通常只会走其中一条成员链路,因此单线程大文件拷贝不一定能跑满聚合带宽。

1.1 流量分担机制

聚合组内的流量分发依赖哈希算法,常见哈希因子包括源 MAC 与目的 MAC、源 IP 与目的 IP、源端口与目的端口等。哈希结果决定一条数据流走哪条成员链路。并发会话越多、源目地址越分散,流量分布越均衡。

1.2 聚合模式对比

模式说明特点适用场景
手工负载分担模式(Manual)两端手工指定成员接口,无协议协商配置简单,但无法自动检测对端配置错误两端设备型号固定、链路稳定的场景
LACP 模式(动态聚合)通过 LACPDU 报文协商,遵循 IEEE 802.3ad可检测链路故障与配置不一致,可靠性更高推荐用于生产环境,尤其是跨厂商设备

本文案例采用手工负载分担模式,适合教学实验与两端设备固定的企业组网;生产环境若条件允许,建议优先使用 LACP 动态聚合。

二、项目背景与网络规划

2.1 项目背景

某公司有财务部和技术部,各有计算机若干台,使用 2 台二层交换机组建局域网。为提高链路的传输带宽和冗余能力,交换机之间采用链路聚合方式互联;同时出于安全考虑,两部门的计算机划分在不同的 VLAN 中。

具体要求如下:

  • 两台交换机上均为财务部创建 VLAN 10,为技术部创建 VLAN 20,并将各部门 PC 连接交换机的接口划分到对应 VLAN。
  • 交换机 SW1 通过 G0/0/1、G0/0/2 两个接口与 SW2 互联,使用链路聚合提高带宽。
  • 因两部门计算机连接在不同交换机上,需将聚合链路配置为 Trunk 模式,放行 VLAN 10 和 VLAN 20。

2.2 VLAN 与 IP 地址规划

VLAN IDVLAN 命名IP 地址段用途
VLAN 10Fiance10.0.1.1-10/24财务部
VLAN 20Technical10.0.1.11-20/24技术部

2.3 端口规划

本端设备端口号端口类型所属 VLAN对端设备
SW1Eth0/0/10accessVLAN 10财务部 PC1
SW1Eth0/0/20accessVLAN 20技术部 PC1
SW2Eth0/0/10accessVLAN 10财务部 PC2
SW2Eth0/0/20accessVLAN 20技术部 PC2

2.4 计算机 IP 地址规划

计算机IP 地址
财务部 PC110.0.1.1/24
财务部 PC210.0.1.2/24
技术部 PC110.0.1.11/24
技术部 PC210.0.1.12/24

三、配置案例:交换机侧实施步骤

整体配置顺序为:创建 VLAN → 将端口划分至相应 VLAN → 创建 Eth-Trunk 1 并指定手工负载分担模式 → 将接口加入 Eth-Trunk 1 → 将聚合链路配置为 Trunk 并放行 VLAN → 配置各部门计算机 IP 地址。

3.1 创建 VLAN

为各部门创建相应的 VLAN。

SW1 的配置:

[Huawei]system-view
[Huawei]sysname SW1
[SW1]vlan 10
[SW1-vlan10]description Fiance
[SW1]vlan 20
[SW1-vlan20]description Technical

SW2 的配置:

[Huawei]system-view
[Huawei]sysname SW2
[SW2]vlan 10
[SW2-vlan10]description Fiance
[SW2]vlan 20
[SW2-vlan20]description Technical

3.2 将端口划分至相应 VLAN

SW1 的配置:

[SW1]interface Ethernet0/0/10
[SW1-Ethernet0/0/10]port link-type access
[SW1-Ethernet0/0/10]port default vlan 10
[SW1]interface Ethernet0/0/20
[SW1-Ethernet0/0/20]port link-type access
[SW1-Ethernet0/0/20]port default vlan 20

SW2 的配置:

[SW2]interface Ethernet0/0/10
[SW2-Ethernet0/0/10]port link-type access
[SW2-Ethernet0/0/10]port default vlan 10
[SW2]interface Ethernet0/0/20
[SW2-Ethernet0/0/20]port link-type access
[SW2-Ethernet0/0/20]port default vlan 20

3.3 创建 Eth-Trunk 1 并指定手工负载分担模式

SW1 的配置:

[SW1]interface Eth-Trunk 1
[SW1-Eth-Trunk1]mode manual load-balance

SW2 的配置:

[SW2]interface Eth-Trunk 1
[SW2-Eth-Trunk1]mode manual load-balance

3.4 将接口加入 Eth-Trunk 1

将 SW1 和 SW2 的 G0/0/1 和 G0/0/2 分别加入 Eth-Trunk 1 接口。

SW1 的配置:

[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]eth-trunk 1
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]eth-trunk 1

SW2 的配置:

[SW2]interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1]eth-trunk 1
[SW2]interface GigabitEthernet 0/0/2
[SW2-GigabitEthernet0/0/2]eth-trunk 1

3.5 将聚合链路划分至相应 VLAN

SW1 的配置:

[SW1]interface Eth-Trunk 1
[SW1-Eth-Trunk1]port link-type trunk
[SW1-Eth-Trunk1]port trunk allow-pass vlan 10 20

SW2 的配置:

[SW2]interface Eth-Trunk 1
[SW2-Eth-Trunk1]port link-type trunk
[SW2-Eth-Trunk1]port trunk allow-pass vlan 10 20

3.6 配置各部门计算机的 IP 地址

按 IP 地址规划表,在四台计算机上分别配置 IP 地址与子网掩码 255.255.255.0,例如财务部 PC1 配置为 10.0.1.1/24,技术部 PC1 配置为 10.0.1.11/24,其余同理。

3.7 LACP 模式配置(动态聚合)

手工负载分担模式配置简单,但两端成员接口是否匹配、对端是否配置聚合,都需要人工核对。生产环境更推荐使用 LACP(Link Aggregation Control Protocol)模式,即动态聚合:两端通过 LACPDU 报文自动协商成员接口状态,能够及时发现链路故障与配置不一致。

LACP 模式与手工模式的主要差异如下:

  • 协商方式:手工模式无协议报文,LACP 模式通过 LACPDU 周期性交互,遵循 IEEE 802.3ad。
  • 成员接口状态:LACP 模式下成员接口分为活动(Selected)和非活动(Unselected)状态,只有活动接口参与流量转发。
  • 活动接口上限:可通过 max active-linknumber 限制活动接口数量,超出的成员接口作为备份,实现 M:N 冗余。
  • 故障检测:LACP 能感知对端聚合配置错误,避免单侧配置导致的环路或流量黑洞。

下面给出与前面案例拓扑完全一致的 LACP 模式配置。注意:两端必须同时改为 LACP 模式,不能一端手工、一端 LACP,否则聚合无法建立。

SW1 的配置:

[SW1]interface Eth-Trunk 1
[SW1-Eth-Trunk1]mode lacp-static
[SW1-Eth-Trunk1]max active-linknumber 2
[SW1-Eth-Trunk1]quit
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]eth-trunk 1
[SW1-GigabitEthernet0/0/1]lacp priority 100
[SW1-GigabitEthernet0/0/1]quit
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]eth-trunk 1
[SW1-GigabitEthernet0/0/2]lacp priority 100
[SW1-GigabitEthernet0/0/2]quit
[SW1]interface Eth-Trunk 1
[SW1-Eth-Trunk1]port link-type trunk
[SW1-Eth-Trunk1]port trunk allow-pass vlan 10 20

SW2 的配置:

[SW2]interface Eth-Trunk 1
[SW2-Eth-Trunk1]mode lacp-static
[SW2-Eth-Trunk1]max active-linknumber 2
[SW2-Eth-Trunk1]quit
[SW2]interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1]eth-trunk 1
[SW2-GigabitEthernet0/0/1]lacp priority 100
[SW2-GigabitEthernet0/0/1]quit
[SW2]interface GigabitEthernet 0/0/2
[SW2-GigabitEthernet0/0/2]eth-trunk 1
[SW2-GigabitEthernet0/0/2]lacp priority 100
[SW2-GigabitEthernet0/0/2]quit
[SW2]interface Eth-Trunk 1
[SW2-Eth-Trunk1]port link-type trunk
[SW2-Eth-Trunk1]port trunk allow-pass vlan 10 20

配置要点说明:

  • mode lacp-static:将 Eth-Trunk 1 切换为静态 LACP 模式,两端必须一致。
  • max active-linknumber 2:限制最多 2 个活动接口,本例两条链路全部作为活动链路;若成员接口多于 2 条,多余链路自动成为备份。
  • lacp priority:接口 LACP 优先级,数值越小越优先被选为活动接口,用于控制哪些链路优先转发。

验证 LACP 聚合状态:

[SW1]display eth-trunk 1
Eth-Trunk1's state information is:
WorkingMode: LACP           Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1  Max Active-linknumber: 2
Operate status: up          Number Of Up Port In Trunk: 2
-------------------------------------------------------------------------------
ActorPortName          Status   PortType  PortPri  PortNo
GigabitEthernet0/0/1   Selected 1GE       32768    1
GigabitEthernet0/0/2   Selected 1GE       32768    2

[SW1]display lacp statistics eth-trunk 1
Eth-Trunk1's LACP statistics is:
PortName                       LacpRecvCount  LacpSendCount
GigabitEthernet0/0/1           128            130
GigabitEthernet0/0/2           128            130

当 WorkingMode 显示为 LACP、成员接口 Status 为 Selected,且 LACP 收发计数持续增长时,说明动态聚合协商成功。此时可断开其中一条成员链路,观察剩余链路自动承载全部流量,验证冗余切换效果。

四、配置验证

4.1 验证 VLAN 配置信息

在 SW1 上执行 display vlan,可以看到 VLAN 10 中包含 Eth0/0/10(Untagged)和 Eth-Trunk1(Tagged),VLAN 20 中包含 Eth0/0/20(Untagged)和 Eth-Trunk1(Tagged),说明端口划分与 Trunk 放行均正确。

[SW1]display vlan
The total number of vlans is : 3
-------------------------------------------------------------------------------
U: Up;         D: Down;         TG: Tagged;     UT: Untagged;
-------------------------------------------------------------------------------
VID  Type    Ports
-------------------------------------------------------------------------------
1    common  UT:Eth0/0/1(D) ... Eth-Trunk1(U)
10   common  UT:Eth0/0/10(U)
             TG:Eth-Trunk1(U)
20   common  UT:Eth0/0/20(U)
             TG:Eth-Trunk1(U)
VID  Status  Property      MAC-LRN Statistics Description
-------------------------------------------------------------------------------
1    enable  default       enable  disable    VLAN 0001
10   enable  default       enable  disable    Fiance
20   enable  default       enable  disable    Technical

SW2 上执行同样的命令,结果与 SW1 一致。

4.2 查看 Eth-Trunk 1 接口状态

在 SW1 上执行 display eth-trunk 1:

[SW1]display eth-trunk 1
Eth-Trunk1's state information is:
WorkingMode: NORMAL         Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1  Max Bandwidth-affected-linknumber: 8
Operate status: up          Number Of Up Port In Trunk: 2
-------------------------------------------------------------------------------
PortName                      Status      Weight
GigabitEthernet0/0/1          Up          1
GigabitEthernet0/0/2          Up          1

可以看到,两个成员接口状态均为 Up,Number Of Up Port In Trunk 为 2,说明聚合成功。该接口的总带宽是 G0/0/1 和 G0/0/2 接口带宽之和。SW2 上执行同样命令,结果一致。

4.3 测试各部门计算机的互通性

使用财务部计算机 Ping 本部门计算机:

PC>ping 10.0.1.2
Ping 10.0.1.2: 32 data bytes, Press Ctrl_C to break
From 10.0.1.2: bytes=32 seq=1 ttl=128 time=63 ms
From 10.0.1.2: bytes=32 seq=2 ttl=128 time=62 ms
From 10.0.1.2: bytes=32 seq=3 ttl=128 time=47 ms
From 10.0.1.2: bytes=32 seq=4 ttl=128 time=47 ms
From 10.0.1.2: bytes=32 seq=5 ttl=128 time=47 ms
--- 10.0.1.2 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 47/53/63 ms

使用财务部计算机 Ping 技术部计算机:

PC>ping 10.0.1.12
Ping 10.0.1.12: 32 data bytes, Press Ctrl_C to break
From 10.0.1.1: Destination host unreachable
From 10.0.1.1: Destination host unreachable
From 10.0.1.1: Destination host unreachable
From 10.0.1.1: Destination host unreachable
From 10.0.1.1: Destination host unreachable
--- 10.0.1.12 ping statistics ---
  5 packet(s) transmitted
  0 packet(s) received
  100.00% packet loss

结果说明:同部门计算机可以正常互通,跨部门计算机无法互通,VLAN 隔离生效,符合安全设计目标。

五、常见问题与排查思路

现象可能原因排查方法
聚合口只有一条链路 Up成员端口速率/双工不一致,或对端未配置聚合检查两端端口协商结果与聚合模式
部分 VLAN 不通两端 Trunk 允许的 VLAN 列表不一致对比两端 allow-pass vlan 配置
带宽未提升单会话流量,哈希未分散使用多会话并发测试,或调整哈希因子
出现环路或广播风暴手工聚合单侧配置错误检查两端成员接口是否一致,必要时改用 LACP

六、总结

链路聚合是提升公司局域网带宽性价比最高的手段之一。本案例通过两台二层交换机之间的双链路 Eth-Trunk 聚合,实现了带宽叠加与冗余保护,同时结合 VLAN 划分实现了部门隔离。实施时应重点关注:两端成员接口参数一致、聚合模式与对端匹配、Trunk 放行的 VLAN 列表一致,并通过 display eth-trunk 与 Ping 测试验证真实效果。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐