One document matched: draft-irtf-dtnrg-udp-clayer-00.txt
DTNRG H. Kruse
Internet-Draft S. Ostermann
Intended status: Experimental Ohio University
Expires: May 23, 2009 November 19, 2008
UDP Convergence Layers for the DTN Bundle and LTP Protocols
draft-irtf-dtnrg-udp-clayer-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 23, 2009.
Abstract
This document specifies the use of the User Datagram Protocol (UDP)
as a method for transporting DTN protocol data over the Internet.
The specification covers both the use of UDP as a convergence layer
for the Bundle Protocol as well as the use of UDP to carry LTP
segments.
Kruse & Ostermann Expires May 23, 2009 [Page 1]
Internet-Draft UDP Convergence Layers for DTN November 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3
2. General UDP Considerations . . . . . . . . . . . . . . . . . . 3
2.1. UDP Checksums are Required . . . . . . . . . . . . . . . . 3
2.2. Congestion Control . . . . . . . . . . . . . . . . . . . . 3
2.3. How and Where to Deal with Fragmentation . . . . . . . . . 4
2.4. Keep Alive Option . . . . . . . . . . . . . . . . . . . . . 5
3. Bundle Protocol over UDP Convergence Layer . . . . . . . . . . 5
4. LTP over UDP Convergence Layer . . . . . . . . . . . . . . . . 5
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.1. Normative References . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . . . 8
Kruse & Ostermann Expires May 23, 2009 [Page 2]
Internet-Draft UDP Convergence Layers for DTN November 2008
1. Introduction
Delay/Disruption Tolerant Network (DTN) communication protocols
include the Bundle Protocol described in RFC 5050 [RFC5050], which
provides reliable transmission of application data blocks (bundles)
with optional intermediate custody transfer, and the Licklider
Transport Protocol (LTP), RFCs 5325 [RFC5325], 5326 [RFC5326], and
5327 [RFC5327] which can be used to transmit bundles reliably and
efficiently over a point to point link. It is often desirable to
test these protocols over Internet Protocol links.
draft-irtf-dtnrg-tcp-clayer [I-D.irtf-dtnrg-tcp-clayer] defines a
method for transporting bundles over TCP. This draft specifies the
convergence layer for transmitting either bundles or LTP blocks over
UDP.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. General UDP Considerations
2.1. UDP Checksums are Required
Both the core bundle protocol specification and core LTP
specification assume that they are transmitting over an erasure
channel, i.e. a channel that either delivers packets correctly or not
at all. The UDP CL transmitter therefore MUST NOT disable UDP
checksums, and the UDP CL receiver MUST NOT disable checking of
received UDP checksums.
Even when UDP checksums are enabled a small probablity of UDP packet
corruption remains. In some environments it may be acceptable for
LTP or the bundle protocol to occasionally receive corrcupted input.
In general, however, a UDP CL implementation SHOULD use optional
security extensions available in the bundle protocol or LTP to
protect against message corruption (see the protocol specific
sections below).
2.2. Congestion Control
UDP operates on a packet by packet, best effort delivery basis. It
provides no congestion control. When the bundle protocol or LTP are
operated over UDP, the lack of congestion control can interfere with
other traffic in the network, and will be particularly harmful to
traffic that does obey congestion control. If the UDP CL is used to
Kruse & Ostermann Expires May 23, 2009 [Page 3]
Internet-Draft UDP Convergence Layers for DTN November 2008
send more than a very small number of packets at a time, it either
SHOULD NOT be used outside an isolated network, or it MUST implement
congestion control procedures as outlined in RFC 5405.
2.3. How and Where to Deal with Fragmentation
The bundling protocol allows bundles with sizes limited only by node
resource constraints. In IPv4, the maximum size of a UDP datagram is
nearly 64KB. In IPv6, when using jumbograms [RFC2675], UDP datagrams
can be up to 4GB in size [RFC2147]. It is well understood that
sending large IP datagrams that must be fragmented by the network has
enormous efficiency penalties [Kent88]. The primary efficiency
penalty is increased loss probability. When a large datagram is
broken into a number of fragments, the original datagram can only be
recreated if all the fragments arrive at the ultimate destination for
reassembly. When transmitted over a network with a packet loss
probability of 2%, for example, a single, unfragmented datagram will
arrive with probability 98%; a large datagram fragmented into 10
fragments will have all of its fragments arrive with probability
98%**10, giving a datagram arrival probability of only 81.7%. The
higher-level protocol using UDP for delivery can retransmit lost UDP
datagrams, but cannot retransmit lost IP datagram fragments.
Therefore, retransmitting large, lost datagrams because of a small
number of missing fragments can require many more packets than
retransmitting a number of smaller, unfragmented datagrams because
only the missing pieces need to be retransmitted. The other
efficiency penalty paid by fragmentation that would be significant
for DTN is the resources (time, complexity, and memory) required for
IP reassembly.
When an LTP CL is using UDP for datagram delivery, it SHOULD NOT
create segments that will result in UDP datagrams that will need to
be fragmented, as discussed above. When using UDP directly as a CL,
the software SHOULD NOT directly encapsulate large bundles into large
UDP datagrams that would need to be fragmented, as discussed above.
In the latter case, the bundle protocol specification provides a
bundle fragmentation concept [RFC5050] that allows a large bundle to
be divided into bundle fragments, each of which SHOULD be created of
sufficiently small size that it can then be encapsulated into a UDP
datagram that will not need to be fragmented.
Without information from elsewhere in the networking stack about path
MTU, the protocol can assume a minimum path MTU that would allow 512
bytes of UDP data [RFC0791] over IPv4 or (1280-(UDP and IP header
sizes)) bytes [RFC1883] over IPv6.
Kruse & Ostermann Expires May 23, 2009 [Page 4]
Internet-Draft UDP Convergence Layers for DTN November 2008
2.4. Keep Alive Option
It may be desirable for a UDP CL to send "keep-alive" packets during
extended idle periods. This may be needed to refresh a contact table
entry at the destination, or to maintain an address mapping in a NAT
or a dynamic access rule in a firewall. Therefore, a UDP CL MAY send
a UDP packet containing exactly 4 octets of zero bits. A UDP CL
receiving such a packet MUST discard this packet; the receiving CL
may then perform local maintenance of its state tables, these
maintenance functions are not covered in this draft. Note that
"real" CL packets will always contain more than 4 octets of
information (either the bundle or the LTP header); keep-alives will
therefore never be mistaken for actual data packets.
3. Bundle Protocol over UDP Convergence Layer
In general, the use of the bundle protocol over a UDP CL is
discouraged. Bundles can be of (almost) arbitrary length, and the
bundle protocol does not include an effective retransmission
mechanism. Whenever possible the bundle protocol SHOULD be operated
over the TCP Convergence Layer or over LTP.
If a UDP CL is used for transmission of bundles, every UDP packet
MUST contain exactly one bundle or four zero octets as a keep-alive.
The UDP CL SHOULD use avalailable operating system services to obtain
the largest supported UDP packet size, and MAY use the default UDP
packet size limit if path-specific information is not available. For
bundles that are too large for the supported UDP packet size, the
bundle protocol fragmentation process SHOULD be used transmit the
large bundle.
The UDP CL for bundle protocol use SHOULD use the IANA assigned port
4556/UDP; the use of other port numbers is implementation specific.
4. LTP over UDP Convergence Layer
LTP is designed as a point to point protocol within DTN, and it
provides intrinsic acknowledgement and retransmission facilities.
Transmission of LTP over a UDP CL is therefore the most appropriate
choice. When a UDP CL is used to transmit LTP data, every UDP packet
MUST contain exactly one LTP segment or four zero octets as a keep-
alive. The UDP CL SHOULD use avalailable operating system services
to obtain the largest supported UDP packet size, and MAY use the
default UDP packet size limit if path-specific information is not
available. LTP MUST perform segmentation in such a way as to insure
that every LTP segments fits into a UDP packet.
Kruse & Ostermann Expires May 23, 2009 [Page 5]
Internet-Draft UDP Convergence Layers for DTN November 2008
The UDP CL for LTP SHOULD use the IANA assigned port 1113/UDP; the
use of other port numbers is implementation specific.
5. Acknowledgements
6. IANA Considerations
This memo includes no request to IANA.
7. Security Considerations
This memo describes the use of UDP to transport DTN applications
data. Hosts may be in a position of having to accept and process UDP
packet from unknown sources; the DTN Endpoint ID can be discovered
only after the bundle has been retrieved from the UDP packet. Hosts
SHOULD use authentication methods available in the DTN specifications
to prevent malicious hosts from inserting unknown data into the
application.
Hosts need to listen for and process UDP data on the known LTP or
bundle protocol ports. A denial of service scenario exists where a
malicious host send UDP packets at a high rate, forcing the receiving
hosts to use its resources to process and attempt to authenticate
these data. Whenever possible, hosts SHOULD use IP address filtering
to limit the origin of packets to known hosts.
8. References
8.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC1883] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 1883, December 1995.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2147] Borman, D., "TCP and UDP over IPv6 Jumbograms", RFC 2147,
May 1997.
[RFC2675] Borman, D., Deering, S., and R. Hinden, "IPv6 Jumbograms",
RFC 2675, August 1999.
Kruse & Ostermann Expires May 23, 2009 [Page 6]
Internet-Draft UDP Convergence Layers for DTN November 2008
[RFC5050] Scott, K. and S. Burleigh, "Bundle Protocol
Specification", RFC 5050, November 2007.
[RFC5325] Burleigh, S., Ramadas, M., and S. Farrell, "Licklider
Transmission Protocol - Motivation", RFC 5325,
September 2008.
[RFC5326] Ramadas, M., Burleigh, S., and S. Farrell, "Licklider
Transmission Protocol - Specification", RFC 5326,
September 2008.
[RFC5327] Farrell, S., Ramadas, M., and S. Burleigh, "Licklider
Transmission Protocol - Security Extensions", RFC 5327,
September 2008.
8.2. Informative References
[I-D.irtf-dtnrg-tcp-clayer]
Demmer, M. and J. Ott, "Delay Tolerant Networking TCP
Convergence Layer Protocol",
draft-irtf-dtnrg-tcp-clayer-02 (work in progress),
November 2008.
[Kent88] Kent, C. and J. Mogul, "Fragmentation considered
harmful.", 1988, <http://doi.acm.org/10.1145/55482.55524>.
Authors' Addresses
Hans Kruse
Ohio University
292 Lindley Hall
Athens, OH 45701
United States
Phone: +1 740 593 4891
Email: kruse@ohiou.edu
Shawn Ostermann
Ohio University
Stoecker Engineering Center
Athens, OH 45701
United States
Phone: +1 740 593 1566
Email: ostermann@eecs.ohiou.edu
Kruse & Ostermann Expires May 23, 2009 [Page 7]
Internet-Draft UDP Convergence Layers for DTN November 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
Kruse & Ostermann Expires May 23, 2009 [Page 8]
| PAFTECH AB 2003-2026 | 2026-04-24 08:52:08 |