User Datagram Protocol

[1][2] UDP provides checksums for data integrity, and port numbers for addressing different functions at the source and destination of the datagram.

It has no handshaking dialogues and thus exposes the user's program to any unreliability of the underlying network; there is no guarantee of delivery, ordering, or duplicate protection.

UDP is a simple message-oriented transport layer protocol that is documented in RFC 768.

An application binds a socket to its endpoint of data transmission, which is a combination of an IP address and a port.

These may also be used as ephemeral ports, which software running on the host may use to dynamically create communications endpoints as needed.

[11] Finally, the sum is then ones' complemented to yield the value of the UDP checksum field.

[7] In this case, any specific processing is not required at the receiver, because all 0s and all 1s are equal to zero in 1's complement arithmetic.

As IPv6 has larger addresses and a different header layout, the method used to compute the checksum is changed accordingly:[10]: §8.1 Any transport or other upper-layer protocol that includes the addresses from the IP header in its checksum computation must be modified for use over IPv6, to include the 128-bit IPv6 addresses instead of 32-bit IPv4 addresses.When computing the checksum, again a pseudo header is used that mimics the real IPv6 header: The checksum is computed over the following fields: Lacking reliability, UDP applications may encounter some packet loss, reordering, errors or duplication.

If using UDP, the end-user applications must provide any necessary handshaking such as real-time confirmation that the message has been received.

Streaming media, real-time multiplayer games and voice over IP (VoIP) are examples of applications that often use UDP.

[14] Some VPN systems such as OpenVPN may use UDP and perform error checking at the application level while implementing reliable connections.

HTTP/3 uses QUIC as opposed to earlier versions of HTTPS which use a combination of TCP and TLS to ensure reliability and security respectively.

Communication is achieved by transmitting information in one direction from source to destination without verifying the readiness or state of the receiver.