Abgabe via Teams.

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)?

Aufgabe A3: Protokolle

Wo im echten Leben gibt es Protokolle? Mache eigene Beispiele.

Lösungen

Aufgabe B1: WireShark Installieren

Wireshark ist ein freier und quelloffener Netzwerk-Monitor, mit dem sich der ganze Netzverkehr eines Geräts protokollieren lässt.

  • Installiere Wireshark auf deinem Gerät.
  • Starte eine neue Capture mit leerem Capture-Filter - was siehst du?
  • Beende die Capture mit dem roten Stopp-Knopf .

Aufgabe B2: HTTP-Verbindung Protokollieren

Viele Web-Verbindungen sind heute verschlüsselt, was es schwieriger macht, ihre Details zu protokollieren. Wir wollen unten eine unverschlüsselte HTTP-Verbindung protokollieren:

  • Starte eine Wireshark Capture mit dem Capture-Filter host laralei.ch - damit werden nur Verbindungen zum Server laralei.ch protokolliert.
  • Öffne ein neues Browser-Fenster und lade die Webseite http://laralei.ch.
    • Wichtig: Die Adresse muss genau wie oben eingegeben werden - die meisten Browser wechseln sonst automatisch zu https://laralei.ch, was die verschlüsselte Variante wäre.
  • Beende die Capture mit dem roten Stopp-Knopf.
  • Schau dir das Paket-Protokoll an.

Jedes Paket ist teil eines ineinander verschachtelten Gesprächs auf verschiedenen Ebenen.

  • Auf der höchsten Ebene sprechen der Browser und der Webserver das Protokoll HTTP, um eine Webseite zu übertragen.
    • Wähle ein HTTP-Paket, das vom Server zurückgeschickt wurde, und zeige die Details (unten) des Pakets an.
    • Findest du in den Antworten des Servers Sprach-Elemente, die du kennst? Welche?
  • Auf der nächst-tieferen Ebene wird durch TCP ein bidirektionaler Datenstrom zwischen unserem Gerät und dem Gerät des Webservers organisiert.
    • Wähle das erste HTTP-Paket und zeige den Datenstrom an:
    • Erkennst du das HTTP-Gespräch, das in diesem Datenstrom eingebettet ist?

Aufgabe C1: IPv4-Adressen

  1. Wie viele verschiedene IPv4-Adressen gibt es?
  2. Reicht dies aus, um alle Geräte im Internet eindeutig zu adressieren?

Aufgabe C2: 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 C3: Meine IP

  1. 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).
  2. Trage deine IP mit Name in Tabelle an Wandtafel.
  3. Wie viele Geräte können sich mit diesem Subnetz verbinden? Reicht dies oder sollte man die Subnetzmaske anpassen?

Win:

  • Terminal (Eingabeaufforderung): ipconfig

Mac:

  • Terminal: ifconfig
  • Systemeinstellung / Netzwerk / WLAN / Weitere Optionen / TCP/IP

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 Bytes müsste eine IP-Adresse mindestens bestehen, damit dies aktuell möglich ist?
  2. Tatsächlich wurde dieses Problem mit IPv6 bereits angegangen. Studiere den Eintrag zu IPv6 unten:

IPv6 Info

Aufgabe C5 (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$.

a) Wandle um $4-$Byte-Notation $\rightarrow$ CIDR-Notation:

  • i) $255.255.255.255$
  • ii) $255.255.255.0$
  • iii) $255.240.0.0$

b) Wandle um CIDR-Notation $\rightarrow$ $4-$Byte-Notation:

  • i) $/7$
  • ii) $/25$

Aufgabe C6: Subnetzmasken

  1. Wie viele Hosts kann ein Netzwerk mit Subnetzmaske $255.255.255.192$ haben?
  2. Wie viele Hosts kann ein Netzwerk mit CIDR /14 haben?
  3. Welche Subnetzmaske (normal und CIDR) sollte der Informatiker einer Firma mit ca. $5000$ Geräten für das Netzwerk der Firma wählen?

Zusatzaufgaben (Programmieren)

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.

b)

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://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.

Aufgabe C1

Aufgabe C2

Aufgabe C3

Aufgabe C4

Aufgabe C5

Aufgabe C6

Zusatzaufgaben

Aufgabe D1: Routing

  1. Auf welcher Netzwerk-Ebene erfolgt das Routing?
  2. 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/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.33
  • 192.168.1.87
  • 192.168.1.130

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:

print(ip_dec_to_bin([133,162,149,238]))
print(ip_bin_to_dec("10000101.10100010.10010101.11101110"))

Tipps Python/TigerJython

Tipps 2

Aufgabe D3: I InformatikerIn

Du wurdest beauftragt, ein Heimnetzwerk einzurichten, an welches folgende Geräte angeschlossen werden sollen:

  • 5 Smartphones, 3 Laptops, 1 Desktop-Computer, 1 Drucker, 2 Fernsehboxen, 1 PlayStation, 1 Kühlschrank.
  • 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
  2. 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.

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
  2. Wie viele IP-Adressen können im Subnetz aus 1. vergeben werden?
  3. Im Netzwerk einer Firma benutzen allerhöchstens $1000$ Geräte das Netzwerk. Welche Maske (in 4-Byte-Notation) sollte gewählt werden?
  4. 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

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
  2. Maske /20, IP-Adresse: 29.185.149.17
  3. 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?

Aufgabe D1

Aufgabe D2

Aufgabe D3

Aufgabe D4

Aufgabe D5

  • gf_informatik/web/internet/aufgaben_a.1702205261.txt.gz
  • Zuletzt geändert: 2023-12-10 10:47
  • von hof