UDP (User Datagram Protocol)
UDP --
like its cousin the Transmission Control Protocol (TCP) -- sits directly on top
of the base Internet Protocol (IP). In general, UDP implements a fairly
"lightweight" layer above the Internet Protocol. It seems at first
site that similar service is provided by both UDP and IP, namely transfer of
data.But we need UDP for multiplexing/demultiplexing of addresses.
UDP's
main purpose is to abstract network traffic in the form of datagrams. A
datagram comprises one single "unit" of binary data; the first eight
(8) bytes of a datagram contain the header information and the remaining bytes
contain the data itself.
UDP
Headers
The UDP
header consists of four (4) fields of two bytes each:
· source port number
· destination
port number
· datagram size
· checksum
UDP port
numbers allow different applications to maintain their own "channels"
for data; both UDP and TCP use this mechanism to support multiple applications
sending and receiving data concurrently. The sending application (that could be
a client or a server) sends UDP datagrams through the source port, and the
recipient of the packet accepts this datagram through the destination port.
Some applications use static port numbers that are reserved for or registered
to the application. Other applications use dynamic (unregistered) port numbers.
Because the UDP port headers are two bytes long, valid port numbers range from
0 to 65535; by convention, values above 49151 represent dynamic ports.
The
datagram size is a simple count of the number of bytes contained in the header
and data sections . Because the header length is a fixed size, this field
essentially refers to the length of the variable-sized data portion (sometimes
called the payload). The maximum size of a datagram varies depending on the
operating environment. With a two-byte size field, the theoretical maximum size
is 65535 bytes. However, some implementations of UDP restrict the datagram to a
smaller number -- sometimes as low as 8192 bytes.
UDP
checksums work as a safety feature. The checksum value represents an encoding
of the datagram data that is calculated first by the sender and later by the
receiver. Should an individual datagram be tampered with (due to a hacker) or
get corrupted during transmission (due to line noise, for example), the
calculations of the sender and receiver will not match, and the UDP protocol
will detect this error. The algorithm is not fool-proof, but it is effective in
many cases. In UDP, check summing is optional -- turning it off squeezes a
little extra performance from the system -- as opposed to TCP where checksums
are mandatory. It should be remembered that check summing is optional only for
the sender, not the receiver. If the sender has used checksum then it is
mandatory for the receiver to do so.
Usage of
the Checksum in UDP is optional. In case the sender does not use it, it sets
the checksum field to all 0's. Now if the sender computes the checksum then the
recipient must
also compute
the checksum an set the field accordingly. If the checksum is calculated and
turns out to be all 1's then the sender sends all 1's instead of all 0's. This
is since in the algorithm for checksum computation used by UDP, a checksum of
all 1's if equivalent to a checksum of all 0's. Now the checksum field is
unambiguous for the recipient, if it is all 0's then checksum has not been
used, in any other case the checksum has to be computed.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2026 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.