Mobile Ad Hoc Networks: Comparasion of Multipath Routing Protocols with Unipath Routing Protocols

The latest technology MANETs is being studied widely and attracting a large variety of applications. Due to varying network topology, The most common challenging factor in MANET is routing [1][2]. Future applications of MANETs are expected to be based on all-IP architecture and be capable of carrying multitude real-time multimedia applications such as voice and video as well as data. It is very necessary for MANETs to have an efficient routing and quality of service (QoS) mechanism to support diverse applications. In this research paper, we study the various unipath routing protocols such as DSDV, WRP,GSR,FSR,AODV,

w w w . i j c t o n l i n e . c o m

INTRODUCTION
There are two architectures that allow two wireless stations to communicate with each other. The first one relies on a third fixed party (a base station) that will hand over the offered traffic from a station to another. This same entity will regulate the allocation of radio resources. When a source Node wishes to communicate with a destination node, the former notifies the base station, which eventually establishes the communication with the destination node. At this point, the communicating nodes do not need to know about the route from one to the other. All that matters is that both source and destination nodes are within the transmission range of the base station; if one of them loses this condition, the communication will abort. The second approach, called ad-hoc, does not rely on any stationary infrastructure. All nodes in ad hoc networks are mobile and can be connected dynamically in an arbitrary manner. Each node in such networks behaves as a router and takes part in discovery and maintenance of routes to other nodes destination. The router chooses the next node to which a packet should be forwarded according to its current understanding of the state of the network.

ROUTING CLASSIFICATION IN AD HOC NETWORKS
Designing a routing protocol for ad hoc networks is challenging because of the need to take into account two contradictory factors:  a node needs to know at least the "reachability" information to its neighbors for determining a packet route; and  The network topology can change quite often.
Furthermore, as the number of network nodes can be large, finding a route to the destinations also requires large and frequent exchange of routing control information among the nodes. Thus, the amount of update traffic can be quite high, and it is even higher when the network includes high mobility nodes, which can impact the route overhead of routing protocols in such a way that there might be no bandwidth leftover for the transmission of data packets.

PROACTIVE VERSUS REACTIVE APPROACHES
Ad hoc routing protocols may generally be categorized as being either proactive or on-demand (reactive) according to their routing strategy [3]. Proactive protocols require that nodes in a wireless ad hoc network should keep track of routes to all possible destinations so that when a packet needs to be forwarded, the route is already known and can be used immediately. Any changes in topology are propagated through the network, so that all nodes know of those changes in topology. Examples include "destination-sequenced distance-vector" (DSDV) routing [4], "wireless routing protocol" (WRP) [5], "global state routing" (GSR) [6], and "fisheye state routing" (FSR) [7].
On-demand protocols only attempt to build routes when desired by the source node so that the network topology is detected as needed (on-demand). When a node wants to send packets to some destination but has no routes to the destination, it initiates a route discovery process within the network. Once a route is established, it is maintained by a route maintenance procedure until the destination becomes inaccessible or until the route is no longer needed. Examples include "ad hoc on-demand distance vector routing" (AODV) [4], "dynamic source routing" (DSR) [5], and "Cluster Based Routing protocol" (CBRP) [8].

CLUSTERING AND HIERARCHICAL ROUTING
Scalability is one of the important problems in ad hoc networking. Scalability in ad hoc networks can be broadly defined as the network's ability to provide an acceptable level of service to packets even in the presence of a large number of nodes in the network. In proactive routing protocols, when the number of nodes in the network increase, the number of topology control messages increases nonlinearly and they may consume a large portion of the available bandwidth. In reactive routing protocols, large numbers of route requests to the entire network may eventually become packet broadcast storms. Typically, when the network size increases beyond certain thresholds, the computation and storage requirements become infeasible. When mobility is considered, the frequency of routing information updates may be significantly increased, thus worsening the scalability issues.

REVIEW OF AD HOC PROACTIVE ROUTING PROTOCOLS
This section presents brief descriptions for several existing proactive routing protocols

Dynamic Destination-Sequenced Distance-Vector Routing (DSDV)
The Destination-Sequenced Distance-Vector (DSDV) Routing Algorithm [4] is a proactive hop-by-hop distance vector routing protocol, which 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 routing table updates can be sent in two ways:  a "full dump" where the full routing table is sent to the neighbors (which could span many packets);  an incremental update where only those entries from the routing table that have had a metric change since the last update are sent (and these must fit in a single packet).

The Wireless Routing Protocol
The Wireless Routing Protocol (WRP) [8] is a proactive distance-vector routing protocol. Each node in the network maintains a distance table, a routing table, a link-cost table and a message retransmission list. Nodes periodically exchange routing tables with their neighbours using update messages as well as on link changes. The nodes present on the response list for the update message (formed using the MRL) are required to acknowledge the receipt of the update message. If there is no change in the routing table since last update, the node is required to send an idle "Hello" message to ensure connectivity. On receiving an update message, the node modifies its distance table and looks for better paths using the new information. Information is sent back to the original nodes about any new paths found so that their tables can be updated. The routing table is also updated if the new path is better than the existing path.

