Netzwerkprotokoll: Unterschied zwischen den Versionen

Aus Foxwiki
Subpages:
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
== Beschreibung ==
== Beschreibung ==
=== Netzwerkprotokoll ===
=== Netzwerkprotokoll ===
; Festlegungen für den Austausch von [[Daten]]  
; Festlegungen für den Austausch von [[Daten]]


; Zwischen verbundenen Instanzenin einem [[Rechnernetz]]
; Zwischen verbundenen Instanzenin einem [[Rechnernetz]]
Zeile 19: Zeile 19:
Der Austausch von Nachrichten erfordert häufig ein Zusammenspiel verschiedener Protokolle, die unterschiedliche Aufgaben übernehmen
Der Austausch von Nachrichten erfordert häufig ein Zusammenspiel verschiedener Protokolle, die unterschiedliche Aufgaben übernehmen


Um die damit verbundene Komplexität beherrschen zu können, werden die einzelnen Protokolle in [[Schichtenarchitektur|Schichten]] organisiert.
Um die damit verbundene Komplexität beherrschen zu können, werden die einzelnen Protokolle in [[Schichtenarchitektur|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 (etwa Übermitteln an einen bestimmten Knoten – Schicht 2).
* Im Rahmen einer solchen Architektur gehört jedes Protokoll einer bestimmten Schicht an und ist für die Erledigung der speziellen Aufgaben zuständig (etwa Übermitteln an einen bestimmten Knoten – Schicht 2)
* Protokolle höherer Schichten verwenden Dienste von Protokollen tieferer Schichten (Schicht 3 bildet ein logisches Netzwerk und verwendet Schicht 2 für die physische Zustellung).
* Protokolle höherer Schichten verwenden Dienste von Protokollen tieferer Schichten (Schicht 3 bildet ein logisches Netzwerk und verwendet Schicht 2 für die physische Zustellung)


Zusammen bilden die so strukturierten Protokolle einen [[Protokollstapel]] – in Anlehnung an das [[OSI-Modell|ISO-OSI-Referenzmodell]] (siehe auch [[DoD-Schichtenmodell]]).
Zusammen bilden die so strukturierten Protokolle einen [[Protokollstapel]] – in Anlehnung an das [[OSI-Modell|ISO-OSI-Referenzmodell]] (siehe auch [[DoD-Schichtenmodell]])


; Protocol Data Unit (PDU)
; Protocol Data Unit (PDU)
* Nachrichten einer bestimmten Schicht werden auch als ''Protokolldateneinheiten'' (protocol data units) bezeichnet.
* Nachrichten einer bestimmten Schicht werden auch als ''Protokolldateneinheiten'' (protocol data units) bezeichnet


== Aufbau eines Datenpaketes ==
== Aufbau eines Datenpaketes ==
Zeile 44: Zeile 44:


; In der [[Internetprotokolle]] steht mit dem [[User Datagram Protocol]] (UDP) in der Transportschicht auch ein Protokoll mit nur geringem Overhead zur Verfügung
; In der [[Internetprotokolle]] steht mit dem [[User Datagram Protocol]] (UDP) in der Transportschicht auch ein Protokoll mit nur geringem Overhead zur Verfügung
* Das keine Ende-zu-Ende-Kontrolle der Übertragung gewährleistet, sodass Datagramme eventuell verloren gehen können oder die Reihenfolge beim Empfang nicht der beim Versand entspricht.
* Das keine Ende-zu-Ende-Kontrolle der Übertragung gewährleistet, sodass Datagramme eventuell verloren gehen können oder die Reihenfolge beim Empfang nicht der beim Versand entspricht


; Im Gegensatz dazu wird beim [[Transmission Control Protocol]] (TCP) die vollständige Zustellung der Datenpakete überwacht und diese außerdem in die richtige Reihenfolge gebracht, so dass der Anwendung ein zusammenhängender Datenstrom übergeben wird.
; Im Gegensatz dazu wird beim [[Transmission Control Protocol]] (TCP) die vollständige Zustellung der Datenpakete überwacht und diese außerdem in die richtige Reihenfolge gebracht, so dass der Anwendung ein zusammenhängender Datenstrom übergeben wird


== Unterscheidungsmerkmale ==
== Unterscheidungsmerkmale ==
Zeile 53: Zeile 53:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| Richtung || Findet die Kommunikation nur in eine ''Richtung'' statt, spricht man von [[Duplex (Nachrichtentechnik)|Simplex]], fließen die Daten wechselweise in beide Richtungen, von [[Duplex (Nachrichtentechnik)|Halbduplex]] oder gleichzeitig in beide Richtungen, von [[Vollduplex]].
| Richtung || Findet die Kommunikation nur in eine ''Richtung'' statt, spricht man von [[Duplex (Nachrichtentechnik)|Simplex]], fließen die Daten wechselweise in beide Richtungen, von [[Duplex (Nachrichtentechnik)|Halbduplex]] oder gleichzeitig in beide Richtungen, von [[Vollduplex]]
|-
|-
| Taktsignal || Wird die Kommunikation über ein [[Taktsignal]] ''synchronisiert'', spricht man von [[Synchrone Datenübertragung|synchroner Datenübertragung]], ansonsten von asynchroner Datenübertragung.
| Taktsignal || Wird die Kommunikation über ein [[Taktsignal]] ''synchronisiert'', spricht man von [[Synchrone Datenübertragung|synchroner Datenübertragung]], ansonsten von asynchroner Datenübertragung
|-
|-
| Anzahl von Parteien || 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]].
| Anzahl von Parteien || 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]].
* Wird das Paket an alle gesandt, so ist es ein [[Broadcast]]
|-
|-
| Stellung || ''Stellung'' der Kommunikationsteilnehmer: Sind diese untereinander gleichberechtigt, spricht man von [[Peer-to-Peer]] oder symmetrischer, anderenfalls von asymmetrischer Kommunikation.
| Stellung || ''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 [[Client]]s bearbeitet (wobei es immer die Clients sind, die die Kommunikation initiieren, d. h. einen [[Kanal (Informationstheorie)|Kanal]] öffnen).
* Das am weitesten verbreitete asymmetrische Modell ist das [[Client-Server-System]], bei dem ein Dienstanbieter (der [[Server]]) Anfragen von verschiedenen [[Client]]s bearbeitet (wobei es immer die Clients sind, die die Kommunikation initiieren, d. h. einen [[Kanal (Informationstheorie)|Kanal]] öffnen)
|-
|-
| Synchrone Kommunikation || Wird nach einer Anfrage auf ''Antwort'' gewartet, spricht man von [[Synchrone Kommunikation|synchroner Kommunikation]], andernfalls von [[Asynchrone Kommunikation|asynchroner Kommunikation]].
| Synchrone Kommunikation || Wird nach einer Anfrage auf ''Antwort'' gewartet, spricht man von [[Synchrone Kommunikation|synchroner Kommunikation]], andernfalls von [[Asynchrone Kommunikation|asynchroner Kommunikation]]
|-
|-
| Paketorientierte Kommunikation || Während einer ''paketorientierten Kommunikation'' werden [[Nachricht]]en bzw. [[Datenpaket]]e übertragen, beim ''Streaming'' wird mit einem kontinuierlichen [[Datenstrom]] einzelner Zeichen gearbeitet.
| Paketorientierte Kommunikation || Während einer ''paketorientierten Kommunikation'' werden [[Nachricht]]en bzw. [[Datenpaket]]e übertragen, beim ''Streaming'' wird mit einem kontinuierlichen [[Datenstrom]] einzelner Zeichen gearbeitet
|-
|-
| Verbindungsoriente Kommunikation || Bei ''verbindungsorientierten (connection oriented) Protokollen'' wird durch spezielle Paketsequenzen der Anfang und das Ende einer Verbindung definiert.
| Verbindungsoriente Kommunikation || 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 (zum Beispiel TCP). ''Verbindungslose (connectionless) Protokolle'' bieten diesen Komfort nicht, haben aber einen geringeren Overhead (zum Beispiel [[User Datagram Protocol|UDP]], [[Real-Time Transport Protocol|RTP]]).
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 (zum Beispiel TCP). ''Verbindungslose (connectionless) Protokolle'' bieten diesen Komfort nicht, haben aber einen geringeren Overhead (zum Beispiel [[User Datagram Protocol|UDP]], [[Real-Time Transport Protocol|RTP]])


