Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:web_sca:netzwerke:zusatzaufgaben_2 [2023-12-05 15:55] – angelegt scagf_informatik:web_sca:netzwerke:zusatzaufgaben_2 [2023-12-05 15:56] (aktuell) sca
Zeile 1: Zeile 1:
 ====== Zusatzaufgaben Verschiedenes ====== ====== Zusatzaufgaben Verschiedenes ======
 +
 +Beantworte die folgenden Fragen. Achtung, nicht ganz alles wurde im Unterricht behandelt. Recherchiere dazu in den Slides und im Internet!
 +
 +=== Aufgabe 1: Schichtenmodell ===
 +Beschreibe die Verbindungs-Schichten des Internets. Nenne für jede Schicht:
 +  * Name
 +  * Analogie im Postversand
 +  * Welche Abstraktion bietet sie der nächstoberen Schicht?
 +  * Welche Adressen werden verwendet?
 +  * Nenne ein Internet-Protokoll, das in der Schicht verwendet wird.
 +<nodisp 1>
 +++++Lösung| 
 +  * Anwendungsschicht
 +    * Analogie: Versand von Gegenständen (Möbel, Bücher...)
 +    * Abstraktion: --
 +    * Adressen: --
 +    * Internet-Protokoll: HTTP(S), SMTP, DNS, ...
 +  * Transportschicht
 +    * Analogie: Übertragung einer ganzen Sendung aus mehreren Paketen, mit Lieferschein.
 +    * Abstraktion: (bidirektionaler) Datenstrom
 +    * Adressen: TCP-Ports
 +    * Internet-Protokoll: TCP, UDP
 +  * Vermittlungsschicht (*Internet Layer*)
 +    * Analogie: Post-Pakete
 +    * Abstraktion: (Einweg-) Paketvermittlung Ende-zu-Ende
 +    * Internet-Protokoll: IP
 +  * Netzzugangsschicht (*Link Layer* , *Physical Layer*)
 +    * Analogie: Transport über eine einzelne Strecke.
 +    * Abstraktion: Paket-Vermittlung über eine einzelne Verbindung
 +    * Internet-Protokolle: Ethernet (LAN), WiFi (WLAN), DSL, LTE, ...
 +++++
 +</nodisp>
 +
 +=== Aufgabe 2: Adressen im Internet ===
 +
 +Welche drei Adress-Arten im Internet haben wir angeschaut? Beschreibe deren Eigenschaften und Unterschiede. Mache für jede Art von Adresse ein Beispiel.
 +
 +<nodisp 1>
 +++++ Lösung|
 +  * **Domain / URL**
 +    * Domain:
 +      * Beispiel: `www.ethz.ch`
 +      * Eigenschaften:
 +        * Identifiziert einen Server (oder einen Server-Namensraum) im Internet.
 +        * Ist hierarchisch aufgebaut: am Schluss steht die Top-Level-Domain (entweder eine Länder-Domain wie `.ch` oder eine globale Domain wie `.com` oder `.org`), danach folgen die unter-Domains (im Beispiel `ethz`, danach `www`).
 +        * Ist Teil eines URLs.
 +    * URL (bisher nicht explizit besprochen)
 +      * Beispiel: `http://www.ethz.ch/index.html`
 +      * Eigenschaften:
 +        * Identifiziert eine Resource ("Datei") im Internet.
 +        * Wird insbesondere von HTTP benutzt, um Resourcen wie HTML und CSS von einem Webserver über das Internet zu laden.
 +        * Der zweite Teil (www.ethz.ch) ist eine Domain (Servername)
 +  * IP-Adresse
 +    * Beispiel: `129.132.98.12`
 +    * Eigenschaften:
 +      * Identifiziert ein Gerät (eigentlich: eine Netzwerk-Karte) im Internet.
 +      * Pakete werden auf der Vermittlungsschicht von einer IP-Adresse an jede andere geroutet.
 +      * Besteht aus 32 bit (IPv4) oder 128 bit (IPv6)
 +      * Es gibt ca. 4 Milliarden (2<sup>32</sup>) IPv4-Adressen.
 +      * IP-Adressen sind logische Adressen - dasselbe Gerät erhält eine andere IP-Adresse, wenn es in einem anderen Netz eingebunden wird.
 +  * MAC-Adresse
 +    * Beispiel (müssen Sie nicht wissen): `00:80:41:ae:fd:7e`
 +    * Eigenschaften:
 +      * Identifiziert ein Geräte (eigentlich: eine Netzwerk-Karte) im lokalen Subnetz.
 +      * MAC-Adressen sind fix, jede Netzwerkkarte hat fix eine MAC-Adresse zugewiesen. Sie ändert sich nicht, wenn das Gerät in einem anderen Netzwerk angemeldet wird.
 +      * MAC-Adressen spielen nur für das lokale Subnetz eine Rolle, sie werden vom Router nicht weitergeleitet.
 +++++
 +</nodisp>
 +
 +=== Aufgabe 3: Was ist ein Protokoll?===
 +Nenne ein Protokoll aus dem Internet und aus der realen Welt. Was zeichnet ein Protokoll aus?
 +
 +<nodisp 1>
 +++++Lösung|
 +Ein Protokoll ist eine standardisierte Kommunikation und definiert den zeitlichen Ablauf sowie das Format der ausgetauschten Nachrichten. Viele Protokolle können beliebige Inhalte (zum Beispiel höhere Protokolle) also Nutzlast (*payload*) transportieren. Die Protokoll-spezifischen Teile der Kommunikation (Adressen etc.) heissen *Metadaten*.
 +
 +Protokolle aus dem Internet z.B.:
 +  * HTTP(S)
 +  * SMTP
 +  * DNS
 +  * TCP
 +  * UDP
 +  * IP (*Internet Protocol* - Achtung: oft sprechen wir von der "IP" wenn wir eigentlich die *IP-Adresse* (also z.B. `129.132.98.12`) meinen. Aber *IP* bezeichnet streng genommen das Internet Protokoll auf der Vermittlungsschicht).
 +  * Ethernet
 +  * LTE
 +
 +Protokolle aus der realen Welt:
 +  * Flugfunk
 +  * Begrüssungsrituale
 +  * Diplomatisches Protokoll (wer sitzt neben wem, Begrüssungsreihenfolge...)
 +  * Telefongespräche (`Do isch Wullschleger-Haslebacher!` - `Grüetsi Frau Wullschleger-Haslebacher, do isch Rüegsegger` etc.)
 +    * Vergessen Sie nicht den [[https://youtu.be/LCAUpnUVwMU?t=340|Schluss des Gesprächs]]
 +
 +++++
 +</nodisp>
 +
 +
 +
 +== Teil II ==
 +
 +   * Für Protokolle mit Abkürzungen: Wofür stehen diese?
 +   * Erkläre für jedes Protokoll in $2-3$ Sätzen, wofür es verwendet wird.
 +
 +<nodisp 1>
 +++++Lösung|
 +
 +Behandelte Protokolle:
 +
 +   * ARP: Adress Resolution Protocol (Finde Gerät mit gesuchter MAC-Adresse, schicke dazu Broadcast Nachricht an alle Geräte im Subnetz, siehe z.B. https://oinf.ch/interactive/tcp-ip-visualisierung/)
 +   * DNS: Domain Name System
 +   * Ethernet (kabelgebundene Datenübertragung von Gerät zu Gerät
 +   * HTTP: HyperText Transfer Protocol
 +   * IP: Internet Protocol
 +   * MAC: Media-Access-Control
 +   * TCP: Transmission Control Protocol
 +   * UDP: User Datagram Protocol
 +
 +Weitere wichtige Protokolle:
 +
 +   * SMTP: Simple Mail Transfer Protocol (Mail)
 +   * DHCP: Dynamic Host Configuration Protocol (Vergabe von IP-Adressen in Subnetz)
 +
 +++++
 +</nodisp>
 +
 +== Teil III ==
 +
 +   * Beschrifte die vier Schichten des Schichtenmodells ...
 +   * ... und trage jedes Protokoll in der richtigen Schicht ein:
 +
 +{{ :gf_informatik:web_sca:schichtenmodell_leer.png?400 |}}
 +
 +
 +<nodisp 1>
 +++++Lösung|
 +{{ :gf_informatik:web_sca:schichtenmodell_leer_sol.png?400 |}}
 +++++
 +</nodisp>
 +
 +=== Aufgabe 5: Verbindungsprobleme===
 +Bei einem Webseiten-Aufruf auf `http://www.ethz.ch/index.html` triffst du auf die folgenden fünf Probleme. Beschreibe für jeden Fehler, auf welcher Netzwerkebene der Fehler liegt, und was da passiert (sein könnte).
 +
 +  * `Internet disconnected`
 +  * `No route to host www.ethz.ch`
 +  * `Cannot resolve host www.ethz.ch`
 +  * `Server www.ethz.ch timed out`
 +  * `404 Resource not found`
 +
 +<nodisp 1>
 +++++Lösung|
 +
 +  * `Internet disconnected`
 +    * Netzzugangsschicht: fehlende Netzverbindung (z.B. kein WLAN)
 +  * `No route to host www.ethz.ch`
 +    * Vermittlungsschicht: keine Route zur Ziel-IP-Adresse.
 +  * `Cannot resolve host www.ethz.ch`
 +    * Anwendungsschicht: Problem mit dem DNS-Server, oder unbekannte Domain
 +  * `Server www.ethz.ch timed out`
 +      * Könnte auf allen Schichten verursacht werden:
 +        * Netzzugangsschicht: schlechte Verbindungsqualität
 +        * Vermittlungsschicht: fehlerhaftes Routing, Pakete gehen verloren
 +        * Transportschicht: fehlerhafte Geschwindigkeits-Aushandlung.
 +        * Anwendungsschicht: Webserver ist überlastet und antwortet nicht.
 +  * `404 Resource not found`
 +    * Anwendungsschicht: falsche URL, oder Webserver ist falsch konfiguriert.
 +
 +
 +++++
 +</nodisp>
 +
 +
 +=== Aufgabe E6: Was passiert bei einem Seitenaufruf im Internet?===
 +Du rufst die Website `http://www.ethz.ch/index.html` auf. Was passiert dabei auf jeder Netzwerkebene?
 +
 +Angaben:
 +  * Dein Gerät:
 +    * IP: 192.168.2.5
 +    * MAC-Adresse: 0xcafe
 +    * Router / Gateway: 192.168.2.1
 +  * Gateway:
 +    * IP: 192.168.2.1
 +    * MAC-Adresse: 0xface
 +  * DNS-Server:
 +    * IP: 8.8.8.8
 +    * löst die Domain `www.ethz.ch` auf zu `129.132.98.12`
 +
 +<nodisp 1>
 +++++Lösung|
 +  * Anwendungsschicht:
 +    * Browser löst Domain zu IP auf mit DNS auf `8.8.8.8` (erhält `129.132.98.12`)
 +    * Browser öffnet HTTP-Verbindung zu `www.ethz.ch`
 +      * Browser verlangt die Resource mit `GET /index.html`
 +      * Webserver antwortet mit HTML Inhalten
 +  * Transportschicht:
 +    * UDP-Stream zwischen `192.168.2.5:<random port 1>` und `8.8.8.8:53`
 +    * TCP-Stream zwischen `192.168.2.5:<random port 2>` und `129.132.98.12:80`
 +  * Vermittlungsschicht:
 +    * IP-Pakete zwischen `192.168.2.5` und `8.8.8.8`
 +    * IP-Pakete zwischen `192.168.2.5` und `129.132.98.12`
 +  * Netzzugangsschicht:
 +    * WLAN- oder Ethernet-Pakete zwischen 0xcafe und 0xface
 +
 +++++
 +</nodisp>
 +
 +=== Aufgabe E7: Routing===
 +Ein Internet-Router hat die folgende Routing-Tabelle. Was passiert mit einem IP-Paket mit Quell-IP `192.168.0.25` und Destination-IP `129.132.98.12`? Welche Zeilen der Tabelle muss der Router konsultieren?
 +
 +^ Zeile ^ IP-Präfix ^ Gateway / Netzwerkkarte ^
 +|1| 192.168.0.1 | localhost |
 +|2| 192.168.0 | wlan0 (WLAN-Adapter 1) |
 +|3| 129.132   | 3.3.3.5 |
 +|4| 3.3.3.17 | localhost |
 +|5| 3.3.3 | eth0 (Ethernetkarte 1) |
 +|6| * (default route) | 3.3.3.1 |
 +
 +<nodisp 1>
 +++++Lösung|
 +Das Paket wird via `3.3.3.5` weitergeleitet und zu diesem Zweck auf der Ethernetkarte 1 hinausgeschickt. Achtung: die Quell-Adresse spielt fürs Routing keine Rolle.
 +
 +Es braucht zwei Lookups in der Routing-Tabelle:
 +  * Zeile 3 bestimmt, dass `129.132.*` via `3.3.3.5` weitergeleitet wird
 +  * Zeile 5 bestimmt, dass alle Pakete an `3.3.3.5` über die Ethernetkarte 1 gesendet werden.
 +++++
 +</nodisp>
 +
 +=== Aufgabe E8: Private IPs===
 +Weshalb ist an der KSR die IP-Adresse deines Geräts eine andere, als die die auf `whatsmyip.org` angezeigt wird? Was hat das für Auswirkungen: was kannst du auf deinem Gerät nicht (so einfach) tun?
 +
 +<nodisp 1>
 +++++Lösung|
 +Die KSR verwendet [[gf_informatik:web:internet:ip_adressen#nat|NAT]]. Das heisst, intern werden nur IP-Adressen aus einem privaten Bereich vergeben. Der Router ersetzt die Quell-Adresse von ausgehenden Paketen mit seiner eigenen und merkt sich die Verbindung (*connection tracking*). Kommt ein Antwortpaket, so ersetzt der Router die Zieladresse des Pakets und leitet es intern weiter.
 +
 +Auswirkungen:
 +  * Das Gerät kann zwar Verbindungen nach aussen öffnen, aber von aussen können keine neuen Verbindungen zum Gerät erstellt werden.
 +  * Du kannst auf deinem Laptop keinen Server betreiben, der von aussen erreichbar ist.
 +    * Es ist schwierig, einen Webserver zu betreiben.
 +    * Es ist schwierig, einen Peer-to-peer-Client (Transmission, Gnutella...) zu betreiben (natürlich gibt es Workarounds)
 +++++
 +</nodisp>
  
  • gf_informatik/web_sca/netzwerke/zusatzaufgaben_2.1701791742.txt.gz
  • Zuletzt geändert: 2023-12-05 15:55
  • von sca