Etherchannel on Cisco switches uses a hashing algorithm to determine which interface within the bundle to send the data over i.e. The port choice is deterministic and will always be the same unless ports are added to the bundle or the hashing algorithm is changed. It also means that bundling up 8 * 1Gb/s wont give you the ability of having a single connection between two hosts across the etherchannel using any more than 1Gb/s. Any more than 1Gb/s would be dropped :( Its also useful to bare in mind that the hashing/distribution is purely a transmit function.
The algorithm can be changed to use additional criteria to allow for better load balancing though. Currently these are:
dst-ip Dst IP Addr dst-mac Dst Mac Addr dst-mixed-ip-port Dst IP Addr and TCP/UDP Port dst-port Dst TCP/UDP Port mpls Load Balancing for MPLS packets src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-dst-mixed-ip-port Src XOR Dst IP Addr and TCP/UDP Port src-dst-port Src XOR Dst TCP/UDP Port src-ip Src IP Addr src-mac Src Mac Addr src-mixed-ip-port Src IP Addr and TCP/UDP Port src-port Src TCP/UDP Port
You can view the current load balancing alogrithm with the
show etherchannel load-balance command. From the table below you can see that only having 2, 4 or 8 ports in the etherchannel results in the load being balanced "equally" (the actual load on any particular interface is not part of the hashing algorithm).
|Number of Ports||Load Balancing|
test etherchannel load-balance interface port-channel. Example below of displaying the interface the hashing alogrithm will use (Gi1/0/25).
m00nie_3750_Stack#test etherchannel load-balance ? interface Port-channel interface m00nie_3750_Stack#test etherchannel load-balance interface ? Port-channel Ethernet Channel of interfaces m00nie_3750_Stack#test etherchannel load-balance interface port-channel 1 ? ip IP address ipv6 IPv6 address mac Mac address m00nie_3750_Stack#test etherchannel load-balance interface port-channel 1 mac ? H.H.H Source MAC address m00nie_3750_Stack#test etherchannel load-balance interface port-channel 1 mac beef.beef.beef ? H.H.H Destination MAC address (egress value for routed unicast) m00nie_3750_Stack#test etherchannel load-balance interface port-channel 1 mac beef.beef.beef feeb.feeb.feeb Would select Gi1/0/25 of Po1
You can only test using the currently configured hashing algorithm.
m00nie_3750_Stack#test etherchannel load-balance interface port-channel 1 ip 192.168.1.1 10.10.10.1 Configured load-balance is "src-mac", cannot select member of Po1 based on IP address
More info can be found [here] (Cisco.com)