datatracker.ietf.org
Sign in
Version 5.6.2.p1, 2014-07-22
Report a bug

The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4
RFC 4728

Document type: RFC - Experimental (February 2007; Errata)
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 4728 (Experimental)
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

[include full document text]