**Dies ist eine alte Version des Dokuments!**
Netzwerke & Internet
Materialien
Aufgaben
Aufgaben A
Aufgabe A1: Unterseekabel
Ein typischer Schweizer Haushalt hat eine Internetverbindung von etwa $500$ Mbit / s. Wie viele solche Haushalte könnte man mit dem MAREA-Kabel versorgen, angenommen, dass alle gleichzeitig ihre Internetverbindung voll auslasten?
Aufgabe A2: Netzwerk mit direkten Verbindungen
- Betrachte ein Netzwerk mit $n$ Geräten, welche alle direkt miteinander verbunden sind. Wie viele Verbindungen / Kabel sind nötig?
- Entscheide selbst: Löse das Problem, indem du …
- eine mathematische Formel dafür herleitest (besser!) oder …
- einen Python-Code schreibst, der die Berechnung für dich übernimmt.
- Wie viele Kabel benötigt man für ein Netzwerk mit …
- $5$ Geräten (kleiner Haushalt)?
- $200$ Geräten (mittlere Firma)?
- $30$ Milliarden Geräten (Internet)?
A1
$320000$ Geräte (Google)
A2
Anzahl Verbindungen für $n$ Geräte: $$A = \frac{n-1}{2} \cdot n$$ Tipp für Herleitung: Berechne explizit für einige Beispiele:
- $n=5$: $A = 4 + 3 + 2 + 1 = 2 \cdot 5$
- $n=6$: $A = 5 + 4 + 3 + 2 + 1 = 2.5 \cdot 6$
- $n=7$: $A = 6 + 5 + 4 + 3 + 2 + 1 = 3 \cdot 7$
Mit Code:
def anzahl_verbindungen(n): a = 0 for i in range(1,n): a = a + i return a print(anzahl_verbindungen(1000000))
Problem: Dauert sehr lange, kaum berechenbar für $30$ Mia. Geräte
Aufgaben B
Aufgabe B1: IPv4-Adressen
- Wie viele verschiedene IPv4-Adressen gibt es?
- Reicht dies aus, um alle Geräte im Internet eindeutig zu adressieren?
- $2^{32} \approx 4.3$ Milliarden
- Nein, da ca. $30$ Milliarden Geräte gibt ++ </nodisp> === Aufgabe B2: Subnetzmaske === Eine typische Subnetzmaske in einem Heimnetzwerk ist $255.255.255.0$. Wie viele verschiedene Geräte kann man maximal haben in diesem Subnetz? <nodisp 1> ++++Lösung Für Hosts stehen $8$ Bits zur verfügung, also $2^8-2 = 254$ Geräte. Achtung: Muss $2$ abziehen, da zwei Adressen nicht an Geräte vergeben werden - später mehr dazu. </nodisp> === Aufgabe B3: Mein IP === 1. Stelle sicher, dass dein Computer mit dem Eduroam-Netz der Schule verbunden ist. Bestimme dann die **(lokale) IP deines Geräts** in diesem Subnetz, sowie die **Subnetzmaske** (siehe unten). 1. Trage deine IP mit Name in Tabelle an Wandtafel. 1. Wie viele Geräte können sich mit diesem Subnetz verbinden? Reicht dies oder sollte man die Subnetzmaske anpassen? Win: * Terminal: ipconfig Mac: * Terminal: ifconfig * Systemeinstellung / Netzwerk / WLAN / Weitere Optionen / TCP/IP <nodisp 2> ++++Lösung
1. IP (Beispiel): $172.16.27.145$, Subnetzmaske: $255.255.248.0$ 1. $11$ Bits für Hosts, also $2^{11}-2 = 2046$ Hosts. Ca. $600$ Personen an KSR, sollte also passen.
1. MAC-Adressen bestehen aus $6$ Bytes, also $6*8 = 48$ bits. 1. Typischerweise wird jedes Byte mit einer zweistelligen Hexadezimalzahl ($16$er System) geschrieben, z.B. `2b:80:41:ae:fd:7e`. 1. Anzahl Möglichkeiten: $16^{12} = {2^{4}}^{12} = 2^{48} \approx 281 \cdot 10^{12}$, allerdings sind zwei Bits fix, also deshalb nur $2^{46} \approx 70 \cdot 10^{12}$ 1. ca. $9000$ Geräte (MAC mit $46$ freien Bits), mit $48$ Bits wären es sogar etwa $35000$. Wird irgendwann nicht mehr reichen. Laut Quellen im Internet dürften um 2040 die MAC-Adressen ausgehen.
1. IP-Adresse: 1.1.3.2 1. IP-Adresse: 1.1.1.5 1. IP-Adresse: 94.130.229.77 1. IP-Adresse: 1.1.3.1
Teil II: Notiere die Routing-Tabelle für den Router 1.1.8.1/3.3.3.8
==== Aufgaben D: TCP/IP ==== === Aufgabe D === Studiere die TCP/IP-Visualisierung: https://oinf.ch/interactive/tcp-ip-visualisierung/ Diese zeigt sehr detailliert, was genau passiert, wenn man eine Website aufruft. Hole dir aus den Slides die nötigen Informationen, um die folgenden Fragen zu beantworten:
1. Was ist ein **Three Way Handshake** und wozu werden die **SYN,ACK,FIN**-Bits gebraucht? 1. Wofür steht **ARP**? Wozu wird dieses Protokoll benötigt und wie funktioniert es (grob)?
==== Aufgaben E: Repetition ==== Beantworte die folgenden Fragen. Achtung, nicht alles wurde im Unterricht behandelt. Recherchiere dazu in den Slides (am Anfang der Website) und im Internet! === Aufgabe E1: 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 2>
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, ...
* 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.
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]]
* ARP * DNS * Ethernet * HTTP * IP * MAC * TCP * UDP
Weitere wichtige Protokolle:
* SMTP: Simple Mail Transfer Protocol (Mail) * DHCP: Dynamic Host Configuration Protocol (Vergabe von IP-Adressen in Subnetz)
* 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> === 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 2> ++++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.
* 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
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, dass129.132.*
via3.3.3.5
weitergeleitet wird * Zeile 5 bestimmt, dass alle Pakete an3.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 2> ++++Lösung Die KSR verwendet 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)
- gf_informatik/web/internet/aufgaben.1670341661.txt.gz
- Zuletzt geändert: 2022-12-06 15:47
- von
hof