Dynamic Source Routing (DSR) Sandeep Gupta M.Tech - WCC
Overview Used in multihop wireless ad-hoc networks Completely self-organizing and self- configuring Completely ‘On-Demand’ Composed of two mechanisms : Route Discovery & Route Maintenance
Assumptions All nodes willing to forward packets Diameter of network will often be small ( 5 to 10 hops) Nodes can detect errors & discard packets Nodes move at a moderate speed Unidirectional links may be present Each node has single IP address
Route Discovery Source checks route cache for route to destination If no route available, source transmits ROUTE REQUEST ABCDE “A”“A,B”“A,B,C” “A,B,C,D”
Route Discovery ROUTE REQUEST gets propagated in the network When it finally reaches destination, it sends ROUTE REPLY using same or different path ABCDE “A”“A,B”“A,B,C” “A,B,C,D”
Route Discovery Destination may piggyback other data like TCP SYN with ROUTE REPLY ABCDE “A”“A,B”“A,B,C” “A,B,C,D”
Route Maintenance Each node originating or forwarding a packet confirms receipt of packet by next hop Link Level ack Passive ack Software ack ABCDE
Route Maintenance If receipt is not confirmed, ROUTE ERROR is sent to original sender Sender removes this ‘broken’ link, leaving retransmission to upper layers ABCDE
Route Maintenance When retransmitting, sender may use another route to destination in its cache or starts a fresh route discovery ABCDE
Route Discovery – Additional Features Caching overheard routing information Replying to ROUTE REQUEST using cached routes ROUTE REQUEST hop limit Preventing ROUTE REPLY storms
Preventing ROUTE REPLY storm Delay d = H x (h – 1 + r) h = length of number of hops r = random no. between 0 & 1 H = small constant delay A D C E F BG
Route Maintenance – Additional Features Packet salvaging Automatic route shortening (gratuitous ROUTE REPLY) Piggybacking ROUTE ERROR message in next ROUTE REQUEST
Support for Heterogeneous Networks & Mobile IP Each interface is assigned a unique identifier Routes include Node address & interface ID IF_INDEX_MA & IF_INDEX_ROUTER indexes are used for Mobile IP support ABCD
Simulation results 50 nodes with 10 active connections Simulation length in seconds: Number of nodes: 50 Number of sending nodes: 41 Number of receiving nodes: 50 Number of generated packets: 2295 Number of sent packets: 2283 Number of forwarded packets: 0 Number of dropped packets: 810 Number of lost packets: 0 Minimal packet size: 28 Maximal packet size: 612 Average packet size: Number of sent bytes: Number of dropped bytes: nodes with 20 active connections Simulation length in seconds: Number of nodes: 50 Number of sending nodes: 47 Number of receiving nodes: 50 Number of generated packets: 3481 Number of sent packets: 3414 Number of forwarded packets: 0 Number of dropped packets: 1206 Number of lost packets: 0 Minimal packet size: 28 Maximal packet size: 644 Average packet size: Number of sent bytes: Number of dropped bytes:
Conclusion “Dynamic Source Routing adapts quickly to routing changes when node movement is frequent, yet requires little or no overhead during periods in which nodes move less frequently. Though DSR overhead increases when traffic is heavy or number of nodes are more but this should still be less compared to distance vector protocols like DSDV where a complete picture of the whole network is present at every node even though it might not require it.”
References Ad Hoc Networking, Edited by Charles E Perkins, Addison-Wesley 1 st sem project report - Simulating IEEE with Dynamic Source Routing (DSR) in NS