SlideShare a Scribd company logo
4-1
Ad hoc On Demand Distance
Vector (AODV) Routing Protocol
CS: 647
Advanced Topics in Wireless Networks
Dr. Baruch Awerbuch & Dr. Amitabh Mishra
Department of Computer Science
Johns Hopkins
4-2
Reading
❒ Chapter 6, Sections 6.1-6.3, 6.5 – Ad Hoc
Networking, Perkins, Addison Wesley, 2001
4-3
Outline
❒ Introduction
❒ AODV properties
❒ Route discovery
❍ Flooding
❒ Route maintenance
❒ Local connectivity management – Hello
Messages
❒ Summary
4-4
Introduction: DSDV vs. AODV
❒ In AODV such broadcasts are
not necessary
❒ If a link breakage does not
affect on going transmission ->
no global broadcast occurs
❒ Only affected nodes are
informed
❒ Local movements of nodes
have local effects
❒ AODV reduces the network
wide broadcasts to the extent
possible
❒ Significant reduction in
control overhead as compared
to DSDV
❒ DSDV broadcasts every
change in the network to
every node
❒ When two neighbors enter
communication range of each
other
❍ This results in a network wide
broadcast
❒ Similarly when two nodes drift
apart from each other’s range
–> link breakage
❍ Also results in a network wide
broadcast
❒ Local movements have global
effects
4-5
Ad Hoc On Demand Distance-
Vector (AODV) Routing (1)
❒ Reactive or on Demand
❒ Descendant of DSDV
❒ Uses bi-directional links
❒ Route discovery cycle used for route
finding
❒ Maintenance of active routes
❒ Sequence numbers used for loop prevention
and as route freshness criteria
❒ Provides unicast and multicast
communication
4-6
Ad Hoc On Demand Distance-
Vector (AODV) Routing (2)
❒ Whenever routes are not used -> get expired ->
Discarded
❍ Reduces stale routes
❍ Reduces need for route maintenance
❒ Minimizes number of active routes between an
active source and destination
❒ Can determine multiple routes between a source
and a destination, but implements only a single
route, because
❍ Difficult to manage multiple routes between same
source/destination pair
❍ If one route breaks, its difficult to know whether other
route is available
❍ Lot of book-keeping involved
4-7
AODV Properties (1)
1. AODV discovers routes as and when
necessary
❒ Does not maintain routes from every node to
every other
2. Routes are maintained just as long as
necessary
3. Every node maintains its monotonically
increasing sequence number -> increases
every time the node notices change in the
neighborhood topology
4-8
AODV Properties (2)
❒ AODV utilizes routing tables to store routing
information
1. A Routing table for unicast routes
2. A Routing table for multicast routes
❒ The route table stores: <destination addr, next-hop addr,
destination sequence number, life_time>
❒ For each destination, a node maintains a list of
precursor nodes, to route through them
❍ Precusor nodes help in route maintenance (more later)
❒ Life-time updated every time the route is used
❍ If route not used within its life time -> it expires
4-9
AODV – Route Discovery (1)
❒ When a node wishes to send a packet to some
destination –
❍ It checks its routing table to determine if it has a
current route to the destination
• If Yes, forwards the packet to next hop node
• If No, it initiates a route discovery process
❒ Route discovery process begins with the creation
of a Route Request (RREQ) packet -> source node
creates it
❒ The packet contains – source node’s IP address,
source node’s current sequence number,
destination IP address, destination sequence
number
4-10
AODV – Route Discovery (2)
❒ Packet also contains broadcast ID number
❍ Broadcast ID gets incremented each time a source node
uses RREQ
❍ Broadcast ID and source IP address form a unique
identifier for the RREQ
❒ Broadcasting is done via Flooding
4-11
Outline
❒ Introduction
❒ AODV properties
❒ Route discovery
❍ Flooding
❒ Route maintenance
❒ Local connectivity management – Hello
Messages
❒ Summary
4-12
Flooding for Control Packet Delivery
❒ Sender S broadcasts a control packet P to
all its neighbors
❒ Each node receiving P forwards P to its
neighbors
❒ Sequence numbers help to avoid the
possibility of forwarding the same packet
more than once
❒ Packet P reaches destination D provided
that D is reachable from sender S
❒ Node D does not forward the packet
4-13
Flooding for Control Packet
Delivery - Example
B
A
S E
F
H
J
D
C
G
I
K
Represents that connected nodes are within each
other’s transmission range
Z
Y
Represents a node that has received packet P
M
N
L
4-14
Flooding for Control Packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Represents transmission of packet P
Represents a node that receives packet P for
the first time
Z
Y
Broadcast transmission
M
N
L
4-15
Flooding for Control Packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Node H receives packet P from two neighbors:
potential for collision
Z
Y
M
N
L
4-16
Flooding for Control Packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Node C receives packet P from G and H, but does not forward
it again, because node C has already forwarded packet P once
Z
Y
M
N
L
4-17
Flooding for Control packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
Nodes J and K both broadcast packet P to node D
Since nodes J and K are hidden from each other, their
transmissions may collide
=> Packet P may not be delivered to node D at all,
despite the use of flooding
N
L
4-18
Flooding for Control Packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Node D does not forward packet P, because node D
is the intended destination of packet P
M
N
L
4-19
Flooding for Control Packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Flooding completed
Nodes unreachable from S do not receive packet P (e.g., node Z)
Nodes for which paths go through the destination D
also do not receive packet P (example: node N)
Z
Y
M
N
L
4-20
Flooding for Control Packet
Delivery
B
A
S E
F
H
J
D
C
G
I
K
Flooding may deliver packets to too many nodes
(in the worst case, all nodes reachable from sender
may receive the packet)
Z
Y
M
N
L
4-21
Flooding of Control Packets - Summary
❒ Many protocols perform flooding of control
packets e.g. AODV & DSR, instead of data packets
❒ The control packets are used to discover routes
❒ Discovered routes are subsequently used to send
data packet(s)
❒ Overhead of control packet flooding is amortized
over data packets transmitted between
consecutive control packet floods
4-22
Flooding for Data Delivery -Advantages
❒ Simplicity
❒ May be more efficient than other protocols when
rate of information transmission is low enough
that the overhead of explicit route discovery and
maintenance incurred by other protocols is
relatively higher
❍ this scenario may occur, for instance, when nodes
transmit small data packets relatively infrequently, and
many topology changes occur between consecutive packet
transmissions
❒ Potentially higher reliability of data delivery
❍ Because packets may be delivered to the destination on
multiple paths
4-23
Flooding for Data Delivery -
Disadvantages
❒ Potentially, very high overhead
❍ Data packets may be delivered to too many
nodes who do not need to receive them
❒ Potentially lower reliability of data delivery
❍ Flooding uses broadcasting -- hard to implement
reliable broadcast delivery without significantly
increasing overhead
– Broadcasting in IEEE 802.11 MAC is unreliable
❍ In this example, nodes J and K may transmit to
node D simultaneously, resulting in loss of the
packet
– in this case, destination would not receive the
packet at all
4-24
Route Discovery (Contd.)
❒ Once an intermediate node receives a RREQ, the
node sets up a reverse route entry for the
source node in its route table
❍ Reverse route entry consists of <Source IP
address, Source seq. number, number of hops to source node,
IP address of node from which RREQ was received>
❍ Using the reverse route a node can send a
RREP (Route Reply packet) to the source
• Reverse route entry also contains – life time field
❒ RREQ reaches destination -> In order to respond
to RREQ a node should have in its route table:
1. Unexpired entry for the destination
2. Seq. number of destination at least as great as in RREQ (for
loop prevention)
4-25
Route Discovery (Contd.)
❒ RREQ reaches destination (contd.)
❍ If both conditions are met & the IP address of
the destination matches with that in RREQ
the node responds to RREQ by sending a RREP
back using unicasting and not flooding to the
source using reverse path
❍ If conditions are not satisfied, then node
increments the hop count in RREQ and
broadcasts to its neighbors
❒ Ultimately the RREQ will make to the
destination
4-26
AODV – Route Discovery - Example
1. Node S needs a route to D
SS
DDCC
BB
AA
4-27
AODV – Route Discovery
1. Node S needs a route to D
2. Creates a Route Request (RREQ)
❍ Enters D’s IP addr, seq#, S’s IP addr, seq#, hopcount
(=0)
SS
DDCC
BB
AA
4-28
AODV – Route Discovery
1. Node S needs a route to D
2. Creates a Route Request (RREQ)
❍ Enters D’s IP addr, seq#, S’s IP addr, seq#, hopcount
(=0)
3. Node S broadcasts RREQ to neighbors
SS
DDCC
BB
AA
RREQ
4-29
AODV – Route Discovery
4. Node A receives RREQ
❍ Makes a reverse route entery for S
dest=S, nexthop=S, hopcount=1
❍ It has no routes to D, so it rebroadcasts RREQ
SS
DDCC
BB
AA
RREQ
4-30
AODV – Route Discovery
4. Node A receives RREQ
❍ Makes a reverse route entery for S
dest=S, nexthop=S, hopcount=1
❍ It has no routes to D, so it rebroadcasts RREQ
SS
DDCC
BB
AA
RREQ
4-31
AODV – Route Discovery
5. Node C receives RREQ
❍ Makes a reverse route entry for S
dest=S, nexthop=A, hopcount=2
❍ It has a route to D, and the seq# for route to D is >= D’s
seq# in RREQ
SS
DDCC
BB
AA
RREQ
4-32
Route Reply in AODV - Comments
❒ An intermediate node (not the destination) may
also send a Route Reply (RREP) provided that it
knows a more recent path than the one previously
known to sender S
❒ To determine whether the path known to an intermediate
node is more recent, destination sequence numbers are used
❒ The likelihood that an intermediate node will send a Route
Reply when using AODV not as high as DSR (Later)
❍ A new Route Request by node S for a destination is
assigned a higher destination sequence number. An
intermediate node which knows a route, but with a
smaller sequence number, cannot send Route Reply
4-33
AODV – Route Discovery
5. Node C receives RREQ (Cont.)
❍ C creates a Route Reply (RREP)
Enters D’s IP addr, seq#, S’s IP addr, hopcount to D
(=1)
❍ Unicasts RREP to A
SS
DDCC
BB
AA
RREQ
4-34
AODV – Route Discovery
5. Node C receives RREQ (Cont.)
❍ C creates a Route Reply (RREP)
Enters D’s IP addr, seq#, S’s IP addr, hopcount to D
(=1)
❍ Unicasts RREP to A
SS
DDCC
BB
AA
RREP
4-35
AODV – Forward Path Setup
5. Node A receives RREP
❍ Makes a forward route entry to D
dest=D, nexthop=C, hopcount=2
❍ Unicasts RREP to S
SS
DDCC
BB
AA
RREP
RREP
4-36
Forward Path Setup (1)
❒ When a node determines that it has a current
route to respond to RREQ i.e. has a path to
destination – It creates RREP (Route Reply)
❒ RREP contains <IP address of source and
destination>
❍ If RREP is being sent by destination
• The RREP will also contain the <current sqn # of
destination, hop-count=0, life-time>
❍ If RREP is sent by an intermediate node
• RREP will contain its record of the <destination
sequence number, hop-count=its distance to
destination, its value of the life-time>
4-37
Forward Path Setup (2)
❒ When an intermediate node receives the RREP, it
sets up a forward path entry to the destination in
its route table
❍ Forward path entry contains
<IP Address of destination, IP address of node from which
the entry arrived, hop-count to destination, life-time>
❍ To obtain its distance to destination i.e. hop-count, a
node increments its distance by 1
❍ If route is not used within the life time, its deleted
❒ After processing the RREP, the node forwards it
towards the source
4-38
AODV – Forward Path Setup
5. Node S receives RREP
❍ Makes a forward route entry to D
dest=D, nexthop =A, hopcount = 3
SS
DDCC
BB
AA
RREP
4-39
Receipt of Multiple RREP
❒ A node may receive multiple RREP for a
given destination from more than one
neighbor
❍ The node only forwards the first RREP it
receives
❍ May forward another RREP if that has greater
destination sequence number or a smaller hop
count
❍ Rest are discarded -> reduces the number of
RREP propagating towards the source
❒ Source can begin data transmission upon
receiving the first RREP
4-40
AODV – Data Delivery
5. Node S receives RREP
❍ Makes a forward route entry to D
dest=D, nexthop =A, hopcount = 3
❍ Sends data packet on route to D
SS
DDCC
BB
AA
4-41
Example 2: Route Requests in
AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Represents a node that has received RREQ for D from S
M
N
L
4-42
Route Requests in AODV
B
A
S E
F
H
J
D
C
G
I
K
Represents transmission of RREQ
Z
Y
Broadcast transmission
M
N
L
4-43
Route Requests in AODV
B
A
S E
F
H
J
D
C
G
I
K
Represents links on Reverse Path
Z
Y
M
N
L
4-44
Reverse Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
Z
Y
M
N
L
4-45
Reverse Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
4-46
Reverse Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Node D does not forward RREQ, because node D
is the intended target of the RREQ
M
N
L
4-47
Route Reply in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Represents links on path taken by RREP
M
N
L
4-48
Forward Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
Forward links are setup when RREP travels along
the reverse path
Represents a link on the forward path
4-49
Data Delivery in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
Routing table entries used to forward data packet.
Route is not included in packet header.
DATA
4-50
Timeouts
❒ A routing table entry maintaining a reverse path is
purged after a timeout interval
❍ timeout should be long enough to allow RREP to
come back
❒ A routing table entry maintaining a forward path is
purged if not used for a active_route_timeout
interval
❍ if no is data being sent using a particular routing table
entry, that entry will be deleted from the routing table
(even if the route may actually still be valid)
4-51
Outline
❒ Introduction
❒ Flooding
❒ AODV properties
❒ Route discovery
❒ Route maintenance – link failures
❒ Local connectivity management
4-52
Link Failure Reporting
❒ A neighbor of node X is considered active for a
routing table entry if the neighbor sent a packet
within active_route_timeout interval and was
forwarded using that entry
❒ If a source node moves, a new route discovery
process is initiated
❒ If intermediate nodes or the destination move ->
❍ The next hop links break resulting in link failures
❍ Routing tables are updated for the link filaures
❍ All active neighbors are informed by RERR message
4-53
Route Maintenance - RERR
❒ RERR is initiated by the node upstream
(closer to the source) of the break
❍ Its propagated to all the affected destinations
❍ RERR lists all the nodes affected by the link
failure -> Nodes that were using the link to
route messages (precursor nodes)
❍ When a node receives an RERR, it marks its
route to the destination as invalid -> Setting
distance to the destination as infinity in the
route table
❒ When a source node receives an RRER, it
can reinitiate the route discovery
4-54
AODV – Route Maintenance- Example
1. Link between C and D breaks
2. Node C invalidates route to D in route table
3. Node C creates Route Error message
❒ Lists all destinations that are now unreachable
❒ Sends to upstream neighbors
SS
DDCC
BB
AA
X
RERR
4-55
AODV – Route Maintenance -
Example
4. Node A receives RERR
❒ Checks whether C is its next hop on route to D
❒ Deletes route to D (makes distance -> infinity)
❒ Forwards RERR to S
SS
DDCC
BB
AA
RERR
RERR
4-56
AODV – Route Maintenance-
Example
5. Node S receives RERR
❒ Checks whether A is its next hop on route to D
❒ Deletes route to D
❒ Rediscovers route if still needed
SS
DDCC
BB
AA
RERR
4-57
Route Error
❒ When node X is unable to forward packet P (from
node S to node D) on link (X,Y), it generates a
RERR message
❒ Node X increments the destination sequence
number for D cached at node X
❒ The incremented sequence number N is included in
the RERR
❒ When node S receives the RERR, it initiates a new
route discovery for D using destination sequence
number at least as large as N
4-58
Destination Sequence Number
❒ Continuing from the previous slide …
❒ When node D receives the route request
with destination sequence number N, node
D will set its sequence number to N, unless
it is already larger than N
4-59
Outline
❒ Introduction
❒ Flooding
❒ AODV properties
❒ Route discovery
❒ Route maintenance – link failures
❒ Local connectivity management – Hello
Messages
4-60
Link Failure Detection
❒ Hello messages: Neighboring nodes
periodically exchange hello message
❒ Absence of hello message is used as an
indication of link failure
❒ Alternatively, failure to receive several
MAC-level acknowledgements may be used
as an indication of link failure
4-61
Why Sequence Numbers in AODV
❒ To avoid using old/broken routes
❍ To determine which route is newer
❒ To prevent formation of loops
❍ A had a route to D initially
❍ Assume that A does not know about failure of link C-D
because RERR sent by C is lost
❍ Now C performs a route discovery for D. Node A
receives the RREQ (say, via path C-E-A)
❍ Node A will reply since A knows a route to D via node B
❍ Results in a loop (for instance, C-E-A-B-C )
A B C D
E
4-62
Why Sequence Numbers in
AODV
❍ Loop C-E-A-B-C
❍ But because of usage of sequence number, A
will not use the route A-B-C, because the
sequence numbers will be lower than what A
receives from A
A B C D
E
4-63
Optimizations
❒ Route Requests are initially sent with small
Time-to-Live (TTL) field, to limit their
propagation
❍ DSR also includes a similar optimization
❒ If no Route Reply is received, then larger
TTL tried
4-64
AODV: Optimizations
❒ Expanding Ring Search
❍ Prevents flooding of network during route
discovery
❍ Control Time to Live (TTL) of RREQ to search
incrementally larger areas of network
❍ Advantages: Less overhead when successful
❍ Disadvantages: Longer delay if route not found
immediately
4-65
AODV: Optimizations (Cont.)
❒ Local Repairs
❍ Repair breaks in active routes locally instead of
notifying source
❍ Use small TTL because destination probably
hasn’t moved far
❍ If first repair attempt is unsuccessful, send
RERR to source
❍ Advantage: repair links with less overhead,
delay and packet loss
❍ Disadvantages: longer delay and greater packet
loss when unsuccessful
4-66
AODV: Summary (1)
❒ Routes need not be included in packet
headers (DSR does it)
❒ 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
❍ DSR may maintain several routes for a single destination
❒ Unused routes expire even if topology does
not change
4-67
AODV: Summary (2)
❒ Reactive/On – demand
❒ Sequence numbers used for route
freshness and loop prevention
❒ Route discovery cycle
❒ Optimizations can be used to reduce
overhead and increase scalability

