# DoD-Schichtenmodell

Das DoD Internet Architecture Model ist eine Schichtenarchitektur für Netzwerkprotokolle.
In diesem Modell werden die einzelnen Aufgaben bei der Datenübertragung in aufeinander aufbauende Schichten eingeteilt (siehe auch TCP/IP-Referenzmodell). Für jede Schicht gibt es eine Reihe von Protokollen (siehe Internetprotokollfamilie), die die Aufgaben der jeweiligen Schicht auf unterschiedliche Weise lösen. Das Modell wurde Ende der 1960er Jahre von der DARPA für das Verteidigungsministerium der Vereinigten Staaten (Department of Defense, kurz: DoD) entwickelt und bestand zunächst aus vier Schichten. Dabei ging es um eine rein militärische Anwendung im Zusammenhang mit der Entwicklung des ARPANET, das durch eine dezentrale Struktur vor Ausfällen geschützt sein sollte.
| Nr. | Schicht | Beispiele |
| 4 | Process | Telnet, SMTP, FTP |
| 3 | Host-to-Host | TCP, UDP |
| 2 | Internet | IP, IPX |
| 1 | Network Access | Ethernet, Token Ring, V.24 |

## Schichten
### Network-Access-Schicht

In der Network-Access-Schicht wird das Problem der Datenübertragung zwischen Rechnern und Prozessen auf der physischen Ebene gelöst. Hierbei ist von Bedeutung, welches Übertragungsmedium (Kupferkabel, Funknetz usw.), welcher Leitungscode (RZ-Code, NRZ-Code, AMI-Code usw.) und welches Zugriffsprotokoll (z. B. Ethernet, V.24) verwendet wird. Mit Hilfe einer Adresse wird dabei angegeben, welcher Rechner oder Prozess das Datenpaket erhalten soll.

### Internet-Schicht

Die Protokolle der Internet-Schicht ermöglichen eine netzwerkweite Adressierung unabhängig z. B. vom Übertragungsmedium. Jedem Rechner bzw. jeder Netzwerkkarte wird eine Netzwerkadresse zugewiesen. Anders als die Adresse der Network-Access-Schicht wird diese Adresse nach logischen Gesichtspunkten vergeben und ermöglicht so, dass große Netzwerke verwaltet werden können. Es ist vergleichbar mit Telefonnummern, zu der eine Vorwahl gehört und damit verhindert, dass eine Vermittlungsanlage alle Telefonnummern der Welt kennen muss. Damit ist es möglich, Datenpakete über mehrere Netzwerke zu senden. Meistverbreitetes Protokoll dieser Schicht ist das Internet Protocol.

### Host-to-Host-Schicht

Die Protokolle der Host-to-Host-Schicht ermöglichen den Transport der Daten zwischen zwei Prozessen auf den verschiedenen Rechnern (Ende-zu-Ende-Verbindung). Das ist notwendig, da es nicht ausreicht, die Daten zum Zielrechner zu transportieren, sondern es muss auch angegeben werden, welches der dort laufenden Programme, die auf Daten vom Netz warten, das jeweilige Paket erhalten soll. Es gibt hier verschiedene Ansätze der Informationsübertragung:
* Bei einer verbindungslosen Übertragung wird in dieser Schicht nicht kontrolliert, ob das Paket auch ankommt. Die Kontrolle muss in der Process-Schicht erfolgen. Vergleichbar ist das mit dem Versenden eines Briefes in der realen Welt.
* Bei einer bestätigten, verbindungslosen Übertragung ist eine Bestätigungsmeldung vorgesehen, um den Empfang des Paketes dem Sender zu melden. Das entspricht dem Senden eines Einschreibens mit Rückschein.
* Bei einer verbindungsorientierten Übertragung wird vor der Übertragung eine logische Verbindung aufgebaut und aufrechterhalten. Selbst wenn keine Daten übertragen werden, werden Kontrollinformationen zwischen den Rechnern ausgetauscht. Dieses Verfahren ermöglicht eine Kontrolle der Paketreihenfolge und eine Datenflusskontrolle.
Im Internet stehen dafür die zwei Protokolle TCP und UDP zur Verfügung. Bei TCP handelt es sich um ein verbindungsorientiertes Protokoll. Es ermöglicht eine zuverlässige Übertragung der Daten. Dies bedeutet allerdings auch eine Vielzahl an zusätzlichen Informationen, die neben der eigentlichen Nachricht übertragen werden. Das UDP dagegen ist ein verbindungsloses Protokoll. Durch den geringeren Verwaltungsaufwand wird die Netzwerkbelastung bei diesem Protokoll geringer gehalten, und es kann ein höherer Datendurchsatz erreicht werden. Dafür erkennt UDP nicht selbständig den Verlust von Paketen, und es besteht die Gefahr, dass die versendeten Nachrichten in anderer Reihenfolge ankommen, als sie abgesendet wurden.

