OSI Referenzmodell

Moderne Kommunikationssysteme bauen meist auf dem in der DIN ISO 7498 dargestellten Kommunikationsmodell auf, das auch als ISO / OSI-Referenzmodell bezeichnet wird. Dort werden die zur Datenübertragung notwendigen Aktionen in sieben funktionale Schichten eingeteilt.

Jede dieser Schichten stellt der nächst übergeordneten Schicht verschiedene Dienste zur Verfügung. Diese Dienste können in den höheren Schichten des Referenzmodells recht komplex sein, die Komplexität nimmt jedoch zu den unteren Schichten hingehend ab.

 

osi modell

 

Die Dienste der physikalischen Schicht (Schicht 1) sind so einfach gehalten, dass sie direkt über das Medium (Bus-Kabel, Lichtwellenleiter, Funkstrecke usw.) übertragen werden können. Durch die exakte Aufteilung in funktional zusammengehörende Blöcke (Schichten) des Kommunikationsmodells ist es möglich, ganze Schichten auszutauschen, ohne die Datenübertragung zu beeinträchtigen. Beispielsweise könnte durch Wechseln von drahtgebundener Datenübertragung auf optische Datenübertragung die Schicht 1 vollkommen verändert werden. Die Bedeutung der einzelnen Schichten und deren Aufgabe soll nun im weiteren kurz erläutert werden.

 

Schicht 1: Bit-Übertragungsschicht (Physical Layer)

Die Bit-Übertragungsschicht legt die Hardware-Schnittstelle, das Übertragungsmedium, die verwendeten elektrischen Pegel usw. fest. Die physikalische Schicht muss in der Lage sein, einzelne Bits zu übertragen (z.B. mit einem seriellen Baustein). Beispiele für die Implementierung einer physikalischen Schicht sind Schnittstellen nach EIA RS232, EIA RS 422 und EIA RS 485.

 

Schicht 2: Sicherungsschicht (Data Link Layer)

Die Sicherungsschicht ist zur Übertragung von einzelnen, einfachen Datenblöcken über die physikalische Schicht verantwortlich. Sie versieht die Roh-Datenblöcke mit Start- , Synchronisier- und Prüfzeichen, mit deren Hilfe Übertragungsfehler erkannt werden können.

 

Schicht 3: Vermittlungsschicht (Network Layer)

Die Vermittlungsschicht sorgt für die Auswahl des Weges der Datenübertragung durch das Netzwerk. Ein Dienst dieser Schicht ist z.B. die Bestimmung der Stationsadresse des gewünschten Zieles für die Datenübermittlung.

 

Schicht 4: Transportschicht (Transport Layer)

Die Transportschicht teilt die zu übermittelnden Daten in Blöcke auf, damit sie von der darunterliegenden Schichten verarbeitet werden können. Umgekehrt müssen die empfangenen Datenblöcke hier wieder richtig zusammengesetzt werden.

 

Schicht 5: Kommunikations-Steuerungsschicht (Session Layer)

Die Aufgaben der Vermittlungsschicht sind Aufbau und Abbau von Kommunikationsbeziehungen zwischen zwei oder mehreren Punkten sowie deren Überwachung.

 

Schicht 6: Darstellungsschicht (Presentation Layer)

Die Anpassungsschicht ist für die Codierung bzw. Decodierung der Daten zuständig. Die Codierung und Decodierung kann sowohl aus Übertragungsgründen als auch aus Datenschutzgründen (Verschlüsselung) notwendig sein.

 

Schicht 7: Verarbeitungsschicht (Application Layer)

Die Anwendungsschicht stellt die für die Auswertung notwendigen Dienste bzw. Protokolle zur Verfügung.

 

Header im OSI-Schichtenmodell

Eines der grossen Probleme bei der Kommunikation sind die grossen Unterschiede in den Rechner-Architekturen der beteiligten Computer. Daher hat das Divide-and-Conquer-Verfahren des OSI-Schichtenmodells grosse Vorteile. Die Kommunikation von Schicht zu Schicht erfolgt dabei über sogenannte Header. Jede Schicht hängt einen Header an der Datenblock, der ihr von der nächst höheren Schicht übergeben wurde. Die Physical Layer sendet den sie erreichenden Datenblock bitweise an den Empfänger. Dort wird von jeder Schicht der ihr zugeordnete Header abgetrennt und der restliche Datenblock bis zur obersten Ebene durchgereicht. Dieses Verfahren hat den Nachteil, dass kurze Nachrichten in der physikalischen Ebene relativ viel Platz beanspruchen. So wird z.B. eine Nachricht mit 15 Zeichen auf das Fünffache gedehnt.

 

LAN-Standards

Nachfolgend die wichtigsten LAN-Standards.

 

ARCnet

ARCnet ist der Umgangsbegriff für ein LAN, das nach IEEE 802.4 standardisiert ist und eine Übertragungsrate von max. 2,5Mbit/s bietet. Ist keine Anbindung an andere Rechnerwelten geplant, stellt die Vernetzung durch ARCnet eine kostengünstige und einfach zu realisierende Lösung dar. ARCnet zeichnet sich durch grosse Flexibilität aus, einfaches Handling und vor allem durch problemlose Erweiterbarkeit

 

Ethernet

Ethernet ist der Umgangsbegriff für ein LAN nach dem Standart IEEE802.3 und stellt eine preiswerte, einfach zu handhabende und inzwischen sehr weit verbreitete Möglichkeit für die Vernetzung von Rechnern dar. Ethernet basiert auf einer Bus-Struktur und bietet Übertragungsraten von inzwischen bis 10Gbit/s. Der Zugriff der Rechner auf das Netzwerk wird mit Ethernetkarten abgewickelt.

Es gibt drei unterschiedliche Normen, die in den nächsten drei Abnschnitten beschrieben werden.

 

Thin-Ethernet (Cheapernet)

Hier wird das Thin-Wire-Kabel nach der 10Base2-Norm (Coax-Kabel RG58, Wellenwiderstand 50Ohm) verwendet. Wegen seines günstigen Preises wird es auch Cheapernet genannt. Nachteile sind Netzunterbrechungen bei der Installation und die geringe max. Segmentlänge von 185 Meter für bis zu 30 Stationen.

