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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
lehrkraefte:blc:informatik:glf22:crash-course-network [2023/03/31 11:16]
Ivo Blöchliger created
lehrkraefte:blc:informatik:glf22:crash-course-network [2023/03/31 14:51] (current)
Ivo Blöchliger [NAT]
Line 9: Line 9:
     * Hierarchische Auflösung, Caching     * Hierarchische Auflösung, Caching
   * Ports   * Ports
-    * Typische Ports: https (443), ssh (22), dns (53)+    * Typische Ports: https (443), http (80), dns (53), ssh (22)
     * Dynamische Ports     * Dynamische Ports
   * NAT (Network Address Translation)   * NAT (Network Address Translation)
Line 58: Line 58:
     * Aus den ersten Bits der Zieladresse wird entschieden, in welches nächste Netz das Datenpacket weitergeleitet werden soll     * 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.     * Meist mehrere Möglichkeiten, Auswahl nach Auslastung/Geschwindigkeit.
 +
 +Packetverfolgung ;-)
 +<code bash>
 +tracert tech-lab.ch     # Windows
 +traceroute tech-lab.ch  # Linux (evtl. Installation vom Programm nötig)
 +</code>
 ===== DNS ===== ===== DNS =====
 Domain Name Service. «It's always DNS» (wenn es Netzwerkprobleme gibt) Domain Name Service. «It's always DNS» (wenn es Netzwerkprobleme gibt)
Line 88: Line 94:
   * Finden Sie heraus, wer der Internetprovider der KSBG ist.   * Finden Sie heraus, wer der Internetprovider der KSBG ist.
 <hidden Lösungshinweise> <hidden Lösungshinweise>
-IP-Adresse zu www.ksbg.ch bestimmen, dann diese IP-Adresse wieder einem Namen zuordnen. +  * 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).
 </hidden> </hidden>
 </WRAP> </WRAP>
Line 95: Line 102:
   * Root-Server   * Root-Server
     * Wissen, welche Server für TLD-Auflösungen zuständig sind (z.B. für .ch-Domains).     * Wissen, welche Server für TLD-Auflösungen zuständig sind (z.B. für .ch-Domains).
-  * TLD DNS (z.B. für .ch) weiss, welche Nameserver für einen bestimmten Domain zuständig sind. +  * TLD DNS (z.B. für .ch)  
-  * Nameserver kennt alle Subdomain, Mailserver etc. für einen einen Domain.+    * 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 Provider: Kennt die IP noch, oder fragt nach (Caching)
   * Nameserver vom Modem/Router zu Hause: Kennt die IP noch, oder fragt nach (Caching)   * Nameserver vom Modem/Router zu Hause: Kennt die IP noch, oder fragt nach (Caching)
Line 103: Line 112:
 Die Anfragen werden zwischengespeichert während einer gewissen Zeit (TTL, Time to live), meist Stunden bis Tage. 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).
 +<code bash>
 +ipconfig -displaydns   # Windows
 +</code>
 +
 +Zuständige Nameserver für einen Domain finden:
 +<code bash>
 +nslookup -type=ns tech-lab.ch   # Windows
 +host -t ns tech-lab.ch          # Linux
 +dig ns tech-lab.ch              # Linux
 +</code>
 +
 +
 +<WRAP todo>
 +  * Finden Sie heraus, bei welchem Provider wohl der Domain-Name ksbg.ch reserviert wurde.
 +<hidden Lösungshinweis>
 +Finden Sie heraus, welche Nameserver für ksbg.ch zuständig sind. Besuchen Sie dann die entsprechende Webseite.
 +</hidden>
 +</WRAP>
 +
 +===== Ports =====
 +Bei einem Verbindungsaufgaufbau ist nicht nur die IP-Adresse, sondern auch die Portnummer wichtig.
 +
 +<WRAP todo>
 +  * Laden Sie folgendes Archiv: {{lehrkraefte:blc:informatik:glf22:webserver.zip}} herunter und entpacken Sie es.
 +  * Navigieren Sie auf der Kommandozeile ins entpackte Verzeichnis und starten Sie einen einfachen Webserver mit
 +<code bash>
 +python -m http.server
 +</code>
 +  * Verbinden Sie sich dann auf http://localhost:8000
 +  * Betrachten Sie die Ausgabe auf der Konsole.
 +
 +<hidden Telnet auf Windows ist offenbar 💩>
 +  * Überprüfen Sie auf der Kommandozeile, ob telnet installiert ist:
 +<code bash>
 +telnet localhost 8000
 +</code>
 +  * 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:
 +<code bash>
 +telnet localhost 8000
 +</code>
 +und geben Sie dann
 +<code txt>
 +GET / HTTP/1.1
 +</code>
 +gefolgt von zwei mal <key>Enter</key> ein. 
 +Das wird wohl nicht angezeigt etc, aber die Antwort vom Webserver sollten Sie sehen.
 +</hidden>
 +</WRAP>
 +
 +<WRAP todo>
 +  * 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.
 +</WRAP>
 +
 +====== 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.
 +
 +<WRAP todo>
 +  * Verbinden Sie sich auf das Schule-SG WLAN
 +  * Verfolgen Sie die Stationen eines Datenpakets zum tech-lab.ch Server mit
 +<code bash>
 +tracert tech-lab.ch
 +</code>
 +  * Finden Sie eine interne IP vom Cluster (d.h. eine IP eines private Netzwerks, aber nicht ihres eigenen)?
 +</WRAP>
  • lehrkraefte/blc/informatik/glf22/crash-course-network.1680254197.txt.gz
  • Last modified: 2023/03/31 11:16
  • by Ivo Blöchliger