I have a 3Gb layer-2 ether-channel between (2) 6509s running IOS. It currently runs at about 2.5Gb during peak hours.
What I've noticed though is that utilization on the individual links is not equal. 2 run at about 95% while the third runs at 80% during peak. I am in the process of adding additional links but am wondering why this would occur.
No load-balancing for the channel has been configured, so here is what it is defaulted to:
EtherChannel Load-Balancing Configuration:
EtherChannel Load-Balancing Addresses Used Per-Protocol:
What you are seeing is normal. It's very hard to get a 'true' load-balancing amongst all links. It's not a per-packet load-balancing.
A src-dst flow may hash via one link for 'conversation A' and hash via another link for 'conversation B'. 'Conversation A' may require more bandwidth and will show on the % utilization on the interface.
Good points here. It's a tradeoff for quick hardware hashing, you will never get perfect load balancing.
You can, however, change the etherchannel load balance criteria. Depending on what type of traffic this is, you will see better results with different inputs.
For instance, load-sharing on MAC addresses when you have an L2 etherchannel between 2 routers, you will get poor balancing since there are only 2 mac addresses in that network. If your traffic has multiple flows per IP address, you will likely get better results by using src-dst IP and L4 ports:
"port-channel load-balance src-dst-port"
12.2(33)SXH also has some enhancements in this area.
If you are curious to calculate which link a given flow should be taking, you can use:
We are pleased to announce availability of Beta software for 16.6.3. 16.6.3 will be the second rebuild on the 16.6 release train targeted towards Catalyst 9500/9400/9300/3850/3650 switching platforms. We are looking for early feedback from custome...