Network Working Group                                        K. Kim, Ed.
Internet-Draft                                           Ajou University
Expires: April 15, 2006                                    G. Montenegro
                                                   Microsoft Corporation
                                                     S. Daniel Park, Ed.
                                                     SAMSUNG Electronics
                                                             I. Chakeres
                                                        UC Santa Barbara
                                                                  S. Yoo
                                                         Ajou University
                                                            Oct 16, 2005




         Dynamic MANET On-demand for 6LoWPAN (DYMO-low) Routing
              draft-montenegro-6lowpan-dymo-low-routing-00

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 15, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document specifies how to use the Dynamic MANET On-demand
   Routing Protocol over IEEE802.15.4 networks.




Kim, et al.             Expires April 15, 2006                  [Page 1]


Internet-Draft                  DYMO-low                    October 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1   Requirements Notation . .. . . . . . . . . . . . . . . . .  3

   2.  Overview     . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1 Simplifications for DYMO over IEEE 802.15.4. . . . . . . . .  4
     2.2 Terminology  . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Data Structures  . . . . . . . . . . . . . . . . . . . . . . .  6
     3.1   Route Table Entry  . . . . . . . . . . . . . . . . . . . .  6
     3.2   DYMO-low Message Elements  . . . . . . . . . . . . . . . .  7
       3.2.1   Generic DYMO-low Element Structure . . . . . . . . . .  7
       3.2.2   Routing Element (RE) . . . . . . . . . . . . . . . . .  8
       3.2.3   Route Error (RERR) . . . . . . . . . . . . . . . . . . 10
   4.  Detailed Operation . . . . . . . . . . . . . . . . . . . . . . 11
     4.1   DYMO-low Routing Table Operations  . . . . . . . . . . . . 11
       4.1.1   Creating or Updating a Route Table Entry from a
               Routing Block  . . . . . . . . . . . . . . . . . . . . 11
       4.1.2   Route Table Entry Timeouts . . . . . . . . . . . . . . 11
     4.2   Routing Element  . . . . . . . . . . . . . . . . . . . . . 12
       4.2.1   Routing Element Creation . . . . . . . . . . . . . . . 12
       4.2.2   Routing Element Processing . . . . . . . . . . . . . . 12
     4.3   Route Discovery  . . . . . . . . . . . . . . . . . . . . . 12
     4.4   Route Maintenance  . . . . . . . . . . . . . . . . . . . . 13
       4.4.1   Monitoring of Active Links . . . . . . . . . . . . . . 13
       4.4.2   Updating Route Lifetimes . . . . . . . . . . . . . . . 14
       4.4.3   Route Error Generation . . . . . . . . . . . . . . . . 14
     4.5   General DYMO-low Processing  . . . . . . . . . . . . . . . 14
       4.5.1   DYMO-low Control Packet Processing . . . . . . . . . . 14
       4.5.2   Generic Element Pre-processing . . . . . . . . . . . . 14
       4.5.3   Generic Element Post-processing  . . . . . . . . . . . 14
       4.5.4   DYMO-low Control Packet Transmission . . . . . . . . . 15
     4.6  Packet Generation Limits . . . . . . . . . . . .  . . . . . 15
     4.7  Sequence Numbers . . . . . . . . . . . . . . . .  . . . . . 15
       4.7.1   Sequence Number Rollover .. . . . . . . . . .  . . . . 15
   5.  Configuration Parameters . . . . . . . . . . . . . . . . . . . 15
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 16
   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 16
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
     9.1   Normative References . . . . . . . . . . . . . . . . . . . 17
     9.2   Informative References . . . . . . . . . . . . . . . . . . 18

       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 19

       Intellectual Property and Copyright Statements . . . . . . . . 20






Kim, et al.             Expires April 15, 2006                  [Page 2]


Internet-Draft                  DYMO-low                    October 2005


