TCP/IP-Basics

(Version: 31. Mai 2022)

1. Die Netzwerkadressierung

Der Postbote kann den Brief nur dann richtig zustellen, wenn eine eindeutige Empfängeradresse bekannt ist. Der Gebäudenamen vereinfacht die Sache zwar, genügt alleine aber nicht. Gibts doch in jeder grösseren Ortschaft mindestens ein Chalet Edelweiss! Ist der Brief ausserdem mit der Absenderadresse versehen, kann der Empfänger auch antworten. Was im Postwesen gilt, gilt auch bei der elektronischen Kommunikation: Absende- und Empfangsgeräte benötigen eine eindeutige Adresse, (genau genommen deren zwei → IP & MAC, dazu aber später mehr) und einen Namen.

1.1 Der Hostname

Der Hostname ist die eindeutige Bezeichnung eines Host's wie z.B. PC, Server, Drucker etc. in einem Netzwerk. Die Umsetzung des Hostnamens in eine IP-Adresse erfolgt über das Domain Name System (DNS), früher über die hosts-Datei. In einer grösseren IT-Umgebung empfiehlt sich ein geeignetes Namenskonzept. Der Hostname eines Geräts kann z.B. einen Hinweis auf seinen Standort enthalten. Dies erleichtert das Aufsuchen eines Geräts im Fall von Troubleshooting oder Wartungsarbeiten.

  • Hostnamenlänge 1 bis 63 Zeichen
  • Verwendet dürfen Buchstaben a bis z oder A bisZ (zwischen Gross- und Kleinbuchstaben wird nicht unterschieden, d.h. nicht case-sensitiv)
  • Die Zahlen 0 bis 9
  • Und der Bindestrich -

1.2 Die IP-Adresse (Logische Adresse)

Zurzeit sind zwei IP-Versionen in Gebrauch: IPv4 als 32-Bit-Adresse und sein Nachfolger, IPv6 mit 128-Bit-Adressen. (IPv5 wurde übersprungen). Im folgenden Text fokussieren wir uns auf IPv4!

  • Die 32-Bit-Adresse lässt theoretisch 232 bzw. 4’294’967’296 adressierbare Geräte zu.
  • Bei der IP-Adresse spricht man von einer logischen Adresse. Sie lässt sich am Gerät konfigurieren.
  • Die öffentlichen IP-Adressen werden ausschliesslich im Internet (WWW=World Wide Web) genutzt und von der IANA (Internet Assigned Numbers Authority) verwaltet bzw. die Verwaltung für Europa an RIPE (Réseaux IP Européens) delegiert.
  • Die privaten IP-Adressen sind für’s Intranet reserviert. Dessen Betreiber ist selber für die Adressverwaltung verantwortlich. Dabei kann der Einsatz eines sog. DHCP-Servers (Dynamic Host Configuration Protocol) das Risiko von Adressdoppelbelegungen mindern, aber nicht ausschliessen.
  • Ursprünglich wies eine sogenannte Netzwerkklasse (A, B, C) darauf hin, in welchem Netzwerksegment sich der Host befindet. Dies erwies sich aber als unflexibel und Verschwenderisch bezüglich der Ressource «IP-Adresse», so dass die 32 bittige IP-Adresse ab 1985 mit einer 32 bittigen Subnetzmaske ergänzt wurde. (Zur Subnetzmaske später mehr!) Die Unterteilung in Netzwerkklassen wurde 1993 fallen gelassen. Trotzdem werden die Klassenbezeichnungen im IT-Bereich umgangssprachlich noch genutzt, wenn man z.B. von einer «Privaten Klasse-A Adresse» spricht.
    Netzwerkklasse A: 1.0.0.0 bis 127.255.255.255
    Netzwerkklasse B: 128.0.0.0 bis 191.255.255.255
    Netzwerkklasse C: 192.0.0.0 bis 223.255.255.255

So wird der IP-Adressbereich genutzt:

Startadresse        Endadresse      Verwendungszweck
---------------   ---------------   ----------------
  0.  0.  0.  0     9.255.255.255   Nicht private IP's
 10.  0.  0   0    10.255.255.255   Private IP's im LAN
 11.  0.  0.  0   126.255.255.255   Nicht private IP's
127.  0.  0.  1   127.255.255.255   Localhost, Localnet, Loopback
128.  0.  0.  0   169.253.255.255   Nicht private IP's
169.254.  0.  0   169.254.255.255   Zeroconf, APIPA
169.255.  0.  0   172.15.255.255    Nicht private IP's
172.16.   0.  0   172.31.255.255    Private IP's im LAN
172.32.   0.  0   192.167.255.255   Nicht private IP's
192.168.  0.  0   192.168.255.255   Private IP's LAN LAN
192.169.  0.  0   223.255.255.255   Nicht private IP's
224.  0.  0.  0   239.255.255.255   Multicast
240.  0.  0.  0   255.255.255.254   Nicht private IP's
255.255.255.255                     Broadcast (DHCP)
  • Nicht private IP's: Das sind öffentliche IP-Adressen im Internet oder Provider-NAT, DualStackLite, 6to4-Anycast, etc.
  • Private IP's im LAN: Jedes lokale Netzwerk (Intranet,LAN LocalAreaNetwork) darf diese Adressbereiche nutzen. Dies bedeutet, dass unzähliche Personen z.B. die Adresse 10.0.0.1 nutzen. Diese privaten Adressen werden nicht in das öffentliche Netwerk geroutet.
  • APIPA: Ebenfalls lokale Adressen die als Notlösung bei DHCP-Serverausfall zur Anwednung kommen. Diese Adressen werden nicht geroutet.
  • Loopback-Adresse: Adresse des eigenen Netzwerkadapters. Wird zu Prüfzwecken genutzt.

1.3 Die MAC-Adresse (Physikalische Adresse)

Die MAC-Adresse, was soviel wie Media Access Control bedeutet, ist die physikalishe Adresse oder Hardware-Adresse des Netzwerkadapters, die als eindeutiger Identifikator des Geräts innnerhalb einem Rechnernetz dient. Ein Gerät kann übrigens mehrere Netzwerkadapter besitzen. Beim Notebook z.B. der WLAN- und der LAN-Adapter. In diesem Fall gelten für den Notebook zwei MAC-Aressen.

  • Die MAC-Adresse ist (theoretisch) fix bzw. unveränderbar dem Netzwerkadapter zugewiesen.
  • Die MAC-Adresse xx-xx-xx-yy-yy-yy besteht aus 48 Bit. Dies entspricht 6 Bytes.
  • Die vorderen 3 Bytes (x) entsprechen dem Vendor-Code, Herstellercode oder OUI (Organizationally Unique Identifier)
  • Die hinteren drei Bytes (y) entsprechen einer Serien-Nummer
  • Die MAC-Adresse wird üblicherweise hexadezimal geschrieben
  • Die MAC-Adresse ff-ff-ff-ff-ff-ff wir als Broadcastadresse verwendet
  • Die MAC-Adresse(n) kann man sich unter Microsoft-Windows mit folgenden Systemkommandos anzeigen lassen:
    ipconfig /all
    getmac /s <ip-adresse>
    arp -a (Aktuelle Einträge in der ARP-Tabelle)

Warum doppelte Adressierung?

