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
                                                              2 May 1979

                         User Datagram Protocol


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].


                    0            15 16           31
                   !   Source      !  Destination  !
                   !    Port       !     Port      !
                   !               !               !
                   !   Length      !    Checksum   !
                   !    data octets .....
                   +------------ ...

                      User Datagram Header Format


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

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

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


[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]