1.  Introduction

   The IEEE 802.15.4 standard [ieee802.15.4] targets low power personal
   area networks.  The "IPv6 over IEEE 802.15.4" document [I-D.ietf-
   6lowpan-format] defines basic functionality required to carry IPv6
   packets over IEEE 802.15.4 networks (including an adaptation layer,
   header compression, etc). Likewise, as mesh topologies are expected
   to be common in LoWPAN networks, the functionality required for
   packet delivery in IEEE 802.15.4 meshes is defined. However, neither
   the IEEE 802.15.4 standard nor the "IPv6 over IEEE 802.15.4"
   specification provide any information as to how such a mesh topology
   could be obtained and maintained.

   This document specifies how to use the Dynamic MANET On-demand
   Routing Protocol (DYMO) [I-D.ietf-manet-dymo] over IEEE 802.15.4
   networks to provide mesh routing.  To distinguish this instantiation
   of the protocol from DYMO over IPv4 and DYMO over IPv6, the label
   "DYMO-low" is used in this document.  Given the very stringent
   limitations of the target devices, this document specifies
   simplifications that are recommended to the base DYMO specification.


1.1  Requirements notation

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2. Overview

   The addresses used in DYMO-low control messages are either 16 bit
   link layer short address or IEEE 64-bit extended addresses [EUI64].
   Additionally, it should be noted that as used in this specification,
   DYMO-low is not layered on top of IP, but underneath it.  It is an
   underlay.  As such, it creates a mesh network topology underneath
   and unbeknownst to IP.  IP sees a PAN as a single link.  This is
   similar to how other technologies regularly create complex
   structures underneath IP (e.g., ethernet spanning tree bridges,
   token ring source routing, ATM, etc). One can envision a sub-IP mesh
   creating the illusion that all the devices on that PAN are on the
   same IPv6 link (sharing the same IPv6 prefix).  At the same time,
   normal usage of DYMO (above IP) could tie together several such
   "links" (potentially using different technologies for each) into
   a larger mesh.








Kim, et al.             Expires April 15, 2006                  [Page 3]


Internet-Draft                  DYMO-low                    October 2005


   DYMO over IPv4 makes use of broadcast in its route discovery.  It
   does so in order to propagate the Route Request control packets
   (RREQs).  In this specification, such broadcast packets are obtained
   by setting the PAN id to the broadcast PAN (0xffff) and by setting
   the link layer destination address to the broadcast short address
   (0xffff)

   DYMO-low control packets use the encapsulation defined in
   [I-D.ietf-6lowpan-format].  All DYMO-low control packets shall use
   the prot_type value TBD (suggested value of 5).  This prot_type is
   used to send DYMO-low messages in a manner similar to how DYMO uses
   a properly assigned UDP port.

2.1   Simplifications for DYMO over IEEE 802.15.4

   This section specifies simplifications and distinctive features of
   DYMO-low compared to the base DYMO.

   DYMO allows for minimalist implementations by specifying non-
   essential functionality as optional [I-D.ietf-manet-dymo].  In
   keeping with DYMO, DYMO-low implements the routing element(RE) which
   provides both the RREQ (route request) and the RREP (route reply).
   Furthermore, the RERR (route error) element is implemented while
   UERR (unsupported element error) element is obviated for simplicity.

   DYMO-low has the following characteristics:

   o  DYMOcast is mapped as broadcast.  Hence, RREQ messages use an IEEE
      802.15.4 broadcast message to reach all the next hop neighbors.

   o  Only the final destination responds to a RREQ by replying with a
      RREP.

   o  Cumulative route cost is employed for selecting best route to the
      destination. In the simplest case, only hop count could be used to
      determine best route.  However, it is suggested to use other
      criteria involving the link quality by utilizing the LQI (link
      quality indicator) of IEEE 802.15.4[ieee802.15.4].

   o  Hello messages are not used.  Instead, the IEEE 802.15.4
      acknowledgement mechanism is used to determine if a neighbor is no
      longer responsive.  This information is obtained when transmitting
      a packet with acknowledgement option turned on.

   o  Due to space limitations, nodes SHOULD NOT append or transmit any
      accumulated path information. That is, only one routing block
      (RBlock) could be inserted into a single routing element(RE).





Kim, et al.             Expires April 15, 2006                  [Page 4]


Internet-Draft                  DYMO-low                    October 2005


   o  Due to space limitations, nodes SHOULD append only one unreachable
      destination in RERR.

   o  Even though there exists space limitations, multiple routing
      elements are allowed in a control packet for saving power
      consumption. If there are multiple routing elements to send to the
      same node, it is more energy-efficient to send them in a packet
      rather than sending them individually.

   o  DYMO imposes a limit on the number of control messages sent
      per second by a node.  This limit (RATE_LIMIT) is reduced by
      DYMO-low from the default value of 10 to 2.

   o  Sequence numbers are used for loop freedom. The size of the
      sequence number field is reduced from 32 bits to 8 bits for
      simplification.

   o  The transmission method for RERR elements in DYMO is DYMOcast.
      However, considering the energy-constrained nature of 6lowpan,
      some efficient mechanisms other than DYMOcast are necessitated
      in DYMO-low (TBD).

   o  An error code field (ErrCode) is inserted into the RERR format to
      indicate a particular type of route error in 6lowpan such as low
      battery level.


