CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility management. Our focus in this research is routing and load balancing. Existing solutions in mobile ad hoc and sensor networks cannot be directly applied to WMNs due to the difference in traffic patterns, mobility scenarios, gateway functionalities and bandwidth requirements. Since most users in WMN are primarily interested in accessing the Internet or other commercial servers, the traffic in WMNs is routed either toward the Internet Gateways (IGWs) or from the IGWs to clients. Thus, if multiple edge mesh routers choose the best throughput path toward a gateway, the traffic loads on certain paths and mesh routers increase tremendously, thereby significantly decreasing the overall performance of the network. The routing algorithm therefore needs to determine routes between each traffic access point in a way that balances the load on the entire mesh network. Efficient load balancing mechanism can help in avoiding congestion and can increase the efficiency of the network resource utilization. In order to achieve load balancing in WMNs, a suitable routing protocol should be designed. Existing schemes for 160
load balancing in wireless mesh networks consider load balancing at the Internet gateways. This research proposes load-balancing routing algorithm which is cross-layer based and utilizes a Multipath routing mechanism. The idea of novel route calculation technique is based on a multiple use of the shortest path algorithm for a specially modified topology graph. Instead of running the algorithm for the case of the computing node as the origin of any route, all the neighbors of the computing node, except the one being currently examined as a possible next hop, are removed from the topology graph along with their adjacent edges. Then the Dijkstra s shortest path algorithm is run for the chosen neighboring node as a route origin. The procedure is repeated for each neighbor of the computing node. As a result, the computing node obtains several routing tables (one table per neighbor), which can be easily merged into its final routing table with multiple entries for every possible destination. The modified route calculation algorithm can be described as a diagram as shown in Fig. 6.1. The example of the algorithm execution is illustrated in Fig. 6.2. 161
Start Require: Topology G, Computing node m Ensure: Multiple routes for each node Yes All neighbours of vertex m visited? No Merge the obtained routing tables of neighbouring nodes into the final multi-path routing table of node m Delete all neighbours of vertex m with their adjacent edges, except of the selected one Run Dijkstra's algorithm for the obtained graph in order to determine entries of a routing tables with the selected neighbour as next hop on the route Fig. 6.1 Flowchart for Calculation of Multiple Routes The OLSR protocol extension has been designed to cooperate with backpressure like scheduling. As a result of modified protocol operation, the transmitting node is able to provide the backpressure based scheduler with the possible choices of the next hop for every destination node. The solution is a variation of the unconstrained backpressure approach. It is aimed at the restriction of all possible next-hop choices to a collection of reasonable choices for a given destination of all the neighbors of the computing node, for which the destination node is unreachable without further contribution from one of the remaining neighbors of the computing node, which are excluded from the set of proposed next hops. 162
Fig. 6.2 Multiple Routes Calculation Method As traffic distribution is not equal in all links in the network, spreading the traffic along multiple routes can alleviate congestion in some links and bottlenecks. There are two main families of routing protocols enabling load balancing on multiple paths. The first family uses labelling or source routing mechanisms (deployed above 163
traditional IP routing), whereas the second family makes use of hop by hop routing protocols. In this research thesis, we discuss a new multipath routing protocol called Modified MP-OLSR based on OLSR to provide faulttolerance, higher aggregate bandwidth and load balancing. It exchanges control messages periodically as OLSR to get the topology information, queue level and node remaining energy in each node of the whole networks. This routing metric takes into account the above mentioned cross-layer factors topology information, queue level and node remaining energy. Through considering these factors, the route selection is optimized to a large extent, the network throughput is improved and the goal of load balance is achieved. Based on this topology information and remaining energy in each node, our modified Multipath Dijkstra algorithm is used to obtain the multiple paths for the routing. With the algorithm, we can get node-disjoint routes or path-disjoint routes as necessary by adjusting distinct cost functions. In the network, the packets are forwarded from the source to the destination by employing a semi-source routing mechanism (source routing with route recovery). First, we propose a multipath routing algorithm based on the Dijkstra algorithm that allows different multipath approaches. Routing recovery from intermediate nodes is also included. Second, the multiple routes are 164
exploited via an original multiple description coding based on a discrete Random transform. 6.2 MODIFIED MP-OLSR (MMP-OLSR) SPECIFICATION The MMP-OLSR can be regarded as a hybrid multipath routing protocol. It sends out HELLO messages and TC messages periodically to be aware of the network topology, just like OLSR. The HELLO message contains the queue level and node remaining energy information from each node. An additional two bytes recording the energy and queue levels are piggybacked onto the hello messages. So, all the neighbors hear the packet and record the corresponding values. The multi-path selection thus takes all the next hops from available paths, and checks the associated normalized remaining energy levels known to the node. The route with the highest energy level is selected. The energy usage at a node indicates the amount of radio activities. Thus, it can be regarded as an indication of traffic load at the node. While selecting the route according to the energy levels, load balancing among the nodes is achieved. However, MMP-OLSR does not always keep a routing table. It only computes the routes when data packets need to be sent out. The core functioning of MMP-OLSR has two main parts: topology sensing and routes computation. The topology sensing is to make the nodes get to the topology information of the network, which includes link 165
sensing, neighbor detection and topology discovery. This part gets benefit from MPRs as well as OLSR. The routes computation uses the modified Multipath Dijkstra Algorithm to populate the multipath based on the information got from the topology sensing. The source route (the hops from the source to the destination) will be saved in the header of the data packets. The intermediate nodes just read the packet header and forward the packet to the next hop. Furthermore, to overcome some drawbacks of source routing, the route recovery is introduced. 6.2.1 Topology Sensing The topology sensing is to make the nodes get to know the topology information of the network, which includes link sensing, neighbor detection and topology discovery. This part gets benefit from MPRs as well as OLSR to minimize the flooding of broadcast packets in the network by reducing duplicate retransmissions in the same region. By sending the routing control messages proactively, the node could get to know the topology of the network: its neighbors, 2-hop neighbors and other links, which are saved in neighbor set, 2-hop neighbors set and topology set respectively. 6.2.2 Routes Computation Contrary to classical OLSR, routes are not determined by nodes each time they receive a new Topology Control message, but only if need be, in order to avoid the load computation of several routes for 166
every possible destination. When a given source must send packets, the route computation procedure uses the algorithm. Modified Dijkstra s Algorithm MODIFIED-DIJKSTRA (G = (V, E), s V) Set d[v] = and count[v] = 0 for every node v V {s} Set d[s] = 0 and count[s] = 1 S = ф, Q = V while Q ф Let u be a node in Q such that d[u] d[v] for all nodes v Q = Q {u}, S = S U {u} for each node v adjacent to u if d[v] > d[u] w(u,v) d[v] = d[u] + w(u,v) count[v] = count[u] else if d[v] = d[u] + w(u,v) count[v] = count[v] + count[u] return count[v] for every node v V Q We simply apply Dijkstra s algorithm and maintain an array count[]. At any step of the algorithm, if v S, then count[v] denotes the number of shortest paths from s to v. When we are relaxing an edge(u,v) with u S; v S, there are three cases to be considered. If d[v] > d[u] + w(u,v), then any shortest path from s to u, coupled with the edge(u,v), can be a potential shortest path from s to v. Thus, we set count[v] = count[u]. On the other hand, if d[v] = d[u] + w(u,v), then we keep track of every existing potential shortest path to v, plus we add the number of 167
shortest paths to u coupled with the edge(u,v). Thus, we set count[v] = count[v]+count[u]. Finally, if d[v] < d[u], we need not update any information. The correctness of our algorithm follows from exactly the same argument that is used to prove correctness of Dijkstra s. The running time is O(E log V ). 6.3 SIMULATION AND RESULTS FOR LOAD BALANCING USING MODIFIED MP-OLSR For evaluating the performance of the Modified MPOLSR, simulations are performed using Network Simulator (NS2). The simulation scenarios are modeled with network parameters which represent the real time implementation. During all the simulations the network parameters are kept constant but only the size of the network (i.e) the number of nodes are alone changed to better evaluate the performance of the proposed algorithm. The throughput, packet loss, packet delivery ratio and routing load are taken as performance metrics. During each simulation the trace file is generated, and using perl scripts, the values are calculated. The throughput is calculated by finding the ratio between the amount of data travelled during the simulation period and the duration of the simulation and is expressed in kilo bytes per second (kbps). The packet loss which reflects the real performance of the routing algorithm is calculated by finding the difference between the 168
number packets originating from the source node and the number of data packets reaching the destination. The packet delivery ratio is the ratio between the number of packets sent to the number of packets received. The routing load is the ratio between the number of routing packets sent to the total number of the sent packets. The routing load depicts the impact of the additional load put over the network by the routing packets. The following parameters were used to build the simulation environment: the MAC layer is modeled using IEEE 802.11 standard and the physical layer is implemented with the wireless physical channel. The Droptail queue method with Priority management is utilized to manage the waiting and incoming data packets at the intermediate nodes. The size of the data packets transmitted during the simulation is chosen to be 512 bytes. If larger the size of the data packets, then the amount of energy spent to transmit the data packets will be higher; so a moderate size of the data packet is chosen. The size of the simulation area is chosen to be 500 X 500, which is enough to hold maximum number of nodes during the simulation. During all the simulations the constant bit rate type of traffic is used and random way point movement is used for the node movement. We use the Random waypoint model to generate movements of mobile hosts. At the beginning of a simulation, mobile hosts are randomly placed on 500m x 500m a square field. Each host randomly chooses 169
its destination in the field, and a moving speed of 10 m/s. All destinations and speeds are independent and identically distributed. Every host repeats the above step after it has reached the destination and waited a specified time (the pause time). According to this model, the speed and direction of the next movement have no relation to those of the previous movement. The pause time and the maximum speed have similar impacts on the mobility with respect to link change or route change. Parameter Value Simulation Time 200 No. of Nodes Varied Between 10 to 50 Traffic Type Pause Time Constant Bit Rate 10 Sec Topology Area 500 X 500 Packet Size 512 bytes MAC Protocol IEEE 802.11 Mobility Model Wireless Channel Antenna Type Queue Type Random Way Point Physical Wireless Omni Directional Drop Tail Table 6.1 Simulation Parameters The simulations were performed with 10, 20, 30, 40 and 50 nodes using OLSR, Modified MPOLSR and AODV. The results indicate that the Modified MPOLSR outperforms the OSLR and AODV by all the 170
metrics. The packet loss is greatly reduced in the Modified MPOLSR when compared to AODV and OLSR in all the simulation scenarios and also PDR of Modified MPOLSR is higher when compared to AODV and OSLR. The throughput is increased which represents that the modified Dijkstra s algorithm is performing better with varying network size. The multipath nature of the proposed routing algorithm guarantees the delivery of the data packets originating from the source node; therefore the Packet loss is reduced even when the network size is increasing. The running time of the Modified MPOLSR is lesser when compared to its counterparts. The running time of the Modified MPOLSR is O(E log V ) normally the MPOLSR consumes O(E 2 log V). The usage of multiple-path routing protocol instead of single path is increased nowadays. Many protocols were developed as a single path routing protocol at the very beginning. It means that from the source to the destination, only one path is on duty. But to increase the reliability of the data transmission, other kind of protocols was proposed: multipath routing protocol. In this proposed work, it has been tried to use more than one path to send data. So the main objective of these protocols is how to find the reliable paths and ensure load balancing. The multiple paths is disjoint (all the links are combination of the above 2 kinds). These paths can be used as backup route or at the same time for parallel data transmission. To decrease delay and to maximize network life time are also the goals included in the proposed multipath protocols. 171
The proposed modified multipath OLSR is also compared with AODV routing protocol which exhibits lesser performance when compared to the proposed protocol. The modified multipath OLSR has different strengths and weaknesses when it comes to node mobility in MANETs. Unlike wired networks, the topology in wireless ad hoc networks may be highly dynamic, causing frequent path breaks to ongoing sessions. When a path break occurs, new routes need to be found. As modified multipath OLSR always have up-to-date topology information at hand, new routes can be calculated immediately when a path break is reported. Because AODV is a reactive protocol, the immediate new route calculation is not possible, so a route discovery must be initiated. In situations where the network traffic is sporadic, modified multipath OLSR offers less routing overhead due to having found the routes proactively. AODV, on the other hand, will have to first discover a route before the actual information can be transmitted. This calls for extensive control overhead per packet. In cases where the network traffic is more or less static (i.e., the traffic has a long duration), however, AODV may perform better, as the amount of control overhead per packet decreases. When a node in a network running the modified multipath OLSR protocol wished to find the route to a host, all it has to do is do a routing table lookup, whereas in a AODV network, a route discovery 172
process needs to be initialized unless no valid route is cached. It goes without saying that a simple table-lookup takes less time than flooding the network, making the modified multipath OLSR protocol performance best in delay-sensitive networks. Fig. 6.3a Node Vs Throughput Fig. 6.3b Node Vs Throughput 173
The Figs. 6.3a and 6.3b, show the network throughput in all three protocols for 10,20,30,40 and 50 number of nodes. Comparing all three protocols, AODV performed least in case of throughput too. Throughput of OLSR is little higher than that of AODV and it is less than that of the proposed protocol. This is due to the large network overhead generated by AODV. Other reason for lower throughput by AODV is that it deletes its routes when they are not in use. AODV performed decently in terms of throughput when the number of nodes is less. AODV discovers multiple routes from source to destination; so there are always the chances of finding an optimal route. AODV tends to reduce the control traffic overhead at the cost of increased latency in finding new routes. The Hello messages, which are responsible for the route maintenance, also create unnecessary overhead in the network. Modified multipath OLSR performed better than AODV and OLSR in case of throughput too. This is due to the proactive nature of the protocol. It reduces the control overhead forcing the MPR to propagate the updates of the link state. The drawback of the OLSR protocol is that it must maintain the routing table for all the possible routes; so there is no difference in small networks, but when the number of the mobile hosts increase, then the overhead from the control messages also increases. This constrains the scalability of the OLSR protocol to some extent. The OLSR protocol works most efficiently in the dense networks. 174
Packet loss problem is much more complicated in mobile ad hoc networks, because wireless links are subject to transmission errors and the network topology changes dynamically. A packet may lose due to transmission errors, no route to the destination, broken links, congestions, etc. The effects of these causes are tightly associated with the network context (e.g., host mobility, number of connections. traffic load, etc.). In mobile ad hoc networks, wireless link transmission errors, mobility, and congestion are the major causes for packet loss. Packet loss due to transmission errors is affected by the physical condition of the channel, the terrain where networks are deployed, etc. They cannot be eliminated or reduced by improving the routing protocols. Congestion in a network occurs whenever the demands exceed the maximum capacity of a communication link, especially when multiple hosts try to access a shared media simultaneously. Mobility may cause packet loss in different ways. A packet may be dropped at the source if a route to the destination is not available, or the buffer that stores pending packets is full. It may also be dropped at an intermediate host if the link to the next hop has broken. Packet loss is measured at all mobile hosts. Every host monitors the networking layer and the MAC layer for all kinds of packet losses. The layers of the protocol stack and the modules that are responsible for mobility related and congestion-related packet loss are identified. Mobility-related packet loss may occur at both the network layer and 175
the MAC layer. When a packet arrives at the network layer, the routing protocol forwards the packet if a valid route to the destination is known. Otherwise, the packet is buffered until a route is available. A packet is dropped in two cases: The buffer is full when the packet needs to be buffered. The time that the packet has been buffered exceeds the limit. The MAC layer mobility-related packet loss occurs when the next hop of a packet is out of range at the moment the packet is sent by the MAC protocol. The reason is that the routing information is obsolete. It occurs frequently in a higher mobility network than in a low mobility network. Congestion-related packet loss only occurs at the MAC layer. Because CSMAICA is used in the simulation, a packet may be dropped due to congestion for two reasons: The wireless channel is so busy that the times of back off exceed the limit. The channel is associated with a queue that buffers all the packets waiting to be sent. When the queue is full, any coming packet is dropped. 176
Fig. 6.4a Node Vs Packet Loss Fig. 6.4b Node Vs Packet Loss In Figs. 6.4a and 6.4b, the total packet loss for AODV is higher than that of Modified multipath OLSR, regardless of pause time or number of nodes. For moderate and heavy communication requests, total packet loss for modified protocol is more stable than that of AODV with the increase of number of nodes. 177
The multipath modified OLSR performs particularly well, delivering over 95% of the data packets regardless of number of nodes. But AODV fails when the node density increases. Modified Multipath OLSR shows consistent performance. Fig. 6.5a Node Vs Packet Delivery Ratio Fig. 6.5b Node Vs Packet Delivery Ratio 178
The Figs. 6.5a and 6.5b highlight the relative performance of the three routing protocols. Both OLSR and modified OLSR protocols deliver a greater percentage of the originated data packets when there is little node, converging to 100% delivery when there are more number of nodes. OLSR has a slightly better delivery ratio than MP- OLSR only when the number of nodes is 10. This is because with more paths transmitting packets at the same time, there is a higher possibility of collision at the MAC layer. This inter-path interference can be eliminated by using multichannel techniques, which guarantee a different frequency band for each path. In our case, there is only one channel used, so MP-OLSR has more packets dropped due to the collision at the MAC layer. However, as the number of nodes increases, the links become more unstable, and there are also more loops in the network. The packet delivery ratio of OLSR then decreases quickly and MP-OLSR outperforms OLSR. Fig. 6.6a Node Vs Routing Load 179
Fig. 6.6b Node Vs Routing Load The Figs. 6.6a and 6.6b highlight the relative performance of the three routing protocols. High routing load usually has a significant performance impact in low bandwidth wireless links. The AODV routing protocol does not cache the routes it learns during RREQ broadcast and faces the problem of high routing load. In this thesis, we have compared AODV routing with OLSR and modified multipath OLSR, multiple routes which it learns in the process of route request broadcast. The multiple routes reduce the routing and MAC load of AODV and also the delay in packet delivery without changing the basic structure of the protocol. 180