Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:web_sca:netzwerke:aufgaben_d [2023-11-12 18:37] – [Aufgabe D2: Gleiches Netzwerk oder nicht=] scagf_informatik:web_sca:netzwerke:aufgaben_d [2023-11-16 19:48] (aktuell) – [Aufgabe D4: Umrechnungen Repetition] sca
Zeile 9: Zeile 9:
    1. Ermittle die aktuelle lokale und globale IP-Adresse deines Computers.     1. Ermittle die aktuelle lokale und globale IP-Adresse deines Computers. 
  
-==== Aufgabe D2: Gleiches Netzwerk oder nicht====+==== Aufgabe D2: Gleiches Netzwerk oder nicht====
  
-Löse diese Aufgabe mithilfe von Python/TigerJython (siehe Tipps unten). 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:+Löse diese Aufgabe mithilfe von Python/TigerJython (siehe Tipps unten). 
 + 
 +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.87 
    * 192.168.1.33    * 192.168.1.33
 +   * 192.168.1.87
    * 192.168.1.130    * 192.168.1.130
  
-Begründe deine Antwort. Tipp 1: Es muss gerechnet werden, verwende dafür Python/TigerJython. Für mehr Tipps, siehe unten.+Begründe deine Antworten. Tipp 1: Es muss gerechnet werden, verwende dafür Python/TigerJython. Für mehr Tipps, siehe unten. 
 + 
 +*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,162,149,238])) 
 +print(ip_bin_to_dec("10000101.10100010.10010101.11101110")) 
 +</code>
  
 ++++Tipps Python/TigerJython| ++++Tipps Python/TigerJython|
Zeile 53: Zeile 61:
    1. Mache eine **Skizze des Netzwerks**, an dessen Zentrum ein Switch steht. Weise jedem Gerät eine passende **lokale IP-Adresse** zu. Beachte: Diese muss mit der Subnetzmaske kompatibel sein.    1. Mache eine **Skizze des Netzwerks**, an dessen Zentrum ein Switch steht. Weise jedem Gerät eine passende **lokale IP-Adresse** zu. Beachte: Diese muss mit der Subnetzmaske kompatibel sein.
    1. Wähle eine passende **globale IP-Adresse** für das Netzwerk.    1. Wähle eine passende **globale IP-Adresse** für das Netzwerk.
 +
 +==== 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 innerhalb eines Subnetzes vergeben werden können, zwei abziehen muss. Dies kommt daher, dass zwei IP-Adressen fix vergeben sind:
 +
 +   * 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", um solche zu erhalten, falls du sie benötigen solltest.
 +
 +++++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, die an normale Geräte vergeben werden können?
 +
 +===== Lösungen =====
 +
 +++++Aufgabe D1|
 +
 +siehe Slides zum Thema
 +
 +++++
 +
 +++++Aufgabe D2|
 +
 +   * 192.168.1.33: nicht gleiches NW
 +   * 192.168.1.87: gleiches NW
 +   * 192.168.1.130: nicht gleiches NW
 +
 +
 +++++
 +
 +++++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, Broadcast Adresse: 192.168.1.255
 +   1. Netzwerk Adresse: 29.185.144.0, Broadcast Adresse: 29.185.159.255
 +   1. 192.168.1.1 / 192.168.1.254 und 29.185.144.1 / 29.185.159.254
 +
 +
 +++++
 +
 +
 +<nodisp 2>
 +<color blue>NODISP</color>
 +
 +++++Code IP bin <-> dec|
 +
 +<code python>
 +def ip_dec_as_string(ip):
 +    st = ""
 +    for nr in ip:
 +        st += str(nr) + "."
 +    return st[0:len(st)-1]
 + 
 +def ip_dec_list_to_bin(ip):
 +    # [133,162,149,238] -> "10000101.10100010.10010101.11101110"
 +    bin_ip = ''
 +    for nr in ip:
 +        b = bin(nr)[2:]
 +        while len(b) < 8:
 +            b = '0' + b
 +        bin_ip += b + "."
 +    return bin_ip[0:len(bin_ip)-1]
 +
 +def ip_dec_to_bin(ip):
 +    # "133.162.149.238" -> "10000101.10100010.10010101.11101110"
 +    ip = [int(x) for x in ip.split('.')]
 +    return ip_dec_list_to_bin(ip)
 +
 +def ip_bin_to_dec_list(ip_bin):
 +    # "10000101.10100010.10010101.11101110" -> [133,162,149,238]
 +    ip = []
 +    ip_bin = ip_bin.split('.')
 +    for nr in ip_bin:
 +        ip.append(int(nr,2))
 +    return ip
 +
 +def ip_bin_to_dec(ip_bin):
 +    # "10000101.10100010.10010101.11101110" -> "133.162.149.238"
 +    ip = ip_bin_to_dec_list(ip_bin)
 +    ip = [str(x) for x in ip]
 +    return '.'.join(ip)
 +
 +def mask_bin_to_cidr(mask_bin):
 +    count = 0
 +    for x in mask_bin:
 +        if x == '1': count += 1
 +    return count
 +
 +print(ip_dec_list_to_bin([133,162,149,238]))
 +print(ip_dec_to_bin("133.162.149.238"))
 +print(ip_bin_to_dec_list("10000101.10100010.10010101.11101110"))
 +print(ip_bin_to_dec("10000101.10100010.10010101.11101110"))
 +
 +def ip_dec_same_network_all_dec(mask,ip_1,ip_2):
 +    cidr = mask_bin_to_cidr(ip_dec_to_bin(mask))
 +    ip_1 = ''.join(ip_dec_to_bin(ip_1).split('.'))
 +    ip_2 = ''.join(ip_dec_to_bin(ip_2).split('.'))
 +    for i in range(cidr):
 +        if ip_1[i] != ip_2[i]:
 +            return False
 +    return True
 +
 +print(ip_dec_same_network_all_dec("255.255.255.192","192.168.1.102","192.168.1.33"))
 +print(ip_dec_same_network_all_dec("255.255.255.192","192.168.1.102","192.168.1.87"))
 +print(ip_dec_same_network_all_dec("255.255.255.192","192.168.1.102","192.168.1.130"))
 +</code>
 +
 +++++
 +
 +</nodisp>
  
  
  
  • gf_informatik/web_sca/netzwerke/aufgaben_d.1699814273.txt.gz
  • Zuletzt geändert: 2023-11-12 18:37
  • von sca