Eine typische Subnetzmaske in einem Heimnetzwerk ist $255.255.255.0$. Wie viele verschiedene Geräte kann man maximal haben in diesem Subnetz?
Win:
Mac:
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$.
a) Wandle um $4-$Byte-Notation $\rightarrow$ CIDR-Notation:
b) Wandle um CIDR-Notation $\rightarrow$ $4-$Byte-Notation:
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.
Programmiere nun eine eigene Auswahl der folgenden Funktionen:
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)
nr_hosts_from_subnet_bin(subnet_bin)
nr_hosts_from_subnet_dec(subnet_dec)
nr_hosts_from_cidr(cidr)
Erweitere deinen Code aus a) und b) 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:
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.