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.