Datagram Delivery Protocol
# Datagram Delivery Protocol

Datagram Delivery Protocol (DDP) ist ein Begriff aus der Informatik.

Das Datagram Delivery Protocol ist das Datenübertragungsprotokoll innerhalb von AppleTalk. Das DDP ist vergleichbar mit dem Internet Protocol (IP).

Name Binding Protocol (NBP), Routing Table Maintenance Protocol und Zone Information Protocol (ZIP) nutzen DDP (Datagram Delivery Protocol).

Das Protokoll gehört zur Vermittlungsschicht.

## Adressierung

DDP-Adressen bestehen aus einer 2-Byte Netzwerknummer (also im Bereich 0…65535) und einer 1-Byte Knoten-ID (also im Bereich von 0…255). Die Adressierung der einzelnen Knoten wird komplett dynamisch ausgehandelt. Ein im lokalen Netzwerksegment vorhandener Router dient dabei als Vergabeeinheit für die Netzwerknummer(n).

In der ersten Version der AppleTalk Protokollfamilie konnte ein Segment exakt eine Netzwerknummer zugeteilt erhalten, wenn ein Router vorhanden war; bzw. die Nummer 0 ohne Router. Die Adressierung wurde also lediglich durch die Knoten-ID ermöglicht. Die IDs 0 und 255 haben spezielle Bedeutungen, sodass in einem Netzwerksegment 254 Knoten adressierbar waren. Diesen Modus bezeichnet man als Phase1 bzw. nonextended Netzwerk. Eine weitere Limitierung war, dass pro Netzwerksegment lediglich eine Zone zugewiesen werden konnte.

Diese Limitierungen bedeuteten auf dem ursprünglich als einzigem Übertragungsmedium gedachten LocalTalk keine wesentliche Einschränkung, da ein Betrieb mit mehr als 32 Knoten durch die zunehmenden Datenkollisionen keinen brauchbaren Datendurchsatz mehr ermöglicht.

Um diese Limitierungen zu umgehen, wurde AppleTalk Phase2 geschaffen. Hier ist pro Segment ein ganzer Bereich von Netzwerknummern zuteilbar (Cable-Range). Die Knoten-IDs 0, 254 und 255 sind reserviert, daher ergibt sich die maximale Knotenanzahl pro Segment aus der Anzahl der zugewiesenen Netzwerknummern multipliziert mit 253. In Phase2-Netzwerken können pro Netzwerksegment mehrere Zonen definiert werden. Zonen können auch über Segmentgrenzen gleiche Namen aufweisen.

## Pakettypen

DDP kennt zwei Pakettypen:

* Short-Header, für die Kommunikation in nonextended, Phase1 Netzwerken (5-Byte Header, 587 Bytes Nutzdaten),
* Extended-Header für die Kommunikation in extended, Phase2 Netzwerken (13-Byte Header, 587 Bytes Nutzdaten).

Optional können auch in nonextended-Netzwerken extended-Header benutzt werden.

## Der AppleTalk-Protokollstapel

Die AppleTalk-Protokolle lassen sich in mehrere Schichten einteilen, die einen Protokollstapel (protocol stack) bilden. Die Protokolle lassen sich wie folgt in das ISO-OSI-Referenzmodell einordnen:

| OSI-Schicht | AppleTalk Protokollstapel | AppleTalk Protokollstapel | AppleTalk Protokollstapel | AppleTalk Protokollstapel | AppleTalk Protokollstapel | AppleTalk Protokollstapel | AppleTalk Protokollstapel |
| - | - | - | - | - | - | - | - |
| 7 | | | AFP | PAP | | |
| 6 | | | AFP | PAP | | | |
| 5 | ZIP | ZIP | ASP | | | ADSP | |
| 4 | | ATP | ATP | AEP | NBP | | RTMP |
| 3 | DDP | DDP | DDP | DDP | DDP | DDP | DDP |
| 2 | | LLAP | ELAP | TLAP | FDDI | ←AARP | |
| 1 | | LocalTalk | Ethernet Treiber | Token Ring Treiber | FDDI Treiber | |
