EtherChannel - load balancing algorithms

EtherChannel is a technology that allows you to bundle multiple physical interfaces of a switch into a single logical interface. Each bundle uses a particular load balancing algorithm to distribute the traffic appropriately across all physical links.

The load balancing algorithm can be based on various factors. The context sensitive help shown below indicates the available options:

SW1(config)#port-channel load-balance ? dst-ip Dst IP Addr dst-mac Dst Mac Addr src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-ip Src IP Addr src-mac Src Mac Addr

Traffic can thus be distributed across all available physical links using:

  • the destination IPv4 or IPv6 address
  • the destination MAC address
  • both the source and destination IP address
  • both the source and destination MAC address
  • the source IP address
  • the source MAC address

EtherChannel frame distribution uses a Cisco-proprietary hashing algorithm. The algorithm is deterministic; if you use the same addresses and session information, you always hash to the same port in the channel. This method prevents out-of-order packet delivery.

Note that the choice of algorithm only affects outgoing traffic on an EtherChannel bundle.