10-07-2016 03:05 PM - edited 03-08-2019 07:44 AM
why in ether channel the load balancing is per flow not per packet?
10-07-2016 03:50 PM
The way EtherChannel load balancing works is that the switch assigns a hash result from 0-7 based on the configured hash method ( load balancing algorithm ) for the type of traffic. This hash result is commonly called as Result Bundle Hash (RBH).
As for an example, let us consider that the port-channel algorithm configured on the box is src-dst ip then the source and destination IP of the packet will be sending to the hash algorithm (a complicated 17th degree polynomial) to calculate the RBH. Now each RBH is mapped to one unique physical port in the port-channel, whereas one physical port can be mapped to multiple RBHs.
Long story short, the variables (like src/dst MAC, IP...) are used to calculate the hash not for forwarding decisions, that's why the etherchannel load balance works on a flow basis.
10-09-2016 10:37 PM
Thank you
10-10-2016 05:36 AM
Duplicate posting, see also: https://supportforums.cisco.com/discussion/13138716/why-ether-channel-load-balancing-flow-not-packet
As Mark explained in the other thread it avoids out-of-order resequencing, which often is a "bad thing", an so it's likely by design. Technically, as Jdesanti explains in this thread, the hardware computes the same link for every frame/packet of a flow.
If, by design, avoiding out-of-order resequencing wasn't a consideration, the hardware could simple round-robin a flow's frames/packets across all the Etherchannel links.
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