More Related Content

What's hot

Wireless routing protocols
Wireless routing protocolsWireless routing protocols
Wireless routing protocols
barodia_1437
 
Routing in Mobile Ad hoc Networks
Routing in Mobile Ad hoc NetworksRouting in Mobile Ad hoc Networks
Routing in Mobile Ad hoc Networks
Sayed Chhattan Shah
 
Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks
Divya Tiwari
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
Chandra Meena
 
Black hole attack
Black hole attackBlack hole attack
Black hole attack
Richa Kumari
 
Olsr protocol ppt
Olsr protocol pptOlsr protocol ppt
Olsr protocol ppt
sharat sajjan
 
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
ArunChokkalingam
 
Routing in Manet
Routing in ManetRouting in Manet
Routing in Manet
shiujinghan
 
CSGR(cluster switch gateway routing)
CSGR(cluster switch gateway routing)CSGR(cluster switch gateway routing)
CSGR(cluster switch gateway routing)
Gaurav Dalvi
 
Routing protocols for ad hoc wireless networks
Routing protocols for ad hoc wireless networks Routing protocols for ad hoc wireless networks
Routing protocols for ad hoc wireless networks
Divya Tiwari
 
Zone Routing Protocol
Zone Routing ProtocolZone Routing Protocol
Zone Routing Protocol
nitss007
 
