I have done some reading in order to understand Etherchannel Load balancing but to no avail.
If  someone can explain it in a simple and clear way, it will be very helpful

Thank you
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
Nice article on Etherchannel load balance subject

XOR Bitwise operation (from Wikipedia)

Exclusive disjunction is often used for bitwise operations. Examples:

1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0
1110 xor 1001 = 0111 (this is equivalent to addition without carry)
InstructorCommented:
Here's the really simplified version that I teach:

Back in the early days of etherchannel, you had two versions of load distribution; Source MAC or Destination MAC address.

Each link in an etherchannel group is assigned a unique value. In the case of a two link etherchannel, one bit is used (0 and 1).  In the case of a four link etherchannel, two bits were used (00, 01, 10, 11).

With a four link etherchannel, if source MAC distribution was used, the last two bits of the source MAC are checked and that traffic is sent over the link which has the same two-bit value. If destination MAC is used, then the last two bits of the destination MAC are used.

While this offered some load distribution, it was far from perfect. So layer 3 addresses got added. Then XORing the source and destination. Then layer four port numbers. Then the algorithm got significantly improved so that it's no longer limited to just 1, 2 or 3 bits. This offers much better distribution across the links.
Author Commented:
Regardless of the method used; Source/Destination Mac, Source/Destination IP, etc.... if I understand the traffic sourced from one host(Server1) will never be fragmented and routed through different ports of the switch.

For instance, let 's say we have 8GB Etherchannel (8 *1GB physical interfaces)

if Server1  sends 2GB of Data to Server2 , then only one link of the Eight in SW1 will receive the Data, and will forward the first 1GB  to SW2 and the other 1 GB will be resent next time on the same link.

Commented:
In that case you can change default load balance method

List of all methods :
src-ip source IP
dst-ip destination IP
src-dst-ip source and destination IP (XOR) --- (DEFAULT METHOD)
src-mac source MAC
dst-mac destination MAC
src-dst-mac source and destination MAC (XOR)
src-port source port
dst-port destination port
src-dst-port source and destination port (XOR)

You can change load balance method, and adopt it to scenario, to source and destination port (bold) and you can get load balance in scenario you created (scenarios that include port (probably not destination port) will give you load balancing in this scenario, better or worse). And just to mention, not all switches support all methods.

Destination port is most likely always the same, but source post, and combination of source and destination port  is most likely to give equally distributed bandwidth per port.
InstructorCommented:
if Server1  sends 2GB of Data to Server2 , then only one link of the Eight in SW1 will receive the Data, and will forward the first 1GB  to SW2 and the other 1 GB will be resent next time on the same link.
That is correct.  This assumes that the traffic is a single flow. Which means between the same two MAC, IP and L4 ports (i.e. an FTP transfer). One of the most common misconceptions about etherchannel is that it will increase the bandwidth for traffic between two devices.

Now in your example, if the traffic between Server1 and Server2 were two separate FTP transfers, then it's possible the second transfer could be sent over a different link. But this is only if the load distribution method used was Source-Dest port number... which isn't supported on all platforms.
Author Commented:
Why are FTP transfers different than other traffic ?
InstructorCommented:
They aren't. I was using that as an example.
Author Commented:
I do not mean to stretch the Thread, but there is still gray area..
for instance , if the method use is:
src-dst-port source and destination port (XOR)

Will server1 send first packet to server 2 through Link1, second packet to link2, etc....? (I said link1 then link2, but it can be randomly..)
InstructorCommented:
No.  All traffic in a flow will always use the same link.
Author Commented:
So there is no Load Balancing
InstructorCommented:
Not really.  Although it would depend on your definition of "load balancing".  I prefer to use "load distribution".  :-)

On a two-link etherchannel group it is entirely possible to have 75% of the traffic use one link and 25% use the other.  In my mind, that's not "balanced".  But it is using the both links which you wouldn't get with spanning-tree unless you got a little creative with per-VLAN STP or MST.
Author Commented:
The only "Load Distribution" I see is in the scenario where more than one server is sending to server 2

for instance Server1 and Server5 are connected to Switch1 which is (etherchannel linked) to Switch2, and Server2 is connected to Switch 2

That way Server1 might send its traffic through one Link to Server2 and Server5 might send its traffic through a separate link to Server 2

I picture it as highway, a Semi, regardless of how many trailers is hauling will still use only one lane, but other cars can use separate lanes
InstructorCommented:
The only "Load Distribution" I see is in the scenario where more than one server is sending to server 2
That is exactly correct.  The more devices (or more precisely, the more flows), the better chance at an even distribution of traffic over the links.
I picture it as highway, a Semi, regardless of how many trailers is hauling will still use only one lane, but other cars can use separate lanes
Excellent analogy!
Author Commented:
But why Cisco bothers coming with a list of methods:

src-ip source IP
dst-ip destination IP
src-dst-ip source and destination IP (XOR) --- (DEFAULT METHOD)
src-mac source MAC
dst-mac destination MAC
src-dst-mac source and destination MAC (XOR)
src-port source port
dst-port destination port
src-dst-port source and destination port (XOR)
InstructorCommented:
Not sure I understand your question.

This is not "Cisco".  Many vendors support Etherchannel (although they may have a different name for it.  The choices are to allow the network admin to select a distribution method which offers the best opportunity for an equal distribution of the traffic.  And destination-source IP is only the default on some platforms.
Author Commented:
<<The choices are to allow the network admin to select a distribution method which offers the best opportunity for an equal distribution of the traffic>>

Those choices (Load distribution)will still  have effect only when multiple servers are sending to one or multiple servers...
if one server is sending then those choices will have no effects....I mean still only one link will be used
InstructorCommented:
if one server is sending then those choices will have no effects....I mean still only one link will be used
Well yes.

Etherchannel is not intended to provide more bandwidth for a single flow of traffic. That's a common misconception.  If you need more bandwidth, you put in a faster link.

The purpose of etherchannel is to allow multiple links that can all carry some traffic.  As opposed to letting STP block all but one link.

Experts Exchange Solution brought to you by