Global State Routing (GSR)
Global State Routing (GSR) [5] is similar to DSDV in that it takes the idea of link state routing but makes an improvement by reducing the flooding of routing messages.
The routing messages are generated on a link change as in all link state protocols. When it receives a routing message, the node updates its topology table if the sequence number of the message is newer than the sequence number stored in the table and it then reconstructs its routing table and broadcasts the information to its neighbors.

Fisheye State Routing (FSR)
Fisheye State Routing (FSR) [6] is an improvement of GSR. The large size of update messages in GSR wastes a considerable amount of network bandwidth, so to reduce this, FSR takes an approach where each update message does not contain information about all nodes. Instead, it exchanges information about closer nodes more frequently than it does about farther nodes, thus reducing the update message size. In this way, each node gets accurate information about near neighbours and accuracy of information decreases as the distance from the node increases.
Even though a node does not have accurate information about distant nodes, the packets are routed correctly because the route information becomes more and more accurate as the packet moves closer to the destination.

REVIEW OF AD HOC REACTIVE ROUTING PROTOCOLS
Reactive protocols take a lazy approach to routing. In contrast to proactive routing protocols, all up-to-date routes are not maintained at every node, but 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. In this section several typical reactive (on-demand) routing protocols are introduced.

Ad Hoc On-demand Distance Vector Routing (AODV)
AODV is an improvement on DSDV because it minimizes the number of required broadcasts by creating routes on an on-demand basis, as opposed to maintaining a complete list of routes, as in the DSDV algorithm. When a source node wants to send a message to some destination node and does not already have a valid route to that destination, it initiates a path discovery process to discover the other node. It transmit a route request (RREQ) packet to its neighbors, which then forward the request to their neighbours, and so on, until either the destination or an intermediate node with a "fresh enough" route to the destination is located. AODV utilizes destination sequence numbers to make certain that all routes are loop-free and contain the most recent route information. Each node maintains its own sequence number, as well as a broadcast ID. The broadcast ID is incremented for every RREQ the node initiates, and together with the nodes IP address, uniquely identifies a RREQ. Along with its own sequence number and the broadcast ID, the source node includes in the RREQ the most recent sequence number it has for the destination. Intermediate nodes can reply to the RREQ only if they have a route to the destination whose corresponding destination sequence number is greater than or equal to that contained in the RREQ.

Dynamic Source Routing (DSR)
The Dynamic Source Routing (DSR) protocol presented in [6] [7] is an on demand routing protocol that is based on the concept of source routing. Mobile nodes are required to maintain route caches that contain the source routes of which the mobile is aware. Entries in the route cache are continually updated as new routes are learned. DSR also has the capability to handle unidirectional links. Since DSR discovers routes on-demand, it may have poor performance in terms of control overhead in networks with high mobility and heavy traffic loads. Scalability is said to be another disadvantage of DSR.in DSR, when a mobile (source) needs a route to another mobile (destination), it initiates a route discovery process which is based on flooding. The source originates a RREQ packet that is flooded over the network. The RREQ packet contains a list of hops which is collected by the route request packet as it is propagated through the network. Once the RREQ reaches either the destination or a node that knows a route to the destination, it responds with a RREP along the reverse of the route collected by the RREQ [8]. This means that the source may receive several RREP messages corresponding, in general, to different routes to the destination. DSR selects one of these routes, and it maintains the other routes in a cache. The routes in the cache can be used as substitutes to speed up the route discovery if the selected route w w w . i j c t o n l i n e . c o m gets disconnected. To avoid that RREQ packets travel forever in the network, nodes, that have already processed a RREQ, discard any further RREQ bearing the same identifier.

Cluster based Routing Protocol (CBRP)
In Cluster Based Routing protocol (CBRP) [9], the nodes are divided into clusters. To form the cluster the following algorithm is used. When a node comes up, it enters the "undecided" state and broadcasts a Hello message. When a clusterhead gets this hello message it responds with a triggered hello message immediately. When the undecided node gets this message it sets its state to "member". If the undecided node times out, then it makes itself the cluster-head if It has bidirectional link to some neighbour otherwise it remains in undecided state and repeats the procedure again. Cluster-heads are changed as infrequently as possible.
In CBRP, routing is done using source routing. It also uses route shortening that is on receiving a source route packet, the node tries to find the farthest node in the route that is its neighbor and sends the packet to that node thus reducing the route. While forwarding the packet if a node detects a broken link it sends back an error message to the source and then uses local repair mechanism. In local repair mechanism, when a node finds the next hop is unreachable, it checks to see if the next hop can be reached through any of its neighbour or if hop after next hop can be reached through any other neighbour. If any of the two works, the packet can be sent out over the repaired path.  Table 1 shows and compares the unipath routing protocols for mobile ad hoc networks.

