Adhoc OnDemand Distance Vector Routing - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Adhoc OnDemand Distance Vector Routing

Description:

Ad-hoc On-Demand Distance Vector Routing, Charles E. Perkins, Elizabeth M. Royer. ... Not efficient for large ad-hoc networks. Uses periodic advertisements ... – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 25
Provided by: qife
Category:
Tags: ondemand | ad | adhoc | distance | hoc | in | routing | vector

less

Transcript and Presenter's Notes

Title: Adhoc OnDemand Distance Vector Routing


1
Ad-hoc On-Demand Distance Vector Routing
  • Presented by Qifeng Lu

2
  • Ad-hoc On-Demand Distance Vector Routing, Charles
    E. Perkins, Elizabeth M. Royer. Proceedings of
    IEEE WMCSA'99,New Orleans, LA, Feb. 1999

3
Outline
  • Introduction
  • Ad-hoc Network routing constraints
  • Destination Sequenced Distance Vector (DSDV)
    Routing
  • The Ad-hoc On-Demand Distance Vector (AODV)
    Algorithm
  • Simulation and Results
  • Current Status and Future Work
  • Conclusion

4
Constraints in Ad-hoc Network Routing
  • No infrastructure support
  • No specialized routers
  • Also no fixed routers (physically)
  • Frequent topology change
  • Problems due to wireless media
  • Bandwidth, range of communication, collisions due
    to broadcasting, asymmetric one-way links

5
Destination Sequenced Distance-Vector Routing
(DSDV)
  • A variant of the distance vector routing method
  • Not efficient for large ad-hoc networks
  • Uses periodic advertisements
  • Global dissemination of connectivity information
  • Nodes need to maintain a complete list of routes.

6
What is AODV?
  • An improved algorithm of DSDV
  • A Source Initiated (reactive) routing protocol
  • Main goals
  • Quick adaptation under dynamic link conditions
  • Lower transmission latency
  • Low network utilization (less broadcast)
  • Loop-free property (How using destination
    sequence )
  • Scalable to large network

7
AODV
  • Features
  • Routes are created only when required
  • Each node doesnt maintain all routes to other
    nodes (only active routes)
  • Use of sequence numbers at each destination to
    maintain freshness of routing information
  • Reduces periodic broadcast
  • Paths generated are loop-free
  • Uses symmetric links (if a link is not symmetric
    it is not up)
  • Works both on wired media and wireless media

8
AODV Algorithm
  • Primary Objectives
  • To broadcast discovery packets only when
    necessary
  • To distinguish between local connectivity
    management and general topology maintenance
  • To disseminate information about changes in local
    connectivity to neighboring mobile nodes that may
    need the information

9
AODV Algorithm
  • Path Discovery
  • Reverse Path Setup
  • Forward Path Setup
  • Route Table Management
  • Path Maintenance
  • Local Connectivity Management

10
Path Discovery
  • Initiated when no route to reach destination node
  • Each node has 2 counters
  • Source node sends a route request (RREQ)

11
Details of RREQ
  • ltsource_addr, broadcast_idgt is unique
  • Broadcast_id is incremented for new RREQ
  • If the neighboring node doesnt reply with a
    RREP, hop_cnt is incremented.
  • RREQ from same node with same broadcast_id will
    not be broadcasted more than once.

For example, node A wants to contact node D, but
there is no active path to reach node D.
A
B
D
C
B wont rebroadcast this RREQ
12
RREP
  • Route Reply

13
Reverse Path Setup
  • Source_sequence_ To maintain freshness
    information about the reverse route to the source
  • Dest_sequence_ how fresh a route to the
    destination must be in order to be accepted by
    the source
  • Every node will record the neighbors address
    where first copy of RREQ is from
  • These entries will be maintained for long enough
    for RREQ to traverse and produce a RREP to the
    sender

14
Reverse Path Setup
  • Reverse Path
  • Broadcast route request (RREQ) lt source_addr,
    source_sequence- , broadcast_id, dest_addr,
    dest_sequence_, hop_cnt gt
  • RREQ uniquely identified by ltsource_addr ,
    broadcast_idgt
  • Route reply (RREP) if neighbor is the target, or
    knows a higher dest_sequence_
  • Otherwise setup a pointer to the neighbor from
    whom RREQ was received
  • Maintain reverse path entries based on timeouts

