280 likes | 405 Views
Dynamic Source Routing in Ad Hoc Wireless Networks. David B. Johnson and David A. Maltz. Presenter: Brian Overstreet. Presentation Overview. Introduction and Motivation Dynamic Source Routing Simulation and Results Related Work Discussion. Introduction and Motivation.
E N D
Dynamic Source Routing in Ad Hoc Wireless Networks David B. Johnson and David A. Maltz Presenter: Brian Overstreet
Presentation Overview • Introduction and Motivation • Dynamic Source Routing • Simulation and Results • Related Work • Discussion
Introduction and Motivation • Sharing files at the airport • Talking to friends during lectures • Earthquakes DSR
Introduction and Motivation • A,C need to talk • B must forward • Need routing protocol
Introduction and Motivation • Distance Vector Routing • Broadcasts to neighbors its distance to other hosts • Compute shortest path • Link State Routing • Broadcasts view of adjacent network links
Introduction and Motivation • Explicitly designed for wireless environment • No periodic router advertisements • Reduces network bandwidth overhead Advertisements
Introduction and Motivation • Link State and Distance Vector may compute routes that do not work • Cannot assume bidirectional links A B
Introduction and Motivation • Other protocols not built for dynamic topology changes • Convergence to new stable routes may be slow
Dynamic Source Routing • Assumptions • All hosts willing to forward packets for others • Network diameter (# hops) small • Hosts may move at any time • Promiscuous receive
Dynamic Source Routing • Sending to other hosts • Sender puts source route in header • If a recipient is not destination, keep forwarding
Dynamic Source Routing • Route Cache • Store of source routes • Expiration period for each entry
Dynamic Source Routing • Route Discovery • Broadcast route request packet with target • Receive route reply with sequence of hops to target • Route record • Sequence of hops taken by route request packet • Request ID • Used for duplicate detection
Dynamic Source Routing • Receiving a route request packet • If (init_addr, req_id) in list of recent requests, stop • If this host is in route record, stop • If host is the target, return copy of route record in the route reply to the initiator • Else, append host address to the route record and re-broadcast
Dynamic Source Routing • Piggybacking • When sending route reply, cannot just reverse route record • Unless there is an entry in cache • Must piggyback route reply on a route request targeted at initiator
Dynamic Source Routing • Route Maintenance • Monitors the correct operation of routes • If data link layer reports problems, send a route error packet to sender • Else, use passive acknowledgement
Dynamic Source Routing • Example
Dynamic Source Routing • Optimizations • Add entries to cache anytime a new route is learned • Use cache to avoid request propagation • Use delay period d= H*(h-1+r) • h = length of network hops • r = random number between 0 and 1 • H = small per hop delay constant • Do not reply from cache if loop detected
Dynamic Source Routing • Optimizations • Hop limit on route requests • Initially send route request with hop limit of 1 (nonpropagating route request) • If no reply, increment hop count to maximum (10)
Dynamic Source Routing • D notices hop count is one less than it should be • Send unsolicited route reply
Dynamic Source Routing • Improved Error Handling • Use exponential backoff to limit new route discovery rate • Promiscuous receive to learn of route errors • Search and remove from cache • Negative information
Simulation and Results • Constructed packet-level simulator • Model ad hoc network of mobile hosts in a medium-sized room • Hosts move .3 to .7 m/s pausing for pause time • Initiate 3 conversations at a time per host
Simulation and Results • Each conversation averages 1000 packets • 70% 1000 byte packets, rest 32 bytes • 5% failure rate • Does not model channel contention • Does not model one-way links
Related Work • PRNET uses distance vector routing • Each node broadcasts routing update packet every 7.5 seconds • NET/ROM use distance vectors and allows updates based on header information
Related Work • Destination-Sequenced Distance Vector (DSCV), Perkins and Bhagwat • Add sequence numbers to routing updates to avoid routing loops • Bridge Standard • All paths explorer • Proxy ARP
Discussion • How does this compare to Ad hoc On Demand Distance Vector (AODV) routing algorithm ? • Attacking the protocol?