Loading ⌛Loading ⌛

💻-💻-💻 Mehrere Rechner verbinden

🎯 Worum geht es?1)

  • Du baust ein einfaches Netzwerk mit mehreren Rechnern auf.
  • Du lernst, wie garantiert werden kann, dass alle zu versendenden Daten (auch über das Internet) vollständig beim Empfänger ankommen.
  • Du lernst wie vermieden wird, dass wenn zwei Rechner im selben Empfangsbereich gleichzeitig senden, sich die Signale gegenseitig stören.


Inhaltsverzeichnis

1. Netzwerk einrichten und testen

Switch
Ein Switch ist ein Gerät, das es erlaubt, mehrere Rechner miteinander zu verbinden. Der Switch identifiziert dabei alle verbundene Rechner über deren MAC-Adresse. Jeder WLAN-Access-Point ist auch ein Switch, mit welchem sich mehrere Rechner gleichzeitig verbinden können.
✍ Auftrag – Filius 4

Loading ⌛ 👉 Verbinde mehrere Rechner mithilfe eines Switch zu einem Netzwerk.

  1. Öffne in Filius das Netzwerk, welches du unter dem Namen Filius02 abgespeichert hattest.
  2. Erweitere das Netzwerk gemäss untenstehender Abbildung um einen Switch und einen Rechner, dem du die IP 192.168.0.12 gibst und „Server 0.12“ nennst.
  3. Speichere das Netzwerk unter Filius04 ab, dieses wird für den Auftrag Filius 5 gebraucht.
  4. Markiere diesen Auftrag als „Erledigt“.

Server Dienste
Ein Server ist ein Rechner, der einen Dienst zur Verfügung stellt (z.B. ein Webseiten). Ein sehr einfacher Server Dienst ist z. B. der „Echo-Server“. Dieser sendet alle an ihn gerichtete Nachrichten wieder zurück an den Absender (wie ein Echo).
✍ Auftrag – Filius 5

Loading ⌛ 👉 Teste mit einem Echo-Server, ob das Netzwerk funktioniert.

  1. Wechsle in den ▶️ Aktionsmodus.
  2. Klicke auf den Server 0.12 und installiere den Echo-Server.
  3. Starte den Echo-Server mit dem Port 55555.
  4. Installiere auf dem Rechner 0.10 den Einfacher Client.
  5. Starte den Einfacher Client, gib die Server IP-Adresse ein, klicke auf Verbinden und sende die Nachricht Hallo.
  6. Trenne danach auf dem Einfacher Client die Verbindung.
  7. Wenn alles geklappt hat, siehst du im Einfacher Client die gesendete Nachricht <<Hallo (die << zeigen das Senden an). Darunter steht die empfangene Nachricht >>Hallo (die >> zeigen das Empfangen an).
  8. Speichere das Netzwerk unter Filius05 ab, dieses wird für den Auftrag Filius 6 gebraucht.
  9. Markiere diesen Auftrag als „Erledigt“.


2. Exkurs Aufbau einer stabilen Netzwerkverbindung

🤓 Um zu verstehen, wie der „Einfache Client“ stabil mit dem „Echo-Server“ kommunizieren kann, musst du wissen, wie eine stabile Verbindung garantiert werden kann. Daher zuerst etwas Theorie.

Socket
Der Einfache Client und der Echo-Server sind Anwendungen. Damit zwei Anwendungen miteinander kommunizieren können, müssen diese voneinander die IP-Adresse und den Port wissen. Die Kombination IP und Port wird als Socket bezeichnet und häufig in der Form IP-Adresse:Port geschrieben, z.B. 192.168.0.12:55555.
TCP Protokoll
Das TCP Protokoll ist für den Aufbau und das Garantieren einer stabilen Verbindung zwischen zwei Rechnern zuständig. Dazu wird jede empfangene Nachricht (jeder empfangene Nachrichtenteil) mit einem TCP Protokoll bestätigt. Bleibt solch eine Bestätigung aus, so wird die Nachricht erneut gesendet.
3-Way Handshake
Der 3-Way Handshake ist ein Vorgehen in drei Schritten, um zu eine stabile Verbindung zwischen zwei Rechnern aufzubauen und zu testen. Dazu werden TCP Protokolle versendet. Salopp beschrieben läuft das wie folgt ab:

1. Rechner A an Rechner B: "Hey Rechner B, bist du online?"
2. Rechner B an Rechner A: "Yo Bro! Ist meine Antwort bei dir angekommen?"
3. Rechner A an Rechner B: "So was von!"

3. Netzwerk verstehen

⚠️ Dieses Kapitel baut auf den vorangehenden „Exkurs Aufbau einer stabilen Netzwerkverbindung“ auf.

✍ Auftrag – Filius 6