Warum braucht es neben der IP-Adresse, die ein Endgerät ja schon eindeutig identifizieren würde, noch eine zweite, die MAC-Adresse?

  • Eine hohe Anzahl Netzwerkteilnehmer generiert viel Traffic und damit auch viele Kollisionen, was zu einer schlechten Performance führt.
    Aus diesem Grund wird das Netzwerk in Netzwerksegmente aufgeteilt und somit der Datenverkehr etwas separiert. Damit aber Datenpakete in und über fremde Netzwerksegmente geleitet werden können, braucht es eine Netzwerkadresse mit einer zusätzlichen Information, nämlich ihr angestammtes Netzwerksegment. Wie etwa bei der Telefonie, wo neben der Telefonnummer noch die entsprechende Vorwahl dazugehört.
  • Der IP-Adresse wurde die MAC-Adresse zur Seite gestellt, wobei die MAC-Adresse für die lokale Zustellung innerhalb des Netzwerksegments und die IP-Adresse für die globale Zustellung über vermaschte Netwerksegmente hinweg Verwendung findet.
  • Würde nur eine vom Hersteller dem Produkt zugeordnete MAC-Adresse existieren, wäre eine Netzwerksegmentierung (Aufteilung in Form von Netz-ID, Host-ID) nicht realisierbar. Es bräuchte zusätzliche Angaben. Also sind wir wieder bei der individuell zuteilbaren IP-Adresse, die dank einer ebenfalls individuell zuteilbaren Subnetzmaske Netz-ID von Host-ID trennt.
  • Würde nur die individuell zuteilbare IP-Adresse bestehen, wäre es nicht ohne weiteres möglich, Adressen automatisiert zu vergeben (DHCP). Dies darum, weil bei einer Adressanfrage eines Clients an einen entsprechenden Server (DHCP-Dienst), der Client nicht eindeutig identifizierbar wäre, weil er ja eben noch keine Adresse besitzt,und somit die DHCP-Antwort auf seine Anfrage nicht an ihn zurückfinden könnte. Würde man dies mit einer fixen PC-Bezeichnung lösen, wären wir exakt wieder bei der bereits bestehenden Lösung mit der MAC-Adresse, die ja schlussendlich eine fixen PC-Bezeichnung bzw. Seriennummer der Netzwerkschnittstelle darstellt.

1.4 Das Medienzugriffsverfahren CSMA/CD

Nachdem wir gelernt haben, wie im Netzwerk Geräte adressiert werden, müssen wir uns nun etwas mit dem Datenaustausch auf HW-Ebene befassen. Zuerst aber ein Rückblick in die Anfänge der Netzwerkkommunikation:
Das Ur-Ethernet 10BASE5 wurde mit einem 10 mm dicken Koaxialkabel (Yellowcable) betrieben. Um Geräte an das Netzwerk anzuschliessen, musste dieses Koaxialkabel angebohrt und ein Spezialklemme darin eingeführt werden. Am anderen Ende der Spezialklemme sass der Transceiver (MAU=Media Access Unit) und dieser war dann mit einem Verbindungskabel (AUI=Attachment Unit Interface) an die Netzwerkkarte des Computers angeschlossen. Dieser Effort bot 10 Mbit/s bei einer maximalen Reichweite von 500 m und maximal 100 Teilnehmern. Das Netzwerkkabel (Yellowcable) hatte also keine eigentlichen Abzweigungen zu den Endgeräten. Dafür benötigt es an den beiden offenen Kabelenden je einen Abschlusswiderstand. Es handelt sich dabei um eine Bus-Topologie. Oder etwas umgangssprachlicher: Alle hängen an derselben Strippe.
"Wenn alles schläft und einer spricht, so nennt man dieses Unterricht", soll schon Wilhelm Busch gewitzelt haben. Um in einer Bustopologie kein Durcheinander (Kakophonie) zu erzeugen, darf tatsächlich immer nur einer «sprechen» bzw. senden. Die anderen müssen sich ruhig verhalten, sind zwar nicht am Schlafen, aber mindestens aufmerksam am zuhören. Dieser Vorgang ist in einem speziellen Medien-Zugriffsverfahren geregelt: CSMA/CD. Alle Stationen «hören» am Kabel. Eine sendewillige Station schickt Daten mit Empfänger und Absender versehen auf das Kabel. Die betroffene Station «fischt» sich die Daten heraus. Diese Topologie erforderte eine Regelung wie kommuniziert werden soll. Diese Regelung nennt sich CSMA/CD und hat auch noch bei heutiger moderner Ethernetverkabelungstechnik seine Gültigkeit. Unter dem Jam-Signal ist übrigens nicht Konfitüre sondern ein eindeutiges Signal zu verstehen, das allen Maschinen verdeutlicht, dass eine Kollision stattgefunden hat uns sie sich gefälligst zurückziehen sollen.

1.5 Divide et impera

Die IPv4-Adresse hat 32 Bit und demzufolge können fast 4.3 Milliarden an den Start. Aber ist das viel? Bin ich nun Milliardär und kann die IP-Adressen sogar rauchen, wie dieser nette Herr hier? Wohl kaum. Sonst würde nicht das moderne 128-Bit-IPv6 dem angegrauten IPv4 den Rang ablaufen. Aber dazu später mehr. Nun back to topic IPv4:
Schon Julius Cäsar erkannte, dass "Teile und Herrsche" die Lösung eines Mengenproblems sein kann. Oder stellen sie sich vor, eingessperrt in eine Turnhalle soll jeder Lernende seine Sommerferienerlebnisse von sich geben: Kakophonie pur. Was tut der gewiefte Stratege? Er teilt die Gruppe auf und verteilt sie in die Klassenzimmer. Jetzt muss nur noch geklärt werden, wie die Klassenzimmer untereinander kommunizieren. Aber alles Schritt für Schritt!
Damals, als das Netzwerk noch einer Bustopologie entsprach, hätte ohne einer Aufteilung in Sub- oder Teilnetze das Netzwerk einer einzigen, riesigen Kollisionsdomäne entsprochen... Abhilfe schuff man, indem man das Netz in Teilnetze auftrennte, also sogennante Subnetze bildete und somit den Datenverkehr etwas eingrenzte.

1.6 Die Subnetzmaske

Die Subnezumaske teilt die IP-Adresse in einen Netzanteil (Netz-ID) und Hostanteil (Host-ID) auf: Dazu eine IP-Adress/Subnetz-Analogie aus der Festnetztelefonie: Die Maske 1110000000 teilt die Telefonnummer 0279876543 in eine Vorwahl (027=Wallis) und einen Teilnehmeranschluss (9876543) auf:

Die Subnetzmaske ist wie die IPv4-Adresse ebenfalls 32 Bit breit. Die Subnetmaske, nomen est omen, wirkt als eine Maske und unterteilt die IP-Adresse in Netz-ID und Host-ID. Die Subnetzmaske ist eine Aneinandereihung von Einsen, gefolgt von einer Aneinanderreihung von Nullen. Dazu ein paar Beispiele:

1.7 Subnetze verbinden

Die Subnetze müsssen sich untereinander austauschen können. Dazu dient ein Router. Der Router überträgt nur IP-Pakete ins benachbarte Netz, die dieses auch betreffen. Somit hat der Netzwerkverkehr innerhalb eines Subnetzes keinen Einfluss auf das Nachbarnetz. Auserdem verschickt der Router keine Broadcast’s in andere Subnetze. Geroutete Netze haben auch noch andere Vorteile: So lassen sich in vermaschten Netzwerken wie z.B. das WWW (World Wide Web) je nach Traffic und Verfügbarkeit alternative Routen wählen. Wie z.B. vor ihren Sommerferien, wo sie je nach Staulage den Gotthardtunnel oder San Bernardino-Tunnel als Reiseroute in den Süden wählen.

