faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:start [15.12.2021 17:01] – [Ein Experiment mit Filius] sbelfaecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:start [09.11.2023 20:09] (aktuell) – [TCP-Verbindungsaufbau: Three-Way-Handshake] Frank Schiebel
Zeile 28: Zeile 28:
  
  
-Öffne das folgende Filius-Szenario:  und aktiviere zunächst **alle** Modemverbindungen.+Öffne das folgende Filius-Szenario:  [[https://codeberg.org/qg-info-unterricht/filius-dateien-wiki/raw/branch/main/tcp_ip/paketbasierte_kommunikation.fls|paketbasierte_kommunikation.fls]] und aktiviere zunächst **alle** Modemverbindungen.
  
 Beim empfangenden Modem (das auf eingehende Verbindungsanfragen wartet) die Schaltfläche "Aktivieren klicken", dann beim Gegenstück auf "Verbinden". Wenn die Verbindung zustande gekommen ist, haben beide Modems einen grünen Punkt: Beim empfangenden Modem (das auf eingehende Verbindungsanfragen wartet) die Schaltfläche "Aktivieren klicken", dann beim Gegenstück auf "Verbinden". Wenn die Verbindung zustande gekommen ist, haben beide Modems einen grünen Punkt:
Zeile 37: Zeile 37:
  
 {{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:auswahl_110.png?500 |}} {{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:auswahl_110.png?500 |}}
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A1) ===
  
   * Öffne auf dem Laptop mit der IP-Adresse 192.168.1.10 (links oben) eine Kommandozeile   * Öffne auf dem Laptop mit der IP-Adresse 192.168.1.10 (links oben) eine Kommandozeile
-  * Pinge den Rechner mit der Adresse 192.168.0.12 an und beobachte am blinken der Verbindungsleitungen, welchen Weg die ICMP Pakete nehmen. +  * Pinge den Rechner mit der Adresse 192.168.0.11 an und beobachte am Blinken der Verbindungsleitungen, welchen Weg die ICMP Pakete nehmen.  
 +  * Wiederhole den Versuch mit dem Zielrechner 192.168.0.12. Was fällt dir auf? Kannst du anhand der Konfiguration der Rechner (mit den Mauszeiger über dem Rechner stehen bleiben) eine Erklärung für das Verhalten finden? 
 +  * Füge zwischen den beiden Switches oben ein Kabel ein. 
 +  * Wiederhole die beiden Versuche von oben und notiere deine Beobachtungen. Erläutere den Begriff "Paketbasierte Kommunikation" anhand deiner Beobachtungen.
  
  
Zeile 46: Zeile 53:
 Mit dem TCP Protokoll kann man Informationen in beide Richtungen übertragen. Kommunikation über TCP ermöglicht es, zur gleichen Zeit Daten zu senden und zu empfangen. Die Übertragungseinheiten, auf die TCP bei der Datenübertragung  zurückgreift, sind Segmente (Pakete), die zusätzlich zu den Nutzdaten auch Metainformationen enthalten können. Die maximale Paketgröße ist auf 1.500 Byte beschränkt (MTU - "Maximum Transfer Unit"). Verbindungsauf- und -abbau und auch die Datenübertragung werden von TCP-Software im Netzwerk-Protokollstapel des Betriebssystems übernommen. Mit dem TCP Protokoll kann man Informationen in beide Richtungen übertragen. Kommunikation über TCP ermöglicht es, zur gleichen Zeit Daten zu senden und zu empfangen. Die Übertragungseinheiten, auf die TCP bei der Datenübertragung  zurückgreift, sind Segmente (Pakete), die zusätzlich zu den Nutzdaten auch Metainformationen enthalten können. Die maximale Paketgröße ist auf 1.500 Byte beschränkt (MTU - "Maximum Transfer Unit"). Verbindungsauf- und -abbau und auch die Datenübertragung werden von TCP-Software im Netzwerk-Protokollstapel des Betriebssystems übernommen.
  
-Der TCP-Stack des Betriebssystems wird von den Netzwerkanwendungen wie Webbrowsern oder Serverprogrammen über spezifische Schnittstellen bedient, jede Verbindung ist dabei durch zwei Endpunkte -- **Client** und **Server** -- definiert. Welcher Kommunikationspartner die Client- und welche die Serverrolle übernimmt, spielt dabei zunächst keine Rolle – wichtig ist, dass der TCP-Stack an jedem Endpunkt ein eindeutiges, Paar aus **IP-Adresse** und **Port** verwenden kann.+Der TCP-Stack des Betriebssystems wird von den Netzwerkanwendungen wie Webbrowsern oder Serverprogrammen über spezifische Schnittstellen bedient, jede Verbindung ist dabei durch zwei Endpunkte -- **Client** und **Server** -- definiert. Welcher Kommunikationspartner die Client- und welche die Serverrolle übernimmt, spielt dabei zunächst keine Rolle – wichtig ist, dass der TCP-Stack an jedem Endpunkt ein eindeutiges, Paar aus **IP-Adresse** und **Port** verwenden kann. Sein solches Paar nennt man auch einen **Socket**.
  
 **Beispiel:**  **Beispiel:** 
Zeile 52: Zeile 59:
 {{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:server-client.png |}} {{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:server-client.png |}}
  
 +==== Exkurs: Sockets ====
  
 +Ein **Server** ist ein Programm, das Dienste zur Verfügung stellt, häufig wird es auf einem Server (Gerät) dauerhaft im Hintergrund ausgeführt. Es stellt seine Dienste an einem Port zur Verfügung. Zusammen mit der IP-Adresse des Servergeräts kommuniziert es also über einen Socket mit der Außenwelt. So kann ein Servergrät viele Serverdienste anbieten, ohne dass es zu Kollisionen kommt.
 +
 +{{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:serverdienste.drawio.png |}}
 +
 +Ein Client ist ein Programm, das auf die Dienste eines Serverprogramms zugreift. Es wird meist auf dem Clientgerät ausgeführt, z.B. dem Laptop oder Smartphone, mit dem ein Benutzer mit Netzwerkdiensten in Interaktion tritt. 
 +
 +Für jede aktive Netzwerkverbindung verwendet auch das Clientgerät einen eigenen Socket - in der Spalte ganz links sind auch die jeweiligen Client-Programme aufgelistet, die den Socket verwenden.
 +
 +{{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:lsof.png |}}
 ==== TCP-Verbindungsaufbau: Three-Way-Handshake ==== ==== TCP-Verbindungsaufbau: Three-Way-Handshake ====
  
Zeile 63: Zeile 80:
   * Zum Abschluss des Verbindungsaufbaus bestätigt der Client den Erhalt des SYN-ACK-Segments, indem er ein eigenes ACK-Paket versendet, das die um 1 erhöhte Sequenznummer des Servers enthält.   * Zum Abschluss des Verbindungsaufbaus bestätigt der Client den Erhalt des SYN-ACK-Segments, indem er ein eigenes ACK-Paket versendet, das die um 1 erhöhte Sequenznummer des Servers enthält.
  
-{{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:3wayhs.png |}}+{{ :faecher:informatik:oberstufe:netzwerke:kommunikationsarten_und_tcp:3wayhs.drawio.png |}}
  
  
 ---- ----
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
-=== (A1) ===+=== (A2) ===
 Öffne in Filius das folgende Beispiel [[https://codeberg.org/qg-info-unterricht/filius-dateien-wiki/raw/branch/main/tcp_ip/webserver_client.fls|webserver_client.fls]]. Auf dem Laptop ist ein Webbrowser installiert, öffne mit diesem die Webseite auf den Server (192.168.0.1)  Öffne in Filius das folgende Beispiel [[https://codeberg.org/qg-info-unterricht/filius-dateien-wiki/raw/branch/main/tcp_ip/webserver_client.fls|webserver_client.fls]]. Auf dem Laptop ist ein Webbrowser installiert, öffne mit diesem die Webseite auf den Server (192.168.0.1) 
  
Zeile 78: Zeile 95:
  
 === Material === === Material ===
 +
  
 {{simplefilelist>.:*}} {{simplefilelist>.:*}}
  • faecher/informatik/oberstufe/netzwerke/kommunikationsarten_und_tcp/start.1639584106.txt.gz
  • Zuletzt geändert: 15.12.2021 17:01
  • von sbel