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)?
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?
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?
Aufgabe B3: Mein IP
- 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).
- Trage deine IP mit Name in Tabelle an Wandtafel.
- 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
Aufgabe B4: IPv4
- Wie du gesehen hast, reicht der IPv4-Standard nicht aus, um alle Geräte im Internet zu adressieren. Aus wie vielen Bytes müsste eine IP-Adresse mindestens bestehen, damit dies aktuell möglich ist?
- Tatsächlich wurde dieses Problem mit IPv6 bereits angegangen. Studiere den Eintrag zu IPv6.
Aufgabe B5: MAC-Adresse
- Bestimme die MAC-Adresse deines Computers (resp. von dessen Netzwerkkarte).
- In welchem Format wird diese geschrieben?
- Berechne, für wie viele Geräte dies reicht.
- Wie viele Geräte kann bei der aktuellen Weltbevölkerung eine Person im Durchschnitt gerade noch haben? Wird die mögliche Anzahl Adressen auch für die Zukunft ausreichen?
Aufgabe B6 (CIDR)
Subnetzmasken können auch durch CIDR-Suffix kürzer ausgedrückt werden. Dieser Wert gibt die Anzahl Bits an, die in der Subnetzmaske $1$ sind. Z.B. steht $/10$ für $255.192.0.0$. Erklärung: 255.192.0.0
entspricht binär 11111111.11000000.00000000.00000000
, hat also zehn Einsen.
Wandle um $4-$Byte-Notation $\rightarrow$ CIDR-Notation:
- $255.255.255.255$
- $255.255.255.0$
- $255.240.0.0$
Wandle um CIDR-Notation $\rightarrow$ $4-$Byte-Notation:
- $/7$
- $/25$
Zusatzaufgaben (Basic)
- Wie viele Hosts kann ein Netzwerk mit Subnetzmaske $255.255.255.192$ haben?
Zusatzaufgaben (Advanced)
Aufgabe 1
Schreibe ein Python-Programm (z.B. eine Funktion), welches für einen gegebenen CIDR-Suffix die entsprechende Subnetzmaske im $4$-Byte-Format (z.B. $255.192.0.0$) bestimmt und umgekehrt.
Aufgabe 2
Erweitere deinen Code der vorherigen Zusatzaufgabe und implementiere einen ultimativen Netzwerk-Rechner im Stile der folgenden Website: https://www.heise.de/netze/tools/netzwerkrechner/ Man soll seine IP-Adresse und CIDR-Suffix angeben können und zurück erhalten:
- Subnetzmaske (verwende Code von vorheriger Zusatzaufgabe)
- Anzahl Hosts
Die weiteren Angaben (IP-Range, Broadcast, …) können dann später hinzugefügt werden. Falls du bereits über Klassen/OOP Bescheid weisst, wäre diese Aufgabe ein gutes Anwendungsbeispiel.
Aufgaben C
Aufgabe C1
Betrachte folgendes Netzwerk
Die Routing-Tabelle für den Router oben links ist:
Zeile | IP-Präfix | Router | Handlung |
---|---|---|---|
1 | 1.1.3.1 | localhost (ich selbst, Netzwerkkarte 1) | Paket empfangen (eigene Adresse) |
2 | 3.3.3.3 | localhost (auch ich selbst, Netzwerkkarte 2) | Paket empfangen (eigene Adresse) |
3 | 1.1.3.0/24 | – | Direkt versenden über Netzwerkkarte 1, Ziel im gleichen Subnetz 1.1.3 |
4 | 3.3.3.0/24 | – | Direkt versenden über Netzwerkkarte 2, Ziel im gleichen Subnetz 3.3.3 |
5 | 1.1.1.0/24 | 3.3.3.2 | Weiterleiten über 3.3.3.2 |
6 | 1.1.8.0/24 | 3.3.3.8 | Weiterleiten über 3.3.3.8 |
7 | 1.1.6.0/24 | 3.3.3.4 | Weiterleiten über 3.3.3.4 |
8 | * | 3.3.3.1 | Alles andere: An den Router (auch Gateway) 3.3.3.1 senden zur Weiterleitung |
Teil I:
Der Router erhält ein Paket für eine gewisse IP-Adresse. Lese entsprechend die Routing-Tabelle aus und notiere die relevanten Zeilen:
- IP-Adresse: 1.1.3.2
- IP-Adresse: 1.1.1.5
- IP-Adresse: 94.130.229.77
- 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:
- Was ist ein Three Way Handshake und wozu werden die SYN,ACK,FIN-Bits gebraucht?
- Wofür steht ARP? Wozu wird dieses Protokoll benötigt und wie funktioniert es (grob)?