Folgendes Beispiel soll zeigen, welche PCs aufgrund ihrer Netzwerkeinstellungen direkt, d.h. ohne dazwischenliegenden Router kommunizieren könen: Hinweis: Subnetting und Routing werden an anderer Stelle ausführlicher behandelt.

1.8 Öffentliche und private IPv4-Adressbereiche

Die 32-Bit IPv4-Adresse lässt 232 oder 4'294'967'296 verschiedene Adressen zu. Diese werden zu unterschiedlichsten Zwecken genutzt. Die wichtigsten davon sind:

  • Öffentliche IP-Adressen werden ausschliesslich im Internet (WW=World Wide Web) genutzt und von der IANA (Internet Assigned Numbers Authority) verwaltet bzw. die Verwaltung für Europa an RIPE (Réseaux IP Européens) delegiert.
  • Private IP-Adressen sind für’s Intranet reserviert. Dessen Betreiber ist selber für die Adressverwaltung verantwortlich. Dabei kann der Einsatz eines sog. DHCP-Servers (Dynamic Host Configuration Protocol) das Risiko von Adressdoppelbelegungen mindern, aber nicht ausschliessen. Der DHCP-Server wird auf dieser Webseite bei den Serverdiensten besprochen.
  • Zeroconf oder Zero-Configuration-Networking bzw. APIPA (Automatic Private IP Addressing) dient der selbständigen Konfiguration von Rechnernetzen z.B. bei einem Ausfall eines DHCP-Servers. Dabei handelt es sich um einen auf dem ARP-Protokoll (Address Resolution Protocol) aufbauenden Mechanismus, um für eine Netzwerkschnittstelle automatisch eine freie IP-Adresse auszuwählen. Für genau diesen Zweck ist dafür von der IANA der Adressbereich 169.254.0.0/16 vorgesehen.
  • Loopback-Adresse / Localnet dient zu Prüfzwecke, um die eigene Netzwerkkarte zu prüfen und ist bei jedem Host z.B. 127.0.0.1

Wissenswertes zum privaten IPv4-Adressbereich

Da die privaten IP-Adressen im Internet nie in Erscheinung treten, können diese in jedem Intranet frei verwendet werden. Die Adresse 192.168.1.1 ist dementsprechend so ziemlich in jedem lokalen Netzwerk anzutreffen. Wie diese Host's sich trotzdem mit dem Internet verbinden können, wird im Fachbeitrag zum Internetzugang beschrieben. (Stichwort: NAT) Mit der Einschränkung, Subnetzmasken auf Oktettgrenzen zu beschränken, sind folgende Subnetze denkbar:
(Subnetzmasken die sich nicht auf Oktettgrenzen beschränken, werden an einer anderen Stelle unter dem Begriff «Subnetting» behandelt.)

  • 10.y.y.y mit Subnetmaske 255.0.0.0
  • 10.y.y.y mit Subnetmaske 255.255.0.0
  • 10.y.y.y mit Subnetmaske 255.255.255.0
  • 172.x.y.y mit Subnetzmaske 255.255.0.0
  • 172.x.y.y mit Subnetmaske 255.255.255.0
  • 192.168.y.y mit Subnetzmaske 255.255.255.0
(Wobei gilt: x=16..31 und y=0..255)

Folgendes ist allerdings wegen Adressüberlappung mit dem öffentlichen IP-Adressbereich nicht möglich:

  • 172.x.y.y mit Subnetmaske 255.0.0.0
  • 192.168.y.y mit Subnetmaske 255.0.0.0
  • 192.168.y.y mit Subnetmaske 255.255.0.0

1.9 Die Netzwerk- und Broadcastadresse

Jedes IPv4-Subnetz verwendet die erste und letzte IP-Adresse seines IP-Bereichs für spezielle Zwecke und zwar für die Netzwerkadresse und die Broadcastadresse. Dies bedeutet, dass ich aus einem gewählten IP-Bereich zwei Adresse für PC's, Router, Server, Manageable-Switch, kurzum Hosts, nicht nutzen kann. In einem Subnetz 192.168.1.0/24 ergäbe dies bei 28 = 256 (0..255) nur 254 IP-Adressen, die ich für Hosts nutzen kann.

  • Broadcastadresse: Wird als Empfänger die Broadcast-Adresse angegeben, sind alle Geräte im entsprechenden Subnetz angesprochen.
    Regel: Alle Hostbits = 1
  • Netzwerkadresse: Adresse des Netzwerks. Einem Host darf keine Netzwerkadresse zugewiesen werden. Netzwerkadressen werden z.B. in Routingtabellen bei Routern verwendet bzw. eingetragen, damit die IP-Pakete an’s richtige Ziel finden.
    Regel: Alle Hostbits = 0


2. Der Internetzugang

2.1 Der xDSL-Router

Die Marketingabteilungen dieser Geräte geben ihnen eine unpräzise Bezeichnung, nämlich xDSL-Router. Es handelt sich dabei aber um mehr als nur einen Router. Der Router verbindet einzig und allein IP-Netze, arbeitet somit auf OSI-Layer 3 bzw. Network-Layer. xDSL-Router verfügen aber meist über viel mehr Funktionen wie Modem, Router, DNS, DHCP, NAT, Firewall, WLAN und Switch. Oft gehören auch USB- und DECT-Schnurlos-Telefonanschlüsse dazu. Es handelt sich also vielmehr um ein Multifunktionsgerät als nur um einen simplen Router. Im Fachhandel sind selbstverständlich auch Router im Angebot, die diesen Namen verdienen, weil sie ausschliesslich diese eine Funktion beherrschen. Die gängigsten Funktionen in einer Übersicht:

  • Modem xDSL: Für den Signalaustausch über das Telefonnetz. Analog oder ISDN.
    xDSL steht für:
    ADSL : Asymmetric Digital Subscriber Line und bedeutet, dass der Uplink nicht dieselbe Bandbreite aufweist – meist langsamer – als der Downlink.
    SDSL : Symmetric Digital Subscriber Line und bedeutet, dass Uplink und Downlink dieselbe Bandbreite aufweisen. Dies ist z.B. für LAN-WAN-LAN-Verbindungen erforderlich.
  • Router: Der Router verbindet das Intranet mit der Aussenwelt bzw. routet Datenpakete vom und zum Internet.
  • DHCP-Dienst: Für eine automatische Zuweisung von IP-Adressen an die PC’s.
  • DNS-Dienst: Für die Namensauflösung URL zu IP-Adresse.
  • NAT: Network-Adress-Translation. Übersetzt interne (private) IP-Adressen in eine externe (öffentliche) IP-Adresse und umgekehrt.
  • Firewall: Für einen «einfachen» Schutz vor unerwünschten Datenpaketen.
  • WLAN: Wireless Local Area Network, Drahtloses lokales Netzwerk.
  • Switch: Drahtgebundene Netzwerkvermittlungsstelle
  • WLAN-AccessPoint (AP): Drahtloses Netzwerk
Und als logische Topologie:

2.2 Ein Webseitenaufruf

