UDP is a stateless (that is, connectionless) and unreliable transport delivery protocol. A program sends a UDP datagram which may or may not be received or responded to. No acknowledgement of receipt is returned. No flow control is provided, so a UDP datagram is silently dropped if it cant be processed along the way.
A UDP packet header contains the source and destination service port numbers.
UDP is referred to as an unreliable datagram service. Unreliable doesnt carry any negative connotations as to UDPs usability. Unreliable in this case means that no effort is made to insure proper delivery. As a result, without the reliable, connection-oriented overhead of TCP, UDP-based data transfer is several times faster than TCP-based data transfer. Consequently, UDP lends itself well to simple query and response types of communication.