What are EtherChannels
We might connect two switches with multiple links for redundancy and better performance. If we leave it at that, spanning-tree will keep one link alive, and block the rest. This achieves the redundancy goal, but fails the performance goal.
The alternative is to bundle several links into an etherchannel. This treats these physical links as a single logical link. In this way, they can all be active, provide redundancy, and improve performance.
EtherChannel is a Cisco term. You may also hear the terms channel-group, port-channel, LAG (Link Aggregation Group) or AE (Aggregated Ethernet).
Most Cisco switches support up to 8 active links in an Etherchannel. Some support up to 16.
Etherchannels can be manual or dynamic. Manual Etherchannels are configured to be on all the time, regardless of what the other end of the link is configured to do.
On a Cisco switch, physical interfaces are added to a channel-group with a number. The number represents the logical interface.
The logical interface (called the port-channel on a Cisco switch) is configured just like any other interface.
EtherChannels can be layer-2 or layer-3. A layer-3 EtherChannel has an IP address configured on the port-channel interface. This makes it behave a bit like an interface on a router.
Dynamic EtherChannels exchange messages between the two connected switches. They need to agree to form an etherchannel. This helps prevent bad interfaces if there is configuration or cabling mistakes, as well as improving detection of errors on the physical links.
Dynamic EtherChannels use either PaGP or LACP to exchange these messages and build the links. PaGP is old and outdated, so just use LACP. It is recommended to use LACP over manual etherchannels.
For LACP to allow the etherchannel to form, there are a series of settings that need to match on both sides. These include interface speed, duplex, access/trunk mode, VLAN list, native VLAN, and spanning-tree settings.
LACP can be configured in active or passive mode. A device in active mode will start sending LACP messages and actively try to bring up an etherchannel.
In passive mode, the device will not send LACP messages unless it sees other LACP messages first. So, it’s clear that two devices in LACP passive mode will not form an Etherchannel.
Take note that manual etherchannels are neither active or passive, as they don’t run LACP. They are just ON. Don’t mix dynamic and manual etherchannel configuration on the same link.
When there are multiple physical links in an Etherchannel, those links will all carry some of the load. However, that load may not be spread evenly across those links.
Each packet is assigned a hash value based on various values like source and destination address, port number, and things like this. The Etherchannel will assign packets to a particular link based on it’s hash value.
It’s possible for this hashing algorithm to spread traffic over the links badly. For example, if most traffic is between two particular IP’s, then most traffic will have the same hash. All this traffic will end up on a single link, and not be spread across the other links.
If this happens, we can change the load balancing method. This uses different criteria to general the hash (for example, MAC instead of IP, add in TCP port numbers, etc). Changing the method will change how the physical links are utilized.
|channel-group <id> mode [on|active|passive]||Interface Config||Configure an EtherChannel|
|show etherchannel summary||Privileged Exec||Show all EtherChannels|
|show etherchannel load-balance||Privileged Exec||Show how traffic is load balanced across physical links|
|port-channel load-balance <type>||Global Config||Set the load balancing method|