Netzwerkprotokoll

Aus Linupedia.org
Version vom 25. Oktober 2006, 11:42 Uhr von Robi (Diskussion | Beiträge) (viele Links zurück auf Orginal)
Wechseln zu: Navigation, Suche
Höhe=24px Dieser Artikel ist aus der Wikipedia mit der dortigen Lizenz GFDL (Wikipedia) übernommen worden. Die Quelle in der Wikipedia unter Netzwerkprotokoll ist zum Zeitpunkt der Einfügung identisch mit dem, was im Linux-Cub Wiki unter Netzwerkprotokoll steht. Der Artikel kann gerne überarbeitet werden. Wenn der Artikel der Quelle im Wortlaut nicht mehr entspricht, kann der Baustein entfernt werden, es muss aber die Quellenangabe unten eingefügt werden. Zudem sollte dann der Bausteine Vorlage:GFDL eingefügt werden, da der Artikel dann unter diese Lizenz fällt. In der Wikipedia ist eine Liste der Autoren verfügbar.

Ein Netzwerkprotokoll/Netzprotokoll ist eine exakte Vereinbarung, nach der Daten zwischen Computern bzw. Prozessen ausgetauscht werden, die durch ein Netz miteinander verbunden sind (verteiltes System). Die Vereinbarung besteht aus einem Satz von Regeln und Formaten (Sytax), 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. Unter dem Oberbegriff TCP/IP sind rund 500(!) Protokolle zusammengefasst. TCP/IP steht im allgemeinen Sprachgebrauch für das Protokoll beim Datenaustausch zwischen verschiedenen Rechnern.

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 so genannter 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 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

  • 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.
  • Findet die Kommunikation nur in eine Richtung statt, spricht man von Simplex, fließen die Daten wechselweise in beide Richtungen, von Halb-Duplex 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 nach einer Anfrage auf Antwort gewartet, spricht man von synchroner Kommunikation, sonst 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
  • Wiederholen 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 eines Eingriffs unbefugter Dritter (durch Verschlüsselung)

Funktionsbeispiel

Anhand des Verbindungsaufbau-Prozederes des TCP-Protokolls soll ein einfaches praktisches Beispiel gezeigt werden. (siehe auch Handshake-Verfahren)

  1. Zunächst schickt Computer 1 ein Paket, in dem steht, dass er eine Verbindung zu Computer 2 aufbauen möchte.
  2. Darauf antwortet Computer 2, dass er dazu bereit ist.
  3. 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)):

Die Funktionen der Protokolle bauen zum Teil aufeinander auf. So lösen beispielsweise die Protokolle TCP und IP das Problem der Datenübertragung. Das Protokoll SMTP zum Übermitteln von E-Mails benötigt wiederum die Funktion, Daten zu versenden und setzt dazu auf das TCP auf.

Dieses schichtweise Aufeinanderaufbauen der Protokolle wird mit Hilfe des OSI-Modells dargestellt.

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. Auf den Netzknoten kam UNIX 6 zum Einsatz. Ab 1983 hatten sich die TCP/IP-Protokolle durchgesetzt. Aus dem ARPANET wurde für militärische Belange ein separates Netz abgeteilt, das MILNET. Mit TCP/IP etablierte sich ein Standard zuverlässiger und leistungsfähiger Datenübertragung. Die massenhafte kommerzielle Verwertung begann.

Literatur

  • Hein/Reisner (2001): TCP/IP ge-packt. Bonn: mitp-Verlag
  • Siegmund, G. (2003): Technik der Netze. 5. Aufl., 1296 S., Berlin und Offenbach: VDE Verlag
  • König, H. (2003): Protocol Engineering – Prinzip, Beschreibung und Entwicklung von Kommunikationsprotokollen. B. G. Teubner Stuttgart Leipzig Wiesbaden

Weblinks


Quellenangabe dieses Artikels

Dieser Artikel stammt aus der Wikipedia - http://de.wikipedia.org
[ http://de.wikipedia.org/wiki/Netzwerkprotokoll Link zum Wikipedia-Artikel]
Permanentlink zu dieser Artikelversion bei Wikipedia