== Aufgaben ==
== Aufgaben ==
; Aufgaben eines Netzwerkprotokolls
; Aufgaben eines Netzwerkprotokolls
* Ob sie in einem bestimmten Protokoll abgebildet sind, wird durch dessen Einsatzzweck bestimmt.
* Ob sie in einem bestimmten Protokoll abgebildet sind, wird durch dessen Einsatzzweck bestimmt
* Ein sicherer und zuverlässiger Verbindungsaufbau zwischen den an der Kommunikation beteiligten Computern ([[Handshake]])
* Ein sicherer und zuverlässiger Verbindungsaufbau zwischen den an der Kommunikation beteiligten Computern ([[Handshake]])
* Das verlässliche Zustellen von Paketen
* Das verlässliche Zustellen von Paketen
Zeile 85: Zeile 85:


== Beispiel ==
== Beispiel ==
Anhand des Verbindungsaufbau-Prozederes des TCP-Protokolls soll ein einfaches praktisches Beispiel gezeigt werden ([[Handshake]]-Verfahren).
Anhand des Verbindungsaufbau-Prozederes des TCP-Protokolls soll ein einfaches praktisches Beispiel gezeigt werden ([[Handshake]]-Verfahren)


# Zunächst schickt Computer 1 ein [[Datenpaket]], in dem steht, dass er eine Verbindung zu Computer 2 aufbauen möchte.
# Zunächst schickt Computer 1 ein [[Datenpaket]], in dem steht, dass er eine Verbindung zu Computer 2 aufbauen möchte
# Darauf antwortet Computer 2, dass er dazu bereit ist.
# 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.
# 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, im Beispiel eine Dateiübertragung auf Anwendungsebene.
Die Verbindung ist damit hergestellt, und der eigentliche Datenaustausch kann beginnen, im Beispiel eine Dateiübertragung auf Anwendungsebene