2.2   Terminology

      Link Layer Destination Address (LinkLayerDestinationAddress)

         The 16 bit short or EUI-64 link layer address of the
         destination in the MAC layer. It is also called as the next-hop
         destination during hop-by-hop forwarding of packets.

      Link Layer Source Address (LinkLayerSourceAddress)

         The 16 bit short or EUI-64 link layer address of the source
         in the MAC layer. It is also called as the previous-hop source
         address during hop-by-hop forwarding of packets.

      DYMOcast

         DYMOcast in 6lowpan implies the broadcast in IEEE 802.15.4
         MAC layer. This can be done by setting the link layer
         destination field to 0xffff.






Kim, et al.             Expires April 15, 2006                  [Page 5]


Internet-Draft                  DYMO-low                    October 2005


      Valid Route

         A known route where the Route.ValidTimeout is greater than the
         current time.


3.  Data Structures

3.1  Route Table Entry

   The route table entry is a conceptual data structure.
   Implementations may use any internal representation that conforms to
   the semantics of a route as specified in this document.

   o  Route.DestAddress

   o  Route.DeleteTimeout

   o  Route.RouteCost

   o  Route.NextHopAddress

   o  Route.ValidTimeout

      These fields are defined as follows:

      Route Destination Address (Route.DestAddress)

         The 16 bit short or EUI-64 link layer address of the final
         destination of a route.

      Route Delete Timeout (Route.DeleteTimeout)

         If the current time is after Route.DeleteTimeout the
         corresponding routing table entry MUST be deleted.

      Route Cost (Route.RouteCost)

         Cumulative cost metric used for allowing a node to select an
         optimum route to the final destination.


      Route Next Hop Address (Route.NextHopAddress)

         The 16 bit short or EUI-64 link layer address of the next-hop
         node on the path toward the final destination.






Kim, et al.             Expires April 15, 2006                  [Page 6]


Internet-Draft                  DYMO-low                    October 2005


      Route.ValidTimeout

         The time at which a route table entry is scheduled to be
         invalidated.  The routing table entry is no longer considered
         valid if the current time is after Route.ValidTimeout.


3.2  DYMO-low Message Elements

3.2.1  Generic DYMO-low Element Structure

   All DYMO-low message elements MUST conform to the fixed data structure
   below.


   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |      TTL      |T|      Res    |   TSeqNum     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                         TargetAddress                         .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                              Figure 1


      Element Type (Type)

         The following is the list of the currently available element
         types.

          Type                                     Value
          --------------------------------         -----
          Routing Element (RE)                       1
          Route Error (RERR)                         2


      T-bit (T)

          1 for the 16-bit address of the target.
          0 for the EUI-64 address of the target.


      Reserved (Reserved, Reservd, Res, R)

         Reserved bits.  These bits are set to zero (0) during element
         creation and ignored during processing.





Kim, et al.             Expires April 15, 2006                  [Page 7]


Internet-Draft                  DYMO-low                    October 2005


      Element Time to Live (TTL)

         8-bit field that identifies the maximum number of times the
         element is to be retransmitted.  When TTL reaches zero (0) the
         element is dropped.

      Target Sequence Number (TSeqNum)

         The sequence number of the ultimate destination of this Routing
         Element.  If the Sequence Number is unknown for this particular
         Route.DestAddress then TSeqNum is set to zero (0).

      Element Target Address (TargetAddress)

         The node that is the ultimate destination of the element.  This
         field is only required if the LinkLayerDestinationAddress is not
         the DYMOcastAddress.  During hop-by-hop transmission of a
         DYMO-low packet the LinkLayerDestinationAddress is filled with
         the Route.NextHopAddress of the route table entry associated with
         the TargetAddress.


