Beruflich Dokumente
Kultur Dokumente
1
AODV Functionality
Route Requests (RREQs) forwarded in manner similar to DSR
When node re-broadcasts a RREQ, it sets up reverse path
pointing towards source
AODV assumes symmetric (bi-directional) links
When intended destination receives RREQ, it replies by
sending a Route Reply (RREP)
RREP travels along reverse path set-up when RREQ is
forwarded
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
2
AODV Functionality (cont.)
Route request in AODV (1)
Blue rings represent nodes having received RREQ from S for D
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
3
AODV Functionality (cont.)
Route request in AODV (2)
Red dotted arrows represent transmission of RREQ
Broadcast transmission
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
4
AODV Functionality (cont.)
Route request in AODV (3)
Blue arrows represent links on reverse path
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
5
AODV Functionality (cont.)
Reverse path setup in AODV (1)
Node C receives RREQ from G and H, but not forwarded again,
because node C already forwarded RREQ once
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
6
AODV Functionality (cont.)
Reverse path setup in AODV (2)
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
7
AODV Functionality (cont.)
Reverse path setup in AODV (3)
Node D does not forward RREQ, because node D is intended target of
route discovery
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
8
AODV Functionality (cont.)
Forward setup path in AODV
Curved red arrows represent link on path taken by RREP
Forward links are setup when RREP travels along reverse path
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
9
AODV Functionality (cont.)
Route request and route reply
RREQ includes last known sequence number for destination
Intermediate node may also send RREP if knows more recent path than
the one previously known to sender
Intermediate nodes that forward RREP, also record next hop to
destination
A routing table entry maintaining reverse path is purged after timeout
interval
o Timeout should be long enough to allow RREP to come back
A routing table entry maintaining forward path is purged if not used
for active_route_timeout interval
o If no data sent using particular routing table entry, that entry is
deleted from routing table (even if route may still be valid)
Source: Dr. A. Timm-Giel, New Standards for Wireless Local Area Networks, University of Bremen, 2008
10
AODV Functionality (cont.)
Data delivery in AODV
Routing table entries used to forward data packet
Route not included in packet header
Source: http://www.cs.jhu.edu/~cs647/dsr.pdf
69
AODV Functionality (cont.)
Routing tables at nodes
RREQ from A to B
A B C
79
AODV Functionality (cont.)
Routing tables at nodes
RREQs from B to A and B to C
Reverse path set from B to A
A B C
13
AODV Functionality (cont.)
Routing tables at nodes
Reverse path set from C to B
A B C
14
AODV Functionality (cont.)
Routing tables at nodes
Path specified for RREP from C to A via B
RREP sent from C to B
A B C
15
AODV Functionality (cont.)
Routing tables at nodes
Path specified for RREP
A B C
Dest. Next Hop Seq Dest. Next Hop Seq Dest. Next Hop Seq
hop No. hop No. hop No.
C B 2 120 A A 1 1 A B 2 1
C C 1 120
16
AODV Functionality (cont.)
Link failure in AODV
Neighbour of node X considered active for routing table entry if
neighbour sent packet within active_route_timeout interval and was
forwarded using that entry
Neighbouring nodes periodically exchange hello message
When next hop link in routing table entry breaks, all active neighbours
are informed
Link failures are propagated by means of Route Error (RERR)
messages, which also update destination sequence numbers
Source: Dr. A. Timm-Giel, New Standards for Wireless Local Area Networks, University of Bremen, 2008
17
AODV Functionality (cont.)
Route error in AODV
When node X is unable to forward packet P (from node S to node D) on
link (X,Y), it generates a RERR message
X increments destination sequence number for D cached at node X
The incremented sequence number N is included in RERR
When node S receives RERR, it initiates new route discovery for D
using destination sequence number at least as large as N
When node D receives route request with destination sequence number
N, node D will set its sequence number to N, unless it is already larger
than N
Source: Dr. A. Timm-Giel, New Standards for Wireless Local Area Networks, University of Bremen, 2008
18
AODV Functionality (cont.)
AODV sequence number
To avoid using old/broken routes
o To determine which route is newer
To prevent formation of loops
o Assume that A does not know about failure of link C-D because RERR sent by C is
lost
o C performs a route discovery for D. Node A receives the RREQ (say, via path C-
E-A)
o Node A will reply since A knows a route to D via node B
o Results in a loop (for instance, C-E-A-B-C )
Source: Dr. A. Timm-Giel, New Standards for Wireless Local Area Networks, University of Bremen, 2008
19
AODV Functionality (cont.)
AODV summary
Routes need not be included in packet headers
Nodes maintain routing tables containing entries only for routes that
are in active use
At most one next-hop per destination maintained at each node
o DSR may maintain several routes for single destination
Sequence numbers used to avoid old/broken routes
o Sequence numbers prevent formation of routing loops
Unused routes expire even if topology does not change
Source: Dr. A. Timm-Giel, New Standards for Wireless Local Area Networks, University of Bremen, 2008
20