# Computer 1 schickt ein Datenpaket, in dem angefragt wird, welche Dateien verfügbar sind.
# Computer 1 schickt ein Datenpaket, in dem angefragt wird, welche Dateien verfügbar sind
# Darauf antwortet Computer 2 mit einer Liste der verfügbaren Dateien.
# Darauf antwortet Computer 2 mit einer Liste der verfügbaren Dateien
# Computer 1 schickt ein Datenpaket, in dem eine bestimmte Datei angefordert wird.
# Computer 1 schickt ein Datenpaket, in dem eine bestimmte Datei angefordert wird
# Darauf antwortet Computer 2, dass die Datei existiert, beschreibt die Datei und beginnt mit der Übertragung.
# Darauf antwortet Computer 2, dass die Datei existiert, beschreibt die Datei und beginnt mit der Übertragung


== Protokolle zur Datenübermittlung ==
== Protokolle zur Datenübermittlung ==
; Es gibt eine Reihe von grundsätzlichen Protokollen, die den Datenverkehr in einem Netzwerk regeln
; Es gibt eine Reihe von grundsätzlichen Protokollen, die den Datenverkehr in einem Netzwerk regeln
* Sie werden vom Netzwerkstack – einem speziellen Systemprogramm – allen weiteren Programmen auf diesem Rechner zur Verfügung gestellt.
* Sie werden vom Netzwerkstack – einem speziellen Systemprogramm – allen weiteren Programmen auf diesem Rechner zur Verfügung gestellt
* Diese Protokolle dienen als Standard für die Datenübermittlung zwischen unterschiedlichen Systemen, dienen aber keiner Anwendung durch den Benutzer.
* Diese Protokolle dienen als Standard für die Datenübermittlung zwischen unterschiedlichen Systemen, dienen aber keiner Anwendung durch den Benutzer
* Dabei legt man sich in der Regel auf eines dieser Protokolle für ein Netzwerk fest.
* Dabei legt man sich in der Regel auf eines dieser Protokolle für ein Netzwerk fest
* Für das Internet wird die [[Internetprotokolle]] verwendet, vor allem TCP/IP und UDP.
* Für das Internet wird die [[Internetprotokolle]] verwendet, vor allem TCP/IP und UDP