3.2.2  Routing Element (RE)

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |      TTL      |T|A|    Res    |   TSeqNum     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                         TargetAddress                         .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  TRouteCost   |                                               .
   +-+-+-+-+-+-+-+-+                                               .
   .                  Routing Block  (RBlock)                      .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                 Figure 2


      A-bit (A)

         1-bit selector indicating whether this RE requires a RREP by
         the TargetAddress.  If A=1 a RREP is required.  The
         instructions for generating a RREP are described in
         Section 4.3.








Kim, et al.             Expires April 15, 2006                  [Page 8]


Internet-Draft                  DYMO-low                    October 2005


      Element Target Address (TargetAddress)
         The node that is the ultimate destination of the Routing
         Element.


      Target Route Cost (TRouteCost)

         8-bit field that identifies the routing cost across the number
         of intermediate nodes through which a packet traversed on the
         route to this particular TargetAddress the last time a route
         was available. The TRouteCost is the Route.RouteCost of the
         TargetAddress, stored in the routing table of the RREQ
         originator.  If the route cost information is not available
         at the originating node then the TRouteCost is set to zero (0).

      Routing Block (RBlock)

         Data structure that describes routing information related to the
         source node of which link layer address is RBNodeAddress.


   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                               |G|B|  RBRouteCost  |   RBSeqNum    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                          RBNodeAddress                        .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                                Figure 3

         G-bit (G)

            1-bit selector to indicate whether the RBNodeAddress is a
            gateway.  If G=1 RBNodeAddress is a gateway.  The usage of
            this bit is TBD.

         B-bit (B)

            1 for 16-bit link layer address of the RBNode
            0 for EUI-64 link layer address of the RBNode










Kim, et al.             Expires April 15, 2006                  [Page 9]


Internet-Draft                  DYMO-low                    October 2005


         Routing Block Node Sequence Number (RBSeqNum)

            The sequence number of the node associated with this RBlock.

         Routing Block Node Address (RBNodeAddress)
            The 16-bit short or EUI-64 address of the node associated
            with RBlock.


3.2.3  Route Error (RERR)

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |      TTL      |T|      Res    |   TSeqNum     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  ErrCode      |          TargetAddress                        .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                               Figure 4

      Unreachable Target Node Address (TargetAddress)

         The 16-bit short or EUI-64 link layer address of the target
         node that has become unreachable.


      Error Code (ErrorCode)

         Numeric value for describing errors
             0x00 = No available route
             0x01 = Low Battery
             0x02 - 0xff = Reserved (TBD)



















Kim, et al.             Expires April 15, 2006                 [Page 10]


Internet-Draft                  DYMO-low                    October 2005


4.  Detailed Operation

4.1  DYMO-low Routing Table Operations

4.1.1  Creating or Updating a Route Table Entry from a Routing Block

   While processing a RE, as described in Section 4.2.2, a node checks
   its routing table for an entry to the RBNodeAddress.  In the event
   that no matching entry is found, an entry is created.

   If a matching entry is found, the routing information about
   RBNodeAddress contained in this RBlock is considered stale if the
   RBRouteCost is greater than Route.RouteCost. If there exists a route
   AND the RBRouteCost is equal to the Route.RouteCost in this RBlock the
   information is not stale, but the routing information SHOULD be
   disregarded and no routing update should occur.

   If the information in this RBlock is stale or disregarded this
   DYMO-low packet MUST be dropped. If the route information for
   RBNodeAddress is not stale or disregarded, then the following
   actions occur to the route table entry for RBNodeAddress:

   1.  the Route.RouteCost is set to the RBRouteCost,

   2.  the Route.NextHopAddress is set to the node that transmitted this
       DYMO-low packet (LinkLayerSourceAddress),

   3.  and the Route.ValidTimeout is set to the current time +
       ROUTE_TIMEOUT.

   If a valid route exists to RBNodeAddress, the route can be used to
   send any queued data packets and to fulfill any outstanding route
   requests.


4.1.2  Route Table Entry Timeouts

   If the current time is later than a routing entry's
   Route.ValidTimeout, the route is stale and it is not to be used to
   route packets. The information in invalid entries is still used for
   generating RREQ messages.

   If the current time is after Route.DeleteTimeout the corresponding
   routing table entry MUST be deleted.








Kim, et al.             Expires April 15, 2006                 [Page 11]


Internet-Draft                  DYMO-low                    October 2005


4.2  Routing Element