Im folgende werden zwei Beispiele gezeigt, wie Webseiten im Internet aus netzwerktechnischer Sicht aufgerufen werden.
(HINWEIS: Um NAT nachzuvollziehen, muss man die auf OSI-Layer 4 (Transportschicht) angesiedelte Port-Nummer verstanden haben. Mehr dazu findet man im nachfolgenden Kapitel «Netzwerkprotokolle als Schichtenarchitektur»)

  1. Das Bild oben links zeigt einen Aufruf einer Webseite von einem PC mit öffentlicher IPv4-Adresse.
  2. Das Bild oben rechts zeigt die Antwort des Webservers an den Aufrufer im öffentlichen Netz.
  3. Das Bild unten links zeigt einen Aufruf einer Webseite von einem PC mit privater IPv4-Adresse (Intranet).
    Im Intranet haben die Host’s eine IP-Adresse aus dem privaten IP-Adressbereich. Der xDSL-Router erhält seine öffentliche IP-Adresse vom DHCP-Server des ISP's (Internet Service Provider). Werden Datenpakete ins Internet versandt, müssen die internen privaten IP-Adressen in öffentliche IP-Adressen «umgewandelt» werden. Dafür ist ein Verfahren zuständig, das NAT (Network Address Translation) genannt wird.
  4. Das Bild unten rechts zeigt die Antwort des Webservers an den Aufrufer im privaten Netz (Intranet).
(Source-)NAT (Network Address Translation) bezeichnet das Verfahren, das automatisiert Adressinformationen in Datenpaketen durch andere ersetzt, um verschiedene Netze zu verbinden. Zentrale Aufgabe ist das Ersetzen der privaten Absender-IP durch die öffentliche. Damit das bei einem Intranet mit mehreren Teilnehmer reibungslos funktionieren kann, muss von jedem Datenpaket woher es kommt in der NAT-Tabelle gespeichert werden, damit die Serverantwort wieder zum richtigen Adressaten zurückfindet. Dies löst man, indem man das IP-Paket mit modifizierter Absender-Portnummer an den Webserver schickt und dessen Antwort gemäss NAT-Tabelle wieder in die ursprüngliche Portnummer des Absenders im Intranet zurückwandelt.

Ergänzung: Im Gegensatz zu Source NAT wo der Quellport des internen Clients durch einen freien Port des Routers ersetzt wird, ist bei Destination NAT der Vorgang so, dass der Zielport des verbindungsaufbauenden Clients durch einen freien Port des Routers ersetzt wird. Interessant ist dies für die Portweiterleitung, wo eingehenden Datenpakete per Destination NAT und  ausgehenden Pakete per Source NAT maskiert werden.


3. Zusammenfassung «Netzwerkadressierung»

In einem Subnetz sind immer zwei Adressen weniger nutzbar, als das Subnetz an IP-Adressen hergibt. Zum Beispiel hat ein Netzwerk mit der Netz-ID=192.168.0 bzw. dem IP-Bereich von 192.168.0.0. bis 192.168.0.255 insgesamt 256 IP-Adressen (28) zu vergeben. Die Anzahl Host beträgt aber nur 254 bzw. 28-2. Dies wegen den beiden nicht für Hosts nutzbaren «Netzwerkadresse» und «Broadcastadresse».

Statische Adressen

Unter statischer Adressierung versteht man "von Hand" permanent am PC eingegebene Netzwerkparameter, wie:

  • IP-Adresse: Logische Adresse im LAN/Intranet. Dass heisst, IP aus dem privaten IP-Adressbereich 10.0.0.0 - 10.255.255.255 oder 172.16.0.0 - 172.31.255.255 oder 192.168.0.0 - 192.168.255.255
  • Subnetzmaske: Es gibt entweder die Dezimalschreibweise, wo acht Oktette jeweils durch einen Punkt getrennt werden oder die CIDR-Schreibweise, wo nach einem Schrägstrich angegeben wird, aus wievielen 1-Bits die Subnetzmaske besteht. Bsp.: 255.0.0.0=/8; 255.255.0.0=/16; 255.255.255.0=/24
  • Standardgateway Unter Standardsgateway versteht Microsoft-Windows die Router-IP-Adresse bzw. den Router, der aus dem eigenen Subnetz führt. Der Router seinerseits erhält immer statische IP-Adressen. Üblicherweise verwendet man die erste oder letzte IP-Adresse aus dem für Hosts verfügbaren Adressbereich des Subnetzes. Bsp.: Netzwerk=192.168.1.0/24 → Router=192.168.1.1 oder 192.168.1.254.
    Jeder PC benötigt die Angabe der Routeradresse, damit IP-Pakete auch in fremde Subnetze verschickt werden können.
  • DNS-Server: Die IP-Adresse des DNS-Servers. Aus Redundanzgründen kann man zwei DNS-Server eintragen.
    Der DNS-Server ist für die Namensauflösung URL zu IP-Adresse zuständig und wird immer dann angefragt, wenn z.B. eine Webseite aufgerufen wird. Im Webbrowser gibt man die URL z.B. www.google.ch ein und der DNS liefert die dazugehörige und für den Versand des IP-Pakets unerlässliche IP-Adresse von in diesem Fall «www.google.ch» ⇒ 172.217.22.99)
  • Hostname: Unter Microsoft-Windows ist das der «Computername»
  • Arbeitsgruppe: Unter Microsoft-Windows sind Peer-to-Peer-Netzgruppen gemeint.
    Die Microsoft-Windows-Arbeitsgruppe bietet eigentlich keine wesentlichen Vorteile. Jede Arbeitsstation ist ein gleichberechtigtes Mitglied (Peer-to-Peer) und die Benutzer werden lokal auf den einzelnen PC’s verwaltet. Bei grösseren Netzwerken (>20PC’s) kann es sich lohnen, eine zentrale Verwaltung in Form von Directory-Services (bei Microsoft-Windows ActivDirectory) einzurichten. Somit wird ein Server-Betriebssystem fällig, das diese Funktion unterstützt (Microsoft-Windows-Server-Edition). Dann wird der PC (der übrigens in der Microsoft-Windows-Pro-Variante vorliegen muss) nicht in eine Arbeitsgruppe sondern in eine Domäne integriert. Damit hat man wesentliche Vorteile, weil Ressourcen wie Datei-Freigaben etc. einfacher genutzt werden können und man im Netzwerk nur einen Account besitzt, der zentral auf dem sog. Domänen-Controller verwaltet wird

Dynamische Adressen

Unter dynamischer Adressierung versteht man automatisch von einem DHCP-Server gelieferte Netzwerkparameter.
Im eigenen Subnetz muss ein DHCP-Server vorhanden sein. Ausnahme: DHCP-Server in fremden Netz inkl. DHCP-Relay-Agent.

  • IP-Adresse
    (+) Keine Adresseingaben «von Hand» nötig und somit Vorteilhaft bei oft stattfindendem Ortswechsel zwischen z.B. Schule-Arbeitsplatz-Zuhause. Benötigt an jedem Ort aber einen funktionierenden DHCP-Server.
    (+) Dank DHCP-Automatismus wird bei korrekter Konfiguration (Adresskonzept!) keine IP-Adresse doppelt vergeben.
    (-) Mein PC hat keine ordentliche IP, falls der DHCP nicht erreichbar ist. Es kommt ZeroConf oder APIPA (Automatic Private IP Addressing) zur Anwendung. Darunter ist eine vom PC selbst generierte Adresse im Bereich von 169.254.0.0/16 bis 169.254.255.255/16 zu verstehen.
    (-) Wenn nicht explizit im DHCP-Server so vorgemerkt, kein IP-Adress-Wunschprogramm für den PC-Owner. Dies ist ein Nachteil beim Betreiben von eigenen (Web)Serverdiensten, die immer unter derselben IP erreichbar sein müssen. Darum: Server Drucker und Router haben immer eine statische IP-Adresse oder man «trickst» bei Webservern mit DynDNS.
    (-) Da der schnellere DHCP-Server liefert, und das muss nicht unbedingt der offizielle sein, kann eine falsche IP-Adresse aufgezwungen werden.
  • Subnetzmaske
  • Standardgateway
    (+) Man erhält immer die für das aktuelle Subnetz bzw. Campus die richtige Routeradresse, ohne sich darum kümmern zu müssen.
    (-) Sitzt man einem falschen DHCP-Server auf, kann dieser eine falsche Routeradresse vermitteln. Dieser unter Umständen bösartige Router kann dann das Routing sabotieren.
  • DNS-Server
    (+) Man erhält immer die für das aktuelle Subnetz bzw. den Campus richtige DNS-Serveradresse, ohne sich darum kümmern zu müssen.
    (-) Sitzt man einem falschen DHCP-Server auf, kann dieser eine DNS-Serveradresse vermitteln, die zu einem bösartigen DNS-Server führt, der wiederum gefälsche DNS-Einträge enthält und Webseitenanfragen auf speziell präparierte Fake-Webserver leitet.

