A Study on Ad-Hoc on-Demand Distance Vector (AODV) Protocol

AODV is a very simple, efficient, and effective routing protocol for Mobile Ad-hoc Networks which do not have fixed topology. This algorithm was motivated by the limited bandwidth that is available in the media that are used for wireless communications. It borrows most of the advantageous concepts from DSR and DSDV algorithms. The on demand route discovery and route maintenance from DSR and hop-by-hop routing, usage of node sequence numbers from DSDV make the algorithm cope up with topology and routing information. Obtaining the routes purely on-demand makes AODV a very useful and desired algorithm for MANETs.


INTRODUCTION
The Ad hoc On-Demand Distance Vector (AODV) routing protocol is intended for use by mobile nodes in ad hoc network. It offers quick adaptation to dynamic link conditions, low processing and memory overhead, low network utilization and determines unicast routes to destinations within the ad hoc network.

Working of AODV
Each mobile host in the network acts as a specialized router and routes are obtained as needed, thus making the network self-starting. Each node in the network maintains a routing table with the routing information entries to it's neighbouring nodes, and two separate counters: a node sequence number and a broadcast-id.
When a node (say, source node 'S') has to communicate with another (say, destination node 'D'), it increments its broadcast-id and initiates path discovery by broadcasting a route request packet RREQ to its neighbors. The RREQ contains the following fields: source-addr source-sequence# -to maintain freshness info about the route to the source.

dest-addr
dest-sequence# -specifies how fresh a route to the destination must be before it is accepted by the source.

hop-cnt
The (source-addr, broadcase-id) pair is used to identify the RREQ uniquely. Then the dynamic route table entry establishment begins at all the nodes in the network from S to D.As RREQ travels from node to node, it automatically sets up the reverse path from all these nodes back to the source. Each node that receives this packet records the address of the node from which it was received. This is called Reverse Path Setup. The nodes maintain this info for enough time for the RREQ to traverse the network and produce a reply to the sender and time depends on network size.
If an intermediate node has a route entry for the desired destination in its routing table, it compares the destination sequence number in its routing table with that in the RREQ. If the destination sequence number in its routing table is less than that in the RREQ, it rebroadcasts the RREQ to its neighbors. Otherwise, it unicasts a route reply packet to its neighbor from which it was received the RREQ if the same request was not processed previously (this is identified using the broadcase-id and source-addr).
Once the RREP is generated, it travels back to the source, based on the reverse path that it has set in it until traveled to this node. As the RREP travels back to source, each node along this path sets a forward pointer to the node from where it is receiving the RREP and records the latest destination sequence number to the request destination. This is called Forward Path Setup.   The other useful information contained in the entries along with source and destination sequence numbers is called softstate information associated to the route entry. The info about the active neighbors for this route is maintained so that all active source nodes can be notified when a link along a path to the destination breaks. And the purpose of route request time expiration timer is to purge the reverse path routing entries from all the nodes that do not lie on the active route.

Interesting concepts of AODV
The concepts of AODV that make it desirable for MANETs with limited bandwidth include the following: Simple: It is simple with each node behaving as a router, maintaining a simple routing table, and the source node initiating path discovery request, making the network selfstarting.

Most effective routing info:
After propagating an RREP, if a node finds re-ceives an RREP with smaller hop-count, it updates its routing info with this better path and propagates it.

Most current routing info:
The route info is obtained on demand. Also, after propagating an RREP, if a node finds receives an RREP with greater destination sequence number, it updates its routing info with this latest path and propagates it.
Loop-free routes: The algorithm maintains loop free routes by using the simple logic of nodes discarding non better packets for same broadcast-id.

Coping up with dynamic topology and broken links:
When the nodes in the network move from their places and the topology is changed or the links in the active path are broken, the intermediate node that discovers this link breakage propagates an RERR packet. And the source node re-initializes the path discovery if it still desires the route. This ensures quick response to broken links.
Highly Scalable: The algorithm is highly scalable because of the minimum space complexity and broadcasts avoided when it compared with DSDV [11].

Advanced uses of AODV
Because of its reactive nature, AODV can handle highly dynamic behavior of Vehicle Ad-hoc networks [26].
Used for both unicasts and multicasts using the 'J' (Join multicast group) flag in the packets [11].
Limitations/Disadvantages of AODV Overhead on the bandwidth: Overhead on bandwidth will be occured com-pared to DSR,when an RREQ travels from node to node in the process of dis-covering the route info on demand, it sets up the reverse path in itself with the addresses of all the nodes through which it is passing and it carries all this info all its way.
No reuse of routing info: AODV lacks an efficient route maintenance tech-nique. The routing info is always obtained on demand, including for common case traffic [12].
It is vulnerable to misuse: The messages can be misused for insider attacks in-cluding route disruption, route invasion, node isolation, and resource consumption [15].

AODV lacks support for high throughput routing metrics:
AODV is designed to support the shortest hop count metric. This metric favors long, low-bandwidth links over short, high-bandwidth links [2].
High route discovery latency: AODV is a reactive routing protocol. This means that AODV does not discover a route until a flow is initiated. This route discovery latency result can be high in large-scale mesh networks.

Discussion and Conclusion Discussion
After reviewing the concept of wireless ad-hoc networks and two routing protocols namely, AODV and DSDV. We would like to make a comparative discussion of both the protocols with their pro's and con's. Most of the discussion being made is based on previous studies and implementations done by many authors [2,10,12].
DSDV is a proactive routing protocol, which maintains routes to each and every node in the network, while AODV is a reactive routing protocol which finds the path on demand or whenever the route is required.
Broadcasting in DSDV is done periodically to maintain routing updates and in AODV, only hello messages are propagated to its neighbors to maintain local connectivity. DSDV routing algorithm maintains a sequence number concept for updating the latest information for a route. Even, the same concept is adapted by AODV routing protocol.
Due to the periodic updates being broadcasted in DSDV, bandwidth is wasted when the nodes are stationary. But, this is not the case with AODV, as it propa-gates only hello messages to its neighbours.
For sending data to a particular destination, there is no need to find a route as DSDV routing protocol maintains all the routes in the routing tables for each node. While, AODV has to find a route before sending a data.
Overhead in DSDV is more when the network is large and it becomes hard to maintain the routing tables at every node. But, in AODV overhead is less as it maintains small tables to maintain local connectivity.
DSDV cannot handle mobility at high speeds due to lack of alternative routes hence routes in routing table is stale. While in AODV this is the other way, as it find the routes on demand. Throughput decreases comparatively in DSDV as it needs to advertise periodic updates and even-driven updates. If the node mobility is high then occurrence of event driven updates are more. But in AODV it doesn't advertise any routing updates and hence the throughput is stable.

Conclusion
The study reveals that, DSDV routing protocol consumes more bandwidth, because of the frequent broadcasting of routing updates. While the AODV is better than DSDV as it doesn't maintain any routing tables at nodes which results in less overhead and more bandwidth. From the above, chapters, it can be assumed that DSDV routing protocols works better for smaller networks but not for larger networks. So, my conclusion is that, AODV routing protocol is best suited for general mobile ad-hoc networks as it consumes less bandwidth and lower overhead when compared with DSDV routing protocol.