Kassandra

Aus ProgrammingWiki
Archivierte Version vom 2025-12-03T11:41:26+00:00. Aktuelle Version

Dienste und Protokolle


Netzwerkprotokolle


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. 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 spezieller Aufgaben zuständig (beispielsweise Ü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). Nachrichten einer bestimmten Schicht werden auch als Protokolldateneinheiten (protocol data units) bezeichnet.

Für Betrieb und Nutzung des Internets sind etwa 500 Netzwerkprotokolle essentiell, die sogenannte Internetprotokollfamilie.


Aufgaben eines Protokolls:

-Nachfolgend werden typische Aufgaben eines Netzwerkprotokolls aufgeführt. 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 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 (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.