Reservierte Adressen

  • Netzwerkadresse: Erste Adresse im Subnetz. Alle Hostbits=0
  • Broadcastadresse: Letzte Adresse im Subnetz. Alle Hostbits=1
  • Loopbackadresse: Eigenen Netzwerkadapter und bei jedem PC dieselbe: 127.0.0.1

Adressbeispiele

  1. Netzwerkadresse=10.0.0.0 mit Subnetzmaske=255.0.0.0
    Somit für Host’s nutzbarer IP-Adressbereich=10.0.0.1 bis 10.255.255.254
    Broadcastadresse=10.255.255.255
    Loopbackadresse=127.0.0.1
    Mögliche Routeradresse:10.0.0.1 oder 10.0.0.254
  2. Netzwerkadresse=172.16.0.0 mit Subnetzmaske=255.255.0.0
    Somit für Host’s nutzbarer IP-Adressbereich=172.16.0.1 bis 172.16.255.254
    Broadcastadresse=172.16.255.255
    Loopbackadresse=127.0.0.1
    Mögliche Routeradresse:172.16.0.1 oder 172.16.0.254
  3. Netzwerkadresse=172.16.0.0 mit Subnetzmaske=255.0.0.0
    Ist ein Widerspruch, weil die Subnetzmaske 255.0.0.0 hier bedeuten würde, dass alles von 172.0.0.0 bis 172.255.255.255 im selben Netz ist. Damit überlappt man privaten IP-Bereich mit öffentlichem IP-Bereich was zur Folge hätte, dass alle Hosts im öffentlichen Netz, weil nicht geroutet, nicht erreichbar wären. Dasselbe gilt übrigens auch fü 192.168.0.0/8.
  4. Netzwerkadresse=192.168.1.0 mit Subnetzmaske=255.255.255.0
    Somit für Host’s nutzbarer IP-Adressbereich=192.168.1.1 bis 192.168.1.254
    Broadcastadresse=192.168.1.255
    Loopbackadresse=127.0.0.1
    Mögliche Routeradresse:192.168.1.1 oder 192.168.1.254

Microsoft-Windows-Befehle

  • cmd → Eingabeaufforderung oder umgangssprachlich «DOS-Fenster». Ist in Microsoft-Windows immer noch enthalten. Wird aber durch das mächtigere Powershell abgelöst. Unter UNIX/Linux verwendet man Shells wie z.B. sh, ksh, bash etc.
  • ipconfig → Anzeigen der Netzwerkadress-Einstellungen. Unter UNIX/Linux heisst dieser Befehl ifconfig.
  • ping → Diagnose-Werkzeug, mit dem überprüft werden kann, ob ein bestimmter Host in einem IP-Netzwerk erreichbar ist. Der Firewall kann den ping aus Sicherheitsgründen blockieren. Dies kann man verhindern, indem man den Firewall temporär abstellt oder als Firewall-Regel icmp-Kommandos zulässt. Der ping ist ein icmp-Kommando (Internet Control Message Protocol)
  • nslookup → Damit kann man IP-Adressen oder Domains eines bestimmten Computers mittels DNS herauszufinden. (Name Server look up)
  • tracert → Damit kann man ermitteln, über welche Router und Internet-Knoten IP-Datenpakete bis zum abgefragten Rechner gelangen. Unter UNIX/Linux heisst dieser Befehl traceroute.
  • /? → Dies ist die Microsoft-Windows-Befehlsoption «?». Damit erhält man Hilfe zu Microsoft-Windows-Kommandos. Befehlsoptionen werden bei Microsoft-Windows immer mit / eingeleitet. Bei UNIX/Linux-Kommandos erhält man Hilfe über die Manualpages: man Kommando. Befehlsoptionen werden bei Linux mit – eingeleitet.
Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

4. IPv6 (Nachfolger von IPv4)

Das aus den frühen 1970er Jahre stammende Internet Protocol Version 4 (IPv4) ist Basis für beinahe sämtliche Internet-Kommunikation. Seit 2011 ist aber der verfügbare Adresspool aufgebraucht und ein Übergang zum Internet Protocol Version 6 (IPv6) ist unvermeidbar. Die Version 5 wurde übrigens ausgelassen. Dies bedeutet nicht, dass bestehende IPv4-Netze nun sofort auf IPv6 umgestellt werden müssen. Der Übergang kann schrittweise erfolgen bzw. die Protokolle können während der Übergangsphase parallel genutzt werden (Dual Stack). In IPv6-Netzen kommt den Routern eine wichtigere Rolle zu als früher bei IPv4-Netzen. Der Router kann die Aufgabe übernehmen, die angeschlossenen Geräte mit IP-Adressen zu versorgen. Im Folgenden eine kurze Übersicht zu IPv6.

Unterschiede von IPv4 zu IPv6

  • IPv6 hat eine Länge von 128 Bit, IPv4 hat eine Länge von 32 Bit. Der Adressraum von IPv6 ist gross genug, um auf absehbare Zeit für alle mit dem Internet verbundenen Geräte global eindeutige Adressen zur Verfügung zu stellen.
  • Jedes Gerät wird auf diese Weise potenziell global adressierbar. Ausser bei Spezialfällen ist somit kein NAT mehr erforderlich.
  • IPv4-Broadcast's sind IPv6-Multicast's gewichen: FF00:-Adressen
  • Layer3 zu Layer2-Auflösung (IP zu MAC) einheitlich (ARP-Protokoll wird durch NDP-Protokoll Neighbor-Discovery-Protokoll ersetzt, welches auf ICMPv6 basiert)
  • Statisches Routing von IPv6 wird wie bei IPv4 eingerichtet. Bei dynmaischem Routing ergeben sich Änderungen gegenüber IPv4.

