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.