lehrkraefte:blc:informatik:glf22:crash-course-network

Netzwerk

  • IP-Adressen (IPv4)
    • öffentliche IP-Adressen
    • private Netze
    • eigene IP-Adresse, IP-Adresse gegen aussen
    • Routing
  • DNS (Domain Name Service)
    • Domain, Subdomain
    • Hierarchische Auflösung, Caching
  • Ports
    • Typische Ports: https (443), http (80), dns (53), ssh (22)
    • Dynamische Ports
  • NAT (Network Address Translation)

Services, die Ihre öffentliche(n) IP-Adresse(n) anzeigen:

Kommandos, die Ihre lokalen IP-Adressen anzeigen:

ipconfig  # Windows (und Mac?)
ip addr   # Linux

Kommando, das Ihre öffentliche IP-Adresse anzeigt:

curl --silent https://ifconfig.me
curl --silent https://ifconfig.me/all

Folgende Bereiche von IP-Adressen sind reserviert und «gibt es nicht» im Internet:

  • 10.0.0.0 bis 10.255.255.255 (für grosse Netzwerke, wie z.B. das Schul-WLAN)
  • 172.16.0.0 bis 172.31.255.255 (für mittlere Netzwerke, z.B. das interne Netzwerk vom Cluster, der die Schulnetze betreut.)
  • 192.168.0.0 bis 192.168.255.255 (für kleine Netzwerke, typischerweise zu Hause)
  • 127.0.0.0 bis 127.255.255.255 (Loopback Netzwerk, normalerweise der eigene Computer, auch localhost genannt).
  • 4 Bytes, normalerweise Dezimal geschrieben mit 3 Punkten getrennt.
  • Aufgeteilt in Netzteil (erste $n$ Bits) und Hostteil (letzte $32-n$ Bits).
    • Netzmaske gibt an, wie viele Bits zum Netzteil gehören. Binär sind das immer $n$ Einsen, gefolgt von $32-n$ Nullen. Beispiele:
      • 255.255.255.0 (24 Bit Netzmaske)
      • 255.255.0.0 (16 Bit Netzmaske)
      • 255.255.255.254 (31 Bit Netzmaske)

Aussprache: «ruuting», wie französisch «route», («rauting» wäre dann die Fräsmaschine)

  • Internet: Ein Netz, das Netzwerke verbindet (Netzteil der IP-Adresse).
  • Datenpaket:
    • Zieladresse, Zielport (Nummer von 0-65535)
    • Absenderadresse, Absenderport
    • Meta-Daten
    • Payload (Inhalt, Nutzlast)
  • Routing: Datenpakete von einem Netz ins nächste weiterleiten.
    • Router: «Computer mit 2 oder mehr Netzwerkanschlüssen» (für jedes verbundene Netz eines).
    • Aus den ersten Bits der Zieladresse wird entschieden, in welches nächste Netz das Datenpacket weitergeleitet werden soll
    • Meist mehrere Möglichkeiten, Auswahl nach Auslastung/Geschwindigkeit.

Packetverfolgung ;-)

tracert tech-lab.ch     # Windows
traceroute tech-lab.ch  # Linux (evtl. Installation vom Programm nötig)

Domain Name Service. «It's always DNS» (wenn es Netzwerkprobleme gibt)

  • Telefonbuch für IP-Adressen
  • tech-lab.ch ist (für Menschen) einfacher als 81.62.232.82
  • TLD: Top Level Domain (z.B. .ch, .com, .de etc). Der letzte Teil eines Domain-Names.
  • Domain: Name.TLD, z.B. tech-lab.ch, ksbg.ch, google.com. (Ein Name (ohne Punkt), Punkt, TLD).
  • Subdomain: subdomain.name.tld, z.B. www.tech-lab.ch, ofi.tech-lab.ch, fginfo.ksbg.ch, www.ksbg.ch (www, ofi, fginfo wären hier die Subdomains).
  • TLD legt Regeln für mögliche Domains fest.
  • Registrare verwalten Domain-Reservierungen. Kostet je nach Domain und Registrar zwischen 10.- und 100.- pro Jahr (oder mehr)
  • Domain grabbing (z.B. Expo01 Story)
  • Domain Streitigkeiten (zu blöd, wenn Familie Maggi den Domain maggi.com benutzt hat), siehe https://mll-legal.com/wp-content/uploads/2019/12/maggi_case.pdf

Lookup auf der Kommandozeile:

nslookup tech-lab.ch  # Windows
host tech-lab.ch      # Linux

Die Auflösung funktioniert auch in die entgegengesetzte Richtung, also z.B.

nslookup 81.62.232.82

