A Mobile Ad-Hoc Routing Algorithm with Comparative Study of Earlier Proposed Algorithms

,


Introduction and Motivation
Wireless networks are the current field of research as it provides new advancement to the field of mobile network and reliable data transfer.They provide a mechanism to share the information and services via electronic medium without any geographical constraints.As the medium is wireless there is no distance limitations present and the network do not need much maintenance as no physical medium is involved in the actual transmission.Wireless networks can be categorized as-infrastructured network and infrastructure less (ad-hoc) networks.Infrastructured network consists of a network with fixed and wired gateways.A mobile host searches for a bridge in the network in its defined communication radius, if it goes out of the range of the network the search for new base station starts and the communication is established.The approach is called as handoff.
In contrast to infrastructure-based networks, in ad-hoc networks all nodes are mobile and can be connected dynamically in an arbitrary manner.All nodes of these networks behave as routers and take part in discovery and maintenance of routes to other nodes in the network.Ad-hoc networks are very useful in emergency searchand-rescue operations, meetings or conventions in which persons wish to quickly share information, and data ac-quisition operations in inhospitable terrain.Routing protocols for mobile ad-hoc networks can be classified into two main categories: Proactive or table driven routing protocols and reactive or on-demand routing protocols.In proactive protocols, every node maintains the network topology information in the form of routing tables by periodically exchanging routing information.They include the Destination Sequenced.
The rest of the paper is organized as follows: Section 2 presents an overview of the two main categories of mobile ad-hoc routing protocols and Section 3 presents a general comparison of the table-driven and on-demand routing protocols.Section 4 provides an overview and general comparison of the routing protocols used in the study.In Section 5, we propose routing algorithm with better performance and failure recovery.Finally, Section 6 concludes the paper and describes the future work of our paper.Section 7 lists the references used by our research paper.

Routing Protocols for Mobile Ad-Hoc Network
In Routing, protocols for mobile ad-hoc networks can be classified into two main categories:  Proactive or table-driven routing protocols and  Reactive or on-demand routing protocols.

Table-Driven Routing Protocol
In

On Demand Routing Protocols
These protocols take a lazy approach to routing.In contrast to table-driven routing protocols not all up-to-date routes are maintained at every node, instead the routes are created as and when required.When a source wants to send to a destination, it invokes the route discovery mechanisms to find the path to the destination.The route remains valid until the destination is reachable or until the route is no longer needed. Ad-hoc On-demand Distance Vector Routing (AO-DV)  Dynamic Source Routing Protocol (DSR)  Temporally Ordered Routing Algorithm (TORA)  Associativity Based Routing(ARB)  Cluster Based Routing Protocol

Comparison of Table-Driven and On-Demand Routing Protocols
The table-driven ad-hoc routing approach is similar to the connectionless approach of forwarding packets, with no regard to when and how frequently such routes are desired.It relies on an underlying routing table update mechanism that involves the constant propagation of routing information.This is not the case, however, for on-demand routing protocols.When a node using an ondemand protocol desires a route to a new destination, it will have to wait until such a route can be discovered.On the other hand, because routing information is constantly propagated and maintained in table-driven routing protocols, a route to every other node in the ad-hoc network is always available, regardless of whether or not it is needed.This feature, although useful for datagram traffic, incurs substantial signaling traffic and power consumption.Since both bandwidth and battery power are scarce resources in mobile computers, this becomes a serious limitation.Table 1 lists some of the basic differences between the two categories of mobile ad-hoc routing protocols.

Overview of DSDV and AODV
As each protocol has its own merits and demerits, none of them can be claimed as absolutely better than others.Two mobile ad-hoc routing protocols-the Destination Sequenced Distance Vector (DSDV), the table-driven protocol and the Ad-Hoc On-Demand Distance Vector routing (AODV), an On-Demand protocol are selected for study.

