Overview of AODV protocol
description
Transcript of Overview of AODV protocol
Overview of AODV protocol
SNAP Presentation
9/7/2007
Jaein Jeong and Jorge Ortiz
9/7/2007SNAP Presentation 2
Outline
• Characteristics of AODV
• AODV in context of WSN requirements
• Performance evaluation of AODV and its implications
• Evaluation of TinyAODV
9/7/2007SNAP Presentation 3
Published papers on AODV
• “Ad-hoc On-Demand Distance Vector Routing” – By Perkins and Royer (WMCSA'99)
• “Ad hoc On-Demand Distance Vector Routing”– By Perkins, Royer, Das (RFC3561)
• “A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols”
– By Broch et al (MobiCom `98)
• “Performance Comparison of Two On-Demand Routing Protocols for Ad Hoc Networks”
– By Perkins et al (IEEE Personal Comm `01)
Mechanism of AODV
9/7/2007SNAP Presentation 5
Key Concepts of AODV
• On-Demand Routing (a.k.a. reactive routing):– The path to a destination is created only when it is required.
– Whereas, ‘proactive routing’ protocols find routes between all source-destination pairs regardless of the need (e.g. DSDV).
• Routing table-based routing:– Each packet carries only the destination, so the packet
overhead is not as much as source routing like DSR.
• Maintaining most recent routing info:– Each ad-hoc node maintains a monotonically increasing
sequence number which is used to supersede stale cached routes.
9/7/2007SNAP Presentation 6
AODV Path Discovery
• Initiated whenever a source needs to communicate with another node for which it has no routing info in its table.
• Source broadcasts RREQ (route request) packet:– RREQ ID: incremented for each RREQ.
– Each RREQ has unique <Originator IP, RREQ ID>.
– Hop count is incremented each time RREQ is forwarded.
– Destination sequence number is to ensure loop-freedom.
RREQ IDDestination IP Address
Destination Sequence NumberOriginator IP Address
Originator Sequence Number
Type (1) Hop CountReservedJ R G D U0th-bit 31st-bit
RREQ(Route Request)
9/7/2007SNAP Presentation 7
Node B
AODV Path Discovery
RREQ <DST1,rreq_id,…>
Routing Table
RREP <…>
Node A
DST1 Valid… …
• Propagating RREQ (route request):1)When a receiving node has path to dest:
» Replies with RREP (route reply).
Destination IP AddressDestination Sequence Number
Originator IP AddressOriginator Sequence Number
Type (2) Hop CountReservedR A0th-bit 31st-bit
Prefix SzRREP(Route Reply)
9/7/2007SNAP Presentation 8
AODV Path Discovery
Node B
Routing Table
Node A
DST1 Valid… …
RREQ <DST1,rreq_id,hop_cnt, …>
Node CRREQ <DST1,rreq_id,hop_cnt+1, …>
• Propagating RREQ (route request):2) When a receiving node doesn’t have path to dest:
» Transmits RREQ by incrementing hop_cnt.
• Performance optimization:– Only first request of <src, rreq_id> is processed.
All others are suppressed.
9/7/2007SNAP Presentation 9
AODV Reverse Path and Forward Path Setup
• Reverse path:– As RREQ (route request) packets propagate
from node S towards node D, each node can tell from which it has received RREQ packet.
– This pointer to the recent sender of RREQ packet forms a reverse path from S to D.
• Forward path:– If a receiving node (1) know path to dest, (2) its
dest seq # >= received dest seq #, it has path to dest.
– Receiving node unicasts RREP (route reply) to the node RREQ was sent from.
– The node that receives RREP can know the next hop addr to dest, and this forms a forward path from S to D.
9/7/2007SNAP Presentation 10
AODV: Path Maintenance
• When a node A moves,1) If A is not src, dest or intermediate: Doesn’t matter.
2) If A is source: A reinitiates route discovery.
3) If A is dest or intermediate:
» Sends active upstream neighbors RRER (route error) message.
» Any node receives such packet propagates towards the source.
» Source can reinitiate route discovery.
• The link status can be detected using1) periodic hello message.
2) link layer acknowledgement.
RRER <…>… …
RRER <…>Src Upstream
NeighborNode A
9/7/2007SNAP Presentation 11
• Route request timer:– Expires a reverse path when it is not used for src-to-dest routing.
• Route caching timeout:– After which a route is considered invalid.
• Active timeout:– For each routing table entry, the address of active neighbors are
maintained.
– A list of neighbors from which a packet originates or is relayed to the destination.
– When the path to a dest is broken, active neighbors are notified.
• Active route timeout:– Each time a route entry is used to transmit data from a source to a
destination, the timeout for the entry is reset.
AODV Route Table Management
Comparison with requirements of WSN
9/7/2007SNAP Presentation 13
Routing Requirements for Sensor Networks
1. Spatially-Driven Multihop
2. Light Footprint
3. Small MTU
4. Deep power management
5. Heterogeneous Capabilities
6. Highly Variable Connectivity
7. Structured Workload and Traffic Pattern
8. Partial Information
9. Quality of Service Capable Routing
10.Data Aware Routing
9/7/2007SNAP Presentation 14
1. Spatially-Driven Multihop– AODV naturally supports multi-hop routing.
2. Light Footprint– Each node in AODV maintains a route table entry for each
destination in interest.
– Route Entry Fields
» Destination IP Address, Destination Sequence Number
» Valid Destination Sequence Number flag
» Other state and routing flags, Network Interface,
» Hop Count, List of Precursors, Lifetime
– Each route entry can take a few words.
– As long as not many destinations are used and route entries are compact, the routing table can be maintained within small memory footprint.
Routing Requirements for Sensor Networks
9/7/2007SNAP Presentation 15
Routing Requirements for Sensor Networks
3. Small MTU– AODV control packets are fixed size, but they are rather long for
small MTU of WSN.
– AODV header should be compressed to fit into small MTU.
RREQ IDDestination IP Address
Destination Sequence NumberOriginator IP Address
Originator Sequence Number
Type (1) Hop CountReservedJ R G D U0th-bit 31st-bit
Destination IP AddressDestination Sequence Number
Originator IP AddressOriginator Sequence Number
Type (2) Hop CountReservedR A0th-bit 31st-bit
Prefix Sz
Unreachable Destination IP Address (1)Unreachable Destination Sequence Number (1)
Additional Unreachable Destination IP Address (if needed)Additional Unreachable Destination Sequence Numbers (if needed)
Type (3) Dest CountReservedN A0th-bit 31st-bit
RREQ(Route Request)
RREP(Route Reply)
RERR(Route Error)
9/7/2007SNAP Presentation 16
Routing Requirements for Sensor Networks
4. Deep power management– AODV is not particularly designed for deep power
management techniques like TDMA, cluster-based beaconing, and preamble sample.
5. Heterogeneous Capabilities– By default, AODV sets the configuration parameters of each
node with the same values.But, it allows each node to set the configuration parameters such as network diameter and update interval.
6. Highly Variable Connectivity– AODV periodically maintains the status of each link. In case
a destination or an intermediate node is not reachable, it alerts upstream nodes with RERR packets and allows them to reinitiate route discovery.
9/7/2007SNAP Presentation 17
Routing Requirements for Sensor Networks
7. Structured Workload and Traffic Pattern– Requirements: support point-to-point, point-to-multipoint,
and multipoint-to-point workloads.
– While AODV is a point-to-point routing protocol, it can also support multipoint-to-point routing.
– Each node that wants to send packets to the destination can issue route requests and build routing path before it sends a message.
– AODV assumes that underlying link layer can handle broadcast (point-to-multipoint) to support RREQ. Thus, we can consider that AODV can support point-to-multipoint workload.
9/7/2007SNAP Presentation 18
Routing Requirements for Sensor Networks
8. Partial Information– AODV doesn’t assume any topology.
9. Quality of Service Capable Routing– AODV doesn’t have capability of differentiating priorities of
each packet.
10.Data Aware Routing– AODV doesn’t mention anything about data aggregation.
9/7/2007SNAP Presentation 19
Security Concerns
• AODV is designed for use in networks where the nodes can all trust each other, either by use of preconfigured keys, or because it is known that there are no malicious intruder nodes.
Performance Evaluation of AODV
9/7/2007SNAP Presentation 219/7/2007SNAP Presentation 21
AODV in Simulation
• Perkins et al. tested AODV in simulation
• Setup– Fixed size grid with randomly placed notes
– Node moves to a random location within the grid at a speed between 0.4-0.8 m/s
– When node reaches location, pauses for a random period between 60-300 seconds
– Single source node chosen at Random
– Single destination node chosen at Random
– Simulated 50, 100, and 1000 nodes
• Summary of Results– Goodput dropped from 98.75% with 50 nodes to 70.53% for
1000 nodes
– Small packets used for simulation (64 byte and 170 byte packet sizes– Larger packets congested the network)
9/7/2007SNAP Presentation 229/7/2007SNAP Presentation 22
Perkins et al: Overall
• Packet delivery fraction and delay:– DSR and AODV are not much different.
– With higher traffic, degradation in packet delivery rate and delay is less severe for AODV than DSR.
• Routing load and MAC load:– DSR has smaller routing load (less route-discovery messages
sent due to aggressive caching) than AODV.
– But, AODV smaller MAC load than DSR.
» AODV and DSR broadcast RREQs
» AODV and DSR unicast RREPs
» AODV broadcasts RERRs while DSR unicast them
– The difference in routing load and MAC load becomes larger at higher traffic.
9/7/2007SNAP Presentation 239/7/2007SNAP Presentation 23
Perkins et al: Overall
• Routing load and MAC load:– DSR generates less route requests and
more route replies.
– Route requests are handled by broadcast and route replies are handled by unicast.
– Due to higher cost of unicast, DSR generates higher MAC traffic.
9/7/2007SNAP Presentation 249/7/2007SNAP Presentation 24
AODV reduction for Sensornets (TinyAODV)
• TinyAODV (and instance of reduced AODV) available in ../tinyos-1.x/contrib/hsn
• Reduction of features
9/7/2007SNAP Presentation 259/7/2007SNAP Presentation 25
TinyAODV results on sMote
• Tested on sMote in Beacon Location Service paper (Ortiz et al.)
• Experimental setup– A priori destination set established, all other nodes are
source candidates
– Source set size = 28; Destination set size = 7
– Varying number of random sources (1, 5, 15, 28) chosen from a set of source
– Varying number of random destinations (1-7) chosen from destination set chosen
– Success rate measures the number of successfully routed data packets sent from a source to the destination
– First RREQ not counted in overall success rate
9/7/2007SNAP Presentation 269/7/2007SNAP Presentation 26
TinyAODV results on sMote
• Summary– TinyAODV works well for few sources sending to few
destinations
– Logs show poor route-establishment success
9/7/2007SNAP Presentation 279/7/2007SNAP Presentation 27
Can TinyAODV be fixed?
• RREPs being issued by nodes along the path the destination might improve route-establishment results
– This worked well for BLS; Eavesdropping improved results dramatically
• Other suggestions?