Title: Overview of AODV protocol Part 2
1Overview of AODV protocolPart 2
- SNAP Presentation
- 10/18/2007
- Jorge Ortiz
2AODV Route Table (Yes,theres Only 1)
- Destination Address
- Destination Sequence Number
- Valid Destination Sequence number flag
- Valid/invalid bit for the entry
- Hop Count
- List of precursors (one list)
- Lifetime
3Routing Requirements for Sensor Networks
0th-bit
31st-bit
Type (1)
Hop Count
Reserved
J
R
G
D
U
RREQ ID
RREQ(Route Request)
Destination IP Address
Destination Sequence Number
Originator IP Address
Originator Sequence Number
0th-bit
31st-bit
Type (2)
Hop Count
Reserved
R
A
Prefix Sz
RREP(Route Reply)
Destination IP Address
Destination Sequence Number
Originator IP Address
Originator Sequence Number
0th-bit
31st-bit
Type (3)
Dest Count
Reserved
N
A
RERR(Route Error)
Unreachable Destination IP Address (1)
Unreachable Destination Sequence Number (1)
Additional Unreachable Destination IP Address (if
needed)
Additional Unreachable Destination Sequence
Numbers (if needed)
4State Maintenance Overhead
- An entry is added for each destination
- The set of destinations include all the neighbors
as well as each source and destination - Each entry contains a list of precursors (list of
all nodes that use this node as a next-hop to get
to a given destination) - For d neighbors, S sources, and D destinations,
the size of the table is O((dSD) d) - In the worst case, where every node sends to
every other node, the size of the table is
O(Nd), where N is the number of nodes in the
network
5AODV Message Overhead
- RREQs are flooded messages
- O(N) messages sent per flood
- RREPs are sent through unicast back to the source
from either an intermediate node or a destination
node. - The worst case message overhead is the number of
hops, k, or O(k) - RERRs are forwarded along to each node in the
precursor list for every destination that is no
longer reachable. - If r destinations are no longer reachable, then
O(rd2k) message are sent per error.
6Collection State Overhead
- Collection many-to-one, many-to-some S sources
to D destinations, d density ( of neighbors) - Each destination has entries for each source and
all 1-hop neighbors and each entry has a
precursor list with order O(d) entries
O((dS)d) state per destination - Each source has a entry to each destination and
each neighbor, and a precursor list per entry
O((dD)d) state per source - Each intermediate node has an entry to each of
its neighbors as well as each source and each
destination and each entry has a precursor list
O((dSD)d)
7Collection Message Overhead
- Collection Message overhead
- RREQs Each destination (or source) may initiate
a RREQ message to each source (or destination).
The number of messages per RREQ is O(NSD) since
you send a flood for each route
(source-destination pair). - RREPs Each destination (or source) must issues
a unicast RREP message to each source (or
destination). The number of messages per RREP is
O(kSD) since for every source-destination pair,
the reply travels k hops (the diameter of the
network)
8Collection Overhead (cont.)
- RERRs
- This is dependent on the churn on the
links/routes. If a link goes down and the
hello-message feature is active, a RREP is
initiated. Furthermore, a RERR is initiated
whenever a RREQ cannot reach the next-hop node.
In both cases the cost is O(rd2k). - Optimization
- We can initiate the route-discovery process
outwards from the destinations to the source and
set the TTL1, so that each subsequent flood will
only need to go one hop before knowing how to get
to the destination
9Dissemination State Overhead
- Same as Collection
- Each source has an entry for each destination,
the destination has an entry for each source - Both include an O(d) precursor list
- Each intermediate node has entries to each source
and the destination - Source state O((d)d)
- Destination state O((dS)d)
- Intermediate node state O((dS)d)
10Dissemination Overhead
- The same as collection
- For dissemination, (which is one-to-many), the
constant D is 1. - Fundamentally, it does not matter whether you are
setting up collection or dissemination with AODV
because AODV is route-establishment dependent and
the set of routes in either workload case is the
same.
11AODV Main Timers
- Cache entry timer (lifetime)
- When a route entry expires, a RERR notification
process is initiated - Route establishment timer
- Each time this timer expires, RREQ is re-flooded
- Hello (keep alive) message timer (Optional)
- Used to maintain connectivity information
- Partially dictate RERR generation process
- RRER_RATELIMIT, RREQ_RATELIMIT (Optional)
- Others