Ad-Hoc On-Demand Distance Vector Routing (AODV)
Ad-hoc On-Demand Distance Vector Routing (AODV) is an improvement on the DSDV algorithm discussed in previous section.AODV minimizes the number of broadcasts by creating routes on-demand as opposed to DSDV that maintains the list of all the routes.To find a path to the destination, the source broadcasts a route request packet.The neighbors in turn broadcast the packet to their neighbors until it reaches an intermediate node that has recent route information about the destination or until it reaches the destination (Figure 1(a)).A node discards a route request packet that it has already seen.The route request packet uses sequence numbers to ensure that the routes are loop free and to make sure that if the intermediate nodes reply to route requests, they reply with the latest information only.When a node forwards a route request packet to its neighbors, it also records in its tables the node from which the first copy of the request came.This information is used to construct the reverse path for the route reply packet.AODV uses only symmetric links because the route reply packet follows the reverse path of route request packet.As the route reply packet traverses back to the source (Figure 1  Copyright © 2010 SciRes.IJCNS

Proposed Routing Algorithm
The proposed algorithm involves the computation of efficiency of the given route based on the network historical results and the maintenance of previous route information from source to the current node to handle any failure recovery during the transmission.Other than this the information of the various nodes connected and their distance from the destination is computed and updated after every cycle.Every node in the routing path is assigned a unique sequence number, which is checked after every movement to prevent any loops during the transmission procedure.At every node, a scheduling algorithm is applied based on the priorities of the data packets receiving the nodes.Information contained/processed at every node- Sequence Number: A unique number assigned to every node for its identification in the network.The unique ID is also used to prevent any loops in the network.The loop in the network are prevented by checking the current node sequence number with the previous node sequence number, if found smaller the routing is moving in a backward direction or will suffer from loop.The unique number is assigned to every node from source to destination.
 Neighbor Node Table : The table is maintained at every node that contains the information about every neighbor node in the network with respect to the current node.The search technique searches for the entire connected node in the network and store/update the neighbor node table accordingly.The sequence number of every neighbor node is stored in the table.The distance of every neighbor node from the destination is computed and stored in the table to facilitate shortest path search.
 Path Information: The path information contains the path trace from the souse node to the current node i.e. the actual routing map with the sequence number stored in the path information.E.g. suppose a route start from a source node with sequence number 1 and move through 3, 6, 7 to the node with sequence number 9 then the path information for the node number becomes 1367 9.This path trace helps to know the whole prorogated path from source to destination, which facilitates backtracking.The backtracking is needed when any of the network route fails, in this case the path information can be used to backtrack i.e. moving back in the network and selecting any other optimal path.
 Efficiency Factor (EF): This efficiency factor is computed based on the historical records.The network efficiency of the route is monitored every time it sends a data packet through the node.If the route transmits the data packet efficiently, the value of EF increases and vice versa.This factor helps to select the most optimal path as the node for which the EF will be high will result in reliable and speedy data transfer.
 Data Packet Buffer: At every node, a buffer is maintained to store the receiving data packets to be transmitted to the destination node.The storing of data packet in the node buffer prevents any packet loss and reduces the network traffic.
 Scheduling of Data Packet: A node buffer may receive more than one data packet for routing it to the destination.The selection of the data packet is made in accordance with the priority of the data packets received and the packets are arranged in order of their priorities in the buffer.
When the data packet progress from source to destination the information maintained is viewed.The next node in the network is selected on the basis- Availability of path: The next node selected must be free to transmit the packet or the buffer of the node should be empty.All the nodes connected are viewed for the buffer position and the one, which is vacant or less busy, is selected.
 Distance from Destination: The Neighbor Node Table available at each node is examined for the node with minimum distance from the destination.The node with minimum distance is selected.
 Efficiency Factor: The efficiency factor computed at every node that provides the information about the network reliability is looked upon and the node with highest efficiency factor EF is selected.
Based on the commutative result of all the above-described parameters the packet is transmitted to the next node with the condition that the current distance should be less than the distance from the next node.If in case the network path fails the packet is transmitted back to the previous node in the path information and any other path is selected.If there are multiple data packets at any node the scheduling of data packets is done to prevent any collision and data loss.The scheduling is done according to the priority of the data packets.The proposed algorithm provides an efficient way to transmit data over the wireless network reliably and with failure recovery mechanism.
Table 3 prescribed in the below gives the sequential flow of the routing steps.This algorithm described involves reliable data packet transfer through the best possible path and minimum time latency.

Conclusions and Future Works
Each earlier proposed protocol has their own merits and demerits, none of them can be claimed as absolutely better than others can.This paper compared the two ad-hoc routing protocols: AODV an on-demand routing protocol, and DSDV a table-driven protocol and proposed a better routing algorithm with historical monitoring of the network and failure recovery to facilitate reliable transmission of data packet over the wireless network.

Routing
Algorithm is based on the idea of the classical Bellman-Ford Routing Algorithm with certain improvements.Every mobile station maintains a routing table that lists all available destinations, the number of hops to reach the destination and the sequence number assigned by the destination node.The sequence number is used to distinguish stale routes from new ones and thus avoid the formation of loops.The stations periodically transmit their routing tables to their immediate neighbors.A station also transmits its routing table if a significant change has occurred in its table from the last update sent.Therefore, the update is both time-driven and event-driven.The routing table updates can be sent in two ways: a "full dump" or an incremental update.A full dump sends the full routing table to the neighbors and could span many packets whereas in an incremental update only those entries from the routing table are sent that has a metric change since the last update and it must fit in a packet.If there is space in the incremental update packet then those entries may be included whose sequence number has changed.When the network is relatively stable, incremental updates are sent to avoid extra traffic and full dump are relatively infrequent.In a fast-changing net- work, incremental packets can grow big so full dumps will be more frequent.Each route update packet, in addition to the routing table information, also contains a unique sequence number assigned by the transmitter.The route labeled with the highest (i.e.most recent) sequence number is used.If two routes have the same sequence number then the route with the best metric (i.e.shortest route) is used.Based on the history, the stations estimate the settling time of routes.The stations delay the transmission of a routing update by settling time to eliminate those updates that would occur if a better route were found very soon.