Dies ist eine alte Version des Dokuments!
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, wie in einem peer2peer. Der Switch identifiziert dabei die einzelnen Rechner über deren MAC-Adresse. Jeder WLAN-Access-Point fungiert auch als Switch, da sich mehrere Rechner damit gleichzeitig verbinden können.
✍ Auftrag – Filius 4
Loading ⌛
💡 Verbinde mehrere Rechner mithilfe eines Switch zu einem Netzwerk.
Öffne in Filius das Netzwerk, welches du unter dem Namen Filius02 abgespeichert hattest.
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.
Speichere das Netzwerk unter Filius04 ab, dieses wird für den Auftrag Filius 5 gebraucht.
Markiere diesen Auftrag als „Erledigt“.
- Server Dienste
- Ein Server ist ein Rechner, der einen Dienst zur Verfügung stellt. Ein einfacher Server Dienst ist der „Echo-Server“. Dieser sendet einfach 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.
Wechsle in den Aktionsmodus.
Klicke auf den Server 0.12
und installiere den Echo-Server
.
Starte den Echo-Server
mit dem Port 55555
.
Installiere auf dem Rechner 0.10
den Einfacher Client
.
Starte den Einfacher Client
, gibt die Server IP-Adresse ein, klicke auf Verbinden
und sende die Nachricht Hallo
.
Trenne danach auf dem Einfacher Client
die Verbindung.
Wenn alles geklappt hat, siehst du im Einfacher Client
die Nachricht gesendete <<Hallo
(die <<
zeigen das Senden an). Darunter steht die empfangene Nachricht >>Hallo
(die >>
zeigen das Empfangen an).
Speichere das Netzwerk unter Filius05 ab, dieses wird für den Auftrag Filius 6 gebraucht.
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. Dieses Duo 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 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 beschreibt ein Vorgehen in drei Schritten, um zu testen, ob eine stabile Verbindung zwischen zwei Rechnern aufgebaut werden kann. 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.
⚠️ Ö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“.
Ö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.
Wenn alles geklappt hat, sieht das aus wie in der Abbildung im nächsten Auftrag.
Markiere diesen Auftrag als „Erledigt“.
✍ Auftrag – Filius 7
💡 Das Switch-Netzwerk verstehen - Teil 2.
⚠️ Da der Echo-Client bei jedem Verbindungsaufbau einen anderen zufälligen Port wählt, beziehen sich die Fragen auf den nachfolgenden Screenshot.
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 ⌛
Wie ist der 3-Way Handshake in den Zeilen 3-5 aufgebaut? Nachricht 1 enthält eine Sequenznummer SEQ
, in Nachricht 2 wird mit einerACK
Nummer geantwortet und eine neue SEQ
geschickt, in Nachricht 3 wird wiederum mit einerACK
Nummer geantwortet. Um wie viel grösser ist die ACK
Nummer als die vorangehende SEQ
Nummer?Loading ⌛
In den Zeilen 6 und 8 werden die „Hallo“ Nachrichten mit einer SEQ
Nummer ausgetauscht. In den Zeilen 7 und 9 wird jeweils der Erhalt per TCP bestätigt. Klicke im Filius Datenaustausch auf die beiden Hallo-Nachrichten, um die Details darin sehen zu können. Um wie viel sind die ACK
Nummern der Empfangsbestätigungen grösser als die SEQ
Nummern in den Hallo-Nachrichten (die Nachricht Hallo
besteht aus fünf Buchstaben)?Loading ⌛
In den Zeilen 10-13 wird die Verbindung per TCP ähnlich dem 3-Way Handshake mittels vier TCP Nachrichten getrennt. Beim 3-Way Handshake zum Aufbau der Verbindung in den Zeilen 3-5 wird mit dem Schlüsselwort SYN
angezeigt, dass eine Verbindung aufgebaut wird. Welches Schlüsselwort wird in den Zeilen 10-13 verwendet, um 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
- Ein digitales Signal, das über ein LAN-Kabel oder per WLAN im Raum übertragen wird, wird beim Empfänger in regelmässigen Zeitabständen gemessen.
- 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 Amplituden (Signalstärken) und verschiedene Phasen (Signalverschiebungen) in jeder Zeiteinheit gleichzeitig mehrere Bits übertragen.
- Vermeidung von Signalkollisionen
- Wenn zwei über LAN-Kabel verbundene Netzwerkkarten oder mehrere Rechner im gleichen WLAN-Empfangsbereich gleichzeitig senden, kann es zu einer Überlagerung (Kollision) zweier Signale kommen. Um das zu vermeiden, horcht ein Rechner in jedem Fall vor dem Senden erst einmal, ob bereits ein Signal übertragen wird. Danach 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), das an den Empfänger adressiert ist, geschickt und dieser antwortet mit einem Clear to Send (CTS) Signal, welches allen anderen Rechnern im Empfangsbereich signalisiert, für die vom CTS geforderten Zeit nicht selber zu senden.
Eigene Notizen