{| class="wikitable"
{| class="wikitable"
Zeile 167: Zeile 167:
; Funktionen bauen aufeinander auf
; Funktionen bauen aufeinander auf
* Transportprotokolle bereiten den Übertragungsweg für von ihnen prinzipiell unabhängige Anwendungsprotokolle
* Transportprotokolle bereiten den Übertragungsweg für von ihnen prinzipiell unabhängige Anwendungsprotokolle
* Das stellt sicher, dass Anwendungsprogramme auf unterschiedlichen Systemen untereinander kommunizieren können, sobald diese Systeme in der Lage sind, auf irgendeine Art eine Verbindung herzustellen.
* Das stellt sicher, dass Anwendungsprogramme auf unterschiedlichen Systemen untereinander kommunizieren können, sobald diese Systeme in der Lage sind, auf irgendeine Art eine Verbindung herzustellen
* So regelt etwa das [[Internet Protocol]] die weltweit eindeutige Adressierung von Rechnern
* So regelt etwa das [[Internet Protocol]] die weltweit eindeutige Adressierung von Rechnern
* Diese Adressierung nutzen dann beispielsweise das [[Transmission Control Protocol]] zur Datenübertragung und das [[Simple Mail Transfer Protocol]] zum Übermitteln von E-Mails
* Diese Adressierung nutzen dann beispielsweise das [[Transmission Control Protocol]] zur Datenübertragung und das [[Simple Mail Transfer Protocol]] zum Übermitteln von E-Mails
Zeile 173: Zeile 173:
; Dieser schichtweise Aufbau der Protokolle wird mithilfe des [[OSI-Modell]]s dargestellt
; Dieser schichtweise Aufbau der Protokolle wird mithilfe des [[OSI-Modell]]s dargestellt


; Auch dienen Anwendungsprotokolle als Standard für die Übertragung zwischen unterschiedlichen Programmen gleichen Typs.
; Auch dienen Anwendungsprotokolle als Standard für die Übertragung zwischen unterschiedlichen Programmen gleichen Typs


; Bekannte Beispiele
; Bekannte Beispiele
Zeile 194: Zeile 194:
# https://de.wikipedia.org/wiki/Netzwerkprotokoll
# https://de.wikipedia.org/wiki/Netzwerkprotokoll


= TMP =  
= TMP =
== Protokolle ==
== Protokolle ==
; Die Kommunikation erfolgt über verschiedene [[Netzwerkprotokoll|Protokolle]], die mit dem [[OSI-Modell|ISO/OSI-Modell]] strukturiert werden können.
; Die Kommunikation erfolgt über verschiedene [[Netzwerkprotokoll|Protokolle]], die mit dem [[OSI-Modell|ISO/OSI-Modell]] strukturiert werden können
* Obwohl in der Praxis kein Rechnernetz das ISO/OSI-Modell vollständig abbildet, ist es von entscheidender Bedeutung für das Verständnis von Rechnernetzen, da hierbei aus kleinen grundlegenden Strukturen durch Verknüpfung größere und komplexere Strukturen gebildet werden.
* Obwohl in der Praxis kein Rechnernetz das ISO/OSI-Modell vollständig abbildet, ist es von entscheidender Bedeutung für das Verständnis von Rechnernetzen, da hierbei aus kleinen grundlegenden Strukturen durch Verknüpfung größere und komplexere Strukturen gebildet werden
* Dabei greifen höhere (komplexere) Protokollschichten auf die Funktionalitäten einfacherer darunter liegender Protokollschichten zu.
* Dabei greifen höhere (komplexere) Protokollschichten auf die Funktionalitäten einfacherer darunter liegender Protokollschichten zu


; Protokollschichten
; Protokollschichten
Ein wichtiges Prinzip dabei ist, dass den meisten Protokollschichten jeweils sogenannte [[Nutzdaten]] zum Transport übergeben werden können.
Ein wichtiges Prinzip dabei ist, dass den meisten Protokollschichten jeweils sogenannte [[Nutzdaten]] zum Transport übergeben werden können
* Die Protokollschicht fügt zu diesen Nutzdaten (deren Inhalt sie weitgehend ignoriert) vorn und teilweise hinten weitere Daten an, die für die Abwicklung des Transportes durch die Protokollschicht wichtig sind.
* Die Protokollschicht fügt zu diesen Nutzdaten (deren Inhalt sie weitgehend ignoriert) vorn und teilweise hinten weitere Daten an, die für die Abwicklung des Transportes durch die Protokollschicht wichtig sind
* Jedoch gibt es auch hiervon Ausnahmen, da einige Protokolle nicht dazu gedacht sind, fremde Nutzdaten zu transportieren, sondern ausschließlich als eigenständige [[Informationssystem]]e für bestimmte Aufgaben fungieren.
* Jedoch gibt es auch hiervon Ausnahmen, da einige Protokolle nicht dazu gedacht sind, fremde Nutzdaten zu transportieren, sondern ausschließlich als eigenständige [[Informationssystem]]e für bestimmte Aufgaben fungieren


; Internet
; Internet
Die allgemein bekannteste Netzstruktur ist das [[Internet]], und die bekanntesten Protokolle sind das [[Transmission Control Protocol|TCP (Transmission Control Protocol)]] und das [[Internet Protocol|IP (Internet Protocol)]], jedoch spielt auch im Internet eine Reihe weiterer Protokolle wichtige Rollen.
Die allgemein bekannteste Netzstruktur ist das [[Internet]], und die bekanntesten Protokolle sind das [[Transmission Control Protocol|TCP (Transmission Control Protocol)]] und das [[Internet Protocol|IP (Internet Protocol)]], jedoch spielt auch im Internet eine Reihe weiterer Protokolle wichtige Rollen
* Das Internet selbst ist kein homogenes Netz, sondern besteht aus einer Vielzahl teils recht unterschiedlich konzipierter [[Subnetz|Teilnetze]] (Subnetze), die nur die oberen Protokollschichten gemeinsam haben und die Nutzdatenübertragung auf den unteren Protokollschichten teilweise sehr unterschiedlich handhaben.
* Das Internet selbst ist kein homogenes Netz, sondern besteht aus einer Vielzahl teils recht unterschiedlich konzipierter [[Subnetz|Teilnetze]] (Subnetze), die nur die oberen Protokollschichten gemeinsam haben und die Nutzdatenübertragung auf den unteren Protokollschichten teilweise sehr unterschiedlich handhaben


; Zentralrechner
; Zentralrechner
Als '''Zentralrechner''' oder '''Hauptrechner''' wird innerhalb eines Rechnernetzes derjenige Computer – meist ein [[Großrechner]] – bezeichnet, der den übrigen angeschlossenen Rechnern (etwa [[Arbeitsplatzrechner]]n oder [[Terminal (Computer)|Terminals]]) bzw. den darauf betriebenen [[Computerprogramm|Programmen]] [[Daten]], [[Dienst (Informatik)|Dienste]], [[Dienstprogramm|Systemprogramme]], [[Anwendungssoftware|Anwendungsprogramme]] u. Ä. zur Verfügung stellt.
Als '''Zentralrechner''' oder '''Hauptrechner''' wird innerhalb eines Rechnernetzes derjenige Computer – meist ein [[Großrechner]] – bezeichnet, der den übrigen angeschlossenen Rechnern (etwa [[Arbeitsplatzrechner]]n oder [[Terminal (Computer)|Terminals]]) bzw. den darauf betriebenen [[Computerprogramm|Programmen]] [[Daten]], [[Dienst (Informatik)|Dienste]], [[Dienstprogramm|Systemprogramme]], [[Anwendungssoftware|Anwendungsprogramme]] u. Ä. zur Verfügung stellt




[[Kategorie:Netzwerk/Protokoll]]
[[Kategorie:Netzwerk/Protokoll]]
</noinclude>
</noinclude>

Version vom 6. Februar 2024, 11:20 Uhr

Netzwerkprotokoll - Beschreibung, wie Informationen in Computernetzwerken ausgetauscht werden

Beschreibung

Netzwerkprotokoll

Festlegungen für den Austausch von Daten
Zwischen verbundenen Instanzenin einem Rechnernetz

Vereinbarung

Syntax Regeln und Formate
Semantik Verhalten der kommunizierenden Instanzen

Schichtenmodelle

Der Austausch von Nachrichten erfordert häufig ein Zusammenspiel verschiedener Protokolle, die unterschiedliche Aufgaben übernehmen

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 (etwa Übermitteln an einen bestimmten Knoten – Schicht 2)
  • Protokolle höherer Schichten verwenden Dienste von Protokollen tieferer Schichten (Schicht 3 bildet ein logisches Netzwerk und verwendet Schicht 2 für die physische Zustellung)

Zusammen bilden die so strukturierten Protokolle einen Protokollstapel – in Anlehnung an das ISO-OSI-Referenzmodell (siehe auch DoD-Schichtenmodell)

Protocol Data Unit (PDU)
  • Nachrichten einer bestimmten Schicht werden auch als Protokolldateneinheiten (protocol data units) bezeichnet

Aufbau eines Datenpaketes

Der in einem Protokoll beschriebene Aufbau eines Datenpaketes
  • enthält für den Datenaustausch wichtige Informationen über das Paket wie beispielsweise:
  • dessen Absender und Empfänger, damit Nicht-Empfänger das Paket ignorieren
  • den Typ des Pakets (beispielsweise Verbindungsaufbau, Verbindungsabbau oder reine Nutzdaten)
  • die Paketgröße, die der Empfänger zu erwarten hat
  • bei mehrteiligen Übertragungen die laufende Nummer und Gesamtzahl der Pakete
  • eine Prüfsumme zum Nachvollziehen einer fehlerfreien Übertragung
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 sogenannten 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
In der Internetprotokolle steht mit dem User Datagram Protocol (UDP) in der Transportschicht auch ein Protokoll mit nur geringem Overhead zur Verfügung
  • Das keine Ende-zu-Ende-Kontrolle der Übertragung gewährleistet, sodass Datagramme eventuell verloren gehen können oder die Reihenfolge beim Empfang nicht der beim Versand entspricht
Im Gegensatz dazu wird beim Transmission Control Protocol (TCP) die vollständige Zustellung der Datenpakete überwacht und diese außerdem in die richtige Reihenfolge gebracht, so dass der Anwendung ein zusammenhängender Datenstrom übergeben wird

Unterscheidungsmerkmale

Option Beschreibung
Richtung 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
Taktsignal Wird die Kommunikation über ein Taktsignal synchronisiert, spricht man von synchroner Datenübertragung, ansonsten von asynchroner Datenübertragung
Anzahl von Parteien 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
Stellung 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)
Synchrone Kommunikation Wird nach einer Anfrage auf Antwort gewartet, spricht man von synchroner Kommunikation, andernfalls von asynchroner Kommunikation
Paketorientierte Kommunikation Während einer paketorientierten Kommunikation werden Nachrichten bzw. Datenpakete übertragen, beim Streaming wird mit einem kontinuierlichen Datenstrom einzelner Zeichen gearbeitet
Verbindungsoriente Kommunikation 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 (zum Beispiel TCP). Verbindungslose (connectionless) Protokolle bieten diesen Komfort nicht, haben aber einen geringeren Overhead (zum Beispiel UDP, RTP)

Aufgaben

Aufgaben eines Netzwerkprotokolls
  • Ob sie in einem bestimmten Protokoll abgebildet sind, wird durch dessen Einsatzzweck bestimmt
  • 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 Kryptografie)
  • Das Verhindern der Manipulation durch unbefugte Dritte (durch MACs oder elektronische Signaturen)

