Round robin load balancing refers to the load balancing algorithm whereby the scheduling is done on a one-by-one basis where the scheduler takes turns to service the links with “equal load”. The equal load can be measured with respect to Internet sessions (identified by the tuple of source/destination protocol and port numbers) whereby each new session identified by a new tuple is scheduled onto the WAN link that is next in line to receive the load.
As an example, if a round robin load balancing router has three WAN links, say WAN1, WAN2 and WAN3, then the sessions coming into the router will be scheduled onto each WAN link in an equal manner and in sequence. Suppose there are six sessions arriving (say session-1 through session-6), then session-1 will be scheduled on WAN1, session-2 will be scheduled on WAN2, session-3 on WAN3, session-4 again onto WAN1 and so on, therefore distributing all six sessions equally (two per WAN in this case) over the available three WAN links.
Round robin load balancing is a simple load balancing algorithm that has been used not only in link load balancing but also in many other contexts where scheduling is necessary. However, we will keep our discussion of round robin load balancing to the WAN load balancing framework in this article. Round robin load balancing is a simple method that can be useful in scenarios where the WAN links are from the same provider with similar characteristics (i.e. speed, latency, packet-loss etc). In these cases, scheduling the sessions equally over the available WAN links is the best you can do provided that your router is limited to session level granularity for aggregation.
In cases of desired fixed ratios between WAN links, a modified version of the round robin algorithm, namely, weighted round robin can be used. Weighted round robin is similar to round robin, with a weight factor that increases the number of relative sessions that a WAN link gets according to its assigned weight. The weighted round robin load balancing can be used in scenarios where there is a fixed relation between the WAN links. If WAN1 is 2.4 times faster than WAN2, then the same 2.4 factor can be assigned as a load balancing weight to the WAN1 link, ensuring that WAN1 will now receive 2.4 times as many sessions as WAN2 (assuming the weight for WAN2 is 1.0).
Both regular and weighted round robin load balancing as well as the weighted round robing load balancing have their limitations and shortcomings however. As you can imagine, depending on the size of each session, the scheduler may easily miss the mark, as the number of sessions may not be an accurate representation of the real load. As an example, you can envision one of the sessions being a large file download with the rest of the sessions being short-lived. From the round robin load balancing algorithm perspective, they represent equal loads on the WAN links, where clearly that is not the case.
If your router is equipped with more modern aggregation algorithms such as Broadband Bonding, then the granularity of aggregation can be reduced to the packet level, whereby even a single session can now be split up into smaller sized components (packets or a set of packets). This will provide the ability to schedule equal sized components between the available WAN links according to their capacity and therefore achieve a much more accurate load balancing compared to a legacy round robin load balancer (weighted or not).
Another advantage of a Broadband Bonding router is the fact that the load can be redistributed over the WAN links even for on-going live sessions. Since the on-going sessions’ smaller components are scheduled in real-time, the broadband bonding scheduler can make on-the-fly adjustments and therefore create better aggregation performance.
Additionally, the packet level broadband bonding allows for session management, where a disruption in any of the WAN links will not cause any of the sessions to break (which would have been the case in a round robin load balancing scheme). In essence, the broadband bonding algorithm will be able to re-schedule the components that may have been lost over the problem WAN link, onto the other WAN links according to this aggregation algorithm and therefore will be able to keep the sessions alive.
Cahit Akin, CEO, Mushroom Networks, Inc.
Mushroom Networks is the provider of SD-WAN (Software Defined WAN) and NFV solutions capable of Broadband Bonding that enables self-healing WAN networks that route around network problems such as latency, jitter and packet loss.