Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
p:netzwerke:mehrere_rechner [2023/09/29 12:15] Tscherter, Vincentp:netzwerke:mehrere_rechner [2024/09/30 15:09] (aktuell) – [💻-💻-💻 Mehrere Rechner verbinden] Ralf Kretzschmar
Zeile 1: Zeile 1:
-{{gem/mgr}}{{ gem/pageinfo}}+Navigation: [[p:netzwerke:peer2peer]] —> [[p:netzwerke:mehrere_rechner]] —> [[p:netzwerke:mehrere_netzwerke]] —> [[p:netzwerke:webserver]] {{gem/mgr}}{{ gem/pageinfo}}
  
 ====== 💻-💻-💻 Mehrere Rechner verbinden ====== ====== 💻-💻-💻 Mehrere Rechner verbinden ======
  
-  ; 🎯 Worum geht es?((Bildquellen: Wenn nicht anders angegeben, stellen die Bilder Screenshots der [[https://www.lernsoftware-filius.de|Software Filius]] von Stefan Freischlad dar und unterliegen der [[https://www.gnu.org/licenses/gpl-3.0.html|GNU General Public License V3]]))+**🎯 Worum geht es?**((Bildquellen: Wenn nicht anders angegeben, stellen die Bilder Screenshots der [[https://www.lernsoftware-filius.de|Software Filius]] von Stefan Freischlad dar und unterliegen der [[https://www.gnu.org/licenses/gpl-3.0.html|GNU General Public License V3]]))
   * Du baust ein einfaches Netzwerk mit mehreren Rechnern auf.   * 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 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.   * Du lernst wie vermieden wird, dass wenn zwei Rechner im selben Empfangsbereich gleichzeitig senden, sich die Signale gegenseitig stören.
-\\+
 ~~INTOC~~ ~~INTOC~~
  
 +\\ 
 ===== - Netzwerk einrichten und testen ===== ===== - Netzwerk einrichten und testen =====
  
   ; Switch   ; Switch
-  : Ein **Switch** ist ein Gerät, das es erlaubt, mehrere Rechner miteinander zu verbinden, wie in einem [[c:netzwerk: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.+  : 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.
  
 <WRAP center round box > <WRAP center round box >
 == ✍ Auftrag – Filius 4 == == ✍ Auftrag – Filius 4 ==
 {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#e3cfe457118e82b0}} {{ :p:netzwerke:entwurfsmodus.png?nolink&51|}} {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#e3cfe457118e82b0}} {{ :p:netzwerke:entwurfsmodus.png?nolink&51|}}
-💡 Verbinde mehrere Rechner mithilfe eines Switch zu einem Netzwerk.+👉 Verbinde mehrere Rechner mithilfe eines Switch zu einem Netzwerk.
   - Öffne in Filius das Netzwerk, welches du unter dem Namen Filius02 abgespeichert hattest.   - Ö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.   - 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.
Zeile 27: Zeile 28:
  
   ; Server Dienste   ; 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).+  : 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).
  
 <WRAP center round box > <WRAP center round box >
 == ✍ Auftrag – Filius 5 == == ✍ Auftrag – Filius 5 ==
 {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#c71c9a2ae7eedd20}} {{ :p:netzwerke:aktionsmodus.png?nolink&51|}} {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#c71c9a2ae7eedd20}} {{ :p:netzwerke:aktionsmodus.png?nolink&51|}}
-💡 Teste mit einem Echo-Server, ob das Netzwerk funktioniert. +👉 Teste mit einem Echo-Server, ob das Netzwerk funktioniert. 
-  - Wechsle in den Aktionsmodus.+  - Wechsle in den ▶️ Aktionsmodus.
   - Klicke auf den ''Server 0.12'' und installiere den ''Echo-Server''.   - Klicke auf den ''Server 0.12'' und installiere den ''Echo-Server''.
   - Starte den ''Echo-Server'' mit dem Port ''55555''.   - Starte den ''Echo-Server'' mit dem Port ''55555''.
   - Installiere auf dem ''Rechner 0.10'' den ''Einfacher Client''.   - 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''.+  - Starte den ''Einfacher Client'', gib die Server IP-Adresse ein, klicke auf ''Verbinden'' und sende die Nachricht ''Hallo''.
   - Trenne danach auf dem ''Einfacher Client'' die Verbindung.   - 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). +  - 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). 
   - Speichere das Netzwerk unter Filius05 ab, dieses wird für den Auftrag Filius 6 gebraucht.   - Speichere das Netzwerk unter Filius05 ab, dieses wird für den Auftrag Filius 6 gebraucht.
   - Markiere diesen Auftrag als "Erledigt".   - Markiere diesen Auftrag als "Erledigt".
 </WRAP> </WRAP>
 +\\ 
 ===== - Exkurs Aufbau einer stabilen Netzwerkverbindung ===== ===== - Exkurs Aufbau einer stabilen Netzwerkverbindung =====
  
Zeile 49: Zeile 50:
  
   ; Socket   ; 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''.+  : 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   ; 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.+  : 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   ; 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:+  : 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?"   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?"   2. Rechner B an Rechner A: "Yo Bro! Ist meine Antwort bei dir angekommen?"
Zeile 67: Zeile 68:
 == ✍ Auftrag – Filius 6 == == ✍ Auftrag – Filius 6 ==
 {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#a424202743148793}} {{ :p:netzwerke:aktionsmodus.png?nolink&51|}} {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#a424202743148793}} {{ :p:netzwerke:aktionsmodus.png?nolink&51|}}
-💡 Das Switch-Netzwerk verstehen - Teil 1.+👉 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 **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.+  - Ö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.   - Wenn alles geklappt hat, sieht das aus wie in der Abbildung im nächsten Auftrag.
   - Markiere diesen Auftrag als "Erledigt".   - Markiere diesen Auftrag als "Erledigt".
Zeile 75: Zeile 76:
 <WRAP center round box > <WRAP center round box >
 == ✍ Auftrag – Filius 7 == == ✍ Auftrag – Filius 7 ==
-💡 Das Switch-Netzwerk verstehen - Teil 2.+👉 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.+⚠️ Achtung, da der Echo-Client bei jedem Verbindungsaufbau einen anderen zufälligen Port wählt, beziehen sich die Fragen auf den nachfolgenden Screenshot.
  
 {{ :p:netzwerke:switchdatenaustausch.png?nolink |}} {{ :p:netzwerke:switchdatenaustausch.png?nolink |}}
   - 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//? {{gem/match?0=N4IgLgpgHmIFwgMoHsDGBrCYAEBRAlgHYBmAhqgBYQBO2AwgDb4SFhzYA6hKGWelyALSIaANxrZJk9iAA0IYg1IBzAM7wQ+OSGoRl0AA4aAdACoAjAE4ATBw7HzANgAcd4wAY3593DsATYABWAF8zLjMrW3snV3tPaOs4QOTkkGCgA#1b808147474123a5}}   - 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//? {{gem/match?0=N4IgLgpgHmIFwgMoHsDGBrCYAEBRAlgHYBmAhqgBYQBO2AwgDb4SFhzYA6hKGWelyALSIaANxrZJk9iAA0IYg1IBzAM7wQ+OSGoRl0AA4aAdACoAjAE4ATBw7HzANgAcd4wAY3593DsATYABWAF8zLjMrW3snV3tPaOs4QOTkkGCgA#1b808147474123a5}}
-  - 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 als die vorangehende ''SEQ'' Nummer?{{gem/match?0=N4IgLgpgHmIFwhAGhAMwDYEMDmBneIAlsiAE4TbQAOBAdAFQCMIAvkA#e6452a0af529102c}} +  - 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?{{gem/match?0=N4IgLgpgHmIFwhAGhAMwDYEMDmBneIAlsiAE4TbQAOBAdAFQCMIAvkA#e6452a0af529102c}} 
-  - In den Zeilen und 8 werden die "Hallo" Nachrichten mit einer ''SEQ'' Nummer ausgetauscht. In den Zeilen 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)?{{gem/match?0=N4IgLgpgHmIFwhAGhAMwDYEMDmBneIAlsiAE4TbQAOBAdAFQCsIAvkA#ec8ddfdc3b8204a3}} +  - In der Zeile schickt der Client dem Server die Nachricht "Hallo". In Zeile 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{{gem/match?0=N4IgLgpgHmIFwhAGhAMwDYEMDmBneIAlsiAE4TbQAOBAdAFQCsIAvkA#ec8ddfdc3b8204a3}} 
-  - 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?{{gem/match?0=N4IgLgpgHmIFwhAGhAMwDYEMDmBneIAlsiAE4TbQAOBAdAFQBiAkgHIgC+QA#021de09459e7fa6a}} +  - 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?{{gem/match?0=N4IgLgpgHmIFwhAGhAMwDYEMDmBneIAlsiAE4TbQAOBAdAFQBiAkgHIgC+QA#021de09459e7fa6a}} 
 </WRAP> </WRAP>
 +\\ 
 ===== - Exkurs Signalübertragung und Vermeidung von Signalkollisionen ===== ===== - Exkurs Signalübertragung und Vermeidung von Signalkollisionen =====
  
Zeile 91: Zeile 92:
  
   ; Signalübertragung   ; 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. +  : 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. +  **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. +  **WLAN:** Beim WLAN Funksignal werden durch verschiedene Signalstärken (Amplituden) und verschiedene Signalverschiebungen (Phasenverschiebungen) in jeder Zeiteinheit gleichzeitig mehrere Bits übertragen. 
  
   ; Vermeidung von Signalkollisionen   ; 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 ... +  : 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. +  **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.+  **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. 
 +\\  
 + 
 +===== - Auf zu noch grösseren Netzwerken..======
  
 +Fahre weiter mit: [[p:netzwerke:mehrere_netzwerke]].
  
 +\\ 
 === Eigene Notizen === === Eigene Notizen ===
 {{gem/quill#f17467c6e1289227}} {{gem/quill#f17467c6e1289227}}