Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ udp(7) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

read(2)

write(2)

bind(3N)

connect(3N)

recv(3N)

send(3N)

icmp(7)

inet(7)

ip(7)

tcp(7)



UDP(7)                 UNIX System V(Internet Utilities)                 UDP(7)


NAME
      UDP - Internet User Datagram Protocol

SYNOPSIS
      #include <sys/socket.h>
      #include <netinet/in.h>

      s = socket(AFINET, SOCKDGRAM, 0);

      t = topen("/dev/udp", ORDWR);

DESCRIPTION
      UDP is a simple datagram protocol which is layered directly above the
      Internet Protocol (IP).  Programs may access UDP using the socket
      interface, where it supports the SOCKDGRAM socket type, or using the
      Transport Level Interface (TLI), where it supports the connectionless
      (TCLTS) service type.

      Within the socket interface, UDP is normally used with the sendto(),
      sendmsg(), recvfrom(), and recvmsg() calls [see send(2) and recv(2)].  If
      the connect(2) call is used to fix the destination for future packets,
      then the recv(2) or read(2) and send(2) or write(2) calls may be used.

      UDP address formats are identical to those used by the Transmission
      Control Protocol (TCP).  Like TCP, UDP uses a port number along with an
      IP address to identify the endpoint of communication.  The UDP port
      number space is separate from the TCP port number space (that is, a UDP
      port may not be connected to a TCP port).  The bind(2) call can be used
      to set the local address and port number of a UDP socket.  The local IP
      address may be left unspecified in the bind() call by using the special
      value INADDRANY.  If the bind() call is not done, a local IP address and
      port number will be assigned to the endpoint when the first packet is
      sent.  Broadcast packets may be sent (assuming the underlying network
      supports this) by using a reserved broadcast address; This address is
      network interface dependent.  Broadcasts may only be sent by the
      privileged user.

      Options at the IP level may be used with UDP; see ip(7).

      There are a variety of ways that a UDP packet can be lost or corrupted,
      including a failure of the underlying communication mechanism.  UDP
      implements a checksum over the data portion of the packet.  If the
      checksum of a received packet is in error, the packet will be dropped
      with no indication given to the user.  A queue of received packets is
      provided for each UDP socket.  This queue has a limited capacity.
      Arriving datagrams which will not fit within its high-water capacity are
      silently discarded.

      UDP processes Internet Control Message Protocol (ICMP) error messages
      received in response to UDP packets it has sent.  See icmp(7).  ICMP
      source quench messages are ignored.  ICMP destination unreachable, time
      exceeded and parameter problem messages disconnect the socket from its


10/89                                                                    Page 1







UDP(7)                 UNIX System V(Internet Utilities)                 UDP(7)


      peer so that subsequent attempts to send packets using that socket will
      return an error.  UDP will not guarantee that packets are delivered in
      the order they were sent.  As well, duplicate packets may be generated in
      the communication process.

SEE ALSO
      read(2), write(2), bind(3N), connect(3N), recv(3N), send(3N), icmp(7),
      inet(7), ip(7), tcp(7)

      Postel, Jon, User Datagram Protocol, RFC 768, Network Information Center,
      SRI International, Menlo Park, Calif., August 1980

DIAGNOSTICS
      A socket operation may fail if:

      EISCONN             A connect() operation was attempted on a socket on
                          which a connect() operation had already been
                          performed, and the socket could not be successfully
                          disconnected before making the new connection.

      EISCONN             A sendto() or sendmsg() operation specifying an
                          address to which the message should be sent was
                          attempted on a socket on which a connect() operation
                          had already been performed.

      ENOTCONN            A send() or write() operation, or a sendto() or
                          sendmsg() operation not specifying an address to
                          which the message should be sent, was attempted on a
                          socket on which a connect() operation had not already
                          been performed.

      EADDRINUSE          A bind() operation was attempted on a socket with a
                          network address/port pair that has already been bound
                          to another socket.

      EADDRNOTAVAIL       A bind() operation was attempted on a socket with a
                          network address for which no network interface
                          exists.

      EINVAL              A sendmsg() operation with a non-NULL msgaccrights
                          was attempted.

      EACCES              A bind() operation was attempted with a reserved port
                          number and the effective user ID of the process was
                          not the privileged user.

      ENOBUFS             The system ran out of memory for internal data
                          structures.






Page 2                                                                    10/89







UDP(7)                 UNIX System V(Internet Utilities)                 UDP(7)
























































10/89                                                                    Page 3





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026