Gateway load balancing refers to the task of distributing interdomain traffic more evenly and intelligently between the gateways in order to achieve higher aggre- gated throughput, as illustrated in Figure 5.1. The prerequisite is that there are two or more gateways deployed in the network, providing connectivity to exter-
5.2. Gateway Load Balancing 45
nal network domains such as the global Internet. Since all interdomain traffic has to traverse the gateway nodes, they are consequently more vulnerable to become congested. This why it is necessary to deploy multiple gateways in the network in order to increase the overall capacity and to alleviate the probability for con- gestion. In addition, it also provides redundancy and increased robustness. If one gateway encounters failure, there are still others that can serve. Furthermore, it can also lead to fairness improvement, i.e. with only one single gateway, differ- ent nodes enjoy different capacities depending on their proximity to the gateway. However, with multiple gateways, the average distance to the available gateways is the same for all nodes. This may therefore alleviate the unfairness problem [77]. Although the deployment of multiple gateways provides several advantages, how- ever, it also introduces a number of issues and challenges that need to be addressed effectively in order to fully exploit these advantages. The authors in [77] provide a discussion on these challenges as discussed below, and emphasize the importance of performing load balancing between the gateways. Traditional shortest path rout- ing protocols lacks this functionality and may cause a gateway to be overloaded, while others may be strongly underutilized, either due to uneven node distribution or user demands. Hence, without proper load balancing there is a potential risk for a degradation in the performance.
Characterization
Performing gateway load balancing is essentially to select a default gateway in which interdomain traffic can be forwarded to. In order to make correct decisions regarding which gateway to select as the default gateway, it is important to obtain statistics on characteristics related to the gateways and nonetheless the paths to- wards these gateways. This can either be one of the following characteristics or a combination of them: the hop count, loss probability, end-to-end delay, throughput or the traffic load. The metrics discussed in Section 4.5 are the common methods for obtaining these characteristics. What needs to be considered when using these metrics is the accuracy of the metric and the incurred overhead. Every kind of measurement is subject to some uncertainty, which can either come from the mea- surement instrument, the method being used, the environment, or other factors. In a distributed network, each node must individually carry out the measurement on its own and disseminate the measured information throughout the network. This is important, since all nodes in the network must have the same view about the condition of the network in order to distributedly and collaboratively perform load balancing in an efficient way. The dissemination of this information can either be done reactively of proactively. The common approach for reactive routing proto- cols is to gather the necessary information during the route discovery process. On the other hand, with proactive routing protocols, the information is usually dissem-
46 Load balancing
inated periodically and typically piggy-backed together with the routing messages. This is for example demonstrated in paper D and E. One of the challenges here is the unreliable nature of multihop wireless communication, which can potentially result in loss of vital information. Alternatively, it can also results in severe delay variations in the delivery of the information. These problems can be significant when the network load is high and when the dissemination is based on broad- casting, which is normally the case. Even with unicasting, it is not guaranteed that all nodes will receive the measured information. Thus the uncertainty in the dissemination can result in inconsistent view of the traffic load in the network. Consequently, this can lead to non optimal or erroneous decisions and adversely affect the efficiency of load balancing.
Gateway selection
Once the necessary statistics are obtained, the next issue to consider is which spe- cific gateway to select as default gateway. For outbound traffic, it is up to the originating node to decide to which gateway the traffic is forwarded to. For in- bound traffic, one possible solution is to let a master gateway as suggested in [77], to decide which slave gateway the traffic is forwarded to in order to achieve load balancing. The key parameters to consider when selecting default gateway are first of all the traffic load or available bandwidth at the gateways. Basically, the least loaded gateway should be favored, while the most loaded should be avoided. The second parameter to consider is the distance in terms of hop length from the local node to the gateways. In general, a shorter path should be favored since it can provide higher throughput, and has lower transmission cost and probability for end-to-end transmission failure. However, in cases where the nearest gateway is overloaded, it may be beneficial to route traffic to an alternative less loaded gate- way, even though the distance is several hops longer away. The third parameter to consider is the characteristic of the paths towards the gateways. This may ei- ther be, the end-to-end delay, loss probability or bottleneck capacity. While the first parameter characterizes the condition at the gateways, the second and third parameters determine the characteristic of the paths towards the gateways. There are situations in which the first parameter favors one gateway while the second and third may favor another. Thus, the gateway selection algorithm must consider the trade-off between the parameters. The challenge is how to appropriately weight the parameters in order to achieve an overall increase in performance.
Route flapping
Normally, the gateway selection is performed distributedly where each node is responsible for selecting its own default gateway. Without coordination in the en- deavor of distributing traffic more evenly, there is a potential risk for route flapping. In severe cases, a group of nodes may simultaneously and repeatedly reroute their
5.2. Gateway Load Balancing 47
traffic back and forth between two neighboring gateways. This is referred as the
synchronized reroutingproblem and is discussed in more detail in paper E. The au-
thors in [78] notice that it is very hard to maintain an absolute balance in the load distribution. Instead for a to aggressive approach in performing load balancing, care should be taken in order to avoid the ping pong effect. Besides, as the results in paper D show, it is not given that a perfectly even load distribution between the gateways will result in the most optimal performance. To alleviate the ping pong effect, [78] proposes a load balancing scheme that triggers gateway selection only when the measured load difference between two gateways exceeds a predefined threshold value. Alternatively, the authors in [79] propose a more centralized so- lution where a congested gateway may request one or more of its associated nodes to redirect their traffic to alternative less congested gateways.
Single vs Multiple Default Gateway
A node may select one or multiple gateways as its default gateways. The advantage of multiple default gateways is the possibility for distributing traffic from a node to several of its selected gateways. This allows for increased flexibility and more fine- grained granularity in performing load balancing. A node can for example direct a traffic flow to one gateway while another flow is directed to another gateway. For even finer granularity, a node can split up its traffic at the packet-level and route each packet individually towards the selected gateways. However, the challenge is how to allocate the correct amount of traffic from each individual node to each gateway. The authors in [80] argue that multiple default gateway architecture is very complex and difficult to realize in practice, and therefore the usual approach is to use a single default gateway architecture.
Packet reordering
Performing load balancing on multiple gateways can potentially cause packets to a single destination to traverse through different paths and gateways. This is espe- cially true if the multiple default gateway architecture is used. The consequence is however that packets may arrive at the end destination in an out of order fashion. Hence, a packet reordering scheme is needed in order to ensure a FIFO delivery at the end destination. A possible solution to solve this is to use a master-gateway as mentioned earlier. The master gateway serves as an aggregation point or distribu- tion center for interdomain traffic, and is responsible for collecting and reordering inbound/outbound packets such that they can be forwarded in the correct order. The research in gateway load balancing is a central part in this thesis. The work in paper D and E is an effort to solve some of the issues and challenges discussed above in order to bring forth efficient schemes for performing gateway load balanc- ing. In particular, the focus has been aimed at solving the main issues that are vital to the realization of such a scheme which include characterization, gateway selec-
48 Load balancing S GW GW AP AP AP AP D M A N E T B a c k b o n e
Figure 5.2: The concept of transit routing.
tion, and how to minimize the effect of route flapping. Due to time constraints, we have not paid much attention to issues such as packet reordering or multiple default gateway. Furthermore, besides of addressing the issues and challenges re- lated to the design phase, much effort has also been invested in investigating the environmental factors that may have an impact on the performance of performing gateway load balancing. This is the focus of paper C, where it is shown that a num- ber of factors such as gateway location, the level of offered load, the sensing range, and the specific layout of the topology are some of the important factors that may significantly affect the potential benefit of performing gateway load balancing.