15
Example
Assume same dest_sequence_ for all nodes
Source
Source
A
A
B
B
C
C
D
E
D
E
Destination
Destination
Reverse Path Formation
Network Layout
16
Forward Path Setup
  • RREQ arrives at a node that has current route to
    the destination ( larger/same sequence number)
  • unicast request reply (RREP)ltsource_addr,
    dest_addr, dest_sequence_, hop_cnt,lifetimegt to
    neighbor
  • RREP travels back to the source along reverse
    path
  • each upstream node updates dest_sequence_, sets
    up a forward pointer to the neighbor who transmit
    the RREP

17
Forward Path Setup
Nodes A sends B a RREQ with dest_sequence_ 100
and B has a route entry to reach D with
dest_sequene_ 99. B can NOT use its recorded
route to respond to the RREQ. B will rebroadcast
the RREQ. However, for node C, C can respond with
its recorded route.
100
100 or gt 100
99
E
C will send node A RREP ltAs address, Ds
address, 100, 1, lifetimegt
  • If C can supply a route to destination D, a
    reverse path has been connected from D to A.
  • RREP traverses from D to A, C (intermediate
    nodes) will setup a forward pointer to D and
    updates lifetime and records the latest
    dest_sequence_
  • Nodes that are not on the path determined by the
    RREP will timeout after 3 seconds and will delete
    the reverse pointers (e.g. reverse pointer from E
    to A)

18
Example
19
More Example
100
101
E
RREP Paths from H to A
B
A
H
D
100
C
G
F
101
Path with largest last dest_sequence_ or
smallest hop_cnt with same dest_sequence_ will
be chosen
20
Route Table Management
  • Route request expiration time to purge reverse
    path routing entries from nodes are not on the
    path from source to destination
  • Route caching timeout when the route is
    considered to be invalid

What is active?
A
B
C
  • B is an active neighbor of A if A sends/receives
    gt1 packets from B within active_timeout period
  • The route entry on node A (A??B) is active if A
    and B communicates
  • The path A? C is active if route entries along
    node A to node C are active

Note like DSDV, all routes in routing table are
tagged with destination sequence numbers ?
loop-free
21
Route Table Management (cont.)
  • Each route table entry contains
  • Destination
  • Next Hope
  • Number of hops
  • Sequence number for the destination
  • Active neighbors for this route
  • Expiration time for the route table entry
  • When a route entry is used to transmit data from
    source to destination, Timeout for each entry is
    current time active_route_timeout
  • When a new route is available, route table will
    be updated only if new route has larger
    dest_sequence_ or same dest_sequence_ but with
    smaller hop_cnt to the destination.

22
Route Table Management (cont.)
  • Route request expiration timer purges reverse
    paths that do not lie on active route
  • Active neighbor relays a packet within
    active_route_timeout
  • Route cache timer purges inactive routes
  • New routes preferred if higher destination
    sequence number or lower metric

23
Path Maintenance
  • If source node moves during an active session ?
    it can redo Path discovery
  • If destination or intermediate nodes move ? a
    special RREP is sent to affected source nodes
    (Upon link breakage, affected node propagates an
    unsolicited RREP ltdest_sequence_1, 8gt to all
    upstream nodes)
  • Source may restart route discovery process
  • If link between C and D is broken, a special
    RREP will sent to B and E by C. (C will
    increment its dest_sequence_ by 1 and set hop
    count to infinity)
  • Then B and E will send this RREP to its active
    neighbors F and G. At the end, all active source
    nodes are notified.

E
F
G
  • When source find out a link to destination is
    broken, and like to rebuild the path to
    destination, source will send a RREQ with last
    dest_squence_ 1

24
Local Connectivity Management
  • 2 ways for a node to find its neighbors
  • Receiving broadcast from its neighbors
  • Send its neighbors hello messages containing its
    identity and sequence number
  • Sequence number is not changed for hello message
  • Nodes can not rebroadcast hello messages (TTL1)
  • Local Connectivity has changed if
  • Receiving a broadcast or a hello from a new node
  • Failing to receive allowed_hello_loss consecutive
    hello message from a node was in the neighborhood
  • Neighbors only communicate when heard each
    others hello message Ensure the link is
    bidirectional
Write a Comment
User Comments (0)
About PowerShow.com