User Datagram Protocol (UDP) is a communications protocol that is primarily used to establish low-latency and loss-tolerating connections between applications on the internet.
UDP speeds up transmissions by enabling the transfer of data before an agreement is provided by the receiving party. As a result, UDP is beneficial in time-sensitive communications, including voice over IP (VoIP), domain name system (DNS) lookup, and video or audio playback.
UDP is an alternative to the Transmission Control Protocol (TCP). Both UDP and TCP run on top of IP and are sometimes referred to as UDP/IP or TCP/IP. However, there are important differences between the two. For example, UDP enables process-to-process communication, while TCP supports host-to-host communication.
TCP sends individual packets and is considered a reliable transport medium. On the other hand, UDP sends messages, called datagrams, and is considered a best-effort mode of communication. This means UDP doesn’t provide any guarantees that the data will be delivered or offer special features to retransmit lost or corrupted messages.
UDP provides two services not provided by the IP layer. It provides port numbers to help distinguish different user requests. It also provides an optional checksum capability to verify that the data arrived intact.