$linuxjunkies
>

datagram

also: UDP packet, connectionless packet

A datagram is a self-contained packet of data sent over a network without establishing a connection, typically using the UDP protocol. Each datagram is independent and may arrive out of order or be lost entirely.

A datagram is a fundamental unit of data transmitted across networks in a connectionless manner. Unlike connection-oriented protocols like TCP that establish a reliable channel, datagrams are sent individually with no guarantee of delivery, ordering, or integrity beyond basic checksums.

The most common datagram protocol is UDP (User Datagram Protocol), which prioritizes speed and low overhead over reliability. Each datagram contains a complete message with a header (source/destination ports, length, checksum) and payload, making it self-sufficient.

Datagrams are ideal for applications where speed matters more than perfection, such as DNS queries, online gaming, video streaming, and VoIP. For example, a DNS request is typically sent as a single UDP datagram, and if lost, the client simply retries—no connection setup needed.

You can observe datagrams with tools like tcpdump or wireshark, which show individual UDP packets arriving independently of one another.

Related terms