Why EtherChannel?

Two cables, one used

Adding a second cable between two switches should double the bandwidth. It doesn't: two parallel links make a loop, and spanning tree (module 11) blocks one of them. You get a spare, not more speed. SW2 happens to be the root bridge, so all its ports forward; on SW1, one of the two links is blocked (Altn BLK).

In NetLab

▶ SW2
SW2>enable
SW2#show spanning-tree | include root|Interface|Gi
             This bridge is the root
Interface           Role Sts Cost      Prio.Nbr Type
Gi0/1               Desg FWD 4         128.25   P2p 
Gi0/2               Desg FWD 4         128.26   P2p 
▶ SW1
SW1>enable
SW1#show spanning-tree | begin Interface
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/1               Desg FWD 19        128.1    P2p 
Gi0/1               Root FWD 4         128.25   P2p 
Gi0/2               Altn BLK 4         128.26   P2p 

Bundle them

EtherChannel (also called a port channel or link aggregation, LAG) groups up to 8 active links into one logical interface, Port-channel1. Spanning tree sees one link, so nothing is blocked; traffic is shared over every member; and if a cable fails the channel just carries on with fewer members, with no spanning tree recalculation.

In NetLab

▶ SW1
SW1>enable
SW1#show spanning-tree | begin Interface
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/1               Desg FWD 19        128.1    P2p 
Po1                 Root FWD 3         128.65   P2p 
SW1#show interfaces port-channel 1 | include BW|Members
  MTU 1500 bytes, BW 2000000 Kbit/sec, DLY 10 usec, 
  Members in this channel: Gi0/1 Gi0/2 

Rules for members

All member ports must match, or they are suspended from the bundle:

  • Same speed and duplex.
  • Same switchport mode: all access (same VLAN) or all trunk (same native VLAN and allowed list).
  • Same channel-group number, with compatible negotiation modes at both ends.

Load balancing

A switch doesn't spread single frames round-robin (that would put them out of order). It hashes some addresses in each frame (by default the source MAC on many switches) to pick a member, so each flow sticks to one link. Change it with port-channel load-balance src-dst-ip and check with show etherchannel load-balance.

Remember: EtherChannel = more bandwidth + redundancy, and spanning tree sees just one link.

HOME LABS COMMUNITY DASHBOARD