AD HOC ON-DEMAND MULTIPATH ROUTING PROTOCOLS
Standard on-demand routing protocols in ad hoc wireless networks, such as AODV and DSR, are mainly intended to discover a single route between a source and destination node. When the route disconnects, nodes of the broken route simply drop data packets because no alternate path to the destination is available until a new route is established. Multipath routing is useful for finding multiple paths between a source and destination in a single discovery. These multiple paths between source and destination can be used to compensate for the dynamic and unpredictable topology change in ad hoc networks. Recently, several different Multipath routing mechanisms have been proposed.

Ad hoc On-demand Multipath Distance Vector (AOMDV)
Ad hoc On-demand Multipath Distance Vector (AOMDV) [7] is an extension to the AODV protocol for computing multiple loop-free and link-disjoint paths. The protocol computes multiple loop-free and link-disjoint paths. Loop-freedom is guaranteed by using a notion of "advertised hop count". Link-disjointness of multiple paths is achieved by using a particular property of flooding. w w w . i j c t o n l i n e . c o m To keep track of multiple routes, the routing entries for each destination contain a list of the next-hops together with the corresponding hop counts. All the next hops have the same sequence number. For each destination, a node maintains the advertised hop count, which is defined as the maximum hop count for all the paths. This is the hop count used for sending route advertisements of the destination. Each duplicate route advertisement received by a node defines an alternative path to the destination. To ensure loop freedom, a node only accepts an alternative path to the destination if it has a lower hop count than the advertised hop count for that destination. Because the maximum hop count is used, the advertised hop count therefore does not change for the same sequence number. When a route advertisement is received for a destination with a greater sequence number, the next-hop list and advertised hop count are reinitialized.

Split Multipath Routing (SMR)
Split Multipath Routing (SMR) proposed in [8] is an on-demand Multipath source routing protocol that builds multiple routes using a request/reply cycle. SMR can find an alternative route that is maximally disjoint from the source to the destination. When the source needs a route to the destination but no route information is known, it floods the Route Request (RREQs) message to the entire network in order to find maximally disjoint paths, so the approach has a disadvantage of transmitting more RREQ packets. Because this packet is flooded, several duplicates that traversed through different routes reach the destination. The destination node selects multiple maximally disjoint routes and sends Route Reply (RREP) packets back to the source via the chosen routes. In order to choose proper maximally disjoint route paths, the destination must know the entire path of all available routes. Therefore, SMR uses the source routing approach where the information of the nodes that comprise the route is included in the RREQ packet.

Multipath Source routing (MSR)
Multipath Source Routing (MSR) [9] is an extension of the on-demand DSR [5] protocol. It consists of a scheme to distribute traffic among multiple routes in a network. MSR uses the same route discovery process as DSR with the exception that multiple paths can be returned, instead of only one.
When a source requires a route to a destination but no route is known (in the cache), it will initiate a route discovery process by flooding a RREQ packet throughout the network. A route record in the header of each RREQ records the sequence of hops that the packet passes. An intermediate node contributes to the route discovery by appending its own address to the route record. Once the RREQ reaches the destination, a RREP will reverse the route in the route record of the RREQ and traverse back through this route.
Each route is given a unique index and stored in the cache, so it is easy to pick multiple paths from there. Independence between paths is very important in Multipath routing, therefore disjoint paths are preferred in MSR. As MSR uses the same route discovery process as DSR, where the complete routes are in the packet headers, looping will not occur. When a loop is detected, it will be immediately eliminated.

Ad hoc On-demand Distance Vector Multipath Routing
Ad hoc On-demand Distance Vector Multipath Routing (AODVM) [3] is an extension to AODV for finding multiple node disjoint paths. Instead of discarding the duplicate RREQ packets, intermediate nodes are required to record the information contained in these packets in the RREQ table. For each received copy of an RREQ message, the receiving intermediate node records the source that generated the RREQ, the destination for which the RREQ is intended, the neighbor that transmitted the RREQ, and some additional information in the RREQ table. Furthermore, intermediate relay nodes are precluded from sending an RREP message directly to the source.
When the destination receives the first RREQ packet from one of its neighbors, it updates its sequence number and generates an RREP packet. The RREP packet contains an additional field called "last hop ID" to indicate the neighbors from which the particular copy of RREQ packet was received. This RREP packet is sent back to the source via the path traversed by the RREQ. When the destination receives duplicate copies of the RREQ packet from other neighbors, it updates its sequence number and generates RREP packets for each of them. Like the first RREP packet, these RREP packets also contain their respective last hop nodes' IDs Intermediate nodes make decisions on where to forward the RREP messages (unlike in source routing) and the destination, which is in fact the originator of these messages, is unaware as to how many of these RREP messages that it generated actually made it back to the source. Thus, it is necessary for the source to confirm each received RREP message by means of a Route Confirmation message (RRCM). The RRCM message can, in fact, be added to the first data packet sent on the corresponding route and will also contain information with regards to the hop count of the route, and the first and last hop relays on that route