hi every body
I have been struggling to understand the link selection process in ether channel.
I find conflicting material about it.
For example, in ccnp bcmsn guide by david hucaby , i find the following:
For a two-link etherchannel, a 1-bit XOR is performed on the rightmost address bit.for example 1 xor 0 =1 causing link 1 to be used. A four-link ether channel produces 2 bit xor: 01 xor 10 =11 causing link 3 to be used."
From above excerpt, it is obvious that link selection is determined by X0R operation on rightmost bits.
However, in a book " network warrior" by Gary A. Donahue,i find the following :
" the hasing algorithm for determining the physical link to be used may not be public ,but the weighting of the links used in the algorithm is published.
the hashing algorithm takes the destination mac address ( or another value) and hashes that value to a number
in the range 0-7.The same range is used regardless of how many links are actually in the ether channel. Each physical link is assigned one or more of these values,depending upon how many links are in etherchannel.
On an ether channel with 8 links, each of the links is assigned a single value. On an ether channel with six links, two of the links are assigned two values and the remaing four links are each assigned one value.Regardless ofinformation used to determine the link, the method will still hash the value to a value of 0-7 which will be used to assign a link."
Form above excerpt, it appears link selection is not determined by XOR operation on rightmost bits only.
Rather value 0-7 are assigned to ports in ether channel,algorithm hash the information such as ip address or mac address etc to a value from 0-7, which in turn determines the port to be used.
My questions are:
1) which excerpt is correct when it comes to link selection in ether channel, excerpt from cisco press book bcmsn or from " network warrior " by Gary .
2) if 2nd excerpt is correct, how the values 0-7 are assigned to ports in ether channel?
consider the 6 port ether channel.
consider the following values 0-7 assignment
If Hashing algorithm takes the information(mac address, ip address etc) and hashes the value to 0, then p1 will be used because "0" is assigned to p1
Hashes algorithm takes another packet and hashes the information (mac,ip,ports etc)
to a value 1 ,then again p1 will be used because "1" is assigned to p1.
If above examples are correct, then two packets from two different source( assuming we are using " src-mac" )
could use the same link for example p1.
Am i right?
I would really appreciate any help to help me understand this.
Here is the link that explains load balancing technique used in Etherchannel. You can manipulate oh how to generate the has like mac address/ip/ports on src/dst but you cannot control the which has values assigned to link in etherchannel bundle.
Understanding EtherChannel Load Balancing and Redundancy on Catalyst Switches
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.
Note: The hash algorithm cannot be configured or changed to load balance the traffic among the ports in an EtherChannel.
for your 2nd Q, yes it can be same.