Beispiel

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

  1. Zunächst schickt Computer 1 ein Datenpaket, 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, im Beispiel eine Dateiübertragung auf Anwendungsebene

  1. Computer 1 schickt ein Datenpaket, in dem angefragt wird, welche Dateien verfügbar sind
  2. Darauf antwortet Computer 2 mit einer Liste der verfügbaren Dateien
  3. Computer 1 schickt ein Datenpaket, in dem eine bestimmte Datei angefordert wird
  4. Darauf antwortet Computer 2, dass die Datei existiert, beschreibt die Datei und beginnt mit der Übertragung

Protokolle zur Datenübermittlung

Es gibt eine Reihe von grundsätzlichen Protokollen, die den Datenverkehr in einem Netzwerk regeln
  • Sie werden vom Netzwerkstack – einem speziellen Systemprogramm – allen weiteren Programmen auf diesem Rechner zur Verfügung gestellt
  • Diese Protokolle dienen als Standard für die Datenübermittlung zwischen unterschiedlichen Systemen, dienen aber keiner Anwendung durch den Benutzer
  • Dabei legt man sich in der Regel auf eines dieser Protokolle für ein Netzwerk fest
  • Für das Internet wird die Internetprotokolle verwendet, vor allem TCP/IP und UDP
Netzwerkprotokoll Vorteile Nachteile
Schicht-3&4-Protokolle
TCP/IP und UDP
  • routingfähig
  • IP sorgt dafür, dass das Datenpaket sein Ziel erreicht; TCP oder UDP kontrollieren die Datenübertragung
  • an keinen Hersteller gebunden, aber von allen akzeptiert
  • ist sowohl in LANs als auch in WANs nutzbar
  • für komplizierte (TCP) und einfache (UDP) Übertragungen geeignet
  • verhältnismäßig großer Stack, ungünstig für sehr einfache oder kleine (eingebettete) Systeme
  • UDP eher für kleine Datenpakete, deren Zustellung nicht kritisch ist
  • TCP eher für große Übertragungen oder Datenströme mit garantierter Fehlerfreiheit