### Process-Schicht

Die Protokolle der Process-Schicht definieren den Aufbau der eigentlichen Nachricht. Hier werden die tatsächlichen Nutzdaten entsprechend dem jeweils gewählten Protokoll abgelegt. Die bekanntesten dienen zum Übertragen von E-Mails (SMTP), Internetseiten (HTTP) oder Dateien (FTP). Für jede Information, die übertragen werden muss, ist hier deren exakte Position in der Botschaft und deren genauer Aufbau festgelegt.

## Paketaufbau

Jede Ebene des Schichtenmodells fügt beim Versenden der Daten Informationen als Paketheader hinzu, die beim Empfänger auf der gleichen Ebene ausgewertet werden. Man kann sich das wie einen großen Briefumschlag vorstellen, in dem ein etwas kleinerer Briefumschlag steckt und in diesem wiederum ein ganz kleiner Briefumschlag, der letztlich erst das Blatt mit der eigentlichen Information enthält. Auf jedem Umschlag stehen dabei die Informationen, die in der jeweiligen Schicht benötigt werden:
| Daten der Network-Access-Schicht | Daten der Internet-Schicht Daten der Host-to-Host-Schicht Daten der Process-Schicht |

## Das OSI-Schichtenmodell

Einige Jahre nach dem DoD-Modell wurde das OSI-Modell von der Internationalen Organisation für Normung (ISO) entwickelt. Der Aufbau ist ähnlich dem des DoD-Modells, allerdings auf sieben statt nur auf vier Schichten verteilt. Obwohl das DoD-Modell seine Tauglichkeit in der Praxis bewiesen hatte, erwogen die großen Computerfirmen, das OSI-Modell für ihre eigenen Übertragungsprotokolle zu nutzen. Seit 1988 unterstützte selbst die US-Regierung das neue Modell. So setzte sich das OSI-Modell letztendlich durch. Dennoch wird das DoD-Modell häufig noch dazu verwendet, um Kommunikationsabläufe im Internet zu beschreiben. Dazu ist es nötig, einige Schichten des OSI-Modells zusammenzufassen:
| OSI-Schicht | OSI-Schicht | Einordnung | TCP/IP-Referenzmodell | Einordnung | Protokollbeispiele | Einheiten | Kopplungselemente |
| 7 | Anwendung (Application) | Anwendungs- orientiert | Anwendung | Ende zu Ende (Multihop) | DHCP DNS FTP HTTP HTTPS LDAP MQTT NCP RTP SMTP XMPP | Daten | Gateway, Content-Switch, Proxy, Layer-4-7-Switch |
| 6 | Darstellung (Presentation) | Anwendungs- orientiert | Anwendung | Ende zu Ende (Multihop) | DHCP DNS FTP HTTP HTTPS LDAP MQTT NCP RTP SMTP XMPP | Daten | Gateway, Content-Switch, Proxy, Layer-4-7-Switch |
| 5 | Sitzung (Session) | Anwendungs- orientiert | Anwendung | Ende zu Ende (Multihop) | DHCP DNS FTP HTTP HTTPS LDAP MQTT NCP RTP SMTP XMPP | Daten | Gateway, Content-Switch, Proxy, Layer-4-7-Switch |
| 4 | Transport (Transport) | Transport- orientiert | Transport | Ende zu Ende (Multihop) | TCP UDP SCTP SPX | TCP = Segmente UDP = Datagramme | Gateway, Content-Switch, Proxy, Layer-4-7-Switch |
| 3 | Vermittlung-/Paket (Network) | Transport- orientiert | Internet | Ende zu Ende (Multihop) | ICMP IGMP IP IPsec IPX | Pakete | Router, Layer-3-Switch |
| 2 | Sicherung (Data Link) | Transport- orientiert | Netzzugriff | Punkt zu Punkt | IEEE 802.3 Ethernet IEEE 802.11 WLAN TLAP FDDI MAC Token Ring ARCNET | Rahmen (Frames) | Bridge, Layer-2-Switch, Wireless Access Point |
| 1 | Bitübertragung (Physical) | Transport- orientiert | Netzzugriff | Punkt zu Punkt | 1000BASE-T Token Ring ARCNET | Bits, Symbole | Netzwerkkabel, Repeater, Hub, Antenne, Äther |