Protokollstapel
Ein Protokollstapel oder Protokollturm (vom englischen protocol stack, auch Protokollstack, Netzwerkstack oder Netzwerkstapel genannt) ist in der Datenübertragung eine konzeptuelle Architektur von Kommunikationsprotokollen. Anschaulich sind die einzelnen Protokolle dabei als fortlaufend nummerierte Schichten (layers) eines Stapels (stacks) übereinander angeordnet. Jede Schicht benutzt dabei zur Erfüllung ihrer speziellen Aufgabe die jeweils tiefere Schicht im Protokollstapel, indem sie diese über deren Service Access Point anspricht.
Daten, die über ein Netz übertragen werden, werden von einem Netzwerkprotokoll des Stapels nach dem anderen verarbeitet. Beim Senden fügt jedes Protokoll den Daten bestimmte Steuerinformationen hinzu, bevor sie dem nächsttieferen Netzwerkprotokoll übergeben werden – eine Nachricht trägt also auf der Leitung sämtliche Header der darüberliegenden Schichten. Eine HTTP-Nachricht, die via Ethernet versandt wird, lässt sich wie folgt veranschaulichen (detailliertere Darstellung unter Datenframe #Der Datenframe bei Ethernet (IEEE 802.3)):
HTTP-Nachricht | |||||||||
TCP-Segment | |||||||||
IP-Paket | |||||||||
Ethernet-Frame |
Beim Empfang entfernt jedes Netzwerkprotokoll aus den Daten wieder diejenigen Steuerinformationen, die nur für dieses Protokoll selbst bestimmt sind, und übergibt die verbliebenen Daten dem nächsthöheren Netzwerkprotokoll.
Beispiel Ethernet
Untergliedert man die Funktionen einer Protokollschicht in einzelne Abläufe, die unabhängig voneinander und nacheinander ablaufen, so kann man sie in Teilschichten aufteilen.
Die Abbildung zeigt als Beispiel für einen Protokollstapel auf der rechten Seite die Teilschichten von Ethernet. Als Referenz dazu ist links das OSI-Modell abgebildet. Während Ethernet nur Funktionen besitzt, die im OSI-Modell der Schicht 1 (Physical Layer) und der Schicht 2 (Data Link Layer) zugeordnet sind, werden diese beiden Schichten bei genauer Betrachtung beim Ethernet-Protokollstapel in 7 Teilschichten aufgelöst.
Dieses Beispiel zeigt einen Protokollstapel, der beim gegenwärtigen Stand der Technik, der Übertragungsgeschwindigkeiten von 100 Mbit/s und mehr erlaubt, vollständig in einem Integrierten Schaltkreis (IC), also in Hardware, realisiert wird. Verfahren wie ATM sind für noch wesentlich höhere Übertragungsgeschwindigkeiten entworfen: Bei ihnen wird auch die Vermittlungsschicht (Schicht 3) in Hardware realisiert.
Das Beispiel zeigt außerdem zwei Schnittstellen zwischen den Protokollschichten:
- das Media Independent Interface MII
- das Media Dependent Interface MDI.
Die Aufteilung der Teilschichten von Ethernet wurde so gewählt, dass die Schichten oberhalb des MII unabhängig vom Übertragungsmedium sind, also unabhängig davon, ob Ethernet z. B. über ein Koaxialkabel oder einen Lichtwellenleiter übertragen wird. Damit wurde es möglich, ICs mit einer standardisierten Schnittstelle MII herzustellen, die für unterschiedliche Übertragungsmedien geeignet sind und deswegen kostengünstig in höherer Stückzahl produziert werden können.
Beispiel AmiTCP