Loading ⌛ 👉 Das Switch-Netzwerk verstehen - Teil 1.

  1. ⚠️ Öffne erneut in Filius das Netzwerk, welches du unter dem Namen Filius05 abgespeichert hattest, aktiviere den Echo-Server, verbinde den Einfachen Client und schicke erneut die Nachricht „Hallo“.
  2. Öffne den Datenaustausch des Rechner 0.10 (im ▶️ Aktionsmodus Rechtsklick auf den Rechner 0.10). Wenn der Datenaustausch leer ist, so sende erneut vom Client eine Nachricht an den Echo-Server und trenne im Client die Verbindung.
  3. Wenn alles geklappt hat, sieht das aus wie in der Abbildung im nächsten Auftrag.
  4. Markiere diesen Auftrag als „Erledigt“.
✍ Auftrag – Filius 7

👉 Das Switch-Netzwerk verstehen - Teil 2.

⚠️ Achtung, da der Echo-Client bei jedem Verbindungsaufbau einen anderen zufälligen Port wählt, beziehen sich die Fragen auf den nachfolgenden Screenshot.

  1. Die Zeilen 3-5 zeigen den 3-Way Handshake. Der Client baut die Verbindung mit dem Server auf. Wie lauten die beiden Sockets in der Notation IP-Adresse:Port? Loading ⌛
  2. Wie ist der 3-Way Handshake in den Zeilen 3-5 aufgebaut? Nachricht 1 enthält eine Sequenznummer SEQ, in Nachricht 2 wird mit einer ACK Nummer geantwortet und eine neue SEQ geschickt, in Nachricht 3 wird wiederum mit einer ACK Nummer geantwortet.
    Um wie viel grösser ist die ACK Nummer in Nachricht 2 als die SEQ Nummer in der vorausgehenden Nachricht 1?Loading ⌛
  3. In der Zeile 6 schickt der Client dem Server die Nachricht „Hallo“. In Zeile 7 bestätigt der Server den Erhalt der Nachricht per TCP.
    Um wie viel ist die ACK Nummer der Empfangsbestätigungen in Zeile 7 grösser als die vorangehende SEQ Nummer (Zeile 5)? Und um wie viel ist die ACK Nummer der Empfangsbestätigungen in Zeile 9 grösser als die vorangehende SEQ Nummer (Zeile 7)?
    💡 Tipp: Die Nachricht Hallo besteht aus fünf Buchstaben. Loading ⌛
  4. Beim 3-Way Handshake in den Zeilen 3-5 wird mit dem Schlüsselwort SYN angezeigt, dass eine Verbindung aufgebaut wird. In den Zeilen 10-13 wird diese Verbindung mittels vier TCP Nachrichten wieder getrennt.
    Welches Schlüsselwort wird in den Zeilen 10-13 verwendet, um analog zu SYN das Beenden der Verbindung anzuzeigen?Loading ⌛


4. Exkurs Signalübertragung und Vermeidung von Signalkollisionen

🤓 Wie wird eigentlich ein Signal über ein LAN-Kabel oder über WLAN übertragen? Und was passiert, wenn zwei oder mehrere Rechner gleichzeitig senden?

Signalübertragung
Bei einer Verbindung über LAN-Kabel oder per WLAN wird beim Empfänger in regelmässigen Zeitabständen gemessen, ob ein digitales Signal eintrifft.

  • LAN-Kabel: Wird zum Messzeitpunkt eine Spannung von + 2-3 V erkannt, wird dies als digitale 1 interpretiert, eine Spannung von - 2-3 V wird als digitale 0 erkannt.
  • WLAN: Beim WLAN Funksignal werden durch verschiedene Signalstärken (Amplituden) und verschiedene Signalverschiebungen (Phasenverschiebungen) in jeder Zeiteinheit gleichzeitig mehrere Bits übertragen.
Vermeidung von Signalkollisionen
Senden mehrere Netzwerkkarten gleichzeitig, kann es bei einer LAN-Verbindung im Kabel und bei einer WLAN-Verbindung in der Luft zu einer Überlagerung (Kollision) der Signale kommen. Um das zu vermeiden, horcht ein Rechner in jedem Fall vor dem Senden erst einmal, ob bereits ein Signal übertragen wird. Falls nicht wird …

  • LAN-Kabel: … das Signal gesendet und während dem Senden mitgehört, um eine mögliche Kollision zu entdecken. Ist eine solche aufgetreten, so wartet der Sender eine zufällige Zeitdauer und sendet es erneut.
  • WLAN: … zuerst ein Ready to Send (RTS) Signal an den Empfänger geschickt und dieser antwortet mit einem Clear to Send (CTS) Signal, welches allen anderen Rechnern im Empfangsbereich signalisiert, dass diese eine Zeit lang nicht senden dürfen.


Eigene Notizen

Loading ⌛

1)
Bildquellen: Wenn nicht anders angegeben, stellen die Bilder Screenshots der Software Filius von Stefan Freischlad dar und unterliegen der GNU General Public License V3