
Load-sharing vs Load-balancing
June 3, 2009Load-sharing and Load-Balancing is easily one of the most misunderstood topics in networks. Those knowledgable usually understand the difference and is aware of the concept of load-sharing.
So what is Load-Balancing?
Definition: Load balancing is a mechanism that helps to make networks more efficient. It distributes the processing of traffic evenly across a network with multiple-paths, in order to get optimal resource utilization, maximize throughput, and minimize response time.
In short Load-Balancing will split the traffic sent, in a equal fashion using multiple paths to a destination when forwarding packets. So if one has 2x 512k links, with 800k traffic at any point, conceptually with Load-Balancing, each path should have 400k worth of traffic! Although that is the idea, in the networking world that is not always true or in some cases even possible.
How does Load-Sharing differ?
Definition: It is inherent in the forwarding process of a router to share the forwarding of traffic, if the routing table has multiple paths to a destination. If equal paths, the forwarding process will decide the manner of forwarding, still with the possibility of unbalanced forwarding. If unequal paths, the traffic is distributed inversely proportionally to the cost of the routes. That is, paths with lower costs (metrics) are assigned more traffic, and paths with higher costs are assigned less traffic.
Load-Sharing is more realistic and technically more correct, in that one always shares traffic across multiple paths, even if in a unequal fashion. In layman’s terms, if one were to look at two comparing traffic graphs, with load-balancing the two graphs would be identical, but with load-sharing they might be similar but the traffic flow pattern would be different. But why the big deal in separating the two?
Them non-technical folks! And Perception. Because to have multiple links sharing the exact same amount of bandwidth is only possible in very specific instances, where almost ALL other instances are load-sharing not load-balancing.
Another very important fact to keep in mind, is that any load-sharing/load-balancing configurations are UNI-directional, influencing traffic in one direction. If one want to balance the return traffic, one will have to configure it to be done in the opposite direction.
So when is it load-sharing / load-balancing, and what are the different scenarios one can use them? How do one configure them?
The big deciding factor is whether, at the load sharing point in the network, the multi-path links terminating on the same router or not.
- If NOT, (sharing point spans multiple routers with their own link/s), then one only has one option- Load-Sharing.
- If YES, one has some options based on your IGP, and the Switching-Process in the router.
I will cover each of these options, in greater depth, in time to come.