IPX/SPX
  • routingfähig
  • wird von vielen Betriebssystemen unterstützt
NetBEUI
  • wenig Overhead
  • entsprechend einfach zu konfigurieren und einzurichten
  • nur für sehr kleine Netzwerke geeignet
  • nicht routingfähig
  • nicht im Internet einsetzbar
  • Unterstützung nach Microsoft Windows 2000 eingestellt
AppleTalk
  • komfortabel
  • große Bedienerfreundlichkeit
  • einfache Fehleranalyse
  • leichte Erweiterbarkeit
  • leicht einzurichten
  • nur für kleine Netzwerke geeignet
  • geringer Datendurchsatz bei schnelleren Verbindungen (>10 Mbit/s)
  • nur von Apple-Betriebssystemen genutzt, inzwischen durch TCP/IP ersetzt
BACnet
  • nur für elementare Daten
  • fast keine Verwendung in anderen Bereichen

Protokolle für bestimmte Anwendungen

Funktionen bauen aufeinander auf
  • Transportprotokolle bereiten den Übertragungsweg für von ihnen prinzipiell unabhängige Anwendungsprotokolle
  • Das stellt sicher, dass Anwendungsprogramme auf unterschiedlichen Systemen untereinander kommunizieren können, sobald diese Systeme in der Lage sind, auf irgendeine Art eine Verbindung herzustellen
  • So regelt etwa das Internet Protocol die weltweit eindeutige Adressierung von Rechnern
  • Diese Adressierung nutzen dann beispielsweise das Transmission Control Protocol zur Datenübertragung und das Simple Mail Transfer Protocol zum Übermitteln von E-Mails
