3 Adhoc On Demand Distance Vector Aodv Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

AODV (Ad-hoc On-demand Distance Vector Routing) is a loop-free routing protocol for Ad hoc networks. It is designed to be self-starting in an environment of mobile nodes, defying a variety of network doingses such as node mobility, link failures and packet losses [1]. It is a reactive routing protocol, meaning that it establishes a route to a destination only when required. The most common routing protocols of the Internet are proactive, meaning they find routing paths independently of the utilization of the paths. [2]

AODV maintains a routing table at each node. The routing table entry for a destination contains following essential fields:

The packets which are meant for the next hop node are sent to their target. For the purpose of time stamping, they all bear a sequence number, this sequence number also gives information related to the freshness of the route. The hop count interprets the up-to-date distance to the target node.

For the purpose of route discovery in AODV, a request response cycle is used. The primary step in the request response cycle is the broadcasting of an RREQ (Route Request) message by the node to all its neighbors in order to find the route to its destination. Now when a node receives a RREQ, but it doesn't have the route for the destination which the broadcasting node is seeking, it will further broadcast this RREQ, and when the information about the route is received, this information is sent to the original requesting node.

As we discussed, if the receiving node does not have the route to the destination, it will broadcast it again. This cycle of broadcasting and rebroadcasting will continue till the valid route to the destination is not found. When the node (which could be the destination node itself) is found containing the route, it will reply with a RREP (Route Reply) message. This reply is unicated back to the original node. That is how the whole request response cycle works.

Now if the case arises that a node looses connectivity with the next hop, it will transmit an RERR message.

On the basis of RREQ, RREP and RERR messages, the information regarding the sequence, next hop and the hop count of their routes is maintained by a node.

3.1.1 Flow of Events in AODV

Following is a flow chart which shows the activities of nodes in the network and the sequence of those activities when they receive AODV messages.

Figure 3.1 Flow Chart describing responses of Nodes on receiving different AODV messages

3.1.2 EXAMPLE

An example is presented over here to understand the route discovery in AODV.

Let's assume that in the Fig, S wants to communicate with D.

Figure 3.2 AODV Route Development step 1

The node S broadcast the RREQ message to its neighbors in order to find a route to the node D. The RREQ message will contain the sequence number, broadcast ID and the destination address. .[3]

Figure 3.3 AODV Route Development step 2

Each node receiving the route request sends a route back (Forward Path) to the node.[3]

Figure 3.4 AODV Route Development step 3

The RREQ procedure completes or the route can be determined when the RREQ message reaches the desired node through which the destination node can be accessed or it could b the destination node itself. [3]

Figure 3.5 AODV Route Development step 4

The route is made available by unicasting a RREP back to S and is written in the routing table from S. After receiving the route reply each node has to update its routing table if the sequence number is more recent [3]. If the source node receives more than one RREP, it selects the route with greatest sequence number and smallest hop count. [4]

Figure 3.6 AODV Route Development step 5

Node S now has the route for node D and it can communicate with it. [3]

Figure 3.7 AODV Route Development step 6

When a link break in an active route is discovered, the broken link is invalid and a RERR message is sent to other nodes. If the nodes have a route in their routing table with this link, the route will be wiped off. Node S sends once again a route request to his neighbor nodes, or a node on the path to the destination can try to find a route to D. This mechanism is called: Local Route Repair. [3]

Figure 3.8 Generation of Route Error on link break

3.3 ADVANTAGES AND DISADVANTAGES

3.3.1 Disadvantages

The routes are maintained between the two nodes that have to communicate. [5]

Routes are established on demand and for finding the latest route to the destination, destination sequence number is utilized.

It also has a minor connection setup delay.

The information related to the route to the destination is locally stored in each relay based on reverse path setup procedure and we don't have to send the whole route information in the packet header [5].

It will result in better performance when there is a small set of source and destination on each node [5].

AODV has the ability to provide unicast, multicast and broadcast communication ability [6].

3.3.2 Disadvantages

The control overhead increases significantly when multiple route reply packets are received in response to a single RREQ [7].

Periodic beaconing in AODV is a disadvantage which results in unnecessary bandwidth consumption [7], it was used in the first version but now it is removed in the final version of AODV [8].

Another problem is related to the intermediate nodes which can lead to inconsistent routes if the intermediate nodes have higher but not the latest destination sequence number and the source sequence number is very old.

3.4 RECEVING RREQ (Route Request)

When an RREQ is received by a particular node, it is checked whether the entry is present in the routing table or not for the originator of RREQ. If an entry is not present, it saves the route to the originator with sequence number present in RREQ message. If an entry is already present in its routing table for the originator, then the existing sequence number in routing table is compared with the received one. If the received sequence number is greater than the existing one it updates the route entry for originator and then processes this RREQ. If the received sequence number is smaller or equal to the existing one it does not update the route entry for originator and then processes this RREQ.