Network Layer
Network LayerNetwork Layer
Network Layer
Dr Shashikant Athawale
 
Transport control protocols for Wireless sensor networks
Transport control protocols for Wireless sensor networksTransport control protocols for Wireless sensor networks
Transport control protocols for Wireless sensor networks
Rushin Shah
 
OLSR | Optimized Link State Routing Protocol
OLSR | Optimized Link State Routing ProtocolOLSR | Optimized Link State Routing Protocol
OLSR | Optimized Link State Routing Protocol
Jagannath University, Bangladesh
 
BASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKSBASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKS
KABILESH RAMAR
 
AODV (adhoc ondemand distance vector routing)
AODV (adhoc ondemand distance vector routing) AODV (adhoc ondemand distance vector routing)
AODV (adhoc ondemand distance vector routing)
ArunChokkalingam
 
Contention based MAC protocols
Contention based  MAC protocolsContention based  MAC protocols
Contention based MAC protocols
Darwin Nesakumar
 
Power Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc NetworksPower Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc Networks
Pradeep Kumar TS
 
Adhoc wireless
Adhoc wirelessAdhoc wireless
Adhoc wireless
Ipsita Sharma
 
Routing, Different types of forwarding technique
Routing, Different types of forwarding techniqueRouting, Different types of forwarding technique
Routing, Different types of forwarding technique
rajib_
 

