Netzwerkprotokoll
Ein Netzwerkprotokoll (auch Netzprotokoll) ist ein Kommunikationsprotokoll für den Austausch von Daten zwischen Computern bzw. Prozessen, die in einem Rechnernetz miteinander verbunden sind (verteiltes System). Die Vereinbarung besteht aus einem Satz von Regeln und Formaten (Syntax), die das Kommunikationsverhalten der kommunizierenden Instanzen in den Computern bestimmen (Semantik).
Der Austausch von Nachrichten erfordert häufig ein Zusammenspiel verschiedener Protokolle, die unterschiedliche Aufgaben übernehmen (beispielsweise Internetprotokollfamilie). Um die damit verbundene Komplexität beherrschen zu können, werden die einzelnen Protokolle in Schichten organisiert. Im Rahmen einer solchen Architektur gehört jedes Protokoll einer bestimmten Schicht an und ist für die Erledigung der speziellen Aufgaben zuständig (beispielsweise Überprüfen der Daten auf Vollständigkeit – Schicht 2). Protokolle höherer Schichten verwenden Dienste von Protokollen tieferer Schichten (Schicht 3 verlässt sich z. B. darauf, dass die Daten vollständig angekommen sind). Zusammen bilden die so strukturierten Protokolle einen Protokollstapel – in Anlehnung an das ISO-OSI-Referenzmodell (siehe auch DoD-Schichtenmodell). Nachrichten einer bestimmten Schicht werden auch als Protokolldateneinheiten (protocol data units) bezeichnet.
Der typische Aufbau eines Protokolls
Der in einem Protokoll beschriebene Aufbau eines Datenpakets enthält für den Datenaustausch wichtige Informationen über das Paket wie beispielsweise:
* dessen Absender und Empfänger* den Typ des Pakets (z. B. Verbindungsaufbau, Verbindungsabbau oder reine Nutzdaten)
* die Paketlänge
* eine Prüfsumme
Diese Informationen werden den Nutzdaten als Header vorangestellt oder als Trailer angehängt.
Außerdem werden in manchen Protokollen feste Paketsequenzen für den Verbindungsaufbau und -abbau beschrieben. Diese Maßnahmen verursachen weiteren Datenverkehr (Traffic) auf den Datenleitungen – den sog. Overhead. Dieser Overhead ist unerwünscht, weil er die Kapazität belastet, wird aber aufgrund der wichtigen Aufgaben, die Protokolle leisten, in der Regel in Kauf genommen. Mit User Datagram Protocol (UDP) steht in der Transportschicht auch ein Protokoll mit nur minimalem Overhead zur Verfügung, das keine Ende-zu-Ende-Kontrolle der Übertragung gewährleistet.
Im Gegensatz dazu wird beim Transmission Control Protocol (TCP) die Prüfsumme zum Test herangezogen um das Datenpaket auf Vollständigkeit zu überprüfen. Entspricht die Prüfsumme nicht den Erwartungen des Prüfalgorithmus, wird das Datenpaket verworfen und neu bei der sendenden Stelle angefordert.
Unterscheidungsmerkmale von Netzprotokollen
* Die Anzahl von Parteien, die an der Kommunikation teilnehmen: Gibt es für eine Übermittlung immer nur einen Empfänger, spricht man von Unicast, bei Übertragungen an mehrere Teilnehmer von Multicast. Wird das Paket an alle gesandt, so ist es ein Broadcast.
* Findet die Kommunikation nur in eine Richtung statt, spricht man von Simplex, fließen die Daten wechselweise in beide Richtungen, von Halbduplex oder gleichzeitig in beide Richtungen, von Vollduplex.
* Stellung der Kommunikationsteilnehmer: Sind diese untereinander gleichberechtigt, spricht man von Peer-to-Peer oder symmetrischer, anderenfalls von asymmetrischer Kommunikation. Das am weitesten verbreitete asymmetrische Modell ist das Client-Server-System, bei dem ein Dienstanbieter (der Server) Anfragen von verschiedenen Clients bearbeitet (wobei es immer die Clients sind, die die Kommunikation initiieren, d. h. einen Kanal öffnen).
* Wird die Kommunikation über ein Taktsignal synchronisiert, spricht man von synchroner Datenübertragung, ansonsten von asynchroner Datenübertragung.
* Wird nach einer Anfrage auf Antwort gewartet, spricht man von synchroner Kommunikation, andernfalls von asynchroner Kommunikation.
* Während einer paketorientierten Kommunikation werden Nachrichten bzw. Datenpakete übertragen, beim Streaming wird mit einem kontinuierlichen Datenstrom einzelner Zeichen gearbeitet
* Bei verbindungsorientierten (connection oriented) Protokollen wird durch spezielle Paketsequenzen der Anfang und das Ende einer Verbindung definiert. Innerhalb einer solchen Verbindung wird durch das Protokoll meistens gewährleistet, dass Pakete in einer bestimmten Reihenfolge ankommen und/oder sichergestellt, dass die Pakete nochmals gesendet werden, falls sie nicht angekommen sind (z. B. TCP). Verbindungslose (connectionless) Protokolle bieten diesen Komfort nicht, haben aber einen geringeren Overhead. (z. B. UDP, RTP)
Die wesentlichen Aufgaben moderner, leistungsstarker Protokolle
* Ein sicherer und zuverlässiger Verbindungsaufbau zwischen den an der Kommunikation beteiligten Computern (Handshake)
* Das verlässliche Zustellen von Paketen
* Wiederholtes Senden nicht angekommener Pakete
* Zustellen der Datenpakete an den/die gewünschten Empfänger
* Das Sicherstellen einer fehlerfreien Übertragung (Prüfsumme)
* Das Zusammenfügen ankommender Datenpakete in der richtigen Reihenfolge
* Das Verhindern des Auslesens durch unbefugte Dritte (durch Verschlüsselung)
* Das Verhindern der Manipulation durch unbefugte Dritte (durch MACs oder elektronische Signaturen)
Funktionsbeispiel
Anhand des Verbindungsaufbau-Prozederes des TCP-Protokolls soll ein einfaches praktisches Beispiel gezeigt werden (siehe auch Handshake-Verfahren).
# Zunächst schickt Computer 1 ein Paket, in dem steht, dass er eine Verbindung zu Computer 2 aufbauen möchte.# Darauf antwortet Computer 2, dass er dazu bereit ist.
# Computer 1 bestätigt anschließend Computer 2, dass er verstanden hat, dass Computer 2 bereit ist.
Die Verbindung ist damit hergestellt, und der eigentliche Datenaustausch kann beginnen.
Einsatz von Protokollen
Die bekannteste Nutzung von Protokollen findet rund um das Internet statt, hier sorgen sie für (Anwendung - (Protokollbezeichnung)):
* Das Laden von Webseiten – (HTTP oder HTTPS)* Verschicken von E-Mails – (SMTP)
* Hoch- und Herunterladen von Dateien – (FTP, HTTP oder HTTPS)
Die Funktionen der Protokolle bauen aufeinander auf. So regelt beispielsweise das Internet Protocol die weltweit eindeutige Adressierung von Rechnern, auf die das Simple Mail Transfer Protocol zum Übermitteln von E-Mails zurückgreift. Dieses schichtweise Aufeinanderaufbauen der Protokolle wird mit Hilfe des OSI-Modells dargestellt.
Vor- und Nachteile von Netzwerkprotokollen
{| class="wikitable"|-
! Netzwerkprotokoll !! Vorteil !! Nachteil
|-
| TCP/IP ||
* Routingfähig
* IP sorgt dafür, dass das Datenpaket sein Ziel erreicht und TCP kontrolliert die Datenübertragung
* An keinen Hersteller gebunden
* Kann auf einfachen Computern und auf Supercomputern implementiert werden
* Ist in LANs und WANs nutzbar
* Macht die Anwendung vom Übertragungssystem unabhängig
||
* Muss geschützt werden
|-
| IPX/SPX
||
* Routingfähig
* Wird von vielen Betriebssystemen unterstützt
||
* Langsames Protokoll
* Bei Nicht-Novellnetzwerken nicht zu empfehlen
|-| NetBEUI
||
* Schnelligkeit in kleinen Netzwerken
* Entsprechend einfach zu konfigurieren und einzurichten
||
* Nur für kleine Netzwerke geeignet
* Nicht im Internet einsetzbar
* Nicht Routingfähig
|-| AppleTalk
||
* Komfortabel
* Große Bedienerfreundlichkeit
* Einfache Fehleranalyse
* Leichte Erweiterbarkeit
* Leicht einzurichten
||
* Geringer Datentransfer
|}
Geschichte
Im Jahr 1968 wurden auf Veranlassung des amerikanischen Verteidigungsministeriums (DoD) Versuche durchgeführt, mit denen grundlegende Erkenntnisse über die Funktionsweise von Rechnernetzen gewonnen werden sollten. Als praktisches Ergebnis wurde 1969 das ARPANET-Projekt aufgelegt. Hier wurden für die Kommunikationsverwaltung zusätzliche Rechner bei den Clients des Netzes eingerichtet. Das ARPANET wurde 1972 in der Öffentlichkeit vorgestellt und in den Folgejahren stetig weiter ausgebaut. Ab 1983 hatte sich die Internetprotokollfamilie durchgesetzt. Aus dem ARPANET wurde für militärische Belange ein separates Netz abgeteilt, das MILNET. Mit der Internetprotokollfamilie etablierten sich Standards zuverlässiger und leistungsfähiger Datenübertragung. Die massenhafte kommerzielle Verwertung begann.
Siehe auch
* XModem
* Liste der standardisierten Ports
Literatur
* Hein/Reisner: TCP/IP ge-packt. Bonn: mitp-Verlag, 2001.
* G. Siegmund: Technik der Netze. 5. Aufl., 1296 S., Berlin und Offenbach: VDE Verlag, 2003.
* H. König: Protocol Engineering – Prinzip, Beschreibung und Entwicklung von Kommunikationsprotokollen. B. G. Teubner Stuttgart Leipzig Wiesbaden, 2003.
Weblinks
* [http://www.iana.org/assignments/protocol-numbers IANA-Liste der Protokolle mit den dazugehörigen Nummern]
* http://www.protocols.com/
* http://www.banalyzer.de/
* [http://www.ipcomm.de/protocols_de.html Liste mit Protokollen mit OSI-Modell in der Fernwirktechnik]
af:Protokol (rekenaars)ar:ميفاق اتصالات
az:Verilənlərin ötürülməsi ptotokolları
be:Пратакол
be-x-old:Пратакол
bg:Протокол (комуникации)
br:Komenad kehentiñ
bs:Protokol
ca:Protocol de comunicació
ckb:پرۆتۆکۆلی ڕاگەیێنی
cs:Protokol (informatika)
da:Protokol (edb)
el:Πρωτόκολλο επικοινωνίας
Communications protocol
eo:Ret-komunika protokolo
es:Protocolo (informática)
eu:Sare protokolo
fa:قرارداد (رایانه)
fi:Protokolla
Protocole réseau
he:פרוטוקול תקשורת
hi:संचार प्रोटोकॉल
hr:Komunikacijski protokol
hu:Protokoll (informatika)
id:Protokol (komputer)
it:Protocollo di comunicazione
ja:通信プロトコル
ka:ქსელური პროტოკოლი
kk:Хаттама
ko:통신 프로토콜
lb:Kommunikatiounsprotokoll
ltg:Datu puorlaidis protokols
mhr:Протокол
mk:Комуникациски протокол
ml:പ്രൊട്ടോക്കോൾ (കമ്പ്യൂട്ടർശാസ്ത്രം)
ms:Protokol komputer
nl:Netwerkprotocol
nn:Nettverksprotokoll
no:Protokoll (datamaskiner)
pl:Protokół komunikacyjny
pt:Protocolo (ciência da computação)
ro:Protocol de rețea
ru:Протокол передачи данных
simple:Communication protocol
sk:Komunikačný protokol
sl:Protokol (računalništvo)
sr:Mrežni protokol
sv:Kommunikationsprotokoll
ta:தகவல்தொடர்பு நெறிமுறை
th:โพรโทคอล
tr:İletişim protokolü
uk:Комунікаційний протокол
ur:ابلاغی دستور
vi:Giao thức truyền thông
zh:网络传输协议
Text und Bilder dieses Beitrags stammen aus dem Artikel Netzwerkprotokoll der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License. Die Liste der Autoren ist in der Wikipedia unter dieser Seite verfügbar, der Original-Artikel lässt sich hier bearbeiten.