Für jeden Anschluss eines neuen Knotens muss das Bus-Kabel aufgetrennt werden, um ein T-Stück einfügen zu können, an das der Knoten direkt angeschlossen wird. Das T-Stück stellt innerhalb des Kabels eine Störung des koaxialen Zustandes dar. Damit verbunden ist eine erhöhte Störungsabfälligkeit an diesen Stellen. Während das Kabel aufgetrennt ist, steht die Kommunikation im ganzen Netz still.

 

Thick-Ethernet

Das gebräuchlichste Kabel war ursprünglich das ThickWire-Koaxialkabel nach der 10Base5-Norm. Mit diesem Kabel können bis zu 500 Meter lange Ethernet-Segmente mit maximal 100 Stationen aufgebaut werden. Es können max. fünf Segmente über Repeater oder Brücken zusammengeschaltet werden. Die Enden der Segmente müssen mit je einem Thin-Terminator abgeschlossen werden.

Der physikalische Anschluss von Knoten an das ThickWire-Bus-Kabel erfolgt mit sogenannten Transceivern im Abstand von 2,5 Metern oder einem Vielfachen davon. Die Kabellänge zwischen Transceiver und Ethernet-Karte im PC darf max. 50 Meter betragen. Die Transceiver werden über einen eingebauten Dorn mit dem zentralen Draht unter der Abschirmung des ThickWire-Kabels verbunden. Diese Anschlusstechnik bietet den Vorteil, das zur Installation neuer Stationen im Netz das ThickWire-Kabel nicht aufgetrennt werden muss.

 

Twisted-Pair

Für die Nutzung bereits verlegter Twisted-Pair-Kabel empfiehlt sich der Aufbau eines Ethernet nach der xBaseT-Norm. Die Stationen werden mit xBaseT Switches sternförmig verkabelt, wobei die PC-Switch-Verbindung max. 100 Meter lang sein darf.

Im xBaseT-Standart werden die Regeln zur Verwendung von paarweise verdrillten, ungeschirmten Vierdrahtkabeln (Unshielded Tisted-Pair, UTP) mit achtpoligen RJ45-Steckern für den Ethernet-Datentransfer festgelegt.

 

Token-Ring

Gegenüber Ethernet ist Token Ring eine teure, mit einer Datenübertragungsrate von 16Mbit/s auch langsame Netzwerk-Architektur. Token Ring ist unter IEEE 802.5 standardisiert. Wie bei jeder Netzwerk-Topologie, müssen auch bei Token Ring Konfigurationsregeln bezüglich der Kabeltypen und der Netzwerk-Adapter eingehalten werden. Für das von IBM entwickelte Token-Ring-Verfahren gibt es mehrere Kabeltypen- und Anschlüsse.

Darüber hinaus existieren verschiedene Netzwerk-Übertragungsraten (4, 10 und 16Mbit/s), die durch unterschiedliche Netzwerk-Karten und Verbindungsgeräte realisiert werden. Zu beachten ist dabei, dass das Netzwerk immer mit der Geschwindigkeit des langsamsten Bestandteils läuft.

Administration Tools

Zwei Mechanismen helfen, Hosts automatisch eine IP-Adresse zu vergeben. BOOTP und DHCP sind zwei verschiedene Mechanismen, welche beide die automatische Vergabe von IP-Adressen an Hosts erlauben.

 

Bootstrap Protocol (BOOTP)

BOOTP definiert den Mechanismus, welcher es erlaubt, eine disklose Workstation in ein Netz zu setzen ohne vorherige Konfiguration und alle nötigen Infos (IP-Adress Parameter, Bootfile-Parameter) von einem BOOTP-Server zu erhalten.

RFC 951 definiert die Funktionsweise des BOOTP-Protokolls. BOOTP kann jede Art von Workstation mit einer IP-Adresse versehen, nicht nur die Rechner ohne eigene Disk. Der BOOTP-Server ist typischerweise ein UNIX-Host. Der BOOTP-Serverprozess benutzt den UDP-Port 67, während der BOOTP-Clientprozess den Port 68 benutzt.

Der BOOTP-Server benutzt ein Konfigurationsfile „bootptab“, welches den Server instruiert, auf welche Weise er dem Client eine Adresse vergeben soll. Das „bootptab“-File kann so aussehen:

bootptab file

Das folgende Bild zeigt die Struktur eines BOOTP-Pakets.

bootp paket

Die Felder haben die folgende Bedeutung:

  • op: Packet op Code / message type: 1=BOOTREQUEST 2=BOOTREPLY
  • htype: Hardware address type
  • hlen: Hardware address length
  • hops: Client sets to 0
  • xid: Transaction ID
  • secs: Vergangene Sekunden, seit der Bootprozess gestartet wurde
  • flags: Option flag
  • ciaddr: Client IP address
  • yiaddr: „Your“ (client) IP address
  • siaddr: Server IP address
  • giaddr: Gateway IP address
  • chaddr: Client hardware address
  • sname: Server host name
  • file: Boot file name
  • vend: Optional vendor-specific use

 

Wenn die Diskless-Workstation auf dem Netz eingeschaltet wird, sendet die Workstation einen BOOTP-Request wie folgt raus:

bootsequenz 1

Weil die Workstation die IP-Adresse des BOOTP-Servers nicht kennt, sendet sie einen limitierten Broadcast ins Netz. Die Workstation benutzt die IP-Adresse, welche an jeder Stelle das nullwertige Bit gesetzt hat, als Source-IP-Adresse im IP-Datagramm Header.

 

Die BOOTP-Struktur sieht kein Feld für die Information der Subnetzmaske vor. Es kann das „vend“-Feld für diesen Gebrauch verwendet werden.

Wenn die Workstation den obigen BOOTP-Reply erhält, kennt sie ihre neue IP-Adresse. Es ist nicht absolut sichergestellt, dass sie eine IP-Adresse bekommen hat, die noch nicht verwendet wird. Zu diesem Zweck sendet der Rechner drei ARP-Requests ins Netz, um zu sehen, ob ein Rechner die Verwendung der IP-Adresse 172.16.1.21 vermeldet. Ist dies nicht der Fall, verwendet die Workstation im dritten ARP-Request die Source-Adresse 172.16.1.21 anstelle von 0.0.0.0 und gibt die Benutzung der Adresse bekannt. Ist sichergestellt, das die Verwendung der Adresse Konsistent ist, leitet die Workstation ein TFTP-File Transfer des Bootfiles ein. Anschliessend startet der Rechner das erhaltene Bootfile und kommt auf diesem Weg in den Betriebszustand.

bootsequenz 2

 

Dynamic Host Configuration Protocol (DHCP)

DHCP kann benutzt werden, um einem Client in einem IP-Netz alle zum Betrieb notwendigen Parameter zur Verfügung zu stellen. DHCP kann auch dazu benutzt werden, um die Vergabe und das Management von IP-Adressen in einem autonomen System sicherzustellen.

Das folgende Bild zeigt die Struktur eines DHCP-Pakets.

dhcp configuration protocol

Ein Vergleich mit der BOOTP-Struktur zeigt, dass der Aufbau bis auf das letzte Feld identisch ist. Das „vend“-Feld in BOOTP wurde zum „options“-Feld in DHCP und mehr Bytes wurden diesem Feld zugewiesen (312 DHCP, 64 BOOTP). DHCP verwendet auf der Serverseite UDP-Port 67, während auf der Clientseite Port 68 verwendet wird. Dies sind die selben Nummern, wie sie BOOTP verwendet ! Wie ist das möglich ?

BOOTP ist ein Bestandteil von DHCP! Es ist ja nicht erlaubt, dass zwei verschiedene TCP/IP-Applikationen die gleichen Portnummern verwenden. BOOTP ist eine Untergruppe von DHCP.

Ein DHCP-Server vergibt eine Adresse unter einer der beiden folgenden Voraussetzungen:

  • Permanente Zuweisung; Der Server weist dem Client eine IP-Adresse für die exklusive Verwendung des Clients zu
  • Dynamische Zuweisung; Der Server weist dem Client eine Adresse zu, die der für eine bestimmte Zeit verwenden darf

 

Es ist auch möglich, einem DHCP-Server einen Pool von IP-Adressen zuzuweisen, die er an die Clients in einem Subnetz vergeben darf.

Netzwerk Devices

In TCP/IP Terminologie ist jeder Host ein Gerät, das eine IP-Adresse besitzt. Ein Multihomed Host ist ein Gerät, das mehr als eine IP-Adresse besitzt.

 

Ein Referenz-Modell

Das ISO (International Organisation for Standardization) entwickelte ein Open System Interconnection (OSI) Referenzmodell. Darauf basierend wurden diverse Protokolle entwickelt, bekannt als OSI-Protokolle.

 

reference models

 

  • Physical Layer: Das Physikalische Netzwerk-Medium (UTP, Koaxialkabel usw.)
  • Link Layer: Die Protokoll-Standarts für das Kommunizieren auf dem physikalischen Medium (Ethernet, IEEE 802.3, Token Ring, Frame Relay, PPP)
  • Network Layer: Die Protokolle für ein end-to-end routing (IP, ICMP, IGMP)
  • Transport Layer: Die Protokolle für einen end-to-end Transport der Daten mit verschiedenem Service ? reliable, unreliable (TCP,UDP)
  • Session Layer: Die Protokolle, welche end-to-end Sessions unterstützen
  • Presentation Layer: Die Protokolle, welche Daten von einem Format in ein anderes konvertieren, z.B. von ASCII zu EBCDIC
  • Application Layer: Die Programme

 

Der grosse Unterschied ist, das TCP/IP auf dem Transport-Layer aufhört. Alles über dem Tranport Layer wird bei TCP/IP von den Programmen gemanaget. Der Session-Layer und der Presentation-Layer sind in die Applikation eingebunden. Ein Beispiel dazu ist eine Telnet 3270 Applikation, welche eine Verbindung von einer TCP/IP Station zu einen IBM 3270 basierenden System unterstützt. Die Daten müssen jeweils von ASCII, das die TCP/IP-Station benutzt, nach EBCDIC, das die IBM-Station benutzt, konvertiert werden und umgekehrt.

 

Repeater

Physikalische Netzwerke haben technische Limiten, die auf den elek. Signalstärken usw. basieren. Aufgrund dessen, können nur geringe Distanzen überwunden werden. Repeater dienen dazu, diese Limiten überwinden zu können. Ein Repeater verstärkt das ankommende Signal und gibt es danach wieder aus.

Eine Repeater arbeitet auf dem ersten Layer, benötigt also keine Hardware-Adresse. Er verstärkt lediglich das Signal oder bei einem digitalen Signal, regeneriert es. Ein Repeater kann nur zwischen zwischen Netzwerken mit den selben physikalischen Charakteristiken verwendet werden.

 

repeater

 

Bridges

Ist die max. Anzahl von Hosts in einem Netz erreicht, ist eine Bridge hilfreich. Bridges arbeiten auf dem Layer 2. Die Bridge erhält einen Frame, sieht in ihrer “Forwarding-Database” nach, ob der Empfänger auf dem selben physikalischen Netzwerk vorhanden ist und wenn nicht, an welchem Port der Frame ausgegeben werden soll.

Bridges werden normalerweise zwischen Netzen des gleichen Typs eingesetzt. Es gibt aber Bridges, die Eternet und Token Ring-Netze miteinander verbinden können. Diese Bridges werden auch “translational bridges” genannt.

Bridges werden auch eingesetzt, um ein Netz zu segmentieren. Meistens haben Bridges eine IP-Adresse, diese wird jedoch nur zu Managmentzwecken verwendet (SNMP) oder um die Bridge “pingen” zu können.

 

bridge

 

Netzwerk mit lokaler Bridge

Bridges können auch dazu benutzt werden, um Netze über einen WAN-Link miteinander zu verbinden.

 

netzwerk mit remote bridges

 

Bridges haben die folgenden Nachteile:

  • Die “Forwarding-Engine” ist nicht sehr ausgeklügelt. Fehlt der Eintrag in der “Forwarding Database” über eine Hardware-Adresse eines empfangenen Frames, so wird der Frame an alle angeschlossen Interfaces ausgegeben, ausgenommen das Interface, über das der Frame empfangen worden ist
  • Es können keine Loops in einem “gebridgten Netzwerk” existieren
  • Broadcasts werden weitergeleitet
  • Bridges verbinden normalerweise nur Netze des gleichen Typs. Eine Ausnahme ist eine “translational bridge”

 

Router

Sobald ein Protokoll eine Adresse auf dem Layer 3 besitzt, kann es geroutet werden. Solche Protokolle heissen z.B. TCP/IP, Novell IPX, DECnet und Apple Talk.

Die nächste Grafik zeigt eine geroutetes Netzwerk. Ein Router muss mindestens zwei IP-Adressen besitzen. Ein Router muss für jedes logische Netzwerk, zwischen denen er Daten routet, eine IP-Adresse besitzen.

 

router

 

Netzwerk mit lokalem Router

Ein Router kann auch über einen WAN-Link Daten routen.

 

routing wan link

 

Gateways

Repeater arbeiten auf Layer 1, Bridges arbeiten auf Layer 2 und Router auf Layer 3. Eine andere Art von Netzwerkdevices sind Gateways. Gateways arbeiten auf den Layern 4-7 im OSI-Referenzmodell. Gateways werden vor allem für Protokoll-Übersetzungen gebraucht, z.B. von TCP/IP nach IBM SNA.

 

Network Management Systems

Viele Netze haben ein System für die Überwachung der angeschlossenen Devices, das Network Management System (NMS). Das NMS überwacht den Zustand der angeschlossenen Netzwerk-Devices im Betrieb.

In einem TCP/IP-Netzwerk ist das Network Management meist durch das Simple Network Management Protocol (SNMP) implementiert. TCP/IP-Netzwerk-Devices, die SNMP unterstützen, verfügen über einen SNMP agent in ihrer Software. Dieser SNMP agent “hört” nach Requests auf UDP-Port 161. Die Requests fragen die Devices nach Informationen ab. Die Devices antworten mit einer SNMP-Antwort, die Informationen über den angefragten Zustand enthalten. SNMP Devices können auch SNMP traps zu einer Network Management Station senden. Traps versorgen die NMS mit unverlangten Informationen über das Device, z.B. “link down, interface 1”.

IP Routing

In einem gebridgten Netzwerk kann jeder Host in der flachen Hierarchie über eine eigene IP-Adresse erreicht werden. Diese Topologie ist für kleinere Netze durchaus geeignet, stösst aber bei grösseren Netzen schnell an ihre Grenzen, da eben auch keine hierarchische Struktur erstellt werden kann. Das folgenden Bild zeigt ein gebridgtes Netzwerk.

bridging

 

Die beste Wahl, ob grosses oder kleines Netz, ist den IP-Verkehr zwischen den logischen Netzen zu routen.

routing

 

Der Router macht seine Forwarding-Entscheidungen basierend auf dem Inhalt seiner Routing Tabelle, auch genannt forwarding information base (FIB).

routing table

Das Aussehen und die Formatierung einer Routing-Tabelle ist vom Hersteller abhängig. Der Inhalt der meisten Routing-Tabellen gleichen sich aber. Meistens sind Destination-, Route Mask-, Next Hop-, ein Metric- und ein Interface-Feld vorhanden.

Vier verschiedene „type of routes“ können in einer Routing-Tabelle gefunden werden:

  • Host routes: Eine Route zu einem Host mit einer Route-Maske von 255.255.255.255
  • Hierarchical network prefix routes: Eine Route zu einem Netzwerk mit einer Route Maske von grösser/gleich 1 Bit und kleiner/gleich 30 Bit
  • Default route: Eine Route die benutzt wird, wenn keine besonders definierte Route existiert. Dieser Route-Type hat eine Destination- und Route-Maske von 0.0.0.0. Eine Routing Tabelle kann mehrere solcher “Default Routen” beinhalten mit verschiedenen Werten bei den “Next Hops” und “Metric”.
  • Loopback Route: Die Loopback Route hat eine Destination-Adresse von 127.0.0.0 in der Routing Tabelle

 

Die vorangegangene Routing-Tabelle beinhaltete die folgenden Felder:

  • Destination: Die IP-Adresse des Zielnetzwerks oder –host
  • Route Maske: Die Routing Maske definiert, welche Bits der Zieladresse auf die Routing-Entscheidung Einfluss haben
  • Next hop: Die IP-Adresse des Routers, welcher auf dem Weg zum Ziel den nächsten Punkt darstellt
  • Metric: Ein Wert, der die Routing-Entscheidung beeinflusst
  • Type: Ein Wert, der den Route-Type bestimmt: DIR= direct (der Router ist direkt mit dem Zielnetzwerk verbunden) oder REM= remote (das Ziel ist nur über einen anderen Router erreichbar)
  • Source: Das Routing-Protokoll, welchem eine Route zugrunde liegt: MGMT= management (static routes), LOC=Local (direct routes), ICMP (dynamic route created by ICMP), RIP (dynamic route created by RIP), OSPF (dynamic route created by OSPF)
  • Age: Die Zeitdauer in Sekunden, seit der die Route zum letzten Mal refresht worden ist

 

Der Forwarding-Prozess

Erhält der Router ein Paket, überprüft er zuerst das Datagramm, indem er eine Prüfsumme über das erhaltene Paket bildet und danach mit der im IP-Datagramm enthaltenen Prüfsumme vergleicht. Ist die das Paket gültig, wird die Zieladresse des Paketes bestimmt. Ist das Paket für keines der am Router angeschlossenen Netzwerke bestimmt, muss das Paket weitergeleitet werden. Es gibt drei Möglichkeiten:

  • Die Zieladresse ist eine Unicast-Adresse – das können Klasse A, B oder C-Netze sein
  • Die Zieladresse ist eine Broadcast-Adresse
  • Das Ziel ist eine Multicast-Adresse – es handelt sich um eine Klasse D-Adresse

 

Ist die Zieladresse eine Unicast-Adresse, bestimmt der Router, über welches Interface das Paket weitergesendet werden soll und welches die IP-Adresse des “next-hop-routers” ist. Das time-to-live (TTL) Feld wird schrittweise vermindert und überprüft, ob sein Dezimalwert nicht 0 (null) ist. Das Paket wird verworfen, falls der TTL-Wert 0 ist. Das Paket wird wenn nötig fragmentiert und die Link-Layer-Adresse des Ziels bestimmt. Der Router bildet einen Link-Layer-Header und packt das IP-Paket darin ein, um es über das physikalische Medium zu transportieren.

Ist die Zieladresse eine Broadcast-Adresse, muss der Router bestimmen, ob es sich um einen “limited broadcast” oder um einen “directed broadcast” handelt. Handelt es sich um einen “limited broadcast” (255.255.255.255), kann das Paket nicht an ein anderes Interface weitergeleitet werden, es kann aber vom Router selbst verwendet werden. Ist das Datagramm ein “directed broadcast”, wird es wie eine Unicast-Adresse behandelt und zum Zielnetzwerk weitergeleitet, wo es einen Broadcast zu allen Hosts macht.

 

Bestimmen der optimalen Route

Erreicht ein Paket den Router, das weitergeleitet werden muss, ist es zuerst einmal nötig, das Interface und die Adresse des „next-hop Routers“ zu bestimmen, über den das Paket weitergeleitet werden soll. Ist das Paket für ein Netzwerk bestimmt, welches direkt an einem Interface des Routers angeschlossen ist, gibt es keinen „next-hop Router.
Für jedes IP-Interface, das auf dem Router definiert ist, muss die Netzwerkmaske bezogen auf die IP-Adresse des Routers und des Zielpaketes angewendet werden. Sind die Netzwerkteile der Adressen gleich, ist das Zielnetzwerk lokal und der Router muss das Paket nicht weiterleiten. In diesem Fall muss der Router die Hardwareadresse der Zieladresse bestimmen und das Paket am entsprechenden Port ausgeben.

Muss das Datagramm weitergeleitet werden, muss eine Prozedur(en) definiert werden, um auf einfache Weise den an meisten geeigneten Port sowie die IP-Adresse des „next-hop Routers“ herauszufinden. Diese Prozeduren reduzieren die gesamte Routingtabelle auf einige wenigen Routen. Diese Prozeduren werden auch „pruning rules“ genannt.

Regel 1: Basic Match
Vor der Anwendung dieser Regel entsprechen die „working set of route entries“ (die Möglicherweise zur Anwendung kommenden Routen) allen Einträgen in der Routingtabelle. Für jeden Eintrag in der Routing-Tabelle wird jetzt die Route Maske auf die Zieladresse des Datagrammes und den korrespondierenden Eintrag in der Routing Tabelle angewendet. Alle Einträge, ausgenommen diejenigen, in welchen der maskierte Teil der Netzwerkadresse in der Zieladresse und dem Eintrag in der Routingtabelle gleich sind, werden von den „working set of route entries“ entfernt. Default Routen werden nicht entfernt.

Regel 2: Longest Match
Nach der Anwendung der ersten Regel werden die übriggebliebenen Routen auf die Länge ihrer Route-Maske untersucht. Die Routen mit der längsten Maske verbleiben in der „working set of route entries“.

Regel 3: Weak Type of Service
Die meisten Router unterstützen diese Funktion nicht, obwohl neuere Routing-Protokolle wie OSPF diese Funktion unterstützen. Der IP-Header enthält ein Feld – das TOS (Type of Service)-Feld, welches „precedence“ und „type of service“-Funktionen bietet. Diese TOS-Flags können beeinflussen, wie Routing-Entscheidungen gefällt werden. Es sind die folgenden Flags:

D – Delay
T - Throughput
R – Reliability
C – Cost

Die drei Bits, welche das „precendece“-Feld bilden, beinflussen die Behandlung des Paketes, während es sich in der Queue des Routers befindet. Das „precedence“-Feld erlaubt es dem Router, einige Pakete bei der Weiterleitung bevorzugt zu behandeln. Da das „precedence“-Feld nur das „Queing“ beeinflusst, sollte es nicht benutzt werden, um die Route-Entscheidung zu beeinflussen.

Jede Route in der Routingtabelle kann ein TOS-Feld beinhalten. Die dritte Regel wird jetzt folgendermassen angewendet:
Die TOS-Flags (Bits 3-6 im TOS-Feld) im IP-Datagramm werden mit den TOS-Feldern bei den in Frage kommenden Routen verglichen. Wird eine (oder mehrere) Übereinstimmung gefunden, werden alle Routen ausser dieser (oder diesen) von den „working set of route entries“ gelöscht. Wird keine Übereinstimmung gefunden, werden alle Routen mit Ausnahme derjenigen, bei denen das „type of service“-Feld 0000 beträgt, von den „working set of route entries“ gelöscht.

Router und Protokolle, welche das „Type of Service“-Routing nicht unterstützen, setzen die TOS-Flags auf 0000.

Regel 4: Best Metric
Die Route mit dem besten Metric-Feld wird verwendet – alle anderen werden von der „working set of route entries“ gelöscht.

Regel 5: Vendor Policy
Nach der Anwendung dieser vier Regeln, sollten sich die in Frage kommenden Routen auf eine Route oder einige wenige reduziert haben. Kommen immer noch mehrere Routen in Frage, wird die Entscheidung, welche Route jetzt gewählt werden soll, dem Routerhersteller überlassen. Er definiert für diesen Fall eine Vorgehensweise, z.B. soll die am wenigstens benutzte Route verwendet werden.

Nach der Anwendung aller dieser Regeln sollten noch eine oder aber keine Route in den „working set of route entries“ vorhanden sein. Ist keine Route vorhanden, wird das Paket verworfen und ein ICMP-Error generiert. Im anderen Fall wird das Paket in ein Link-Layer-Protokoll verpackt und an die Hardwareadresse des „next-hop Routers“ weitergeleitet.

 

Dynamic Routing Protocols

Es gibt verschiedene Klassifikationen innerhalb der Routing-Protokolle. Man unterscheidet zwischen „interior“- und „exterior“ Routing-Protokollen, sowie zwischen „link-state“- und „distance-vector“-Protokollen.

Interior-Routing-Protokolle werden in Intranets verwendet, die unter der Kontrolle eines oder mehrerer Administratoren stehen. Exterior-Routing-Protokolle routen Pakete innerhalb des Internets. Wie schon erwähnt gibt es auch noch das „distance vector“- sowie das „link-state“ Protokoll.

Ein „distance-vector routing protocol“ verfolgt Abstände (hop count or cost). Ein „link state routing protocol“ verfolgt die Anwesenheit direkter Nachbarn und sendet Updates über seine Nachbarn an alle seine Nachbarn. Mehrere Interior Routing Protokolle werden heute in einem TCP/IP-Netzwerk verwendet. So z.B. RIPv1, RIPv2, OSPF, IGRP und E-IGRP. RIP und OSPF sind die am meisten verwendeten Protokolle. RIP ist ein „distance-vector routing protocol“, wogegen OSPF ein „link-state routing protocol“ ist. RIP liefert bei einem Update keine Subnetz-Informationen mit, wogegen OSPF dies tut.

 

RIP

RIP steht für Routing Information Protocol. Die erste Version wurde 1988 entwickelt – es ist aufgrund seines Alters das am weitesten verbreitete Protokoll. Es ist einfach im Gebrauch und einfach in der Implementation. Drei Dinge sind zu tun. Als erstes werden das „route broadcast“ und das „update interval“ festgelegt. Als nächstes müssen die Nachbar-Router definiert werden. Als drittes und letztes muss RIP eingeschaltet werden.

Wie schon erwähnt, liefert RIP bei einem Update keine Infos über Subnetzmasken mit. Erhält also ein Router einen RIP-Update, werden nur die Subnetzmasken von Netzwerken richtig gesetzt, die auf einem Interface des Routers definiert sind. Für eine Netzwerkadresse, die auf keinem Interface des Routers definiert ist, vermutet der Router dann einfach die zugehörende Netzwerkmaske, also z.B. bei einer Klasse C-Adresse die Maske 255.255.255.0.

 

Open Shortest Path First (OSPF)

OSPF ist ein komplizierteres Protokoll als RIP. OSPF kann sehr vielseitig konfiguriert werden. Einige Konfigurations-Optionen:

  • OSPF areas
  • area route summarization
  • enbabling OSPF on arouter or on specific interfaces
  • virtual links
  • metrics
  • importation of routing information from other routing protocols
  • exportation of routing information from other routing protocols
  • OSPF interface timers, such as hello interval and the dead interval
  • Authentication

OSPF ist ein „link-state routing protocol. Kommt ein neuer Router zu einem OSPF basierenden Netzwerk hinzu, wird eine Datenbank mit anderen Routern im Netzwerk ausgetauscht. Diese Datenbank bildet die Netzwerktopologie ab. Basierend auf den Informationen, die in dieser Datenbank enthalten sind, wird die Routingtabelle aufgebaut. Von jetzt an steht der Router in Kontakt mit seinen Nachbarn. Verliert der Router den Kontakt zu seinem Nachbarn, merkt dies der Nachbar unverzüglich und sendet eine Info zu allen OSPF-Routern, dass er keinen Kontakt mehr zu seinem Nachbarn hat. Alle Router passen jetzt ihre Datenbanken den neuen Gegebenheiten an.
Einer der Vorteile die OSPF gegenüber RIP hat, besteht darin, dass die link-state Datenbank Informationen über alle Subnetze beinhaltet, die die verschiedenen Routen benutzen.

Wird ein Interface als „down“ markiert, müssen andere Router davon benachrichtigt werden und die Routingtabellen müssen neu berechnet werden. Um diese Broadcasts und Neuberechnungen der Tabellen möglichst gering zu halten, werden sogenannte Areas definiert. Eine Area ist die Grenze für solche link-state Benachrichtigungen. Ein OSPF-Router innerhalb dieser Grenze enthält die vollständige Topologie der Area plus einige zusätzliche Infos über die Grenze der Area hinaus. Daneben existieren noch „area border router“. Diese Router dienen als Gateways zwischen Backbone Areas und anderen, nicht Backbone Areen.

 

ospf with areas

 

Statisches Routing

RIP und OSPF sind Beispiele von dynamischen Routing-Protokollen. Dabei müssen ständig Informationen zwischen den einzelnen Routern ausgetauscht werden. Dieser Informationsaustausch ist die Basis für die Konstruktion der Routing-Tabellen.

Eine statische Route dagegen wird von einem Netzwerkadministrator definiert und ändert sich nicht bis zu einer erneuten Intervention des Administrators. Eine statische Konfiguration kann die folgenden Vorteile haben:

  • Kein Traffic Overhead dank statischem Routing. Das Routing-Update in einem RIP-Netzwerk kann ziemlich viel Verkehr erzeugen
  • Statische Routen können in OSPF importiert werden
  • Statische Routen können einfacher sein als komplizierte, dynamische Routen

 

Es gibt auch einige Gründe, auf ein statisches Routing zu verzichten oder es auf ein Minimum zu beschränken:

  • Statisch ist statisch - in einem Fehlerfall können statische Routen nicht einfach dynamisch geändert werden
  • Die Konfiguration ist eine mühevolle und schwierige Arbeit

 

ICMP Routing

ICMP, das Internet Control Message Protokoll verwendet einen Nachrichtentyp, mit dessen Hilfe Pakete vom einem nicht-optimalen Weg auf einen optimalen Weg umgeleitet werden können. Dieser Nachrichtentyp ist bekannt als ICMP Redirect.

icmp redirect

  • Type: Der Wert ist 5 für eine Redirect Nachricht
  • Code: 0 für einen Netzwerk-Redirect, 1 für einen Host-Redirect, 2 für TOS und Netzwerk-Redirect und 3 für TOS und Host-Redirect
  • Checksum: Selbsterklärend
  • Router IP Adresse: Die IP-Adresse des Routers, der eine bessere Route zum Ziel kennt als die ursprünglich benutzte

 

Direktes Routing

Wann immer ein Router oder eine Workstation ein Paket zu einem Device in einem IP-Netzwerk, das lokal auf einem Router oder einer Workstation definiert ist, schickt, muss die IP-Adresse in die entsprechende Hardware-Adresse des Zielortes umgesetzt werden.

In einem physikalischen Netzwerk, das mehrfachen Zugriff erlaubt, müssen Mechanismen bestehen, mit denen IP-Adressen auf Hardware-Adressen abgebildet werden können und umgekehrt. In einem Ethernet heissen diese Protokolle ARP (Address Resolution Protocol) und Reverse ARP (RARP).

IP Router leiten Pakete aufgrund ihrer Informationen in den Routing-Tabellen über die IP-Netzwerke weiter. Muss das Paket an den nächsten Router (next hop) weitergeleitet werden, muss das IP-Datagramm zunächst vom Router in ein Link-Layer Header eingepackt werden und danach an die Hardware-Adresse des “next hop” geschickt werden. Das gleiche Vorgehen gilt, falls das Zielnetzwerk lokal am Interface eines Routers definiert ist.

RFC 826 beschreibt ARP, während RFC 903 RARP definiert.

IP Adressing

Nachfolgend wird eine Übersicht über allgemeines TCP/IP-Addressing innerhalb üblicher Netzwerktopologien geboten.

Subnetze die möglich sind in einem 8 Bit basierenden Hostteil

Die obige Tabelle listet die möglichen Subnetze auf, die möglich sind in einem 8 Bit basierenden Hostteil, wie dies im Falle eines Klasse C-Netzes der Fall ist. Diese Tabelle kann auch auf Klasse A oder B-Netze ausgeweitet werden, nur würde in diesem Fall die Tabelle riesig. Für eine Klasse C-Adresse hätte diese Tabelle bereits 256 Zeilen. Die Zellen sind durchnumeriert, startend bei 0 und endend bei 255. Die Reihen zeigen die möglichen Adressen in einem Klasse C-Netzwerk, die Spalten die möglichen Subnetzmasken.

class c maske

Für ein Klasse C-Netzwerk 192.168.1.0 ist die Netzwerkmaske 255.255.255.0, welche durch die Spalte ganz links representiert wird. Die Subnettierung kann auch einfach durch die alternative „/n“-Methode angezeigt werden. Die Schreibweise 192.168.10.5 / 28 meint, dass das Klasse C-Netz mit einer Maske von 255.255.255.240 subnettiert ist.

Zu beachten sind auch die beiden verschiedenen dunklen Schattierungen der Zellen.
Zellen, die heller schattiert sind, sind nicht verfügbar als Hostadressen. Diese Adressen haben alles nullwertige Bits im hostbasierenden Teil der Adresse. Solche Adressen sind Spezialadressen.

Zellen, die dunker schattiert sind, sind nicht verfügbar als Hostadressen. Diese Adressen haben alles einwertige Bits im hostbasierenden Teil der Adresse. Solche Adressen sind Spezialadressen.

Die Spalte ganz rechts benutzt eine Maske von 255.255.255.252. Die Klasse C-Adresse 192.168.1.0 kann innerhalb des Ranges 192.168.1.0 bis 192.168.1.31 in 8 Subnetze eingeteilt werden, mit einer Maske von 255.255.255.252.

Die folgenden acht Adressen sind in der obigen Tabelle hell markiert – die Adressen mit den nullwertigen Bits im Hostteil:

  • 192.168.1.0
  • 192.168.1.4
  • 192.168.1.8
  • 192.168.1.12
  • 192.168.1.16
  • 192.168.1.20
  • 192.168.1.24
  • 192.168.1.28

 

Die folgenden Adressen sind die Broadcast-Adressen der obigen Netzwerke – die Adressen mit den einwertigen Bits im Hostteil:

  • 192.168.1.3
  • 192.168.1.7
  • 192.168.1.7
  • 192.168.1.11
  • 192.168.1.15
  • 192.168.1.19
  • 192.168.1.23
  • 192.168.1.27
  • 192.168.1.31

 

Die restlichen, unmarkierten Zellen repräsentieren die verfügbaren Hostadressen pro Subnetz. Bei einer Maske von 255.255.255.252 stehen pro Subnetz nur zwei Hostadressen zur Verfügung.

Die Adressen im Range von 192.168.1.0 bis 192.168.1.31 können folgendermassen eingeteilt werden:

  • In 8 Netzwerke mit einer Maske von 255.255.255.252
  • In 4 Netzwerke mit einer Maske von 255.255.255.248
  • In 2 Netzwerke mit einer Maske von 255.255.255.240
  • In 1 Netzwerk mit einer Maske von 255.255.255.224

 

Das ganze Klasse C-Netzwerk 192.168.1.0 kann folgendermassen eingeteilt werden oder in Kombinationen von diesen:

  • In 64 (62) Netzwerke mit 2 Hosts mit einer Maske von 255.255.255.252
  • In 32 (30) Netzwerke mit 6 Hosts mit einer Maske von 255.255.255.248
  • In 16 (14) Netzwerke mit 14 Hosts mit einer Maske von 255.255.255.240
  • In 8 (6) Netzwerke mit 30 Hosts mit einer Maske von 255.255.255.224
  • In 4 (2) Netzwerke mit 62 Hosts mit einer Maske von 255.255.255.192
  • In 2 (0) Netzwerke mit 126 Hosts mit einer Maske von 255.255.255.128
  • In 1 Netzwerk mit 254 Hosts mit einer Maske von 255.255.255.0

 

Beispiel

beispiel

 

netzwerktabelle

Das erste Netzwerk, 192.168.1.0 / 30 hat zwei verfügbare Hostadressen. Dieses Netzwerk wird für ein point-to-point Netzwerk zwischen den beiden Routern A und C gebraucht. Das zweite Netzwerk, 192.168.1.8 / 29 hat sechs verfügbare Hostadressen. Das „Branch Office“ benötigt vier Rechner und eine Routeradresse. Das dritte Netzwerk, 192.168.1.16 / 28 hat 14 verfügbare Hostadressen. Es werden 13 Adressen benötigt.

 

Point to Point (Numbered)

Einige Routerhersteller bieten nicht die Möglichkeit, ein Interface ohne IP-Adresse zu betreiben. Wenn das der Fall ist, benötigt jeder point-to-point link eine IP-Adresse. Weil bei einem solchen Link nur zwei Hosts bedient werden können, wäre es eine Verschwendung, ein Netzwerk zu benutzen, das mehr als zwei Hosts unterstützt.

point to point numbered

Die beiden Router werden mit einem point-to-point link miteinander verbunden. Sie sind konfiguriert, das Netzwerk 192.168.2.2 / 30 zu nutzen, das zwei Hosts unterstützt.

 

Point to Point (Unumbered)

Verschiedene Routerhersteller unterstützen point-to-point links ohne IP-Adressen. Router, welche Interfaces ohne IP-Adressen unterstützen, benutzen stattdessen ein anderes Merkmal für die Identifizierung, die Router-ID.

point to point unumbered

 

Pooled Dial-In Access

Pooled dial-in access wird wie ein point-to-point link behandelt, der auf einem Device terminiert wird. Die Links können am effektivsten mit einer 2Bit-Host-ID adressiert werden. In der nächsten Illustration können die Remote Hosts entweder SLIP oder PPP verwenden, um eine Verbindung aufzubauen. Die Adressen werden dynamisch vom Terminal-Server vergeben. Es wird eine 30Bit-Netzwerkmaske verwendet, welche 2 Hosts zur Verfügung stellt.

pooled dialin access

 

 

Anforderungen an die Adressierung für Internetanbindungen

Welche IP-Adressen innerhalb eines autonomen Netzwerkes benutzt werden, hängt davon ab, ob Hosts innerhalb des Netzes direkten Zugang zum Internet benötigen. Hosts mit Zugang zum Internet benötigen innerhalb des Internets eine einmalige Adresse. Um dies sicherzustellen, werden Internetadressen von dazu berechtigten Firmen wie z.B. der Internic (USA) verwaltet und vergeben. Da das Internet inzwischen sehr stark gewachsen ist, können auch andere, dazu berechtigte nationale Firmen, Adressen vergeben.

 

Die Internetverbindung

Eine Firma, die zum Beispiel ihren Angestellten den Zugang zum Internet ermöglichen will, benötigt dazu dafür legitimierte und registrierte IP-Adressen. Diese Adressen müssen bei einer dafür legitimierten Stelle beantragt werden. Die Firma bezahlt eine dafür festgelegte Gebühr. Dafür werden Adressen innerhalb eines bestimmten Ranges unter ihrem Namen registriert.

In den früheren Tagen des Internets war es nicht schwierig, ein IP-Netzwerk zu reservieren, das weit mehr Adressen zur Verfügung stellen konnte, als die Firma gebrauchen konnte. Konnte die Firma nachweisen, das sie mehr Adressen brauchte, als ein Class C-Netzwerk zur Verfügung stellen konnte, erhielt sie meist ohne Probleme ein Class B-Netzwerk. Heute sind Class B-Netzwerke nur noch sehr schwer zu erhalten – nur noch einige wenige sind vorhanden.

 

Private IP Network Allocation

Eine Firma, die keine Absicht hat, ihren Angestellten Internetzugang zu gewähren, die aber ein IP basierendes Netz verwenden, hat die folgenden beiden Möglichkeiten:

  • Sie können registrierbare IP-Netzwerknummern verwenden
  • Sie können Adressen verwenden, die speziell für den privaten Gebrauch reserviert sind

 

Eine registrierte IP-Netzwerknummer zu verwenden ist keine schlechte Idee, für den Fall, dass später doch noch ein Internetzugang realisiert werden soll. Allerdings wird für diesen Fall nur sehr schwer eine IP-Netzwerknummer auf Vorrat zu bekommen sein, da wie schon erwähnt die verfügbaren Adressen im IP Version 4 Adressraum langsam knapp werden. Soll also kein Internetzugang realisiert werden, gibt es bessere Möglichkeiten als die Verwendung eines reservierten Adressraumes.

Der beste Weg ist es, ein Netzwerk aus einer Reihe von für den privaten Gebrauch reservierten Netzwerke zu verwenden. RFC 1597 skizziert eine Gruppe von Netzwerken, die, würden sie unbeaufsichtigt auf dem Internet bekanntgemacht, das Routing nicht beeinträchtigen würden.

Es sind die folgendenNetzwerke reserviert:

  • 1 Class A Netzwerk 10.0.0.0 – 10.255.255.255
  • 16 Class B Netzwerke 172.16.0.0 – 172.31.255.255
  • 256 Class C Netzwerke 192.168.0.0 – 192.168.255.255

 

Firewalls and Network Address Translators

Verwendet das Netzwerk eine private Netzwerknummer und braucht die Firma ungeplant doch Zugang zum Internet, gibt es zwei Möglichkeiten:

  • Eine Netzwerknummer beziehen, die registriert und innerhalb des Internets eindeutig ist

  • Die Verwendung einer privaten Netzwerknummer setzt den Einsatz einer Technik, genannt NAT = „network address translator“ an der Grenze von Intranet zum Internet voraus. Dieses Device setzt eine Adresse einer Domain in die Adresse einer anderen Domain um – statisch oder dynamisch

Ein Vorteil dieser Technik ist die Einsparung von weltweit eindeutigen Adressen. Die einzigen Adressen, die umgesetzt werden müssen, sind die Adressen der Geräte, die Zugang zum Internet benötigen.Weiter können sich Devices, benötigen sie Zugriff auf das Internet, sich beim Aufbau der Verbindung eine Adresse aus dem gemeinsam benützten Adresspool besorgen, anstatt der Verwendung einer konstant, nur für dieses Gerät reservierten Adresse.Die meisten Firewalls bieten NAT. Auch viele Router bieten inzwischen dieses Feature an. Es gibt auch Hardware, die ausschliesslich diese Funktion zur Verfügung stellt.