The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4
RFC 4728
Document | Type |
RFC - Experimental
(February 2007; Errata)
Was draft-ietf-manet-dsr (manet WG)
|
|
---|---|---|---|
Authors | Yih-Chun Hu , Dave Maltz , David Johnson | ||
Last updated | 2020-01-21 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4728 (Experimental) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Bill Fenner | ||
Send notices to | <macker@itd.nrl.navy.mil>, <ian.chakeres@gmail.com>, dbj@cs.rice.edu |
Network Working Group D. Johnson Request for Comments: 4728 Rice University Category: Experimental Y. Hu UIUC D. Maltz Microsoft Research February 2007 The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4 Status of This Memo This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract The Dynamic Source Routing protocol (DSR) is a simple and efficient routing protocol designed specifically for use in multi-hop wireless ad hoc networks of mobile nodes. DSR allows the network to be completely self-organizing and self-configuring, without the need for any existing network infrastructure or administration. The protocol is composed of the two main mechanisms of "Route Discovery" and "Route Maintenance", which work together to allow nodes to discover and maintain routes to arbitrary destinations in the ad hoc network. All aspects of the protocol operate entirely on demand, allowing the routing packet overhead of DSR to scale automatically to only what is needed to react to changes in the routes currently in use. The protocol allows multiple routes to any destination and allows each sender to select and control the routes used in routing its packets, for example, for use in load balancing or for increased robustness. Other advantages of the DSR protocol include easily guaranteed loop- free routing, operation in networks containing unidirectional links, use of only "soft state" in routing, and very rapid recovery when routes in the network change. The DSR protocol is designed mainly for mobile ad hoc networks of up to about two hundred nodes and is designed to work well even with very high rates of mobility. This document specifies the operation of the DSR protocol for routing unicast IPv4 packets. Johnson, et al. Experimental [Page 1] RFC 4728 The Dynamic Source Routing Protocol February 2007 Table of Contents 1. Introduction ....................................................5 2. Assumptions .....................................................7 3. DSR Protocol Overview ...........................................9 3.1. Basic DSR Route Discovery .................................10 3.2. Basic DSR Route Maintenance ...............................12 3.3. Additional Route Discovery Features .......................14 3.3.1. Caching Overheard Routing Information ..............14 3.3.2. Replying to Route Requests Using Cached Routes .....15 3.3.3. Route Request Hop Limits ...........................16 3.4. Additional Route Maintenance Features .....................17 3.4.1. Packet Salvaging ...................................17 3.4.2. Queued Packets Destined over a Broken Link .........18 3.4.3. Automatic Route Shortening .........................19 3.4.4. Increased Spreading of Route Error Messages ........20 3.5. Optional DSR Flow State Extension .........................20 3.5.1. Flow Establishment .................................21 3.5.2. Receiving and Forwarding Establishment Packets .....22 3.5.3. Sending Packets along Established Flows ............22 3.5.4. Receiving and Forwarding Packets Sent along Established Flows ..................................23 3.5.5. Processing Route Errors ............................24 3.5.6. Interaction with Automatic Route Shortening ........24 3.5.7. Loop Detection .....................................25 3.5.8. Acknowledgement Destination ........................25 3.5.9. Crash Recovery .....................................25 3.5.10. Rate Limiting .....................................25 3.5.11. Interaction with Packet Salvaging .................26 4. Conceptual Data Structures .....................................26 4.1. Route Cache ...............................................26 4.2. Send Buffer ...............................................30 4.3. Route Request Table .......................................30 4.4. Gratuitous Route Reply Table ..............................31 4.5. Network Interface Queue and Maintenance Buffer ............32Show full document text