The receiving node then compares its route RREQ ID with the RREQ ID's of RREQ's which it has already received (seek list). If RREQ ID matches, it discards RREQ and does not forward it.

If RREQ ID does not match with any entry of the list of RREQ ID's, then Further the receiving node of RREQ checks whether it is the destination of that RREQ or not. If it is the target destination, it generates RREP (Route Reply) in response and unicasts it to the originator. If it is not the target of that RREQ, the routing table is checked to see that is there route to the destination is present or not. Also this route is fresh or not (by comparing sequencing number). If it finds a fresh route to destination in its routing table then in response RREP is generated and is unicasted to the originator of RREQ. If it does not contain a fresh route to the target destination then it broadcasts this RREQ on its all interfaces.

In case of multiple physical interfaces, every node deals with RREQ received on a particular interface independently and separately. It means, when a node receives RREQ on interface 1, it will process it as mentioned above but when it will receive the same RREQ (with same RREQ ID) through other interface, the node will discard this request after saving reverse route to originator through this path.

While this node will send RREP of this RREQ it will unicast it on both interfaces.

3.5 RECEVING RREP (Route Reply)

On receiving an RREP message, the forward path is updated by the node to the intermediate sender of RREP. Then it checks whether this RREP is the response of a RREQ generated by itself or not. If the received RREP is of its own RREQ, the process of route discovery is completed here. Now it starts sending data to the desired destination. The RREP is unicasted to the next hop towards destination if this RREP is not of its RREQ.

In case of multiple physical interfaces, when a node receives RREP on an interface, it updates its forward route corresponding to that interface and unicasts RREP to next hop on the interface over which it previously received corresponding RREQ.

RECEVING RERR (Route Error)

If RERR message is received by a node, it removes corresponding affected routes. In case the receiving node is the next hop of any other node towards the destination with affected link break, then it forwards RERR to its next hops so that they can also remove their affected routes; else it discards RERR.

In case of multiple physical interfaces, RERR will be generated and forwarded only when all links to a node fail because it can be a case that one link to a node may fail but other may work fine.

3.7 EXAMPLE

An example is presented over here to understand the node based AODV routing. This example covers traversing and processing of RREQ, RREP and REEE messages. In this example a scenario is shown in which four nodes are connected as shown:

Supposition:

Suppose a network of four Nodes as shown in diagram below.

Node 1 has one interface IF-1 and its neighbor is Node 2.

Node 2 and Node 3 are neighbors on both interfaces IF-1 and IF-2.

NODE 1

IF-1

IF-1

NODE 4

IF-1

IF-1

IF-2

IF-2

NODE 2

NODE 3

IF-1

IF-1

IF-2

IF-2

IF-1

IF-1

IF-2

IF-2

Similarly Node 3 and Node 4 are neighbors on both interfaces IF-1 and IF-2.

Figure 3.9 Example Wireless Ad hoc Network of four Nodes

Sequence of Events in Route Discovery of Node 4 from Node 1:

Types of messages used to develop AODV routing:

RREQ: Route Request

RREP: Route Reply

RERR: Route Error

3.7.1 Traversing of RREQ:

Processing of Node 1

Node 1 will generate a RREQ with a sequence number and broad cast this RREQ on its interface IF-1. Node 1 is only listenable by Node 2 and only on IF-1.

Processing of Node 2

Node 2 will receive RREQ on its interface IF-1.

Node 2 will set reverse route for Node 1 on interface IF-1 on the condition that the sequence number of received RREQ is greater than one that already exists.

Node 2 will test either it is the target destination or not.

If Node 2 check results in that it is the destination node, it will update its sequence number for Node 1 (if necessary), generate RREP and will unicast it to Node 1 on interface 1.

If Node 2 is not the destination then it will check for the information related to route to destination or not.

If it already has the route to the destination on its both interfaces or any interface, it will compare the sequence number in RREQ and the existing sequence number. If the existing sequence number is equal or greater than the received one, Node 2 will generate and unicast RREP to Node 1 on its interface 1.

On the other hand if the received sequence number is greater than the existing one, Node 2 will broadcast this RREQ on its both interfaces IF-1 and IF-2. Before broad casting the RREQ on either interface, Node 2 will set the correct interface index in RREQ.

In this example, since Node 2 will not have route to Node 4, so it will broad cast received RREQ.

Processing of Node 3

Node 3 will receive RREQ on its both interfaces IF-1 and IF-2.

Suppose Node 3 will receive RREQ on interface IF-1 first.

Node 3 will set reverse route for Node 1 on interface IF-1 if the sequence number of received RREQ is greater than the existing one.

Node 3 will check if it is the target destination or not.

If Node 3 is the destination node, it will update its sequence number for Node 1 (if necessary), generate RREP and will unicast it to Node 2 on interface 1.

