Datagramm
# Datagramm

Ein Datagramm ist eine in sich geschlossene, unabhängige Dateneinheit, die ohne weitere Verbindungssicherung zwischen zwei Endpunkten (Peer-to-Peer) verschickt wird. Diese Dateneinheit enthält Informationen, die mittels eines Datagrammdienstes über ein Netzwerk transportiert werden sollen. Ein Datagramm zeichnet sich durch seinen geringen Protokoll-Overhead aus und enthält im Wesentlichen die Empfänger- und Absenderadresse sowie die Nutzdaten. Der Weg, den das Datagramm durch das Netzwerk nimmt, wird durch das Netzwerk bestimmt und ist unabhängig von einer vorher vorgenommenen Wegwahl.

## OSI-Modell (Schichtaufbau)

Die OSI-Terminologie unterscheidet Datagramme hinsichtlich der OSI-Schicht:

| OSI-Schicht | Datagrammbezeichnung |
| - | - |
| Schicht 1 (Bitübertragungsschicht) | Chip (Datenübertragung) |
| Schicht 2 (Sicherungsschicht) | Datenframe (802.3 und 802.11), Datenzelle (ATM) |
| Schicht 3 (Vermittlungsschicht) | Datenpaket |
| Schicht 4 (Transportschicht) | Datensegment |

Die Übertragung der Datagramme erfolgt durch einen Router mittels TCP nach dem Prinzip der Paketvermittlung. Ein Datagramm unterscheidet sich jedoch von einer auf der Paketvermittlung basierenden, netzübertragenden Dateneinheit dadurch, dass ein Datagramm mit Steuerinformationen im Header und evtl. mit fehlerprüfenden Maßnahmen im Trailer versehen ist.

## Nachteile

Datagramme müssen volle Absender- und Empfängeradressen beinhalten (Overhead). Von Anwendungsprogrammen wird üblicherweise verlangt, dass die Daten auch tatsächlich in der richtigen Reihenfolge ankommen. Die Einhaltung der Reihenfolge wird jedoch von einem Datagrammnetz nicht garantiert, weswegen es keine Garantie dafür gibt, dass das Datagramm beim Empfänger (korrekt) ankommt. Deswegen muss in den Endsystemen eine Sequenzkontrolle realisiert werden. Oft ist es nicht einmal gesichert, dass der Empfänger überhaupt tatsächlich existiert.

## Vorteile

Das Verfahren ist konzeptionell sehr einfach, weswegen dieses ohne großen Aufwand auf Mini- und Mikrocomputern realisiert werden kann. Datagramme können auch an mehrere Endpunkte gleichzeitig verschickt werden (Broadcast oder Multicast). Datagramme werden häufig bei Servern eingesetzt, die viele Clients bedienen. Der Overhead für das Verbindungsmanagement entfällt und kann auf fehlerarmen Übertragungsmedien (etwa in einem LAN) recht effizient auf Anwendungsebene stattfinden. Ebenso ist dieses Verfahren gegen Datenmissbrauch besser geschützt, da im Inneren des Netzes an jedem Punkt immer nur Teile der eigentlichen Kommunikation abgehört werden können.

Eine moderne Anwendung des Datagramms ist die SMS (Short Message) im Mobilfunk.

