Ein Netzwerkprotokoll

  • definiert Ablauf einer Kommunikation
  • definiert den Aufbau der Datenpakete
  • gibt es auf unterschiedlichen Ebenen

Protokolle bei uns Menschen

Nehmen wir als Beispiel eine Diskussion zwischen zwei Fremden: Die eine Person (Alice) fragt jemand anderes (Bob) nach der Uhrzeit:

Alice┬źGuten Tag, darf ich Sie etwas fragen?┬╗
┬źHallo, klar, schiessen Sie los!┬╗Bob
Alice┬źWie sp├Ąt ist es?┬╗
┬źEs ist 9:50 Uhr.┬╗Bob
Alice┬źDanke und einen sch├Ânen Tag, tsch├╝ss.┬╗
┬źKein Problem, Ihnen auch, wiedersehen!┬╗Bob

Dabei fragen wir nicht direkt, wir begr├╝ssen uns zuerst und stellen klar, dass wir etwas fragen m├Âchten. Wenn wir also die obenstehende Diskussion in drei Teile zerlegen, dann k├Ânnen wir die drei Anfragen von Alice je einer Schicht zuteilen:

┬źGuten Tag, darf ich Sie etwas fragen?┬╗Transport
┬źHallo, klar, schiessen Sie los!┬╗
┬źWie sp├Ąt ist es?┬╗Anwendung
┬źEs ist 9:50 Uhr.┬╗
┬źDanke und einen sch├Ânen Tag, tsch├╝ss.┬╗Transport
┬źKein Problem, Ihnen auch, wiedersehen!┬╗

Auf der Ebene Transport wird eine Verbindung hergestellt und diese am Schluss auch wieder getrennt. Dies ist f├╝r alle Anfragen gleich. Die eigentlichen Daten werden dann in der Ebene Anwendung ├╝bermittelt, also dort, wo die Frage gestellt und eine Antwort darauf gegeben wird.

Aufgabe

Wie w├╝rde eine Frage nach dem Weg zum Bahnhof aussehen? Was ├Ąndert? Was bleibt?

einfache Protokolle

Die gew├╝nschte Anwendung und somit auch das Protokoll wird mit einer sogenannten Port-Nummer angegeben. Man kann sich das sozusagen als T├╝rnummer merken: Die IP-Adresse liefert das richtige Geb├Ąude (also den Computer), die Port-Nummner das zust├Ąndige B├╝ro (den richtigen Dienst).

Die folgenden drei Protokolle kann man mit einem sogenannten Telnet-Client einfach selbst ausprobieren. Damit stellt man eine Verbindung zu einem Server auf dem gew├╝nschten Port her. L├Ąuft dort ein Dienst und befolgt man die Regeln dessen Protokolls, so sollte man auch eine Antwort erhalten:

DienstServerPort
Daytimetime.nist.gov13
Quote-of-the-Daydjxmmx.net17
Echoadmin.ad.kinet.ch7

Aufgabe: Protokolle

  • Teste die obenstehenden Protokolle aus, indem du mit Telnet eine Verbindung zum entsprechenden Port auf dem Server herstellst.
  • in wiefern unterscheidet sich das Echo-Protokoll von den anderen beiden?

