07-22-2015 05:29 AM - edited 03-08-2019 01:04 AM
Is there any particular reason to limit the maximum number of ports to 8 in an ether channel . Could any one can explain the reason for that
07-22-2015 06:59 AM
Hi,
My personal take on this is that it does not really make much sense to allow for more than 8 ports in a single EtherChannel, as the speed of individual Ethernet variants goes in multiples of 10. If you need to bundle more than 8 ports running on, say, 1 Gbps, then you're certainly better off using a 10 Gbps interface.
It also seems to be related to Cisco's original implementation of the hashing function that performs the actual per-frame link selection in an EtherChannel bundle. Certainly, it does not make sense to have more links than the number of values this hashing function can produce, as some links would never be used in this case. Because hashing functions generally express their output using a fixed number of bits, you can have a hashing function produce 1-bit result (0 or 1 = 2 values), 2-bit result (0 to 3 = 4 values), 3-bit result (0 to 7 = 8 values), and so on. Clearly, when you think of this, having a hashing function provide only 2 bits of output would allow you to have only 4 links at maximum in an EtherChannel, which is rather limiting - and in addition, the distribution of the traffic would be rather crude because each value of this hashing function represents 1/4 of the total volume, that is, 25%. If you had only 3 links in an EtherChannel, one of them would need to handle two values of the hashing function, and so the load distribution would be 50% : 25% : 25%, clearly a very skewed distribution. From this viewpoint, the choice of a 3-bit hashing function, and allowing at most 8 links at an EtherChannel, seems like a reasonable compromise: Allowing more links does not really make sense as in such case, it is better to look for a faster Ethernet variant, and the traffic is distributed across links in amounts of 1/8 of the total traffic, or 12.5%, which is kind of acceptable, even if not that fine-grained. Hence the 8 as the maximum number of links
Just for your information, some new Catalyst and Nexus platforms are told to use an 8-bit result hash value, generating 256 different values. This is not to allow for 256 ports in an EtherChannel - it would make no sense considering the impractical nature of allocating more than 8 ports for a single interconnection and the fact that using a faster Ethernet version would in general produce better results. However, using 256 different output values allows for much fine-grained traffic distribution among the links: Each value represents 1/256, or 0.390625% of total traffic. So if you had 3 links, each of the links would handle 256 DIV 3 = 85 values of the hashing function, and 256 MOD 3 = 1 link would handle an additional hashing value (quick check: 85 x 3 + 1 = 255 + 1 = 256). In this case, the load distribution would be 86:85:85, or roughly 33.6% : 33.2% : 33.2%. Compare this to a 3:3:2 distribution with a 3-bit hashing function producing 8 results, or roughly 37.5% : 37.5% : 25% - clearly a much better improvement in smoothing out the traffic.
You're welcome to ask further!
Best regards,
Peter
07-22-2015 07:13 AM
I don't know if there is a "technical" reason or why you would want to do that, it's just the standard.
07-22-2015 07:31 AM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
It likely has something to do with the fact that you can have 8 values in 3 bits, and someone, at some point thought 2 bits didn't offer enough, and 4 bits seemed excessive.
I know it can be hard to understand now a days, but once upon a time, "bit" space was expensive, so deciding on how many bits to represent a value was often a difficult decision.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide