Fachbeitrag «OSI-Layers & Switch/Router & Fehlersuche»

Netzwerktheorie

1. Das OSI-Schichtenmodell und der TCP/IP-Stack

Ein fiktives Schichtenmodell als Erklärungsversuch:
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.

Zweck des OSI-Modells ist, Kommunikation über unterschiedlichste technische Systeme hinweg zu ermöglichen und die Weiterentwicklung zu begünstigen. Dazu definiert dieses 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.

  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)
    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)
    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)
    Logische Ende-zu-Ende-Verbindungen: Die Transportschicht ist das Bindeglied zwischen den transportorientierten und anwendungsorientierten Schichten. Hier werden die Datenpakete einer Anwendung zugeordnet.
  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.
  • 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.
  • Beispiel von zwei OSI-Layer und Protokollübersichten: Protokoll-Poster 1 und Protokoll-Poster 2

Im Folgenden das Beispiel einer Webseitenabfrage von einem Webbrowser aus:

Die Schnittstellen der Schichten des TCP/IP-Stacks (Die Protokollheader sind in der folgenden Skizze nicht vollständig dargestellt):

IP-Attribut TTL (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!)

2. Netzwerkkopplung auf OSI-Layer 2 (Switch/Hub)

Die Topologie in modernen LAN's (Intranet) ist sternförmig. Host im selben LAN-Segment werden mit Switch's, früher Hub's, verbunden. Sollte man in einer alten Netzwerkumgebung noch ein Hub antreffen, kann dieser 1:1 durch einen Switch's ersetzt werden.

2.1 Wie funktioniert ein Hub

Hub-Intern kann man sich eine Bus-Topologie vorstellen, wie sie beim damaligen Ethernet mit Yellow-Cable anzutreffen war. Der ganze Hub bildet eine Kollisionsdomäne (siehe CSMA/CD), was ihn bei Traffic zwischen mehreren angeschlossenen Host nicht besonders effizient werden lässt. Beim Hub läuft man Gefahr, durch eine Drittperson abgehört zu werden. (Network-Sniffer wie z.B. Wireshark)

Ein Hub arbeitet auf dem OSI-Layer 1 und ist somit für die OSI-Layer 2-7 protokolltransparent. Ein Hub wirkt auch als Repeater bzw. Signalaufbereiter. Damit ist es möglich, mit einem weiteren Netzwerkkabel den Aktionsradius von ursprünglich 100 Meter um weitere 100 Meter zu erhöhen.

2.2 Wie funktioniert ein Switch

Beim Switch werden die verschiedenen Host's direkt miteinander verbunden. Genau so, wie bei der hier gezeigten Tefonzentrale, wo die einzelnen Gesprächsteilnehmer per Patchkabel direkt zusammengeschaltet werden und somit eine exklusiv von ihnen nutzbare Verbindung entsteht, die darüber hinaus auch nicht ohne weiteres abhörbar ist. Zwei Teilnehmer bilden somit eine eigene Kollisionsdomäne.

Ein Switch arbeitet auf dem OSI-Layer 1&2 und ist somit für die OSI-Layer 3-7 protokolltransparent. Ein Switch wirkt wie der Hub auch als Repeater bzw. Signalaufbereiter. Damit ist es möglich, mit einem weiteren Netzwerkkabel den Aktionsradius von ursprünglich 100 Meter um weitere 100 Meter zu erhöhen.

2.3 Die Switching-Tabelle oder Source Address Table (SAT)

Ein Switch muss nicht konfiguriert werden. Empfängt er ein Frame nach dem Einschalten, speichert er die MAC-Adresse des Senders mit der entsprechenden Switch-Schnittstelle in der Source Address Table (SAT). Falls die Zieladresse noch nicht in der SAT ist, muss das Frame an alle anderen Schnittstellen weitergeleitet werden. Der Speicherplatz, in dem sich der Switch die am jeweiligen Port hängenden MAC-Adressen merkt, ist begrenzt. Dies kann sich ein Angreifer mit dem sogenanten MAC-Flooding zu Nutze machen, indem er den Switch mit gefälschten MAC-Adressen überlädt, bis dessen Speicher voll ist. In diesem Fall schaltet der Switch in einen Failopen-Modus, wobei er sich wieder wie ein Hub verhält und alle Frames an alle Ports weiterleitet.

Neben MAC-Flooding gibt es bei Switchs weitere Gefahrenquellen:

  • MAC-Spoofing: Hier sendet der Angreifer Frames mit einer fremden MAC-Adresse als Absender. Dadurch wird deren Eintrag in der Source-Address-Table überschrieben, und der Switch sendet dann allen Datenverkehr zu dieser MAC an den Switchport des Angreifers.
  • ARP-Spoofing: Hierbei macht sich der Angreifer eine Schwäche im Design des ARP zu Nutze, welches zur Auflösung von IP-Adressen zu Ethernet-Adressen verwendet wird. Ein Rechner, der ein Frame via Ethernet versenden möchte, muss die Ziel-MAC-Adresse kennen. Diese wird mittels ARP erfragt (ARP-Request Broadcast). Antwortet der Angreifer nun mit seiner eigenen MAC-Adresse zur erfragten IP (nicht seiner eigenen IP-Adresse, daher die Bezeichnung Spoofing) und ist dabei schneller als der eigentliche Inhaber dieser Adresse, so wird das Opfer seine Frames an den Angreifer senden, welcher sie nun lesen und gegebenenfalls an die ursprüngliche Zielstation weiterleiten kann.

2.4 Merkmale von Switches

  • Untersucht Datenframes auf Layer 2
  • Anzahl der physischen Ports: z.B. 5..94
  • Unterstützte Übertragungsgeschwindigkeiten 10Mbps, 100Mbps, 1Gbps, 10Gbps, 16Gbps etc.
  • Autosensing/Autonegation Ports (Max. Geschwindigkeit ermitteln): Dies bezeichnet ein Verfahren, das es zwei miteinander verbundenen Ethernet-Netzwerkports (z. B. den Netzwerkports eines Computers und denen des Routers, Hubs oder Switches, mit dem dieser z. B. verbunden ist) erlaubt, selbständig die maximal mögliche Übertragungsgeschwindigkeit und das Duplex-Verfahren miteinander auszuhandeln und zu konfigurieren. Das Verfahren gilt nur für Mehrdrahtverbindungen (Twisted-Pair-Kabel) – nicht aber für WLAN-, Glasfaser- oder Koaxialkabelverbindungen.
  • Uplink Ports (Diese werden prior behandelt): In einem Telekommunikationsnetz bezeichnet der Uplink die Verbindung mit der Datenflussrichtung, welche aus der Sicht eines Endgerätes in Richtung Server oder Telekommunikationsnetz geht
  • MDI-X, AUTO-MDI-X (Medium Dependent Interface): Heutige Switches und Netzwerkkarten beherrschen die Fähigkeit, selbstständig die Sende- und Empfangsleitungen des angeschlossenen Gerätes zu erkennen und sich darauf einzustellen. Dies bezeichnet man als Auto MDI-X. Hierbei ist die Verwendung des Kabeltyps (gekreuzt oder ungekreuzt) egal.
  • PoE-Ports: Die Stromversorgung über Ethernet, englisch Power over Ethernet (PoE), bezeichnet ein Verfahren, mit dem netzwerkfähige Geräte über das achtadrige Ethernet-Kabel mit Strom versorgt werden können.
  • Modularer Aufbau (Erweiterbar mit Einschüben): SFP (Small Form-factor Pluggable) sind kleine standardisierte Module (Optische oder elektrische Transceiver) für Netzwerkverbindungen, die im Fehlerfall Hot-Swap austauschbar sind.
  • Managementoptionen wie Fehlerüberwachung und -signalisierung, Port-basierte VLANs, Tagged-VLANs, VLAN Uplinks, Link Aggregation, Meshing, Spanning Tree Protocol , Bandbreitenmanagement usw. (Diese Funktionen werden meist über ein Webinterface konfiguriert. Dazu erhält der Switch eine IP-Adresse.)
  • Spanning Tree Protocol: Um Pakete eindeutig weiterleiten zu können, muss die Ethernet-Technologie sicherstellen, dass zwischen zwei Rechnern jeweils nur ein Datenpfad existiert. Die Vermeidung von Effekten wie Broadcast-Stürmen wird nur erreicht, wenn ein Algorithmus existiert, der die Schleifenfreiheit der Topologie sicherstellt. Der Spanning-Tree-Algorithmus sorgt nun dafür, dass es keine unerwünscht kreisenden Pakete gibt. Er identifiziert Mehrfachwege, indem er Topologien mit redundanten Wegen durch eine logische Blockierung bestimmter Pfade in eine Baumtopologie überführt, die keine Schleifen besitzt. Dazu werden auf den Switches mit mehreren Verbindungen zu anderen Switches alle bis auf eine Verbindung blockiert. Bei Ausfall der primären Verbindung können diese sofort aktiviert werden und erzeugen auf diese Weise ein hohes Maß an Fehlertoleranz.
  • Link-Aggregation (Port-Trunking): Verfahren zur Bündelung mehrerer physischer LAN-Schnittstellen zu einem logischen Kanal.
  • VLAN (Virtual-LAN): Dies ist ein logisches Teilnetz innerhalb eines Switches bzw. eines gesamten physischen Netzwerks.
  • IGMP: Das Internet Group Management Protocol dient zur Organisation von Multicast-Gruppen. Damit ist die Nachrichtenübertragung von einem Punkt zu einer Gruppe gemeint und kommt z.B. bei Online-Streaming-Video und Gaming zur Anwendung.
  • Stackable Switch: Geräte des meist selben Typs, die stapelbar sind und wo die Backplane's mit den schnellen Datenbussen auch quasi «direkt» miteinander verbunden werden können. Damit ist der Switch z.B. skalierbar, bzw. den wachsenden Netzwerkanforderungen anpassbar. Der Stack ist auch als eine Einheit verwaltbar. Allerdings ist es auch mit modularen Switch's möglich, ökonomisch auf wechselnde Bedürfnisse zu reagieren.
  • Aufbau und max. Grösse der Source-Address-Table (Switchingtabelle): Anzahl verwaltbare MAC-Adressen.
  • Forwarding Rate (Durchleitrate): Gibt an, wie viele Frames pro Sekunde eingelesen, bearbeitet und weitergeleitet werden können.
  • Filter Rate (Filterrate): Anzahl der Frames, die pro Sekunde bearbeitet werden.
  • Backplanedurchsatz (Switching fabric): Den Kern eines Switches bildet das Switching Fabric, durch welches die Frames vom Eingangs- zum Ausgangsport transferiert werden. Das Switching Fabric ist vollständig in Hardware implementiert, um geringe Latenzzeiten und hohen Durchsatz zu gewährleisten. Zusätzlich zur reinen Verarbeitungsaufgabe sammelt es statistische Daten, wie die Anzahl der transferierten Frames, (Frame-)Durchsatz oder Fehler.

