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_sca:netzwerke:aufgaben_b [2023-11-05 12:38] – [Lösungen] sca | gf_informatik:web_sca:netzwerke:aufgaben_b [2023-11-05 12:53] (aktuell) – sca | ||
|---|---|---|---|
| Zeile 44: | Zeile 44: | ||
| 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$. | 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$. | ||
| - | Wandle um $4-$Byte-Notation $\rightarrow$ CIDR-Notation: | + | a) 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: | + | b) Wandle um CIDR-Notation $\rightarrow$ $4-$Byte-Notation: |
| - | * $/7$ | + | |
| - | * $/25$ | + | |
| === Aufgabe B6: Subnetzmasken === | === Aufgabe B6: Subnetzmasken === | ||
| 1. Wie viele Hosts kann ein Netzwerk mit Subnetzmaske $255.255.255.192$ haben? | 1. Wie viele Hosts kann ein Netzwerk mit Subnetzmaske $255.255.255.192$ haben? | ||
| - | 1. Wie viele Hosts kann ein Netzwerk mit CIDR /10 haben? | + | 1. Wie viele Hosts kann ein Netzwerk mit CIDR /14 haben? |
| + | 1. Welche Subnetzmaske (normal und CIDR) sollte der Informatiker einer Firma mit ca. $5000$ Geräten für das Netzwerk der Firma wählen? | ||
| Zeile 62: | Zeile 63: | ||
| === Zusatzaufgaben (Programmieren) === | === Zusatzaufgaben (Programmieren) === | ||
| - | == Aufgabe 1 == | + | == a) == |
| 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. | 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 == | + | == b) == |
| - | Erweitere deinen Code der vorherigen Zusatzaufgabe | + | Programmiere nun eine eigene Auswahl der folgenden Funktionen: |
| + | |||
| + | * Subnetzmaske in andere Formate umwandeln: | ||
| + | * `subnet_dec_to_bin(subnet)` | ||
| + | * `subnet_bin_to_dec(subnet_bin)` | ||
| + | * `subnet_bin_to_cidr(subnet_bin)` | ||
| + | * `subnet_dec_to_cidr(subnet)` | ||
| + | * `cidr_to_subnet_bin(cidr)` | ||
| + | * `cidr_to_subnet_dec(cidr)` | ||
| + | * Abzahl mögliche Hosts für Subnetzmaske (in versch. Formaten) bestimmen: | ||
| + | * `nr_hosts_from_subnet_bin(subnet_bin)` | ||
| + | * `nr_hosts_from_subnet_dec(subnet_dec)` | ||
| + | * `nr_hosts_from_cidr(cidr)` | ||
| + | |||
| + | == c) == | ||
| + | |||
| + | Erweitere deinen Code aus a) und b) und implementiere einen **ultimativen Netzwerk-Rechner** im Stile der folgenden Website: https:// | ||
| Man soll seine IP-Adresse und CIDR-Suffix angeben können und zurück erhalten: | Man soll seine IP-Adresse und CIDR-Suffix angeben können und zurück erhalten: | ||
| * Subnetzmaske (verwende Code von vorheriger Zusatzaufgabe) | * Subnetzmaske (verwende Code von vorheriger Zusatzaufgabe) | ||
| Zeile 110: | Zeile 127: | ||
| ++++Aufgabe B5| | ++++Aufgabe B5| | ||
| - | siehe Tabelle hier: [[https:// | + | a) |
| + | i) 32, ii) 24, iii) 12 | ||
| + | |||
| + | b) i) 254.0.0.0, ii) 255.255.255.128 | ||
| ++++ | ++++ | ||
| Zeile 117: | Zeile 137: | ||
| 1. 62 | 1. 62 | ||
| - | | + | |
| 1. 19 | 1. 19 | ||
| Zeile 162: | Zeile 182: | ||
| subnet_bin = cidr_to_subnet_bin(cidr) | subnet_bin = cidr_to_subnet_bin(cidr) | ||
| return subnet_bin_to_dec(subnet_bin) | return subnet_bin_to_dec(subnet_bin) | ||
| + | |||
| + | ### GET NR HOSTS | ||
| + | def nr_hosts_from_subnet_bin(subnet_bin): | ||
| + | zeros = subnet_bin.count(' | ||
| + | return 2**zeros - 2 | ||
| + | |||
| + | def nr_hosts_from_subnet_dec(subnet_dec): | ||
| + | subnet_bin = subnet_dec_to_bin(subnet_dec) | ||
| + | return nr_hosts_from_subnet_bin(subnet_bin) | ||
| + | |||
| + | def nr_hosts_from_cidr(cidr): | ||
| + | subnet_bin = cidr_to_subnet_bin(cidr) | ||
| + | return nr_hosts_from_subnet_bin(subnet_bin) | ||
| ### | ### | ||
| Zeile 170: | Zeile 203: | ||
| print(cidr_to_subnet_dec(10)) | print(cidr_to_subnet_dec(10)) | ||
| print(cidr_to_subnet_bin(10)) | print(cidr_to_subnet_bin(10)) | ||
| + | |||
| + | print(nr_hosts_from_subnet_bin(" | ||
| + | |||
| + | print(nr_hosts_from_subnet_dec(" | ||
| + | print(nr_hosts_from_cidr(12)) | ||
| + | print(nr_hosts_from_cidr(19)) | ||
| </ | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||