300 likes | 540 Views
Overview of AODV protocol. SNAP Presentation 9/7/2007 Jaein Jeong and Jorge Ortiz. Outline. C haracteristic s of AODV AODV in context of WSN requirements P erformance evaluation of AODV and its implications Evaluation of TinyAODV. Published papers on AODV.
E N D
Overview of AODV protocol SNAP Presentation 9/7/2007 Jaein Jeong and Jorge Ortiz
Outline • Characteristics of AODV • AODV in context of WSN requirements • Performance evaluation of AODV and its implications • Evaluation of TinyAODV SNAP Presentation
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) SNAP Presentation
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. SNAP Presentation
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. 0th-bit 31st-bit Type (1) J R G D U Reserved Hop Count RREQ ID RREQ(Route Request) Destination IP Address Destination Sequence Number Originator IP Address Originator Sequence Number SNAP Presentation
DST1 Valid … … AODV Path Discovery • Propagating RREQ (route request): • When a receiving node has path to dest: • Replies with RREP (route reply). RREQ <DST1,rreq_id,…> Node A Node B Routing Table RREP <…> 0th-bit 31st-bit Type (2) R A Reserved Prefix Sz Hop Count RREP(Route Reply) Destination IP Address Destination Sequence Number Originator IP Address Originator Sequence Number SNAP Presentation
DST1 Valid … … AODV Path Discovery • Propagating RREQ (route request): • 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. Node A Node B Node C RREQ <DST1,rreq_id,hop_cnt, …> RREQ <DST1,rreq_id,hop_cnt+1, …> Routing Table SNAP Presentation
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. SNAP Presentation
Src UpstreamNeighbor Node A RRER <…> RRER <…> … … AODV: Path Maintenance • When a node A moves, • If A is not src, dest or intermediate:Doesn’t matter. • If A is source: A reinitiates route discovery. • 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 using • periodic hello message. • link layer acknowledgement. SNAP Presentation
AODV Route Table Management • 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. SNAP Presentation
Routing Requirements for Sensor Networks • Spatially-Driven Multihop • Light Footprint • Small MTU • Deep power management • Heterogeneous Capabilities • Highly Variable Connectivity • Structured Workload and Traffic Pattern • Partial Information • Quality of Service Capable Routing • Data Aware Routing SNAP Presentation
Routing Requirements for Sensor Networks • Spatially-Driven Multihop • AODV naturally supports multi-hop routing. • 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. SNAP Presentation
Routing Requirements for Sensor Networks • 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. 0th-bit 31st-bit Type (1) J R G D U Reserved Hop Count RREQ ID RREQ(Route Request) Destination IP Address Destination Sequence Number Originator IP Address Originator Sequence Number 0th-bit 31st-bit Type (2) R A Reserved Prefix Sz Hop Count RREP(Route Reply) Destination IP Address Destination Sequence Number Originator IP Address Originator Sequence Number 0th-bit 31st-bit Type (3) N A Reserved Dest Count RERR(Route Error) Unreachable Destination IP Address (1) Unreachable Destination Sequence Number (1) Additional Unreachable Destination IP Address (if needed) SNAP Presentation Additional Unreachable Destination Sequence Numbers (if needed)
Routing Requirements for Sensor Networks • Deep power management • AODV is not particularly designed for deep power management techniques like TDMA, cluster-based beaconing, and preamble sample. • 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. • 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. SNAP Presentation
Routing Requirements for Sensor Networks • 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. SNAP Presentation
Routing Requirements for Sensor Networks • Partial Information • AODV doesn’t assume any topology. • Quality of Service Capable Routing • AODV doesn’t have capability of differentiating priorities of each packet. • Data Aware Routing • AODV doesn’t mention anything about data aggregation. SNAP Presentation
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. SNAP Presentation
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) SNAP Presentation SNAP Presentation 9/7/2007 21
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. SNAP Presentation SNAP Presentation 9/7/2007 22
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. SNAP Presentation SNAP Presentation 9/7/2007 23
AODV reduction for Sensornets (TinyAODV) TinyAODV (and instance of reduced AODV) available in ../tinyos-1.x/contrib/hsn Reduction of features SNAP Presentation SNAP Presentation 9/7/2007 24
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 SNAP Presentation SNAP Presentation 9/7/2007 25
TinyAODV results on sMote Summary TinyAODV works well for few sources sending to few destinations Logs show poor route-establishment success SNAP Presentation SNAP Presentation 9/7/2007 26
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? SNAP Presentation SNAP Presentation 9/7/2007 27