User Datagram Protocol (UDP) is a connectionless and unreliable
transport layer protocol. UDP adds only application multiplexing and optional
data checksumming on top of an IP datagram.
The UDP header consists of only 4 header fields of which two are optional.
The source and destination port fields are 16-bit fields that identify
the sending and receiving process. The port fields are followed by length
field specified as numer of bytes of the UDP datagram including the data.
The remaining header field is a optional 16-bit checksum field covering
the header and data.
Lacking reliability, UDP applications must generally be willing to accept
some loss, errors or duplication. Since no sequence numer is included
in the UDP header packet loss, duplicates and the right packet ordering
can not be recognized in UDP.