summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4838.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc4838.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc4838.txt')
-rw-r--r--doc/rfc/rfc4838.txt1963
1 files changed, 1963 insertions, 0 deletions
diff --git a/doc/rfc/rfc4838.txt b/doc/rfc/rfc4838.txt
new file mode 100644
index 0000000..d4ac8a7
--- /dev/null
+++ b/doc/rfc/rfc4838.txt
@@ -0,0 +1,1963 @@
+
+
+
+
+
+
+Network Working Group V. Cerf
+Request for Comments: 4838 Google/Jet Propulsion Laboratory
+Category: Informational S. Burleigh
+ A. Hooke
+ L. Torgerson
+ NASA/Jet Propulsion Laboratory
+ R. Durst
+ K. Scott
+ The MITRE Corporation
+ K. Fall
+ Intel Corporation
+ H. Weiss
+ SPARTA, Inc.
+ April 2007
+
+
+ Delay-Tolerant Networking Architecture
+
+Status of This Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The IETF Trust (2007).
+
+IESG Note
+
+ This RFC is a product of the Internet Research Task Force and is not
+ a candidate for any level of Internet Standard. The IRTF publishes
+ the results of Internet-related research and development activities.
+ These results might not be suitable for deployment on the public
+ Internet.
+
+Abstract
+
+ This document describes an architecture for delay-tolerant and
+ disruption-tolerant networks, and is an evolution of the architecture
+ originally designed for the Interplanetary Internet, a communication
+ system envisioned to provide Internet-like services across
+ interplanetary distances in support of deep space exploration. This
+ document describes an architecture that addresses a variety of
+ problems with internetworks having operational and performance
+ characteristics that make conventional (Internet-like) networking
+ approaches either unworkable or impractical. We define a message-
+ oriented overlay that exists above the transport (or other) layers of
+
+
+
+Cerf, et al. Informational [Page 1]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ the networks it interconnects. The document presents a motivation
+ for the architecture, an architectural overview, review of state
+ management required for its operation, and a discussion of
+ application design issues. This document represents the consensus of
+ the IRTF DTN research group and has been widely reviewed by that
+ group.
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 2. Why an Architecture for Delay-Tolerant Networking? ..............4
+ 3. DTN Architectural Description ...................................5
+ 3.1. Virtual Message Switching Using Store-and-Forward
+ Operation ..................................................5
+ 3.2. Nodes and Endpoints ........................................7
+ 3.3. Endpoint Identifiers (EIDs) and Registrations ..............8
+ 3.4. Anycast and Multicast .....................................10
+ 3.5. Priority Classes ..........................................10
+ 3.6. Postal-Style Delivery Options and Administrative Records ..11
+ 3.7. Primary Bundle Fields .....................................15
+ 3.8. Routing and Forwarding ....................................16
+ 3.9. Fragmentation and Reassembly ..............................18
+ 3.10. Reliability and Custody Transfer .........................19
+ 3.11. DTN Support for Proxies and Application Layer Gateways ...21
+ 3.12. Timestamps and Time Synchronization ......................22
+ 3.13. Congestion and Flow Control at the Bundle Layer ..........22
+ 3.14. Security .................................................23
+ 4. State Management Considerations ................................25
+ 4.1. Application Registration State ............................25
+ 4.2. Custody Transfer State ....................................26
+ 4.3. Bundle Routing and Forwarding State .......................26
+ 4.4. Security-Related State ....................................27
+ 4.5. Policy and Configuration State ............................27
+ 5. Application Structuring Issues .................................28
+ 6. Convergence Layer Considerations for Use of Underlying
+ Protocols ......................................................28
+ 7. Summary ........................................................29
+ 8. Security Considerations ........................................29
+ 9. IANA Considerations ............................................30
+ 10. Normative References ..........................................30
+ 11. Informative References ........................................30
+ 12. Acknowledgments ...............................................32
+
+
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 2]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+1. Introduction
+
+ This document describes an architecture for delay and disruption-
+ tolerant interoperable networking (DTN). The architecture embraces
+ the concepts of occasionally-connected networks that may suffer from
+ frequent partitions and that may be comprised of more than one
+ divergent set of protocols or protocol families. The basis for this
+ architecture lies with that of the Interplanetary Internet, which
+ focused primarily on the issue of deep space communication in high-
+ delay environments. We expect the DTN architecture described here to
+ be utilized in various operational environments, including those
+ subject to disruption and disconnection and those with high-delay;
+ the case of deep space is one specialized example of these, and is
+ being pursued as a specialization of this architecture (See [IPN01]
+ and [SB03] for more details).
+
+ Other networks to which we believe this architecture applies include
+ sensor-based networks using scheduled intermittent connectivity,
+ terrestrial wireless networks that cannot ordinarily maintain end-to-
+ end connectivity, satellite networks with moderate delays and
+ periodic connectivity, and underwater acoustic networks with moderate
+ delays and frequent interruptions due to environmental factors. A
+ DTN tutorial [FW03], aimed at introducing DTN and the types of
+ networks for which it is designed, is available to introduce new
+ readers to the fundamental concepts and motivation. More technical
+ descriptions may be found in [KF03], [JFP04], [JDPF05], and [WJMF05].
+
+ We define an end-to-end message-oriented overlay called the "bundle
+ layer" that exists at a layer above the transport (or other) layers
+ of the networks on which it is hosted and below applications.
+ Devices implementing the bundle layer are called DTN nodes. The
+ bundle layer forms an overlay that employs persistent storage to help
+ combat network interruption. It includes a hop-by-hop transfer of
+ reliable delivery responsibility and optional end-to-end
+ acknowledgement. It also includes a number of diagnostic and
+ management features. For interoperability, it uses a flexible naming
+ scheme (based on Uniform Resource Identifiers [RFC3986]) capable of
+ encapsulating different naming and addressing schemes in the same
+ overall naming syntax. It also has a basic security model,
+ optionally enabled, aimed at protecting infrastructure from
+ unauthorized use.
+
+ The bundle layer provides functionality similar to the internet layer
+ of gateways described in the original ARPANET/Internet designs
+ [CK74]. It differs from ARPANET gateways, however, because it is
+ layer-agnostic and is focused on virtual message forwarding rather
+ than packet switching. However, both generally provide
+ interoperability between underlying protocols specific to one
+
+
+
+Cerf, et al. Informational [Page 3]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ environment and those protocols specific to another, and both provide
+ a store-and-forward forwarding service (with the bundle layer
+ employing persistent storage for its store and forward function).
+
+ In a sense, the DTN architecture provides a common method for
+ interconnecting heterogeneous gateways or proxies that employ store-
+ and-forward message routing to overcome communication disruptions.
+ It provides services similar to electronic mail, but with enhanced
+ naming, routing, and security capabilities. Nodes unable to support
+ the full capabilities required by this architecture may be supported
+ by application-layer proxies acting as DTN applications.
+
+2. Why an Architecture for Delay-Tolerant Networking?
+
+ Our motivation for pursuing an architecture for delay tolerant
+ networking stems from several factors. These factors are summarized
+ below; much more detail on their rationale can be explored in [SB03],
+ [KF03], and [DFS02].
+
+ The existing Internet protocols do not work well for some
+ environments, due to some fundamental assumptions built into the
+ Internet architecture:
+
+ - that an end-to-end path between source and destination exists for
+ the duration of a communication session
+
+ - (for reliable communication) that retransmissions based on timely
+ and stable feedback from data receivers is an effective means for
+ repairing errors
+
+ - that end-to-end loss is relatively small
+
+ - that all routers and end stations support the TCP/IP protocols
+
+ - that applications need not worry about communication performance
+
+ - that endpoint-based security mechanisms are sufficient for meeting
+ most security concerns
+
+ - that packet switching is the most appropriate abstraction for
+ interoperability and performance
+
+ - that selecting a single route between sender and receiver is
+ sufficient for achieving acceptable communication performance
+
+ The DTN architecture is conceived to relax most of these assumptions,
+ based on a number of design principles that are summarized here (and
+ further discussed in [KF03]):
+
+
+
+Cerf, et al. Informational [Page 4]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ - Use variable-length (possibly long) messages (not streams or
+ limited-sized packets) as the communication abstraction to help
+ enhance the ability of the network to make good scheduling/path
+ selection decisions when possible.
+
+ - Use a naming syntax that supports a wide range of naming and
+ addressing conventions to enhance interoperability.
+
+ - Use storage within the network to support store-and-forward
+ operation over multiple paths, and over potentially long timescales
+ (i.e., to support operation in environments where many and/or no
+ end-to-end paths may ever exist); do not require end-to-end
+ reliability.
+
+ - Provide security mechanisms that protect the infrastructure from
+ unauthorized use by discarding traffic as quickly as possible.
+
+ - Provide coarse-grained classes of service, delivery options, and a
+ way to express the useful lifetime of data to allow the network to
+ better deliver data in serving the needs of applications.
+
+ The use of the bundle layer is guided not only by its own design
+ principles, but also by a few application design principles:
+
+ - Applications should minimize the number of round-trip exchanges.
+
+ - Applications should cope with restarts after failure while network
+ transactions remain pending.
+
+ - Applications should inform the network of the useful life and
+ relative importance of data to be delivered.
+
+ These issues are discussed in further detail in Section 5.
+
+3. DTN Architectural Description
+
+ The previous section summarized the design principles that guide the
+ definition of the DTN architecture. This section presents a
+ description of the major features of the architecture resulting from
+ design decisions guided by the aforementioned design principles.
+
+3.1. Virtual Message Switching Using Store-and-Forward Operation
+
+ A DTN-enabled application sends messages of arbitrary length, also
+ called Application Data Units or ADUs [CT90], which are subject to
+ any implementation limitations. The relative order of ADUs might not
+ be preserved. ADUs are typically sent by and delivered to
+
+
+
+
+Cerf, et al. Informational [Page 5]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ applications in complete units, although a system interface that
+ behaves differently is not precluded.
+
+ ADUs are transformed by the bundle layer into one or more protocol
+ data units called "bundles", which are forwarded by DTN nodes.
+ Bundles have a defined format containing two or more "blocks" of
+ data. Each block may contain either application data or other
+ information used to deliver the containing bundle to its
+ destination(s). Blocks serve the purpose of holding information
+ typically found in the header or payload portion of protocol data
+ units in other protocol architectures. The term "block" is used
+ instead of "header" because blocks may not appear at the beginning of
+ a bundle due to particular processing requirements (e.g., digital
+ signatures).
+
+ Bundles may be split up ("fragmented") into multiple constituent
+ bundles (also called "fragments" or "bundle fragments") during
+ transmission. Fragments are themselves bundles, and may be further
+ fragmented. Two or more fragments may be reassembled anywhere in the
+ network, forming a new bundle.
+
+ Bundle sources and destinations are identified by (variable-length)
+ Endpoint Identifiers (EIDs, described below), which identify the
+ original sender and final destination(s) of bundles, respectively.
+ Bundles also contain a "report-to" EID used when special operations
+ are requested to direct diagnostic output to an arbitrary entity
+ (e.g., other than the source). An EID may refer to one or more DTN
+ nodes (i.e., for multicast destinations or "report-to" destinations).
+
+ While IP networks are based on "store-and-forward" operation, there
+ is an assumption that the "storing" will not persist for more than a
+ modest amount of time, on the order of the queuing and transmission
+ delay. In contrast, the DTN architecture does not expect that
+ network links are always available or reliable, and instead expects
+ that nodes may choose to store bundles for some time. We anticipate
+ that most DTN nodes will use some form of persistent storage for this
+ -- disk, flash memory, etc. -- and that stored bundles will survive
+ system restarts.
+
+ Bundles contain an originating timestamp, useful life indicator, a
+ class of service designator, and a length. This information provides
+ bundle-layer routing with a priori knowledge of the size and
+ performance requirements of requested data transfers. When there is
+ a significant amount of queuing that can occur in the network (as is
+ the case in the DTN version of store-and-forward), the advantage
+ provided by knowing this information may be significant for making
+ scheduling and path selection decisions [JFP04]. An alternative
+ abstraction (i.e., of stream-based delivery based on packets) would
+
+
+
+Cerf, et al. Informational [Page 6]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ make such scheduling much more difficult. Although packets provide
+ some of the same benefits as bundles, larger aggregates provide a way
+ for the network to apply scheduling and buffer management to units of
+ data that are more useful to applications.
+
+ An essential element of the bundle-based style of forwarding is that
+ bundles have a place to wait in a queue until a communication
+ opportunity ("contact") is available. This highlights the following
+ assumptions:
+
+ 1. that storage is available and well-distributed throughout the
+ network,
+
+ 2. that storage is sufficiently persistent and robust to store
+ bundles until forwarding can occur, and
+
+ 3. (implicitly) that this "store-and-forward" model is a better
+ choice than attempting to effect continuous connectivity or other
+ alternatives.
+
+ For a network to effectively support the DTN architecture, these
+ assumptions must be considered and must be found to hold. Even so,
+ the inclusion of long-term storage as a fundamental aspect of the DTN
+ architecture poses new problems, especially with respect to
+ congestion management and denial-of-service mitigation. Node storage
+ in essence represents a new resource that must be managed and
+ protected. Much of the research in DTN revolves around exploring
+ these issues. Congestion is discussed in Section 3.13, and security
+ mechanisms, including methods for DTN nodes to protect themselves
+ from handling unauthorized traffic from other nodes, are discussed in
+ [DTNSEC] and [DTNSOV].
+
+3.2. Nodes and Endpoints
+
+ A DTN node (or simply "node" in this document) is an engine for
+ sending and receiving bundles -- an implementation of the bundle
+ layer. Applications utilize DTN nodes to send or receive ADUs
+ carried in bundles (applications also use DTN nodes when acting as
+ report-to destinations for diagnostic information carried in
+ bundles). Nodes may be members of groups called "DTN endpoints". A
+ DTN endpoint is therefore a set of DTN nodes. A bundle is considered
+ to have been successfully delivered to a DTN endpoint when some
+ minimum subset of the nodes in the endpoint has received the bundle
+ without error. This subset is called the "minimum reception group"
+ (MRG) of the endpoint. The MRG of an endpoint may refer to one node
+ (unicast), one of a group of nodes (anycast), or all of a group of
+ nodes (multicast and broadcast). A single node may be in the MRG of
+ multiple endpoints.
+
+
+
+Cerf, et al. Informational [Page 7]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+3.3. Endpoint Identifiers (EIDs) and Registrations
+
+ An Endpoint Identifier (EID) is a name, expressed using the general
+ syntax of URIs (see below), that identifies a DTN endpoint. Using an
+ EID, a node is able to determine the MRG of the DTN endpoint named by
+ the EID. Each node is also required to have at least one EID that
+ uniquely identifies it.
+
+ Applications send ADUs destined for an EID, and may arrange for ADUs
+ sent to a particular EID to be delivered to them. Depending on the
+ construction of the EID being used (see below), there may be a
+ provision for wildcarding some portion of an EID, which is often
+ useful for diagnostic and routing purposes.
+
+ An application's desire to receive ADUs destined for a particular EID
+ is called a "registration", and in general is maintained persistently
+ by a DTN node. This allows application registration information to
+ survive application and operating system restarts.
+
+ An application's attempt to establish a registration is not
+ guaranteed to succeed. For example, an application could request to
+ register itself to receive ADUs by specifying an Endpoint ID that is
+ uninterpretable or unavailable to the DTN node servicing the request.
+ Such requests are likely to fail.
+
+3.3.1. URI Schemes
+
+ Each Endpoint ID is expressed syntactically as a Uniform Resource
+ Identifier (URI) [RFC3986]. The URI syntax has been designed as a
+ way to express names or addresses for a wide range of purposes, and
+ is therefore useful for constructing names for DTN endpoints.
+
+ In URI terminology, each URI begins with a scheme name. The scheme
+ name is an element of the set of globally-managed scheme names
+ maintained by IANA [ISCHEMES]. Lexically following the scheme name
+ in a URI is a series of characters constrained by the syntax defined
+ by the scheme. This portion of the URI is called the scheme-specific
+ part (SSP), and can be quite general. (See, as one example, the URI
+ scheme for SNMP [RFC4088]). Note that scheme-specific syntactical
+ and semantic restrictions may be more constraining than the basic
+ rules of RFC 3986. Section 3.1 of RFC 3986 provides guidance on the
+ syntax of scheme names.
+
+ URI schemes are a key concept in the DTN architecture, and evolved
+ from an earlier concept called regions, which were tied more closely
+ to assumptions of the network topology. Using URIs, significant
+ flexibility is attained in the structuring of EIDs. They might, for
+ example, be constructed based on DNS names, or might look like
+
+
+
+Cerf, et al. Informational [Page 8]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ "expressions of interest" or forms of database-like queries as in a
+ directed diffusion-routed network [IGE00] or in intentional naming
+ [WSBL99]. As names, EIDs are not required to be related to routing
+ or topological organization. Such a relationship is not prohibited,
+ however, and in some environments using EIDs this way may be
+ advantageous.
+
+ A single EID may refer to an endpoint containing more than one DTN
+ node, as suggested above. It is the responsibility of a scheme
+ designer to define how to interpret the SSP of an EID so as to
+ determine whether it refers to a unicast, multicast, or anycast set
+ of nodes. See Section 3.4 for more details.
+
+ URIs are constructed based on rules specified in RFC 3986, using the
+ US-ASCII character set. However, note this excerpt from RFC 3986,
+ Section 1.2.1, on dealing with characters that cannot be represented
+ by US-ASCII: "Percent-encoded octets (Section 2.1) may be used
+ within a URI to represent characters outside the range of the US-
+ ASCII coded character set if this representation is allowed by the
+ scheme or by the protocol element in which the URI is referenced.
+ Such a definition should specify the character encoding used to map
+ those characters to octets prior to being percent-encoded for the
+ URI".
+
+3.3.2. Late Binding
+
+ Binding means interpreting the SSP of an EID for the purpose of
+ carrying an associated message towards a destination. For example,
+ binding might require mapping an EID to a next-hop EID or to a lower-
+ layer address for transmission. "Late binding" means that the
+ binding of a bundle's destination to a particular set of destination
+ identifiers or addresses does not necessarily happen at the bundle
+ source. Because the destination EID is potentially re-interpreted at
+ each hop, the binding may occur at the source, during transit, or
+ possibly at the destination(s). This contrasts with the name-to-
+ address binding of Internet communications where a DNS lookup at the
+ source fixes the IP address of the destination node before data is
+ sent. Such a circumstance would be considered "early binding"
+ because the name-to-address translation is performed prior to data
+ being sent into the network.
+
+ In a frequently-disconnected network, late binding may be
+ advantageous because the transit time of a message may exceed the
+ validity time of a binding, making binding at the source impossible
+ or invalid. Furthermore, use of name-based routing with late binding
+ may reduce the amount of administrative (mapping) information that
+
+
+
+
+
+Cerf, et al. Informational [Page 9]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ must propagate through the network, and may also limit the scope of
+ mapping synchronization requirements to a local topological
+ neighborhood where changes are made.
+
+3.4. Anycast and Multicast
+
+ As mentioned above, an EID may refer to an endpoint containing one or
+ more DTN nodes. When referring to a group of size greater than one,
+ the delivery semantics may be of either the anycast or multicast
+ variety (broadcast is considered to be of the multicast variety).
+ For anycast group delivery, a bundle is delivered to one node among a
+ group of potentially many nodes, and for multicast delivery it is
+ intended to be delivered to all of them, subject to the normal DTN
+ class of service and maximum useful lifetime semantics.
+
+ Multicast group delivery in a DTN presents an unfamiliar issue with
+ respect to group membership. In relatively low-delay networks, such
+ as the Internet, nodes may be considered to be part of the group if
+ they have expressed interest to join it "recently". In a DTN,
+ however, nodes may wish to receive data sent to a group during an
+ interval of time earlier than when they are actually able to receive
+ it [ZAZ05]. More precisely, an application expresses its desire to
+ receive data sent to EID e at time t. Prior to this, during the
+ interval [t0, t1], t > t1, data may have been generated for group e.
+ For the application to receive any of this data, the data must be
+ available a potentially long time after senders have ceased sending
+ to the group. Thus, the data may need to be stored within the
+ network in order to support temporal group semantics of this kind.
+ How to design and implement this remains a research issue, as it is
+ likely to be at least as hard as problems related to reliable
+ multicast.
+
+3.5. Priority Classes
+
+ The DTN architecture offers *relative* measures of priority (low,
+ medium, high) for delivering ADUs. These priorities differentiate
+ traffic based upon an application's desire to affect the delivery
+ urgency for ADUs, and are carried in bundle blocks generated by the
+ bundle layer based on information specified by the application.
+
+ The (U.S. or similar) Postal Service provides a strong metaphor for
+ the priority classes offered by the forwarding abstraction offered by
+ the DTN architecture. Traffic is generally not interactive and is
+ often one-way. There are generally no strong guarantees of timely
+ delivery, yet there are some forms of class of service, reliability,
+ and security.
+
+
+
+
+
+Cerf, et al. Informational [Page 10]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ We have defined three relative priority classes to date. These
+ priority classes typically imply some relative scheduling
+ prioritization among bundles in queue at a sender:
+
+ - Bulk - Bulk bundles are shipped on a "least effort" basis. No
+ bundles of this class will be shipped until all bundles of other
+ classes bound for the same destination and originating from the
+ same source have been shipped.
+
+ - Normal - Normal-class bundles are shipped prior to any bulk-class
+ bundles and are otherwise the same as bulk bundles.
+
+ - Expedited - Expedited bundles, in general, are shipped prior to
+ bundles of other classes and are otherwise the same.
+
+ Applications specify their requested priority class and data lifetime
+ (see below) for each ADU they send. This information, coupled with
+ policy applied at DTN nodes that select how messages are forwarded
+ and which routing algorithms are in use, affects the overall
+ likelihood and timeliness of ADU delivery.
+
+ The priority class of a bundle is only required to relate to other
+ bundles from the same source. This means that a high priority bundle
+ from one source may not be delivered faster (or with some other
+ superior quality of service) than a medium priority bundle from a
+ different source. It does mean that a high priority bundle from one
+ source will be handled preferentially to a lower priority bundle sent
+ from the same source.
+
+ Depending on a particular DTN node's forwarding/scheduling policy,
+ priority may or may not be enforced across different sources. That
+ is, in some DTN nodes, expedited bundles might always be sent prior
+ to any bulk bundles, irrespective of source. Many variations are
+ possible.
+
+3.6. Postal-Style Delivery Options and Administrative Records
+
+ Continuing with the postal analogy, the DTN architecture supports
+ several delivery options that may be selected by an application when
+ it requests the transmission of an ADU. In addition, the
+ architecture defines two types of administrative records: "status
+ reports" and "signals". These records are bundles that provide
+ information about the delivery of other bundles, and are used in
+ conjunction with the delivery options.
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 11]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+3.6.1. Delivery Options
+
+ We have defined eight delivery options. Applications sending an ADU
+ (the "subject ADU") may request any combination of the following,
+ which are carried in each of the bundles produced ("sent bundles") by
+ the bundle layer resulting from the application's request to send the
+ subject ADU:
+
+ - Custody Transfer Requested - requests sent bundles be delivered
+ with enhanced reliability using custody transfer procedures. Sent
+ bundles will be transmitted by the bundle layer using reliable
+ transfer protocols (if available), and the responsibility for
+ reliable delivery of the bundle to its destination(s) may move
+ among one or more "custodians" in the network. This capability is
+ described in more detail in Section 3.10.
+
+ - Source Node Custody Acceptance Required - requires the source DTN
+ node to provide custody transfer for the sent bundles. If custody
+ transfer is not available at the source when this delivery option
+ is requested, the requested transmission fails. This provides a
+ means for applications to insist that the source DTN node take
+ custody of the sent bundles (e.g., by storing them in persistent
+ storage).
+
+ - Report When Bundle Delivered - requests a (single) Bundle Delivery
+ Status Report be generated when the subject ADU is delivered to its
+ intended recipient(s). This request is also known as "return-
+ receipt".
+
+ - Report When Bundle Acknowledged by Application - requests an
+ Acknowledgement Status Report be generated when the subject ADU is
+ acknowledged by a receiving application. This only happens by
+ action of the receiving application, and differs from the Bundle
+ Delivery Status Report. It is intended for cases where the
+ application may be acting as a form of application layer gateway
+ and wishes to indicate the status of a protocol operation external
+ to DTN back to the requesting source. See Section 11 for more
+ details.
+
+ - Report When Bundle Received - requests a Bundle Reception Status
+ Report be generated when each sent bundle arrives at a DTN node.
+ This is designed primarily for diagnostic purposes.
+
+ - Report When Bundle Custody Accepted - requests a Custody
+ Acceptance Status Report be generated when each sent bundle has
+ been accepted using custody transfer. This is designed primarily
+ for diagnostic purposes.
+
+
+
+
+Cerf, et al. Informational [Page 12]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ - Report When Bundle Forwarded - requests a Bundle Forwarding Status
+ Report be generated when each sent bundle departs a DTN node after
+ forwarding. This is designed primarily for diagnostic purposes.
+
+ - Report When Bundle Deleted - requests a Bundle Deletion Status
+ Report be generated when each sent bundle is deleted at a DTN node.
+ This is designed primarily for diagnostic purposes.
+
+ The first four delivery options are designed for ordinary use by
+ applications. The last four are designed primarily for diagnostic
+ purposes and their use may be restricted or limited in environments
+ subject to congestion or attack.
+
+ If the security procedures defined in [DTNSEC] are also enabled, then
+ three additional delivery options become available:
+
+ - Confidentiality Required - requires the subject ADU be made secret
+ from parties other than the source and the members of the
+ destination EID.
+
+ - Authentication Required - requires all non-mutable fields in the
+ bundle blocks of the sent bundles (i.e., those which do not change
+ as the bundle is forwarded) be made strongly verifiable (i.e.,
+ cryptographically strong). This protects several fields, including
+ the source and destination EIDs and the bundle's data. See Section
+ 3.7 and [BSPEC] for more details.
+
+ - Error Detection Required - requires modifications to the non-
+ mutable fields of each sent bundle be made detectable with high
+ probability at each destination.
+
+3.6.2. Administrative Records: Bundle Status Reports and Custody
+ Signals
+
+ Administrative records are used to report status information or error
+ conditions related to the bundle layer. There are two types of
+ administrative records defined: bundle status reports (BSRs) and
+ custody signals. Administrative records correspond (approximately)
+ to messages in the ICMP protocol in IP [RFC792]. In ICMP, however,
+ messages are returned to the source. In DTN, they are instead
+ directed to the report-to EID for BSRs and the EID of the current
+ custodian for custody signals, which might differ from the source's
+ EID. Administrative records are sent as bundles with a source EID
+ set to one of the EIDs associated with the DTN node generating the
+ administrative record. In some cases, arrival of a single bundle or
+ bundle fragment may elicit multiple administrative records (e.g., in
+ the case where a bundle is replicated for multicast forwarding).
+
+
+
+
+Cerf, et al. Informational [Page 13]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ The following BSRs are currently defined (also see [BSPEC] for more
+ details):
+
+ - Bundle Reception - sent when a bundle arrives at a DTN node.
+ Generation of this message may be limited by local policy.
+
+ - Custody Acceptance - sent when a node has accepted custody of a
+ bundle with the Custody Transfer Requested option set. Generation
+ of this message may be limited by local policy.
+
+ - Bundle Forwarded - sent when a bundle containing a Report When
+ Bundle Forwarded option departs from a DTN node after having been
+ forwarded. Generation of this message may be limited by local
+ policy.
+
+ - Bundle Deletion - sent from a DTN node when a bundle containing a
+ Report When Bundle Deleted option is discarded. This can happen
+ for several reasons, such as expiration. Generation of this
+ message may be limited by local policy but is required in cases
+ where the deletion is performed by a bundle's current custodian.
+
+ - Bundle Delivery - sent from a final recipient's (destination) node
+ when a complete ADU comprising sent bundles containing Report When
+ Bundle Delivered options is consumed by an application.
+
+ - Acknowledged by application - sent from a final recipient's
+ (destination) node when a complete ADU comprising sent bundles
+ containing Application Acknowledgment options has been processed by
+ an application. This generally involves specific action on the
+ receiving application's part.
+
+ In addition to the status reports, the custody signal is currently
+ defined to indicate the status of a custody transfer. These are sent
+ to the current-custodian EID contained in an arriving bundle:
+
+ - Custody Signal - indicates that custody has been successfully
+ transferred. This signal appears as a Boolean indicator, and may
+ therefore indicate either a successful or a failed custody transfer
+ attempt.
+
+ Administrative records must reference a received bundle. This is
+ accomplished by a method for uniquely identifying bundles based on a
+ transmission timestamp and sequence number discussed in Section 3.12.
+
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 14]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+3.7. Primary Bundle Fields
+
+ The bundles carried between and among DTN nodes obey a standard
+ bundle protocol specified in [BSPEC]. Here we provide an overview of
+ most of the fields carried with every bundle. The protocol is
+ designed with a mandatory primary block, an optional payload block
+ (which contains the ADU data itself), and a set of optional extension
+ blocks. Blocks may be cascaded in a way similar to extension headers
+ in IPv6. The following selected fields are all present in the
+ primary block, and therefore are present for every bundle and
+ fragment:
+
+ - Creation Timestamp - a concatenation of the bundle's creation time
+ and a monotonically increasing sequence number such that the
+ creation timestamp is guaranteed to be unique for each ADU
+ originating from the same source. The creation timestamp is based
+ on the time-of-day an application requested an ADU to be sent (not
+ when the corresponding bundle(s) are sent into the network). DTN
+ nodes are assumed to have a basic time synchronization capability
+ (see Section 3.12).
+
+ - Lifespan - the time-of-day at which the message is no longer
+ useful. If a bundle is stored in the network (including the
+ source's DTN node) when its lifespan is reached, it may be
+ discarded. The lifespan of a bundle is expressed as an offset
+ relative to its creation time.
+
+ - Class of Service Flags - indicates the delivery options and
+ priority class for the bundle. Priority classes may be one of
+ bulk, normal, or expedited. See Section 3.6.1.
+
+ - Source EID - EID of the source (the first sender).
+
+ - Destination EID - EID of the destination (the final intended
+ recipient(s)).
+
+ - Report-To Endpoint ID - an EID identifying where reports (return-
+ receipt, route-tracing functions) should be sent. This may or may
+ not identify the same endpoint as the Source EID.
+
+ - Custodian EID - EID of the current custodian of a bundle (if any).
+
+ The payload block indicates information about the contained payload
+ (e.g., its length) and the payload itself. In addition to the fields
+ found in the primary and payload blocks, each bundle may have fields
+ in additional blocks carried with each bundle. See [BSPEC] for
+ additional details.
+
+
+
+
+Cerf, et al. Informational [Page 15]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+3.8. Routing and Forwarding
+
+ The DTN architecture provides a framework for routing and forwarding
+ at the bundle layer for unicast, anycast, and multicast messages.
+ Because nodes in a DTN network might be interconnected using more
+ than one type of underlying network technology, a DTN network is best
+ described abstractly using a *multigraph* (a graph where vertices may
+ be interconnected with more than one edge). Edges in this graph are,
+ in general, time-varying with respect to their delay and capacity and
+ directional because of the possibility of one-way connectivity. When
+ an edge has zero capacity, it is considered to not be connected.
+
+ Because edges in a DTN graph may have significant delay, it is
+ important to distinguish where time is measured when expressing an
+ edge's capacity or delay. We adopt the convention of expressing
+ capacity and delay as functions of time where time is measured at the
+ point where data is inserted into a network edge. For example,
+ consider an edge having capacity C(t) and delay D(t) at time t. If B
+ bits are placed in this edge at time t, they completely arrive by
+ time t + D(t) + (1/C(t))*B. We assume C(t) and D(t) do not change
+ significantly during the interval [t, t+D(t)+(1/C(t))*B].
+
+ Because edges may vary between positive and zero capacity, it is
+ possible to describe a period of time (interval) during which the
+ capacity is strictly positive, and the delay and capacity can be
+ considered to be constant [AF03]. This period of time is called a
+ "contact". In addition, the product of the capacity and the interval
+ is known as a contact's "volume". If contacts and their volumes are
+ known ahead of time, intelligent routing and forwarding decisions can
+ be made (optimally for small networks) [JFP04]. Optimally using a
+ contact's volume, however, requires the ability to divide large ADUs
+ and bundles into smaller routable units. This is provided by DTN
+ fragmentation (see Section 3.9).
+
+ When delivery paths through a DTN graph are lossy or contact
+ intervals and volumes are not known precisely ahead of time, routing
+ computations become especially challenging. How to handle these
+ situations is an active area of work in the (emerging) research area
+ of delay tolerant networking.
+
+3.8.1. Types of Contacts
+
+ Contacts typically fall into one of several categories, based largely
+ on the predictability of their performance characteristics and
+ whether some action is required to bring them into existence. To
+ date, the following major types of contacts have been defined:
+
+
+
+
+
+Cerf, et al. Informational [Page 16]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ Persistent Contacts
+
+ Persistent contacts are always available (i.e., no connection-
+ initiation action is required to instantiate a persistent
+ contact). An 'always-on' Internet connection such as a DSL or
+ Cable Modem connection would be a representative of this class.
+
+ On-Demand Contacts
+
+ On-Demand contacts require some action in order to instantiate,
+ but then function as persistent contacts until terminated. A
+ dial-up connection is an example of an On-Demand contact (at
+ least, from the viewpoint of the dialer; it may be viewed as an
+ Opportunistic Contact, below, from the viewpoint of the dial-up
+ service provider).
+
+ Intermittent - Scheduled Contacts
+
+ A scheduled contact is an agreement to establish a contact at a
+ particular time, for a particular duration. An example of a
+ scheduled contact is a link with a low-earth orbiting satellite.
+ A node's list of contacts with the satellite can be constructed
+ from the satellite's schedule of view times, capacities, and
+ latencies. Note that for networks with substantial delays, the
+ notion of the "particular time" is delay-dependent. For example,
+ a single scheduled contact between Earth and Mars would not be at
+ the same instant in each location, but would instead be offset by
+ the (non-negligible) propagation delay.
+
+ Intermittent - Opportunistic Contacts
+
+ Opportunistic contacts are not scheduled, but rather present
+ themselves unexpectedly. For example, an unscheduled aircraft
+ flying overhead and beaconing, advertising its availability for
+ communication, would present an opportunistic contact. Another
+ type of opportunistic contact might be via an infrared or
+ Bluetooth communication link between a personal digital assistant
+ (PDA) and a kiosk in an airport concourse. The opportunistic
+ contact begins as the PDA is brought near the kiosk, lasting an
+ undetermined amount of time (i.e., until the link is lost or
+ terminated).
+
+ Intermittent - Predicted Contacts
+
+ Predicted contacts are based on no fixed schedule, but rather are
+ predictions of likely contact times and durations based on a
+ history of previously observed contacts or some other information.
+ Given a great enough confidence in a predicted contact, routes may
+
+
+
+Cerf, et al. Informational [Page 17]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ be chosen based on this information. This is an active research
+ area, and a few approaches having been proposed [LFC05].
+
+3.9. Fragmentation and Reassembly
+
+ DTN fragmentation and reassembly are designed to improve the
+ efficiency of bundle transfers by ensuring that contact volumes are
+ fully utilized and by avoiding retransmission of partially-forwarded
+ bundles. There are two forms of DTN fragmentation/reassembly:
+
+ Proactive Fragmentation
+
+ A DTN node may divide a block of application data into multiple
+ smaller blocks and transmit each such block as an independent
+ bundle. In this case, the *final destination(s)* are responsible
+ for extracting the smaller blocks from incoming bundles and
+ reassembling them into the original larger bundle and, ultimately,
+ ADU. This approach is called proactive fragmentation because it
+ is used primarily when contact volumes are known (or predicted) in
+ advance.
+
+ Reactive Fragmentation
+
+ DTN nodes sharing an edge in the DTN graph may fragment a bundle
+ cooperatively when a bundle is only partially transferred. In
+ this case, the receiving bundle layer modifies the incoming bundle
+ to indicate it is a fragment, and forwards it normally. The
+ previous- hop sender may learn (via convergence-layer protocols,
+ see Section 6) that only a portion of the bundle was delivered to
+ the next hop, and send the remaining portion(s) when subsequent
+ contacts become available (possibly to different next-hops if
+ routing changes). This is called reactive fragmentation because
+ the fragmentation process occurs after an attempted transmission
+ has taken place.
+
+ As an example, consider a ground station G, and two store-and-
+ forward satellites S1 and S2, in opposite low-earth orbit. While
+ G is transmitting a large bundle to S1, a reliable transport layer
+ protocol below the bundle layer at each indicates the transmission
+ has terminated, but that half the transfer has completed
+ successfully. In this case, G can form a smaller bundle fragment
+ consisting of the second half of the original bundle and forward
+ it to S2 when available. In addition, S1 (now out of range of G)
+ can form a new bundle consisting of the first half of the original
+ bundle and forward it to whatever next hop(s) it deems
+ appropriate.
+
+
+
+
+
+Cerf, et al. Informational [Page 18]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ The reactive fragmentation capability is not required to be available
+ in every DTN implementation, as it requires a certain level of
+ support from underlying protocols that may not be present, and
+ presents significant challenges with respect to handling digital
+ signatures and authentication codes on messages. When a signed
+ message is only partially received, most message authentication codes
+ will fail. When DTN security is present and enabled, it may
+ therefore be necessary to proactively fragment large bundles into
+ smaller units that are more convenient for digital signatures.
+
+ Even if reactive fragmentation is not present in an implementation,
+ the ability to reassemble fragments at a destination is required in
+ order to support DTN fragmentation. Furthermore, for contacts with
+ volumes that are small compared to typical bundle sizes, some
+ incremental delivery approach must be used (e.g., checkpoint/restart)
+ to prevent data delivery livelock. Reactive fragmentation is one
+ such approach, but other protocol layers could potentially handle
+ this issue as well.
+
+3.10. Reliability and Custody Transfer
+
+ The most basic service provided by the bundle layer is
+ unacknowledged, prioritized (but not guaranteed) unicast message
+ delivery. It also provides two options for enhancing delivery
+ reliability: end-to-end acknowledgments and custody transfer.
+ Applications wishing to implement their own end-to-end message
+ reliability mechanisms are free to utilize the acknowledgment. The
+ custody transfer feature of the DTN architecture only specifies a
+ coarse-grained retransmission capability, described next.
+
+ Transmission of bundles with the Custody Transfer Requested option
+ specified generally involves moving the responsibility for reliable
+ delivery of an ADU's bundles among different DTN nodes in the
+ network. For unicast delivery, this will typically involve moving
+ bundles "closer" (in terms of some routing metric) to their ultimate
+ destination(s), and retransmitting when necessary. The nodes
+ receiving these bundles along the way (and agreeing to accept the
+ reliable delivery responsibility) are called "custodians". The
+ movement of a bundle (and its delivery responsibility) from one node
+ to another is called a "custody transfer". It is analogous to a
+ database commit transaction [FHM03]. The exact meaning and design of
+ custody transfer for multicast and anycast delivery remains to be
+ fully explored.
+
+ Custody transfer allows the source to delegate retransmission
+ responsibility and recover its retransmission-related resources
+ relatively soon after sending a bundle (on the order of the minimum
+ round-trip time to the first bundle hop(s)). Not all nodes in a DTN
+
+
+
+Cerf, et al. Informational [Page 19]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ are required by the DTN architecture to accept custody transfers, so
+ it is not a true 'hop-by-hop' mechanism. For example, some nodes may
+ have sufficient storage resources to sometimes act as custodians, but
+ may elect to not offer such services when congested or running low on
+ power.
+
+ The existence of custodians can alter the way DTN routing is
+ performed. In some circumstances, it may be beneficial to move a
+ bundle to a custodian as quickly as possible even if the custodian is
+ further away (in terms of distance, time or some routing metric) from
+ the bundle's final destination(s) than some other reachable node.
+ Designing a system with this capability involves constructing more
+ than one routing graph, and is an area of continued research.
+
+ Custody transfer in DTN not only provides a method for tracking
+ bundles that require special handling and identifying DTN nodes that
+ participate in custody transfer, it also provides a (weak) mechanism
+ for enhancing the reliability of message delivery. Generally
+ speaking, custody transfer relies on underlying reliable delivery
+ protocols of the networks that it operates over to provide the
+ primary means of reliable transfer from one bundle node to the next
+ (set). However, when custody transfer is requested, the bundle layer
+ provides an additional coarse-grained timeout and retransmission
+ mechanism and an accompanying (bundle-layer) custodian-to-custodian
+ acknowledgment signaling mechanism. When an application does *not*
+ request custody transfer, this bundle layer timeout and
+ retransmission mechanism is typically not employed, and successful
+ bundle layer delivery depends solely on the reliability mechanisms of
+ the underlying protocols.
+
+ When a node accepts custody for a bundle that contains the Custody
+ Transfer Requested option, a Custody Transfer Accepted Signal is sent
+ by the bundle layer to the Current Custodian EID contained in the
+ primary bundle block. In addition, the Current Custodian EID is
+ updated to contain one of the forwarding node's (unicast) EIDs before
+ the bundle is forwarded.
+
+ When an application requests an ADU to be delivered with custody
+ transfer, the request is advisory. In some circumstances, a source
+ of a bundle for which custody transfer has been requested may not be
+ able to provide this service. In such circumstances, the subject
+ bundle may traverse multiple DTN nodes before it obtains a custodian.
+ Bundles in this condition are specially marked with their Current
+ Custodian EID field set to a null endpoint. In cases where
+ applications wish to require the source to take custody of the
+ bundle, they may supply the Source Node Custody Acceptance Required
+
+
+
+
+
+Cerf, et al. Informational [Page 20]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ delivery option. This may be useful to applications that desire a
+ continuous "chain" of custody or that wish to exit after being
+ ensured their data is safely held in a custodian.
+
+ In a DTN network where one or more custodian-to-custodian hops are
+ strictly one directional (and cannot be reversed), the DTN custody
+ transfer mechanism will be affected over such hops due to the lack of
+ any way to receive a custody signal (or any other information) back
+ across the path, resulting in the expiration of the bundle at the
+ ingress to the one-way hop. This situation does not necessarily mean
+ the bundle has been lost; nodes on the other side of the hop may
+ continue to transfer custody, and the bundle may be delivered
+ successfully to its destination(s). However, in this circumstance a
+ source that has requested to receive expiration BSRs for this bundle
+ will receive an expiration report for the bundle, and possibly
+ conclude (incorrectly) that the bundle has been discarded and not
+ delivered. Although this problem cannot be fully solved in this
+ situation, a mechanism is provided to help ameliorate the seemingly
+ incorrect information that may be reported when the bundle expires
+ after having been transferred over a one-way hop. This is
+ accomplished by the node at the ingress to the one-way hop reporting
+ the existence of a known one-way path using a variant of a bundle
+ status report. These types of reports are provided if the subject
+ bundle requests the report using the 'Report When Bundle Forwarded'
+ delivery option.
+
+3.11. DTN Support for Proxies and Application Layer Gateways
+
+ One of the aims of DTN is to provide a common method for
+ interconnecting application layer gateways and proxies. In cases
+ where existing Internet applications can be made to tolerate delays,
+ local proxies can be constructed to benefit from the existing
+ communication capabilities provided by DTN [S05, T02]. Making such
+ proxies compatible with DTN reduces the burden on the proxy author
+ from being concerned with how to implement routing and reliability
+ management and allows existing TCP/IP-based applications to operate
+ unmodified over a DTN-based network.
+
+ When DTN is used to provide a form of tunnel encapsulation for other
+ protocols, it can be used in constructing overlay networks comprised
+ of application layer gateways. The application acknowledgment
+ capability is designed for such circumstances. This provides a
+ common way for remote application layer gateways to signal the
+ success or failure of non-DTN protocol operations initiated as a
+ result of receiving DTN ADUs. Without this capability, such
+ indicators would have to be implemented by applications themselves in
+ non-standard ways.
+
+
+
+
+Cerf, et al. Informational [Page 21]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+3.12. Timestamps and Time Synchronization
+
+ The DTN architecture depends on time synchronization among DTN nodes
+ (supported by external, non-DTN protocols) for four primary purposes:
+ bundle and fragment identification, routing with scheduled or
+ predicted contacts, bundle expiration time computations, and
+ application registration expiration.
+
+ Bundle identification and expiration are supported by placing a
+ creation timestamp and an explicit expiration field (expressed in
+ seconds after the source timestamp) in each bundle. The origination
+ timestamps on arriving bundles are made available to consuming
+ applications in ADUs they receive by some system interface function.
+ Each set of bundles corresponding to an ADU is required to contain a
+ timestamp unique to the sender's EID. The EID, timestamp, and data
+ offset/length information together uniquely identify a bundle.
+ Unique bundle identification is used for a number of purposes,
+ including custody transfer and reassembly of bundle fragments.
+
+ Time is also used in conjunction with application registrations.
+ When an application expresses its desire to receive ADUs destined for
+ a particular EID, this registration is only maintained for a finite
+ period of time, and may be specified by the application. For
+ multicast registrations, an application may also specify a time range
+ or "interest interval" for its registration. In this case, traffic
+ sent to the specified EID any time during the specified interval will
+ eventually be delivered to the application (unless such traffic has
+ expired due to the expiration time provided by the application at the
+ source or some other reason prevents such delivery).
+
+3.13. Congestion and Flow Control at the Bundle Layer
+
+ The subject of congestion control and flow control at the bundle
+ layer is one on which the authors of this document have not yet
+ reached complete consensus. We have unresolved concerns about the
+ efficiency and efficacy of congestion and flow control schemes
+ implemented across long and/or highly variable delay environments,
+ especially with the custody transfer mechanism that may require nodes
+ to retain bundles for long periods of time.
+
+ For the purposes of this document, we define "flow control" as a
+ means of assuring that the average rate at which a sending node
+ transmits data to a receiving node does not exceed the average rate
+ at which the receiving node is prepared to receive data from that
+ sender. (Note that this is a generalized notion of flow control,
+ rather than one that applies only to end-to-end communication.) We
+ define "congestion control" as a means of assuring that the aggregate
+ rate at which all traffic sources inject data into a network does not
+
+
+
+Cerf, et al. Informational [Page 22]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ exceed the maximum aggregate rate at which the network can deliver
+ data to destination nodes over time. If flow control is propagated
+ backward from congested nodes toward traffic sources, then the flow
+ control mechanism can be used as at least a partial solution to the
+ problem of congestion as well.
+
+ DTN flow control decisions must be made within the bundle layer
+ itself based on information about resources (in this case, primarily
+ persistent storage) available within the bundle node. When storage
+ resources become scarce, a DTN node has only a certain degree of
+ freedom in handling the situation. It can always discard bundles
+ which have expired -- an activity DTN nodes should perform regularly
+ in any case. If it ordinarily is willing to accept custody for
+ bundles, it can cease doing so. If storage resources are available
+ elsewhere in the network, it may be able to make use of them in some
+ way for bundle storage. It can also discard bundles which have not
+ expired but for which it has not accepted custody. A node must avoid
+ discarding bundles for which it has accepted custody, and do so only
+ as a last resort. Determining when a node should engage in or cease
+ to engage in custody transfers is a resource allocation and
+ scheduling problem of current research interest.
+
+ In addition to the bundle layer mechanisms described above, a DTN
+ node may be able to avail itself of support from lower-layer
+ protocols in affecting its own resource utilization. For example, a
+ DTN node receiving a bundle using TCP/IP might intentionally slow
+ down its receiving rate by performing read operations less frequently
+ in order to reduce its offered load. This is possible because TCP
+ provides its own flow control, so reducing the application data
+ consumption rate could effectively implement a form of hop-by-hop
+ flow control. Unfortunately, it may also lead to head-of-line
+ blocking issues, depending on the nature of bundle multiplexing
+ within a TCP connection. A protocol with more relaxed ordering
+ constraints (e.g. SCTP [RFC2960]) might be preferable in such
+ circumstances.
+
+ Congestion control is an ongoing research topic.
+
+3.14. Security
+
+ The possibility of severe resource scarcity in some delay-tolerant
+ networks dictates that some form of authentication and access control
+ to the network itself is required in many circumstances. It is not
+ acceptable for an unauthorized user to flood the network with traffic
+ easily, possibly denying service to authorized users. In many cases
+ it is also not acceptable for unauthorized traffic to be forwarded
+ over certain network links at all. This is especially true for
+ exotic, mission-critical links. In light of these considerations,
+
+
+
+Cerf, et al. Informational [Page 23]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ several goals are established for the security component of the DTN
+ architecture:
+
+ - Promptly prevent unauthorized applications from having their data
+ carried through or stored in the DTN.
+
+ - Prevent unauthorized applications from asserting control over the
+ DTN infrastructure.
+
+ - Prevent otherwise authorized applications from sending bundles at a
+ rate or class of service for which they lack permission.
+
+ - Promptly discard bundles that are damaged or improperly modified in
+ transit.
+
+ - Promptly detect and de-authorize compromised entities.
+
+ Many existing authentication and access control protocols designed
+ for operation in low-delay, connected environments may not perform
+ well in DTNs. In particular, updating access control lists and
+ revoking ("blacklisting") credentials may be especially difficult.
+ Also, approaches that require frequent access to centralized servers
+ to complete an authentication or authorization transaction are not
+ attractive. The consequences of these difficulties include delays in
+ the onset of communication, delays in detecting and recovering from
+ system compromise, and delays in completing transactions due to
+ inappropriate access control or authentication settings.
+
+ To help satisfy these security requirements in light of the
+ challenges, the DTN architecture adopts a standard but optionally
+ deployed security architecture [DTNSEC] that utilizes hop-by-hop and
+ end-to-end authentication and integrity mechanisms. The purpose of
+ using both approaches is to be able to handle access control for data
+ forwarding and storage separately from application-layer data
+ integrity. While the end-to-end mechanism provides authentication
+ for a principal such as a user (of which there may be many), the hop-
+ by-hop mechanism is intended to authenticate DTN nodes as legitimate
+ transceivers of bundles to each-other. Note that it is conceivable
+ to construct a DTN in which only a subset of the nodes participate in
+ the security mechanisms, resulting in a secure DTN overlay existing
+ atop an insecure DTN overlay. This idea is relatively new and is
+ still being explored.
+
+ In accordance with the goals listed above, DTN nodes discard traffic
+ as early as possible if authentication or access control checks fail.
+ This approach meets the goals of removing unwanted traffic from being
+ forwarded over specific high-value links, but also has the associated
+ benefit of making denial-of-service attacks considerably harder to
+
+
+
+Cerf, et al. Informational [Page 24]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ mount more generally, as compared with conventional Internet routers.
+ However, the obvious cost for this capability is potentially larger
+ computation and credential storage overhead required at DTN nodes.
+
+ For more detailed information on DTN security provisions, refer to
+ [DTNSEC] and [DTNSOV].
+
+4. State Management Considerations
+
+ An important aspect of any networking architecture is its management
+ of state. This section describes the state managed at the bundle
+ layer and discusses how it is established and removed.
+
+4.1. Application Registration State
+
+ In long/variable delay environments, an asynchronous application
+ interface seems most appropriate. Such interfaces typically include
+ methods for applications to register callback actions when certain
+ triggering events occur (e.g., when ADUs arrive). These
+ registrations create state information called application
+ registration state.
+
+ Application registration state is typically created by explicit
+ request of the application, and is removed by a separate explicit
+ request, but may also be removed by an application-specified timer
+ (it is thus "firm" state). In most cases, there must be a provision
+ for retaining this state across application and operating system
+ termination/restart conditions because a client/server bundle round-
+ trip time may exceed the requesting application's execution time (or
+ hosting system's uptime). In cases where applications are not
+ automatically restarted but application registration state remains
+ persistent, a method must be provided to indicate to the system what
+ action to perform when the triggering event occurs (e.g., restarting
+ some application, ignoring the event, etc.).
+
+ To initiate a registration and thereby establish application
+ registration state, an application specifies an Endpoint ID for which
+ it wishes to receive ADUs, along with an optional time value
+ indicating how long the registration should remain active. This
+ operation is somewhat analogous to the bind() operation in the common
+ sockets API.
+
+ For registrations to groups (i.e., joins), a time interval may also
+ be specified. The time interval refers to the range of origination
+ times of ADUs sent to the specified EID. See Section 3.4 above for
+ more details.
+
+
+
+
+
+Cerf, et al. Informational [Page 25]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+4.2. Custody Transfer State
+
+ Custody transfer state includes information required to keep account
+ of bundles for which a node has taken custody, as well as the
+ protocol state related to transferring custody for one or more of
+ them. The accounting-related state is created when a bundle is
+ received. Custody transfer retransmission state is created when a
+ transfer of custody is initiated by forwarding a bundle with the
+ custody transfer requested delivery option specified. Retransmission
+ state and accounting state may be released upon receipt of one or
+ more Custody Transfer Succeeded signals, indicating custody has been
+ moved. In addition, the bundle's expiration time (possibly mitigated
+ by local policy) provides an upper bound on the time when this state
+ is purged from the system in the event that it is not purged
+ explicitly due to receipt of a signal.
+
+4.3. Bundle Routing and Forwarding State
+
+ As with the Internet architecture, we distinguish between routing and
+ forwarding. Routing refers to the execution of a (possibly
+ distributed) algorithm for computing routing paths according to some
+ objective function (see [JFP04], for example). Forwarding refers to
+ the act of moving a bundle from one DTN node to another. Routing
+ makes use of routing state (the RIB, or routing information base),
+ while forwarding makes use of state derived from routing, and is
+ maintained as forwarding state (the FIB, or forwarding information
+ base). The structure of the FIB and the rules for maintaining it are
+ implementation choices. In some DTNs, exchange of information used
+ to update state in the RIB may take place on network paths distinct
+ from those where exchange of application data takes place.
+
+ The maintenance of state in the RIB is dependent on the type of
+ routing algorithm being used. A routing algorithm may consider
+ requested class of service and the location of potential custodians
+ (for custody transfer, see section 3.10), and this information will
+ tend to increase the size of the RIB. The separation between FIB and
+ RIB is not required by this document, as these are implementation
+ details to be decided by system implementers. The choice of routing
+ algorithms is still under study.
+
+ Bundles may occupy queues in nodes for a considerable amount of time.
+ For unicast or anycast delivery, the amount of time is likely to be
+ the interval between when a bundle arrives at a node and when it can
+ be forwarded to its next hop. For multicast delivery of bundles,
+ this could be significantly longer, up to a bundle's expiration time.
+ This situation occurs when multicast delivery is utilized in such a
+ way that nodes joining a group can obtain information previously sent
+ to the group. In such cases, some nodes may act as "archivers" that
+
+
+
+Cerf, et al. Informational [Page 26]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ provide copies of bundles to new participants that have already been
+ delivered to other participants.
+
+4.4. Security-Related State
+
+ The DTN security approach described in [DTNSEC], when used, requires
+ maintenance of state in all DTN nodes that use it. All such nodes
+ are required to store their own private information (including their
+ own policy and authentication material) and a block of information
+ used to verify credentials. Furthermore, in most cases, DTN nodes
+ will cache some public information (and possibly the credentials) of
+ their next-hop (bundle) neighbors. All cached information has
+ expiration times, and nodes are responsible for acquiring and
+ distributing updates of public information and credentials prior to
+ the expiration of the old set (in order to avoid a disruption in
+ network service).
+
+ In addition to basic end-to-end and hop-by-hop authentication, access
+ control may be used in a DTN by one or more mechanisms such as
+ capabilities or access control lists (ACLs). ACLs would represent
+ another block of state present in any node that wishes to enforce
+ security policy. ACLs are typically initialized at node
+ configuration time and may be updated dynamically by DTN bundles or
+ by some out of band technique. Capabilities or credentials may be
+ revoked, requiring the maintenance of a revocation list ("black
+ list", another form of state) to check for invalid authentication
+ material that has already been distributed.
+
+ Some DTNs may implement security boundaries enforced by selected
+ nodes in the network, where end-to-end credentials may be checked in
+ addition to checking the hop-by-hop credentials. (Doing so may
+ require routing to be adjusted to ensure all bundles comprising each
+ ADU pass through these points.) Public information used to verify
+ end-to-end authentication will typically be cached at these points.
+
+4.5. Policy and Configuration State
+
+ DTN nodes will contain some amount of configuration and policy
+ information. Such information may alter the behavior of bundle
+ forwarding. Examples of policy state include the types of
+ cryptographic algorithms and access control procedures to use if DTN
+ security is employed, whether nodes may become custodians, what types
+ of convergence layer (see Section 6) and routing protocols are in
+ use, how bundles of differing priorities should be scheduled, where
+ and for how long bundles and other data is stored, what status
+ reports may be generated or at what rate, etc.
+
+
+
+
+
+Cerf, et al. Informational [Page 27]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+5. Application Structuring Issues
+
+ DTN bundle delivery is intended to operate in a delay-tolerant
+ fashion over a broad range of network types. This does not mean
+ there *must* be large delays in the network; it means there *may* be
+ very significant delays (including extended periods of disconnection
+ between sender and intended recipient(s)). The DTN protocols are
+ delay tolerant, so applications using them must also be delay
+ tolerant in order to operate effectively in environments subject to
+ significant delay or disruption.
+
+ The communication primitives provided by the DTN architecture are
+ based on asynchronous, message-oriented communication which differs
+ from conversational request/response communication. In general,
+ applications should attempt to include enough information in an ADU
+ so that it may be treated as an independent unit of work by the
+ network and receiver(s). The goal is to minimize synchronous
+ interchanges between applications that are separated by a network
+ characterized by long and possibly highly variable delays. A single
+ file transfer request message, for example, might include
+ authentication information, file location information, and requested
+ file operation (thus "bundling" this information together).
+ Comparing this style of operation to a classic FTP transfer, one sees
+ that the bundled model can complete in one round trip, whereas an FTP
+ file "put" operation can take as many as eight round trips to get to
+ a point where file data can flow [DFS02].
+
+ Delay-tolerant applications must consider additional factors beyond
+ the conversational implications of long delay paths. For example, an
+ application may terminate (voluntarily or not) between the time it
+ sends a message and the time it expects a response. If this
+ possibility has been anticipated, the application can be "re-
+ instantiated" with state information saved in persistent storage.
+ This is an implementation issue, but also an application design
+ consideration.
+
+ Some consideration of delay-tolerant application design can result in
+ applications that work reasonably well in low-delay environments, and
+ that do not suffer extraordinarily in high or highly-variable delay
+ environments.
+
+6. Convergence Layer Considerations for Use of Underlying Protocols
+
+ Implementation experience with the DTN architecture has revealed an
+ important architectural construct and interface for DTN nodes
+ [DBFJHP04]. Not all underlying protocols in different protocol
+ families provide the same exact functionality, so some additional
+ adaptation or augmentation on a per-protocol or per-protocol-family
+
+
+
+Cerf, et al. Informational [Page 28]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ basis may be required. This adaptation is accomplished by a set of
+ convergence layers placed between the bundle layer and underlying
+ protocols. The convergence layers manage the protocol-specific
+ details of interfacing with particular underlying protocols and
+ present a consistent interface to the bundle layer.
+
+ The complexity of one convergence layer may vary substantially from
+ another, depending on the type of underlying protocol it adapts. For
+ example, a TCP/IP convergence layer for use in the Internet might
+ only have to add message boundaries to TCP streams, whereas a
+ convergence layer for some network where no reliable transport
+ protocol exists might be considerably more complex (e.g., it might
+ have to implement reliability, fragmentation, flow-control, etc.) if
+ reliable delivery is to be offered to the bundle layer.
+
+ As convergence layers implement protocols above and beyond the basic
+ bundle protocol specified in [BSPEC], they will be defined in their
+ own documents (in a fashion similar to the way encapsulations for IP
+ datagrams are specified on a per-underlying-protocol basis, such as
+ in RFC 894 [RFC894]).
+
+7. Summary
+
+ The DTN architecture addresses many of the problems of heterogeneous
+ networks that must operate in environments subject to long delays and
+ discontinuous end-to-end connectivity. It is based on asynchronous
+ messaging and uses postal mail as a model of service classes and
+ delivery semantics. It accommodates many different forms of
+ connectivity, including scheduled, predicted, and opportunistically
+ connected delivery paths. It introduces a novel approach to end-to-
+ end reliability across frequently partitioned and unreliable
+ networks. It also proposes a model for securing the network
+ infrastructure against unauthorized access.
+
+ It is our belief that this architecture is applicable to many
+ different types of challenged environments.
+
+8. Security Considerations
+
+ Security is an integral concern for the design of the Delay Tolerant
+ Network Architecture, but its use is optional. Sections 3.6.1, 3.14,
+ and 4.4 of this document present some factors to consider for
+ securing the DTN architecture, but separate documents [DTNSOV] and
+ [DTNSEC] define the security architecture in much more detail.
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 29]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+9. IANA Considerations
+
+ This document specifies the architecture for Delay Tolerant
+ Networking, which uses Internet-standard URIs for its Endpoint
+ Identifiers. URIs intended for use with DTN should be compliant with
+ the guidelines given in [RFC3986].
+
+10. Normative References
+
+ [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
+ Resource Identifier (URI): Generic Syntax", STD 66, RFC
+ 3986, January 2005.
+
+11. Informative References
+
+ [IPN01] InterPlaNetary Internet Project, Internet Society IPN
+ Special Interest Group, http://www.ipnsig.org.
+
+ [SB03] S. Burleigh, et al., "Delay-Tolerant Networking - An
+ Approach to Interplanetary Internet", IEEE Communications
+ Magazine, July 2003.
+
+ [FW03] F. Warthman, "Delay-Tolerant Networks (DTNs): A Tutorial
+ v1.1", Wartham Associates, 2003. Available from
+ http://www.dtnrg.org.
+
+ [KF03] K. Fall, "A Delay-Tolerant Network Architecture for
+ Challenged Internets", Proceedings SIGCOMM, Aug 2003.
+
+ [JFP04] S. Jain, K. Fall, R. Patra, "Routing in a Delay Tolerant
+ Network", Proceedings SIGCOMM, Aug/Sep 2004.
+
+ [DFS02] R. Durst, P. Feighery, K. Scott, "Why not use the
+ Standard Internet Suite for the Interplanetary
+ Internet?", MITRE White Paper, 2002. Available from
+ http://www.ipnsig.org/reports/TCP_IP.pdf.
+
+ [CK74] V. Cerf, R. Kahn, "A Protocol for Packet Network
+ Intercommunication", IEEE Trans. on Comm., COM-22(5), May
+ 1974.
+
+ [IGE00] C. Intanagonwiwat, R. Govindan, D. Estrin, "Directed
+ Diffusion: A Scalable and Robust Communication Paradigm
+ for Sensor Networks", Proceedings MobiCOM, Aug 2000.
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 30]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ [WSBL99] W. Adjie-Winoto, E. Schwartz, H. Balakrishnan, J. Lilley,
+ "The Design and Implementation of an Intentional Naming
+ System", Proc. 17th ACM SOSP, Kiawah Island, SC, Dec.
+ 1999.
+
+ [CT90] D. Clark, D. Tennenhouse, "Architectural Considerations
+ for a New Generation of Protocols", Proceedings SIGCOMM,
+ 1990.
+
+ [ISCHEMES] IANA, Uniform Resource Identifer (URI) Schemes,
+ http://www.iana.org/assignments/uri-schemes.html.
+
+ [JDPF05] S. Jain, M. Demmer, R. Patra, K. Fall, "Using Redundancy
+ to Cope with Failures in a Delay Tolerant Network",
+ Proceedings SIGCOMM, 2005.
+
+ [WJMF05] Y. Wang, S. Jain, M. Martonosi, K. Fall, "Erasure Coding
+ Based Routing in Opportunistic Networks", Proceedings
+ SIGCOMM Workshop on Delay Tolerant Networks, 2005.
+
+ [ZAZ05] W. Zhao, M. Ammar, E. Zegura, "Multicast in Delay
+ Tolerant Networks", Proceedings SIGCOMM Workshop on Delay
+ Tolerant Networks, 2005.
+
+ [LFC05] J. Leguay, T. Friedman, V. Conan, "DTN Routing in a
+ Mobility Pattern Space", Proceedings SIGCOMM Workshop on
+ Delay Tolerant Networks, 2005.
+
+ [AF03] J. Alonso, K. Fall, "A Linear Programming Formulation of
+ Flows over Time with Piecewise Constant Capacity and
+ Transit Times", Intel Research Technical Report IRB-TR-
+ 03-007, June 2003.
+
+ [FHM03] K. Fall, W. Hong, S. Madden, "Custody Transfer for
+ Reliable Delivery in Delay Tolerant Networks", Intel
+ Research Technical Report IRB-TR-03-030, July 2003.
+
+ [BSPEC] K. Scott, S. Burleigh, "Bundle Protocol Specification",
+ Work in Progress, December 2006.
+
+ [DTNSEC] S. Symington, S. Farrell, H. Weiss, "Bundle Security
+ Protocol Specification", Work in Progress, October 2006.
+
+ [DTNSOV] S. Farrell, S. Symington, H. Weiss, "Delay-Tolerant
+ Networking Security Overview", Work in Progress, October
+ 2006.
+
+
+
+
+
+Cerf, et al. Informational [Page 31]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ [DBFJHP04] M. Demmer, E. Brewer, K. Fall, S. Jain, M. Ho, R. Patra,
+ "Implementing Delay Tolerant Networking", Intel Research
+ Technical Report IRB-TR-04-020, Dec. 2004.
+
+ [RFC792] Postel, J., "Internet Control Message Protocol", STD 5,
+ RFC 792, September 1981.
+
+ [RFC894] Hornig, C., "A Standard for the Transmission of IP
+ Datagrams over Ethernet Networks", STD 41, RFC 894, April
+ 1 1984.
+
+ [RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C.,
+ Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M.,
+ Zhang, L., and V. Paxson, "Stream Control Transmission
+ Protocol", RFC 2960, October 2000.
+
+ [RFC4088] Black, D., McCloghrie, K., and J. Schoenwaelder, "Uniform
+ Resource Identifier (URI) Scheme for the Simple Network
+ Management Protocol (SNMP)", RFC 4088, June 2005.
+
+ [S05] K. Scott, "Disruption Tolerant Networking Proxies for
+ On-the-Move Tactical Networks", Proc. MILCOM 2005
+ (unclassified track), Oct. 2005.
+
+ [T02] W. Thies, et al., "Searching the World Wide Web in Low-
+ Connectivity Communities", Proc. WWW Conference (Global
+ Community track), May 2002.
+
+12. Acknowledgments
+
+ John Wroclawski, David Mills, Greg Miller, James P. G. Sterbenz, Joe
+ Touch, Steven Low, Lloyd Wood, Robert Braden, Deborah Estrin, Stephen
+ Farrell, Melissa Ho, Ting Liu, Mike Demmer, Jakob Ericsson, Susan
+ Symington, Andrei Gurtov, Avri Doria, Tom Henderson, Mark Allman,
+ Michael Welzl, and Craig Partridge all contributed useful thoughts
+ and criticisms to versions of this document. We are grateful for
+ their time and participation.
+
+ This work was performed in part under DOD Contract DAA-B07-00-CC201,
+ DARPA AO H912; JPL Task Plan No. 80-5045, DARPA AO H870; and NASA
+ Contract NAS7-1407.
+
+
+
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 32]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+Authors' Addresses
+
+ Dr. Vinton G. Cerf
+ Google Corporation
+ Suite 384
+ 13800 Coppermine Rd.
+ Herndon, VA 20171
+ Phone: +1 (703) 234-1823
+ Fax: +1 (703) 848-0727
+ EMail: vint@google.com
+
+ Scott C. Burleigh
+ Jet Propulsion Laboratory
+ 4800 Oak Grove Drive
+ M/S: 179-206
+ Pasadena, CA 91109-8099
+ Phone: +1 (818) 393-3353
+ Fax: +1 (818) 354-1075
+ EMail: Scott.Burleigh@jpl.nasa.gov
+
+ Robert C. Durst
+ The MITRE Corporation
+ 7515 Colshire Blvd., M/S H440
+ McLean, VA 22102
+ Phone: +1 (703) 983-7535
+ Fax: +1 (703) 983-7142
+ EMail: durst@mitre.org
+
+ Dr. Kevin Fall
+ Intel Research, Berkeley
+ 2150 Shattuck Ave., #1300
+ Berkeley, CA 94704
+ Phone: +1 (510) 495-3014
+ Fax: +1 (510) 495-3049
+ EMail: kfall@intel.com
+
+ Adrian J. Hooke
+ Jet Propulsion Laboratory
+ 4800 Oak Grove Drive
+ M/S: 303-400
+ Pasadena, CA 91109-8099
+ Phone: +1 (818) 354-3063
+ Fax: +1 (818) 393-3575
+ EMail: Adrian.Hooke@jpl.nasa.gov
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 33]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+ Dr. Keith L. Scott
+ The MITRE Corporation
+ 7515 Colshire Blvd., M/S H440
+ McLean, VA 22102
+ Phone: +1 (703) 983-6547
+ Fax: +1 (703) 983-7142
+ EMail: kscott@mitre.org
+
+ Leigh Torgerson
+ Jet Propulsion Laboratory
+ 4800 Oak Grove Drive
+ M/S: 238-412
+ Pasadena, CA 91109-8099
+ Phone: +1 (818) 393-0695
+ Fax: +1 (818) 354-6825
+ EMail: ltorgerson@jpl.nasa.gov
+
+ Howard S. Weiss
+ SPARTA, Inc.
+ 7075 Samuel Morse Drive
+ Columbia, MD 21046
+ Phone: +1 (410) 872-1515 x201
+ Fax: +1 (410) 872-8079
+ EMail: howard.weiss@sparta.com
+
+ Please refer comments to dtn-interest@mailman.dtnrg.org. The Delay
+ Tolerant Networking Research Group (DTNRG) web site is located at
+ http://www.dtnrg.org.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 34]
+
+RFC 4838 Delay-Tolerant Networking Architecture April 2007
+
+
+Full Copyright Statement
+
+ Copyright (C) The IETF Trust (2007).
+
+ 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.
+
+ 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, THE IETF TRUST 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.
+
+Intellectual Property
+
+ 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.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+Cerf, et al. Informational [Page 35]
+