3. Netzwerkkopplung auf OSI-Layer 3 (Router)

Ein Router arbeitet auf dem OSI-Layer 3 und ist somit für die OSI-Layer 4-7 protokolltransparent. Der Router verbindet Subnetze, die sonst gegenseitig nicht erreichbar wären. Dafür muss bei jedem Host im Subnetz die Routeradresse angegeben werden. Bei MS-Windows spricht man dann von der Standardgateway-Adresse.

Das statische Routing inkl. der Routingtabelle wird im Fachbeitrag «Bandbreite, Subnetting & Routing» speziell behandelt.

3.1 Aufgaben und Zweck von Routern bzw. Abgrenzung gegenüber dem Switch

  • Untersucht Datenpakete auf Layer 3 und leitet sie an Nachbarnetze weiter
  • Benötigt dafür mehrere Netzwerkschnittstellen
  • Pakete müssen je nach Zielnetz mehrere Router passieren
  • Jeder Router muss wissen, wie er die Pakete weiterleiten soll
  • Das Routing (Weiterleitung) kann statisch (fixe Routen) oder dynamisch (über sich situationsbedingt anpassende Routen) erfolgen
  • Bildet Subnetze und unterbricht damit z.B. Broadcast‘s
  • Für den Anschluss an’s Internet
  • Für die Verbindung zweier LAN’s über ein WAN
  • Für die Fernüberwachung (Remote-Access) eines LAN’s
  • Für die Bildung des Internet Backbone’s (WWW)
  • Kann Firewallfunktionen enthalten

4. Fehlersuche

Wie man einem Netzwerkfehler auf die Spur kommt:

  • Ethernet-Verkabelung überprüfen
  • Status-LED’s an NIC’s und Switch’s überprüfen
  • Installierte NIC-Treiber aktualisieren
  • Netzwerk-Interfacekonfiguration: IP-Adresse, MAC-Adresse, Default-Gateway, DNS-Server (Betriebssystemkommando «ipconfig», «ifconfig»)
  • ARP-Cache leeren (Betriebssystemkommando «arp»)
  • Netzwerkschleifen d.h. redundante Pfade vermeiden
  • Erreichbarer DHCP-Server bei dynamischer IP-Adresszuteilung
    (Eine APIPA-Adresse weist auf einen nichterreichbaren DHCP-Server hin)
  • Default Gateway und statische Routen überprüfen (Betriebssystemkommando «route»)
  • Erreichbarkeit der Host’s überprüfen. Firewalleinstellungen beachten (Betriebssystemkommando «ping»)
  • Alle Zwischenstationen bzw. Router auf dem Weg in’s Zielnetz überprüfen (Betriebssystemkommandos « «tracert», «traceroute» und «pathping», «tracepath»)
  • Firewalleinstellungen überprüfen (ICMP-Meldungen werden vom Router meist defaultmässig blockiert - Der ping ist ein ICMP-Paket)
  • Bestehende TCP/UDP-Verbindungen überprüfen (Betriebssystemkommando «netstat»)
  • Aus Sicherheitsgründen nicht verwendete Port’s schliessen (Überprüfen mit einem Portscanner wie «nmap» www.nmap.org)
  • Ein- und ausgehende Internetpakete untersuchen (Mit einem Network-Sniffer wie «Wireshark» www.wireshark.org)