<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict='yes'?>
<?rfc iprnotified='no'?>
<rfc category="info" docName="draft-templin-dtntsync-00.txt" ipr="trust200902">
  <front>
    <title abbrev="DTNTSYNC">Delay Tolerant Networking Time Synchronization -
    Problem Statement</title>

    <author fullname="Fred L. Templin" initials="F. L." role="editor"
            surname="Templin">
      <organization>Boeing Research &amp; Technology</organization>

      <address>
        <postal>
          <street>P.O. Box 3707</street>

          <city>Seattle</city>

          <region>WA</region>

          <code>98124</code>

          <country>USA</country>
        </postal>

        <email>fltemplin@acm.org</email>
      </address>
    </author>

    <date day="12" month="March" year="2014"/>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>Delay/Disruption Tolerant Networking (DTN) introduces a network model
      in which communications may be subject to long delays and/or
      intermittent connectivity. DTN nodes include timestamps in the bundles
      of data they send so that correspondents can identify the bundles and
      determine the length of time they have been in the system. However,
      there is currently no specified strategy for synchronizing the clocks
      between DTN nodes. This document therefore presents a problem statement
      for time synchronization in DTNs.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>The Delay/Disruption Tolerant Network (DTN) architecture <xref
      target="RFC4838"/> introduces a data communications concept in which
      "bundles" of data are exchanged in store-and-forward fashion between
      endpoints that may be separated by long-delay or
      intermittently-connected paths. The Bundle Protocol Specification <xref
      target="RFC5050"/> provides the bundle message format and operations,
      including convergence layer transmission, fragmentation and custody
      transfer. Each bundle further may include extensions, among which may be
      security parameters designed to ensure confidentiality, integrity and
      authorization <xref target="RFC6257"/><xref
      target="I-D.irtf-dtnrg-sbsp"/>.</t>

      <t><xref target="WOOD08"/>, Sections 4.2 - 4.4 has shown that time
      synchronization is an important aspect of correct operation. In
      particular, the study points out that Bundle Protocol agents that obey
      <xref target="RFC5050"/> require a tightly-synchronized notion of
      Coordinated Universal Time (UTC). However, there may be operational use
      cases in which time synchronization without reliance on the Bundle
      Protocol itself may be difficult or impossible to achieve. This document
      therefore discusses problematic aspects of the Bundle Protocol time
      synchronization requirement as motivation for solution proposals.</t>
    </section>

    <section title="Discussion">
      <t>Time synchronization in the Bundle Protocol serves three
      purposes:</t>

      <t><list style="numbers">
          <t>Bundle lifetimes keep bundles from looping continuously due to
          routing loops</t>

          <t>The lifetime allows the network to purge expired bundles</t>

          <t>The creation timestamp is used to uniquely identify each
          bundle.</t>
        </list>However, the creation timestamp applied to each bundle is
      relative to the clock of the DTN source node that produced the bundle.
      If the source node's clock is sufficiently drifted from UTC, this could
      result in several failure modes. First, if a forwarding DTN node on the
      path to the final destination(s) receives a bundle whose timestamp
      appears to be in the future, the forwarding node may drop the bundle
      unconditionally and thereby deny service to the source node. This can be
      due to either a time advancement in the source node's clock or a time
      lag in the forwarding node's clock.</t>

      <t>Second, if the timestamp applied by the source node is sufficiently
      advanced into the future and the bundle is not rejected by forwarding
      nodes, the bundle could spin continuously in a routing loop that is
      sustained longer than would be indicated by the bundle lifetime (thereby
      wasting network resources). Finally, if the source node's clock has
      drifted sufficiently into the past, any forwarding nodes might discard
      the bundle based on the lifetime at a time that is earlier than the
      source node intended.</t>

      <t>Clearly, the current Bundle Protocol specification is dependent on
      closely synchronized clocks for proper operation, while clock
      synchronization may be difficult or impossible to achieve in some
      applications. Also clearly, there may be other methods than strict clock
      synchronization that can address the purposes listed above. This
      document does not speculate as to alternate methods, but rather outlines
      the problems and invites solution proposals.</t>
    </section>

    <section title="IANA Considerations">
      <t>There are no IANA considerations for this document.</t>
    </section>

    <section anchor="security" title="Security Considerations">
      <t>Timestamps are an integral aspect of security, since mistaken notions
      of time may result in resource consumtion denial of service attack
      vectors..</t>

      <t>Bundle Protocol security considerations are discussed in <xref
      target="RFC6257"/><xref target="I-D.irtf-dtnrg-sbsp"/>.</t>
    </section>

    <section anchor="acknowledge" title="Acknowledgments">
      <t>Time synchronization has been discussed broadly in DTN mailing list
      discussions as well as in many of the documents cited in this
      publication.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.0791"?>

      <?rfc include="reference.RFC.2460"?>

      <?rfc include="reference.RFC.4838"?>

      <?rfc include="reference.RFC.5050"?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>
    </references>

    <references title="Informative References">
      <?rfc ?>

      <?rfc include="reference.I-D.irtf-dtnrg-sbsp"?>

      <?rfc include="reference.RFC.6257"?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <reference anchor="WOOD08">
        <front>
          <title>A Bundle of Problems</title>

          <author fullname="Lloyd Wood" initials="L" surname="Wood">
            <organization/>
          </author>

          <author fullname="Wesley M. Eddy" initials="W" surname="Eddy">
            <organization/>
          </author>

          <author fullname="Peter Holliday" initials="P" surname="Holliday">
            <organization/>
          </author>

          <date month="December" year="2008"/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