4.2.1  Routing Element Creation

   When a node creates a RREQ or RREP, it MUST create the RBlock.
   It sets the RBNodeAddress to its own address.

4.2.2  Routing Element Processing

   After general DYMO-low element pre-processing (Section 4.5.2), the
   RBRouteCost for the RBlock is calculated in a cumulative manner
   (which is TBD).  A route to the RBNodeAddress is then created or
   updated, as described in Section 4.1.1. If this RBlock does not
   result in a valid route the packet MUST be dropped.
   If this node is the TargetAddress AND the A-bit is set (A=1), this
   node MUST respond with a RREP.  The target node creates a new RE as
   described in Section 4.2.1.  The TargetAddress in the new RE is set
   to the RBNodeAddress from the RE currently being processed. The A-bit
   is set to (A=0).  The LinkLayerDestinationAddress is set to the
   Route.NextHopAddress for the TargetAddress.  Then the new RE
   undergoes post-processing, according to Section 4.5.3.

   If this node is not the TargetAddress, the current RE SHOULD be
   handled according to Section 4.5.4.

   If this node is the TargetAddress, the current packet and any
   additional elements are processed, but this packet is not
   retransmitted.


4.3  Route Discovery

   A node generates a Route Request (RREQ) to discover a valid route to
   a particular destination (TargetAddress). A RREQ is a RE with the
   A-bit is set to one (A=1) to indicate that the TargetNode must
   respond with a RREP.  If a route cost is known for the TargetAddress
   it is placed in the TRouteCost field.  Otherwise, the TRouteCost is
   set to zero(0).  The LinkLayerDestinationAddress is set to the
   DYMOcastAddress.  The RE is then transmitted according to
   the procedure defined in Section 4.5.4.

   After issuing a RREQ, the originating node waits for a route to be
   created to the TargetNode.  If a RREP is not received within
   RREQ_WAIT_TIME milliseconds, this node MAY again try to discover a
   route by issuing another RREQ.







Kim, et al.             Expires April 15, 2006                 [Page 12]


Internet-Draft                  DYMO-low                    October 2005



   To reduce congestion in a network, repeated attempts at route
   discovery for a particular TargetNode SHOULD utilize a binary
   exponential backoff.  The first time a node issues a RREQ, it waits
   RREQ_WAIT_TIME milliseconds for a route to the TargetNode.  If a
   route is not found within that time, the node MAY send another RREQ.
   If a route is not found within two (2) times the current waiting
   time, another RREQ may be sent, up to a total of RREQ_TRIES.  For
   each additional attempt, the waiting time for the previous RREQ is
   multiplied by two (2) so that the waiting time conforms to a binary
   exponential backoff.

   Data packets awaiting for a route MAY be buffered.

   If a route discovery has been attempted RREQ_TRIES times without
   receiving a route to the TargetAddress, all data packets destined to
   the corresponding TargetAddress SHOULD be dropped from the buffer.

4.4  Route Maintenance

4.4.1  Monitoring of Active Links

   Before a route can be used for forwarding a packet, it MUST be
   checked to make sure that the route is still valid.  If the
   Route.ValidTimeout is earlier than the current time, the packet
   cannot be forwarded, and a RERR message MUST be generated (see
   section 4.4.3).  In this case, the Route.DeleteTimeout is set
   to Route.ValidTimeout + ROUTE_DELETE_TIMEOUT.

   If the current time is after Route.DeleteTimeout, then the route
   SHOULD be deleted, though a route MAY be deleted at any time.
   Upon detecting a link break the detecting node MUST set the
   Route.ValidTimeout to the current time for all active routes
   utilizing the broken link.

   A RERR MUST be issued if a data packet is received and it cannot be
   delivered to the next hop.  RERR generation is described in
   Section 4.4.3.  A RERR SHOULD be issued after detecting a broken link
   of an active route to quickly notify nodes that a link break occurred
   and a route or routes are no longer available.












Kim, et al.             Expires April 15, 2006                 [Page 13]


Internet-Draft                  DYMO-low                    October 2005


4.4.2  Updating Route Lifetimes

   To avoid route timeouts for active routes, a node SHOULD update the
   Route.ValidTimeout to the final destination address[I-D.ietf-6lowpan
   -format] to be the current time + ROUTE_TIMEOUT upon successfully
   transmitting a packet to the next hop.

