Вы находитесь на странице: 1из 33

Ad Hoc On-Demand

Distance Vector Routing


(AODV)

Routing Protocols
Reactive (On-demand) protocols
Discover routes when needed
Source-initiated route discovery
Examples of On-demand routing protocols includes,
Dynamic Source Routing Protocol(DSR)
Ad Hoc On-demand Distance Vector Routing
Protocol (AODV)
Temporally Ordered Routing Protocol(TORA)

Introduction
The Ad hoc On-Demand Distance Vector protocol is
both an on-demand and a table-driven protocol.
Each route has a lifetime after which the route
expires if it is not used.
A route is maintained only when it is used and
hence old and expired routes are never used.
AODV allows mobile nodes to respond quickly to
link breakages and changes in network topology.
The Aim of AODV is to find the optimized path
from source to destination.
It uses hop-by-hop routing by maintaining routing
table entries at intermediate nodes
AODV establishes a loop free routing mechanism

Introduction
Every node maintains two separate counters
Sequence number
Broadcast-id (increments whenever the
source issues a new RREQ)
Every node maintains its respective routing table
S.n
o

S.n
o

AODV mechanisms
The 2 mechanisms of AODV
Route Discovery
Route Maintenance

Types of packets
RREQ- Route request , to discover the path
RREP- Route reply, to acknowledge the source
RERR- Route error, generated when there is no
path or any link breakage

RREQ Packet

RREP Packet

Route Discovery
Initiated when the source needs a route to
destination and it does not have a route in its
routing table
To initiate route discovery, the source floods RREQ
packet in the network specifying the destination.
Each node forwards the request only once (pure
flooding).
S

E
F

C
G
B

Route Discovery
When a node receives a RREQ packet,
it checks to see whether it is the destination
(or)
Whether it has a route to the destination
If either case is true , the node generates an
RREP packet, which is sent back to the source
along the reverse path
If the node is not the destination , and does not
have a route to the
, it broadcasts the
S destination
E
RREQ packet.
F
A

C
G
B

Route Discovery
At intermediate nodes, duplicate RREQ packets are
discarded
Each entry in the node routing table and all RREQ
and RREP packets are tagged with a destination
sequence number
A larger destination number indicates a more
recent route
A node updates its routing information if the route
contained in the RREQ or RREP packet is more
current than its own route.

Route Maintenance
An intermediate node may also send a RREP
provided that it knows a more recent path than
the one previously known to the sender S
When a node detects a broken link attempting to
forward a packet to the next hop, it generates a
RERR packet that is sent to all sources using the
broken link
RERR packet is generated when there is no path
or any link breakage
If a source receives a RERR packet and a route to
a destination is still required , it initiates a new
discovery process.

Routing table management


Route table management
Route request expiration time (purpose
of this timer is to erase reverse path routing
entries from those nodes that do not lie on
the path)
A neighbor is considered active if it
originates or relays at least one packet to
the destination
Active route timeout (this information is
maintained so that all active source nodes
can be notified when a link breaks)

Route Requests in AODV


Y
Z

E
F

G
H

K
I

D
N

Represents a node that has received RREQ for D from S


12

Route Requests in AODV


Y

Broadcast transmission
Z
S

E
F

G
H

K
I

D
N

Represents transmission of RREQ


13

Route Requests in AODV


Y
Z
S

E
F

G
H

Represents links on Reverse Path


14

Reverse Path Setup in AODV


Y
Z
S

E
F

G
H

K
I

D
N

Node C receives RREQ from G and H, but does not forward


it again, because node C has already forwarded RREQ once
15

Reverse Path Setup in AODV


Y
Z
S

E
F

G
H

K
I

D
N

16

Reverse Path Setup in AODV


Y
Z
S

E
F

G
H

Node D does not forward RREQ, because node D


is the intended target of the RREQ
17

Route Reply in AODV


Y
Z
S

E
F

G
H

Represents links on path taken by RREP

18

Forward Path Setup in AODV


Y
Z
S

E
F

G
H

Forward links are setup when RREP travels along


the reverse path
Represents a link on the forward path

19

Data Delivery in AODV


Y
Z
S

E
F

G
H

K
I

D
N

Routing table entries used to forward data packet


Route is not included in the packet header
20

AODV: Routing Loops


A

E
A

Assume, link C-D fails, and node A does not


know about it (route error packet from C is lost).
C performs a route discovery for D.
Node A receives the route request (via path C-EA)
Node A replies, since A knows a route to D via
node B

Avoidance of Loop
DSN = Destination Sequence Number.
A

D
9

7
E

10

All DNSs are for D

Link failure increments the DSN at C (now is 10).


If C needs route to D, RREQ carries the DSN (10).
A does not reply as its own DSN is less than 10.
Loop freedom: Intermediate node replies with a
route (instead of forwarding request) only if it has a
route with a higher associated sequence number.

Route Error
In the first scenario the real problem is not that
the Node does not have a route; the problem is
that some other node thinks that the correct
Route to the Destination is through that Node.
In the second scenario the Node receives a RERR
that cause at least one of its Route to become
invalidated. If it happens, the Node would then
send out a RERR with all the new Nodes which are
now unreachable

Route Error

AODV: Use Sequence


Numbers
Each node X maintains a sequence number
acts as a time stamp
incremented every time X sends any message

Sequence number signifies freshness of the route


higher the number, more up to date is the route.
Sequence number uses rollover mechanism
Sequence number is incremented
By 1 if there is a link break
By 2 if a message is passed from one node to another

All AODV messages are sent to port 654 using UDP

Sequence No. updating

Optimization
To reduce congestion in a network, repeated attempts by a
source node at route discovery for a single destination
MUST utilize a binary exponential back off
mechanism.
The first time a source node broadcasts a RREQ, it waits
NET_TRAVERSAL_TIME milliseconds for the reception of a
RREP.
If a RREP is not received within that time, the source node
sends new RREQ.
When calculating the time to wait for the RREP after
sending the second RREQ, the source node MUST use a
binary exponential backoff.

Useful optimization: An intermediate node with


a route to D can reply to route request.
Faster operation.
Quenches route request flood.

Applications
Tactical networks
Military communication, automated battlefields
Emergency Services
Search and rescue operations
Disaster recovery Earthquakes, hurricanes .
Educational
Virtual classrooms or conference rooms.
Set up ad hoc communication during conferences,
meeting, or lectures
Home and Entertainment
Home/office wireless networking.
Personal Area network
Multiuser games
Outdoor internet access.

Challenges
Infrastructure less
Brings new network designing challenges.
Dynamically changing topologies
Cause route changes, frequent network partitions and
packet loss.
Physical layer limitations
Limited Wireless range.
Packet loss during transmission.
Broadcast nature of the communication.
Limitations of Mobile Nodes
Short battery life
Limited capacities.
Network security.
Energy-constrained
Limited Physical security
Scalability

Advantage
The main advantage of this protocol
is having routes established on
demand
Destination sequence numbers are
applied to find the latest route to the
destination
The connection setup delay is lower

Disadvantage
Multiple Route reply packets in
response to a single route request
packet can lead to heavy control
overhead
High amount of bandwidth is
consumed because of the periodic
beaconing.

Summary

AODV -- efficient algorithm for ad-hoc networks


Need for broadcast is minimized
Quick response to link breakage in active routes
Loop free routes
At most one route per destination maintained at
each node
After link break, all routes using the failed link
are erased.
Expiration based on timeouts.
Use of sequence numbers to prevent loops.
Optimizations
Routing tables instead of storing full routes.
Control flooding

Thank you