IPv6-Addresse automatisch beziehen

  • Stateless Address Autoconfiguration (SLAAC)
    Bei Netzen mit hoher Fluktuation und ohne strenge Zugangskontrolle teilt ein entsprechend konfigurierter Router den angeschlossenen Geräten mit, welches Präfix er für das angeschlossene Netz anbietet. Alle angeschlossenen Geräte konfigurieren ihre Netzwerkschnittstellen selbstständig (ähnlich APIPA) und ohne die Notwendigkeit einer zentralen Verwaltung (wie DHCP) indem sie eine für das betreffende Netz passende Adresse erzeugen und prüfen, ob diese bereits verwendet wird. Ist dies der Fall, wird so lange eine neue Adresse gesucht und getestet, bis eine unbenutzte gefunden wurde. Anfangs war es nicht vorgesehen, im Rahmen von SLAAC den angeschlossenen Geräten weitere Informationen wie die Adresse eines DNS-Servers zu übermitteln. Diese Möglichkeit wurde aber inzwischen geschaffen, so dass SLAAC eine vollwertige Methode zur Netzwerkkonfiguration darstellt.
  • Stateless DHCP
    Das am Netz angeschlossene Geräte konfiguriert seine IPv6-Adresse per SLAAC, beziehen aber weitere Informationen wie z.B. DNS-Server-Adresse von einem DHCP-Server.
  • Stateful DHCP
    Für Netze, bei denen eine sehr enge administrative Kontrolle über ans Netz angeschlossene Geräte erforderlich ist, steht DHCP in einer zu in IPv4-Netzen verwendeten DHCP funktional äquivalenten Variante auch unter IPv6 zur Verfügung.

IPv6-Addresstypen

  • IPv6-Global-Unicast-Adressen entsprechen den öffentlichen IPv4-Adressen. (Kein NAT mehr notwendig.)
  • IPv6-Unique-Local-Adressen entsprechen den privaten IPv4-Adressen und werden nicht global geroutet.
  • IPv6-Link-Local-Adressen habe ihre Gültigkeit innerhalb eines gemeinsamen Netzsegments bzw. VLANs und werden nicht geroutet: FE80:-Adressen.

IPv6-Adressnotation

  • Die IPv6-Adressen werden hexadezimal notiert zu je 8 Blöcken mit 4 Hexziffern (=16Bit) und durch Doppelpunkte getrennt. (IPv4: Dezimal und Punkte). Beispiel: 2001:0db8:85a3:08d3:1319:8a2e:0370:7344
  • Führende Nullen können ausgelassen werden. Beispiel: 2001:0db8:0000:08d3:0000:8a2e:0070:7344 wird zu 2001:db8:0:8d3:0:8a2e:70:7344
  • Mehrere aufeinander folgende Blöcke mit 0 dürfen ausgelassen werden, indem zwei aufeinander folgende Doppelpunkte notiert werden. Beispiel: 2001:0db8:0:0:0:0:1428:57ab wird zu 2001:db8::1428:57ab wobei höchstens eine zusammenhängende Null-Gruppe mit Doppel-Doppelpunkten ersetzt werden darf!
  • Für die letzten beiden Blöcke (4Bytes=32Bit) darf auch die herkömmliche dezimale Notation verwendet werden. Beispiel: ::ffff:7f00:1 wird zu ::ffff:127.0.0.1 (=IPv4-Einbettung in IPv6)

IPv6-URL-Notation

Die IPv6-Adresse wird in eckige Klammern eingeschlossen und eine allfällige Portnummer wie bei IPv4 hinter einem Doppelpunkt angehängt. Beispiel: http://[2001:0db8:85a3:08d3::0370:7344]:8080/

Netznotation

Die Maskierung beschreibt man in der CIDR-Notation wie bei IPv4. Beispiel: 2001:0db8:1234::/48 steht für
2001:0db8:1234:0000:0000:0000:0000:0000 bis 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff. Die Standard-Präfixlänge ist /64.

IPv6-Segmentierung

Die IPv6-Adresse setzt sich aus einem Network Prefix (Subnet Prefix) und einem Interface Identifier zusammen. Die Provider konfektionieren Business-Anschlüsse mit IPv6 so, dass Administratoren über 8 bis 16 Bit Adressraum freie Hand haben (Subnet-ID), um damit ihre Netze segmentieren zu können.

Dual-Stack-Adressbeispiel IPv4 und IPv6 für eine fiktive Firma

Vorausgeschickt wird, dass die PC's mit WIN10 betrieben werden, WIN10 unterstützt IPv6, und die IPv4-Netzwerkadresse 192.168.1.0/24 lautet. Die Firma SWISSCOM als Internet-Service-Provider stellt der Firma ihre Standard-VDSL-Router zur Verfügung. Die folgenden Bilder beziehen sich auf einen lokalen PC innerhalb der Firma mit der IPv4-Adresse 192.168.1.111 und der gegebenen Netzwerktopologie (Dual-Stack-Mode → IPv4 parallel zu IPv6):

  • Sichtbarkeit im öffentlichen Netz: Dazu wird eine Webseite gewählt, die dem Webseitenbesucher seine IP-Adresse zurückmeldet, wie z.B. die Webseite «wieistmeineip.ch» (Stand 2022) dies tut. Man erkennt dabei folgendes:
    1. Öffentliche IPv4-Adresse des Routers ist 92.104.142.137
    2. IPv6-Global-Unicast-Adresse des Routers WAN-seitig ist 2a02:1204:b778:4c20:d345:4ab2:dfc2:8b56
  • Netzwerkparameter mit ipconfig /all ermitteln: Man erkennt dabei folgendes:
    1. IPv4-Adresse des Hosts (PC) 192.168.1.111
    2. IPv6-Link-Local-Adresse des Hosts (PC) fe80::a8f1:7985:8fa5:209a
    3. IPv6-Global-Unicast-Adresse des Hosts (PC) 2a02:1204:b778:4c20:cd52:d2ef:de33:435c
    4. IPv4-Adresse des Routers 192.168.1.1
    5. IPv6-Link-Local-Adresse des Routers fe80::c34a:365b:de23:23ac
    6. IPv6-Global-Unicast-Adresse des DNS (Swisscom VDSL-Internetzugang inkl. DNS und Router etc.) 2a02:1204:b778:4c20:a7db:d2ef:de32:a30c
  • Angaben im VDSL-Router von Swisscom überprüfen: Man erkennt dabei folgendes:
    1. Öffentliche IPv4-Adresse des Routers 92.104.142.137
    2. IPv6-Global-Unicast-Adresse des Routers LAN-seitig 2a02:1204:b778:4c20:a7db:d2ef:de32:a30c
    3. IPv4-Adresse des Routers LAN-seitig 192.168.1.1
  • Besitzer des IPv6-Adressbereichs/Subnetz mit «whois» ermitteln: Die whois-Abfrage für die IPv6-Adresse 2a02:1204:b778:4c20:a7db:d2ef:de32:a30c ergibt das folgende Resultat...
    1. netname: SWISSCOM-6RD
    2. descr: Swisscom (Schweiz) AG
    3. descr: This range is used for dynamic customer pools with 6RD
    4. country: CH
    5. inet6num: 2a02:1200::/28.
      Was bedeutet 2a02:1200::/28 ?
      2   a   0   2   :   1   2   0     /28
      4b  4b  4b  4b      4b  4b  4b    =28Bit
      (Eine Hex-Ziffer entspricht 4Bit)
      
    Typischerweise bekommt ein InternetServiceProvider (ISP) wie die Swisscom die ersten 32 Bit (bei Swisscom 28 Bit) als Netz von einer Regional Internet Registry (RIR) zugewiesen. Dieser Bereich wird vom Provider weiter in Subnetze aufgeteilt. Die Länge der Zuteilung an Endkunden wird dabei dem ISP überlassen. Vorgeschrieben ist die minimale Zuteilung eines /64-Netzes.
    MusterGmbH hat von Swisscom das folgende IPv6-Netz erhalten: 2a02:1204:b778:4c20::/64

Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

5. Netzwerkprotokolle als Schichtenarchitektur