What's hot (20)

Wireless routing protocols
Wireless routing protocolsWireless routing protocols
Wireless routing protocols
 
Routing in Mobile Ad hoc Networks
Routing in Mobile Ad hoc NetworksRouting in Mobile Ad hoc Networks
Routing in Mobile Ad hoc Networks
 
Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
 
Black hole attack
Black hole attackBlack hole attack
Black hole attack
 
Olsr protocol ppt
Olsr protocol pptOlsr protocol ppt
Olsr protocol ppt
 
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
WSN network architecture -Sensor Network Scenarios & Transceiver Design Consi...
 
Routing in Manet
Routing in ManetRouting in Manet
Routing in Manet
 
CSGR(cluster switch gateway routing)
CSGR(cluster switch gateway routing)CSGR(cluster switch gateway routing)
CSGR(cluster switch gateway routing)
 
Routing protocols for ad hoc wireless networks
Routing protocols for ad hoc wireless networks Routing protocols for ad hoc wireless networks
Routing protocols for ad hoc wireless networks
 
Zone Routing Protocol
Zone Routing ProtocolZone Routing Protocol
Zone Routing Protocol
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
Transport control protocols for Wireless sensor networks
Transport control protocols for Wireless sensor networksTransport control protocols for Wireless sensor networks
Transport control protocols for Wireless sensor networks
 
OLSR | Optimized Link State Routing Protocol
OLSR | Optimized Link State Routing ProtocolOLSR | Optimized Link State Routing Protocol
OLSR | Optimized Link State Routing Protocol
 
BASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKSBASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKS
 
AODV (adhoc ondemand distance vector routing)
AODV (adhoc ondemand distance vector routing) AODV (adhoc ondemand distance vector routing)
AODV (adhoc ondemand distance vector routing)
 
