The functionality of UDP should sound familiar. It is a connectionless, unreliable
transport service. It does not issue an acknowledgment to the sender upon the receipt
of data. It does not provide order to the incoming packets, and may lose packets or
duplicate them without issuing an error message to the sender. This should sound like
the IP protocol. The only offering that UDP has is the assignment and management of
port numbers to uniquely identify the individual applications that run on a network
station and a checksum for simplex error detection. UDP tends to run faster than TCP,
for it has low overhead (8 bytes in its header compared to TCP’s typical 40 bytes). It is
used for applications that do not need a reliable transport. Some examples are network
management, name server, or applications that have built-in reliability.
Multiplexing and Demultiplexing
UDP accepts data from the application layer, formats it (UDP header) with its
information, and presents it to the IP layer for network delivery. UDP will also accept
data from the IP layer and, depending on the port value, present it to the appropriate
application. As shown in the slide, UDP is responsible for directing the rest of the packet
(after stripping off its headers) to the correct process according to the port number
assigned in the UDP header. This process is called demultiplexing. There are many
different types of port numbers to indicate any application running on the network
station. UDP reads the Destination Port field of the UDP header (demultiplex) and gives
the data to the application. When the application (identified by the port number)
initializes, the station’s operating system works in conjunction with it and provides a
buffer area in which information may be stored. UDP will place the data in this area for
retrieval by the application. UDP does provide one error mechanism for ports that are
not valid. It can generate an ICMP Port Unreachable message to be sent to the
originator of the packet.
UDP provides services like finer ,Application control control over what data is being sent , No connection establishment and state, small header overhead.
· Possible to have reliability in UDP if built in the application layer.
· Provdes error detection on an end to end basis which is based on the end-end principle which states that functions provided on lower levelsl may be redundant or uselelss when compared to the cost of providing them on a higher level.