2.4 EtherChannel (Link Aggregation)
Key Takeaways
- EtherChannel bundles up to 8 active physical links into one logical port-channel for more bandwidth and redundancy.
- LACP (IEEE 802.3ad) is the open standard with modes active and passive; PAgP is Cisco-proprietary with modes desirable and auto.
- Negotiation rule: at least one side must be active/desirable; passive-passive and auto-auto never form, and active+passive or desirable+auto do.
- All member ports must match speed, duplex, allowed VLANs, native VLAN, and access/trunk mode or the port suspends.
- STP treats the bundle as a single link, so redundant members are not blocked; load balancing hashes on MAC/IP/port fields.
What EtherChannel Solves
Without EtherChannel, if you connect two switches with two cables for redundancy, STP blocks one of them to prevent a loop, wasting half your bandwidth. EtherChannel (link aggregation) bundles multiple physical links into a single logical interface called a port-channel. STP and the MAC table see one link, so no member is blocked, and the combined bandwidth is available. A bundle of two 1-Gbps links behaves like one 2-Gbps pipe; if a member fails, traffic continues on the survivors with no STP reconvergence.
A single EtherChannel supports up to 8 active member ports. With LACP you may assign up to 16, but only 8 forward at once while the rest stand by as hot spares.
Negotiation Protocols and Modes
There are three ways to build a channel: the open LACP (Link Aggregation Control Protocol, IEEE 802.3ad), the Cisco-proprietary PAgP (Port Aggregation Protocol), and static on mode with no negotiation. Know which modes combine to form a channel:
| Protocol | Modes | Forms a channel when... |
|---|---|---|
| LACP | active, passive | active+active, active+passive |
| PAgP | desirable, auto | desirable+desirable, desirable+auto |
| Static | on | on+on only |
The traps: passive+passive (LACP) and auto+auto (PAgP) never form because neither side initiates. on mode does not run a negotiation protocol, so on+active or on+desirable also fails — both ends must use the same method. Mixing LACP on one end and PAgP on the other never works.
Member-Port Consistency
Every member port must be identical or the port is suspended/excluded. The CCNA checklist: same speed, same duplex, same allowed VLAN list, same native VLAN, and the same switchport mode (all access in the same VLAN, or all trunk). A mismatch shows up as (s) suspended or (D) down in the summary output.
Layer 2 vs Layer 3 EtherChannel
A Layer 2 channel forwards VLAN traffic; a Layer 3 channel is routed and carries an IP address on the port-channel. Configuration order matters — apply settings to the port-channel interface and bundle members with channel-group:
Switch(config)# interface range gi0/1 - 2
Switch(config-if-range)# channel-group 1 mode active
Switch(config)# interface port-channel 1
Switch(config-if)# switchport mode trunk
For a Layer 3 channel, add no switchport then ip address on the port-channel. The mode active keyword chooses LACP; desirable chooses PAgP; on chooses static.
Load Balancing and Verification
EtherChannel does not split a single conversation across links; it hashes header fields (source/destination MAC, IP, or TCP/UDP port) to pick one member per flow, set with port-channel load-balance src-dst-ip. Two big bulk transfers between the same pair of hosts may ride the same member, so adding links does not always help a single flow.
Verify with show etherchannel summary. The flags decode the state: P = bundled/in port-channel, s = suspended (mismatch), D = down, I = standalone/independent. A protocol column shows LACP, PAgP, or - for static. If you see (s) on a member, check member-port consistency first; if you see independent ports, the negotiation modes are incompatible.
Worked Configuration Example
Suppose you want a Layer 2 LACP trunk channel between two distribution switches using ports Gi0/1 and Gi0/2 on each side, carrying VLANs 10, 20, and 30. The exam expects you to apply Layer 2 settings to the port-channel interface, not the physical members, so the bundle inherits them consistently:
Switch(config)# interface range gi0/1 - 2
Switch(config-if-range)# channel-group 1 mode active
Switch(config-if-range)# exit
Switch(config)# interface port-channel 1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30
Use mode active on at least one side (the other may be active or passive). A subtle trap: if you configure trunk or VLAN settings directly on Gi0/1 differently from Gi0/2, the member that does not match the port-channel is suspended. After applying, show etherchannel 1 detail and show etherchannel summary confirm the bundle and the negotiation protocol in use.
Load Balancing, Troubleshooting, and Traps
EtherChannel hashing means one flow uses exactly one member link. With the default src-dst-mac (or src-dst-ip) algorithm, two servers behind a switch talking to one gateway MAC may both hash to the same member, leaving the others idle — so a single big backup never exceeds one link's speed even on a four-link channel. Choosing a hash that includes Layer 4 ports (src-dst-port) spreads flows better when many sessions share the same IP pair. This is why "add more links to speed up one file transfer" is a wrong answer; aggregation improves aggregate, not single-flow, throughput.
Key troubleshooting and exam traps to internalize: a bundle never forms if both sides are LACP passive or PAgP auto (no initiator), if one side is on while the other negotiates, or if LACP and PAgP are mixed across the link. Member ports go suspended (s) for any mismatch in speed, duplex, allowed VLANs, native VLAN, or access/trunk mode.
Because STP sees the channel as a single logical link, a misconfigured channel that partially forms can actually create a loop if some members bundle and others forward independently — which is exactly why hard-setting consistent modes and verifying with show etherchannel summary before trusting the link is the disciplined approach.
How many member ports can actively forward in a single EtherChannel bundle?
Switch A is configured with LACP passive and Switch B is also LACP passive. What is the outcome?
Why does Spanning Tree Protocol NOT block the redundant links in a properly formed EtherChannel?