Contention based MAC protocols
Contention based  MAC protocolsContention based  MAC protocols
Contention based MAC protocols
 
Power Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc NetworksPower Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc Networks
 
Adhoc wireless
Adhoc wirelessAdhoc wireless
Adhoc wireless
 
Routing, Different types of forwarding technique
Routing, Different types of forwarding techniqueRouting, Different types of forwarding technique
Routing, Different types of forwarding technique
 

Similar to AODV protocol

Ad hoc on demand distance
Ad hoc on demand distanceAd hoc on demand distance
Ad hoc on demand distance
Jimit Rupani
 
Adhoc routing protocols
Adhoc routing protocolsAdhoc routing protocols
Adhoc routing protocols
Senthil Kanth
 
EEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdfEEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdf
ssuser25ed54
 
EEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdfEEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdf
ssuser25ed54
 
W09-L01.pptx
W09-L01.pptxW09-L01.pptx
W09-L01.pptx
HirazNor
 
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
Senthil Kanth
 
Comparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOCComparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOC
Amitoj Kaur
 
RoutingProtocols.ppt
RoutingProtocols.pptRoutingProtocols.ppt
RoutingProtocols.ppt
ImXaib
 
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
Sushant Kushwaha
 
Routing protocol
Routing protocolRouting protocol
Routing protocol
AmzadKhn
 
Classification of routing protocols
Classification of routing protocolsClassification of routing protocols
Classification of routing protocols
Menaga Selvaraj
 
a-seminar-on-manet.pptx
a-seminar-on-manet.pptxa-seminar-on-manet.pptx
a-seminar-on-manet.pptx
Sujit833143
 
manet
manetmanet
manet
Neha Yadav
 
Manet By Vikas mainanwal
Manet By Vikas mainanwalManet By Vikas mainanwal
Manet By Vikas mainanwal
VIKASH MAINANWAL
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
Kathirvel Ayyaswamy
 
Ad hoc
Ad hocAd hoc
Performance analysis of AODV And OLSR
Performance analysis of AODV And OLSRPerformance analysis of AODV And OLSR
Performance analysis of AODV And OLSR
Mitesh Thakore
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocol
Atul Atalkar
 
Routing
RoutingRouting
Routing
Amit Pandey
 
Default and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksDefault and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer Networks
Sonali Parab
 

Similar to AODV protocol (20)

Ad hoc on demand distance
Ad hoc on demand distanceAd hoc on demand distance
Ad hoc on demand distance
 
Adhoc routing protocols
Adhoc routing protocolsAdhoc routing protocols
Adhoc routing protocols
 
EEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdfEEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdf
 
EEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdfEEEM048_Lecture4_Network.pdf
EEEM048_Lecture4_Network.pdf
 
W09-L01.pptx
W09-L01.pptxW09-L01.pptx
W09-L01.pptx
 
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
 
Comparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOCComparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOC
 
RoutingProtocols.ppt
RoutingProtocols.pptRoutingProtocols.ppt
RoutingProtocols.ppt
 
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
 
Routing protocol
Routing protocolRouting protocol
Routing protocol
 
Classification of routing protocols
Classification of routing protocolsClassification of routing protocols
Classification of routing protocols
 
a-seminar-on-manet.pptx
a-seminar-on-manet.pptxa-seminar-on-manet.pptx
a-seminar-on-manet.pptx
 
manet
manetmanet
manet
 
Manet By Vikas mainanwal
Manet By Vikas mainanwalManet By Vikas mainanwal
Manet By Vikas mainanwal
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
Ad hoc
Ad hocAd hoc
Ad hoc
 
Performance analysis of AODV And OLSR
Performance analysis of AODV And OLSRPerformance analysis of AODV And OLSR
Performance analysis of AODV And OLSR
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocol
 
Routing
RoutingRouting
Routing
 
Default and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksDefault and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer Networks
 

Recently uploaded

2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
ramrag33
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 

Recently uploaded (20)

2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 

