2. Das Transportsystem in Rechnernetzen
2.1. Übertragungstechniken
Für die Übertragung in Rechnernetzen werden noch unterschiedliche Leitungsarten verwendet (siehe folgende Abbildung).
An die Übertragungsmedien werden im allgemeinen folgende Anforderungen gestellt. Hinsichtlich der Qualität der Kabel sollten diese einfach aufgebaut, billig, zuverlässig, rauscharm und mechanisch robust sein.
Sie sollten weiterhin schnell zu installieren, einfach zu warten, leicht auszuwechseln, einfach in der Ankopplung neuer Teilnehmer und möglich hinsichtlich Erweiterungen bei keinem oder nur kurzen Betriebsunterbrechungen sein.
Verwendete Übertragungsmedien sind (s.o.) verdrillte Leitungspaare (twisted pair), Koaxialkabel, Lichtwellenleiter, Funkkanäle oder Infrarot.
verdrillte Leitungspaare
Einsatz:
Material: Kupfer (paarweise Kabel werden verdrillt, um gegenseitige Störungen soweit wie möglich auszuschließen und das sogenannte Nebensprechen zu verringern)
Ausführung: geschirmt oder nicht geschirmt
Länge: m ... km
Übertragungsrate:
m-Bereich: Datenraten 10- 100 Mbit/sKoaxialkabel
km-Bereich: > 64 Kbit/s - 100 Mbit/s
Ausführung: 1 oder 2 Schirme
Länge: km ... 10 km, darüber hinaus: Einsatz von Zwischenverstärkern (Repeater) zur bidirektionalen Regenerierung der Leitungssignale.
Übertragungsrate: 10 Mbit/s - 50 Mbit/s
Lichtwellenleiter
Als Lichtwellenleiter werden Glasfaserkabel eingesetzt.
Vorteile:
Probleme:
Teilnehmerankopplung (technologisch aufwendig)Länge: km ... 100 km
Busfähigkeit erfordert sternförmige optische Koppelelemente
Übertragungsrate: 10 Mbit/s ... 100 Mbit/s ... Gbit/s
Verschiedene Leitertypen:
. Stufenindex (Multimode)Die Übertragung selbst basiert auf unterschiedlichen Digitalisierungstechniken bzw. Codierungsarten. Beim (Manchester-) Einfachstrom wird beispielsweise folgende Methode angewandt:
. Gradient (Multimode)
. Monomode (Single Mode)
Beim sogenannten Doppelstrom sind die digitalisierenden Extrema jeweils positiver und negativer Strom.
Die (Abtast-) Schritte bestimmen die sogenannte Baud-Anzahl, die übetragene Bitanzahl wird in bps (Bit per second) angegeben.
Kodierungsverfahren
Signale, die als Bitmuster vorliegen, müssen auf den Kanal gegeben werden, in für die Übertragung geeignete analoge Form. Diese Aufgabe übernimmt die Leitungs- und Signalkodierung (Kanalkodierung).
Zweck:
Die Vorteile dieser Übertragungsform sind eine physikalische Übertragung der Signale für Zeitgebung (Takt- bzw. Synchronisationssignale) und Daten in einem selbstsynchronisierenden seriellen Bitstrom (keine separate Taktversorgung), eine Erhöhung der Sicherheit, da unterscheidbar (Übertragung Nullfolge, Übertragung Information), eine Gleichstromfreiheit und die Einfachheit bei der Realisierung.
Generell kann die Übertragung der Signale zum einen
Übertragungsarten
Basisbandübertragung
|
|
|
|
einfacher | komplizierter |
billiger | aufwendiger |
einfacher Verkabelung | komplizierte Verkabelung |
beschränkte Ausdehnung | große Ausdehnung |
beschränkte Stationszahl | große Stationszahl |
gleichzeitige Übertragung verschiedener Informationen |
Das wichtigste Vefahren zur Analog-Digital-Umwandlung ist die sogenannte Pulse Code Modulation (PCM). Das grundlegende Prinzip verdeutlicht die folgende Skizze:
Kanalkapazität C:
beschreibt die transportierbare Menge in Bit pro Sekunde (bps)Bandbreite W:
charakterisiert den durch eine Übertragung insgesamt möglichen FrequenzbereichMultiplexen (MUX):
speziell gilt: C = 2W *ld Lmit L als sogenannte Signalniveaus (Anzahl der Niveauebenen des Stromes (s. o.: Einfachstrom: L = 1))(Folie: Übertragungsfehler
Übertragung mehrerer Kanäle über eine Leitung, die im allgemeinen eine hohe Bandbreite aufweist
MUX--Methoden:
Aufteilung der gesamten Bandbreite für die Mehrfachnutzung
zeitbezogene Aufteilung der gesamten Bandbreite als mehrfache Einzelnutzung
Asynchronität aus inhaltlichen Gesichtspunkten heraus (z. B. Vollständigkeit der Übertragung einer Nachricht)
Satellitenübertragung:
Die physikalische Schicht umfaßt Festlegungen zu den elektrischen, mechanischen, physika-lischen und prozeduralen Bedingungen für die Einleitung, Aufrechterhaltung und den Abschluß der physikalischen Signalübertragung zwischen den physisch vorhandenen Geräten.
DEE/DÜE-Schnittstelle in PH-Schicht:
Charakteristika, Leistungsmerkmale (gemäß der in 2.1 angegebenen Ü(bertra-gungs)-Techniken):
Ein Beispiel für eine Modemschnittstellendefinition ist im unteren Bild angegeben. Ein Modem wird über eine DEE vom Rechner aus über sogenannte AT-Befehle programmiert. Beispiele für AT-Befehle sind (AT - Attention Code):
Folie: Modem
An der Universität Magdeburg werden Modem-Anschlüsse zentral durch das Rechenzentrum verwaltet. Auf Antrag wird eine persönliche Einwahlzuordnung vergeben, zum Beispiel
Eine (jährliche) Verlängerung ist jeweils zu beantragen.
Für das Einwählen stehen in den Betriebssystemen jeweils Browser zur Verfügung, wie zum Beispiel Netscape (für Unix (Solaris u.a.) oder (emuliert in) Windows 95) oder Internet für W'95 des Microsoft Network (MSN).
Modem-Anwendungserfahrungen:
studentische Erfahrungen: . . .2.3. Die Datensicherungsschicht (Schicht 2)
Hierbei geht es um die Sicherung der korrekten Übertragung zusammenhängender Bitfolgen zwischen den kommunizierenden Rechnern. Diese Aufgabe zwischen den Instanzen bzw. Entities wird durch Protokolle realisiert.
Die Datensicherung wird mittels spezieller Prüfkodierung realisiert, wie zum Beispiel nach dem Polynomcode-Prüfsummen-Verfahren.
Die allgemeine Vorgehensweise ist dabei folgende:
Dieses Ergebnis wird nun übertragen und kann anschließend hinsichtlich korrekter Bitübertragung kontrolliert werden.
Für die jeweils in Klammern angegebenen Zahlen für M(x)
und G(x) lautet die übertragene Bitfolge:
International genormte Generatorpolynome als CRC (Cyclic Redundancy Code) sind beispielsweise:
CRC-12: x12 + x11 + x3 + x2 + x + 1Ein allgemeines Protokolle auf dieser Grundlage ist beispielsweise das folgende Stop-and-Wait-Protokoll (unidirektional). (Stop-and-Wait: Sender schickt Rahmen/Frame ab und wartet auf Bestätigung (acknowledge), bevor er fortfährt) Der folgende Pseudocode beschreibt die allgemeine Funktionsweise.CRC-16: x16 + x15 + x2 + 1
CRC-CCITT: x16 + x12 + x5 + 1
Sender seq Initialisiere Ausgangsfolgenummer Definiere Paketformat Übertragung iter while (true) Erstelle Rahmen (PDU) zur "sicheren" Übertragung Füge Folgenummer in Rahmen ein Sende Paket ab Breche ab, wenn Antwort zu lange dauert (timeout) Warte auf Empfangsbestätigung Sendeerfolg select (Rahmen lt. Prüfsumme korrekt) Hole nächsten Rahmen Erhöhe Folgenummer Sendeerfolg end Übertragung end Sender endBei einer Verbindung ohne "Fenster" (s. u.) werden nur zwei Pakete mit den Folgenummern 0 und 1 unterschieden. Hinsichtlich der Situation im Übertragungsmedium sind dabei die (Kanal-) Zustände 0 (erster Rahmen übertragen), 1 (zweiter Rahmen übertragen), A ("acknowledge" (Ack) Übertragungsbestätigung) und V (Paketverlust) möglich. Damit lautet der Zustandsgraph beispielsweise für dieses Protokoll (das Wertepaar für die Zustandsänderung stellt die "Sender-schickt, Empfänger-erwartet"-Situation dar):Empfänger seq Stelle Empfang für erstes Paket ein Empfang iter while (true) Erfolg select (gültiger Rahmen angekommen) Hole neu angekommenen Rahmen Gib Daten an Vermittlungsschicht ab Erwarte neue Folgenummer Sende Leerrahmen, um Sender zu "wecken" Erfolg end Empfang end Empfänger end
Das Petrinetz hat dabei schließlich die Form (mit der erforderlichen Markierung für dessen Lebendigkeit):
Um den zeitlich u. U. nachteiligen Stop-and-Wait-Mechanismus zu entgehen kann eine "verzögerte" Bestätigung realisiert werden.
Als Beispiel soll das Sliding-Window-Protokoll mit dem Fenster-Mechanismus prinzipiell beschrieben werden. Dabei wird zwischen Sender und Empfänger während des Verbindungsaufbaus ein sogenanntes Fenster vereinbart, das einen bestimmten Wertebereich der Sequenznummern (PDUs (nach OSI) bzw. Anzahl sogenannter Frames (nach CCITT)) abdeckt. Innerhalb dieses Fensters hat der Sender "Kredit". Das folgende Beispiel verwendet als Folgenummern Oktalzahlen und läßt ein Fenster der Größe 3 zu.
PDU(i) steht dabei für das Senden einer PDU bzw. eines Rahmens
und QUITT(j) kenn-zeichnet eine Bestätigung einer erfolgreichen
PDU-Übermittlung.
Eine mögliche Umsetzung dieses Mechanismus demonstriert das sogenannten Go back n - Protokoll. Dabei werden alle n PDUs, die nach dem nicht korrekt übertragenen Datenpaket eintreffen, verworfen bis diese PDU korrekt übertragen wurde. Ein Timeout-Mechanismus kontrolliert entsprechend das Eintreffen der Quittungen beim Sender.
Auswirkungen eines Fehlers bei W=1:
Auswirkungen eines Fehlers bei W >> 1:
Für die Datensicherung wird im allgemeinen das sogenannte HDLC-Protokoll (HDLC - High-level Data Link Control) verwendet. Es ist OSI-Standard und arbeitet vollduplex.
Andere Protokolle sind beispielsweise das ADCCP (Advanced Data Communication Control Procedures) der ANSI USA, das LAP-B (Link Access Procedure - Balanced) der CCITT als Teil der X.25-Schnittstelle (s. u.) oder das SDLC (Synchronous Data Link Control) von IBM.
HDLC-Rahmen und Formate:
HDLC definiert 3 Rahmentypen mit verschiedenen Steuerfeld-Formaten
Die Angabe Adresse stammt noch aus der Zeit der Mehrpunktverbindungen. Die oben genannten Frames unterteilen sich wiederum in Commands und Responses. Die Control-Ko-dierung zeigt die folgende Tabelle:
Commands und Responses | 0 1 2 3 4 5 6 7 | |||||
Format | Commands | Responses | Codierung | |||
Unnumbered | SABM-Set asynchronous balanced Mode | 0 0 1 |
P |
1 1 |
1 1 |
|
DISC-Disconnect | 0 1 0 | P | 0 0 | 1 1 | ||
UA-unnumbered acknowledge |
0 1 1 |
F |
0 0 |
1 1 |
||
DM-disconnected Mode | 0 0 0 |
F |
1 1 |
1 1 |
||
FRMR-frame reject | 1 0 0 | F | 0 1 | 1 1 | ||
Information | I-Information |
N(R) |
P |
N(S) |
0 |
|
Supervisory | RR-receive ready | N(R) | F | 0 0 | 0 1 | |
RNR-receive not ready | N(R) |
F |
0 1 |
0 1 |
||
REJ-reject | N(R) | F | 1 0 | 0 1 |
N(S)= Send sequence numberDienstprimitive des HDLC:
P/F = Poll/final bit
N(R)= Receive sequence number
S = Supervisory function bits
M = Unnumbered function bits
Verbindungsaufbau wird durch ein vollständiges Handshake realisiert:
OSI-Dienstprimitiv | HDLC-PDU |
CONNECT.request CONNECT.indication CONNECT.response CONNNECT.confirm |
SABM UA |
(Handshake: "Aushandeln" des Verbindungsaufbaus(QoS s. u. usw.))
Beim Datentransfer nur einfaches Handshake:
OSI-Dienstprimitiv | HDLC-PDU |
DATA.request DATA.indication |
I-Rahmen |
Verbindungsabbau wieder durch vollständiges Handshake:
OSI-Dienstprimitiv | HDLC-PDU |
DISCONNECT.request DISCONNECT.indication DISCONNECT.response DISCONNNECT.confirm |
DISC UA |
Die HDLC-PDU's RR, REJ, RNR werden nur innerhalb der Schicht ausgetauscht. Sie haben keine unmittelbare Wirkung auf die höheren Schichten und entsprechen keinen OSI-Dienstprimitiven der Schicht 2. Sie stellen also Protokollsteuerinformationen (PCI) dar.
Dienstgüte - Quality of Services (QoS)
Die Dienstgüte in der Schicht beinhaltet beispielsweise den Durchsatz, die Fehler-wahrscheinlichkeit bei Übertragung, Aufbau und Verbindungshaltung, und dgl. mehr. Die QoS treten in jeder Schicht mit anderen Werten auf hinsichtlich
Phase | Performance Criterion | |
Speed | Accuracy/Reliability | |
Connection Establishment | Establishment Delay | Establishment Failure Probability Misconnection/ TC refusal |
Data Transfer | Throughput Transit Delay Transfer Failure Probability |
Resilience of Connection Residual of Error Rate (corruption, duplication,loss) |
Connection Release | Release Delay Non-quantitativ Criteria Protection and Priority, Cost |
Release Failure Probability |
Verbindungsaufbau (Connection Establishment) (VA):
fest (strategische Phase) | verhandelt (taktische Phase) |
Transit Delay Residual Error Rate Resilience |
Throughput Protection Priorität |
Verbindungsabbau (Connection Release):
analog wie die beim V-Aufbau
Nicht Quantitative Kriterien:
2.4. Vermittlungsschicht (Schicht 3)
Aufgaben der N-Schicht: (N-Network)
Vermittlungsfunktionalität wird bestimmt durch:
a) Netztopologie : Bus, Stern, Ring, Masche
b) Vermittlungsarten: Speichervermittlungsarten usw. (siehe speziell: Öffentliche Datennetze)
Das folgende Bild zeigt ein sogenanntes Internet aus Subnetzen (IWU - Internetworking Units, SNAP - Subnetzzugriffspunkt).
Leitweglenkung (Routing)
Die Leitweglenkung hat die Aufgabe, die Übertragungswege zwischen dem Quell- und Zielrechner auszuwählen. Durch die Leitweglenkung wird in entscheidendem Maße die Effektivität des betreffenden Kommunikationssystems beeinflußt.
Routing-Strategien
a) Festes (statisches) Routing (fixed routing)
Stellt einfachste Strategie dar. Für jedes Quell- und Ziel-Paar wird eine Route ausgewählt und festgeschrieben. Die Auswahl erfolgt durch Berechnungen/Modellierungen der Leistungsbewertung aufgrund spezieller Metriken (Menge der Teilstrecken oder Entfernung in km usw.) und wird dann auch als Short Path Routing bezeichnet.
Netztopologiebeispiel:
An jedem Knoten existiert eine Tabelle mit den jeweiligen anzusteuernden Nachbarknoten.
Knoten 1-Tabelle: | Knoten 2-Tabelle: | ||
Zielknoten | über Knoten | Zielknoten | über Knoten |
2 | 2 | 1 | 1 |
3 | 4 | 3 | 3 |
4 | 4 | 4 | 4 |
5 | 4 | 5 | 4 |
6 | 4 | 6 | 4 |
Die meisten Routing-Methoden basieren auf derartige Tabellen und werden daher auch Directory-Routing-Methoden genannt.
b) Fluten (Flooding)
Das Fluten ist ebenfalls eine Form des statischen Routings. Ein Paket wird hierbei an alle Nachbarknoten gesendet. An allen Knoten wird das Paket auf allen abgehenden Leitungen weiterübertragen außer auf der Leitung, auf der es eingetroffen ist.
Problem: Ansteigen der Paketzahlen
Lösung:
c) Random Routing
Im Unterschied zum Fluten wird an jedem Knoten jeweils nur eine abgehende Leitung gewählt (außer der Leitung, auf der die Nachricht eingetroffen ist.) Die Auswahl der Leitungen ist willkürlich.
Verfeinerung: Zuordnung einer Wahrscheinlichkeit zu jeder Leitung, z.B. auf Grundlage der übertragbaren Datenrate
Die Methode des Random Routing erfordert keine weiteren Netzinformationen.
d) Adaptives Routing
Die bisher erläuterten Routing-Strategien reagieren nicht auf Veränderungen im Netz (mit Einschränkung auf Veränderungen durch die Netzoperatoren). Diese 'variablen' Netz-Informationen werden beim AR berücksichtigt und müssen ausgetauscht werden (zusätzliche Netzlast).
Bevorzugte Strategien:
e) Distance-Vector-Routing
Bei dieser Form des dynamischen/adaptiven Routings (auch verteiltes Bellman-Ford-Routing oder Ford-Fulkerson-Routing genannt) wird die Verzögerung als Metrik verwendet. Jeder Knoten (Router) verfügt über eine Tabelle, die die (geschätzten) Verzögerungen (in Millisekunden ms) zu seinen Nachbarroutern enthält. Darauf aufbauend wird (ständig) ein Weg hinsichtlich minimaler Verzögerung bestimmt. Das folgende Beispiel verdeutlicht dieses Prinzip:
Problemstellung:
z. B. A erhält Verzögerungstabellen von B (5,0,3) und C (3,4,0) und bestimmt dann; A selbst hat also nach B 12 ms und nach C 6 ms "geschätzt"; aufgrund der erhaltenen Tabellen von B und C "sieht" A nun, daß der Weg zu B direkt 12 ms aber über C (6 + 4=) 10 ms beträgt und aktualisiert seine Tabelle zu:dann erfolgt die entsprechende Wegewahl; ( analog verfahren B und C bevor ein geforderter Transport realisiert wird)
A A 0 B 10 C 6
Virtuelle Verbindungen
Virtuelle Verbindung ist der CCITT-Begriff für einen CO-Betrieb mit fixer Wegewahl.
Den Aufbau einer derartigen Verbindung demonstriert die folgende Skizze:
Multiplexen
Das Multiplexen bedeutet hierbei die gemeinsame Verwendung einer Teilstrecke durch mehrere Verbindungen der Schicht 3. Es bedeutet die Zurückführung mehrerer Schicht-3-CEPs auf einen Schicht-2-CEP. Die folgende Skizze deutet diese Vorgehensweise an.
Das X.25-Protokoll
Im Rahmen der Vermittlungsschicht ist die X.25-Schnittstelle diejenige für Terminals im Paketmodus. Die folgende Skizze verdeutlicht die X.25-Schnittstelle im Zusammenhang mit anderen Standards (PAD - Paketbildungs- und -auflösungseinrichtung).
X.25 definiert die Schnittstelle zwischen DEE/DÜE (Interface between data terminal equipment and data circuit terminating equipment for terminals operating in the packet mode on public data networks), um die Dienstleistungen eines Paketvermittlungsnetzes nutzen zu können (siehe Bild unten).
Die allgmeine Funktionsweise des X.25-Protokolls verdeutlicht das folgende Zustandsdiagramm.
2.5. Transportschicht (Schicht 4)
Die Aufgabe der Transportschicht (OSI-Schicht 4 bzw. T-Schicht) ist die Herstellung einer universellen Transportverbindung mit gefordeten Gütemerkmalen unabhängig von der speziellen untergelagerten Netzrealisierung (Ende-zu-Ende-Signifikanz, z.B.. X.25, LAN, ISDN, DQDB, ATM). Man nennt die Realisierung der Schichten 1-4 auch das Transportsystem. Spezielle Aufgaben sind also:
Es geht dabei um dieVerhandlung zwischen 3 Beteiligten: den beiden T-Dienstnutzern und dem T-Diensterbringer. Beim folgenden Modell kann der Transportdienst verbindungsorientiert und verbindungslos sein. In den meisten Anwendungen wird der verbindungsorientierte T- Dienst genutzt.
Teildienste beim verbindungsorientierten Dienst:
Für jede Art der Leistungsverbesserung in der T-Schicht gegenüber der N-Schicht bedarf es eigener T-Protokolle. In Abhängigkeit von der gelieferten N-Qualität (Netzgüte) beschränkt man sich auf 5 Klassen von T-Protokollen:
CO-Dienstprimitive
T.CONNECT.request (rufende Adresse, gerufene Adresse, Vorrangdaten, QoS, T-Daten)
T.CONNECT.indication (rufende Adresse, gerufene Adresse, Vorrangdaten, QoS, T-Daten)
T.CONNECT.response (antwortende Adresse, Vorrangdaten, QoS, T-Daten)
T.CONNECT.confirm (antwortende Adresse, Vorrangdaten, QoS, T-Daten)
T.DATA.request (T-(Benutzer-) Daten)
T.DATA.indication (T-Daten)
T.DISCONNECT.request (T-Daten)
T.DISCONNECT.indication (T-Daten)
Die Abfolge aller möglichen T-Dienstprimitive (CO) wird durch den Automaten im nach-folgenden Bild dargestellt.
Zur Implementierung der T-Protokolle hinsichtlich der Unterstützung des Laufzeitsystems wurde die Sprache CHILL (CCITT High-Level Language) entwickelt. Dabei dienen als Implementationsgrundlage eine Prozeßbeschreibung bei der die Prozesse über Warteschlangen und Mailboxen interagieren.
Die folgende Abbildung (Folie) zeigt die Gesamtübersicht
der Dienstprimitive gemäß dem OSI-Transportsystem: