UDP provides connectionless, but unreliable datagram transport services. Connectionless means that a communication session between hosts is not established before exchanging data. The UDP connectionless datagram delivery service is unreliable because it does not guarantee data packet delivery and no notification is sent if a packet is not delivered. Also, UDP does not guarantee that packets are delivered in the same order in which they were sent.
Although UDP appears to have some limitations, it is useful in certain situations. For example, Winsock IP multicasting is implemented with UDP datagram type sockets. UDP is very efficient because of low overhead. Unreliability can be overcome by building error handling into the application. For more information about IP multicasting, see Creating an IP Multicast Application.