EMZETT.
Login

Connectionless Protocol

In short: A protocol that sends data without first establishing a connection — each packet is handled independently, without any guarantee of order or delivery.

In more detail: UDP is the best-known example: it simply sends datagrams off, without first establishing a connection via a three-way handshake as TCP does. This saves overhead and time, but shifts responsibility for reliability (if needed) to the application itself.

In Depth

The opposite pole is a connection-oriented protocol such as TCP, which explicitly establishes a connection with a defined state before every data transfer (see three-way handshake) — both sides “know” throughout the entire communication that they’re currently connected to each other, and the connection state is actively managed (sequence numbers, acknowledgements, timeout detection). A connectionless protocol doesn’t know this state: every packet is handled completely independently on its own, without knowledge of previous or subsequent packets.

This statelessness has an important practical advantage: a server doesn’t have to keep resources for open connections, which makes it more robust against certain overload scenarios and simplifies scaling (in principle each request can be answered by a different server, without connection state having to be synchronised). The drawback: if a packet is lost, nobody notices by themselves — applications that need reliability have to rebuild it themselves at a higher level (e.g. implement their own acknowledgements and retransmission logic), instead of being able to rely on it as with TCP.

See also: UDP, TCP