4.4.3  Route Error Generation

   When a data packet is received for a destination without a valid
   routing table entry, a Route Error (RERR) MUST be generated by this
   node.  A RERR informs the source that the current route is no longer
   available.

   In the RERR, the TargetAddress field is the address of the
   unreachable node (final destination address) from the data packet.
   The setting of the LinkLayerDestinationAddress of the RERR and the
   RERR processing at the receiving node are TBD.


4.5  General DYMO-low Processing

4.5.1  DYMO-low Control Packet Processing

   A DYMO-low packet may consist of multiple DYMO-low elements.
   Each element is processed individually and in sequence, from first
   to last.  An incoming DYMO-low packet MUST be completely processed
   prior to any DYMO-low packet transmissions.

   Unless specific element processing requires dropping the DYMO-low
   packet, it is retransmitted after processing, according to the method
   described in Section 4.5.4.

4.5.2  Generic Element Pre-processing

   Each element in a DYMO-low packet undergoes pre-processing before the
   element specific processing occurs.  During pre-processing, the TTL
   is decremented by one (1).

4.5.3  Generic Element Post-processing

   If the first element TTL is zero (0) the DYMO-low packet is dropped
   after processing of all elements.  If the TTL of the first element is
   greater than zero the DYMO-low packet is re-transmitted after
   processing of all elements.  If the TTL of any element is zero (0)
   after processing, it MUST be removed from the DYMO-low packet prior to
   transmission.





Kim, et al.             Expires April 15, 2006                 [Page 14]


Internet-Draft                  DYMO-low                    October 2005


4.5.4  DYMO-low Control Packet Transmission

   DYMO-low packet transmission and re-transmission is controlled by the
   LinkLayerDestinationAddress.  If the LinkLayerDestinationAddress is
   a unicast address, the packet LinkLayerDestinationAddress is replaced
   by the Route.NextHopAddress from a route table lookup for the
   TargetAddress. If a route for the TargetAddress is unknown or invalid
   the packet is dropped and a RERR SHOULD be generated.

4.6  Packet Generation Limits

   To avoid congestion, a node SHOULD NOT transmit more than RATE_LIMIT
   control messages per second.  RREQ packets SHOULD be discarded before
   RREP or RERR packets.


4.7 Sequence Numbers

   The usage of sequence numbers in DYMO-low follows the base DYMO
   except the sequence number rollover.

4.7.1  Sequence Number Rollover

   If the sequence number has been assigned to be the largest possible
   number representable as a 8-bit unsigned integer, then the sequence
   number MUST be set to one (1) when incremented.


5.  Configuration Parameters

   Here are some default parameter values for DYMO-low:

      Parameter Name                  Suggested Value
      ---------------------------     ---------------
      NET_DIAMETER                    256
      RATE_LIMIT                      2
      ROUTE_TIMEOUT                   10 minutes
      ROUTE_DELETE_TIMEOUT            2*ROUTE_TIMEOUT
      RREQ_WAIT_TIME                  1000 milliseconds
      RREQ_TRIES                      2


6.  IANA Considerations

   This document needs an additional IANA registry for the prot_type
   value that indicates the DYMO-low format.






Kim, et al.             Expires April 15, 2006                 [Page 15]


Internet-Draft                  DYMO-low                    October 2005


7.  Security Considerations

   The security considerations of the [RFC3561] are applicable to this
   document. As described in the charter of the 6lowpan w.g., DYMO-low
   will also try to reuse existing security considerations related to
   Ad hoc routing protocols. Further considerations will be studied in
   the next version.


8.  Acknowledgments

   Thanks to Byeong-Hee Roh, Shafique Ahmad Chaudhry, Ali Hammad Akbar,
   and Hee-Jung Kim for their useful discussions and supports for writing
   this document.






































Kim, et al.             Expires April 15, 2006                 [Page 16]


Internet-Draft                  DYMO-low                    October 2005


9.  References