AODV protocol

  • 1. 4-1 Ad hoc On Demand Distance Vector (AODV) Routing Protocol CS: 647 Advanced Topics in Wireless Networks Dr. Baruch Awerbuch & Dr. Amitabh Mishra Department of Computer Science Johns Hopkins
  • 2. 4-2 Reading ❒ Chapter 6, Sections 6.1-6.3, 6.5 – Ad Hoc Networking, Perkins, Addison Wesley, 2001
  • 3. 4-3 Outline ❒ Introduction ❒ AODV properties ❒ Route discovery ❍ Flooding ❒ Route maintenance ❒ Local connectivity management – Hello Messages ❒ Summary
  • 4. 4-4 Introduction: DSDV vs. AODV ❒ In AODV such broadcasts are not necessary ❒ If a link breakage does not affect on going transmission -> no global broadcast occurs ❒ Only affected nodes are informed ❒ Local movements of nodes have local effects ❒ AODV reduces the network wide broadcasts to the extent possible ❒ Significant reduction in control overhead as compared to DSDV ❒ DSDV broadcasts every change in the network to every node ❒ When two neighbors enter communication range of each other ❍ This results in a network wide broadcast ❒ Similarly when two nodes drift apart from each other’s range –> link breakage ❍ Also results in a network wide broadcast ❒ Local movements have global effects
  • 5. 4-5 Ad Hoc On Demand Distance- Vector (AODV) Routing (1) ❒ Reactive or on Demand ❒ Descendant of DSDV ❒ Uses bi-directional links ❒ Route discovery cycle used for route finding ❒ Maintenance of active routes ❒ Sequence numbers used for loop prevention and as route freshness criteria ❒ Provides unicast and multicast communication
  • 6. 4-6 Ad Hoc On Demand Distance- Vector (AODV) Routing (2) ❒ Whenever routes are not used -> get expired -> Discarded ❍ Reduces stale routes ❍ Reduces need for route maintenance ❒ Minimizes number of active routes between an active source and destination ❒ Can determine multiple routes between a source and a destination, but implements only a single route, because ❍ Difficult to manage multiple routes between same source/destination pair ❍ If one route breaks, its difficult to know whether other route is available ❍ Lot of book-keeping involved
  • 7. 4-7 AODV Properties (1) 1. AODV discovers routes as and when necessary ❒ Does not maintain routes from every node to every other 2. Routes are maintained just as long as necessary 3. Every node maintains its monotonically increasing sequence number -> increases every time the node notices change in the neighborhood topology
  • 8. 4-8 AODV Properties (2) ❒ AODV utilizes routing tables to store routing information 1. A Routing table for unicast routes 2. A Routing table for multicast routes ❒ The route table stores: <destination addr, next-hop addr, destination sequence number, life_time> ❒ For each destination, a node maintains a list of precursor nodes, to route through them ❍ Precusor nodes help in route maintenance (more later) ❒ Life-time updated every time the route is used ❍ If route not used within its life time -> it expires
  • 9. 4-9 AODV – Route Discovery (1) ❒ When a node wishes to send a packet to some destination – ❍ It checks its routing table to determine if it has a current route to the destination • If Yes, forwards the packet to next hop node • If No, it initiates a route discovery process ❒ Route discovery process begins with the creation of a Route Request (RREQ) packet -> source node creates it ❒ The packet contains – source node’s IP address, source node’s current sequence number, destination IP address, destination sequence number
  • 10. 4-10 AODV – Route Discovery (2) ❒ Packet also contains broadcast ID number ❍ Broadcast ID gets incremented each time a source node uses RREQ ❍ Broadcast ID and source IP address form a unique identifier for the RREQ ❒ Broadcasting is done via Flooding
  • 11. 4-11 Outline ❒ Introduction ❒ AODV properties ❒ Route discovery ❍ Flooding ❒ Route maintenance ❒ Local connectivity management – Hello Messages ❒ Summary
  • 12. 4-12 Flooding for Control Packet Delivery ❒ Sender S broadcasts a control packet P to all its neighbors ❒ Each node receiving P forwards P to its neighbors ❒ Sequence numbers help to avoid the possibility of forwarding the same packet more than once ❒ Packet P reaches destination D provided that D is reachable from sender S ❒ Node D does not forward the packet
  • 13. 4-13 Flooding for Control Packet Delivery - Example B A S E F H J D C G I K Represents that connected nodes are within each other’s transmission range Z Y Represents a node that has received packet P M N L
  • 14. 4-14 Flooding for Control Packet Delivery B A S E F H J D C G I K Represents transmission of packet P Represents a node that receives packet P for the first time Z Y Broadcast transmission M N L
  • 15. 4-15 Flooding for Control Packet Delivery B A S E F H J D C G I K Node H receives packet P from two neighbors: potential for collision Z Y M N L
  • 16. 4-16 Flooding for Control Packet Delivery B A S E F H J D C G I K Node C receives packet P from G and H, but does not forward it again, because node C has already forwarded packet P once Z Y M N L
  • 17. 4-17 Flooding for Control packet Delivery B A S E F H J D C G I K Z Y M Nodes J and K both broadcast packet P to node D Since nodes J and K are hidden from each other, their transmissions may collide => Packet P may not be delivered to node D at all, despite the use of flooding N L
  • 18. 4-18 Flooding for Control Packet Delivery B A S E F H J D C G I K Z Y Node D does not forward packet P, because node D is the intended destination of packet P M N L
  • 19. 4-19 Flooding for Control Packet Delivery B A S E F H J D C G I K Flooding completed Nodes unreachable from S do not receive packet P (e.g., node Z) Nodes for which paths go through the destination D also do not receive packet P (example: node N) Z Y M N L
  • 20. 4-20 Flooding for Control Packet Delivery B A S E F H J D C G I K Flooding may deliver packets to too many nodes (in the worst case, all nodes reachable from sender may receive the packet) Z Y M N L
  • 21. 4-21 Flooding of Control Packets - Summary ❒ Many protocols perform flooding of control packets e.g. AODV & DSR, instead of data packets ❒ The control packets are used to discover routes ❒ Discovered routes are subsequently used to send data packet(s) ❒ Overhead of control packet flooding is amortized over data packets transmitted between consecutive control packet floods
  • 22. 4-22 Flooding for Data Delivery -Advantages ❒ Simplicity ❒ May be more efficient than other protocols when rate of information transmission is low enough that the overhead of explicit route discovery and maintenance incurred by other protocols is relatively higher ❍ this scenario may occur, for instance, when nodes transmit small data packets relatively infrequently, and many topology changes occur between consecutive packet transmissions ❒ Potentially higher reliability of data delivery ❍ Because packets may be delivered to the destination on multiple paths
  • 23. 4-23 Flooding for Data Delivery - Disadvantages ❒ Potentially, very high overhead ❍ Data packets may be delivered to too many nodes who do not need to receive them ❒ Potentially lower reliability of data delivery ❍ Flooding uses broadcasting -- hard to implement reliable broadcast delivery without significantly increasing overhead – Broadcasting in IEEE 802.11 MAC is unreliable ❍ In this example, nodes J and K may transmit to node D simultaneously, resulting in loss of the packet – in this case, destination would not receive the packet at all
  • 24. 4-24 Route Discovery (Contd.) ❒ Once an intermediate node receives a RREQ, the node sets up a reverse route entry for the source node in its route table ❍ Reverse route entry consists of <Source IP address, Source seq. number, number of hops to source node, IP address of node from which RREQ was received> ❍ Using the reverse route a node can send a RREP (Route Reply packet) to the source • Reverse route entry also contains – life time field ❒ RREQ reaches destination -> In order to respond to RREQ a node should have in its route table: 1. Unexpired entry for the destination 2. Seq. number of destination at least as great as in RREQ (for loop prevention)
  • 25. 4-25 Route Discovery (Contd.) ❒ RREQ reaches destination (contd.) ❍ If both conditions are met & the IP address of the destination matches with that in RREQ the node responds to RREQ by sending a RREP back using unicasting and not flooding to the source using reverse path ❍ If conditions are not satisfied, then node increments the hop count in RREQ and broadcasts to its neighbors ❒ Ultimately the RREQ will make to the destination
  • 26. 4-26 AODV – Route Discovery - Example 1. Node S needs a route to D SS DDCC BB AA
  • 27. 4-27 AODV – Route Discovery 1. Node S needs a route to D 2. Creates a Route Request (RREQ) ❍ Enters D’s IP addr, seq#, S’s IP addr, seq#, hopcount (=0) SS DDCC BB AA
  • 28. 4-28 AODV – Route Discovery 1. Node S needs a route to D 2. Creates a Route Request (RREQ) ❍ Enters D’s IP addr, seq#, S’s IP addr, seq#, hopcount (=0) 3. Node S broadcasts RREQ to neighbors SS DDCC BB AA RREQ
  • 29. 4-29 AODV – Route Discovery 4. Node A receives RREQ ❍ Makes a reverse route entery for S dest=S, nexthop=S, hopcount=1 ❍ It has no routes to D, so it rebroadcasts RREQ SS DDCC BB AA RREQ
  • 30. 4-30 AODV – Route Discovery 4. Node A receives RREQ ❍ Makes a reverse route entery for S dest=S, nexthop=S, hopcount=1 ❍ It has no routes to D, so it rebroadcasts RREQ SS DDCC BB AA RREQ
  • 31. 4-31 AODV – Route Discovery 5. Node C receives RREQ ❍ Makes a reverse route entry for S dest=S, nexthop=A, hopcount=2 ❍ It has a route to D, and the seq# for route to D is >= D’s seq# in RREQ SS DDCC BB AA RREQ
  • 32. 4-32 Route Reply in AODV - Comments ❒ An intermediate node (not the destination) may also send a Route Reply (RREP) provided that it knows a more recent path than the one previously known to sender S ❒ To determine whether the path known to an intermediate node is more recent, destination sequence numbers are used ❒ The likelihood that an intermediate node will send a Route Reply when using AODV not as high as DSR (Later) ❍ A new Route Request by node S for a destination is assigned a higher destination sequence number. An intermediate node which knows a route, but with a smaller sequence number, cannot send Route Reply
  • 33. 4-33 AODV – Route Discovery 5. Node C receives RREQ (Cont.) ❍ C creates a Route Reply (RREP) Enters D’s IP addr, seq#, S’s IP addr, hopcount to D (=1) ❍ Unicasts RREP to A SS DDCC BB AA RREQ
  • 34. 4-34 AODV – Route Discovery 5. Node C receives RREQ (Cont.) ❍ C creates a Route Reply (RREP) Enters D’s IP addr, seq#, S’s IP addr, hopcount to D (=1) ❍ Unicasts RREP to A SS DDCC BB AA RREP
  • 35. 4-35 AODV – Forward Path Setup 5. Node A receives RREP ❍ Makes a forward route entry to D dest=D, nexthop=C, hopcount=2 ❍ Unicasts RREP to S SS DDCC BB AA RREP RREP
  • 36. 4-36 Forward Path Setup (1) ❒ When a node determines that it has a current route to respond to RREQ i.e. has a path to destination – It creates RREP (Route Reply) ❒ RREP contains <IP address of source and destination> ❍ If RREP is being sent by destination • The RREP will also contain the <current sqn # of destination, hop-count=0, life-time> ❍ If RREP is sent by an intermediate node • RREP will contain its record of the <destination sequence number, hop-count=its distance to destination, its value of the life-time>
  • 37. 4-37 Forward Path Setup (2) ❒ When an intermediate node receives the RREP, it sets up a forward path entry to the destination in its route table ❍ Forward path entry contains <IP Address of destination, IP address of node from which the entry arrived, hop-count to destination, life-time> ❍ To obtain its distance to destination i.e. hop-count, a node increments its distance by 1 ❍ If route is not used within the life time, its deleted ❒ After processing the RREP, the node forwards it towards the source
  • 38. 4-38 AODV – Forward Path Setup 5. Node S receives RREP ❍ Makes a forward route entry to D dest=D, nexthop =A, hopcount = 3 SS DDCC BB AA RREP
  • 39. 4-39 Receipt of Multiple RREP ❒ A node may receive multiple RREP for a given destination from more than one neighbor ❍ The node only forwards the first RREP it receives ❍ May forward another RREP if that has greater destination sequence number or a smaller hop count ❍ Rest are discarded -> reduces the number of RREP propagating towards the source ❒ Source can begin data transmission upon receiving the first RREP
  • 40. 4-40 AODV – Data Delivery 5. Node S receives RREP ❍ Makes a forward route entry to D dest=D, nexthop =A, hopcount = 3 ❍ Sends data packet on route to D SS DDCC BB AA
  • 41. 4-41 Example 2: Route Requests in AODV B A S E F H J D C G I K Z Y Represents a node that has received RREQ for D from S M N L
  • 42. 4-42 Route Requests in AODV B A S E F H J D C G I K Represents transmission of RREQ Z Y Broadcast transmission M N L
  • 43. 4-43 Route Requests in AODV B A S E F H J D C G I K Represents links on Reverse Path Z Y M N L
  • 44. 4-44 Reverse Path Setup in AODV B A S E F H J D C G I K Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once Z Y M N L
  • 45. 4-45 Reverse Path Setup in AODV B A S E F H J D C G I K Z Y M N L
  • 46. 4-46 Reverse Path Setup in AODV B A S E F H J D C G I K Z Y Node D does not forward RREQ, because node D is the intended target of the RREQ M N L
  • 47. 4-47 Route Reply in AODV B A S E F H J D C G I K Z Y Represents links on path taken by RREP M N L
  • 48. 4-48 Forward Path Setup in AODV B A S E F H J D C G I K Z Y M N L Forward links are setup when RREP travels along the reverse path Represents a link on the forward path
  • 49. 4-49 Data Delivery in AODV B A S E F H J D C G I K Z Y M N L Routing table entries used to forward data packet. Route is not included in packet header. DATA
  • 50. 4-50 Timeouts ❒ A routing table entry maintaining a reverse path is purged after a timeout interval ❍ timeout should be long enough to allow RREP to come back ❒ A routing table entry maintaining a forward path is purged if not used for a active_route_timeout interval ❍ if no is data being sent using a particular routing table entry, that entry will be deleted from the routing table (even if the route may actually still be valid)
  • 51. 4-51 Outline ❒ Introduction ❒ Flooding ❒ AODV properties ❒ Route discovery ❒ Route maintenance – link failures ❒ Local connectivity management
  • 52. 4-52 Link Failure Reporting ❒ A neighbor of node X is considered active for a routing table entry if the neighbor sent a packet within active_route_timeout interval and was forwarded using that entry ❒ If a source node moves, a new route discovery process is initiated ❒ If intermediate nodes or the destination move -> ❍ The next hop links break resulting in link failures ❍ Routing tables are updated for the link filaures ❍ All active neighbors are informed by RERR message
  • 53. 4-53 Route Maintenance - RERR ❒ RERR is initiated by the node upstream (closer to the source) of the break ❍ Its propagated to all the affected destinations ❍ RERR lists all the nodes affected by the link failure -> Nodes that were using the link to route messages (precursor nodes) ❍ When a node receives an RERR, it marks its route to the destination as invalid -> Setting distance to the destination as infinity in the route table ❒ When a source node receives an RRER, it can reinitiate the route discovery
  • 54. 4-54 AODV – Route Maintenance- Example 1. Link between C and D breaks 2. Node C invalidates route to D in route table 3. Node C creates Route Error message ❒ Lists all destinations that are now unreachable ❒ Sends to upstream neighbors SS DDCC BB AA X RERR
  • 55. 4-55 AODV – Route Maintenance - Example 4. Node A receives RERR ❒ Checks whether C is its next hop on route to D ❒ Deletes route to D (makes distance -> infinity) ❒ Forwards RERR to S SS DDCC BB AA RERR RERR
  • 56. 4-56 AODV – Route Maintenance- Example 5. Node S receives RERR ❒ Checks whether A is its next hop on route to D ❒ Deletes route to D ❒ Rediscovers route if still needed SS DDCC BB AA RERR
  • 57. 4-57 Route Error ❒ When node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR message ❒ Node X increments the destination sequence number for D cached at node X ❒ The incremented sequence number N is included in the RERR ❒ When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at least as large as N
  • 58. 4-58 Destination Sequence Number ❒ Continuing from the previous slide … ❒ When node D receives the route request with destination sequence number N, node D will set its sequence number to N, unless it is already larger than N
  • 59. 4-59 Outline ❒ Introduction ❒ Flooding ❒ AODV properties ❒ Route discovery ❒ Route maintenance – link failures ❒ Local connectivity management – Hello Messages
  • 60. 4-60 Link Failure Detection ❒ Hello messages: Neighboring nodes periodically exchange hello message ❒ Absence of hello message is used as an indication of link failure ❒ Alternatively, failure to receive several MAC-level acknowledgements may be used as an indication of link failure
  • 61. 4-61 Why Sequence Numbers in AODV ❒ To avoid using old/broken routes ❍ To determine which route is newer ❒ To prevent formation of loops ❍ A had a route to D initially ❍ Assume that A does not know about failure of link C-D because RERR sent by C is lost ❍ Now C performs a route discovery for D. Node A receives the RREQ (say, via path C-E-A) ❍ Node A will reply since A knows a route to D via node B ❍ Results in a loop (for instance, C-E-A-B-C ) A B C D E
  • 62. 4-62 Why Sequence Numbers in AODV ❍ Loop C-E-A-B-C ❍ But because of usage of sequence number, A will not use the route A-B-C, because the sequence numbers will be lower than what A receives from A A B C D E
  • 63. 4-63 Optimizations ❒ Route Requests are initially sent with small Time-to-Live (TTL) field, to limit their propagation ❍ DSR also includes a similar optimization ❒ If no Route Reply is received, then larger TTL tried
  • 64. 4-64 AODV: Optimizations ❒ Expanding Ring Search ❍ Prevents flooding of network during route discovery ❍ Control Time to Live (TTL) of RREQ to search incrementally larger areas of network ❍ Advantages: Less overhead when successful ❍ Disadvantages: Longer delay if route not found immediately
  • 65. 4-65 AODV: Optimizations (Cont.) ❒ Local Repairs ❍ Repair breaks in active routes locally instead of notifying source ❍ Use small TTL because destination probably hasn’t moved far ❍ If first repair attempt is unsuccessful, send RERR to source ❍ Advantage: repair links with less overhead, delay and packet loss ❍ Disadvantages: longer delay and greater packet loss when unsuccessful
  • 66. 4-66 AODV: Summary (1) ❒ Routes need not be included in packet headers (DSR does it) ❒ 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 ❍ DSR may maintain several routes for a single destination ❒ Unused routes expire even if topology does not change
  • 67. 4-67 AODV: Summary (2) ❒ Reactive/On – demand ❒ Sequence numbers used for route freshness and loop prevention ❒ Route discovery cycle ❒ Optimizations can be used to reduce overhead and increase scalability