Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:web:internet:aufgaben_a [2023-12-10 10:41] – [Lösungen] hof | gf_informatik:web:internet:aufgaben_a [2024-12-11 08:26] (aktuell) – [Lösungen D] hof | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
=== Aufgabe A1: Unterseekabel === | === 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? | + | Ein typischer Schweizer Haushalt hat eine Internetverbindung von etwa $500$ Mbit / s. Wie viele solche Haushalte könnte man mit dem [[wpde> |
=== Aufgabe A2: Netzwerk mit direkten Verbindungen === | === Aufgabe A2: Netzwerk mit direkten Verbindungen === | ||
Zeile 28: | Zeile 28: | ||
=== A1 === | === A1 === | ||
- | $320000$ Geräte | + | $320000$ Geräte: [[https:// |
=== A2 === | === A2 === | ||
Zeile 111: | Zeile 111: | ||
=== Aufgabe C4: IPv4 === | === Aufgabe C4: IPv4 === | ||
- | 1. Wie du gesehen hast, reicht der IPv4-Standard nicht aus, um alle Geräte im Internet zu adressieren. Aus wie vielen | + | 1. Wie du gesehen hast, reicht der IPv4-Standard nicht aus, um alle Geräte im Internet zu adressieren. Aus wie vielen |
1. Tatsächlich wurde dieses Problem mit IPv6 bereits angegangen. Studiere den Eintrag zu IPv6 unten: | 1. Tatsächlich wurde dieses Problem mit IPv6 bereits angegangen. Studiere den Eintrag zu IPv6 unten: | ||
++++IPv6 Info| | ++++IPv6 Info| | ||
- | Um die Knappheit der IPv4 Adressen zu lösen, wurde ab 1999 [[wpde> | + | Um die Knappheit der IPv4 Adressen zu lösen, wurde ab 1999 [[wpde> |
IPv6-Adressen werden meist in Blöcken zu vier Hexadezimalzahlen (0-9,a-f) dargestellt: | IPv6-Adressen werden meist in Blöcken zu vier Hexadezimalzahlen (0-9,a-f) dargestellt: | ||
Zeile 223: | Zeile 223: | ||
1. 62 | 1. 62 | ||
- | 1. 262142 | + | 1. 262142 |
- | 1. 19 | + | |
++++ | ++++ | ||
Zeile 297: | Zeile 297: | ||
</ | </ | ||
+ | |||
+ | ==== Aufgaben D: Vom Subnetz zum Internet ==== | ||
+ | |||
+ | === Aufgabe D1: Routing === | ||
+ | |||
+ | 1. Auf welcher Netzwerk-Ebene erfolgt das Routing? | ||
+ | 1. Weshalb ändert sich deine IP-Adresse, wenn du vom KSR-Netz zu deinem Heimnetz wechselst? | ||
+ | |||
+ | === Aufgabe D2: Gleiches Netzwerk oder nicht? === | ||
+ | |||
+ | Löse diese Aufgabe mithilfe von Python/ | ||
+ | |||
+ | In einem Subnetz mit Maske 255.255.255.192 hat ein Laptop die IP-Adresse 192.168.1.102. Aufgrund der Maske ist festgelegt, welche anderen IP-Adressen im gleichen Subnetz vergeben werden dürfen. Bestimme, welche der folgenden IP-Adressen in diesem Subnetz vergeben werden können und welche nicht: | ||
+ | |||
+ | * 192.168.1.33 | ||
+ | * 192.168.1.87 | ||
+ | * 192.168.1.130 | ||
+ | |||
+ | Begründe deine Antworten. Tipp 1: Es muss gerechnet werden, verwende dafür Python/ | ||
+ | |||
+ | *Optional:* (aber sehr empfohlen): Schreibe einen Code, mit dem du einfach IP-Adressen und Subnetzmasken von der dezimalen 4-Byte-Notation in die Binär-Notation umwandeln kannst und umgekehrt. Schreibe z.B. folgende Funktionen: | ||
+ | <code python> | ||
+ | print(ip_dec_to_bin([133, | ||
+ | print(ip_bin_to_dec(" | ||
+ | </ | ||
+ | |||
+ | ++++Tipps Python/ | ||
+ | |||
+ | Mit Python/ | ||
+ | <code python> | ||
+ | print(int(" | ||
+ | print(bin(13)) # Dezimalzahl in Binärstring umwandeln | ||
+ | </ | ||
+ | Erinnerung: Auch mit allen grundlegenden Operationen kann einfach gerechnet werden: | ||
+ | <code python> | ||
+ | print(2*3*5*7*11) | ||
+ | print(2**15) # Potenzen, Hoch-Rechnen | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | ++++Tipps 2| | ||
+ | |||
+ | Erinnerung: Die Subnetzmaske gibt an, in welchen Bits die IP-Adressen eines Netzwerks übereinstimmen müssen. Daher musst du die Adressen und Maske zuerst in Binärzahlen umrechnen. Verwende dazu Python/ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | === Aufgabe D3: I InformatikerIn === | ||
+ | |||
+ | Du wurdest beauftragt, ein Heimnetzwerk einzurichten, | ||
+ | |||
+ | * 5 Smartphones, | ||
+ | * Platz für weitere 5 Geräte. | ||
+ | |||
+ | Auftrag: | ||
+ | |||
+ | 1. Welche **Subnetzmaske** wählst du? Wähle diese so restriktiv wie möglich, so dass sie aber genügend Platz für die geforderte Anzahl Geräte bietet. Gib die Subnetzmaske in den folgenden drei Formaten an: 4-Byte, binär, CIDR | ||
+ | 1. Mache eine **Skizze des Netzwerks**, | ||
+ | |||
+ | === Aufgabe D4: Umrechnungen Repetition === | ||
+ | |||
+ | Solche Aufgabentypen hast du bereits gelöst. | ||
+ | |||
+ | 1. Wandle die Maske von der 4-Byte-Notation 255.254.0.0 in die CIDR-Notation um | ||
+ | 1. Wie viele IP-Adressen können im Subnetz aus 1. vergeben werden? | ||
+ | 1. Im Netzwerk einer Firma benutzen allerhöchstens $1000$ Geräte das Netzwerk. Welche Maske (in 4-Byte-Notation) sollte gewählt werden? | ||
+ | 1. In einem Netzwerk mit Maske /20 existiert ein Gerät mit IP 29.185.149.170. Ist es möglich, dass im gleichen Netzwerk auch die IP 29.185.144.42 vergeben wird? | ||
+ | |||
+ | === Aufgabe D5: Broadcast und Netzwerk Adresse === | ||
+ | |||
+ | Wir haben bereits gesehen, dass man beim Berechnen der Anzahl IP-Adressen, | ||
+ | |||
+ | * Die kleinste mögliche erlaubte IP-Adresse ist die sogenannte **Netzwerk Adresse.** Diese kann man als die Adresse des gesamten Netzwerks betrachten. | ||
+ | * Die grösste mögliche erlaubte IP-Adresse heisst **Broadcast Adresse.** Über diese kann man direkt alle Geräte des Subnetzes Adressieren. | ||
+ | |||
+ | In dieser Aufgabe geht es darum, für ein vorgegebenes Netzwerk diese beiden Spezialadressen zu ermitteln. Klicke auf " | ||
+ | |||
+ | ++++Tipps| | ||
+ | |||
+ | Stelle die Maske und die vorgegebene IP-Adresse im Binärsystem dar. Verwende dafür wieder Python. Die Netzwerk Adresse und Broadcast Adressen stimmen in dem Teil, in dem die Maske aus Einsen besteht mit der vorgegebenen IP-Adresse überein. Um die Netzwerk Adresse zu erhalten, füllst du den Rest mit Nullen auf (kleinste mögliche erlaubte IP-Adresse. Wie ermittelt man die Broadcast Adresse? | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | Ermittle die **Netzwerk Adresse** und die **Broadcast Adresse** für ein Netzwerk mit Maske ..., in dem die IP-Adresse ... vorkommt: | ||
+ | |||
+ | 1. Maske /24, IP-Adresse: 192.168.1.127 | ||
+ | 1. Maske /20, IP-Adresse: 29.185.149.17 | ||
+ | 1. In den beiden Netzwerken von 1. und 2.: Welches sind die kleinste und grösste IP-Adressen, | ||
+ | |||
+ | === Aufgabe D6 - Routingtabelle === | ||
+ | |||
+ | Ein Router hat die folgende Routing-Tabelle: | ||
+ | |||
+ | ^ IP-Präfix ^ Router ^ Handlung ^ | ||
+ | | 1.1.3.1/32 | -- | Paket empfangen (eigene Adresse) | | ||
+ | | 3.3.3.3/32 | -- | Paket empfangen (eigene Adresse) | | ||
+ | | 1.1.3.0/24 | -- | Direkt versenden über Netzwerkkarte 1, Ziel im gleichen Subnetz 1.1.3 | | ||
+ | | 3.3.3.0/24 | -- | Direkt versenden über Netzwerkkarte 2, Ziel im gleichen Subnetz 3.3.3 | | ||
+ | | 1.1.1.0/24 | 3.3.3.2 | Weiterleiten über 3.3.3.2 | | ||
+ | | 1.1.8.0/24 | 3.3.3.8 | Weiterleiten über 3.3.3.8 | | ||
+ | | 1.1.6.0/24 | 3.3.3.4 | Weiterleiten über 3.3.3.4 | | ||
+ | | 0.0.0.0/0 | 3.3.3.1 | Default-Route: | ||
+ | |||
+ | Entscheide, welche Zeilen für Pakete mit folgenden Ziel-Adressen zum Tragen kommen: | ||
+ | |||
+ | 1. '' | ||
+ | 1. '' | ||
+ | 1. '' | ||
+ | 1. '' | ||
+ | |||
+ | <nodisp 2> | ||
+ | </ | ||
+ | | ||
+ | |||
+ | ==== Lösungen D ==== | ||
+ | |||
+ | <nodisp 1> | ||
+ | <color blue> | ||
+ | |||
+ | |||
+ | ++++Aufgabe D1| | ||
+ | 1. Vermittlungsschicht | ||
+ | 1. Damit das Routing funktioniert, | ||
+ | ++++ | ||
+ | |||
+ | ++++Aufgabe D2| | ||
+ | |||
+ | * 192.168.1.33: | ||
+ | * 192.168.1.87: | ||
+ | * 192.168.1.130: | ||
+ | |||
+ | |||
+ | ++++ | ||
+ | |||
+ | ++++Aufgabe D3| | ||
+ | |||
+ | Wichtig: Stelle sicher, dass alle IP-Adressen im gleichen Subnetz vorkommen können. Siehe dazu Aufgabe D2. | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | ++++Aufgabe D4| | ||
+ | |||
+ | 1. $15$ | ||
+ | 1. $131070$ | ||
+ | 1. 255.255.252.0 | ||
+ | 1. Ja. Wandle IP-Adressen und Masken ins Binärsystem um, um dies zu zeigen! Verwende dazu Python. | ||
+ | |||
+ | |||
+ | ++++ | ||
+ | |||
+ | ++++Aufgabe D5| | ||
+ | |||
+ | 1. Netzwerk Adresse: 192.168.1.0, | ||
+ | 1. Netzwerk Adresse: 29.185.144.0, | ||
+ | 1. 192.168.1.1 / 192.168.1.254 und 29.185.144.1 / 29.185.159.254 | ||
+ | |||
+ | |||
+ | ++++ | ||
+ | |||
+ | |||
+ | ++++Code IP bin <-> dec| | ||
+ | |||
+ | <code python> | ||
+ | def ip_dec_as_string(ip): | ||
+ | st = "" | ||
+ | for nr in ip: | ||
+ | st += str(nr) + " | ||
+ | return st[0: | ||
+ | |||
+ | def ip_dec_list_to_bin(ip): | ||
+ | # [133, | ||
+ | bin_ip = '' | ||
+ | for nr in ip: | ||
+ | b = bin(nr)[2:] | ||
+ | while len(b) < 8: | ||
+ | b = ' | ||
+ | bin_ip += b + " | ||
+ | return bin_ip[0: | ||
+ | |||
+ | def ip_dec_to_bin(ip): | ||
+ | # " | ||
+ | ip = [int(x) for x in ip.split(' | ||
+ | return ip_dec_list_to_bin(ip) | ||
+ | |||
+ | def ip_bin_to_dec_list(ip_bin): | ||
+ | # " | ||
+ | ip = [] | ||
+ | ip_bin = ip_bin.split(' | ||
+ | for nr in ip_bin: | ||
+ | ip.append(int(nr, | ||
+ | return ip | ||
+ | |||
+ | def ip_bin_to_dec(ip_bin): | ||
+ | # " | ||
+ | ip = ip_bin_to_dec_list(ip_bin) | ||
+ | ip = [str(x) for x in ip] | ||
+ | return ' | ||
+ | |||
+ | def mask_bin_to_cidr(mask_bin): | ||
+ | count = 0 | ||
+ | for x in mask_bin: | ||
+ | if x == ' | ||
+ | return count | ||
+ | |||
+ | print(ip_dec_list_to_bin([133, | ||
+ | print(ip_dec_to_bin(" | ||
+ | print(ip_bin_to_dec_list(" | ||
+ | print(ip_bin_to_dec(" | ||
+ | |||
+ | def ip_dec_same_network_all_dec(mask, | ||
+ | cidr = mask_bin_to_cidr(ip_dec_to_bin(mask)) | ||
+ | ip_1 = '' | ||
+ | ip_2 = '' | ||
+ | for i in range(cidr): | ||
+ | if ip_1[i] != ip_2[i]: | ||
+ | return False | ||
+ | return True | ||
+ | |||
+ | print(ip_dec_same_network_all_dec(" | ||
+ | print(ip_dec_same_network_all_dec(" | ||
+ | print(ip_dec_same_network_all_dec(" | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | </ | ||
+ |