Dieser schichtweise Aufbau der Protokolle wird mithilfe des OSI-Modells dargestellt
Auch dienen Anwendungsprotokolle als Standard für die Übertragung zwischen unterschiedlichen Programmen gleichen Typs
Bekannte Beispiele

Dokumentation

Anhang

Siehe auch


Links

Projekt
Weblinks
  1. https://de.wikipedia.org/wiki/Netzwerkprotokoll

TMP

Protokolle

Die Kommunikation erfolgt über verschiedene Protokolle, die mit dem ISO/OSI-Modell strukturiert werden können
  • Obwohl in der Praxis kein Rechnernetz das ISO/OSI-Modell vollständig abbildet, ist es von entscheidender Bedeutung für das Verständnis von Rechnernetzen, da hierbei aus kleinen grundlegenden Strukturen durch Verknüpfung größere und komplexere Strukturen gebildet werden
  • Dabei greifen höhere (komplexere) Protokollschichten auf die Funktionalitäten einfacherer darunter liegender Protokollschichten zu
Protokollschichten

Ein wichtiges Prinzip dabei ist, dass den meisten Protokollschichten jeweils sogenannte Nutzdaten zum Transport übergeben werden können

  • Die Protokollschicht fügt zu diesen Nutzdaten (deren Inhalt sie weitgehend ignoriert) vorn und teilweise hinten weitere Daten an, die für die Abwicklung des Transportes durch die Protokollschicht wichtig sind
  • Jedoch gibt es auch hiervon Ausnahmen, da einige Protokolle nicht dazu gedacht sind, fremde Nutzdaten zu transportieren, sondern ausschließlich als eigenständige Informationssysteme für bestimmte Aufgaben fungieren
Internet

Die allgemein bekannteste Netzstruktur ist das Internet, und die bekanntesten Protokolle sind das TCP (Transmission Control Protocol) und das IP (Internet Protocol), jedoch spielt auch im Internet eine Reihe weiterer Protokolle wichtige Rollen

  • Das Internet selbst ist kein homogenes Netz, sondern besteht aus einer Vielzahl teils recht unterschiedlich konzipierter Teilnetze (Subnetze), die nur die oberen Protokollschichten gemeinsam haben und die Nutzdatenübertragung auf den unteren Protokollschichten teilweise sehr unterschiedlich handhaben
Zentralrechner

Als Zentralrechner oder Hauptrechner wird innerhalb eines Rechnernetzes derjenige Computer – meist ein Großrechner – bezeichnet, der den übrigen angeschlossenen Rechnern (etwa Arbeitsplatzrechnern oder Terminals) bzw. den darauf betriebenen Programmen Daten, Dienste, Systemprogramme, Anwendungsprogramme u. Ä. zur Verfügung stellt