9.1  Normative References

   [EUI64]    "GUIDELINES FOR 64-BIT GLOBAL IDENTIFIER (EUI-64)
              REGISTRATION AUTHORITY", IEEE http://standards.ieee.org/
              regauth/oui/tutorials/EUI64.html.

   [I-D.ietf-ipv6-2461bis]
              Narten, T., "Neighbor Discovery for IP version 6 (IPv6)",
              draft-ietf-ipv6-2461bis-03 (work in progress), May 2005.

   [I-D.ietf-ipv6-rfc2462bis]
              Thomson, S., "IPv6 Stateless Address Autoconfiguration",
              draft-ietf-ipv6-rfc2462bis-08 (work in progress),
              May 2005.

   [I-D.ietf-manet-dymo]
              Chakeres, I., "Dynamic MANET On-demand (DYMO) Routing",
              draft-ietf-manet-dymo-02 (work in progress), June 2005.

   [I-D.ietf-6lowpan-format]
              Montenegro, G., "Transmission of IPv6 Packets over IEEE
              802.15.4 Networks",
              draft-ietf-6lowpan-format-00 (work in
              progress), July 2005.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2434]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 2434,
              October 1998.

   [RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", RFC 2460, December 1998.

   [RFC3513]  Hinden, R. and S. Deering, "Internet Protocol Version 6
              (IPv6) Addressing Architecture", RFC 3513, April 2003.

   [RFC3561]  Perkins, C., Belding-Royer, E., and S. Das, "Ad hoc On-
              Demand Distance Vector (AODV) Routing", RFC 3561,
              July 2003.

   [ieee802.15.4]
              IEEE Computer Society, "IEEE Std. 802.15.4-2003",
              October 2003.





Kim, et al.             Expires April 15, 2006                 [Page 17]


Internet-Draft                  DYMO-low                    October 2005


9.2  Informative References

   [AODVjr]   Chakeres, Ian and Klein-Berndt, Luke, "AODVjr, AODV
              Simplified", ACM SIGMOBILE Mobile Computing and
              Communications Review pp. 100-101, July 2002.

   [I-D.ietf-ipngwg-icmp-v3]
              Conta, A., "Internet Control Message Protocol (ICMPv6) for
              the Internet Protocol Version  6 (IPv6) Specification",
              draft-ietf-ipngwg-icmp-v3-07 (work in progress),
              July 2005.

   [I-D.perkins-manet-aodvbis]
              Perkins, C., "Ad hoc On-Demand Distance Vector (AODV)
              Routing", draft-perkins-manet-aodvbis-01 (work in
              progress), February 2004.

   [KW03]     Karlof, Chris and Wagner, David, "Secure Routing in Sensor
              Networks: Attacks and Countermeasures", Elsevier's AdHoc
              Networks Journal, Special Issue on Sensor Network
              Applications and Protocols vol 1, issues 2-3,
              September 2003.

   [RFC3439]  Bush, R. and D. Meyer, "Some Internet Architectural
              Guidelines and Philosophy", RFC 3439, December 2002.

   [RFC3756]  Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor
              Discovery (ND) Trust Models and Threats", RFC 3756,
              May 2004.

   [TinyAODV]
              "TinyAODV Implementation", TinyOS Source Code Repository h
              ttp://cvs.sourceforge.net/viewcvs.py/tinyos/tinyos-1.x/
              contrib/hsn/.


















Kim, et al.             Expires April 15, 2006                 [Page 18]


Internet-Draft                  DYMO-low                    October 2005


Authors' Addresses
   Ki-Hyung Kim, Editor
   Ajou University
   San 5 Wonchun-dong, Yeongtong-gu
   Suwon-si, Gyeonggi-do  442-749
   KOREA

   Phone: +82 31 219 2433
   Email: kkim86@ajou.ac.kr


   Gabriel Montenegro
   Microsoft Corporation

   Email: gabriel_montenegro_2000@yahoo.com


   Soohong Daniel Park, Editor
   Mobile Platform Laboratory, SAMSUNG Electronics
   416 Maetan-3dong, Yeongtong-gu
   Suwon-si, Gyeonggi-do  442-742
   KOREA

   Phone: +82 31 200 4508
   Email: soohong.park@samsung.com


   Ian Chakeres
   University of California Santa Barbara
   Dept. of Electrical and Computer Engineering
   Santa Barbara, CA  93106
   USA


   Seung Wha Yoo
   Ajou University
   San 5 Wonchun-dong, Yeongtong-gu
   Suwon-si, Gyeonggi-do  442-749
   KOREA

   Phone: +82 31 219 1603
   Email: swyoo@ajou.ac.kr










Kim, et al.             Expires April 15, 2006                 [Page 19]


Internet-Draft                  DYMO-low                    October 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.





Kim, et al.             Expires April 15, 2006                 [Page 20]