Title: Dynamic Source Routing in Ad hoc Wireless Networks
1Dynamic Source Routing in Ad hoc Wireless
Networks
David B. Johnson, David A. Maltz Computer Science
Department Carnegie Mellon University
2Contents
- Introduction
- Assumptions
- Basic Operation
- Optimization
- Performance Evaluation
- Conclusion
3Introduction (1/2)
- What is ad hoc network?
- No fixed wired infrastructure
- Routing
- When two hosts are not within wireless
transmission range, other hosts between them
forward packets - Routing protocols in conventional wired networks
- Distance vector
- Each router broadcasts to each of its neighbor
routers its view of the distance to all hosts - Link state
- Each router broadcasts to all other routers in
the network its view of the status of each of its
adjacent network link
4Introduction (2/2)
- Dynamic source routing
- The sender of a packet determines the complete
sequence of nodes through which to forward the
packet - Dynamically determines a route based on
- Cached information
- The result of a route discovery
- The advantages of DSR
- No periodic routing advertisement messages
- bandwidth, battery power
- Don't require transmissions between hosts to work
bidirectionally - Be able to adapt quickly to changes
5Assumptions
- All hosts participate fully in the protocols of
the network - forward packets for other hosts
- Diameter
- The number of hops between one extreme edge of
the network and the opposite extreme - In ad hoc network, diameter is small but may
often be greater than one - Hosts can move but the speed is moderate
- Promiscuous receive mode
6Basic Operation - Overview
- The sender constructs a source route in the
packet's header - If the receiver is the destination host, sends a
route reply - Else forward packets
- Each host maintains a route cache
- If no route cache is found, use the route
discovery - Hosts monitor the operation of the route and use
the route maintenance
7Basic Operation Route Discovery (1/2)
- The sender
- Broadcast a route request packet
- The receiver
- ltinitiator address, request idgt
- If same, discard
- This host's address is already listed in the
route record - loop - Discard
- This host is the target
- Send a route reply
- Else
- Append this host's address to the route record,
and re-broadcast
8Basic Operation Route Discovery (2/2)
B
G
D
A
H
E
C
F
9Basic Operation Route Maintenance (1/2)
- No periodic messages
- Monitors the operation of the route and informs
the sender of any routing errors - Utilize a hop-by-hop acknowledgement
- At the data link level
- The route error packet
- Contains the addresses of the hosts at both ends
of the hop in error - Removed from the route cache
- Send to the sender
- Route cache, reverse the route from the packet in
error, route discovery - Passive acknowledgement
- promiscuous mode
10Basic Operation Route Maintenance (2/2)
B
G
D
G
A
Route Cache (A)G A, B, D, G G A, C, E, H,
GF B, C, F
H
E
C
F
11Optimization Full Use of the Route Cache (1/2)
- A tree of routes rooted at this host, to other
hosts in the ad hoc network - A hop can add entries to its route cache any time
it learns a new route - Intermediate hop
- Promiscuous mode
- If the host has a route cache entry for the
target, return a route reply without
re-broadcasting - Congestion
- Pick a delay period dH(h-1r)
- Delay transmitting the route reply for a period
of d - Promiscuously receive all packets, if the length
of the route on the packet is less than h, do not
transmit - Loop
- The host discards the request if the route in its
reply would contain a loop
12Optimization Full Use of the Route Cache (2/2)
- Specify the maximum number of hops over which the
packet may be propagated - Procedure
- To perform a route discovery, send the route
request with a hop limit of one - If no route reply is received, send a new route
request with a hop limit of the maximum value - Purpose
- Check if the target is currently within wireless
transmitter range
13Optimization Piggybacking Reflecting shorter
routes
- Piggybacking on route discoveries
- Small data packets can be piggybacked
- Ex) initial SYN packet opening a TCP connection
- Problem
- When replied based on the host's route cache,
data would be lost - Construct and send a new packet containing the
piggybacked data - Reflecting shorter routes
- Possible if hosts operate their network
interfaces in promiscuous receive mode - Send unsolicited route reply packet to the
original sender
14Optimization Improved Handling of Errors (1/2)
- Use exponential backoff
- When the network becomes partitioned
- To limit the rate at which new route discoveries
may be initiated from any host for the same
target - In order to reduce the overhead
- Eavesdrop on route error packets being sent to
other hosts
15Optimization Improved Handling of Errors (2/2)
- Different route
- Once the route error packet reaches the original
sender, retransmits the route error packet back
to the point of error - Caching negative information in a host's route
cache - Hosts can ignore replies
- Short expiration period must be placed
16Performance Evaluation (1/3)
- The simulation
- The area in which the hosts move - 9m²
- Velocity - 0.30.7m/s
- Transmission range - 3m
- Placed at a random position, randomly choose a
new location - 70 of the packets are long packet(1000bytes),
the remainder are short packets(32bytes) - Fail with probability of 5, 2 retransmission
attempts - The other hosts in range of the sender each have
a 95 chance of overhearing the packet - The bandwidth for transmitting data is
100Kbytes/s
17Performance Evaluation (2/3)
- Each run - 4000s
- Pause time - 0 4000s
18Performance Evaluation (3/3)
19Conclusion
- Dynamic source routing protocol
- Routing packets between wireless mobile hosts in
an ad hoc network - Adapts quickly to routing changes
- Route lengths are on average within a factor of
1.02 of optimal - Incorporate some additional optimizations
- Future work
- Interconnection of an ad hoc network with a
wide-area network such as the Internet - Security