IEN 88
User Datagram Protocol
Jonathan B. Postel
2 May 1979
Information Sciences Institute
University of Southern California
4676 Admiralty Way
Marina del Rey, California 90291
(213) 822-1511
IEN-88 J. Postel
ISI
2 May 1979
User Datagram Protocol
----------------------
Introduction
------------
This User Datagram Protocol is defined to make available a datagram mode
of packet-switched computer communication in the environment of an
interconnected set of computer networks. This protocol assumes that the
Internet Protocol (IN) [1] is used as the underlying protocol.
This protocol provides a procedure for application programs to send
messages to other programs with a minimum of protocol mechanism. The
messages delivery is unordered and unreliable. Applications requiring
ordered reliable delivery of streams of data should use the Transmission
Control Protocol (TCP) [2].
Format
------
0 15 16 31
+---------------+---------------+
! Source ! Destination !
! Port ! Port !
+---------------+---------------+
! ! !
! Length ! Checksum !
+---------------+---------------+
!
! data octets .....
+------------ ...
User Datagram Header Format
Fields
------
Source Port is an optional field, when meaningful, it indicates the port
of the sending process, and may be assumed to be the port to which a
reply should be addressed in the absence of any other information. If
not used, a value of zero is inserted.
Destination Port has a meaning within the context of a particular
internet destination address.
Postel [page 1]
2 May 1979
User Datagram Protocol IEN-88
Fields
Length is the length in octets of this user datagram including this
header and the data. (This means the minimum value of the length is
four.)
Checksum is the 16-bit one's complement of the one's complement sum of
the source address and destination address fields from the internet
header, the fields above, and the data, padded with zero octets at the
end to make a multiple of two octets.
If the computed checksum is zero, it is transmitted as all ones (the
equivalent in one's complement arithmetic). An all zero transmitted
checksum value means that the transmitter generated no checksum (for
debugging or for higher level protocols that don't care).
User Interface
--------------
A user interface should allow
the creation of new receive ports,
receive operations on the receive ports that return the data octets
and an indication of source port, if any,
and an operation that allows a datagram to be sent, specifying the
data and source port to be sent.
Protocol Application
--------------------
The major use of this protocol is the Internet Name Server [3].
Protocol Number
---------------
This is protocol 17 (21 octal) when used in the Internet Protocol.
Other protocol numbers are listed in [4].
[page 2] Postel
2 May 1979
IEN-88 User Datagram Protocol
References
References
----------
[1] Postel, J., "Internet Datagram Protocol -- Version 4," IEN-80,
USC-Information Sciences Institute, February 1979.
[2] Postel, J., "Transmission Control Protocol -- Version 4,"
IEN-81, USC-Information Sciences Institute, February 1979.
[3] Postel, J., "Internet Name Server," USC-Information Sciences
Institute, IEN-89, May 1979.
[4] Postel, J., "Assigned Numbers," USC-Information Sciences
Institute, RFC-755, IEN-93, May 1979.
Postel [page 3]