Um Sinn und Zweck der Schichtenarchitektur etwas zu verdeutlichen, bedienen wir uns vorerst an einem fiktiven Schichtenmodell aus dem Transportwesen: Jedes Frachtgut kann in einen Behälter seiner Wahl gesteckt und dieser auf das Wunschtransportmittel gepfropft werden, wobei natürlich nicht jede Kombination sinnvoll oder erwünscht ist. Wichtig ist aber, dass die Schnittstellen zwischen den Schichten klar definiert sind. Zum Beispiel müssen die Befestigungspunkte des Behälters auf dem Transportmittel bekannt sein.

Der Zweck einer Schichtenarchitektur wie das OSI-Referenzmodell besteht darin, die Kommunikation über unterschiedlichste technische Systeme hinweg zu ermöglichen und die Weiterentwicklung zu begünstigen. Dazu definiert das OSI-Modell sieben aufeinander folgende Schichten (Layers) mit jeweils eng begrenzten Aufgaben. In der gleichen Schicht mit klaren Schnittstellen definierte Netzwerkprotokolle sind einfach untereinander austauschbar, selbst wenn sie wie das Internet Protocol eine zentrale Funktion haben.

5.1 Das OSI-Referenzmodell

Das OSI-Modell (Open Systems Interconnection Model) ist ein Referenzmodell für Netzwerkprotokolle als Schichtenarchitektur. Es wurde ab 1977 entwickelt und soll die Kommunikation über unterschiedlichste technische Systeme und Medien ermöglichen. Dazu sieht dieses Modell sieben aufeinander folgende Schichten mit jeweils eng begrenzten Aufgaben vor. In der gleichen Schicht mit klaren Schnittstellen definierte Netzwerkprotokolle sollen einfach untereinander austauschbar sein. Grundlage der Internetprotokollfamilie bzw. TCP/IP-Stack war aber das Ende der 1960er Jahre entstandene DoD-Schichtenmodell, welches nur vier Schichten vorsah. Somit bilden z.B. im TCP/IP-Stack die Upper-Layers nur eine Schicht. Die Netzwerkkopplungselemente arbeiten auf den entsprechenden Schichten.

  1. Layer (Physical)
    Massnahmen und Verfahren zur Übertragung von Bitfolgen: Die Bitübertragungsschicht definiert die elektrische, mechanische und funktionale Schnittstelle zum Übertragungsmedium. Die Protokolle dieser Schicht unterscheiden sich nur nach dem eingesetzten Übertragungsmedium und -verfahren. Das Übertragungsmedium ist jedoch kein Bestandteil der Schicht 1.
  2. Layer (Data Link) MAC-Adresse
    Logische Verbindungen mit Datenpaketen und elementare Fehlererkennungsmechanismen: Die Sicherungsschicht sorgt für eine zuverlässige und funktionierende Verbindung zwischen Endgerät und Übertragungsmedium. Zur Vermeidung von Übertragungsfehlern und Datenverlust enthält diese Schicht Funktionen zur Fehlererkennung, Fehlerbehebung und Datenflusskontrolle. Auf dieser Schicht findet auch die physikalische Adressierung von Datenpaketen statt.
  3. Layer (Network) IP-Adresse
    Routing und Datenflusskontrolle: Die Vermittlungsschicht steuert die zeitliche und logische getrennte Kommunikation zwischen den Endgeräten, unabhängig vom Übertragungsmedium und der Topologie. Auf dieser Schicht erfolgt erstmals die logische Adressierung der Endgeräte. Die Adressierung ist eng mit dem Routing (Wegfindung vom Sender zum Empfänger) verbunden.
  4. Layer (Transport) Port-Nummer
    Logische Ende-zu-Ende-Verbindungen: Die Transportschicht ist das Bindeglied zwischen den transportorientierten und anwendungsorientierten Schichten. Hier werden die Datenpakete einer Anwendung zugeordnet. Oberhalb Layer4 kann das Protokoll TLS (Transport Layer Security) liegen, das z.B. bei HTTPS für verschlüsselte Webseiten sorgt. Das heisst, dass in diesem Fall ab Layer4 die Daten verschlüsselt bzw. für Drittpersonen nicht im Klartext einsehbar sind.
    Ein Port ist der Teil einer Netzwerkadressierung, der die Zuordnung von TCP- und UDP-Verbindungen und -Datenpaketen zu Server- und Client-Programmen durch Betriebssysteme bewirkt. Zu jeder Verbindung dieser beiden Protokolle gehören zwei Ports, je einer auf Seiten des Clients und des Servers. Gültige Portnummern sind 0 bis 65535.
  5. Layer (Session)
    Prozess-zu-Prozess-Verbindungen: Die Kommunikationsschicht organisiert die Verbindungen zwischen den Endsystemen. Dazu sind Steuerungs- und Kontrollmechanismen für die Verbindung und dem Datenaustausch implementiert.
  6. Layer (Presentation)
    Ausgabe von Daten in Standardformate: Die Darstellungsschicht wandelt die Daten in verschiedene Codecs und Formate. Hier werden die Daten zu oder von der Anwendungsschicht in ein geeignetes Format umgewandelt.
  7. Layer (Application)
    Dienste, Anwendungen und Netzmanagement: Die Anwendungsschicht stellt Funktionen für die Anwendungen zur Verfügung. Diese Schicht stellt die Verbindung zu den unteren Schichten her. Auf dieser Ebene findet auch die Dateneingabe und -ausgabe statt.
Zwei (leider etwas in die Jahre gekommene) Beispiele von OSI-Layern und Protokollübersichten findet man hier: Protokoll-Poster 1 und Protokoll-Poster 2

Das IP-Attribut TTL

TTL bedeutet Time to Live.
Beim Internet Protocol (IP) legt die TTL fest, wie viele Zwischenstationen (Hops) ein Datenpaket im Internet passieren darf. Die maximale Anzahl der Hops beträgt 255. Mit jedem Hop wird die TTL um 1 herabgesetzt. Wenn ein Datenpaket nach Ablauf seiner TTL noch nicht sein Ziel erreicht hat, wird es verworfen und der Absender erhält die Rückmeldung „Host unreachable“ (Dies wird übrigens vom Programm Traceroute ausgenutzt!)

5.2 Ein Webseitenaufruf aus Layer-Sicht

Beispiel einer Webseitenabfrage von einem Webbrowser aus

Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

6. Der Network-Sniffer «Wireshark»

