As an example, a detailed discussion of Cisco’s EtherChannel load-balancing algorithm is
described below. Most of the information about how Cisco switches load-balance traffic on a
port trunk is applicable to other switch vendors’ Port Trunking technology.
Cisco EtherChannel
Cisco's Fast EtherChannel (FEC) and Gigabit EtherChannel (GEC) technology is a MAC layer
(Layer 2) load-balancing technology using two or more switch ports grouped together as one
logical switch port. Depending on the specific load-balancing algorithm used, FEC/GEC may
not efficiently load balance traffic to an SLB team.
FEC/GEC was originally designed as a switch-to-switch technology allowing two switches to
increase the bandwidth between each other by aggregating multiple ports together as a single
logical port for both transmits and receives. This is in contrast to TLB that only balances transmit
traffic. An algorithm had to be used that could statistically divide the traffic over each port in
the FEC/GEC group in an attempt to divide it evenly.
There are at least three algorithms that have been developed: destination-based, source-based,
and XOR (refer to Table 4-14). The source-based algorithm utilizes the last one or two bits
(depending on the number of ports in the FEC/GEC group) of the source address in the packet.
If the bit is 0, the first port is used. If the bit is 1, the second port is used. The destination-based
algorithm utilizes the last one or two bits (depending on the number of ports in the FEC/GEC
group) of the destination address in the packet. If the bit is 0, the first port is used. If the bit is 1,
the second port is used. The XOR algorithm utilizes the last one or two bits (depending on the
number of ports in the FEC/GEC group) of the destination AND source addresses in the packet.
The algorithm “XORs” the bits. If the result is 0, then the first port is used. If the result is 1, then
the second port is used.
FEC/GEC has developed into not only a switch-to-switch technology but also a switch-to-node
technology. In most cases, the node is a Multi-homed server with network port drivers that
support FEC/GEC. Problems can arise with switches using the destination-based algorithm when
switch-to-node FEC/GEC is used. Because the destination address of the FEC/GEC node is always
the same, the switch always sends traffic to that server on the same port. Because of this, receive
traffic is not evenly distributed across all ports in the FEC/GEC group.
Table 4-13 Example of load-balancing algorithms #1
Preliminary information:
MAC address of a two port FEC/GEC
group
Last byte (01) conversion to binary
MAC address of a two port FEC/GEC
group
Last byte (01) conversion to binary
MAC address of a two port FEC/GEC
group
Last byte (01) conversion to binary
MAC address of client1
Last byte (02) conversion to binary
MAC address of client1
Last byte (02) conversion to binary
MAC address of client1
Last byte (02) conversion to binary
MAC address of client2
Last byte (03) conversion to binary
MAC address of client2
Last byte (03) conversion to binary
MAC address of client2
Last byte (03) conversion to binary
Packet 1 is a frame transmitted from client 2 to the two-port FEC/GEC group.
Packet 2 is a frame transmitted from client 1 to the two-port FEC/GEC group.
Table 4-14 Example of load-balancing algorithms #2
Method 1: DESTINATION-BASED ALGORITHM (method used by HP teaming)
frame is transmitted out port 2Packet 1 - Destination MAC address: 00-00-00-00-00-01
Last binary bit = 0000 0001
70 The Mechanics of Teaming for the Advanced User