UDP
In short: User Datagram Protocol — a connectionless transport protocol without any guarantee of order or delivery, but with minimal overhead and low latency.
In more detail: Unlike TCP, UDP doesn’t establish a connection and doesn’t repeat lost packets — it simply sends datagrams “fire and forget”. This makes it ideal for applications where a single lost packet is no drama, but speed is decisive: streaming, VoIP, online gaming, DNS queries.
In Depth
UDP is deliberately called “connectionless” because it performs NO handshake before transmission — each datagram is simply sent off directly, without sender and recipient making any arrangement beforehand. There’s no guarantee that a packet arrives, no guarantee that several packets arrive in the order they were sent, and no automatic retransmission on loss — UDP deliberately doesn’t pay the cost of all the safeguards TCP offers.
Doing without reliability isn’t a bug in UDP but deliberate design: in real-time applications such as VoIP or video streaming, a single lost packet is usually just a brief picture glitch or a crackle — a TCP-style retransmission of the lost packet, on the other hand, would cause a noticeable delay, because all subsequent packets that had already arrived would have to wait for the redelivery. Some UDP-based applications therefore build their own lightweight reliability mechanisms directly into the application layer instead of relying on TCP (e.g. QUIC, which underlies HTTP/3, combines UDP with its own, more fine-grained reliability logic).
See also: TCP, Connectionless protocol, UDP header