If Node 3 is not the destination then it will check whether it has any route to destination or not.

If it already has the route to the destination on its both interfaces or any interface, it will compare the existing sequence number and that in the RREQ. If the existing sequence number is equal or greater than the received one, Node 3 will generate and unicast RREP to Node 2 on its interface 1.

If the existing sequence number is less than the received one, Node 3 will broadcast this RREQ on its both interfaces IF-1 and IF-2. (Does not have fresh enough route). Before broad casting the RREQ on either interface, Node 3 will set the correct interface index in RREQ.

Node 3 will also receive this RREQ on interface IF-2 again. If Node 3 has already flooded this RREQ received on interface 1, it will discard this RREQ, but later it will also send RREP to Node 2 on this Interface 2. Also Node 3 will set reverse route for Node 1 on interface IF-2.

In this example, since Node 3 will not have route to Node 4, so it will broad cast received RREQ on its both interfaces 1 and 2.

Node 3 is only listenable by Node 4 on its both interfaces IF-1 and IF-2.

Processing of Node 4

Same steps will be repeated by Node 4 as by Node 3.

In this example Node 4 will generate RREP.

Traversing of RREP:

Processing of Node 4

Suppose Node 4 receives RREQ on interface 1 first.

First Node 4 will set reverse route to Node 3 on interface 1. Then it will update its own sequence number by comparing its sequence number with the sequence number of destination in received RREQ.

Then it will generate and unicast RREP to Node 3 on interface 1.

When Node 4 will again receive same RREQ through other interface, it will set its reverse route to Node 3 through this interface and will discard it.

Processing of Node 3

Suppose Node 3 will receive RREP on interface 1 first.

When Node 3 will receive RREP message, the forward route is set to Node 4 on interface 1.

Then Node 3 will check if it is the originator of corresponding RREQ or not.

If it is the originator of corresponding RREQ, it will start sending the data packets queued to the node from which it recently received RREP.

If it is not the originator of corresponding RREQ of received RREP then it will unicast (forward) this RREP to next hop through the interfaces over which it received corresponding RREQ.

In this example, Node 3 will unicast this RREP to Node 2 on interfaces 1.

Processing of Node 2

Suppose Node 2 will receive RREP on interface 1 first.

When Node 2 will receive RREP message, the forward route is set to Node 3 on interface 1.

Then Node 2 will check if it is the originator of corresponding RREQ or not.

If it is the originator of corresponding RREQ, it will start sending the data packets queued to the node from which it recently received RREP.

If it is not the originator of corresponding RREQ of received RREP, then it will unicast (forward) this RREP to next hop (Node 1) through interface 1 only.

In this example Node 2 will unicast this RREP to Node 1 on interface 1.

Processing of Node 1

When Node 1 will receive RREP message, the forward route is set to Node 2 on interface 1.

Then Node 1 will check if it is the originator of corresponding RREQ or not.

If it is the originator of corresponding RREQ, it will start sending the data packets queued to the node from which it recently received RREP.

In this example, since Node 1 is the originator of RREQ so it will now start sending data to Node 2 destined for Node 4.

Hence the Route Discovery process completes.

In this example the routing table of Node 1 will look like:

Destination node

Next node

Hop Count

My Interface index

Next node IP

Destination Sequence Number

1

1

1

1

IP-1

X

3

3

1

1

IP-1

X

4

3

2

1

IP-1

X

The routing table of Node 2 will look like:

Destination node

Next node

Hop Count

My Interface index

Next node IP

Destination Sequence Number

2

2

1

1

IP-1

X

3

2

2

1

IP-1

X

4

2

3

1

IP-1

X

Flags, states and timers are not shown in the table.

Data type of node and interface index is 8 bit integer.

[1] C.Perkins, E. Royer, and S. Das. Ad Hoc

On Demand Distance Vector (AODV) Routing.

IETF Draft, http://www.ietf.org/internet-drafts/draftietf-

manet-aodv-10.txt, January 2002.

[2] http://en.wikipedia.org/wiki/AODV

[3] http://wiki.uni.lu/secan-lab/Ad+Hoc+On-Demand+Distance+Vector+Routing+Protocol.html

[4] Mobile ad hoc networking

  By Stefano Basagni, Marco Conti, Silvia Giordano, Ivan Stojmenović

Page number 283 Chapter Reactive Approaches

[5] New Horizons in Mobile and Wireless Communications: Ad hoc networks and PANs

By Ramjee Prasad, Albena Mihovska pp 36

[6] Ad Hoc Networking

  By Perkins Charles E. pp 175

[7] Ad Hoc Wireless Networks: Architectures and Protocols

 By C. Siva Ram Murthy, B. S. Manoj, C. Siva Ram Murthy, pp 345

[8] Self-organization in sensor and actor networks By Falko Dressler, pp 138

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.