DTN Research Group                                               K. Fall
Internet-Draft                                      Intel Labs, Berkeley
Intended status: Experimental                          February 28, 2010
Expires: September 1, 2010


               DTN Scope Control using Hop Limits (SCHL)
                        draft-fall-dtnrg-schl-00

Abstract

   This document defines DTN Scope Control using Hop Limits (SCHL), a
   DTN Bundle Protocol extension block.  The SCHL extension block holds
   the number of DTN hops a bundle has traversed while being forwarded
   (count sub-field) and a maximum hop limit value set by the bundle
   sender (limit sub-field).  DTN nodes increment the count sub-field
   when forwarding a bundle and discard bundles that have traveled at
   least the number of hops specified in the limit sub-field.  This memo
   also reserves the value 9 for the SCHL extension block type value and
   bundle status reason code in RFC 5050.

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and 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 September 1, 2010.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.



Fall                    Expires September 1, 2010               [Page 1]


Internet-Draft  DTN Scope Control using Hop Limits (SCHL)  February 2010


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the BSD License.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . . . 3
   2.  The SCHL Extension Block  . . . . . . . . . . . . . . . . . . . 3
     2.1.  Hop Count Sub-Field . . . . . . . . . . . . . . . . . . . . 4
     2.2.  Hop Limit Sub-Field . . . . . . . . . . . . . . . . . . . . 4
   3.  The SCHL Extension Block Format . . . . . . . . . . . . . . . . 4
   4.  Processing  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     4.1.  Bundle Origination  . . . . . . . . . . . . . . . . . . . . 5
     4.2.  Bundle Forwarding . . . . . . . . . . . . . . . . . . . . . 5
     4.3.  Bundle Delivery . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     8.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7





















Fall                    Expires September 1, 2010               [Page 2]


Internet-Draft  DTN Scope Control using Hop Limits (SCHL)  February 2010


1.  Introduction

   This document defines an extension block for use with the Bundle
   Protocol (BP) [RFC5050] within the context of the Delay-Tolerant
   Networking (DTN) architecture [RFC4838].  The DTN Bundle Protocol
   defines the bundle as its protocol data unit and defines "bundle
   blocks" to carry data of different types.  This document defines how
   to perform DTN Scope Control using Hop Limits (SCHL), and the
   corresponding extension block, referred to as the "SCHL extension
   block."

   SCHL can be used by a bundle sender to control the number of hops a
   bundle is forwarded.  A similar scheme has been used in conjunction
   with IPv4 and IPv6 multicast (see [RFC3810], Section 5 as an example)
   to limit the scope of multicast packets.  However, SCHL differs from
   the TTL field in IPv4 and hop limit field in IPv6.  The SCHL
   extension block includes a hop count sub-field that counts from zero
   upward as a bundle is forwarded, rather than from a limit downward as
   in IPv4 or IPv6.  This capability allows DTN forwarding nodes to
   ascertain how many hops a bundle has traveled prior to reaching the
   forwarding node.  This capability may be useful in determining how
   much "effort" the network has put into forwarding the bundle, and
   consequently may affect resource allocation decisions and/or
   congestion controls.

   This document specifies an extension block to the Bundle Protocol
   (RFC5050) containing two sub-fields, called the hop count sub-field
   and hop limit sub-field.  Bundle Protocol implementations claiming to
   support SCHL MUST be capable of:

   o  Generating an SCHL extension block and inserting it into a bundle

   o  Allowing applications to specify the maximum hop limit value

   o  Processing received SCHL extension blocks

   as specified in this document.

1.1.  Requirements Language

   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 RFC 2119 [RFC2119].


2.  The SCHL Extension Block

   The SCHL extension block comprises two sub-fields.  The first sub-



Fall                    Expires September 1, 2010               [Page 3]


Internet-Draft  DTN Scope Control using Hop Limits (SCHL)  February 2010


   field is called the hop count sub-field, and the second is called the
   hop limit sub-field.  The extension block is variable length, as each
   sub-field is encoded using an SDNV.

2.1.  Hop Count Sub-Field

   A hop-count sub-field contained in the SCHL extension block of a
   subject bundle indicates the number of DTN hops a bundle has taken
   (i.e., how many bundle agents have forwarded the bundle).  This value
   is an SDNV containing an initial value of zero.  Bundles emitting
   from the sender will have a value of one.

2.2.  Hop Limit Sub-Field

   A hop-limit sub-field contained in the SCHL extension block of a
   subject bundle indicates the maximum value the hop count sub-field is
   permitted to attain.  This value is an SDNV with initial value of
   zero or greater set by the bundle sender.