Wer ist also der Internetprovider vom Tech-Lab?

  • Finden Sie heraus, bei welchem Anbieter www.ksbg.ch ghostet ist.
  • Finden Sie heraus, wer der Internetprovider der KSBG ist.

Lösungshinweise

Lösungshinweise

  • IP-Adresse zu www.ksbg.ch bestimmen, dann diese IP-Adresse wieder einem Namen zuordnen.
  • Bestimmen Sie dazu Ihre gegen aussen sichtbare IP-Adresse und ordnen Sie dieser einen Namen zu).
  • Root-Server
    • Wissen, welche Server für TLD-Auflösungen zuständig sind (z.B. für .ch-Domains).
  • TLD DNS (z.B. für .ch)
    • Wissen, welche Nameserver für einen bestimmten Domain zuständig sind (z.B. für tech-lab.ch)
  • Authoritative Nameserver
    • Kennt alle Subdomain, Mailserver etc. für einen einen Domain.
  • Nameserver vom Provider: Kennt die IP noch, oder fragt nach (Caching)
  • Nameserver vom Modem/Router zu Hause: Kennt die IP noch, oder fragt nach (Caching)
  • Lokaler Computer: Kennt die IP noch, oder fragt nach (Caching)

Die Anfragen werden zwischengespeichert während einer gewissen Zeit (TTL, Time to live), meist Stunden bis Tage.

Gecashte Einträge anzeigen (zeigt auch, mit welchen Adressen ihr Computer letztlich höchstwahrscheinlich kommuniziert hat).

ipconfig -displaydns   # Windows

Zuständige Nameserver für einen Domain finden:

nslookup -type=ns tech-lab.ch   # Windows
host -t ns tech-lab.ch          # Linux
dig ns tech-lab.ch              # Linux
  • Finden Sie heraus, bei welchem Provider wohl der Domain-Name ksbg.ch reserviert wurde.

Lösungshinweis

Lösungshinweis

Finden Sie heraus, welche Nameserver für ksbg.ch zuständig sind. Besuchen Sie dann die entsprechende Webseite.

Bei einem Verbindungsaufgaufbau ist nicht nur die IP-Adresse, sondern auch die Portnummer wichtig.

  • Laden Sie folgendes Archiv: webserver.zip herunter und entpacken Sie es.
  • Navigieren Sie auf der Kommandozeile ins entpackte Verzeichnis und starten Sie einen einfachen Webserver mit
python -m http.server

Telnet auf Windows ist offenbar 💩

Telnet auf Windows ist offenbar 💩

  • Überprüfen Sie auf der Kommandozeile, ob telnet installiert ist:
telnet localhost 8000
  • Wenn dies fehlschlägt, Öffnen Sie die System-Einstellungen und suchen Sie nach «Windows Features aktivieren» und setzen Sie dort bei «Telnet client» ein Häckchen. Evtl. muss der Computer danach neu gestartet werden?
  • Machen Sie eine Webanfrage «von Hand» auf der Kommandozeile:
telnet localhost 8000

und geben Sie dann

GET / HTTP/1.1

gefolgt von zwei mal Enter ein. Das wird wohl nicht angezeigt etc, aber die Antwort vom Webserver sollten Sie sehen.

  • Verbinden Sie sich aufs Tech-Lab Netzwerk (falls möglich).
  • Wenn Ihr Webserver gestartet ist, geben Sie jemanden die IP-Adresse Ihres Computers (im Tech-Lab Netz 192.168.1.xyz). Er soll per http://192.168.1.xyz:8000 auf Ihren Webserver zugreifen.
  • Sie dürfen gerne «Ihre» Webseite modifizieren oder weitere Dinge hinzufügen.

NAT

Network Address Translation.

  • Problem: Theoretisches Limit von $2^{32}$ IP-Adressen, praktisch noch etwas weniger (3.6 Milliarden?)
  • Lösung IPv6 ($2^{128}$ Adressen), aber niemand will umstellen…
  • Workaround: NAT
  • Am Beispiel der Schule:
    • Eine öffentliche IP-Adresse gegen aussen.
    • Datenpakete nach draussen werden vom Gateway (erster Router) umadressiert und sich die Verbindungsdetails (IP/Portnummer) gemerkt.
    • Einkommende Antworten werden mit gemerkter Liste wieder umadressiert und an korrekte interne IP weiter geleitet.
  • Verbinden Sie sich auf das Schule-SG WLAN
  • Verfolgen Sie die Stationen eines Datenpakets zum tech-lab.ch Server mit
tracert tech-lab.ch
  • Finden Sie eine interne IP vom Cluster (d.h. eine IP eines private Netzwerks, aber nicht ihres eigenen)?
  • lehrkraefte/blc/informatik/glf22/crash-course-network.txt
  • Last modified: 2023/03/31 14:51
  • by Ivo Blöchliger