Ev. hast du Telnet auf deinem Computer installiert, dann kannst du in einer Eingabeaufforderung die Verbindung starten mit telnet <server> <port> (wobei <server> und <port> entsprechend ersetzt werden m├╝ssen.

Falls Telnet nicht verf├╝gbar ist, kannst du es vielleicht aktivieren:
https://social.technet.microsoft.com/wiki/contents/articles/38433.windows-10-enabling-telnet-client.aspx

Letze M├Âglichkeit w├Ąre ein Online-Telnet zu verwenden ÔÇô also eine Webseite die den Telnet-Dienst zur Verf├╝gung stellt. Dies funktioniert aber nur eingeschr├Ąnkt:

Protokolle im TCP/IP-Modell

Die von unseren Computern und Smartphones verwendeten Protokolle werden im sogenannten TCP/IP-Modell zusammengefasst. Dieses unterteilt die Protokolle in 4 Schichten, wobei die beiden mittleren, namensgebenden Schichten sozusagen das Fundament bilden. F├╝r die Anwendungsschicht existieren zahlreiche weitere Protokolle, die hier nicht genauer erl├Ąutert werden.

Ebene Protokolle

Anwendung

HTTP
Anfragen und ├ťbertragen von Daten zwischen Browser und Webserver
brauchen wir t├Ąglich bei Surfen im Web
HTTPS
┬źSicheres┬╗ HTTP
Die Daten werden verschl├╝sselt ├╝bertragen
IMAP
Zugriff auf E-Mails auf dem Server
(es existieren weitere E-Mail-Protokolle)

Transport

TCP
exakte Daten├╝bertragung mit Fehlererkennung
wird verwendet bei Webseiten- Daten├╝bertragung
UDP
schnelle Daten├╝bertragung ohne Kontrolle
wird beim Streamen und f├╝r Internet-Telefonie verwendet

Internet

IP
Internet Protocol mit Routing der IP-Pakete

Physikalisch

WLAN
Wireless Netzwerk
Ethernet
Verkabelte Netzwerke

Wenn wir die Analogie mit dem Gespr├Ąch und der Frage nach der Uhrzeit auf die weiteren Ebenen/Schichten adaptieren m├Âchten, so k├Ânnte man sagen:

Anwendung
ist der Dienst, also was gefragt werden soll (Uhrzeit, Weg zum Bahnhof)
Transport
Verbindung herstellen: Hallo, darf ich? Merci und Tsch├╝ss
Internet
Sprache, z.B. Deutsch ÔÇô wird f├╝r Verbindungsaufbau und Frage/Antwort verwendet
Physikalisch
Schallwellen in der Luft welche die W├Ârter ├╝bertragen

HTTP und HTTPS

Die Hypertext-Transfer-Protkolle sind etwas komplizierter als die drei einfachen Protokolle die wir soeben kennengelernt haben. Bei HTTP(S) werden die Anfragen in sogenannte Requests unterteilt:

GET-Request

mit einem GET-Request verlangt der Client (z.B. der Webbrowser auf deinem Laptop) vom Server ein bestimmtes Dokument. Dies kann eine HTML-Datei, aber auch ein Bild oder sonst eine Datei sein.

  • Der Server schickt nun den Status-Code 200 OK und die gew├╝nschte Datei.
  • Oder aber er schickt einen anderen Status-Code, z.B. 404 Not Found f├╝r ┬źnicht gefunden┬╗ oder 403 Forbidden f├╝r ┬źkeine Berechtigung┬╗.

So kann der Browser entsprechend reagieren.

POST-Request

mit einem POST-Request kann der Client ein im Browser ausgef├╝lltes Formular (z.B. Login-Daten oder Angaben um einen Account zu erstellen) an den Server schicken, damit der Server die entsprechenden Schritte unternehmen kann.

weitere Requests

daneben gibt es PUT-, DELETE- und weitere Requests.

Entwicklungstools

Die Entwicklungstools des Browsers zeigen dir im Tab ┬źNetzwerk┬╗┬áalle Requests an, die bei einem Seitenaufruf gemacht werden.

Aufgabe: Gymer-Logo

Auf unserer Gymer-Seite findest du links oben den ┬źgym|kirchenfeld┬╗-Schriftzug. Kannst du diese Bild-Datei abspeichern?

Versuche es mit den Entwicklungstools deines Browsers.

Aufgabe: Radio-Stream

Auf https://energy.ch findest du diverse Internet-Radio-Streams. Damit du die Streams auch mit einem Medien-Player (z.B. VLC) abspielen kannst, musst du diese abspeichern k├Ânnen.

W├Ąhle einen Radio und versuch den Stream mit den Entwicklungstools deines Browsers abzuspeichern.

Video als Zusammenfassung