6.1 Einführung

  • Wireshark ist ein freies Programm zur Analyse und grafischen Aufbereitung von Datenprotokollen (Sniffer / Netzwerkmonitor).
  • Findet man als Programm oder PortableAPP auf https://www.wireshark.org
  • Bei Verwendung von Wireshark die rechtliche Situation beachten: Aus Gründen des Datenschutzes ist das Abhören oder Protokollieren von fremden Funkverbindungen verboten, sofern es vom Netzbetreiber nicht explizit erlaubt wurde. Darum: In der Lehrfirma unbedingt vorher um Erlaubnis fragen.
  • Die erfassten Datenpakete werden in TCP/IP-Stack Schichten grafisch dargestellt:
    Netzzugang (MAC) / Network (IP) / Transport (Port) / Applikation (zB. HTTP)
    Wireshark zeigt bei einer Aufnahme sowohl die Protokoll-Header als auch den transportieren Inhalt an.
  • Promiscuous Mode: Wireshark schneidet sämtlichen Datenverkehr mit. D.h. er zeichnet auch Datenpakete auf, die nicht an den eigenen PC gerichtet sind. Geräte innerhalb der Kollisionsdomäne können somit abgehört werden.
  • Switches sorgen dafür, dass Netzwerkpakete dezidiert an den tatsächlichen Empfänger gesendet werden. Das erreichen sie, indem sie sich merken, an welchem Port welche MAC-Adresse zu finden ist. Demzufolge "sieht" auch eine Netzwerkkarte im Promiscuous Mode nur noch Broadcasts und an sie gerichtete Pakete. Somit ist es in solchen Netzen nicht ohne weiteres möglich, fremde Rechner auszuhorchen, ausser ihr Switch bietet Port Mirroring an. Kein Problem hat man allerdings beim Einsatz von Hub's, da diese immer nur eine Kollisionsdomäne bilden.
  • In WLAN's den Netzwerkverkehr von fremden Personen abzuhören, geht nur in gänzlich unverschlüsselten WLAN's, wie z.B. öffentlichen Hotspots. Sobald WEP oder WPA implementiert ist, sieht man zwar die Verbindung (MAC, IP, Port), was aber in der Applikationsschicht vor sich geht, bleibt verborgen.
    (Hinweis: WEP sollte nicht mehr verwendet werden, weil gehackt und unsicher.)
  • Wireshark bietet Displayfilter und Capturefilter. Filter: Syntax für Filterregeln (Verknüpfungen).
  • Bei WLAN kann allenfalls der WLAN-Adapter für das Sniffing ungeeignet sein. Im Normalzustand wird jeder WLAN-Adapter nur die Datenpakete durchleiten, die an ihn adressiert sind. Hier sollte der WLAN-Adapter aber den Monitor Mode und Injections beherrschen.
  • Nutzen sie Wireshark als Diagnosetool und nicht als Spyware!
Falls Wireshark nicht funktionieren sollte oder blockiert ist, probieren sie folgendes aus: Suchen sie im Wireshark-Ordner (zu finden im Ordner «Programme») das Programmfile «wireshark.exe» und führen sie es als Administrator aus (Rechtsklick «Als Administrator ausführen»)

Was bietet mir Wireshark?

  • Um die Frage zu klären, wer auf meinem PC nach Hause "telefoniert".
  • Zur Fehlersuche oder bei der Bewertung des Kommunikationsinhalts.
  • Welcher Dienst geht über welche IP-Adresse und Portnummer
  • Der häufigste Grund, einen Netzwerkmonitor einzusetzen, sind Firewalls und andere Sicherheitsprogramme, die auch legitime Kommunikation unterbinden, wenn sie nicht richtig konfiguriert sind. Derartige Probleme lassen sich mit einem Sniffer in vielen Fällen erkennen und lösen.
  • Zu Schulungszwecken um das TCP/IP-Protokoll besser zu verstehen.
Verschlüsselte Informationen/Pakete bleiben geheim (HTTPS, TLS, SSL)

6.2 Wiresharkfilter anwenden

Um die Datenflut etwas einzudämmen, sollte man Filter einsetzen. Einerseits gibt es Capture-Filter und andererseits Display-Filter. Capture-Filter (z.B. tcp port 80) sind nicht mit Display-Filtern (z.B. tcp.port == 80) zu verwechseln. Capture-Filter sind viel eingeschränkter und werden verwendet, um die Grösse einer Rohpaketerfassung zu reduzieren. Display-Filter werden verwendet, um einige Pakete aus der Paketliste zu verstecken.
Capture-Filter werden vor Beginn einer Paketerfassung festgelegt und können während der Erfassung nicht geändert werden. Display-Filter hingegen haben diese Einschränkung nicht und können jederzeit geändert werden.
Im Hauptfenster findet man den Capture-Filter direkt über der Schnittstellenliste und im Schnittstellendialog. Der Display-Filter kann über der Paketliste geändert werden.
Im Internet findet sich dazu viel entsprechendes Material. Zum Beispiel hier: https://wiki.wireshark.org/Home

Ein paar nützliche Display-Filter:

(Capture-Filer haben eine andere Syntax als Display-Filter)

Capture-Fenster löschen, ohne Wireshark neu zu starten und Filter neu setzen: (3 Versionen!)
→ Auf die grüne Haifischflosse neben der roten "Stop" Taste klicken
→ Menü Aufzeichnen > Neustart
→ Ctrl-R

Zeigt nur den Datenverkehr im 192.168.1.0-Netzwerk:
ip.src==192.168.1.0/24 and ip.dst==192.168.1.0/24

Zeigt nur den Datenverkehr von und zu dieser IP-Adresse:
ip.addr == 192.168.1.15 ist identisch mit
ip.src == 192.168.1.15 or ip.dst == 192.168.1.15 Zeige allen Datenverkehr ausser den von und zu dieser IP-Adresse ! ( ip.addr == 192.168.1.15 ) Zeigt nur SMTP (Port25) und ICMP-Datenverkehr tcp.port eq 25 or icmp
Zeigt nur SMTP (Port25) und ICMP-Datenverkehr Zeigt nur DHCP-Datenverkehr: dhcp.option.type == 53 DNS Anftage für edu.juergarnold.ch dns.qry.name == "edu.juergarnold.ch" dns and ip.dst==159.25.78.7 or dns and ip.src==159.57.78.7 Zeigt «Post» von einem (unverschlüsselten!) Webseitenformular: http.request.method == "POST"

6.3 Wireshark und verschlüsselte Webseiten

Beim Aufruf von verschlüsselten Webseiten wirkt oberhalb TCP das Verschlüsselungsprotokoll SSL/TLS (Heutzutags TLS, SSL war sein Vorgänger). Das bedeutet, dass Wireshark oberhalb TLS nichts anzeigen kann, da verschlüsselt. Dies ist auch erwünscht, weil dabei für Drittpersonen nicht einsehbar ist, was Webclient und Webserver miteinander austauschen, insbesondere Formulare, Passwörter etc. Ab HTTP 1.1 wird bei einem Webseitenaufruf die URL mitgegeben, weil es ja durchaus üblich ist, dass unter einer IP-Adresse mehrere Webseiten gehostet werden und darum der Server wissen muss, welche Webseite nun gemeint ist. Nun könnte man meinen, mit TLS wäre es nicht mehr möglich herauszufinden, welche Webseite aufgerufen wurde, weil sich diese Angabe nur im Application-Layer befindet. Dem ist aber nicht so. Im TLS-Layer findet man nämlich auch einen entsprechenden Hinweis. Und das geht so:

  • Wireshark-Displayfilter: ssl.handshake.extensions_server_name (Zeigt alle "Client Hello")
  • Eine der angezeigten Zeilen auswählen und TLS (Transport Layer Security) aufklappen.
  • Danach: TLSv1.x Record Layer: Handshake Protocol: Client Hello
  • Danach: Handshake Protocol: Client Hello
  • Danach: Extension: server_name
  • Danach: Server Name Indication extension
  • Und man erhält: Server Name: xxxxxx.yyyyy.zzz
  • Nun könnte man Rechtsklick → "Als Spalte anwenden" und hätte im oberen Fenster alle URLs angezeigt.
Hintergrund-Info: Server Name Indication (SNI) ist eine Erweiterung von TLS, um mehrere verschlüsselte Webseiten auf einem Server aufzurufen. Jede Domain hat ein anderes Zertifikat und der Server muss wissen, welches er liefern muss. Das wird ihm unverschlüsselt über die SNI vom Client geliefert.

Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN