Definition

Datagramm

Was ist ein Datagramm?

Ein Datagramm ist eine in sich geschlossene, unabhängige Einheit von Daten, die genügend Informationen enthält, um von der Quelle zum Zielcomputer weitergeleitet zu werden, ohne dass ein früherer Austausch zwischen diesem Quell- und Zielcomputer und dem transportierenden Netzwerk erforderlich ist. Diese Definition beschreibt ein fundamentales Konzept der modernen Netzwerkkommunikation und wird in technischen Spezifikationen wie RFC 768 (User Datagram Protocol) und RFC 791 (Internet Protocol) näher erläutert.

Grundlegende Eigenschaften und Funktionsweise

Datagramme bilden das Rückgrat der Internetkommunikation und sind besonders wichtig für die effiziente Datenübertragung in großen Netzwerken. Im Gegensatz zu verbindungsorientierten Kommunikationsmethoden benötigen sie keine vorherige Einrichtung eines Kommunikationskanals. Jedes Datagramm trägt alle notwendigen Informationen in sich, um seinen Weg durch das Netzwerk zu finden – vergleichbar mit einem Brief, der eine vollständige Adresse trägt und unabhängig von anderen Briefen zugestellt werden kann.

Diese Eigenständigkeit macht Datagramme besonders robust gegenüber Netzwerkstörungen. Fällt ein Teil des Netzwerks aus, können nachfolgende Datagramme alternative Routen nehmen. Diese Flexibilität war ein entscheidender Faktor bei der Entwicklung des Internets, das ursprünglich als ausfallsicheres Kommunikationsnetzwerk konzipiert wurde.

Verwendung in Kommunikationsprotokollen und praktische Anwendungen

Die Bezeichnung Datagramm findet sich in verschiedenen bekannten Kommunikationsprotokollen. Das User Datagram Protocol (UDP) ist das bekannteste Beispiel hierfür. UDP wird häufig für Anwendungen eingesetzt, bei denen Geschwindigkeit wichtiger ist als absolute Zuverlässigkeit – etwa bei Videostreaming, Online-Spielen oder Voice-over-IP-Diensten. Hier ist es oft akzeptabel, wenn gelegentlich ein Datagramm verloren geht, solange der Großteil der Daten schnell übertragen wird.

Auch das von Apple entwickelte AppleTalk-Protokoll nutzte in der Vergangenheit das Datagramm-Konzept, beispielsweise im Datagram Delivery Protocol (DDP), für die Netzwerkkommunikation. Diese historische Implementierung zeigt, dass das Prinzip der verbindungslosen Übertragung schon früh als flexibel und effizient erkannt wurde.

Im Internet Protocol (IP) selbst wird häufig der Begriff Paket verwendet. Technisch gesehen bezeichnet Paket eine allgemeine Transporteinheit, während Datagramm die verbindungslose Natur speziell betont. Im Kontext von IP entspricht ein IP-Datagramm somit einem verbindungslos übertragenen Paket. Diese Vielfalt an Begriffen und Implementierungen unterstreicht die Bedeutung des Datagramm-Konzepts für moderne Netzwerke.

Verbindungslose Kommunikation im Detail

Ein wesentliches Merkmal von Datagrammen ist ihre verbindungslose Natur. Im Gegensatz zu einer Telefonverbindung, bei der für die Dauer des Gesprächs eine dedizierte Verbindung besteht, gibt es bei der Datagramm-Kommunikation keine feste Verbindung zwischen Sender und Empfänger. Jedes Datagramm ist ein eigenständiges Element, das seinen Weg durch das Netzwerk findet.

Diese Eigenschaft bringt sowohl Vor- als auch Nachteile mit sich. Einerseits ermöglicht sie eine hohe Flexibilität und Effizienz bei der Netzwerknutzung, da keine Ressourcen für die Aufrechterhaltung von Verbindungen gebunden werden. Andererseits bedeutet sie auch, dass keine Garantien hinsichtlich der Zustellung, der Reihenfolge oder der Vermeidung von Duplikaten gegeben werden können. Diese Kompromisse sind bewusst gewählt und machen Datagramme für bestimmte Anwendungsfälle besonders geeignet.

Technische Struktur und Implementierung

Die technische Struktur eines Datagramms ist sorgfältig durchdacht. Typischerweise besteht es aus einem Header und einem Nutzlastbereich. Der Header enthält alle für die Zustellung notwendigen Informationen, wie die Quell- und Zieladresse, während die Nutzlast die eigentlichen, zu übertragenden Daten enthält.

Bei UDP beispielsweise umfasst der Header lediglich acht Bytes und enthält Informationen zu Quell- und Zielport, Länge des Datagramms und eine optionale Prüfsumme. Diese schlanke Struktur trägt zur Effizienz des Protokolls bei und minimiert den Overhead bei der Datenübertragung.

In Datagramm-Netzwerken werden Daten in Paketen variabler Größe transportiert, wobei jedes Paket eine Zieladresse enthält. Router und andere Netzwerkgeräte verwenden diese Adressen, um die Datagramme auf ihrem Weg durch das Netzwerk weiterzuleiten. Dieses dezentrale Routing-Konzept ist ein weiterer Schlüssel zur Robustheit des Internets.

Unterschied zu verbindungsorientierten Protokollen

Im Gegensatz zu datagrammbasierten Protokollen stehen verbindungsorientierte Protokolle wie das Transmission Control Protocol (TCP). TCP etabliert vor der eigentlichen Datenübertragung eine Verbindung zwischen Sender und Empfänger und hält diese für die Dauer der Kommunikation aufrecht. Dadurch wird eine zuverlässige Datenübertragung mit Garantien hinsichtlich Zustellung, Reihenfolge und Fehlererkennung ermöglicht.

UDP ist ein einfaches, schlankes Protokoll, das Datagramme ohne zusätzliche Garantien überträgt. TCP implementiert dagegen komplexe Mechanismen wie Flusskontrolle, Staukontrolle und automatische Wiederholung bei Übertragungsfehlern. Aufgrund dieser unterschiedlichen Ansätze sind die Protokolle für verschiedene Anwendungsfälle geeignet: UDP für latenzempfindliche Anwendungen und TCP für Anwendungen, bei denen Zuverlässigkeit im Vordergrund steht.

Fazit

Die Entscheidung zwischen datagrammbasierter und verbindungsorientierter Kommunikation ist somit keine Frage von besser oder schlechter, sondern eine Abwägung der verschiedenen Anforderungen und Prioritäten in der Netzwerkkommunikation. Aufgrund ihrer Einfachheit und Flexibilität bieten Datagramme eine effiziente Grundlage für viele moderne Netzwerkdienste und bleiben ein zentrales Konzept in der Internetarchitektur.

Erfahren Sie mehr über Unified Communications