3.  The SCHL Extension Block Format

   The SCHL extension uses the Canonical Bundle Block Format as defined
   in the Bundle Protocol RFC 5050 [RFC5050].

          |----------+----------+----------+----------+----------|
          |  Type    | Flags (*)| Length(*)| Count (*)| Limit(*) |
          |----------+----------+----------+----------+----------|

          A [RFC5050] Extension Block Format (no EID references)

                 Figure 1: The SCHL Extension Block Format

   Notes:

   o  (*) Indicates field contains a Self Delimiting Numerical Value
      (SDNV) (see Section 4.1. of RFC 5050 [RFC5050])

   o  "Block Type" (see section 3.1 of RFC 5050 [RFC5050]) is a 1-byte
      mandatory field set to the value 9, indicating the SCHL extension
      block.

   o  "Block Processing Control Flags" (see section 3.1 of RFC 5050
      [RFC5050]) is an SDNV that contains the BP block processing
      control flags.  For SCHL, this MUST indicate no EID references and
      MUST set bit 0 (i.e., to indicate the extension is to be
      replicated in every fragment).




Fall                    Expires September 1, 2010               [Page 4]


Internet-Draft  DTN Scope Control using Hop Limits (SCHL)  February 2010


   o  "Block Length" (see section 3.1 of of RFC 5050 [RFC5050]) is a
      mandatory SDNV that contains the aggregate length of all remaining
      fields of the block.  A one octet SDNV is shown here for
      convenience in representation.


4.  Processing

4.1.  Bundle Origination

   The bundle user agent MUST provide a method for applications to
   specify the maximum hop limit for bundles they send.  The bundle
   protocol agent may override this value by way of configuration
   information by limiting this value to a smaller value, but not a
   larger one.  The protocol agent places the minimum of the two values
   in the maximum hop limit sub-field and arranges for it to be
   processed by the bundle security protocol [BPsec],x if enabled.

   The bundle protocol agent forms the SCHL extension in a subject
   bundle and MUST initialize the SCHL hop count sub-field to zero.

4.2.  Bundle Forwarding

   A bundle forwarder receiving a bundle with the SCHL extension
   processes the bundle for local reception if appropriate and then
   checks the hop count sub-field against the maximum hop sub-field.  If
   the hop count sub-field is equal to or greater than the value in the
   maximum hop limit sub-field, the bundle is discarded.  This is called
   a "scoping discard event."  By default, a scoping discard event MUST
   not generate any resultant report messages unless the report-request
   sub-field of the subject bundle is set.

   If the report-request field of the subject bundle is set when it
   experiences a scoping discard event, the bundle forwarding agent
   prepares a bundle status report (see RFC 5050, Section 6.1.1) with
   status flag set to 00010000 (reporting node deleted the bundle) and
   Reason Code set to 0x09 (a newly-defined value, indicating hop limit
   exceeded).  This status report is sent according to conventions
   applicable to the sending of status reports in RFC 5050.

4.3.  Bundle Delivery

   There are no special requirements placed upon bundle delivery.  An
   implementation SHOULD provide a method for an application to
   ascertain the values of the hop count and hop limit sub-fields
   carried in the bundles comprising ADUs the application consumes.





Fall                    Expires September 1, 2010               [Page 5]


Internet-Draft  DTN Scope Control using Hop Limits (SCHL)  February 2010


5.  Acknowledgements

   The author would like to acknowledge discussions with Scott Burleigh
   and Alex McMahon as influencing the contents of this document.


6.  IANA Considerations

   This memo includes no request to IANA at this time.  However, it does
   reserve the value 9 for the Block Type value to indicate the SCHL
   Extension Block, and the value 9 for the Status Report Reason Code
   field of a bundle status report (RFC 5050).


7.  Security Considerations

   The hop count sub-field is maintained as mutable data, as it is
   manipulated by a DTN bundle agent.  A malicious bundle agent could
   increase the count field by more than one to induce early bundle
   discarding or decrease the value in order to induce bundles to be
   forwarded to a larger scope than the sender intended.  A bundle agent
   might also ignore the maximum hop sub-field, thereby subverting the
   intentions of the sender.


8.  References

8.1.  Normative References

   [BPsec]    Symington, S., Farrell, S., Weiss, H., and P. Lovell,
              "Bundle Security Protocol Specification",
              draft-irtf-dtnrg-bundle-security-15.txt, work-in-progress,
              February 2010.

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

   [RFC5050]  Scott, K. and S. Burleigh, "Bundle Protocol
              Specification", RFC 5050, November 2007.

8.2.  Informative References

   [RFC3810]  Vida, R. and L. Costa, "Multicast Listener Discovery
              Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.

   [RFC4838]  Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst,
              R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant
              Networking Architecture", RFC 4838, April 2007.



Fall                    Expires September 1, 2010               [Page 6]


Internet-Draft  DTN Scope Control using Hop Limits (SCHL)  February 2010


Author's Address

   Kevin Fall
   Intel Labs, Berkeley
   2150 Shattuck Avenue, #1300
   Berkeley, California  94704
   USA

   Phone: +1-510-495-3014
   Email: kfall@intel.com









































Fall                    Expires September 1, 2010               [Page 7]