Grundlagen Computernetze |
Prof. Jürgen Plate |
Grundlagen Computernetze
Der Zusammenschluß von diversen Computern und Peripheriegeräten zu Netzen
gewinnt immer stärkere Bedeutung. Netze (Netzwerke) sind Verbindungssysteme, an
die mehrere Teilnehmer zum Zweck der Datenkommunikation angeschlossen sind.
Lokale Netze (LAN, Local Area Network) sind Netze in einem örtlich begrenzten
Bereich (Raum, Gebäude, Gelände), der sich im Besitz einer einzigen
Organisation (z. B. Firma) befindet. Die Verbindung mehrerer LAN-Segmente
erfolgt über Koppelelemente (Hubs, Switches, Bridges, Router, etc.).
Weitverkehrsnetze (WAN, Wide Area Network) sind Netze, die über weitere
Entfernungen reichen (Stadt, Land, Welt). Die einzelnen Netze können über
Router oder Gateways miteinander gekoppelt werden und dabei auch öffentliche
Kommunikationsnetze nutzen.
Jegliche Kommunikation zwischen zwei Partnern ist an bestimmte Voraussetzungen
gebunden. Zum einen muß die Hardware der Partner und der Datenübertragungseinrichtungen
über kompatible Schnittstellen verfügen und zum anderen müssen Vereinbarungen
über die Art und Weise des Informationsaustausch getroffen werden (Protokolle).
Zur Festlegung von Schnittstellen und Protokollen gibt es zahlreiche Standards
(nationale und internationale Normen, Firmenstandards).
Wie definiert die ISO (International Standardisation Organisation) ein LAN?
"Ein lokales Netz (LAN) ist eine Netz für bitserielle Übertragung von
Informationen zwischen untereinander verbundenenen unabhängigen Geräten. Das
Netz unterliegt vollständig der Zuständigkeit des Anwenders und ist auf ein
Grundstück begrenzt." Es werden also nicht nur Computer miteinander
vernetzt, sondern auch andere Geräte wie Drucker, Monitore, Massenspeicher,
Kontrollgeräte, Steuerungen, Fernkopierer und anderes. Der Unterschied eines
LAN zu anderen Netzen wird von der ISO durch folgende Eigenschaften festgelegt:
begrenzte Ausdehnung, hohe Datenübertragungsrate, geringe Fehlerrate,
dezentrale Steuerung, wahlfreier Zugriff und die Übertragung von Datenblöcken.
Kern der Datenkommunikation ist der Transport der Daten, also die Datenübertragung
von einem Sender mittels eines Übertragungskanals zu einem Empfänger. Die zu
übertragenden Daten werden im Rhythmus eines Sendetaktes auf das Übertragungsmedium
gegeben. Damit die Information korrekt wiedergewonnen werden kann, muß am
Empfangsort eine Abtastung der Signale zum richtigen Zeitpunkt erfolgen.
Normalerweise verwendet man dazu eine Codierung, die eine Rückgewinnung des
Taktes aus dem Signal erlaubt. Auf diese Weise kann sich der Empfänger
jederzeit auf den Takt des Senders synchronisieren.
Eine wesentliche Forderung in der Datenfernverarbeitung ist das Zusammenschalten
unterschiedlicher Stationen (verschiedener Hersteller). Dazu ist eine
Schematisierung und Gliederung des Kommunikationsprozesses in wohldefinierte,
hierarchische Ebenen (Schichten, Layers) notwendig. Es erfolgt eine Zuordnung
der einzelnen Kommunikationsfunktionen zu bestimmten logischen Schichten. Wird
in einer Schicht eine Anpassung (Änderung, Erweiterung) vorgenommen, bleiben
die anderen Ebenen davon unberührt.
ISO (International Standard Organisation) hat für offene Netze ein
7-Schicht-Modell, das OSI-Modell (OSI = Open Systems Interconnection),
geschaffen. Dieses Modell liegt nahezu allen Kommunikationsgeräten und
-Verfahren zugrunde (zur Not werden vorhandene Protokolle in das Schema von ISO/OSI
gepreßt). Im OSI-Modell werden die grundsätzlichen Funktionen der einzelnen
Ebenen und die Schnittstellen zwischen den Ebenen festgelegt. So ergibt sich
eine universell anwendbare logische Struktur für alle Anforderungen der
Datenkommunikation verschiedener Systeme.
Das OSI-Model liefert
- Eine Basis für die Interpretation existierender Systeme und Protokolle in
der Schichten-Perspektive (wichtig bei Änderungen).
- Eine Referenz für die Entwicklung neuer Kommunikationsverfahren und für
die Definition neuer Protokolle, also eine Grundlage für kompatible
Protokolle.
Wesensmerkmale der hierarchischen Schichtenstruktur bei Rechnernetzen sind:
- Das Gesamtsystem wird in eine geordnete Menge von Teilsystemen gegliedert.
- Teilsysteme des gleichen Ranges bilden eine Schicht (engl. Layer).
- Die einzelnen Schichten liegen entsprechend ihrer hierarchischen
Rangordnung übereinander.
- Eine hieranrchisch lieferliegende Schicht dient der Erfüllung der
Kommunikationsfunktion der jeweils übergeordneten Schicht.
- Jede Schicht stellt definierte Dienste bereit. Diese Dienste realisieren
bestimmte Kommunikations- und Stuerungsaufgaben.
Die einzelnen Schichten stellen somit definierte Schnittstellen zu ihren
Nachbarn bereit (Schicht 4 hat z. B. Schnittstellen zu den Schichten 3 und 5).
Die Kommunikation findet nur über diese Schnittstellen statt (in der Grafik
senkrecht).
Die rein logische Kommunikation zwischen den beteiligten Stationen A und B
erfolgt jedoch auf der Basis gleicher Schichten (in der Grafik waagrecht, mit
'.' gekennzeichnet). Lediglich bei Schicht 1 handelt es sich um eine
physikalische Verbindung.
Aufgabe der einzelnen Schichten:
- Die Schichten 1 - 4 werden der Transportfunktion zugeordnet
- Die Schichten 5 - 7 werden den Anwenderfunktionen zugeordnet
Zunächst eine kurze Beschreibung der einzelnen Schichten. Dabei ist auch der
zur Schicht gehörende Datenblock gezeigt. Jede Schicht kann (muß aber nicht)
die Daten mit einem eigenen Header (bzw. Datenrahmen) versehen, der zur
Kommunikationssteuerung auf dieser Schicht dient. Der Datenblock einer Schicht
(mit Rahmen) wird von der Schicht als reine Nutzdaten betrachtet, sie kann so
auch an dem Header der übergeorneten Schicht nichts ändern.
- 7. Anwendungs-Schicht (Application) Verbindung zum Anwenderprogramm und
Dialog mit den Programmen. Eine Standardisierung ist hier noch in weiter
Ferne. Es gibt aber eine Reihe von grundsätzlichen Diensten, die angeboten
werden müssen:
- Austausch von Dateien, d. h. Dateizugriffsdienste über das Netz. Für
das eigentliche Anwenderprogramm ist nicht erkennbar, ob auf eine Datei
lokal oder über das Netz zugegriffen wird.
- Verwaltungsprotokolle für Benutzerzugang, Dateizugriffsrechte,
electronische Post, usw.
- Remote Job Entry, d. h. absetzen von Rechenaufträgen an entfernte
Systeme
- Virtuelle Terminals, d. h. Umleitung der Ein-/AUsgabe eines Programms
auf dem fernen Rechner an den lokalen Bildschirm und die lokale
Tastatur.
- Message-Handling-Systeme: Austausch und Verwaltung von Mitteilungen an
Benutzer anderer Systeme.
Die Schicht 7 besteht also trotz ihrens Namens nicht aus den eigentlichen
Anwenderprogrammen - diese setzen auf dieser Schicht auf. Das kann
einerseits direkt geschehen, z. B. beim Zugriff auf Dateien eines anderen
Rechners (Datei-Server) andererseits auch nur durch (lokale) Übergabe von
Dateien an das Message-Handling-System.
- 6. Darstellungs-Schicht (Presentation) Hier werden für die Anwendung die
Daten interpretiert. Überwachung des Informationsaustausches und
Codierung/Decodierung (z. B. EBCDIC in ASCII) der Daten sowie Festlegung der
Formate und Steuerzeichen. Diese Schicht bildet oft eine Einheit mit der
Anwendungsschicht oder sie fehlt ganz, falls sie nicht benötigt wird. Hier
können z. B. "virtuelle Terminals" eingebunden werden. Wie wir früher
schon besprochen haben, besitzen Terminals ganz unterschiedliche Codes für
die Tastatur und die Steuerung der Darstellung auf dem Bildschirm. In
Schicht 6 können diese Codes in einen einheitlichen Code übersetzt werden.
- 5. Kommunikationssteuerung (Session) Diese Ebene steuert die Aufbau,
Durchführung und Beendigung der Verbindung. Überwachung der
Betriebsparameter, Datenfluß-Steuerung (bei Bedarf mit Zwischenspeicherung
der Daten), Wiederaufbau der Verbindung im Fehlerfall und Synchronisation.
Der Verbindungsaufbau ist ein bestätigter Dienst, d. h. beide Partner
tauschen Parameterübergabe und Bestätigung im Wechselspiel aus. Danach
befinden sich beide Partner in einem definierten Zustand.
Das trifft nicht für die nächste Phase, den Datentransfer zu. Es aus
Zeitgründen z. B. nicht sinnvoll nach dem Senden eines Datenblocks auf die
Bestätigung zu warten. Es wird gleich der nächste Block geschickt und die
Bestätigungen laufen zeitversetzt ein (immerhin muß alles die Schichten 4
- 1 durchlaufen). Durch sogenannte "Synchronisation Points" wird
die Datentransferphase in Abschnitte unterteilt. Bei einer Störung oder
Unterbrechung kann der Transfer an einen definierten Punkt wieder
aufgenommen werden.
Beide Partner können den Verbindungsaufbau beenden. Das kann ordnungsgemäß
nach Beendigung aller Transfers geschehen (Ende mit Synchronisation) oder
durch Unterbrechen der Verbindung (Ende ohne Synchronisation).
In diese Ebene fallen auch das Ein- und Ausgliedern von Stationen beim
Token-Ring und die Adressierung eines bestimmten Partners.
- 4. Transport (Transport) Reine Transportfunktion. Diese Schicht stellt
sicher, daß alle Datenpakete den richtigen Empfänger erreichen. Aufbau der
Datenverbindung zwischen zwei Partnern, Datentransport, Flußkontrolle,
Fehlererkennung und -korrektur. Diese Schicht verbirgt die Charakteristika
des Netzes (LAN, WAN, ...) vor den darüberliegenden Schichten. Die
Transportschicht kann z. B. auch bei einer Forderung nach höherem
Datendurchsatz mehrere Verbindungen zum Parner aufbauen und die Daten in
Teilströmen leiten (splitting/combining). Auch das Aufteilen der Daten in
passende Blöcke und die Flußkontrolle obliegen dieser Schicht. Die Dienste
der Transportschicht werden in fünf Klassen unterschieden:
- Klasse 0 ist die einfachste. Es findet gegenüber der Schicht 3 keine
Fehlerkontrolle statt und einer Transportverbindung enspricht genau eine
Netzverbindung.
- In der Klasse 1 kommt zwar keine Fehlerbehandlung hinzu, es wird
jedoch versucht, von der Schicht 3 gemeldete Fehler zu beheben und nicht
an die Schicht 5 weiterzuleiten. Z. B. kann bei Unterbrechung der
Transportverbindung versucht werden, diese wieder aufzubauen, ohne daß
dies oberhalb der Schicht 4 bemerkt wird.
- Klasse 2 kann mehrere Transportverbindungen aufbauen
(Multiplexverbindung). In diesem Fall darf die Netzverbindung erst dann
getrennt werden, wenn die letzte Transportverbindung abgebaut ist.
- Klasse 3 deckt die Leistungen der Klassen 1 und 2 ab, d. h. einfache
Fehlerbehandlung und Multiplexen.
- Klasse 4 enthält neben den Funktionen der Klasse 3 zusätzliche
Mechanismen zur Fehlererkennung und -behandlung. Speziell bei
Datagramm-orientieren Netzen (LAN) kann so ein verbindungsorientierter
Dienst bereitgestellt werden (Sicherstellen von Vollständigkeit,
Eindeutigkeit und Reihenfolge der Datenblöcke).
- 3. Vermittlung-/Paket-Schicht (Network) Diese Ebene dient haptsächlich
der Datenpaket-Übertragung. Sie ist zusändig für die Wahl der Datenwege (routing),
für das Multiplexen mehrerer Verbindungen über einzelne Teilstrecken, für
Fehlerbehandlung und Flußkontrolle zwischen den Endpunkten einer Verbindung
(nicht zwischen den Anwenderprozessen).
Die Flußkontrolle auf dieser Ebene schützt den Endpunkt einer virtuellen
Verbindung für Überlastung. Die Fehlerbehandlung in dieser Schicht bezieht
sich nicht auf Übertragungsfehler (dafür ist Schicht 2 ausreichend),
sondern auf Fehler, die bei der virtuellen Verbindung auftreten: Erkennen
und Beseitigen von Duplokaten, Beseitigen permanent kreisender Blöcke,
wiederherstellen der richtigen Datenpaket-Reihenfolge, usw.
Bei WANs behandelt diese Schicht die Umsetzung eines Protokolls in ein
anderes (internetworking). Man kann daher die Schicht 3 in drei
Teilschichten unterteilen:
- 3a (Subnetwork Access): Abwickeln der Protokolle des jeweiligen
Teilnetzes.
- 3b (Subnet Enhancement): Funktionen der Teilnetze so ergänzen, daß
die Anforderungen von 3c erfüllt werden.
- 3c (Internetworking): Teilnetzunabhängige Protokolle abwickeln (Routing,
globale Adressierung)
- 2. Sicherungs-Schicht (Data Link) Sicherstellen einer funktionierenden
Verbindung zwischen zwei direkt benachbarten Stationen. Diese Schicht stellt
einen definierten Rahmen für den Datentransport, die Fehlererkennung und
die Synchronisierung der Daten zur Verfügung. Typische Protokolle: BSC,
HDLC, TCP, usw. Die Information wird in Blöcke geeigneter Länge
unterteilt, die als Datenrahmen (frames) bezeichnet werden und mit Prüfinfo
für die Fehlererkennung und -korrektur versehen werden.
Auf dieser Ebene erfolgt auch die Flußkontrolle für die Binärdaten. Es muß
nicht jeder einzelne Rahmen bestätigt werden, sondern es kann auch eine
vorgegebene Maximalzahl von Frames gesendet werden, bevor die Bestätigung
abgewartet werden muß. Über die Bestätigung der Gegenstation wird der
Datenfluß gesteuert. Datenrahmen und Bestätigungen müssen also nur
innerhalb eines Bereichs ("Fenster") liegen. Bei lokalen Netzen
wird diese Schicht nochmals unterteilt:
- 2a (Media Access Control, MAC): Regelt den Zugriff auf das Übertragungsmedium
- 2b (Logical Link Control, LLC): Vom übertragungsmedium abhängige
Funktionen der Schicht 2
- 1. Bitübertragung (Pysical) Hier erfolgt die physikalische Übertragung
der Daten. Diese Ebene legt die elektrischen, mechanischen, funktionalen und
prozeduralen Parameter für die physikalische Verbindung zweier Einheiten
fest (z. B. Pegel, Modulation, Kabel, Stecker, Übertragungsrate, etc.)
Veranschaulichung des Schichtenmodells mit einem Beispiel
Das Beispiel arbeitet nur mit drei Schichten. Die Ausgangssituation besteht in
zwei Wissenschaflern in Arabien und China, die ein Problem diskutieren wollen.
Nun sprechen beide nur Ihre Landessprache und auch Dolmentscher, die Arabisch
und Chinesisch können, sind nicht aufzutreiben. Beide suchen sich nun
Dolmetscher, die Englisch können. Der Weg der Nachrichten:
Hier soll kurz erklärt werden, wie die zu übertragenden Informationen in den
meisten Netzen von einem auf den anderen Rechner kommen. Die Daten werden
paketweise übertragen. Man spricht daher von einem paketvermittelten Netz. Zur
Veranschaulichung ein Gegenbeispiel und ein Beispiel:
- Im Telefonnetz wird für jedes Gespräch eine Leitung zwischen zwei Gesprächspartnern
benötigt. Diese Leitung bleibt auch belegt, wenn keine Information übertragen
wird, also keiner spricht. Hier handelt es sich um ein leitungsvermitteltes
Netz.
- Im Briefverkehr wird dagegen ganz anders vorgegangen. Wenn Informationsübertragung
ansteht, wird ein Brief geschrieben und dieser mit einer Adresse versehen.
Sodann wird dieses Informationspaket dem Netz überlassen, indem man es in
einen Briefkasten wirft. Das örtliche Postamt entscheidet dann aufgrund der
Empfängeradresse, ob der Brief direkt an den Empfänger (wenn dieser also
im Versorgungsbereich dieses Postamtes wohnt) auszuliefern ist, oder durch
Einschalten von mehr oder weniger Zwischenstationen. In der Regel findet der
Brief dann ein Postamt, das die Auslieferung des Briefes an den Empfänger
aufgrund der Adresse vornehmen kann. Schwierigkeiten bei der Auslieferung können
dem Absender aufgrund der Absendeadresse mitgeteilt werden.
mit freundlicher Unterstützung von Herrn Prof. Jürgen Plate