Weblog
Der Begriff Datagramm
23.08.2025 3 Min. Lesezeit
Datagramm bedeutet immer UDP!
Leider höre ich solche Aussagen deutlich zu häufig.
Ein Datagramm ist ein grundlegendes Konzept in der Netzwerktechnik, das oft fälschlicherweise ausschließlich mit dem User Datagram Protocol (UDP) assoziiert wird. Tatsächlich ist ein Datagramm jedoch ein protokollunabhängiger Oberbegriff für eine bestimmte Art der Datenübertragung. Um das zu verstehen, schauen wir uns zunächst die Eigenschaften eines Datagramms an, dann die verschiedenen Formen und Protokolle, die Datagramme verwenden, und schließlich, warum UDP nur eine von mehreren Umsetzungen ist.
Was ist ein Datagramm?
Ein Datagramm ist eine eigenständige, in sich geschlossene Nachrichteneinheit, die ohne vorherige Verbindung zwischen Sender und Empfänger über ein Netzwerk übertragen wird. Es ist vergleichbar mit einer Postkarte: Sie enthält alle Informationen, die für die Zustellung notwendig sind (z. B. Absender, Empfänger, Inhalt), wird unabhängig von anderen Karten verschickt und kann auf dem Weg verloren gehen oder in anderer Reihenfolge ankommen.
Typische Merkmale eines Datagramms:
- Verbindungslose Kommunikation: Es wird keine Sitzung oder Verbindung aufgebaut.
- Unzuverlässigkeit: Es gibt keine Garantie für Zustellung, Reihenfolge oder Duplikatfreiheit.
- Eigenständigkeit: Jedes Datagramm enthält alle Informationen, die für die Zustellung notwendig sind.
- Routing-Flexibilität: Jedes Datagramm kann einen anderen Weg durch das Netzwerk nehmen.
Beispiele für Datagramm-basierte Protokolle
IP (Internet Protocol)
Das bekannteste Beispiel für ein Datagramm-Protokoll ist IP, insbesondere IPv4 und IPv6.
- IP-Datagramm: Das grundlegende Transportformat im Internet. Es enthält Header-Felder wie Quell- und Zieladresse, TTL (Time to Live), Fragmentierungsinformationen etc.
- Beispiel: Wenn ein Computer eine Webseite aufruft, wird die HTTP-Anfrage in TCP-Segmente verpackt, diese wiederum in IP-Datagramme. Auch wenn TCP verbindungsorientiert ist, erfolgt der Transport auf IP-Ebene über Datagramme.
UDP (User Datagram Protocol)
UDP ist ein Transportprotokoll, das direkt auf IP aufsetzt und Datagramme verwendet.
- UDP-Datagramm: Besteht aus einem UDP-Header (mit Portnummern, Länge, Prüfsumme) und einem Payload.
- Beispiel: Beim Streaming von Audio oder Video (z. B. bei VoIP) werden Sprachpakete als UDP-Datagramme verschickt, da geringe Latenz wichtiger ist als perfekte Zuverlässigkeit.
CLNP (Connectionless Network Protocol)
Ein weniger bekanntes Beispiel aus der OSI-Welt ist CLNP, das ebenfalls Datagramme verwendet.
- CLNP-Datagramm: Wird in Netzwerken verwendet, die auf dem OSI-Modell basieren, z. B. in bestimmten Telekommunikationsnetzen.
X.25 (im Datagramm-Modus)
Obwohl X.25 primär verbindungsorientiert ist, unterstützt es auch einen Datagramm-Modus, bei dem Pakete unabhängig voneinander übertragen werden.
Warum ist ein Datagramm kein „UDP-Ding“?
Die Verwechslung von „Datagramm“ mit „UDP“ ist verständlich, aber technisch falsch. UDP ist lediglich ein Transportprotokoll, das Datagramme als Übertragungsform nutzt. Das Konzept des Datagramms ist jedoch viel älter und breiter gefasst:
- IP-Datagramme existieren unabhängig von UDP oder TCP.
- Andere Protokolle wie CLNP oder X.25 nutzen ebenfalls Datagramme.
- UDP ist ein Nutzer von Datagrammen, nicht deren Definition.
Zusammenfassung
| Aspekt | Datagramm | UDP |
|---|---|---|
| Definition | Eigenständige Nachrichteneinheit ohne Verbindungsaufbau | Transportprotokoll auf IP-Basis |
| Verbindungsart | Verbindungsfrei | Verbindungsfrei |
| Zuverlässigkeit | Keine Garantie | Keine Garantie |
| Beispiele | IP, CLNP, X.25 (Datagramm-Modus) | VoIP, DNS, SNMP |
| Rolle | Übertragungsform | Protokoll, das diese Form nutzt |
Ein Datagramm ist ein grundlegendes Kommunikationskonzept, das in vielen Protokollen Anwendung findet. UDP ist nur eine konkrete Implementierung, die dieses Konzept nutzt. Wer Netzwerke verstehen will, sollte Datagramme als abstrakte, protokollunabhängige Einheit begreifen - ähnlich wie man „Brief“ nicht mit „DHL“ gleichsetzt.