cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3109
Views
0
Helpful
9
Replies

EtherChannel load balancing confusion

Mike Assel
Level 4
Level 4

I'm a bit confused on EtherChannel load balancing and I was hoping someone could clear things up for me.  I have a video application that uses a very high bit rate for each video stream.  For the sake of discussion, I have two switches connected via an etherchannel that consists of two 1Gbps links.  Switch 1 has two video sources and switch 2 has two video receivers. In order for each link in the port channel to not become congested, the two video streams must be balanced across the two links.  From what I've read on etherchannel it seems like it's possible that the switch may try to send both video streams across a single link.  Can anyone confirm if this is the case?  I'm mostly referring to this document https://www.cisco.com/c/en/us/support/docs/lan-switching/etherchannel/12023-4.html which says "You cannot control the port that a particular flow uses. You can only influence the load balance with a frame distribution method that results in the greatest variety."  Thanks, Mike

9 Replies 9

Reza Sharifi
Hall of Fame
Hall of Fame

In most smaller switches (3750, 3850, 3650), the default load balancing for Etherchannle is source/destination MAC address.  So, if you have 2 hosts behind one of the switches since host A has a different MAC address than host B when host A sends a flow, it will use one of the uplinks and when host B sends a flow it should use the other uplink to provide load balancing. 

HTH

Right, but what if there are multiple hosts connected to Switch 1?

So, for example, if you have 6 hosts with 2 links in a Portchannel, the first host uses say link 1 and the second host used link2, the third host back to link 1 and the 4th host link 2 and so on...

HTH

So if host 1 is a video source and it would use link 1, host 2 is a laptop and it would use link 2, then host 3 is another video source. It would use the first link and overload it, even though there is plenty of bandwidth available on link 2, right?

Right.

 

You can change load balancing method for etherchannel per switch to get result that you expect. In your case, you need to manipulate one switch to always use the same channel for the same video stream. Options that are at your disposal depend on switch model that you have.

port-channel load-balance {dst-ip | dst-mac | src-dst-ip | src-dst-mac | src-ip | src-mac}

port-channel load-balance {src-mac | dst-mac | src-dst-mac | src-ip | dst-ip | src-dst-ip | src-port | dst-port | src-dst-port}

You need to test which method is suitable for you. Although src-dst-ip sounds good, most likely won't be suitable for your scenario. Have in mind that switch is independent in decision making process.

For example, you can force switch to use always one link from the same source:

 

Etherchannel.PNG

Sure, it should be checked if traffic is load balanced according to best case scenario. So, choosing proper load balancing method is related for specific design situation.

 

Then, if there are multiple streams from each video source to traffic receiver the above scenario may not be what you want. In that scenario you may want to configure load-balance method like src-dst-ip or src-dst-mac for each newly created traffic flow from sender to receiver to use different etherchannel member.

 

Dennis Mink
VIP Alumni
VIP Alumni

How big are those video streams?  I Mean 4K sits at in between 15 and 25Mbps. two sources is 50mbps, why the concern that your 1Gbps links gets congested?

 

cheers

Please remember to rate useful posts, by clicking on the stars below.

950 Mbps.

mlund
Level 7
Level 7

Hi

The etherchannel load balance is some sort of a binary xor computation. This means that the result of the xor computation selects the output link to use, it is not round robin.

As an simple example, if the xor looks at the very last bit in the source and destination mac address and found this. last bit of source is 0 + last bit of dest is 0 then xor gives 0. If sou is 0 + dest is 1 xor gives 1, if sou is 1 + dest is 0 xor gives 1, if sou is 1 + dest is 1 xor gives 0.

Then taking the above and put streams with xor 0 to port 1, and streams that gives xor 1 to port 2.

This means that in theory, Your two streams kan be put on the same port.

You can try to use source-dest-ip to see if it wiil use both links, maybe change ip on one of the users.

/Mikael

Joseph W. Doherty
Hall of Fame
Hall of Fame
"From what I've read on etherchannel it seems like it's possible that the switch may try to send both video streams across a single link. Can anyone confirm if this is the case? "

Yes, that's correct.

However, the hash algorithms are deterministic. This means, if you find one that does distribute your two video flows across both links, it should continue to do so (assuming you don't change the underlying attribute[s] the particular hash algorithm is using).
Review Cisco Networking for a $25 gift card