UDP(7) UDP(7)
NAME
UDP - Internet User Datagram Protocol
SYNOPSIS
udp
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 SOCK_DGRAM
socket type, or using the Transport Level Interface (TLI),
where it supports the connectionless (T_CLTS) service type.
Within the socket interface, UDP is normally used with the
sendto, sendmsg, recvfrom, and recvmsg calls [see send(3N) and
recv(3N)]. If the connect(3N) call is used to fix the
destination for future packets, then the recv(3N) or read(2)
and send(3N) 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(3N) 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 INADDR_ANY. 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).
As the RFC allows, 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.
Copyright 1994 Novell, Inc. Page 1
UDP(7) UDP(7)
As the RFC allows, 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 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.
REFERENCES
bind(3N), connect(3N), ICMP(7), inet(7), IP(7), read(2),
recv(3N), send(3N), TCP(7), write(2)
RFC 768
Copyright 1994 Novell, Inc. Page 2