RN1 V55.fm - Informatik an der TU Clausthal

Werbung
Vorlesung Rechnernetze I
Prof. Dr. Harald Richter
Die Vervielfältigung oder Weitergabe des Skripts ist nur mit Genehmigung des Verfassers gestattet.
Alle Rechte liegen beim Verfasser.
1
1 Entwicklung der Kommunikationstechnik
Ursprünge:
Informationstyp:
Transportmedium:
Übertragungstechnik:
Fortschritt:
Protokoll:
Zukunft:
TV (Fernsehen)
Telex (Fernschreiber =
Vorläufer zu FAX)
Video
Funkwellen:
terrestrisch/
Satellit + Koaxkabel
Antennen:
Parabol,
Stab, ...
Analog-TV
-> Digital
TV
Zeichen/Daten
Koax- und
verdrilltes
Kupferkabel
LANs:
Ethernet,
TokenRing, ...
1G-> 40G
Ethernet
Sprache
Glasfaser
MANs:
FDDI,
DQDB,
...
Telefon
verdrilltes
Kupferkabel +
Glasfaser
WAN:
SONET/
SDH
S-ISDN
B-ISDN
DVB-T/DAB
IP
ATM-Protokoll
IBCN (Integrated Broadband Communication Network):
weltweites Mobil-/Festnetz + Internet + Multimedia + TV
2
2 Ziele von Rechnernetzen

Datenverbund
• = Zugriff auf entfernte Dateien über Middleware wie z.B. das Network File System (NFS)

Funktionsverbund
• = Zugriff auf besondere Rechner wie z.B. Web-Server, Video-Server, Datenbank-Server, ...

Lastverbund
• = Gleichmäßige Verteilung der Rechnerlast über Middleware wie z.B. beim Grid/Cloud
Computing

Verfügbarkeitsverbund
• = Fehlertoleranz

Speziell für das Internet gilt zusätzlich:
• Informationsverbund = riesiges Lexikon weltweit verteilter Informationen
• Kommunikationsverbund = soziale Medien (Facebook, Twitter,...)
• Infrastruktur für Handel und Dienstleistungen = eCommerce
3
Klassifikation von Netzen nach der Distanz
keine
Rechnernetze
GrößenordProzessororte
nungen der
Entfernungen
(ca.-Werte)
Bezeichnung
0,1 m-10 m
Multiprocessor, Multicomputer, Parallelrechner
Platine
Rechnersystem
10 m-10 km
Raum
Gebäude
Local Area Network (LAN), Beispiel
Ethernet
Campus, Fabrik
Rechnernetze
10 km-100km Stadt, Region
Metropolitan Area Network (MAN), Beispiel FDDI
100 km100000 km
Wide Area Network (WAN), Beispiel
Internet
Land
Kontinent
Planet

Man unterscheidet zwischen lokalen Netzen (LAN = Local Area Network), Stadtnetzen
(Metropolitan Area Network) und Weitverkehrsnetzen (WAN = Wide Area Network)
4
3 Standardmodell der Kommunikation:
Das ISO-7-Schichtenmodell für Offene Systeme






Wurde Anfang 1970er Jahre von der OSI entworfen. OSI = OPEN SYSTEMS INTERCONNECTION = Untergruppe der ISO
Einführung von neuen Grundbegriffen (= Terminologie)
Einführung eines verbindlichen Modells für geschichtete Kommunikation
Das ISO-7-Schichten-Modell schlägt sieben Schichten und deren Funktionalität vor.
Jede Schicht hat bei der Datenübertragung einen eigenen Satz von Aufgaben zu übernehmen.
Datenaustausch ist nur zwischen benachbarten Schichten möglich, nicht kreuz und
quer
Im Internet wurden vom ISO-7-Schichten-Modell nur Schicht 1-4 und Schicht 7 implementiert
5
3.1
Blockschaltbild der Kommunikation im ISO-7-Schichtenmodell
Rechnersystem i
Anwendungs
Prozess X1
===
Rechnersystem j
Anwendungs
Prozess Xn
Anwendungs
Prozess Y
Bsp.: BSDSocket Schnittstelle
Bsp.: WinSocket Schnittstelle
Kommunikationssystem nach
OSI-Standard
Kommunikationssystem nach
OSI-Standard
physikalisches
Medium
Verbundene Systeme
6
3.2
Grober Aufbau des ISO-7-Schichtenmodells
Schicht 1 - 4

• Bit-und Nachrichtentransfer durch Datenrahmen (frames) bzw. Pakete (packets); keine höheren Funktionen
• Inhalt der Daten ist ohne Bedeutung für die transportorientierten Schichten. Kein Bezug auf die Kooperationsbeziehung der Teilnehmer.


Schicht 5 - 7
Transportorientierte Schichten = Schichten 1-4: Technische Erbringung von Übertragungen durch:
Anwendungsorientierte Schichten = Schichten 5-7: Anwendungsbezogene Kommunikationsdienstleistungen
Kooperation der Teilnehmer wird berücksichtigt durch:
•
•
•
•
•
Steuerung des Ablaufs (Sitzungssteuerung)
Informationsdarstellung (verschiedene Zeichensätze und Datenformate)
Kompensation von Fehlverhalten (Neustart eines Downloads bei Fehler)
Datenverschlüsselung (Kryptographie)
Datenkompression (JPEG, MPEG, MP3)
7
3.3
Feiner Aufbau des ISO-7-Schichtenmodells
ist anders aufgebaut
als System A
 heterogenes Rechnernetz
Endsystem A
beliebige räumliche Entfernung
Teil des Betriebssystems in
Form von Bibliotheken
Teil der Rechner-Hardware
3.4
Endsystem B
Anwendungsschicht
Anwendungsspezifische Programme
7
Darstellungsschicht
Datenformatierung und -darstellung
6
Sitzungsschicht
Dialogsteuerung
5
Transportschicht
Ende-zu-Ende-Datenaustausch
4
Vermittlungsschicht
Ende-zu-Ende-Vermittlung
3
Sicherungsschicht
Nur zwischen benachbarten Rechnern
2
Physikalische Schicht
Physikalische Übertragung
1
Aufgaben der Schichten des ISO-Modells
1.) Die Bitübertragungsschicht ermöglicht die transparente Übertragung eines Stroms
8
binärer Informationen über ein Kabel aus Kupfer oder Glasfaser oder über Funk (=
ungesicherter Bitstrom + mech. u. el. Spezifikation der Strecke)
2.) Die Sicherungsschicht regelt den Zugang zur Schicht 1, entdeckt Übertragungsfehler
und bremst zu schnelle Sender (= gesicherte Bits + Zugang + Flusssteuerung) jeweils
zwischen benachbarten Rechner
3.) Die Vermittlungsschicht wählt eine Netz-Route von Rechner zu Rechner über Zwischenknoten aus (= Wegewahl)
4.) Die Transportschicht übermittelt die Daten von Sendeprozess zu Empfangsprozess,
d.h. von Ende-zu-Ende. Sie entlastet den Benutzer von den Details der Datenübertragung, z.B. durch Sicherstellung der Paketreihenfolge.
5.) Die Kommunikationssteuerungsschicht vereinfacht die Zusammenarbeit zwischen
den kommunizierenden Anwendungsprozessen z.B. durch Wiederanlauf (Neustart,
recovery); legt full-/halfduplex Übertragungsmodus fest.
6.) Die Darstellungsschicht transformiert u.a. die Daten in eine Form, die von beiden
Anwendungsprozessen verstanden wird und komprimiert und verschlüsselt optional
(= Datenformate + Kompression + Verschlüsselung)
7.) Die Anwendungsschicht enthält Benutzeranwendungen. Sie ist sehr groß (Bsp.: >106
apps)
9
3.5

Terminologie und grundlegende Prinzipien im ISO-Modell
Offenes System für die Kommunikationsteilnehmer
• jedes Rechnersystem aus Hardware, Software und Peripherie, das sich an die OSI-Standards hält, kann kommunizieren.

N-Schicht (1N  7):
• wird aus sämtlichen Programmen der Schicht N in allen offenen Systemen gebildet.
Analogie: dieselben Stockwerke Nr. N aller Gebäude der Welt bilden die N-Schicht.

N-Instanz (N-Entity):
• Ganz bestimmte Implementierung einer Funktion der Schicht N auf einem System
• Es kann auf demselben Rechner mehrere N-Instanzen geben, die unterschiedliche Protokolle implementieren; Bsp. TCP u. UDP

Partnerinstanzen (Peer-Entities):
• Instanzen derselben Schicht auf verschiedenen Rechnern. Peer-Entities erfüllen die Funktionen einer Schicht durch Datenaustausch von peer zu peer
Hinweis: peer = Gleichgestellter, d. h. einer, der der gleichen (Adels)schicht angehört
3.6

Was macht eine Schicht im ISO-Modell?
Hauptaufgabe jeder Schicht ist es, der darüber liegenden Schicht Dienste (= Funktionen) anzubieten. Diese Dienste setzen sich zusammen aus:
• Dienstleistungen, die innerhalb dieser Schicht erbracht werden und
10
• der Summe der Dienstleistungen aller darunter liegenden Schichten



Schichten sind über Dienste miteinander verknüpft. Sie bilden die Schnittstelle zwischen den Schichten. In der Software-Entwicklung heißt diese Schnittstelle application
programming interface, API
Dienste bestehen wiederum aus Dienstelementen (= Unterprogrammaufrufen)
Da Schichten jeweils aufeinander aufbauen, ergibt sich eine Hierarchie von Diensten,
deren Umfang mit der Schichthöhe zunimmt
11
3.7
Hierarchie von Diensten im ISO-Modell
Benutzer A
Benutzer B
Anwendungsdienste
Darstellungsdienste
Kommunikationssteuerung
Transportdienste
Wegewahldienst
Gesicherte Bit-Ströme
Kabel, Stecker, Spannungspegel
Übertragungsleitung



Jede Schicht benutzt die Funktionen (= Dienste) der darunter liegenden Schicht
Daten werden physikalisch nur auf der untersten Ebene zwischen den Rechnern übertragen, d. h. der Übertragungsstrecke
Auf allen n-Schichten mit n>1 werden Daten nur innerhalb desselben Rechners „hin
und her geschoben“ (im Form von Aufrufparameter und Resultatwerten)
12
3.8
Indirekte Kommunikation im ISO-Modell (Partnerprotokolle)
Partnerprotokoll
= peer protocol
indirekte (virtuelle)
Kommunikation
Application
direkte
Kommunikation
Presentation
Session
Transport
Network
Data Link
Physical
Physikalisches Übertragungsmedium
• Daten werden innerhalb eines Rechners von Schicht zu Schicht transportiert
• Zwischen 2 Rechnern können Daten nur auf der Schicht 1 transportiert werden
• Kommunikation zwischen Instanzen höher als Schicht 1 werden indirekt (virtuell) abgewikkelt
13
• Indirekte Kommunikation wird mittels eines Protokolls zwischen Partnerinstanzen so
durchgeführt, dass beide Partnerinstanzen „sich verstehen“ (Protokoll = gemeinsame
„Sprache“)
3.8.1
Direkte und indirekte Kommunikation
Dienstelement
obere Schnittstelle
N-Schicht
untere Schnittstelle
c
c
d
Instanz
a
Protokoll
= indirekt
c
c
Instanz
a
a = gleichgestellte N-Instanzen
(Peer Entities)
b = Dienst besteht aus einer
Menge von Dienstelementen
c = Dienstelement
(Service Primitives)
d = Protokoll zwischen Gleichgestellten (Peer Protocol)
} b Dienst
c
c
Rechner A

= direkt
= direkt
c
c
Rechner B
Direkter Datenaustausch erfolgt mit Hilfe von Dienstelementen (= Unterprogrammaufrufen) eines Dienstes (= einer API) zwischen benachbarten Schichten desselben Rechners
14



Indirekter Datenaustausch erfolgt mit Hilfe eines Protokolls zwischen Partnerinstanzen
auf verschiedenen Rechnern
Eine direkte Kommunikation der Schicht N (1<N<7) erfolgt nur mit den Schichten (N+1)
und (N-1)
Indirekte Kommunikation (Protokoll) mit Partnerinstanzen (Peer Entities)
3.8.1.1
Schicht
7
Implementierung der direkten und indirekten Kommunikation im Internet
Quelle
Layer 7-Protokoll
M
M
Ziel
Anwendung
Layer 4-Protokoll
H4
H4 M
4
Segmentierung
H3 H4 M1
3
2
Fragmentierung
Layer 3 Protokoll
H3 H4 M2
Reassemblierung
H3 H4 M2
...
...
Layer 2-Protokoll
H2 H3 H4 M1 T2 H‘2 H‘3 H‘4 M‘2 T‘2
M
H3 H4 M1
Network
Reassemblierung
H2 H3 H4 M1 T2 H‘2 H‘3 H‘4 M‘1 T‘2
1
Transport
Data Link
Physical
physikalische Verbindung
Hinweis: M = Message (Nachricht), H = Header (Vorspann = Nachrichtenkopf), T = Trailer (Nachspann)
15








Nachricht M wird von „oben nach unten“ und dann von „unten nach oben“ durchgereicht = direkte Kommunikation
Beim Durchreichen nach unten wird M in zwei Schritten zerkleinert: zuerst „segmentiert“ dann „fragmentiert“
M wird bei jedem Übergang zwischen 2 Schichten um jeweils einen neuen Vorspann
(Header) und ggf. auch um einen Nachspann (Trailer) verlängert
Am Ziel werden Trailer und Header schrittweise wieder entfernt und die Nachricht zusammengebaut (= Reassemblierung in 2 Schritten)
Die Header sind notwendig, um zum Ziel zu finden
Die Trailer sind notwendig, um eine sog. Prüfsumme (CRC) zu speichern
Zwischen Schicht 4 und Schicht 3 findet eine „Segmentierung“ zur Zerkleinerung der
Pakete statt
Zwischen Schicht 3 und Schicht 2 findet eine „Fragmentierung“ zur Zerkleinerung der
Pakete statt
Hinweis: Protokoll = Menge der Regeln für den indirekten Datenaustausch zwischen Entities derselben
Schicht (peer-to-peer communication
16
3.8.2
Definition Dienst, Dienstzugangspunkt, Dienstelemente )
Rechner A
Anwendungsprozess A
Protocol Stack
Dienstelement
Rechner B
Datenaustausch
Anwendungsprozess B
Dienst
Dienstzugangspunkt
entity A
entity B
Peer Entity
der Schicht
(N)
physikalisches Medium

Die Schichten werden in ihrer Implementierung auch als Protocol Stack bezeichnet
Def.: N-Schnittstelle: Menge von Dienstelementen (Unterprogrammaufrufen) der Schicht
N. Dienstzugangspunkt: Name des Unterprogrammaufrufs mit Art und Typ der Übergabe- und Resultatparameter (= Signatur der Prozedur).
17
3.9
Die 4 Arten von ISO-Dienstelementen
Rechner A
Rechner B
Prozess a
1.
Request
Prozess b
4.
Confirmation
3.
Response
2.
Indication
Datenübertragung

Es gibt für jeden Dienst einer Schicht i (1<i<7) 4 Dienstelemente, die gemeinsam den
Dienst in Form eines 4-Phasen Handshakes bilden:
1.) Anforderung (Request) = Aktivieren eines Dienstes der Schicht durch den Dienstnehmer
2.) Anzeige (Indication) = Dem Diensterbringer anzeigen, dass vom Dienstnehmer ein
Dienst angefordert wurde
3.) Antwort (Response) = Quittieren einer vorherigen Anzeige oder Erbringung des angeforderten Dienstes durch den Diensterbringer
18
4.) Bestätigung (Confirmation) = Quittieren einer vorherigen Anforderung beim Dienstnehmer
3.10

Die 3 Phasen der ISO-Kommunikation
Darüberhinaus heißt jede Kommunikation, die in folgenden 3 Phasen abläuft, verbindungsorientierte Kommunikation:
• Verbindungsaufbau (Connect), Datentransfer (Data Transfer) und Verbindungsabbau (Disconnect)




Für jede der 3 Phasen gibt es einen Dienst, der diese Phase implementiert
Eine verbindungsorientierte Kommunikation steht im Gegensatz zur sog. verbindungslosen Kommunikation, bei der sofort gesendet werden kann (kein Verbindungsaufbauund -abbau)
Request, Indication, Response und Confirmation sind die 4 Typen von Dienstelementen, die es bei jedem verbindungsorientierten Protokoll im Prinzip jedenfalls in jeder
Schicht i (1 < i < 7) gibt
Die Zahl der Kombination aus Dienste, Dienstelemente und Phasen einer Schicht berechnet sich zu: dN Dienste der Schicht N * 4 Dienstelemente pro Dienst * 3 Phasen =
dN*12 Kombination (im Prinzip)
19
3.10.1
Beispiel: Presentation.Connect = Verbindungsaufbaudienst der Schicht 6
Rechner B
Rechner A
Schicht 6
ConnectDienst der
Schicht 6
5 darunterliegende
Schichten
Presentation Layer B
Presentation Layer A
1.) Presentation. Connect.
Request-Dienstelement
4.) Presentation. Connect.
ConfirmationDienstelement
3.) Presentation. Connect.
ResponseDienstelement
2.) Presentation.
Connect. Indication-Dienstelement
Protocol Stack
Protocol Stack
20
3.11
Zusammenfassung ISO-7-Schichten-Modell
1.) Die ISO-Bitübertragungsschicht ermöglicht die Übertragung von Informationen über
ein Kabel aus Kupfer oder Glasfaser oder per Funk = ungesicherter Bitstrom +
mechanische + elektrische + funktionale + prozedurale Spezifikation der Strecke
2.) Die ISO-Sicherungsschicht regelt den Zugang zum Übertragungsmedium, entdeckt
Übertragungsfehler jeweils zwischen benachbarten Rechnern, macht ggf. eine Rahmenwiederholung und bremst zu schnelle Sender durch Flusssteuerung =Zugang +
gesicherte Bits + Flusssteuerung
3.) Die ISO-Vermittlungsschicht macht einen Verbindungsaufbau und -abbau, wählt
einen Weg vom Quellrechner zum Zielrechner durch das Netz. Im Allgemeinfall verläuft dieser über mehrere Zwischenknoten. Sie zerkleinert zu große Schicht 3-Pakete
in kleinere Schicht 3-Pakete (=“Fragmente“), die anschließend von Schicht 2 übertragen werden können, und setzt diese beim Empfänger wieder in der richtigen Reihenfolge zu einem Paket zusammen = Fragmentierung und Reassemblierung. Sie
erkennt, welches Schicht 3-Fragment zu welchem Schicht 3-Paket gehört.
4.) Die ISO-Transportschicht macht ebenfalls einen Verbindungsaufbau und -abbau,
übermittelt die Daten gesichert von Sendeprozess zu Empfangsprozess, d.h. von
Ende-zu-Ende. Sie stellt die Paketreihenfolge sicher, löscht Duplikate und macht im
Fehlerfall eine Ende-zu-Ende Paketwiederholung. Sie erlaubt eine Pufferverwaltung
21
bei Sender und Empfänger und stellt Prioritäten bei der Übertragung zur Verfügung.
Sie sorgt schließlich dafür, dass das Netz nicht überlastet wird = idealer Kanal
5.) Die ISO-Kommunikationssteuerungsschicht vereinfacht die Zusammenarbeit zwischen den kommunizierenden Anwendungsprozessen z.B. durch Rücksetzen und
Wiederanlauf einer unterbrochenen Verbindung (recovery). Sie legt full-/halfduplex
fest und erlaubt das Multiplexen mehrerer logischer Kanäle auf einen physikalischen
Kanal = Dialogsteuerung, Recovery, Multiplexen
6.) Die ISO-Darstellungsschicht transformiert die Daten in eine Form, die von beiden
Anwendungsprozessen verstanden wird und komprimiert und verschlüsselt optional
(= Datenformate + Kompression + Verschlüsselung).
7.) Die Anwendungsschicht enthält Middleware und Benutzeranwendungen = Millionen
von Diensten, Anwendungen und Apps

Das Internet implementiert den größten Teil der ersten vier Schichten des ISO-Modells
22
Anwendung
Dateitransfer (ftp, Port 20, 21), Telnet (Port 23), E-Mail (smtp, Port 25),
DNS (Port 53), NFS, www (http, Port 80), ...
Transport
Transmission Control Protocol TCP, User Datagram Protocol UDP
Vermittlung
Sicherung 2b (Logical Link
Control
Sicherung 2a (Medienzugangssteuerung)
Bitübertragung
Internet Protokolle IPv4, IPv6
Internet Control Message Protocol ICMP
speziell für
SONET
/SDH
SONET
/SDH
speziell
für E1/
T1
speziell für
FDDI
speziell für
DQDB
ISO
Logical
Link
Control
(theoretisch)
Speziell
für
WLAN
Point
to
Point
Protocol
(PPP)
E1/T1
FDDI
DQDB
Ethernet
WLAN
DSL
4 Bitübertragungsschicht (ISO-Schicht 1)

ISO-Definition: „Die Bitübertragungsschicht definiert die mechanischen, elektrischen,
funktionalen und prozeduralen Eigenschaften, um physikalische Verbindungen zwischen Datenendeinrichtungen und Datenübertragungseinrichtungen aufzubauen, aufrecht zu erhalten und abzubauen.“
23




Die Bitübertragungsschicht sorgt für die Übertragung eines transparenten Bitstroms
zwischen Sicherungsschicht-Instanzen über physikalische Verbindungen
Eine physikalische Verbindung realisiert die Übertragung eines Bitstroms im Vollduplex- oder im Halbduplex-Modus
Vollduplex = gleichzeitiger bidirektionaler Datenaustausch
Halbduplex (=Simplex) = zu einer Zeit nur in einer Richtung, dann wird die Richtung gewechselt u.s.w. (= unidirektionaler Datenaustausch mit wechselnden Kommunikationsrichtungen)
4.1

Es werden in der Bitübertragungsschicht mechanische, elektrische, funktionale und
prozedurale Schnittstellen und Regeln definiert, die von Sender und Empfänger eingehalten werden müssen, damit Daten ausgetauscht werden können
4.1.1

Mechanische Schnittstellen
Hier geht es im die Abmessungen der Stecker, die Anordnung der Pins im Stecker etc.
4.1.2

Spezifikationen in der Bitübertragungsschicht
Elektrische Schnittstellen auf den Leitungen
Hier werden die Signalpegel (Spannungs- oder Stromwerte) für High- und Low-Bits, sowie die Art der Erdung und Schirmung der Kabel festgelegt
24
4.1.3


Funktionale Schnittstellen
Hier wird festgelegt, welcher Pin welche grundsätzliche Funktion hat und wie deren
Zeitverhalten, das sog. Timing ist
Hier wird auch die Bitrate der Bitübertragung und die Art der verwendeten Codierung
festgelegt
Beispiel: V.24/RS-232 mit den Datenleitungen TX, RX und den optionalen Steuerleitungen Request to Send, Clear to Send, Data Set Ready und Data Terminal Ready, sowie
GND
4.1.4


Prozedurale Regeln
Hier wird festgelegt, wie die Pins des Steckers im Kontext zu den anderen Pins sich verhalten müssen, d.h., hier geht es um das logische Zusammenspiel der einzelnen
Schnittstellenleitungen
Wichtig für die Benutzung der Schnittstellenleitungen
Beispiel: bei V.24/RS-232 darf das Clear to Send-Signal des Modems erst dann aktiv
werden (High), wenn zuvor Data Set Ready des Modems und wenn Request to Send des
Computers aktiv wurde, der an das Modem angeschlossen ist
25
4.1.5
Beispiele für mechanische Spezifikationen: USB
USB 3.0-Stecker, Standard Typ A (10 Pins)
USB 3.0-Stecker, Micro Typ B (10 Pins)
USB 3.1-Stecker, Typ C (24 Pins)
Beispiel für eine elektrische Spezifikation: V.24 EIA RS-232
Driver
Sender
Interconnecting Cable Terminator
Empfänger
Kabel
 12 V
D
Interface
4.1.6
Signal Ground
26
T


In der kleinsten V24/RS-232-Version sind nur 2 verdrillte Kabeladern + Masse (GND) nötig
Keine Abschirmung der Adern, nur Verdrillung (= Telefonkabel) => sehr preisgünstig
4.2




Asynchron heißt: kein Taktsignal zwischen Sender und Empfänger, Bsp.: V.24/RS-232
Synchron heißt: Taktinformation wird zeitgleich mit den Nutzbits übertragen, Bsp. USB
Für synchrone Übertragung wird eine Codierung, verwendet die auf der Datenleitung
den Takt mitüberträgt (preisgünstig, da keine separate Taktleitung nötig)
Da der Empfänger den Sendetakt erhält, wird dieser zur Abtastung der Bitsignale benutzt = Synchronisation der Bitsignale mit dem Taktsignal => stabile Erkennung der
Bits selbst bei hohen Datenraten
4.2.1

Asynchrone und synchrone Übertragung
Asynchrone Übertragung
Sender und Empfänger haben voneinander unabhängige, i.e. lokale Taktgeber
Beispiel: V.24/RS-232



„Freie Leitung“ (= Leitung ohne Daten) entspricht einem kontinuierlich gesendeten
High-Bit  Problem der Unterscheidung zwischen freier Leitung und High-Pegel.
Das Start-Bit setzt die Leitung auf Low und startet so den Taktgeber beim Empfänger
Ein Übertragungsrahmen enthält 5 bis 8 Nutzbits (= 1 Zeichen)
27


Das Stop-Bit setzt die Leitung wieder auf High. Dieses Signal muss 1, 1.5 oder 2 BitIntervalle andauern; entspricht 1, 1.5 oder 2 Stop-Bits
Ein Paritätsbit dient zur Überprüfung der Nutzbits beim Empfänger
4.2.1.1

Vorteile der asynchronen Übertragung
Es wird keine Synchronisierung des Empfänger-Taktgebers mit dem Sender-Taktsignal benötigt, da kein Takt übertragen wird
 Hardware-mäßig leicht zu implementieren
4.2.1.2

Nachteile der asynchronen Übertragung
Die Taktgeber weichen im Laufe der Zeit voneinander ab, da sich kleine Zeitunterschied
akkumulieren
 Erhebliche Einschränkungen bzgl. Datenraten und Rahmenlängen
Beispiel: V.24/RS-232



Die „Nutzlast“ des Rahmens ist sehr kurz (nur 1 Zeichen; entspricht 5-8 Bits)
Es sind nur niedrige Datenraten und kurze Längen möglich
Die Start- und Stop-Bits bedeuten einen Mehraufwand, und die Effizienz sinkt
28
Beispiel: 1 Start-Bit + 7-Bit ASCII-Zeichen + 1 Paritätsbit + 1 Stop-Bit => d.h., insgesamt
10 Bit pro Rahmen für 7 Nutzbits => 30% Overhead. Nur 70% der Leitungsbandbreite stehen für Benutzerdaten zur Verfügung.


Bitrate begrenzt auf 100 kbit/s bei einer Entfernung von 15 m
Aufgrund der geringen Komplexität, des geringen Preises und der kleinen Polzahl immer im Vergleich zu USB noch in Verwendung
4.2.1.3

Timing-Diagramm einer asynchronen Übertragung (V24/RS-232)
In den beiden nachfolgenden Timing-Diagrammen wird der Signalverlauf über der Zeit
bei der Übertragung eines Zeichens und bei einer Zeichenfolge gezeigt
29
4.2.1.4
Leitungscode für ein Zeichen
Signalhöhe
Stopbit (Pegel wie im Ruhezustand)
Lange Eins = Ruhezustand
5 bis 8 Datenbits
Signalwert = 1
Signalwert = 0
Zeit
Startbit
1
Paritybit
(Odd, Even)
1,5
2
4.2.1.5
Leitungscode für eine Zeichenfolge
Beliebig lange Ruhepause zwischen Rahmen
Ruhezustand
Startbit
Stop
bit
Start
bit
Stop
bit
))
))
))
1 1 1 1 0 0 0 1
Stop
bit
Start
bit
0 0 1 0 1 1 0 0
= 1. Zeichen+ odd Parity
= 2. Zeichen+odd Parity
30
1 00
1
0 1
0
= 3. Zeichen+odd Parity
4.2.1.6
Effekt der auseinander laufenden Uhren bei asynchroner Übertragung
Senderate f1
Abtastrate f2 > f1
start
1
2
3
4
5
6
7
8 stop
Fehlabtastung!
4.2.2




Synchrone Übertragung
Sende- und Empfangstakt laufen beliebig lange im Gleichtakt, d.h. synchron
=> Eine Neusynchronisation der Takte über ein Startbit vor jedem Zeichen ist nicht erforderlich
Taktsignal wird entweder auf einer separaten Leitung übertragen (= zu teuer) oder aus
dem Code des Datensignals regeneriert (= Regelfall)
Taktregenerierung aus dem Datensignal erfordert eine spezielle Codierung der Daten
z. B. mittels Manchester-Code, um Daten und Takt gemeinsam auf derselben Leitung
übermitteln zu können
31
4.2.2.1
Timing-Diagramm einer synchronen Übertragung
Bit = Bit = Bit = Bit =
Zelle Zelle Zelle Zelle
1
0
1
1
0
0
1
0
0
1
0
0
Daten
Clock
(Takt)
Abtastzeitpunkte liegen stets in der Mitte der Bitzelle

Im Beispiel erfolgt das Auslesen der Datenbits bei abfallender Flanke des Taktsignals
4.2.2.2



Beispiel für synchrone Übertragung: der Universal Serial Bus (USB)
Dient zur Anbindung von Peripherie an Rechner, Tablets und Smartphones über Kupferkabel
Die neueste Version USB 3.1 mit Typ C Stecker/Buchse überträgt Daten mit 10 Gb/s
Erlaubt zusätzlich 100 W Leistung bei +5 V zu übertragen, um die Peripherie zu versorgen
32
4.2.3

USB bietet deutlich mehr Funktionen als RS232:
• Datensignale können über USB-Hubs auf der ISO-Schicht 1 an mehrere periphere Geräte sternförmig verteilt werden
• Es sind auch Hub-Kaskaden möglich, die eine baumförmige Verteilung erlauben
• USB-Geräte werden in „Klassen“ unterteilt
· Klassen unterscheiden sich u.a. bzgl. der Datenmenge pro Rahmen und den zeitlichen Abstände zwischen den Rahmen
· Die jeweilige Geräteklasse wird automatisch erkannt, was ein komplexes Protokoll
beim Einstecken eines neuen USB-Geräts erfordert
· Für jede Geräteklasse ist ein anderer USB-Gerätetreiber erforderlich
• Daten werden in Form von „Transaktionen“ übertragen
4.2.3.1

Vergleich synchrone/asynchrone Übertragung am Beispiel USB
Nachteile von USB-Geräten
Es gibt eine Vielzahl von USB-Versionen, -Kabeln, -Steckern und -Buchsen
• Der Host hat stets einen andere Buchse und damit auch einen anderen Stecker als die Peripherie
• Die einzelnen Versionen sind nur manchmal abwärts-kompatibel zueinander

Entfernung ist bei USB 3.1 mit Typ C-Stecker auf ca. 2 m Länge beschränkt => kein LAN
sondern Bus
33



USB 3.1 mit Typ C-Stecker benötigt 24-polige Kabel und Stecker/Buchsen
USB ist insgesamt komplex und damit rel. teuer
USB ist ein Sicherheitsrisiko:
• Es gibt die Möglichkeit des „Device Firmware Upgrades“, bei dem harmlose USB-Geräte
durch Hacker umprogrammiert werden können
• Es gibt in den USB-Gerätetreibern gängiger Betriebssysteme keine Firewall
4.3
Physikalische Medien zur Datenübertragung
1.) Verdrilltes Adernpaar („twisted pair“) zur Verminderung von Übersprechen auf parallel geführte, sonstige Kabel, sowie zur Elimination von Einstreuungen von diesen
Kabeln
• Dies ist die klassische Telefonverkabelung. Sie wird auch für DSL-Übertragung zur Ortsvermittlungsstelle eingesetzt
• Braucht wenig Platz, hat enge Biegeradien, ist sehr preiswert
• Datenrate bis ca. 50 Mbit/s bei VDSL
2.) Abgeschirmtes und verdrilltes Adernpaar, „shielded twisted pair“, STP
• Unempfindlich gegen Störstrahlung von außen
• Sendet auch keine Störstrahlung nach außen
• Der Schirm erlaubt einen definierten Wellenwiderstand zwischen Signalleitungen und Masse => Datenraten bis ca. 3 Gbit/s sind damit auf einer einzigen Doppelader von ca. 5 m Länge möglich
34
• Ist teurer als twisted pair
3.) Koaxialkabel: Noch störsicherer, ermöglicht noch höhere Datenraten bis ca. 100 Gbit/s
über viele Kilometer, noch teurer, in Kupferkabel-basierten Weitverkehrsnetzen verbreitet
4.) Lichtwellenleiter (Glasfaser): sehr hohe Übertragungsraten bis ca. 1 Tbit/s, geringe
Dämpfung und völlig ohne Störungsein- und -auskopplungen, aufwendige Steckverbinder, am teuersten. Die Basis aller Weitverkehrsnetze ab ca. 1985.
35
4.3.1
Aufbau eines STP-Kabels, Beispiel USB 3.0
4.3.2
Aufbau eines Koaxialkabels


50 Ohm-Koaxialkabel heißt: Wellenwiderstand zwischen Innenleiter und Schirm ist 50
Ohm
Sender u. Empfänger müssen die gleiche Impedanz wie das Kabel haben, damit es zu
keinen Reflektionen kommt und damit die LAN-Transceiver die hohe Spannung eines
Wellenbergs erhalten
36
Kupferkern (Innenleiter)
mit Leitfähigkeit >> 1
Isolierschicht (Dielektrikum) mit relativer Dielektrizitätskonstante r > 1
4.3.3


geflochtener, elektrisch leitender
Außenleiter mit Leitfähigkeit >> 1
Plastikschutzschicht
Glasfaserkabel
Theoretisches Limit: ca. 300 TeraBit/s = ungefähr die Frequenz des Lichts
Als Transmitter und Receiver werden Halbleiterbauelemente verwendet:
• Laserdiode oder Leuchtdiode als Sender, Photodiode als Empfänger

Beschränkende Faktoren für die Datenrate: Absorption und Dispersion in der Faser
37
4.3.3.1
Absorption in der Faser
Eingangssignal
4.3.3.2
Ausgangssignal
Dispersion in der Faser
Eingangssignal
Ausgangssignal
Zeit
Zeit

Die optische Kopplung zwischen zwei Fasern ist mechanisch aufwendig, da der Kern
der Faser, der das Licht leitet, nur ca. 1 m - 50 m dünn ist (Präzisionsstecker!)
4.3.4

Technologien bei Glasfasern
Es gibt Stufenindex-, Gradientenindex- und Monomode-Fasern
38
4.3.4.1
Stufenindex-Faser
Radius r
Kern
Brechungsindex n

Zeit
Mantel
Output
Signal ist
schwach und
breit
Zeit
Totalreflektionen
Der Brechungsindex springt zwischen Kern und Mantel bei ca. 50 m Innendurchmesser
4.3.4.2
Gradientenindex-Faser
Radius r
Faser
Input
Kern
Brechungsindex n

Faser
Input
Mantel
„Kontinuierliche“
Reflektionen
Zeit
Output
geringere
Dämpfung
und Verzerrung
Zeit
Der Brechungsindex des Kerns geht im Intervall 0 bis 50 m kontinuierlich in den des
Mantels über
39
4.3.4.3
Monomode-Faser
Radius r


Input
Kern
Brechungsindex n
Faser
Mantel
Output
Signal ist
am besten
Zeit
= Wellenleiter: Faserdurchmesser ist
in der Größenordnung der Wellenlänge
Zeit
Die Faser ist so dünn (ca. 1 m), dass sie in der Größenordnung der Wellenlänge liegt
Das Licht wird nur von der Faser über quantenmechanische Effekte gelenkt
40
4.3.5
Vergleich der Glasfasertechnologien
104
Übertragbare Informationsmenge (M Bit/s)
Gr
103
565
140
102
34
101
Mo
no
mo
Systemparameter:
max. Regeneratorabstand aufgrund der
Dämpfung
de
ad
fas
ie n
er
t en
in d
ex
f as
er
Si
gn
a lw
Gr
e ll
ad
en
ie n
lä n
t en
ge
in d
13
ex
00
fas
3
nm
er
(fe
85
rn
0n
es
m
In f
(n
ah
ra
ro
es
t)
In f
ra
ro
t)
2
1
0
2
6 10
20
30
40
100
200
Verstärkerabstand in km
41
600
1000
1
Gradientenfaser, LED
als Sender, 850nm
Wellenlänge
2
Gradientenfaser, Laser
als Sender, 1300nm
Wellenlänge
3
Monomodefaser, Monomode-Laser als Sender, 1300nm Wellenlänge
4.4



Modulation von Signalen
Modulation: Aufprägung von digitalen Daten oder analogen Signalen auf hochfrequente analoge Signale (=elektromagnetische Wellen)
Modem (= Modulator + Demodulator): dient zur Modulation digitaler Daten (Modulator
zum Senden; Demodulator zum Empfangen)
Es gibt 3 Modulationsarten für elektromagnetische Wellen
1.) Amplitudenmodulation (AM) => Amplitude Shift Keying (ASK) für Binärdaten
2.) Frequenzmodulation (FM) => Frequency Shift Keying (FSK) für Binärdaten
3.) Phasenmodulation (PM) => Phase Shift Keying (PSK) für Binärdaten
Signalstärke
Amplitude
Sinusschwingung
{
Zeit
Phase
Frequenz / Wellenlänge
42
4.4.1
Beispiele zu Modulationsverfahren
0
1
0
1
1
0
0
1
0
0
1
0
(a)
(b)
große/kleine
Amplitude
(c)
große/kleine
Frequenz
(d)
High = kleine
Phase = Sinus;
Low = große
Phase = Cosinus
(a) binäres Datensignal, das eine Welle moduliert
(b) Extremfall der amplitudenmodulierten Welle, Amplitude 1 ist >0, Amplitude 2 = 0
(c) Frequenzmodulierte Welle (Frequenz springt zwischen 2 Frequenzen hin und her)
(d) Phasenmodulierte Welle (Phase springt zwischen 2 Phasen hin und her)
43
4.5



Codierung von Signalen
Die analogen Signale werden in der Zeit und in der Signalhöhe diskretisiert (= quantisiert) und dann durch einen Code repräsentiert. Anstelle des Analogsignals wird der
Codewert übertragen. Dies wird als Analog/Digital-Umsetzung bezeichnet.
Im einfachsten Fall wird der Binärcode zur Darstellung des Signals verwendet; bei
Rechnernetzen wird der Binärcode allerdings nicht eingesetzt, da ungeeignet
Zur Analog/Digital-Umsetzung gibt es auch die inverse Operation, die D/A-Wandlung
(Rückkonvertierung). Ein elektronischer Baustein (Chip) kann beides. Er wird als
CODEC (Codierer/Decodierer) bezeichnet und ist in Handys und ISDN-Telefonen eingebaut.
Analogsignale
4.5.1


CODEC
Digitale PCM-Signale
CODEC
Analogsignale
Non Return to Zero Codes (NRZ-Codes)
Die NRZ-Codes bilden eine ganze Familie von Codes
Das gemeinsame Kennzeichen der NRZ-Codes ist, dass ein fester Pegel während eines
Bitintervalls herrscht. Pegelwechsel erfolgen nur an den Intervallgrenzen.
44


Non return to zero soll daran erinnern, dass der Signalpegel für die Übertragung der
„1“ innerhalb des Bitintervalls nicht auf 0 Volt zurückkehrt, sondern beim High-Pegel
bleibt
NRZ Codes sind einfach zu implementieren
4.5.1.1

NRZ-L-Code (L= Level)
Der NRZ-L-Code ist der bekannte Binärcode, wie er in jedem Rechner verwendet wird
• d.h.,: „1“ = hoher Pegel, „0“ = niedriger Pegel
4.5.1.2



NRZ-M-Code und NRZ-S-Code (M = Mark, S = Space)
NRZ-M und NRZ-S sind sog. differenzielle Codierungen
D.h., es wird nicht der absolute Spannungswert (hoher Pegel bzw. niedriger Pegel) zur
Codierung von „0“ und „1“ verwendet, sondern ein Spannungswechsel vom augenblicklichen Wert in den komplementären Wert (z.B. von hoch nach niedrig oder von
niedrig nach hoch).
NRZ-M heißt:
• zur Darstellung der „1“ wird ein Spannungswechsel vorgenommen
• Zur Darstellung der „0“ wird kein Signalwechsel vorgenommen

NRZ-S heißt:
• zur Darstellung der „0“ wird ein Spannungswechsel vorgenommen
• Zur Darstellung der „1“ wird kein Signalwechsel vorgenommen
45

Vorteile von NRZ-M und NRZ-S gegenüber NRZ-L:
• Unter Einfluss von Störungen wie z.B. Rauschen sind Signalwechsel leichter zu detektieren als absolute Signalpegel, da Wechsel nur kurz dauern, während Pegel im Wert einbrechen können
• D.h. Pegel schwanken bei Störungen, müssen aber mit einem festen Schwellwert verglichen werden, um zwischen „0“ und „1“ zu unterscheiden, was dann zu Fehlinterpretationen führt

Nachteile aller NRZ-Codes:
1.) eine stets vorhandene Gleichstromkomponente => keine Trafo- oder Kondensatorkopplung möglich => sog. „Erdschleifen“ und Störungen sind wahrscheinlich
2.) Es gibt Synchronisierungsprobleme zwischen Sender und Empfänger bei langen „0“Folgen bei NRZ-M, bzw. bei langen „1“-Folgen bei NRZ-S, da sich nichts auf der Leitung ändert
4.5.2


Biphase-Codes = Zweite Gruppe von Codes
Das Kennzeichen aller Biphase-Codes ist, dass es zwei zeitliche Abschnitte (Phasen)
in jeder Bitzelle gibt => höhere Bandbreite erforderlich
Alle Biphase-Codes haben mindestens einen und höchstens zwei Spannungswechsel
pro Bitzelle
46
4.5.2.1


Biphase-L (= Manchester-Code)
Die erste Hälfte der Bitzelle enthält die Binärdarstellung, d.h. eine hohe Spannung bei
„1“, eine niedrige Spannung bei „0“
In der 2. Hälfte der Bitzelle wechselt der Spannungswert zum Komplement
 Immer ein Signalwechsel in der Mitte des Intervalls; Je nach Bitfolge ggf. auch Signalwechsel am Ende des Intervalls


Der Signalwechsel in der Mitte wird vom Empfänger als Taktsignal für eine synchrone
Übertragung genutzt
Vor- und Nachteile von Manchester:
• Nachteil: Doppelte Baudrate bei unveränderter Bitrate gegenüber reinem Binärcode (doppelt so häufige Spannungswechsel)
• Vorteil: Takt und Daten können gleichzeitig auf demselben Kabel übertragen werden = taktsynchrone Übertragung

Wird für Ethernet verwendet
4.5.2.2



Differential Manchester-Code
Immer ein Signalwechsel in der Intervallmitte (= wie bei Manchester, die Bits werden
aber nicht explizit in der ersten Hälfte der Bitzelle kodiert)
Bei „0“ zusätzlicher Signalwechsel am Intervallbeginn. Bei „1“ passiert nichts.
Wird für Token Ring verwendet, da störungsicherer als Manchester
47
4.5.2.3


Immer ein Signalwechsel am Intervallbeginn
Bei „1“ zusätzlicher Signalwechsel in der Intervallmitte. Bei „0“ passiert nichts.
4.5.2.4




Biphase-S
Immer ein Signalwechsel am Intervallbeginn (wie Biphase-M)
bei „0“ zusätzlicher Signalwechsel in der Intervallmitte (komplementär zu Biphase-M)
4.5.2.5

Biphase-M (= Miller-Code oder FM-Code)
Modified Miller-Code (= Modified Delay „Modulation“, MFM-Code)
Signalwechsel am Ende des Intervalls, wenn nach einer Null wieder eine „0“ folgt
Bei „1“ zusätzlicher Signalwechsel in der Intervallmitte
Vorteile:
• Bandbreitebedarf ist geringer als bei Manchester oder Biphase-M
• Störsicherheit ist größer als bei Manchester, da differentieller Code

Wird für die Datenaufzeichnung bei magnetischen Medien (Festplatten, Bänder) verwendet. Bits können damit auf der Festplatte dichter gepackt werden.
4.5.2.6

Bipolar-Code (= Alternate Mark Inversion)
Verwendet drei Signalwerte: positive Spannung, Null und negative Spannung
48

„1“ wird im Wechsel durch einen positiven bzw. negativen Impuls in der 1. Hälfte des
Bitintervalls dargestellt
 „1“ ist abwechselnd eine positive Spannung und eine negative Spannung




In der 2. Hälfte kehrt die Spannung jeweils auf Null zurück
Nachteil: doppelte Baudrate
Vorteil: keine Gleichstromkomponente => Trafo- oder Kondensatorkopplung ist möglich
Wird bei ISDN verwendet
4.5.2.7



Vorteile der Biphase-Codes
Leichte Taktsynchronisierung zwischen Sender und Empfänger, weil mindestens ein
Spannungswechsel pro Bitintervall stattfindet = taktsynchrone Übertragung, d.h. Takt
kann zusammen mit den Daten in demselben Signal übertragen werden
Spannungswechsel dienen als Impulsflanke zum Triggern des Empfänger-Flipflops
Fehlererkennung ist bereits auf Ebene 1 des ISO-7-Schichten-Modells anhand des Ausbleibens eines Spannungswechsels in einer Bitzelle möglich
49
4.5.3
Graphische Beispiele bei Leitungscodes
1
0
1
1
0
0
0
1
1
0
1
NRZ-L
NRZ-L = non return to
zero-level
NRZ-M = non return to
zero-mark
NRZ-S = non return to
zero-space
NRZ-M
NRZ-S
Biphase-L
(Manchester)
Biphase-M
Biphase-S
DifferentialManchester
Modified Miller
Bipolar
50
4.6

Multiplexen von Signalen
Definition: Übertragungsweg
• physikalisch-technisches Transportsystem für Signale (z. B. Kabel)

Definition: Übertragungskanal
• Verwaltungsgröße innerhalb eines Übertragungsweges zur Übertragung des Signalstroms
einer einzigen Quelle



Auf einem Übertragungsweg können mehrere Übertragungskanäle parallel betrieben
werden
Die Aufspaltung der gesamten Übertragungskapazität eines Übertragungsweges auf
verschiedene Übertragungskanäle ist möglich und effizient
Definition: Multiplexing
• Die Aufspaltung eines Übertragungswegs in mehrere Übertragungskanäle heißt Multiplexing
• Durch Multiplexing wird es möglich, einen Übertragungsweg mehrfach zu nutzen => Effizienzsteigerung

Übertragungswege können sowohl in der Zeit als auch in der Bandbreite mehrfach genutzt werden => Frequenzmultiplex + Zeitmultiplex
51
4.6.1
Frequenzmultiplexen
a)
b)
Amplituden
Modulation
Input
Basisband
Kanal 1
c)
Output
(a) Spektren dreier Telefongespräche (3
Basisbänder)
(b) Im Spektrum verschobene Basisbänder (Breitband)
(c) Spektrum der Signale auf dem Übertragungsweg (Kabel)
verschobenes Basisband (Breitband)
1
f
0
Spektrum
f
60
64
68
72
Spektrum
Kanal 1
Kanal 2
Kanal 2
1
f
0
f
60
64
68
0
f
60
72
64
Kanal 3
1
f
300
3100
Kanal 3
0
f
60
64
68
72
52
68
72
4.6.1.1

Grundidee des Frequenzmultiplexens
Breitbandige Übertragungswege ermöglichen die Unterbringung vieler Übertragungskanäle in unterschiedlichen Frequenzbereichen (Frequenzbändern), d. h., man teilt die
verfügbare Bandbreite in eine Reihe von - nicht notwendigerweise gleich breiten - Frequenzbändern auf und ordnet jedem Frequenzband einen Übertragungskanal zu.
Frequenz
Bandbreite des
Übertragungskanals
Kanal 1
Kanal 2
Bandbreite des
Übertragungsweges
...
Kanal n
Zeit

Es gilt: Summe über alle Kanalbandbreiten  Bandbreite des Übertragungsweges
53
4.6.1.2
Prinzipielle Realisierung von Frequenzmultiplexen
Amplituden-Modulatoren
Bits
BST = Bitstrom
BST1
Amplituden-Demodulatoren
Filter f1
Träger f1
BST1
BST2
Frequenzgemisch
BST2
Bits
Filter f2
Träger f2
3 AM-modulierte
Träger f1, f2, f3 auf
einem Kabel
BST3
BST3
Träger f3
Filter f3
Hinweis: BST i = Bitstrom i, entspricht Kanal i; Träger = Sinusschwingung, die moduliert wird
54
4.6.2

Zeitmultiplexen tritt in Form des synchronen und des asynchronen Zeitmultiplexens
auf (synchronous/asynchronous Time Division Multiplexing)
4.6.3




Zeitmultiplexen
Synchrones Zeitmultiplexen
Beim synchronen Zeitmultiplexen wird die Zeit in sog. Zeitscheiben gleicher Länge eingeteilt, die auf Sender und Empfängerseite zum selben Zeitpunkt beginnen und enden
Die gesamte verfügbare Bandbreite wird für eine feste Zeit ts, der sog. Zeitscheibe, jedem Kanal zur Verfügung gestellt
Nach einer Umschaltzeit wird die Bandbreite zum nächsten Kanal weitergereicht
Nach einer Periodendauer T>ts wiederholt sich das Schema
 Pro Periode erhält jeder Kanal eine Zeitscheibe (time slot) => time sharing

Zeitmultiplex ist aufgrund der notwendigen Pufferung nur für zeitdiskrete Signale einsetzbar (bevorzugt zeit- und wertdiskrete Signale, d.h. Digitalsignale)
55
4.6.3.1
Beispiel: Telefonvermittlung- und übertragung
Frequenz
Es gilt: Summe über alle Zeitscheiben 
Periodendauer des Übertragungswegs
Bandbreite des
Übertragungswegs
Umschaltzeiten
ZeitscheiZeitscheibe K5
be K1
K1
K2
K3
K4
Periodendauer
56
K5
Zeit
4.6.3.2
Prinzipielle Realisierung von synchronem Zeitmultiplexen
Rotierender Abtaster
Bits
BST = Bitstrom
BST1
BST2
BST3
Puffer 1
Puffer 2
Puffer 3
Rotierender Verteiler
Bits
t1
t1
t2
TS1
TS3
TS2
t2
TS4
t3
t3
Puffer 1
Puffer 2
Puffer 3
BST1
BST2
BST3
• Jeder Sender i hat innerhalb einer Umlaufperiode des Abtasters eine feste Zeitscheibe (time slot) TSi. Abtaster und Verteiler rotieren im gleichen Takt und mit gleicher Phase
 Synchrones Zeitmultiplexing
• Die Zeittakt-Stabilität (Jitter) zwischen Abtaster und Verteiler ist wichtig, sonst erfolgt eine
falsche Zuordnung des Bitstroms beim Empfänger
57
4.6.4

Asynchrones Zeitmultiplexen
Hierbei wird der Übertragungsweg dem Sender nicht fest über eine Zeitscheibe, sondern nach Bedarf zugeteilt
 Anforderungsbasierter Medienzugang, Beispiel Ethernet




Asynchrones Zeitmultiplex wird auch als statistisches Zeitmultiplexing (STDM = statistical time division multiplexing) bezeichnet, weil a priori nicht klar ist, wer wann senden will
Der Empfänger kann aus der Zeitlage der Zeitscheiben nicht mehr die Herkunft der Daten erkennen
Es ist für jeden Datenrahmen eine Verwaltungszusatzinformation in Form eines sog.
Vorspanns (Headers) bestehend aus Zieladresse, Kanalkennzahl u.s.w. erforderlich
Man spricht nicht mehr von Zeitscheiben sondern von (Daten)rahmen
4.6.4.1
Aufbau der Datenrahmen bei asynchronem Zeitmultiplex
Zeit
Header
Inhalt
1. Datenblock (Rahmen)
...
...
Header
Inhalt
i. Datenblock
58
Header
Inhalt
(i+1). Datenblock
4.6.5
Vergleich zwischen synchronem und asynchronem Zeitmultiplexen
A2
synchrones Zeit-Multiplexing
A1
2
3
1
Bitströme 1 - 3
C2 B1 leer C1 leer A2 leer leer A1
B1
Multiplexer
C2
Ausgang
C1
C2 B1 C1
asynchrones Zeit-Multiplexing
= effizienter
Eintreffende Datenrahmen





A2 A1
Beim synchronen Zeitmultiplex ist die Zeitscheibe eines Kanals, auf dem nicht gesendet wird, verloren!
Vorteil von asynchrones Zeitmultiplexing: nützt den Übertragungsweg effizienter
Nachteil von asynchronem Zeitmultiplexing: Wenn sehr viele gleichzeitig senden,
kommt ein Sender möglicherweise nie zum Senden => für Echtzeit ungeeignet
Synchrones Zeitmultiplexing: für Echtzeit geeignet
Asynchrones Zeitmultiplexing wird häufig bei LANs eingesetzt, u.a. auch im Ethernet
59
4.6.6





Mobilfunknetz als Beispiel für gleichzeitiges Zeit- und Frequenzmultiplexen
GSM = Global System for Mobile Communication, UMTS = Universal Mobile Telephone
system, LTE = Long Term Evolution
Bei GSM/UMTS/LTE wird gleichzeitig synchrones Zeit- und Frequenzmultiplex eingesetzt, um für eine a priori nicht bekannte Zahl von Mobiltelefonen die niedrige Bandbreite des Funk-Übertragungsweges effizienter zu nutzen
Beispiel GSM: Der zur Verfügung stehende Frequenzbereich ist 890,2-914,8 MHz für die
uplink-Kommunikation (vom Mobiltelefon zur Basisstation) und 935,2-959,8 MHz für die
downlink-Kommunikation (von der Basisstation zum Mobiltelefon)
Damit werden pro Basisstation 124 Kanäle für up- und downlink durch Frequenzmultiplex realisiert => Die Bandbreite eines Kanals beträgt 200 KHz
Gleichzeitig wird jeder Kanal in 8 Zeitscheiben zu je 577 s unterteilt
 im Prinzip könnten von jeder Basisstation bis zu 124*8 = 992 Mobiltelefone simultan
bedient werden

Hinzu kommt: jede Basisstation muss auf anderen Frequenzen innerhalb des zur Verfügung stehende Frequenzbereichs senden als die Nachbarbasisstation, damit Störungen zwischen den Basisstationen vermieden werden
 => Aufteilung der Frequenzbereiche in räumliche Bezirke („Zellen“), in deren Mitte
jeweils eine Basisstation steht, so dass sich keine Frequenzen zwischen benachbarten Basisstationen überlappen
60


Da sich die Funkwellen kugelförmig ausbreiten, ist das Verbreitungsgebiet einer Zelle
auf dem Boden ein Kreis
Der Kreis wird mittels eines regelmäßigen Sechsecks approximiert
 Bienenwabenstruktur der Funkzellen
B
G
a) homogene Zellgröße auf
dem flachen Land (gleiche
Buchstaben bezeichnen gleiche Frequenzen)
b) kleinere Zellen für Städte in
der Mitte
C
A
F
B
G
A
D
E
C
F
B
G
D
E
C
A
a)
F
D
b)
E
5 Sicherungsschicht (ISO-Schicht 2)


Im ISO-Modell ist die Sicherungsschicht zwischen je zwei benachbarten Rechnern relevant
Sie leistet mehr als nur die Daten zu sichern
61
5.1



Verdeckung (= Unsichtbarmachung) von Übertragungsfehlern zwischen direkt benachbarten Rechnern (keine Zwischenknoten), bestehend aus den Teilschritten Erkennung
und Behebung
Flusssteuerung (flow control) des Datenverkehrs zum Nachbarrechner
Bei LANs mit mehreren Sendern auf einem Übertragungsmedium: Steuerung des Zugangs zum gemeinsam genutzten Medium (= Medium Access Control, MAC)
5.2


Aufgaben der Sicherungsschicht
Ursachen von Übertragungsfehlern
Fehler werden häufig durch andere elektrische und elektronische Geräte verursacht
Diese Störungen haben physikalische Gründe:
1.) „Weißes Rauschen“ = thermisches Rauschen von Leitungen und Bauteilen aufgrund
der Brownschen Molekularbewegung
• hohe Temperatur, z.B. aufgrund der Abwärme von Geräten => starkes Rauschen
• Entscheidend für die Signalgüte ist das Verhältnis von Signalspannung/Rauschspannung
2.) Dämpfung des Nutzsignals
• Ist abhängig von der Frequenz des Nutzsignals: hohe Frequenz => hohe Dämpfung
3.) Verzerrung des Nutzsignals
62
• Ist abhängig von der Frequenz und von der Amplitude des Nutzsignals: hohe Frequenz
oder hohe Amplitude => hohe Verzerrung
4.) Übersprechen auf Leitungen
• verursacht durch Induktion, kapazitive Kopplung und elektromagnetische Wellen
• Induktion (Magnetfelder): schnelle Feldänderungen => hohe Störspannung
• Kapazitive Kopplung (elektrische Felder): lange, parallele Leitungen => hohe Störspannung
• Elektromagnetische Wellen => hohe Frequenz => hohe Störspannung
5.) Potentialunterschiede in der Masseleitung zwischen Sender und Empfänger
• Verursacht z.B. aufgrund von sog. Erdschleifen
• Eine Erdschleife kommt über die sog. „Erdung“ ins Spiel, d.h. über die Schutzerde an metallischen Gerätesteckern, die der VDE vorschreibt.
• Die Erdschleife wird geschlossen, wenn an den Gerätesteckern von Sender und Empfänger aus Unkenntnis die Signalerden mit Schutzerde verbunden werden
• Durch das Verbinden von Signal- mit Schutzerde entsteht parallel zur Masseleitung des Signals eine zweite Masseleitung über die Schutzerde, und die Erdschleife ist geschlossen
• Über die geschlossene Erdschleife können erhebliche Ströme (sog. Ausgleichsströme)
fliessen, die wiederum einen Potentialunterschied zwischen der Signalerde von Sender
und Empfänger bewirken. Dieser Potentialunterschied verursacht Störungen.
• Es ist deshalb verboten, Signalerde mit Schutzerde zu verbinden!
63
5.3




Fehlercharakteristik bei Übertragungsfehlern
Fehler kommen oft nach einer langen Pause und dann kurz aufeinander folgend: sog.
Bursts auch Fehlerbündel genannt
Beispiel: bei einem Burst von 10 ms und einem 1,5 Mbit/s-DSL-Modem entspricht dies
15 000 falschen Bits
Vorteil von Bursts: Nur wenige Blöcke enthalten Fehler
Nachteil: Schwer zu korrigieren, da i.d.R. viele Fehler auf einmal auftreten
 Wiederholung eines ganzen Datenrahmens wegen Burst-artigem Fehlerverhalten
5.4





Fehlererkennung
Zur Fehlererkennung wird die Nutzinformation durch Zusatzinformation ergänzt
Diese wird als Prüfbit oder als Prüfsumme zusammen mit den Nutzdaten übertragen
Je nach Umfang der Redundanz und verwendetem Code kann eine gewisse Anzahl an
Fehlern sogar korrigiert werden
Fehlerkorrektur wird bei Rechnernetzen allerdings nicht eingesetzt, statt dessen wird
die Datenübertragung wiederholt
Der Zusammenhang zwischen der Fehlerhäufigkeit der Übertragungsstrecke und der
gewünschten Wahrscheinlichkeit der Entdeckung bzw. Korrektur eines Fehlers wird in
der Nachrichtentechnik, einem Teilgebiet der Elektrotechnik, behandelt
64

Die Nachrichtentechnik kann erklären, wie groß bei n Nutzbits der Umfang der notwendigen Redundanz sein muss, um i Bitfehler erkennen und j<i korrigieren zu können
5.4.1
Fehlererkennung durch Paritätsbit
Bsp. 1
ein
ASCIIZeichen
Bsp. 2
Bsp. 3
Bit 1
0
1
1
Bit 2
1
0
1
Bit 3
0
0
0
Bit 4
0
1
0
Bit 5
0
0
0
Bit 6
0
1
0
Bit 7
1
1
1
0
0
1
Paritätsbit
gerade
Parität
1
1
65
0
ungerade











Das Paritätsbit ergänzt die Anzahl der Einsen im Zeichen (= „Quersumme“), so dass sie
gerade/ungerade wird (gerade Parität = gerade Zahl von Einsen)
Berechnung erfolgt so, dass die gesamten Quersumme inkl. Parity gerade oder ungerade wird
Bei einer asynchronen Übertragung (V.24) wird für jedes einzelne Zeichen ein Prüfbit
verwendet
Nachteil: Es kann nur ein Fehler erkannt und keiner korrigiert werden
Genauer: es kann eine ungerade Zahl von Bitfehlern erkannt werden
Auskunft, wie viele falsche Bits erkannt bzw. wie viele korrigiert werden können, gibt
die sog. Hamming-Distanz H
Zwei Binärworte A, B derselben Länge haben die Hamming-Distanz H, wenn sie sich in
H Bits unterscheiden
Die Hamming-Distanz definiert eine Metrik in einem diskreten n-dimensionalen Punktraum, in dem jedes Binärwort der Länge n einen Punkt darstellt
Wird im Punktraum um jedes Nutzwort A ein Sicherheitsabstand H bis zu einem beliebigen Nachbarn B geschaffen, können H-1 falsche Bits erkannt und H/2 korrigiert werden
Alle Bitkombinationen innerhalb des Sicherheitsabstandes H sind bis auf das Wort A
selbst verboten
Erkennt der Empfänger eine verbotene Bitkombination, dann weiß er, dass ein Fehler
vorliegt
66


Erkennt der Empfänger die erlaubte Bitkombination A, dann liegt mit hoher Wahrscheinlichkeit kein Fehler vor
Eine Methode zur Erzielung einer Hamming-Distanz H zwischen zwei Worten A, B ist
der Cyclic Redundancy Check (CRC)
5.4.2

Fehlererkennung durch Prüfsumme (Cycling Redundancy Check, CRC)
Das Prinzip für Cycling Redundancy Check lautet:
1.) Betrachte einen Bitstring als die Kurzdarstellung eines Polynoms vom Grad n in der
Variablen x, bei dem nur die Koeffizienten 0 und 1 aufgeschrieben werden
• Beispiel: 11001 sei ein Polynom in x vom Grad 4 gemäß: x4 + x3 + x0
2.) Wähle ein sog. Generatorpolynom G(x) vom Grad g in Form eines zweiten Bitstrings
• Einige Generatorpolynome sind bereits fertig und normiert, so dass die Wahl leicht fällt
3.) Hänge an die Nachricht M(x) eine CRC-Prüfsumme so geschickt an, dass das daraus
entstehende neue Polynom T(x) aus Nachricht plus Prüfsumme durch G(x) teilbar ist.
4.) Übertrage T(x) und prüfe beim Empfänger das empfangene T(x) auf Teilbarkeit durch
G(x)
5.) Die Nachricht ist mit hoher Wahrscheinlichkeit dann korrekt übertragen, wenn die
Teilbarkeit gegeben ist
67
5.4.2.1
Algorithmus für die CRC-Berechnung
1.) Es sei die Nachricht M und das Generatorpolynom G(x) vom Grad g gegeben. Dann
hänge man g Nullen an M an, erzeuge also M(x)00...0
2.) Teile M(x)00...0 durch G(x) gemäß Division modulo 2, d.h. ohne Borgen, ohne Übertrag. (Diese spezielle Arithmetik ist Teil der sog. Galouis-Feldtheorie)
• Bei der Division kann ein Rest R entstehen. Falls R>0, dann Schritt 3.) sonst Schritt 4.)
3.) Subtrahiere den Rest von M(x)00...0 gemäß modulo 2 (= ohne Borgen, ohne Übertrag)
4.) Das Ergebnis ist T(x), d.h. die zu transferierende Nachricht samt Prüfsumme
• Die g least significand bits von T(x) sind die CRC-Prüfsumme
• T(x) ist garantiert durch G(x) teilbar, da ein etwaiger Rest vorher subtrahiert wurde.
5.) Der Empfänger teilt das empfangene T(x) durch G(x)
6.) Gibt es keinen Rest (R=0), ist T(x) mit hoher Wahrscheinlichkeit fehlerfrei übertragen
worden
68
5.4.2.2
Erstes Beispiel für CRC-Berechnung
Rahmen: 1 1 0 1 0 1 1 0 1 1 Generator: 1 0 0 1 1 => Grad g = 4
Nachrichten nach dem Anhängen von 4 Nullbits: 1 1 0 1 0 1 1 0 1 1 0 0 0 0, dann teilen:
1 1
-1 0
’’ 1
-1
’’
0
0
0
0
0
-0
’’
1
1
0
0
0
0
0
-0
’’
0 1 1 0 1 1 0 0 0 0 : 1 0 0 1 1 = 1 1 0 0 0 0 1 0 1 0 mit Rest 1 1 1 0
1
kein Borgen!
1 1
Daraus:
1 1
11010110110000-1110=11010110111110
0 0 1
0 0 0
gesendeter Rahmen
0 0 1 0
Nutzdaten
CRC-Prüfsumme
0 0 0 0
0 0 1 0 1
-0 0 0 0 0
Wichtig:
’’0 1 0 1 1
1.) Addition ohne Übertrag ist hier wie Subtraktion ohne
-0 0 0 0 0
Borgen d.h. diese spezielle Addition ist mit dieser spezi’’ 1 0 1 1 0
ellen Subtraktion identisch! Beides wiederum ist mit der
-1 0 0 1 1
bitweisen EXOR-Operation identisch (gemäß algebrai’’ 0 1 0 1 0
scher Feldtheorie von Galois)
-0 0 0 0 0
’’1 0 1 0 0
2.) Subtraktion von Dividend und Divisior erfolgt bereits
- 1 0 0 1 1
dann, wenn Dividend und Divisor gleich viele Stellen ha’’ 0 1 1 1 0
ben, nicht erst wenn Dividend größer oder gleich Divisor
-0 0 0 0 0
ist, wie sonst üblich. Eine Null als MSB zählt dabei nicht
Rest:
’’ 1 1 1 0
als Stelle!
69
5.4.2.3
Zweites Beispiel für CRC-Berechnung
Rahmen: 1 0 0 1 1 0 0 1
1 0 0 1
-1 0 1 0
’’ 0 1 1
-0 0 0
’’ 1 1
- 1 0
’’ 1
- 1
’’
Rest:
1
1
0
0
0
1
1
0
1
-1
’’
Generator: 1 0 1 0 1 => g=4, also: 1 0 0 1 1 0 0 1 0 0 0 0
0 0 1 0 0 0 0 : 1 0 1 0 1 = 1 0 1 1 1 1 0 1 mit Rest 1001
0
0
0 0
0 1
0 1
1 0
1 1
0 1
1 0
-1 0
’’ 0
-0
’’
gesendeter Rahmen: 1 0 0 1 1 0 0 1 0 0 0 0 - 1 0 0 1 =
1 0 0 1 1 0 0 1 1 0 0 1
1
1
0
0
0
1
1
0
1
-1
’’
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0 0
0 1
0 1
Der Empfänger
1 0 0 1 1 0 0
-1 0 1 0 1
’’ 0 1 1 0 0
-0 0 0 0 0
’’ 1 1 0 0 0
- 1 0 1 0 1
’’ 1 1 0 1
-1 0 1 0
’’ 1 1 1
-1 0 1
’’ 1 0
-1 0
’’ 0
-0
’’
Rest:
70
berechnet nach der Übertragung:
1 1 0 0 1 : 1 0 1 0 1 = 1 0 1 1 1 1 0 1
1
1
0
0
0
1
1
0
1
-1
’’
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0 1
0 1
0 0 = O.K.
5.4.2.4
Beispiele für CRC-Generatorpolynome

CRC-16 =x16 + x15 + x2 + 1 (ISO)

CRC-CCITT =x16 + x12 + x5 + 1
Beide werden für Datenübertragung benutzt, die Regel sind aber heutzutage 32 Bit

5.4.2.5

Erkannt werden:
•
•
•
•
alle einfachen und zweifachen Bitfehler
alle Fehler mit einer ungeraden Bitzahl
alle Fehler, die direkt hintereinander auftreten (= Bursts), aber nur mit einer Länge < 16 Bit
99,998% aller längeren Bursts mit > 16 fehlerhaften Bit direkt hintereinander
5.4.2.6

Implementierung der CRC-Berechnung
CRC lässt sich sehr einfach in Hardware mit Hilfe eines Schieberegisters und der bitweisen XOR-Funktion implementieren
5.5

Potential der Fehlererkennung durch CRC-16- und CRC-CCITT-Polynome
Bit Stuffing und Rahmenbegrenzer
Zur Anwendung von fehlererkennenden und fehlerkorrigierenden Codes muss der Datenstrom in einzelne Abschnitte unterteilt werden => „Rahmen“ (frames) bzw. Pakete
ab ISO Schicht 3
71

Problem: Wie kann man den Rahmenanfang im Bitstrom erkennen, wenn jedes beliebige Bitmuster in den Nutzdaten vorkommen kann?
 Bit Stuffing (Bitstopfen) zur Kennzeichnung des Rahmenanfangs




Als Kennzeichnung wählt man z.B. 01111110 (= 6 Einsen hintereinander). Der Sender
fügt nach fünf Einsen im Nutzdatenstrom eine 0 ein.
Er fügt keine 0 ein, wenn es sich um den Rahmenanfang handelt.
Wenn der Empfänger nach fünf Einsen eine Null sieht, entfernt er diese aus dem Datenstrom.
Wenn er keine 0 sieht, weiß er, dass es sich um einen Rahmenanfang und nicht um
Nutzdaten handelt.
5.5.1
Beispiel für Nutzdatentransfer mit 6 Einsen am Stück
Sender
Leitung
Empfänger
011111
0111110
011111
101011111
1010111110
101011111
72
0101
0101
0101
5.5.2
Weitere Beispiele für Bit Stuffing
0
1
2
3
4
5
6
7
Kennzeichnung des Rahmenanfangs
Übertragung von 6 Einsen im
Nutzdatenstrom:
1
eingeschoben
Übertragung von 5 Einsen einer Null und einer Eins:
0
1
0
0
eingeschoben
Übertragung von 5 Einsen
und zwei Nullen:
eingeschoben
 Sechs Einsen hintereinander kann es auf der Leitung nur am Rahmenanfang geben
73
5.5.3
Realisierung des Bitstopfens
Empfangen von Nutzdaten
Senden von Nutzdaten
(Kein Rahmenanfang)
(Ereignis: eintreffendes Bit)
Sender hat 6 Zustände
Empfänger hat 8 Zustände (inkl. Fehlerzustand)
0/0
Start
A
0/0
0/0
0/0
Drei Einsen
gekommen
1/1
0/0
Vier Einsen
gekommen
E
1/1
Fünf Einsen 1/1
gekommen
und 0 eingefügt
Notation: e/a
e = Eingabe
a = Ausgabe
1/1
1/10
F
Realisierung über endliche Automaten für Sender und Empfänger
D
1/1
E
1/1
C
1/1
0/0
1/1
0/0
Zwei Einsen
gekommen
D
Start
B
1/1
0/0
Ersetze die 5.
Eins durch 10
0/0
Eine Eins
gekommen
C
1/1
A
1/1
B
0/0
0/0
F
0/0
eingefügte G
0 wurde entfernt
0/
1/1
Ersetze 10 durch
1, wenn 4 Einsen
vorausgegangen
sind.
H Fehlerzustand: Rahmenanfang in den Nutzdaten
74
5.6
Typisches Rahmenformat der Schicht 2
Zeit
Flag, z.B.:
01111110
Target
Address
Source
Address
Control
(Steuerung)
0,1, 2,...Data
Bytes
Checksum
(CRC)
Rahmen-Kennzeichner
Rahmen-Kennzeichner (frame delimiter)


Flag = „Flagge“ = Rahmenkennzeichnung mittels Bit Stuffing
Rahmenbegrenzer am Paketende kann entfallen, wenn die Rahmenlänge bekannt ist,
oder wenn nächster Rahmen unmittelbar nachfolgt
5.6.1



Flag
01111110
Sprachregelung bei Schicht 1, 2 und 3
Auf der Schicht 1 spricht man von Bitstrom
Auf der Schicht 2 spricht man von Rahmen
Auf allen Schichten 3 spricht man von Paket
5.6.2
Das Steuerfeld eines ISO-Schicht 2-Rahmens („Control“)
Hinweis: to control: steuern; to check: kontrollieren; feed-back control: regeln
75

Im Steuerfeld eines ISO-Schicht 2-Rahmens steht die Rahmenlänge, sowie ggf. eine
sog. Empfangsbestätigung (Acknowledge) oder eine Rahmen-Sequenznummer
Hinweis: Acknowledgement = Anerkennung, Bestätigung, Quittung





Im Falle von Ethernet steht im Steuerfeld die Rahmenlänge aber kein Acknowledge,
bzw. keine Sequenznummer
Im Internet wird deshalb die Funktion von Acknowledges bzw. Sequenznummern
durch weitere Steuerfelder in Paketen der Schichten 3 und 4 nachgeahmt
D.h., im Internet tauchen Acknowledges bzw. Sequenznummern erst auf den Schichten
3 bzw. 4 auf und haben dort dieselbe Funktion wie in ISO-Schicht 2-Rahmen
Die Rahmenlänge wird bei variabel langen Rahmen vom Empfänger der Schicht 2 stets
benötigt, um zu wissen, wo die Prüfsumme anfängt bzw. der Rahmen endet
Schicht 2-Acknowledges, sofern vorhanden, werden vom Empfänger zur Quittierung
korrekt erhaltener Rahmen, sowie zur Flusssteuerung (flow control) zwischen benachbarten Rechnern benutzt
Hinweis: Flusssteuerung heißt: Sind die letzten Blöcke zu schnell gekommen? Falls ja, bremst der
Empfänger den Sender.

Schicht 2-Sequenznummern, sofern vorhanden, werden benutzt zur:
1.) Erkennung doppelt bzw. mehrfach gesendeter Datenrahmen
2.) Zur Sicherstellung der korrekten Rahmenreihenfolge, sowie ebenfalls zur Flusssteuerung
76
5.7



Bestätigungen (Acknowledges)
Für jedes Datenpaket vom Sender zum Empfänger wird eine Bestätigung in Gegenrichtung geschickt, sofern das Datenpaket unversehrt empfangen wurde
Wird das Paket nicht empfangen oder fehlerhaft empfangen, erhält der Sender keine
Bestätigung => der Sender merkt dies anhand einer Zeitschranke (time out)
Zwei Fälle müssen dabei unterschieden werden: a) wenn das Paket nicht empfangen
wurde b) wenn die Bestätigung verloren ging
5.7.1
Zwei Fälle von Datenverlust
Sender
Empfänger
Sender
Empfänger
AC
Paketverlust
Hinrichtung
K
Paketverlust
Rückrichtung
1. Verlust eines Datenblocks:
2. Verlust einer Quittung:
- Senke wartet auf Daten
- Quelle wartet auf Bestätigung
- Quelle wartet auf Bestätigung - Senke wartet auf neue Daten
77




Problem mit Acknowledges: Ohne Überwachung einer Zeitobergrenze würde der Sender in beiden Fällen beliebig lange auf das Acknowledge warten
Lösung: Einführung einer Zeitschranke (Timeout) beim Sender
Neues Problem: welchen Wert soll die Zeitschranke haben?
Für den Time Out-Wert gibt es keine generelle Lösung!
5.7.2
Bestätigung mit Zeitschranke (timeout) auf der Senderseite
Sender
Empfänger
Zeitüberwachung
Bl
oc
Time- benötigte
Zeit
outZeit
k
K
AC
Sender
Empfänger
Zeitüberen
wachung B
tw
l oc
ed
k
er
TimeoutZeit
Aktivierung
des Timouts
er
od
K
AC
(1) Beispiel für eine fehlerfreie Übertragung
(2) Beispiel für das Erkennen eines
Nachrichtenverlustes durch Ablauf
der Zeitschranke
de
Bl rsel
oc be
k
(1)
K
AC
(2)
rechtzeitig

Weiteres Problem: Der Rahmen i wird 2x fehlerfrei übertragen
78


Gibt der Empfänger den Block i an die nächst höhere Schicht 2x weiter?
Daraus entstünde ein Duplikat, das zu einem Fehler führen würde
 Lösung: Einführung von Sequenznummern
5.7.3

Bestätigung mit Zeitschranke und Sequenznummern auf der Sender- und Empfängerseite
Aufgaben von Sequenznummern:
1.) Erkennung von Duplikaten
• bei einer unerwünschten Verdopplung des Rahmens bleibt die Sequenznummer gleich
2.) Quittieren von mehreren Rahmen auf ein Mal (Sammelquittung)
3.) Zur Flusssteuerung zwischen benachbarten Rechnern

Im Internet wird eine Flusssteuerung nur von TCP vorgenommen

Dazu benützt TCP keinen eigenen Mechanismus
Vielmehr werden Sequenznummern zweckentfremdet, indem das Absenden etwas verzögert wird (delayed acknowledge)

 Sequenznummern werden sowohl zur Fehlerkontrolle als auch zur Flusssteuerung
verwendet
79
5.7.3.1
Beispiel für das Erkennen von Duplikaten
Sender
Empfänger
Bl
oc
ki
-1
verarbeiten
Zurückgeschickte Sequenznummern, i-1, i, i+1, ... dienen zugleich
als Bestätigung.
K
AC
Zeitüberwachung
Bl
oc
i-1
ki
K
AC
timeout
Bl
oc
= weiterleiten zur Schicht 3
(Vermittlungsschicht)
i
verarbeiten
= weiterleiten zur Schicht 3
(Vermittlungsschicht)
ki
wegwerfen,
K
AC
80
i
weil schon einmal empfangen
5.7.3.2
Beispiel für eine Sammelquittung
Quelle
(Sender)
0
I(0)
1
verarbeiten
I(1)
2
I(2)
I(3)
3
4
)
B( 1
verarbeiten
t
ou
e
tim 2
3
4
5
wegwerfen,
weil I(3) fehlt
wegwerfen,
weil I(3) fehlt
wegwerfen,
weil I(2) schon da
I(5)
I(2)
I(3)
Situation: I(2) wird zu
spät bestätigt und I(3)
geht verloren. Deshalb
wird I(2), I(3), I(4) und I(5)
zwei Mal gesendet => ineffizient im Fehlerfall
verarbeiten
I(4)
)
B(2 I(
5)
)
B(4
verarbeiten
verarbeiten
)
B(5

verarbeiten
I(4)
5
Zeitüberwachung
Senke
(Empfänger)
I = Informationsblock
B = Bestätigung
Zurückgeschickte Sequenznummer B (1) dient als Bestätigung für die Blöcke 0 und 1
81
5.8


Nachdem ein Übertragungsfehler durch CRC-Prüfung oder Timeout erkannt wurde,
sollte der betreffende Rahmen neu geschickt werden, sofern nicht Echtzeitbedingungen herrschen (z.B. aufgrund von Video-Streaming in web TV)
Für die Rahmenwiederholung gibt es verschiedene Strategien:
5.8.1


Fehlererbehebung durch Rahmenwiederholung
Fehlerbehebung mit „go-back-n“ und ohne Pufferung beim Empfänger
Im Falle eines Fehlers (CRC falsch) bleibt das Ack aus
Nach Ablauf des Timers überträgt der Sender sämtliche Rahmen ab dem unbestätigten
Rahmen neu.
alle Rahmen ab dem Fehler
noch einmal übertragen
Timeout-Intervall
Sender 0
1
2
3
4
5
6
7
8
2
3
4
0
1
F
6
7
8
9
10
5
6
2
4
3
k ck ck ck ck
c
A
A
A
A
A
1
0
k ck
c
A
A
Empfänger
5
V
V
V
V
V
V
2
3
4
5
Fehler
Von der Sicherungsschicht
verworfene Rahmen
82
Zeit
6
7
8





Fehler werden empfängerseitig anhand eines falschen CRCs festgestellt und senderseitig anhand des Timeouts
Jeder Rahmen muss einzeln quittiert werden
Keine Sammelquittung möglich, da keine Pufferung
Vorteil: Einsparen von Pufferplatz. Ist heutzutage nicht mehr wichtig.
Nachteil: Ineffizient im Fehlerfall, da alle Rahmen des Timeout-Intervalls neu übertragen werden müssen. Ist auch heute noch ein Nachteil.
83
5.8.2
Fehlerbehebung mit „go-back-n“ und mit Pufferung beim Empfänger
Für Rahmen 6 kommt Ack 8 zu spät, aber
Rahmen 7 und 8 werden nicht zweimal
übertragen
Timeout-Intervall
Sender 0
1
2
3
4
5
6
7
8
2
3
4
1
0
k ck
c
A
A
Empfänger
0
1
F
k
Ac
3
4
5
6
7
8
2
Fehler
Zeit







5
Von der Sicherungsschicht
gepuffert (gespeichert)
V
6
9
10 11 12
8
k
Ac
V
V
V
9
9
10
Nachricht 2-8 an die
Vermittlungsschicht
übergeben
Im Falle eines Fehlers bleibt das Ack aus
Der Empfänger puffert alle danach korrekt erhaltenen Rahmen
Nach Ablauf des Timers beginnt der Sender, alle Rahmen ab dem Unbestätigten neu zu
übertragen, bis er eine Sammelquittung vom Empfänger erhält
Der Sender fährt danach mit dem ersten noch nicht übertragenen Rahmen fort
Die erneute Übertragung von 7 und 8 wird durch Sammelacknowledge vermieden
Sammelquittungen haben den Vorteil höherer Ausnutzung der Bandbreite
Anwendung: TCP
84
5.8.3
Fehlerbehebung durch „selective repeat“
Timeout-Intervall
Sender 0
1
2
3
A
Empfänger
0
ck
1
4
0
A
ck
F
Fehler
5
6
1
A
3
ck
4
3
7






2
9
10 11 12 13 14
2
9
10 11
4
5
6
7
8
k
k
k
k
k
k
k
k
k
Ac Ac Ac Ac Ac Ac Ac Ac Ac
5
6
7
8
2
Von der Sicherungsschicht
gepuffert
Zeit

8
9
10 11 12
Rahmen 2-8 werden an die
Vermittlungsschicht
übergeben => Latenz durch Fehlerkorrektur
Der Empfänger bestätigt jeden korrekt erhaltenen Rahmen sofort (keine Sammelquittung)
Er puffert alle korrekt erhaltenen Rahmen, auch nach einem fehlerhaften Rahmen
Bei Ablauf des Timers überträgt der Sender nur den nicht bestätigten Rahmen neu
Jedes fehlerfreie Paket wird bestätigt
Nachteil: viele Bestätigungen => schlechte Ausnutzung der Bandbreite in Gegenrichtung
Vorteil: keine unnötige Wiederholung korrekt empfangener Pakete => gute Ausnutzung
der Bandbreite zwischen Sender und Empfänger
Da Acknowledges viel kürzer als Nutzdaten sind, lohnt sich dieses Verfahren
85

Allen Verfahren gemeinsam ist eine erhöhte Latenz bei der Datenübergabe im Fehlerfall
5.8.4



Aktive Fehlerkontrolle
Bisher: passive Fehlerkontrolle
Passiv heißt nicht-Senden von (positiven) Acknowledges
Nachteile der passiven Fehlerkontrolle:
• Keine Unterscheidung zwischen fehlenden und fehlerhaften Blöcken
• Zeitverzögerung bis zur Wiederholung des Sendevorgangs = unnötige Wartezeit beim Sender im Fehlerfall


Milderung des Latenzproblems durch aktive Fehlerüberwachung
Aktive Fehlerüberwachung geschieht durch Versenden von negativen Quittungen
(NACKs)
86
S
E
Info
rm
atio
n
Paketempfang ohne Übertragungsfehler
 Senden von ACK
ung
g
i
t
ä
t
Bes CK
A
S
Info
r
on mati-
K
NAC
(Wi
ede
rh o
lung
)

E
Paket wird mit Übertragungsfehler empfangen
 Senden von NACK
 Datum wird vor Ablauf
des Timeout noch einmal
gesendet = schneller
Wenn ein Rahmen unterwegs verloren geht, enthält der Sender weder ACK noch NACK
 Timeout des Senders wird aktiv
87
5.9




Die Flusssteuerung soll verhindern, dass der Sender den Empfänger mit Daten überschwemmt, d. h. zu schnell sendet => der Datenfluss wird gebremst (=gesteuert)
Für die Flusssteuerung wird oft kein eigener Mechanismus eingesetzt
Vielmehr wird die Fehlererkennung über Acknowledges ocer über Sequenznummern
„zweckentfremdet“
Acknowledges bzw. Sequenznummern dienen dann zur Datensicherung und zur Flusssteuerung
5.9.1





Flusssteuerung
Stop & Wait-Protokoll
Zur Flusssteuerung kann der Empfänger sein Acknowledge beim Empfang jedes Rahmens etwas verzögern
Dadurch sinkt der Datendurchsatz insgesamt
Die Verögerung heißt Delayed Acknowledge und das daraus resultierende Protokoll
„Stop & Wait-Protokoll“
Der Wert der Verögerung darf den Time Out-Wert des Senders für die Ankunft des Acknowledge nicht überschreiten
Andernfalls wiederholt der Sender den Datenrahmen und der Empfänger erhält noch
mehr Daten (=gegenteiliger Effekt)
88
5.9.2


Wenn Sequenznummern als Ersatz für Acknowledges verwendet werden, dann kann
der Empfänger zur Flusssteuerung das Absenden einer Sequenznummer etwas verzögern
Der Effekt und die Konsequenzen sind dieselben wie beim Stop & Wait-Protokoll
5.9.3



Flusssteuerung im Internet
Im Internet wird eine Flusssteuerung nur von TCP vorgenommen, aber nicht auf der Sicherungsschicht
Dazu benützt TCP keinen eigenen Mechanismus, vielmehr werden Sequenznummern
zweckentfremdet, indem deren Absenden etwas verzögert wird (delayed acknowledge)
D.h., bei TCP erfolgt die Nachbildung eines Stop & Wait-Protokoll im TCP-Schiebefenster-Protokoll unter Beachtung dessen, was die senderseitige Time Out-Überwachung
erlaubt
5.9.4

Sequenznummern als Ersatz für Acknowledges
Stop-and-Wait-Protokoll zur Flusssteuerung zwischen benachbarten Rechnern
Vorbedingungen für Stop-and-Wait-Protokoll:
1.) Überwiegend fehlerfreie Übertragung zwischen Sender und Empfänger
2.) Beschränkte Anzahl von Puffern (z.B. genau ein Puffer bei Sender und Empfänger)
89
3.) Verarbeitungsgeschwindigkeiten unterscheiden sich (z. B. schneller Großrechner
und langsames Handy)
4.) Timeout steht auf ausreichend hohem Wert
 Positives Acknowledges kann als einfache Flusssteuerung verwendet werden

Nachteil: es kann nie mehr als ein Datenrahmen (ab L3 Datenpaket )unterwegs sein
 Der Sender muss auf das Acknowledge warten = Stop & Wait-Protokoll = sehr langsame Datenübertragung
5.9.5





Flusssteuerung mit Schiebefenster
Schiebefenster-Protokoll (Sliding Window) vermeidet Nachteile der vorangegangenen
Protokolle und ist gleichzeitig effizient bei der Bandbreiteausnutzung
Sliding Window ist Stand der Technik und wird bei TCP eingesetzt
Bei Ethernet gibt es allerdings kein Schiebefenster, deshalb gilt das unten gesagte
beim Internet nur für Schicht 4 mit TCP als Protokoll
Sliding Window beruht bei Sender und Empfänger auf je einem Ringpuffer, d.h., es sind
immer zwei Ringpuffer nötig, einer zum Senden und einer zum Empfangen
Ein Ringpuffer wird über einen Zeiger implementiert, der modulo-mäßig inkrementiert
wird
90








Beim Erreichen der Obergrenze fängt der Pointer wieder von unten an zu zählen =
„Ring“
Der Speicherbereich zwischen größtem und kleinsten Wert des Pointers ist der Ringpuffer
Die Größe des Ringpuffers sei r
Wird in den Ringpuffer geschrieben, wird der Pointer modulo-mäßig inkrementiert
Wird aus dem Ringpuffer gelesen, wird der Pointer modulo-mäßig dekrementiert
Der Ringpuffer wird zum Sliding Window, wenn noch ein zweiter Pointer verwendet
wird
FP + BP definieren einen aktiven Bereich innerhalb des Ringpuffers r
Dieser aktive Bereich heißt „Sliding Window“ (Schiebefenster)
 Sliding Window = Frontpointer FP + Backpointer BP



Außerdem gilt: FP + BP werden beim Sliding Window nur modulo-mäßig inkrementiert
aber nie dekrementiert
Die maximale Größe des Sliding Window im Ringpuffer sei w (w r)
w heißt auch window size (Fenstergröße)
5.9.5.1

Ablauf beim Schiebefenster
Für den Ablauf gelten folgende Regeln:
91
1.) Beim Verbindungsaufbau vereinbaren Sender und Empfänger die Größe r der Ringpuffer und die Fenstergröße w (Nebenbedingung: w   r  Zahl n der Sequenznummern)
2.) Nach dem Verbindungsaufbau besitzt der Sender das Recht, bis zu w Rahmen bzw.
Pakete zu senden, ohne ein Acknowledge zu empfangen
3.) Spätestens nach w Rahmen bzw. Pakete muss beim Sender ein Acknowledge eintreffen, sonst stoppt der Sender => „Schließen“ des Fensters beim Sender
4.) Der Empfänger kann schon vor dem Schließen des Fensters beim Sender Acknowledges an den Sender senden => „Öffnen“ des Fensters beim Sender
5.9.5.2
Verhalten von Frontpointer und Backpointer bei Sender und Empfänger
1.) Beim Sender inkrementieren gesendete Daten den Backpointer BPSender
2.) Beim Sender inkrementieren empfangene ACKs den Frontpointer FPSender
3.) Beim Empfänger inkrementieren empfangene Daten den Backpointer BPEmpfänger
4.) Beim Empfänger inkrementieren gesendete ACKs den Frontpointer FPEmpfänger

Für Sender und Empfänger gilt, dass der Abstand zwischen FP und BP maximal = w
sein kann
92

Der Sender weiß, dass ein empfangenes ACK bedeutet, dass die Daten beim Empfänger angekommen sind und an dessen Sicherungsschicht weitergeleitet wurden d.h.,
dass alles O.K. ist
Beispiel: bei Sender und Empfänger sei r = 8 und die Fenstergröße w sei 3.
 Sender darf bis zu 3 Pakete ohne Bestätigung schicken
Back Pointer
7
0
6
1
5
2
4
3
93
Sender kann aus seinem Sendepuffer die
Rahmen mit der Nr. 0, 1
und 2 abschicken
Front Pointer
5.9.5.3
Beispielablauf für ein Schiebefensterprotokoll mit r=8 und w=3
0
Sender
0
Empfänger
Empfänger kann
Rahmen 0,1 und
2 empfangen
2
frei
1
1
Sender kann
Rahmen 0,1
und 2 schicken
2
belegt
Sender will
noch Rahmen
2 schicken
2
Bl
oc
k(
0)
Blo
ck
(1)
Bl
oc
k
Empfänger kann
Rahmen 1 und
2 empfangen
)
Ack (0
(2)
)
Ack (2
0
0
Sender will
Rahmen 3
schicken
1
2
Blo
ck
1
(3)
4
3
Sender will
Rahmen 4 und
5 schicken
5
2
5
3
Empfänger kann
Rahmen 4 und
5 empfangen
5
4
Empfänger kann
Rahmen 3,4 und
5 empfangen
4
94
Sender
Empfänger
Blo
ck
(4)
Bl
oc
k(
5)
Sender will
momentan
nichts schicken
)
Ack (5
7
6
Sender will
Rahmen 6, 7
und 0 schicken
5.9.5.4

Empfänger hat
keinen Puffer
frei
0
7
0
6
Empfänger kann
Rahmen 6,7 und
0 empfangen
Wahl von Fenstergröße w und Puffergröße r beim Empfänger
Es sind verschiedene Fälle zu unterscheiden:
1.) langsamer PC sendet mit kleiner Latenz an schnelle Workstation, und es soll das stop
& wait-Protokoll verwendet werden => r = w = 1 ist ausreichend
95
schnell
Acknowledge
wird sofort geschickt
langsam
senden
empfangen
2.) schnelle Workstation sendet mit kleiner Latenz an langsamen PC, und es soll das
stop & wait-Protokoll verwendet werden => r = w = 1 ist ausreichend
schnell
senden
langsam
empfangen
lange Pause bis
zum Acknowledge
(sollte kürzer als
der timeout sein
 Bei ungleichmäßig schnellen Kommunikationspartnern und kleiner Latenz und stop
& wait-Protokoll ist r=w=1 ausreichend
96
3.) Beide Rechner sind gleich schnell, und es gibt eine kurze Latenz zwischen den Rechnern, und es soll eine hohe Bandbreite erreicht werden
 Es sind w>1 Puffer erforderlich

Ein ununterbrochener Strom von Daten entsteht dann, wenn w so groß ist, dass das
erste Acknowledge beim Sender eintrifft, bevor sein Sliding Window schließt
Beispiel: Kommunikation zwischen zwei Servern => z.B.: 2  w  7
4.) Beide Rechner sind gleich schnell, und es gibt eine lange Latenz zwischen den Rechnern, und es soll eine hohe Bandbreite erreicht werden
 Es sind w>>1 Puffer erforderlich

Begründung:
• eine Strecke mit großer Latenz wirkt wie eine langes Rohr (sog. Pipeline) durch das Rahmen/Pakete wandern müssen
• Es ist ein großes w nötig, um zu Beginn der Übertragung die lange Übertragungsstrecke
(Pipeline) mit Rahmen füllen zu können
• Je größer die Verzögerung bei der Übertragung, desto größer muss w gewählt werden
• Hinzu kommt: Nach dem Füllen der Pipeline muss die Pipeline möglichst ständig gefüllt
bleiben, um eine hohe Bandbreite zu erzielen

Auch hier muss das erste Acknowledge beim Sender eintreffen, bevor sein Sliding
Window schließt
97
Beispiel: Kommunikation zwischen zwei Servern mit Übertragung über einen geostationären Nachrichtensatelliten => z.B.: 16 w 127
lange Verzögerung, da
mehr als 2x36 000 km
Wegstrecke
6 Lokale Netze (LANs)
6.1


Ein LAN (Local Area Network) ist ein Netzwerk für die bitserielle Übertragung zwischen
Rechnern auf demselben Grundstück
Ein LAN befindet sich rechtlich unter der Kontrolle des Benutzers und muss deshalb
auf den Bereich innerhalb dessen Grundstückgrenzen beschränkt bleiben
6.2

Was ist ein LAN?
Merkmale eines lokalen Netzes
Hohe Geschwindigkeit (100 MBit/s - 10 GBit/s)
98



Einfacher, kostengünstiger Anschluss (meistens Ethernet oder Industrial Ethernet)
Keine Telekom-Gesetzgebung, da alles auf eigenem Grundstück
Anschluss aller Arten von Geräten möglich, wie:
• PCs, Workstations, Großrechner, Drucker und andere periphere Geräte
• Geräte und Apparate der Kosumelektronik und der Automatisierungstechnik

Übergang auf Weitverkehrsnetz (WANs) wie z.B. das Internet erfolgt mittels Gateway
Position von lokalen Netzen im ISO-Modell
Schicht 3
Vermittlungsschicht
Schicht 2b
LLC = Logical Link
Control
Schicht 2a
Schicht 1
Sicherungsschicht

MAC = Medium Access Control
Übertragungsschicht
99
LAN
= phys. Medium für
LANs (Kabel oder Funk)
6.3
Die Sicherungsschicht im LAN nach IEEE 802
802.1
Sicherungsschicht
data link
layer
LLC-Teilschicht 2 b
MAC-Teilschicht 2a
MAC
Bitübertragungsschicht
physical
layer
MAC
MAC
802.3
802.4
802.5
CSMA/CD Token Bus Token Ring
MAC
802.6
DQDB
...
MAC
MAC
802.11
WLAN
802.15
Bluetooth
Physikalisches Medium (Kabel, Funk)

Standardisierung von LANs erfolgt in ISO-Schicht 1 und 2
• 802.1 = übergeordnete 802-Standards
• 802.2 = mittlerer Teil der Sicherungsschicht = Logical Link Control (LLC)
• 802.x = unterer Teil der Sicherungsschicht = Medium Access Control (MAC)

Mittlerweile gibt es ca. 22 IEEE 802.X-Normen, von denen einige sehr wichtig sind, wie
z.B. Ethernet und WLAN
100
6.4




Es gibt ein prinzipielles Problem beim Schreiben auf einen gemeinsam genutzten, physikalischen Übertragungsweg wie zum Beispiel Funk
Grund: Funk ist ein sog. Broadcast-Medium und voneinander unabhängige Stationen
könnten gleichzeitig anfangen zu senden  Sendekollisionen
Die Medienzugangsschicht 2a sorgt deshalb für einen geordneten Ablauf beim Medienzugang
Bei Punkt-zu-Punkt-Verbindungen bestehend aus nur einem Sender und einem Empfänger ist die Schicht 2a ohne Funktion (Beispiel: Switched Ethernet)
6.4.1

Der Medienzugang bei LANs durch Schicht 2a (MAC Layer)
Wie werden Kollisionen geregelt?
Es gibt zwei grundsätzliche Verfahren, die auf ganz unterschiedlichen Prinzipien beruhen:
1.) Kollisionsentdeckung
• Prinzip 1: „Lasse Kollisionen stattfinden, entdecke sie, und wiederhole die Übertragung zu
einem zufällig ausgewählten, späteren Zeitpunkt in der Hoffnung, dass es dadurch besser
wird“
· so verfahren sog. CSMA/CD-Systeme (CSMA/CD=Carrier Sense for Multiple Access with
Collision Detection). Ethernet ohne Switch gehört dazu.
2.) Kollisionsverhinderung
101
• Prinzip 2: „Verwende eine im Kreis zirkulierende Marke („Token“) als Sendeberechtigungserlaubnis, um den Zugriff auf das Medium zu steuern. Nur wer die Marke hat darf senden.“
· so verfährt FDDI: Das Token, ist ein spezieller Rahmen der Schicht 2a, der den Zugriff
auf das gemeinsame Medium derjenigen Station erlaubt, bei der sich das Token gerade
befindet
• Prinzip 3: „Ein Sender darf nur dann senden, wenn er von einem Master („Host“) dazu aufgefordert wird“. Zu jedem Zeitpunkt wird maximal ein Sender vom Master zum Senden aufgefordert.
· so verfährt USB
• Prinzip 4: „Alle Sender dürfen gleichzeitig Daten an einen Switch senden. Dieser priorisiert
diejenigen Datenrahmen, die gleichzeitig auf denselben Ausgang wollen, so, dass in geordneter Weise ein Rahmen nach dem anderen den Ausgang verlässt. Die Rahmen mit
niedrigerer Priorität werden vom Switch gepuffert, während ein hochpriorer Rahmen gesendet wird.
· so verfährt switched Ethernet
6.4.2

Beispiele für gemeinsam genutzte Übertragungsmedien
Beispiele für LANs und periphere Busse mit gemeinsam genutzten Übertragungsmedium sind:
1.) Mobilfunktelefonie
·
Das gemeinsam genutzte Medium sind Funkkanäle derselben Frequenz
2.) WLAN
102
·
Das gemeinsam genutzte Medium sind Funkkanäle derselben Frequenz
3.) Bluetooth
·
Das gemeinsam genutzte Medium sind Funkkanäle derselben Frequenz
4.) IRDA Infrarot-Schnittstellen
·
Das gemeinsam genutzte Medium ist infrarotes Licht im Raum mit derselben Wellenlänge
5.) USB
• Das gemeinsam genutzte Medium ist der USB Hub
• Der USB Hub arbeitet auf ISO-Schicht 1 und verteilt jeden Rahmen des Rechners an alle
Ports des Hubs und damit an alle Peripherigeräte
6.) Switched Ethernet
• Das gemeinsam genutzte Medium ist der Ethernet Switch
• Ein Ethernet Switch puffert und serialisiert Datenrahmen, die gleichzeitig auf denselben
Ausgang wollen. Er arbeitet auf Schicht 2 und macht eine Wegewahl anhand der MAC-Zieladresse, so dass ein Rahmen den Switch auf dem richtigen Port verläßt.
6.4.3

Gemeinsames Übertragungsmedium mit Kollisionsentdeckung (CSMA/CD)
CSMA/CD bedeutet:
• Ein gemeinsam genutztes Medium wie z.B. Funk oder gemeinsames Kabel wird von allen
potentiellen Sendern abgehört, um festzustellen, ob gerade gesendet wird oder nicht
103
• Wenn gerade gesendet wird, darf niemand sonst senden
• Wenn gerade nicht gesendet wird, darf jeder sendewillige Rechner senden
 Kollisionen sind zu diesem Zeitpunkt möglich
• Ein potentieller gleichzeitiger Mehrfachzugriff von 2 oder mehr Sendern wird durch Kollisionserkennung + zufällig langes Abwarten bei jedem Senders geregelt
• Kollsisionserkennung heißt, jeder Sender lauscht, ob seine Sendung unverfälscht auf dem
gemeinsamen Medium zu hören ist oder nicht
• Wenn ja, ist alles O.K., wenn nein, gibt es eine Kollision
• Zufällig langes Abwarten bedeutet, dass jeder Sender auswürfelt, wie lange er nach einer
erkannten Kollision mit einem erneuten Sendeversuch wartet
• Dazu wird ein Pseudozufallszahlengenerator verwendet
6.4.4
Gemeinsames Übertragungsmedium mit Kollisisionsverhinderung
6.4.4.1
Beispiel Ethernet



Ethernet hat im Prinzip eine Kollisisionsverhinderung, denn für einen gewisse Zeit erfolgt keine Kollision von zwei Rahmen, die zum selben Ausgangsport wollen, weil jeder
Rahmen im Switch gepuffert wird bis der Ausgang frei ist
Der gewünschte Ausgang muss allerdings frei werden, bevor der Switch-Puffer voll ist
Sobald der Puffer des Switches voll ist, gehen bei Switched Ethernet unbemerkt Rahmen verloren, da Ethernet keine Schicht 2b mit Flusssteuerung und Acknowledge hat
104
6.4.4.2





USB-Peripheriegeräte werden durch USB-Adressen individuell von einem Rechner
(„Host“) angesprochen und dürfen nur senden, wenn sie vom Host dazu aufgefordert
werden
Der Host spricht zu einer Zeit nur ein peripheres USB-Gerät an
Dadurch wird gleichzeitiges Senden mehrerer Geräte ausgeschlossen
Dies wird als Transaktionskonzept bezeichnet und realisiert eine Kollisisionsverhinderung
Eine Pufferung von Datenrahmen findet nicht statt, da ein Hub ein ISO-Schicht 1-Gerät
ist
6.5



Beispiel USB
Die Datensicherung bei LANs durch Schicht 2b (Logical Link Control)
Die ISO-Schicht 2b macht die Datensicherung zwischen räumlich benachbarten Rechnern
Gemäß IEEE gibt es drei verschiedene Datensicherungsarten: LLC Typ 1, 2 und 3
LLC1 ist das einfachste und LLC 2 das komplexeste Verfahren, LLC 3 ist in der Mitte.
Beispiel: Ethernet unterstützt LLC Typ 1
6.5.1

LLC Typ 1: Unbestätigter und verbindungsloser Dienst
Unbestätigte Übertragung (=keine Acknowledges für Datenrahmen)
105




kein Verbindungsaufbau notwendig
Höhere Schichten >2 sind für die Erhaltung der Reihenfolge der Rahmen, für die Fehlerbehebung und für Flusssteuerung verantwortlich (im Internet macht dies TCP)
So verfährt Ethernet
Ethernet hat aber zumindest 32 Bit-CRC im Rahmentrailer
6.5.2






LLC Typ 2 implementiert sog. verbindungsorientierten Dienst
Verbindungsorientierter Dienst heißt: es gibt 3 Phasen: Aufbau, Transfer und Abbau
LLC Typ 2 implementiert alle drei Phasen
Datentransfer erfolgt mit Bestätigung (ACK)
LLC Typ 2 garantiert die Ablieferung des Pakets beim Empfänger und die richtige Reihenfolge der Rahmen und macht auch Flusssteuerung
Wird im Internet erst auf Schicht 4 durch TCP umgesetzt
6.5.3


LLC Typ 2: Bestätigter Verbindungsorientierter Dienst
LLC Typ 3: Bestätigter verbindungsloser Dienst
LLC Typ 3 implementiert sog. bestätigten aber verbindungslosen Dienst (Datagramme)
Bestätigter verbindungsloser Dienst heißt: es keinen Verbindungsaufbau und -abbau
und keine Garantie der korrekten Reihenfolge der Datagramme, aber für jeden Rahmen
erfolgt eine Bestätigung
106

Wird bei Token Ring oder Token Bus Bus eingesetzt, z.B. für die Steuerung von Bearbeitungsmaschinen an einem Fließband zur Automobilproduktion
6.5.4
Weitere Beispiele von Schicht 2b-Protokollen (nicht ISO und nicht IEEE)
• PPP = point-to-point protocol
• SLIP = subscriber line interface protocol
• PPP und SLIP dienen zur gesicherten Datenübertragung, wenn Modems (DSL!) als Schicht
1 und 2a verwendet werden
• PPPoE = PPP over Ethernet: PPP-Variante zur gesicherten Datenübertragung, falls Ethernet als Schicht 1 und 2a eingesetzt wird
6.6

Beispiele für Schicht 2-Rahmenformate sind USB, CSMA/CD sowie Ethernet als ursprüngliches CSMA/CD-LAN
6.6.1

Beispiele für Schicht 2-Rahmenformate
USB-Rahmenformat für Datenpakete
USB unterscheidet zwischen 16 verschiedenen Rahmentypen
107

Der Rahmentyp, der Daten überträgt, hat das folgende Format:
Idle
Sync
32 bits
PID
8 bits
Data
0-1024
x 8 bits
CRC
16 bits
EOP
Idle
1.) Idle: zeigt dem Empfänger, dass der Host momentan keine Daten sendet
2.) Sync: erlaubt dem Empfänger, auf das Datensignal zu synchronisieren, d.h., den Takt
im Signal zu erkennen und von den Daten zu separieren
3.) PID (Packet Identifier): zeigt in diesem Fall an, dass ein Datenrahmen folgt
4.) Data: Nutzdatenfeld
5.) CRC: Prüfsumme
6.) EOP (End of Packet): zeigt das Rahmenende an



Bei einem anderen Rahmentyp namens „Token“ wird ein 7 Bit-Adressfeld übertragen,
das bis zu 127 Geräte an einer USB Hub-Kaskade ansprechen kann
Das Addressfeld ist das Gegenstück zur CSMA/CD-MAC-Adresse (siehe unten)
USB-Geräteadressen werden allerdings im Gegensatz CSMA/CD-MAC-Adressen jedesmal neu beim Einstecken eines USB-Geräts vergeben
108
6.6.2

CSMA/CD-Rahmenformat
Bei IEEE 802.x gibt es 2 Adressformate für die Herkunfts- und die Zieladresse: sog.
MAC-Adressen (MAC = Medium Access Control)
1.) 6 Byte MAC-Adressen (48-Bit) = üblich, z.B. bei Ethernet und WLAN
I/G
U/L
46 Bits Adresse
2.) 2 Byte-MAC-Adressen (16 Bit) = sehr selten und nur für lokales Netz ohne Verbindung
nach außen
I/G

15 Bits Adresse
Bei 6 Byte MAC-Adressen stehen 2 Steuerbits (I/G und U/L) zur Verfügung, bei 2 Byte
MAC-Adressen nur eins (I/G)
 Bei 6 Byte-Adressen sind 46 Adressbit nutzbar = ca. 7*1013 Adressen

Bedeutung der MAC-Steuerbits bei 6-Byte Adressen:
• I/G= 0: Stationsadresse für eine Punkt-zu-Punkt-Verbindung = üblich
• I/G= 1: Broadcast-Verbindung
109
·
·
Die Broadcast-Verbindung ist rel. selten, wird aber beim Address Resolution Protocol
ARP verwendet
Wenn I/G=1, dann müssen alle anderen Bits ebenfalls auf 1 sein
 Broadcast-Adresse = FF-FF-FF-FF-FF-FF
• U/L= 0: Weltweit eindeutige MAC-Adresse = häufig
• U/L= 1: Local verwaltete MAC-Adresse ohne Verbindung nach aussen = seltener




Bei U/L = 1 darf kein Gateway im selben LAN existieren
Bei U/L = 1 kann die MAC-Adresse durch den Benutzer frei gewählt werden
U/L = 1 wird z.B. bei Cloud Computing für die sog. Compute Nodes verwendet
Bei U/L = 0 gibt es einen LAN Gateway, der u.a. für die Abbildung IP-Adresse->MACAdresse zuständig ist
6.6.2.1


Schicksal der weltweit eindeutigen MAC-Adressen
6 Byte MAC-Adressen mit U/L = 0 waren ursprünglich weltweit eindeutig, denn jede
Ethernetkarte hatte eine fest verdrahtete MAC-Adresse
Wurde mittlerweile geändert, es gibt per Software-definierbare MAC-Adressen, was es
Hackern leider erleichtert zu betrügen
110
6.6.3

1 Gb/s-Ethernet-Rahmenformat gemäß IEEE 802.3
7 Byte
1
2/6
2/6
2
0-1500
x
Präambel
SD
DA
SA
Control
Data
Pad
4
FCS
Präambel: 7 Byte: 7 x 10101010 = maximal viele Bitwechsel zur Empfängersynchronisation
• Die Präambel dient zur Synchronisation des Empfängertaktes mit dem Sendetakt







SD: Starting Delimiter (1 Byte: 10101011)
Der Starting Delimiter dient zur genauen Kennzeichnung, wann ein Paket anfängt.
DA: Destination Address (i.d.R. 6 Byte MAC-Adresse)
Die Zieladresse dient zur Klärung, wohin ein Paket geschickt werden soll
SA: Source Address (i.d.R. 6 Byte MAC-Adresse)
Die Herkunftsadresse sagt, wer den Rahmen gesendet hat
Control: enthält die Länge n der Daten (2 Byte)
• Achtung: Werte ab 2048 (0x0800) kennzeichnen nicht mehr die Länge, sondern kodieren
zusätzliche Steuerungsfunktionen, den sog. EtherType

Datenfeld aus n Bytes, 0  n  1500
111







Pad: Füllbytes zur Erreichung der Mindestrahmenlänge von 64 Byte, falls Nutzdaten <
46 Byte
Achtung: Die Präambel und der SD werden bei der Rahmenlänge nicht gezählt
Nutzdaten sollten mindestens 46 Byte lang sein, sonst wird ein Pad eingefügt
Mindestlänge eines 1Gb/s-Rahmens ohne Präambel und SD muss 64 Byte betragen,
um Kollisionen auf die maximal erlaubte Entfernung erkennen zu können
Der Ethernetrahmen-Overhead ohne Pad beträgt 26 Byte
FCS (Frame Check Sequence) = 4 Byte CRC
Neben dem Standard-Ethernet gibt es noch zahlreiche Varianten, die z.T. auch standardisiert sind
 Ethernet ist mehr ein Markenname als eine ganz bestimmte Technologie

Werte ab 0x0800 im Control-Feld kodieren folgende Ethertypes:
• Spezialtypen wie z.B. Echtzeit-Ethernet (PROFINET, EtherCAT, POWERLINK, SERCOS III)
• die verwendeten Protokolle auf Schicht 2 oder 3 (PPPoE, IPv4, IPv6, arp, rarp)
• die Existenz eines virtuellen LANs (VLAN) durch den Wert = 0x8100
6.6.3.1

Varianten von 1 Gb/s-/10 Gb/s-Ethernet mit Switch
Es gibt diverse Varianten von 1 Gb/s- und 10 Gb/s-Ethernet mit Switch
Hinweis: die nachfolgenden Ethernat-Varianten haben nichts mit den Ethertypes zu tun. Beides existiert
gleichzeitig und getrennt.
112
1.) 1000BASE-T: hat 4 verdrillte Doppeladern in ungeschirmtem Cat-5e-Kupferkabel als
DTE-Anschlusskabel; bis 100 m = kurzes LAN; dies ist ein weit verbreitete Standard.
2.) 1000BASE-CX: hat 2 verdrillte Doppeladern in geschirmtem Cat-7-Kupferkabel; nur
mit Switch, bis 25 m = sehr kurzes LAN; wenig verbreitet.
3.) 1000BASE-LX: hat 2 Glasfaserkabel für bidirektionalen Transfer; entweder nur Punktzu-Punkt oder mit Switch und elektrisch/optisch-Wandlern; bis 5 Km = gutes LAN;
wenig verbreitet.
4.) 10GBaseT: hat 4 verdrillte Doppeladern in geschirmtem Cat-7-Kupferkabel; nur mit
Switch; bis 100 m bei Beachten spezieller Verlegevorschriften = kurzes LAN; wenig
verbreitet.
5.) 10GBASE-LR: hat 2 Glasfaserkabel für bidirektionalen Transfer; entweder nur Punktzu-Punkt oder mit Switch und elektrisch/optisch-Wandlern; bis 10 km = kurzes MAN;
wenig verbreitet.
6.7

VLANs
Virtuelle LANs („VLANs“) erlauben eine Kopplung zwischen mehreren realen LANs, die
am selben Switch angeschlossen sind, sowie eine Wegewahl zum richtigen Ziel-LAN
Hinweis: Die Wegewahl erfolgt auf der ISO-Schicht 2 nicht auf der Schicht 3, was der ISO-Einteilung
widerspricht.
113



VLANS erlauben außerdem innerhalb eines realen LANs mehrere virtuelle Sub-LANs
aufzubauen, die aus Benutzersicht voneinander getrennt sind
Die Trennung bewirkt, dass das eine VLAN das andere nicht erreichen kann, obwohl
beide real durch dasselbe physikalische LAN implementiert werden
Dazu wird der Header im Datenrahmen um ein VLAN-Adressfeld erweitert
Beispiel: Bei Ethernet-basierten VLANs verlängert sich der Rahmen um 4 Byte für die
VLAN-Adresse


Der Ethernet-Rahmen-Overhead ohne Pad beträgt somit bei VLAN 30 Byte
Dementsprechend verkürzen sich die minimalen Ethernet-Nutzdaten ohne Pad auf 42
Byte
6.8


Repeater, Bridge, Switch, Gateway, Router, Hub und Firewall
Repeater = elektrischer Verstärker auf der ISO-Schicht 1 innerhalb eines LAN-Segments oder zwischen zwei Segmenten desselben LANs
Bridge = Kopplung auf der ISO-Schicht 2a von genau zwei verschiedenen LANs
• macht eine elektrische Trennung der Signale (Potentialtrennung)
• macht keine Rahmenspeicherung
• macht keine Kollisionserkennung oder Kollisionsvermeidung

Hub = wie Bridge, aber für die Kopplung von mehr als zwei LANs
114

Switch = wie Hub, d.h. sternförmige Verbindung auf der ISO-Schicht 2a zur Kopplung
von >1 LANs, inkl. der Wegewahl zwischen den LANs
• Zusätzlich erfolgt für einen gewisse Zeit keine Kollision an den Switch-Ausgängen, denn
im Switch werden solange Rahmen gepuffert, bis der gewünschte Ausgang frei ist, oder
bis der Puffer voll ist

Gateway = Verbindung auf ISO-Schicht 3 zwischen einem LAN und mindestens einem
MAN oder WAN
• Paketpufferung findet statt
• Im Falle mehrerer MANs oder WANs, die an den Gateway angeschlossen sind, gibt es auch
eine Wegewahl

Router = Verbindung auf ISO-Schicht 3 zwischen mehreren WANs
• Paketpufferung und Wegewahl findet stets statt

Firewall = Gateway auf Schicht 4 zwischen einem WAN und dem privaten MAN/LAN einer Firma
• kontrolliert, ob auf Schicht 7 http oder email als Protokoll verwendet wird, d.h. prüft die
Schicht 7-Nutzlast
• i.d.R. dürfen aus Sicherheitsgründen nur email- und http-Pakete die Firewall passieren
 sehr viele verteilte Anwendungen und viele Middleware verwenden http als ein Transportprotokoll auf der Schicht 7 ohne irgendetwas mit dem www zu tun zu haben
115
6.9


Adressauflösung = Abbildung der Internet-Adresse (IP-Adresse) eines Rechners auf
die physikalische Adresse (MAC-Adresse)
LAN Gateway hat eine Abbildungstabelle und benützt das Address Resolution Protocol
ARP. Dieser Fall ist bei Ethernet LANs fast immer gegeben.
6.9.1

Adressauflösung im LAN
Address Resolution Protocol ARP
Das ARP-Protokoll im LAN Gateway läuft folgendermaßen ab:
1.) LAN Gateway sendet mittels MAC-Broadcast ein ARP-Request-Paket, welches die
eigene MAC- und IP-Adresse sowie die IP-Adresse des gesuchten Empfängers enthält
2.) LAN Gateway wartet auf die Antwort des Empfängers in Form eines ARP-Reply-Paket,
welches dessen MAC-Adresse enthält
116
phys. Adresse des
Host B gesucht
ARP-Request Broadcast-Paket
R
Gateway
X
B
Y
Host
Host
Host
B antwortet
ARP-Reply-Paket




R
X
B
Y
Gateway
Optimierung: ARP-Cache im Gateway hält frühere (IP, MAC)-Adresspaare für die
schnelle Beantwortung späterer Anfragen vor
Optional: Jede Station speichert lokal (IP, MAC)-Paare, um ARP requests zu vermeiden
ARP wird z.B von den Befehlen ipconfig in Windows bzw. ifconfig in Unix benützt
ARP-Cache kann durch die Befehle arp bzw. arping angezeigt werden
117
6.9.2

Reverse ARP
Reverse ARP (RARP-Protokoll) bildet MAC-Adressen auf IP-Adressen ab
118
6.10
Verdrahtung lokaler Netze
Endgeräte (Rechner)
kein Switch
Switch
Ethernet
(1 Gb/s)
kein
Switch
Stern
Token
Ring
Ring
teilweise vermaschtes Netz
kein Switch
Switches
nicht für
LANs
Endgeräte
Baum
vollständig vermaschtes Netz
119
gemeinsam genutztes
Übertragungsmedium
(Funk, Koaxialkabel)
7 Echtzeitzugang ins Internet

Ein Echtzeitzugang ins Internet wird für z.B. für Multimedia-Anwendungen benötigt und
muss zuerst auf Schicht 1 und 2 bereitgestellt werden
Def.: Multimediale Datenübertragung heißt: mindestens ein zeitdiskretes und ein zeitkontinuierliches Medium wird gleichzeitig für die Übertragung von Information benutzt, und
beide Medien sind zeitlich miteinander synchronisiert.

Zeitdiskret sind: Text, Folien, Diagramme, Tabellen, Bilder. Zeitkontinuierlich sind: Audio, Video
Beispiel: für Multimediale Datenübertragung: Audio + Diagramme, Video + Folien,
Audio + Video + Text + Diagramme
 Zahl der gleichzeitig verwendeten Medien verschiedener Kategorien ist  2



Durch die Kombination von  2 Medien verschiedener Kategorien entsteht eine neue
Art der Präsentation von Information: Multimedia
Eine multimediale Präsentation ist interessanter, detaillierter und leichter nachvollziehbar
Erzeugung von Multimediadaten mit Hilfe spezieller Software wie z.B. dem Adobe Director
120
7.1


Multimedia-Anforderungen
Die Kombination von zeitdiskreten mit zeitkontinuierlichen Medien setzt die zeitliche
Synchronisation beider Medienarten voraus
Übertragung von Audio-, Video- und multimedialen Daten erfordert deshalb:
1.) Bewahrung der zeitlichen Synchronisation zwischen Bild-, Ton-, Text- und Graphikdaten
2.) Wiedergabe der Daten in Echtzeit
 Datenübertragung muss mit Zeitbezügen untereinander und zur Realzeit erfolgen
(=Echtzeitübertragung und Echtzeitdarstellung)
 Eine Ethernet-LAN-Technik mit gemeinsam genutzen Medium (Kabel oder Switch) ist
ungeeignet, da indeterministisch (Zugang zum gemeinsamen Kabel ist vom Zufall
abhängig bzw. davon, ob ein Ausgangsport im Switch gerade frei ist oder nicht)





Geeignet sind nur Netztechniken mit garantierter Zustellzeit
alle Punkt-zu-Punkt-Netze sind prinzipiell geeignet
alle Broadcast-Netze mit „deterministischem Zeitmultiplex“ sind geeignet
Beispiel für Punkt-zu-Punkt-Netze: Telefonsysteme
Beispiele deterministischer Zeitmultiplexnetze: Token Ring (LAN), FDDI (MAN), Telefon-PCM-Systeme (WAN), Telefon-S-ISDN (WAN), B-ISDN (WAN) = SONET/SDH
121
Hinweis: S-ISDN = „Small Band Integrated Services Digital Network“ = Schmalbandiges Netz für Telefonund Datendienste
Hinweis: B-ISDN = „Broad Band Integrated Services Digital Network“ = Breitbandiges Netz für Telefon- und
Datendienste


Beispiel eines zeitdeterministischen Protokolls: ATM (=Asynchronous Transfer Mode).
TCP/IP hingegen ist nicht zeitdeterministisch, d.h. nicht echtzeitfähig, was für Multimedia-Anwendungen ein Problem darstellt
7.2
Internet-Anwendungen mit und ohne Echtzeit
•
•
•
•
•
E-Commerce über das www
E-Learning über Internet-basierte, interaktive Lernmanagementsysteme (Moodle, Ilias, ...)
Videokonferenzen über z.B. Netmeeting oder DFNVC Webkonferenz
Bildtelefonie über z.B Skype, VoIP, Tango, Viber, ...
Web-TV über das www, IP-TV über das Internet, Web-Radio über das www, d.h. Audio on
Demand statt CDs und Video-on-Demand statt Video-DVDs
• Teleworking (Heimarbeitsplätze)
• Home Office-Anwendungen über Cloud Computing. Anwender-Software im Netz verfügbar
statt auf lokaler Festplatte gespeichert; Bsp. Google Docs.
• Überwachungsdienste über Web-Kameras (es gibt >>104 Kameras in Deutschland)
122
7.3



Echtzeitzugang über das Telefonnetz
Das Telefonnetz überträgt Daten und Gespräche mittels digitaler PCM-Technik in Echtzeit
Zugang zum Internet von der Ortsvermittlungsstelle bis zum Wohnzimmer kann dagegen sowohl analog als auch digital sein
Analoger Zugang erfolgt über einfaches Modem (bis 56 Kb/s), DSL-Modem (derzeit bis
ca. 50 Mb/s) oder Videokabel (bis ca. 110 Mb/s)
• DSL = Digital Subscriber Line = digitaler Teilnehmeranschluß
• DSL ist eine sehr schnelle Technik für analoge Datenübertragung
• DSL funktioniert mit analogem Telefonanschluss, aber auch über S-ISDN, d.h. über einen
digitalen Teilnehmeranschluss, da auf dem Kabel unterschiedliche Frequenzen benutzt
werden

Digitaler Zugang erfolgt über S-ISDN oder Glasfaser
123
Konfiguration bei (DSL)-Modem-Zugang
Telefonortsvermittlungsstelle
Kunde
(DSL)-Modem
kurzes Kabel (Ethernet
oder USB) oder WLAN
Fernvermittlungsstelle
(DSL)-Modems
max. 10 km verdrillte
Telefonleitung
Gateway
Sonet/SDH WAN
Fernvermittlungsstelle
Kunde
Internet Provider
(DSL)-Modem
Gateway
Sonet/SDH oder MAN
7.4

Alternative Echtzeitzugangstechnologien
Es gibt Alternativen zum Internet-Echtzeitzugang per DSL-Modem:
124
Sonet/SDH WAN
7.3.1
•
•
•
•
•
•
•
•



Über Richtfunkstrecken (z.B. zum Anschluss von Dörfern ans Internet)
Über tieffliegende Satelliten (= LEOs, Low Earth Orbiters)
Über funkbasierte LANs (IEEE 802.11x)
Über GSM, UMTS oder LTE-Mobilfunknetze mittels EDGE, HSDPA, ...
Über Datenübertragung durch das Stromnetz (= Powerline-Technik)
Über neu zu verlegende Glasfasern und Kupferkabel (= FTTC, Fiber to the Curb)
Über neu zu verlegende Glasfasern zum Endkunden (= FTTH, Fiber to the Home)
Über neu zu verlegende Glasfasern und Fernseh-Koaxkabel (= HFC, Hybrid Fiber Coax)
Powerline-Technik wurde von den Stromherstellern angeboten, war aber bislang nur in
Nischenanwendungen erfolgreich
Satelliten, Funk-LANs, Handys, DSL, FTTC und FTTH werden von den Telecoms betrieben
HFC wird von den Kabelfernsehanbietern angeboten
7.4.1



HFC (Hybrid Fiber Coax)
Über ein einziges Koaxialkabel beim Kunden werden sowohl digitales Fernsehen, als
auch breitbandiger Internet-Zugang und Telefonie betrieben = „Triple Play“
Die Koaxialkabel werden vom Kabelnetzbetreiber mit hoher Bandbreite über Glasfaser
mit Fernsehprogrammen, mit digitalen Audio- und Videostreams und mit Internet versorgt
Verteilung beim Endkunden über gemeinsam genutztes Medium (Koaxialkabel)
125

Notwendige Voraussetzungen: existierende Koaxialkabel für Kabelfernsehen mit ca.
450 MHz Bandbreite werden durch Kabel höherer Bandbreite (z.B. 750 MHz) ersetzt
 300 MHz zusätzliche Bandbreite



Zusätzliche Bandbreite entspricht 50 6-MHz-Fernsehkanälen und wird zur Übertragung
von Multimediadaten verwendet (unidirektional)
Um einen Rückkanal vom Kunden zum Provider zu ermöglichen, werden die unidirektionalen Verstärker der Kabelsignale durch bidirektionale ersetzt werden (teuer!)
Die extra 50 6-MHz-Kanäle verwenden die effiziente Quadrature Amplituden Modulation
(QAM) oder die noch bessere Discrete Multitone Modulation (DMT)
 pro Kanal sind bei QAM ca. 40 Mb/s Echtzeitdatenrate möglich, bei DMT bis ca. 100
Mb/s!




Alle 50 Kanäle werden per Broadcast an die Haushalte verteilt
Zur gezielten Adressierung jedes Haushalts sind die Daten individuell verschlüsselt
Ziele: Wahrung der Privatsphäre trotz Broadcast + Zugang nur für zahlende Kunden.
Analoges Vorbild: Pay TV
Multimediadaten sind MPEG1/2/4-kodierte Videofilme für Video-on-Demand mit zusätzlichen zeitdiskreten Informationen
126
Fernseh-Koaxkabel
Kabel TVAnbieter
Glas=
faser
(Headend)
Glas=
faser

Kopfstation
Fernseh-Koaxkabel
Kopfstation
Jedes Headend versorgt einige tausend Haushalte d.h. ganze Wohngebiete mit TV, Video-on-Demand, Internet und Telefonie
7.4.2
FTTC (Fiber to the Curb)
Hinweis: Curb = Randstein

Glasfasern sind bis in die einzelnen Straßen verlegt. Von dort geht es über Telefonkabel (= verdrillte Kupferkabel) in die Häuser (= “last mile”)
 2-stufige Hierarchie eines Verteilnetzes
127


Datentransfer ist im Gegensatz zu HFC Punkt-zu-Punkt (kein Broadcast)
Kupferkabel der “letzten Meile” sind kurz => sehr gut für DSL geeignet
 genug Bandbreite für MPEG1/2/4 ohne teure Koaxkabel, incl. Telefonanschluss
 Nutzung der bereits zahlreich vorhandenen Telefonkabel-Infrastruktur

Betreiber sind die Telekomanbieter
Ortsvermittlungsstelle
Glas=
faser
ONU
curb
Glas=
faser
Telefonkabel
ONU
Telefonkabel
Hinweis: ONU = Optical Network Unit = el./opt. Konverter
128


Jede ONU versorgt ca. 16 Haushalte über 16 verdrillte Kupferkabel mit Daten in beiden
Richtungen (bidirektional)
Nachteil zu HFC: viel mehr ONUs als Headends notwendig
7.4.3

FTTH (Fiber to the Home)
Jeder Haushalt erhält einen SONET/SDH-Anschluss mit z.B. 155 Mb/s (OC3)
 ultimative Lösung der Zukunft, zum Teil schon realisiert (Bsp.: neue Bundesländer,
Stadtstaaten wie Singapur)

Nachteil: immense Kosten, >50% der Investitionen des Telefonsystems liegen in den
Kupferkabeln zum Endkunden => last mile ist ein Kostenproblem
7.5



Echtzeitzugang über xDSL (Digital Subscriber Line)
xDSL ist die Technologie der “Supermodems” für Telefonanschlüsse (=verdrillte Zweidrahtleitungen). x steht für A, H, V, S, U, I oder {}
xDSL betreibt analogeTelefonleitungen mit wesentlich höherer Bandbreite (>> 3 KHz)
als 56-Kb/s-Modems
Nutzt die Tatsache, dass ab der Ortsvermittlungsstelle die Datenübertragung digital ist
und sehr hohe Bandbreiten aufweist (= SONET/SDH-Hierarchie auf ISO-Schicht 1)
129


Nutzt Fortschritte der digitalen Signalverarbeitung (Signalprozessoren, effiziente Modulationsverfahren) zur Beseitigung von Echos, Übersprechen, Rauschen und sonstigen Störungen
Theoretische Grundlage für xDSL ist das sog. Shannon-Theorem
7.5.1





Shannon-Theorem
Das Shannon-Theorem berechnet die Übertragungsgeschwindigkeit eines rauschbehafteten Kanals unter Vernachlässigung von Dämpfung und Dispersion
Das Shannon-Theorem ist deshalb eine Obergrenze dessen, was möglich ist
Dämpfung bewirkt, dass das Nutzsignal abgeschwächt wird
Dispersion bewirkt, dass das Nutzsignal verbreitert wird
Unter diesen Voraussetzungen gilt:
• K = B*log2[1+10**(S/10N)] => K ~ B
• K = Übertragungsgeschwindigkeit (= Kanalkapazität), wird in Baud = 1/s gemessen
• B = Bandbreite des Kanals, wird in Hertz = 1/s gemessen (semantischer Unterschied zw.
Hertz und Baud!)
• S/N = Signal- zu Rauschleistung, wird in dB (dezibel) gemessen
Beispiel:
• 3 KHz Telefonbandbreite erlaubt bei 35 dB Signal-/Rauschverhältnis ca. 30 Kb/s Datenrate
• 8 Mb/s Datenrate erfordern ca. 800 KHz an Kanalbandbreite
130



Neben dem Shannon-Theorem wird die Übertragungsgeschwindigkeit eines rauschbehafteten Kanals wesentlich durch Dämpfung und Dispersion des Übertragungsmediums bestimmt
Beides ist bei Kupferkabeln abhängig von Leitungslänge und Leitungsquerschnitt
In Deutschland gilt:
• Leitungslänge zwischen Telefon und Telefonvermittlung ist  10 km
• Typische Länge ist 2-4 km
• Leitungsquerschnitt des Kupferkabels ist 0,4 oder 0,6 mm (2 Kabelsorten)
• Fast nie gibt es Verstärker zwischen Kunde und Ortsvermittlungsstelle
 Nur die Übertragungsbandbreite B des Kupferkabels muss für K berücksichtigt werden


Wohnt der Kunde nahe genug an einer Ortsvermittlungsstelle (<< 1 km), sind über DSL
sehr hohe Datenraten möglich (bis ca. 50 Mbit/s über VDSL, theoretisch bis 100 Mb/s)
DSL-Datenraten sind in der Praxis oft niedriger als der Nominalwert, für den man bezahlt, da die Leitungslängen vielerorts nicht mehr ermöglichen
131
7.5.1.1
Kanalkapazität K als Funktion der Leitungslänge eines Kupferkabels
K
[MBaud]
100
90
80
70
Theoretische
Grenze
60
Derzeitige praktische Grenze
bei VDSL
50
40
30
20
10
0
0,75
1,5
2,25
3,0
3,75 4,5
l [km]
 Existierende Telefonkabel erlauben auf kurze Entfernungen sehr hohe Datenraten
7.5.2


Warum ist die XDSL-Technik wirtschaftlich interessant?
Über 700 Millionen installierte Festnetz-Telefonanschlüsse weltweit
96% davon sind Kupferkabel-basierend
132



>50% der gesamten Investitionen der Telecoms liegen in der Verkabelung
Komplett flächendeckende Glasfaserkabel bis ins Haus werden noch viele Jahre dauern (hohe Installationskosten; weniger für das Kabel als für die Verlegung)
Flächendeckende Glasfaserverkabelung in den neuen Bundesländern ist vorhanden,
wird aber nicht genutzt, bis DSL flächendeckend eingeführt ist
 xDSL ist eine sehr kosteneffektive Lösung, da bereits installierte Kupferleitungen
genutzt werden
7.5.3
Aufbau eines xDSL-Zugangs
xDSL-Übertragung
Telefonkabel
Kunde
Orts=
Vermittlung
SONET/
SDH
xDSL-Übertragung
Kupfer-/Glasfaserkabel
Orts=
Vermittlung
Internet Provider

Beispiel: ADSL, VDSL
• Kunde hat Zugriff auf Telefonnetz und Internet über dieselbe Telefonleitung
133
• Leitung wird über Frequenzweiche (sog. splitter) im Frequenzmultiplex betrieben
• Datenrate vom Kunden (upstream) bis ca. 5 Mb/s bei VDSL
• Datenrate zum Kunden (downstream) bis ca. 50 Mb/s bei VDSL
7.5.4







Die verschiedenen Typen von xDSL
xDSL: Sammelbezeichnung für alle DSL-Arten
IDSL: das heutige ISDN
ADSL: Asymmetric Digital Subscriber Line (derzeit der Standard bei der Dt. Telekom)
UDSL: Universal Digital Subscriber Line (=ADSL-light)
HDSL: High Data Rate Digital Subscriber Line
SDSL (entspricht HDSL2): Single Line Digital Subscriber Line
VDSL (Nachfolger von ADSL): Very High Rate Digital Subscriber Line
134
7.5.5
Leistungsparameter der xDSL-Techniken
Internet-Dienste und Anwendungen
Datenrate und
Preis
~ 50
Mbps
~ 16
Mbps
~ 6 Mbps
~2
Mbps
~ 144
kbps
~ 56
kbps
VDSL
ADSL
ADSL
Teleworking, Teleteaching Telemedizin,
Video-On-Demand
über IPTV und Web-TV
3.)
Standard bei Firmenund Privatkunden
2.)
Einfache Anwendungen
1.)
SDSL
ISDN
Sprachband-Modem
Zahl potentieller Nutzer
135
7.5.6
Internet-Zugang über Sprachband-Modem oder ISDN
Sprachband-Modem oder ISDN
Sprachband-Modem oder ISDN
Vermittelte Telefonverbindung über SONET/SDH
Server eines InternetProviders
136
Internet-Zugang über ADSL mit Splitter
1
2-Draht-Leitung
7.5.7
2
1
1
2
2
DSLModem
Vermittlungseinrichtung
DSLModem
Frequenzweichen
(Splitter)
Server/Gateway eines
Internet-Providers



Der Splitter ist eine Frequenzweiche und dient zur Aufteilung der Frequenzbereiche
zwischen Telefon und ADSL
Auf der Zweidrahtleitung werden verschiedene Frequenzbereiche verwendet, um unterschiedliche Informationsströme (Telefon, Fax und Daten) gleichzeitig zu übertragen
Informationströme, die nicht im Basisband übertragen werden, verwenden effiziente
Modulationsarten, um der Shannon-Obergrenze möglichst nahe zu kommen:
137

Diese sind Quadrature Amplitude Modulation (QAM), Carrierless Amplitude/Phase-Modulation (CAP) und Discrete Multitone Modulation (DMT), wovon DMT die beste ist
7.5.8
Aufteilung der Übertragungsfrequenzen bei CAP-Modulation
Signalstärke
auf
dem
Kabel
in [dB]
ISDN
0
analoges
Telefon
0,3
3,4
DSL
Downstream
zum Kunden
DSL
Upstream
zum Provider
80 94
Splitter-Abzweig 1
106 120
Splitter-Abzweig 2
138
550
Frequenz in
[kHz]
7.5.9
ADSL-Übertragungskette
Kunde
Ortsvermittlungsstelle
Downstream
bis 16 Mb/s
A
D
S
L






bis 10 km
Upstream
bis 1,5 Mb/s
A
D
S
L
SONET/
SDH
Kernnetz
Multimedia
Server
Internet
Service
Provider
Voll-Duplexübertragung mit asymmetrischen Datenraten über eine Kupfer-Zweidrahtleitung
Die erreichbaren Übertragungsraten sind von der Entfernung und von der Leitungsqualität abhängig
Das DSL-Modem adaptiert sich automatisch an die verfügbare Leitungsqualität
Adaption erfolgt nach jedem Einschalten des Modems oder nach dem Rücksetzen desselben von der Ortsvermittlungsstelle aus
Die analoge Datenübertragung basiert bei ADSL auf der DMT-Modulation
Die DMT-Modulation ist die Nachfolgerin der CAP, die wiederum die Nachfolgerin von
QAM ist
139
Hinweis: QAM: Quadrature Amplitude Modulation
Hinweis: CAP: Carrierless Amplitude/Phase Modulation
Hinweis: DMT: Discrete Multitone Modulation


Telefon/Fax und DSL sind bei ADSL aufgrund unterschiedlicher Frequenzen simultan
möglich (stören sich nicht)
Typische Anwendungen für ADSL:
• schneller Internet-Zugang für Firmen und Privathaushalte
• Multimedia-Zugang, Video-on-Demand, ...
• und ganz normales telefonieren oder faxen
7.5.10




Warum hat ADSL asymmetrische Datenraten?
Die Upstream-Signale laufen auf dem Weg zur Ortsvermittlungsstelle in großer Zahl auf
engem Raum in einem Kabelkanal zusammen
Übersprechen entsteht, wenn Kabel über längere Strecken parallel und eng beieinander geführt werden
Viele parallele Kabelbündel verstärken nochmal das Übersprechen
Hinzu kommt, dass die Nutzsignale vor der Ortsvermittlungsstelle aufgrund ihres Weges schon stark gedämpft sind
 Die Upstream-Signale sind vor der Ortsvermittlungsstelle klein und werden stark
gestört. Nur niedrige Datenraten sind möglich.
140





Der Grund ist das Übersprechens zwischen Leitungen unterschiedlicher DSL-Modems
Andererseits laufen die Downstream-Signale zu getrennten Teilnehmer-Modems weiträumig auseinander
Das Übersprechen wirkt sich hier wesentlich weniger aus, da die Nutzsignale genau
dann hoch sind, wenn sie eng beieinander verlaufen
Deshalb kann man in der downstream-Richtung höhere Bitraten realisieren
Dieses Verhalten passt zum Kundenverhalten: Browsen im Internet, Video-on-Demand
usw. sind von der Nutzung her ebenfalls asymmetrisch, da viel mehr download als upload erfolgt
7.5.11



QAM-Modulation
Quadrature Amplitude Modulation war die erste Modulationstechnik für DSL-Modems
QAM ist eine Kombination von Amplituden- und Phasenmodulation
QAM heißt:
• Es gibt eine konstante Frequenz, die sog. Trägerschwingung, die das Modem aussendet
und die amplituden- und phasenmoduliert ist
• Die erlaubten Amplituden- und Phasenwerte sind diskret und aus einer vorab festge-
legten Menge von 8, 16 oder 32 Werten
Beispiel: Bei 8-fach QAM gibt es 8 Kombinationen aus 2 verschiedenen Amplitudenund 4 verschiedenen Phasenwerten.
141




Es gibt ein mathematisches Kalkül, das auf Zeigern mit Phasen- und Amplitudenwinkeln beruht: die komplexen Zahlen in der Gausssche-Zahlenebene
Zur Kennzeichnung der erlaubten Kombinationen aus Amplituden- und Phasenwerte
werden komplexe Zahlen, bestehend aus Phasenwinkeln und Amplituden, in die
Gausssche-Zahlenebene eingezeichnet
Anhand der Gaussschen-Zahlenebene ist allerdings nicht erkennbar, welche Frequenz
die Trägerschwingung hat
Würde man diese Information hinzufügen, müsste die ganze Gausssche-Zahlenebene
mit der Frequenz der Trägerschwingung rotieren
142
Beispiel: Die 8-fach- und 16-fach-QAM in der Gaussschen -Zahlenebene
j Im
{Signal}
j Im
{Signal}
Re
{Sig-
Re
{Signal}
8-fach QAM


Die roten Punkte
stellen die zulässigen Amplituden/PhasenKombinationen
dar
16-fach QAM
Jeder Punkt im Diagramm (= komplexe Zahlenebene) entspricht einer erlaubten Kombination aus Amplitude und Phase und kodiert eine Bitkombination aus drei bzw. 4 Bit
8-fach QAM: 2 Amplituden + 8 Phasensprungwinkel, aber nur jeder 2. Punkt belegt =>
8 Datenpunkte, also 3 Bits pro Baud => in einer Sinusschwingung können 3 Bit übertragen werden
143


16-fach QAM: 4 Amplituden+ 8 Phasensprungwinkel + nur jeder 2. Punkt belegt => 16
Datenpunkte, also 4 Bits/Baud => in einer Sinusschwingung können 4 Bit übertragen
werden
Problem: je dichter die Gauss-Zahlenebene mit erlaubten Kombinationen belegt wird,
desto schwieriger wird die Unterscheidung der einzelnen Phasen und Amplituden beim
Empfänger
7.5.11.1 Vectoring

Die erlaubten Kombinationen werden in der Gauss-Zahlenebene etwas verschoben,
und zwar in der Art, dass sie am Ende der Übertragungsstrecke aufgrund der Störungen an der Stelle sind, wo sie ohne Störungen hätten sein sollen (=“Vorverzerrung“)
7.5.12



CAP-Modulation
CAP ist eine verbesserte Version von QAM und benützt höhere Frequenzen
Die Trägerfrequenz („Carrier“), deren Amplitude und Phase moduliert wird, wird nach
der Modulation herausgefiltert wird (= „Carrierless“)
Telefondienst und ISDN liegen unterhalb des CAP-Frequenzspektrums, stören also
nicht
 CAP ist aufwärtskompatibel zum Telefondienst und zu Fax
144
7.5.13









DMT-Modulation
DMT ist ein nochmals verbessertes QAM bzw. ein verbessertes CAP
Die Verbesserung liegt darin, dass nicht nur ein Träger fester Frequenz verwendet wird,
sonden viele
Üblich sind 256 verschiedene Trägerfrequenzen, die alle separat QAM-moduliert werden
Die 256 Trägerfrequenzen werden als Subbänder bezeichnet
Daraus resultiert eine 256-fache Datenrate
Damit sich die einzelnen Trägerfrequenzen möglichst wenig gegenseitig stören, werden sie gleichmäßig auf den zur Verfügung stehenden Frequenzbereich verteilt
Zusätzlich wird der zur Verfügung stehende Frequenzbereich des zweiadrigen, verdrillten Telefonkabels gegenüber CAP deutlich vergrößert
Dies geht auf Kosten der maximal möglichen Kabellänge, da nur kurze Kabel solche
hohen Frequenzen nicht zu stark dämpfen
Bei VDSL wird das Kabel mit der maximal möglichen Bandbreite betrieben, die angepasst ist an Kabellänge, Kabeldurchmesser und äußeren Störungen
145

Frequenzaufteilung bei DMT:
Signalstärke
[dB]
Telefon/ISDN
DSL
256 Subbänder
Analoges Telefon
und Fax im untersten Band





3,4 26
138
1104
f
[kHz]
Die unteren Subbänder bis 138 KHz werden vom analogen Telefon, Fax und ISDN belegt, stehen also für das DSL-Modem nicht zur Verfügung
Schließlich wird bei DMT das Übertragungsverhalten jedes einzelnen Subbands individuell berücksichtigt
Manche Subbänder sind schneller als andere, da auf deren Trägerfrequenzen weniger
Störungen auftreten
Dort können mehr Bits pro Sekunde bei gleicher Fehlerrate übertragen werden => Bitratenadaption
Jedes Subband ist ca. 4 kHz breit. Es wird auch als „Kanal“ bezeichnet.
146


Jeder Kanal überträgt bis ca. 60 kbit/s, falls ein gutes Signal-/Rauschverhältnis vorhanden ist (nach Shannon besser als 30 dB)
Bei starken Störungen in einigen Subbändern werden diese nicht verwendet
 Die Datenrate bei DMT liegt pro Kanal zwischen 60 Kbit/s und 0 Kbit/s



In der Summe über alle Kanäle sind im günstigsten Fall ohne Störungen ca. 16 Mbit/s
über ADSL, bei VDSL bis ca. 50 Mbit/s möglich
Der Telefondienst/Fax liegt wie bei CAP unterhalb der DMT-Frequenzen für Datendienste und wird, falls erforderlich, separat geführt (Splitter an beiden Enden der Leitung
notwendig)
DMT ist amerikanischer ANSI- (T1.413) und europäischer ETSI-Standard
7.5.13.1 Automatische Bitraten-Adaption bei DMT


Wichtiges Prinzip der DMT: „DMT adapts to every line condition“
Damit werden Störungen umgangen bzw. ausgeblendet
147
7.5.13.2 Übertragungsverhalten von Telefonkabeln ohne Störungen
Sendesignal [Bit/s]




Kabeldurchlass
= 1/Dämpfung
[dB]
Empfangssignal [Bit/s]
Frequenz
Frequenz
Frequenz
Sender
Kabel
Empfänger
Das Telefonkabel wirkt wie ein sog. Tiefpass, d.h., es läßt tiefe Frequenzen gut durch
und hohe schlecht => die Dämpfung ist eine Funktion der Frequenz
Hinzu kommt: die Dispersion (Verzerrung) ist ebenfalls eine Funktion der Frequenz
Zusätzlich zu Rauschen, Dämpfung und Dispersion kommen Störungen von außen, die
die schnelle Datenübertragung erschweren
Eine Bitratenadaption jedes Kanals an diese Effekte ist deshalb sinnvoll
148
7.5.13.3 Übertragungsverhalten von Telefonkabeln mit Störungen
Sendesignal [Bit/s]
Sender
Empfangssignal [Bit/s]
Kabel
Empfänger
Funkstörung
Reflektion
Frequenz




Frequenz
Übersprechen
Frequenz
Bei der DMT-Modulation messen die DSL-Modems automatisch nach jedem Einschalten die Übertragungsgüte jedes einzelnen Kanals und adaptieren die Bitrate kanalweise gemäß der jeweiligen Übertragungseigenschaften
Dieser Vorgang dauert einige Minuten und findet jede Nacht statt
Dazu wird die DSL-Verbindung - auch bei einer Flat Rate - unterbrochen
Typische Störungen bei der DSL-Übertragung sind:
• Thermisches Rauschen von Leitungen und Bauteilen aufgrund der Brownschen Molekularbewegung
• Dämpfung des Nutzsignals
149
•
•
•
•
Verzerrung des Nutzsignals
Kabelabzweigung mit daraus resultierender Reflexion des Signals (Echo)
hochfrequente Einstreuung von außen (z.B. durch Radio oder Handy)
Übersprechen, verursacht durch parallel geführte Kabelbündel von Telefonleitungen
7.5.14
HDSL - „High“ Data Rate Digital Subscriber Line
Kunde
T1: 1.544 Mbps : 2
Paare
H E1: 2.048 Mbps : 3
D Paare
S
bis ca. 4 km
L
Vermittlungseinrichtungen
H Optisches
D Netz der TeS lekom-FirL
H
D
S
L
Kunde
H
D
S
L
SONET/SDH




Ältere Technik mit symmetrischen Bitraten über verdrillte Kupferdrähte (Kabelpaare)
Entstanden als kostengünstige Technik der Telecoms zur Realisierung von T1 oder E1
(=1,5 Mbit/s oder 2 Mbit/s-Leitungen) über zwei bis drei parallele Telefonkabelpaare
Basiert auf QAM mit 2 Bits pro 1 Baud oder CAP-Modulation (= viel weniger effektiv als
DMT)
Kein simultaner Telefondienst auf dem Kabel möglich
150


Typische Anwendungen: Für ältere Gebäude, die keinen Glasfaseranschluss haben
Beachte: Glasfaseranschlüsse ins Internet kosten bei der Dt. Telekom je nach Geschwindigkeit ca. € 5000-60 000 pro Monat!
7.5.15
SDSL - Symmetric Digital Subscriber Line
Vermittlungseinrichtungen
Kunde
S
D
S
L
1.544/2.048 Mbps
bis ca. 3 km
S
D
S
L
CORE
NE
WORK
„optical“
S
D
S
L
Kunde
 1,5 / 2
Mb/s
S
D
S
L
SONET/SDH





„Single Line“-Version von HDSL (nur eine Zweidrahtleitung => kostensparend)
Symmetrische Bitraten für Firmen, die Content z.B. für eCommerce ins Netz stellen
Basiert auf QAM, CAP oder DMT-Modulation
Telefondienst und T1/E1 simultan möglich
Typische Anwendungen: wie HDSL aber ebenfalls veraltet
151
7.5.16
VDSL - Very High Data Rate Digital Subscriber Line
remote
side
V
D
S
L
Downstream
bis 50 Mb/s
bis 1 km
bis 10 Mb/s
Upstream
CO side
V
D
S
L
CORE
NETWORK
Multimedia
Service
Provider für Video-on-Demand
Internet
Service
Provider
CO = Central Office





Voll-Duplexübertragung über eine Zweidrahtleitung
Höhere Datenraten als ADSL, aber viel kürzere Kabellängen
Telefondienst, ISDN und Datenübertragung simultan
Typische Anwendungen: nächste Generation von xDSL
VDSL-Netz zur Zeit im Aufbau, u.a. für Video-on-Demand in HDTV-Qualität
152
7.5.17
Die xDSL-Familie im Überblick
symmetrische Datenraten
asymmetrische Datenraten
HDSL
SDSL
ADSL
VDSL
High Data
Rate DSL
Single Line
DSL
Asymmetric
DSL
Very High
Data Rate
DSL
Downstream
1,544 oder
2,048 Mb/s
1,544 oder
2,048 Mb/s
bis ca. 16
Mb/s
bis ca. 50
Mb/s
Upstream
1,544 oder
2,048 Mb/s
1,544 oder
2,048 Mb/s
bis ca. 2
Mb/s
bis ca. 10
Mb/s
max. Leitungslänge
ca. 3 bis 4
km
ca. 2 bis 3
km
bis ca. 10 km
bis ca. 1
km
Adernpaare
2 bei 1,544
Mb/s, 3 bei
2,048 Mb/s
1
1
1
analoges
Telefon/Fax
nein
ja
ja
ja
ISDN
nein
ja
ja
ja
Bezeichnung
Bedeutung
153
Bezeichnung
HDSL
SDSL
ADSL
VDSL
benutzte
Bandbreite
bis 240 kHz
bis 240 kHz
bis 1,1 MHz
bis 30 MHz
Modulationsverfahren
CAP
CAP
DMT
DMT, DWMT
T1/E1Dienste, alte
WAN und
Serverzugänge
T1/E1Dienste, alte
WAN- und
ServerZugänge
Internetzugang, WebTV
HDTV Videoon-Demand
Anfang 90er
Mitte 90er
Mitte/Ende
90er
seit Anfang
2006
Einsatzbereiche
Verfügbarkeit seit
154
7.6
Point-to-Point Echtzeit-Protokoll (PPP) der ISO-Schicht 2b
PVC
PPP
CO
xDSL
xDSL als
Schicht 1
und 2a


ATM
RAS
WAN/
MAN
SONET/SDH = Digitales
Telefon/Datennetz als
Schicht 1 und 2a = WAN
Für den Kunden wird TCP und IP über PPP und DSL transportiert
Im digitalen Telefon-/Datennetz (WAN) wird TCP und IP über ATM und SONET/SDH
transportiert oder TCP/IP betreiben die Glasfaser direkt ohne ATM
Hinweis: CO = Central Office = Telefon-Ortsvermittlungsstelle
Hinweis: RAS = Remote Access Server des Internet Providers
Hinweis: PVC = Permanent Virtual Circuit in ATM = Emulation einer Standleitung in einem virtuellen ATMNetz

PPP ist das Schicht 2b-Protokoll für DSL-Modems
155




Ab der Ortsvermittlungsstelle (CO) geht es dann über das optische „Kernnetz“ einer
Telekommunikations-Firma mit IP über ATM oder purem IP als Protokoll weiter
Der Zugang zum Internet erfolgt über über das optische Kernnetz zu einem Remote Access Server (RAS) des Internet Providers
Der Internet Provider (z.B. 1&1) mietet dazu mehrere sog. PVCs vom Betreiber eines realen oder virtuellen ATM-Netzes
PPP kann bis zum RAS des Internet Providers ausgedehnt werden, PPP wird dann
als „Nutzlast“ (payload) von ATM übertragen


ATM wiederum dient in den Kernnetzen (WANs) als Schicht 2-4-Protokoll und verwendet SONET/SDH als Schicht 1 (Bitübertragungsschicht)
Auf ATM sitzt manchmal, aber nicht immer IP als Nutzlast auf, gefolgt von TCP oder
UDP
7.6.1





Funktion von PPP
PPP stellt eine Schicht 2b-Punkt-zu-Punkt-Verbindung zwischen 2 DSL-Modems her
PPP ist echtzeitfähig und stellt über eine Prüfsumme am Rahmenende fest, ob ein
Übertragungsfehler vorliegt
PPP macht keine Rahmenwiederholung im Fehlerfall, da Rahmenwiederholungen echtzeitschädlich sein können, weil sie Übertragungszeit kosten
PPP nimmt auch keine Authorisierung oder Authentifizierung vor, die sog. AA
AA wird mit extra Protokoll realisiert, z.B. mit Password Authentication Protocol (PAP)
156
7.6.2
Protokollphasen von PPP
1.) Verbindungsaufbau und Konfigurationsaushandlung: ein PPP-Knoten (=DSL-Modem)
sendet spezielle Datenrahmen zum Aufbau der Datenverbindung und zur Konfiguration in der Schicht 2.
2.) Prüfen der Verbindungsqualität: die Leitung wird ausgemessen (eigentlich optional,
wird aber bei DSL-Modems standardmäßig eingesetzt)
3.) Konfiguration des Schicht 3-Protokolls (z.B. IP). Der PPP-Knoten sendet optional spezielle Rahmen zur Konfiguration der Schicht 3. Bei DSL-Modems nicht notwendig, da
nur Punkt-zu-Punkt-Strecke ohne Routing. Diese Funktionalität ist zudem außerhalb
der ISO-7-Schichten-Regeln, da Schicht 2 und Schicht 3 vermischt werden.
4.) Datenübertragung
5.) Verbindungsabbau
8


Echtzeit-Übertragung im Internet
Bei DSL, PCM- oder Sonet/SDH- als Schicht 1 ist Echtzeitübertragung problemlos möglich
Bei ATM-Protokollen (= Schicht 2,3 und 4) sind die Echtzeitbedingungen ebenfalls erfüllt
157





Bei IP Version 4 sind die Echtzeitbedingungen nicht erfüllt
Bei IP Version 6 ist Echtzeit mit Einschränkungen möglich
Schicht 7-Protokolle versuchen, trotz IPv4 näherungsweise Echtzeit zu implementieren
Beispiele für solche Anwendungen: Voice over IP (= telefonieren über das Internet mit
Hilfe eines IP-Telefonapparats oder eines Rechners) mittels Skype, Viber, Tango, ...
Verbesserung der Situation nur durch Übergang auf IPv6 möglich
8.1



PCM-Verfahren zur Echtzeit-Übertragung
PCM = Pulscode-“Modulation“ (schlechte Terminologie, da PCM eine Codierung und
keine Modulation ist)
Dient für die Echtzeitübertragung von Daten auf der ISO-Schicht 1 zwischen TelefonOrtsvermittlungsstellen
Verwendet synchrones Zeitmultiplex:
• Verschiedene Datenquellen werden reihum nacheinander übertragen
• Jeder Quelle wird periodisch eine Zeitscheibe (time slot) zugeteilt
• Multiplexer und Demultiplexer laufen zeitsynchron, d.h gleich schnell und phasenstarr
158
Prinzip:
...
Multiplexer

Bitstrom 2
...
Bitstrom n
Demultiplexer
Bitstrom n
8.1.1
Zeitscheibe 2
Zeitscheibe 1
Bitstrom 2
Bitstrom 1
Zeitscheibe 2
Zeitscheibe 1
bis Zeitscheibe n
Bitstrom 1
bis Zeitscheibe n

Systemparameter von PCM-Zeitmultiplexsystemen
Jedes PCM-Zeitmultiplex-System hat bestimmte Systemparameter, wie z.B.:
• Die kleinste Übertragungseinheit pro Zeitabschnitt (Time Slots): 1 Bit, 1 Byte, n-Bit-Wort
oder Block von n-Bit-Wort Worten
• Die Dauer jedes Zeitabschnitts. Time Slots sind stets äquidistant.
• Die Anzahl der Time Slots in jeder Umlaufperiode
• Die Häufigkeit der Zeitscheibenzuteilung pro Übertragungskanal (1 Mal oder mehrere Male
pro Umlaufperiode)
• Vorhandene Synchronisierhilfen zwischen Multiplexer und Demultiplexer, wie z.B. gemeinsamer Takt für beide Geräte
159
• Sog. Melde- und Signalisierungsdaten für: Rufnummernwahl, Klingeln, Anrufumleitung,
Anrufweiterschaltung, Rufnummernanzeige, Gebührenzählung etc.
8.1.2


Aufbau eines typischen T1-PCM-Rahmens
Kleinste Übertragungseinheit pro Zeitabschnitt: 8 Bit
Dauer jedes Zeitabschnitts: ca. 3,9 µs, Dauer der Umlaufperiode: 125 µs (8000 Hz)
160

Anzahl der Zeitabschnitte pro Periode: 24 Kanäle bei T1-PCM
8.1.3

T1-PCM-System (USA und Japan)
24 Kanäle zu je 8 Bit pro Wiederholungsperiode => 64 000 bit/s pro Kanal
Hinweis: 64 000 bit/s sind nicht gleich mit 64 Kbit/s



Datenmenge pro Periode heißt „Rahmen“. Bruttodatenrate des Rahmens ist 1,544 Mb/s
Das 8. Bit jedes übertragenen Wortes dient als Melde und Signalisierungsbit
Es werden nur 7 Bit pro Kanal als Abtastwerte vom Mikrofon des Telefons übertragen
 Sprachqualität ist im Vergleich zu Europa eingeschränkt
8.1.4

E1-PCM-System (Welt ohne USA und Japan)
Periodendauer = 125 s, bei 32 Kanälen zu je 64 000 bit/s
 alle 125 s kommen 32 Zeitscheiben zu je 8 Bit => Bruttodatenrate 2,048 Mb/s

30 Zeitscheiben sind für Nutzdaten, 2 Zeitscheiben für Verwaltungsinformation
161
8.1.4.1
Aufbau der Datenrahmen bei E1
Gesamte Rahmenlänge
125 µs
0
PCM-codierte
Kanäle
1 bis 15
Kennzeichnungs-Time
Slot
1
15 16
2
PCM-codierte
Kanäle
16 bis 31
30
17
1 Zeitscheibe
X
0
0 1
1
0
1
31
8
Bit
1
In den Rahmen Nr. 1, 3, 5,... wird am Rahmenanfang ein frame delimiter übertragen
Y
In den Rahmen Nr. 2, 4, 6,... wird am Rahmenanfang ein „Meldewort“ übertragen. Es enthält Verwaltungsinformationen: D Meldebit für dringenden Alarm; N Meldebit für nicht dringenden Alarm,
X für internationale Verwendung; Y für nationale Verwendung;
3,9 µs
X
1
D N
Y
Y
Y
0,49 µs pro Bit
162






Zeitabschnitte (= Zeitscheiben) sind mit 0 bis 31 nummeriert
Ein Abschnitt ist ca. 3,9 µs lang. Die gesamte Rahmendauer ist auf 125 Mikrosekunden
genormt
Im Zeitabschnitt 0 werden abwechselnd Rahmenkennworte (u. a. zur Rahmenidentifizierung, Synchronisierung) und Meldeworte, u. a. zur Überwachung der Leitung übertragen
Der Kennzeichen-Zeitschlitz dient zur Übertragung vermittlungstechnischer Daten zur
Rufnummerübertragung, zum Verbindungsauf- und abbau und zur Gebührenzählung
Die 30 übrigen Zeitabschnitte transportieren jeweils 8 Bit lange Abtastwerte eines digitalen Fernsprechkanals mit einer Rate von 64 000 b/s pro Kanal
Anstelle von Fernsprechsignalen werden auch beliebige andere digitalisierte Daten
aus dem Internet und anderen Rechnernetzen in Echtzeit übertragen
8.1.5


Sowohl E1- als auch T1-PCM-Systeme erlauben, mehrere Rahmen zu „Trägern“ höherer Baudraten zu multiplexen
Beim Multiplexen werden mehrere vollständige Träger niederer Datenrate incl. deren
Verwaltungsinformation zu einem Träger höherer Datenrate zusammengefasst
8.1.5.1

PCM-Hierarchien
T1-Hierarchie
Multiplexen erfolgt bitweise nicht byteweise
163

Achtung: die Bitrate bei Ti+1 ist ein nicht ganzzahliges Vielfaches der Übertragungs-Bitraten von Ti, für alle i
8.1.5.2
E1-Hierarchie

Bei E1-Systemen erfolgt das Multiplexen von E1-Rahmen im Gegensatz zu T1 in festen
Schritten von 4 Inputs pro Output, und es gilt stets: En+1 = 4 En => klareres Konzept

E1- bzw. T1-Systeme sind untereinander inkompatibel => Datenaustausch nur über
Konverter möglich
PCM 30 = 2,048 Mbit/s (= E1)

• x 4 liefert PCM 120 = 8,448 Mbit/s (= E2)
• x 4 liefert PCM 480 = 34,368 Mbit/s (= E3)
164
• x 4 liefert PCM 1920=139,294 Mbit/s (= E4)
• x 4 liefert PCM 7680 =564,992 Mbit/s (= E5) und so weiter

Multiplexhierarchie ist nach oben offen: derzeit bis 40 Gb/s in Europa und bis 160 Gb/
s in USA
 erlaubt die Aufwärtskompatibilität bestehender Systeme zu Systemen mit höherer
Datenrate
8.2




SONET = „Synchronous Optical Network“ (= Entwicklung der USA)
SDH = „Synchronous Digital Hierarchy“ (= Entwicklung der Europäer)
SDH ist praktisch identisch zu SONET => weltweite Kompatibilität ist garantiert
SONET/SDH ist ein Wide Area Network (WAN)
8.2.1




Sonet/SDH zur Echtzeit-Übertragung
Warum gibt es SONET/SDH?
E1- und T1-PCM-Systeme beruhen noch auf Kupferkabeln
Moderne PCM-Systeme sind jedoch Glasfaser-basiert
SONET/SDH ist das von der ITU standardisierte Glasfaser-basierte PCM-System
Marktanteil von SONET/SDH bei Glasfaser-PCM-Systemen ist sehr hoch
165
8.2.2
Ziele von SONET/SDH
1.) Weltweit einheitlicher Rahmenaufbau für alle Netzbetreiber
 Weltweite Kompatibilität aller Glasfaser-PCM-Systeme
2.) Kompatibilität zu den alten Kupferkabel-basierten PCM-Systemen E1 und T1
 Unterstützung von Hierarchien aus Multiplex-Rahmen
• Transportiert T1-, T2-, T3-,..., und E1-, E2-, E3- ,..., Träger
• Transportiert auch ATM- und IP-Datenrahmen (ATM = Echtzeitprotokoll für SONET/SDH)
3.) Unterstützung von automatisierter Verwaltung und Wartung aller Netzkomponenten,
sog. „Operation, Administration and Management (OAM)“, so dass menschliche
Interventionen minimiert werden (Kostengründe)
8.2.3




Eigenschaften von SONET/SDH
Synchrones Zeitmultiplexsystem (PCM) mit max. 1 ns Phasendifferenz zwischen Multiplexer und Demultiplexer (= „Jitter“)
Besteht aus Vermittlern, Multiplexern und Repeatern, die über Glasfaser verbunden
sind
Repeater: dienen zum Verstärken des Datensignals
Multiplexer: fassen mehrere Teilbitströme zu einem „höheren Träger“ zusammen, z.B.
4*E1 zu E2 => Multiplexhierarchie
166

Vermittler:
• dienen zur Wegewahl
• sind Bestandteil von Quell-/Zielmultiplexern und allen Multiplexern dazwischen



SONET/SDH implementiert Punkt-zu-Punkt-Verbindungen (sog. SONET-Pfade)
Mehrere Punkt-zu-Punkt-Verbindungen ergeben allgemeinen Graphen als Verbindungstopologie
Aus Redundanzgründen werden je 2 parallele Punkt-zu-Punkt-Verbindungen zu einem
Doppelring ähnlich wie bei FDDI zusammengeschaltet => Fehlertoleranz
167
8.2.4
Aufbau eines SONET/SDH-Pfades
Repeater
Multiplexer
Repeater
Destination
Multiplexer
Empfänger
(Ziel)
Sender (Quelle)
Source
Multiplexer
Section
(Abschnitt)
Leitung
Section
Section
Section
Line
Path
(Pfad)



Abschnitt (section) = Glasfaserstrecke zwischen 2 Geräten (Multiplexer oder Repeater)
Leitung (line) = Faserstrecke zwischen 2 Multiplexern
Pfad (path) = Faserstrecke zwischen Quell- und Zielmultiplexer
8.2.5


SONET/SDH als ISO-Schicht 1 und 2
SONET/SDH ist die ISO-Schicht 1 und 2 für Telefon, Fax und Internet
SONET/SDH ist in 4 Subschichten unterteilt:
168
• Photonteilschicht, Abschnittsteilschicht, Leitungsteilschicht und Pfadteilschicht
8.2.6
Subschichten von SONET/SDH
Sublayers:
Path
Line
Line
Line
Section
Section
Section
Section
Photonic
Photonic
Photonic
Photonic
Multiplexer
Destination
Source
Repeater
Section
Section
Line
Teilschichten
ISO Schicht 1
Path
Section
Line
Path

Photonteilschicht:
• Spezifikation der Glasfaser und der Wellenlänge (meist Infrarot wg. geringer Dämpfung)
• Wandlung zwischen optischem und elektrischem Signal für Empfang und Verstärkung

Abschnittsteilschicht:
• Erkennen von Rahmenanfang und -ende
169
• Erstellen, Einspeisen, Übertragen und Entnehmen von SONET-Rahmen aus der Faser

Leitungsteilschicht:
• Multiplexen/Demultiplexen gemäß Multiplexhierachie

Pfadteilschicht:
• Unterstützt den Ende-zu-Ende-Transport von Daten zwischen Quell- und Zielmultiplexer
Hinweis: die Schicht 1 bei SONET/SDH übernimmt Aufgaben der Datensicherung, die eigentlich erst in
ISO-Schicht 2 relevant werden. Sie leistet außerdem wesentliche Beiträge zu Aufgaben, die erst in der
Wegewahlschicht und der Transportschicht anfallen. Dies ist nicht im Sinne des ISO-7-Schichten-Modells.

Das Routing wird von ATM oder IP gemacht. Die Protokolle benützen dabei SONET/
SDH-Vermittler-Hardware in den Multiplexern der Schicht 1.
8.2.7


SONET/SDH-Rahmenaufbau
Der wichtigste SONET/SDH ist der sog. Basisrahmen
Der Basisrahmen ist ein Block von 810 Byte Länge. Dieser wird ununterbrochen alle
125 s gesendet, auch wenn nicht so viele Nutzdaten zu transferieren sind.
 Bitrate des Basisrahmens ist 51,84 Mb/s, Wiederholungsrate der Basisrahmen ist
8000 Rahmen/s


Basisrahmen heißt auch „STS-1“
Der Nutzdatenanteil ist 774 Byte bei 810 Byte => Nutzdatenrate: 49,536 Mbit/s => 96%
Effizienz
170


Jedes Byte des Blocks wird bitweise über eine Glasfaser übertragen (ein Byte nach
dem anderen und jeder Rahmen nach seinem Vorgängerrahmen)
Datenrate von 8000 Rahmen/s passt zu alten PCM-Systemen
 Aufwärtskompatibilität zu kupferkabelbasierten Systemen

Aufgrund des ununterbrochenen Sendes von Blöcken ergibt sich eine vorhersagbare
Datenrate und eine deterministische Zustellzeit (Latenz) der Rahmen
 SONET/SDH ist echtzeitfähig

Jeder Block von 810 Byte wird gedanklich als 2-dim. Tabelle (= 2 dimensionale Datenstruktur) interpretiert
0 µs
...
Zeit
125 µs


Die gedachte Tabelle hat 90 Spalten und 9 Zeilen (=9*90 Byteblock)
3+1 Spalten der gedachten Tabelle sind für Transportzusatzinformation reserviert
171
8.2.7.1
Feinstruktur des SONET/SDH-Rahmenaufbaus
90 Spalten
Transport-Zusatzinformation
3 Spalten
1 Spalte
0 µs
Zeit
AbschnittsZusatzinformation
3 Zeilen
LeitungsZusatzinformation
6 Zeilen
PfadZusatzinformation
9 Zeilen

125
µs
Transportzusatzinformation dient dem automatisierten Betrieb und dem Management
der SONET/SDH-Geräte (OAM); Wichtig, da Geräte und Glasfaser im Boden vergraben
sind!
172








Die ersten 3 Zeilen der ersten 3 Spalten enthalten Transportzusatzinformation zur SONET/SDH-Abschnittsverwaltung
Die restlichen 6 Zeilen der ersten 3 Spalten enthalten Transportzusatzinformation zur
SONET/SDH-Leitungsverwaltung
Zusätzlich gibt es eine Spalte mit Transportzusatzinformation zur SONET/SDH-Pfadverwaltung
Die Transportzusatzinformation definiert den Beginn einer weiteren gedachten Struktur, den sog. Synchronous Payload Envelope (SPE)
Der SPE dient zum flexiblen Transport von Nutzdaten verschiedener Länge
Der SPE kann mitten im Byteblock beginnen
Sein Beginn wird durch einen Zeiger in der Leitungsverwaltung gekennzeichnet
Der SPE reicht bis zum Beginn des nächsten SPE im nachfolgenden Byteblock
173
8.2.7.2
Lage des SPE zwischen zwei aufeinanderfolgenden Rahmen
174

Sektions- und
Leitungszusatzinformation (3 Spalten)
PfadZusatzinformation (1 Spalte)
gedankliches
Anhängen der
Positionen 4-5,
9-10, ... an die
Positionen 3,8, ...
H1 H2
J1
Rahmen N
(9 Reihen)
Anfang von
SPE 1
Fortset9 Reizung 1 hen
Fortsetzung 2
H1 H2
Rahmen
N+1
(9 Reihen)

3 Spalten
J1’
Anfang von
SPE 2
87 Spalten
2 Byte (H1 und H2) bilden einen Zeiger auf die zwischen den Bytefeldern J1 und J1’ liegenden Nutzdatenbyte des SPE => Durch H1 und H2 ist direkter Zugriff auf den SPE gegeben
175

Durch einen weiteren Zeiger namens C1 wird die Position eines gemultiplexten STS-1Rahmens in der Multiplexhierarchie eines STS-N-Rahmens adressiert
 Durch C1 ist ein direkter Zugriff auf einzelne STS-1-Rahmen d.h. auf einzelne Kanäle
in der Multiplexhierachie gegeben
Hinweis: Für die Begriffe „STS-1“ und „STS-N“ siehe nachfolgende Kapitel
8.2.7.3

Diese 3 Felder werden gebraucht für:
•
•
•
•
•
•



Abschnitts-, Leitungs- und Pfadinformation
Rahmenerkennung
Datensicherung
Fehlerüberwachung der Übertragungsstrecken und Geräte im Erdboden
Übertragung von Takt und Synchronisation zwischen Multiplexern
Prüfinformationen für OAM
Sprachkanäle für OAM
Die Infos der Abschnittsverwaltung werden am Ende jedes Abschnitts ausgewertet
und dann für den nachfolgenden Abschnitt wieder neu erzeugt
Die Infos der Leitungsverwaltung werden am Ende jeder Leitung ausgewertet und für
die nachfolgende Leitung wieder neu erzeugt
Die Infos der Pfadverwaltung werden nur einmal erzeugt (am Anfang des Pfades) und
ausgewertet (am Ende des Pfades)
176
8.2.8





SONET/SDH-Multiplexen
Beim Multiplexen werden mehrere vollständige Byteblöcke niederer Datenrate inkl. deren Verwaltungsinformation zu einem Byteblock höherer Datenrate zusammengefasst
Der Byteblock höherer Datenrate wird als Träger bezeichnet
Multiplexen der Byteblöcke erfolgt auf Bytebasis
Der neue Byteblock hat die n-fache Größe der Eingangsblöcke (bei n Eingangsströmen)
Seine Wiederholrate ist ebenfalls 125 s
 Datenrate ist n-fach höher




SONET verwendet ganzzahlige Vielfache der STS-Grundrate für die Bitraten höherer
Träger
STS-N = Synchronous Transfer Signal Number N; STS-Grundrate ist STS-1 = 51.84 Mb/s
Mehrere Multiplexer hintereinander definieren eine Multiplexhierarchie wie bei E1/T1Systemen
Es ergibt sich eine Hierarchie von Datenraten: STS-1, STS-2,..., allerdings gibt es keinen festen Faktor 4 mehr beim nächst höheren Träger wie bei E1, E2=4*E1, E3=4*E2
etc.
177
8.2.9
Aufbau eines STS-N-Rahmens
N*90 Spalten
TransportZusatzinformation
N*3 Spalten
Container
N*86 Spalten
0
9 Reihen
N Spalten
Pfad-Zusatzinformation


125
µs
Die Daten werden byteweise in den STS-N-Rahmen gemultiplext
Die Felder für Sektions-, Leitungs- und Pfad-Zusatzinformationen sind jeweils N-mal
vorhanden
 über die Zusatzinformationen ist ein direkter Zugriff auf die Nutzdaten möglich
178
8.2.10

Beispiel für eine Multiplexhierarchie bei SONET/SDH
Das gewandelte optische Signal bildet eine Hierarchie: OC-1, OC-2,...,OC-48,...OC-N
Hinweis: OC = Optical Carrier = opt. Trägersignal

OC-x ist bis auf eine zusätzliche Datenverschlüsselung (Scrambling) das optische Pendent zum elektrischen STS-x-Signal
179

Scrambling sorgt für Datensicherheit und verhindert außerdem lange 0000...- oder
1111...-Folgen (= besser für die Empfängerelektronik)
8.2.11


Multiplexraten bei SONET/SDH
155 Mb/s, 622 Mb/s und 2488 Mb/s sind gebräuchliche Datenraten für ATM, wenn ATM
über SONET/SDH transportiert wird
100 Gb/s ist derzeit die maximale Datenrate des in Deutschland existierenden DFN-Wissenschafts-Netzes X-WIN
8.2.11.1 Höhere Datenraten für einen einzigen Sender




Hohe Übertragungsraten (>>STS1 bzw. >>STM1) für eine einzige Datenquelle können
dadurch erzielt werden, dass man mehrere Basisrahmen dieser Quelle multiplext
In diesem Fall wird nicht byteweise gemultiplext sondern spaltenweise
Dabei werden korrespondierende Spalten mehrerer Byteblöcke derselben Quelle konkateniert
Der neue Byteblock hat eine entsprechend größere Spaltenzahl
 Der neue Byteblock hat die n-fache Größe der Eingangsblöcke und wird ebenfalls in
125s übertragen => es folgen mehr Spalten schneller hintereinander
180
9 Stadtnetze (Metropolitan Area Networks, MANs)

Stadtnetze erstrecken sich nicht nur über eine Stadt, sondern auch eine Region oder
auch über ein größeres Firmengelände oder einen Universitätscampus
9.1

Beispiele für ein MAN: FDDI und DQDB
FDDI = Fibre distributed Data Interface
• = glasfaserbasiertes MAN mit 100 Mb/s mit bis 200 km Länge

DQDB = Distributed Queue Dual Bus
• = MAN mit 34 Mb/s = Standard für die ersten Glasfaserleitungen
9.2






FDDI (Fiber Distributed Data Interface)
Durch ANSI und ISO standardisierter Nachfolger von Token Ring als MAN
Große räumliche Ausdehnung (200 km)
Große Anzahl an Stationen (bis 1.000), die angeschlossen werden können
Topologie ist aus Fehlertoleranzgründen ein Doppelring mit gegenläufigen Rahmen
Glasfaserbasierend (Gradientenfaser oder Monomode-Faser) mit 1.300 nm Wellenlänge = fernes Infrarot
Preisgünstige Leuchtdioden als Sender (keine teuren Laserdioden)
181





Zugangssteuerung (Medium Access Control) über kreisende Sendeberechtigungsmarke (Token) mit zahlreichen Überwachungen (Checks) der Funktion, wie z.B. time-outÜberwachung der periodischen Wiederkehr des Tokens an jeder Station etc.
Erhöhung der Bandbreite durch multiples Senden zur selben Zeit auf demselben Ring
durch Anhängen mehrerer Senderahmen zu einem ganzen Zug von Rahmen
Kreisendes Token resultiert in deterministischen Sendezeiten (sog. time slots) für jede
Station => Echtzeitdatenübertragung ist möglich = „synchrone Betriebsweise“
Bandbreite kann auch anderweitig genutzt werden („asynchrone Betriebsweise“)
Durch Time Sharing des Rings ist im schnellen Wechsel synchrone und asynchrone
Betriebsweise möglich
182
Beispiel für eine FDDI-Topologie
Klasse B
Klasse A
Station
1
Station 4
Klasse C
Klasse A
Station 5
Klasse B
Station
2
Klasse B
Station
3
„Single Attachement Station“ = Klasse B
„Dual Attachment Station“ = Klasse A
Konzentrator
„Single and Dual Attachement Station“ = Klasse C
9.2.1
Station 6
Klasse A
single attachment: 1 FDDI-Anschluss
dual attachment:
2 FDDI-Anschlüsse
attachment:
Anhang, Zusatz
183
9.2.2
FDDI als Backbone
PCs oder
Workstations
Weitverkehrsnetz
Host
Konzentrator
Gateway
FDDI-Ring
IEEE 802.3
Ethernet Bridge
IEEE 802.4
Token Bus Bridge
IEEE 802.5
Token Ring Bridge
diverse lokale Netze
Hinweis: Backbone: Rückgrat
9.3
Vergleich Ethernet und FDDI
9.3.1
Ethernet (mit Switch und ohne Zugangssteuerung)


Einfaches Protokoll, leicht implementierbar, kein Netzwerk-Monitor notwendig
Topologische Einschränkungen (bei Switch nur Sterntopologie möglich)
184


Keine Rahmen-Prioritäten, zudem Problem des „bubbling idiots“
Keine zeitliche Obergrenze bei der Rahmenzustellung garantierbar
 für Echtzeit selbst mit Switch nur bedingt geeignet, aber preisgünstig und weit verbreitet
9.3.2






FDDI (Token-Zugangssteuerung)
hohe Zuverlässigkeit u.a. dank Glasfaser und Fehlerbehebung bei Token-Verlust
(=„Token Recovery“) durch Netzwerk-Monitor
Hohe Systemausnutzung, überträgt viel Verkehr effizient
Unterstützt unterschiedliche Rahmenprioritäten
Feste Zustellzeit bei der Rahmenübertragung garantierbar (außer beim Auftreten von
Fehlern)  deterministisch, für Echtzeit geeignet
Übertragung von zeitsynchronem Echtzeitverkehr zusammen mit Nicht-Echtzeitverkehr (asynchron) auf demselben Kabel
Eine Weiterentwicklung von FDDI ist CarRing
10 Weitverkehrsnetze (Wide Area Networks, WANs)

Weitverkehrsnetze verbinden Stadtnetze (MANs) miteinander, in Einzelfällen auch
LANs
185
10.1

Unterschied zwischen LANs, MANs und WANs
LANs und MANs bestehen aus einem gemeinsamen Übertragungsmedium (Kabel oder
Switch oder Funkkanal) und den daran angeschlossenen Rechnern (sog. Hosts)
 LANs und MANs sind Broadcast-Netze auf der Schicht 1. Eine Wegewahl (Routing) ist
nicht erforderlich, da jede Nachricht im Prinzip bei allen Hosts vorbeikommt.


WANs bestehen aus mind. 1 Weitverkehrsstrecke sowie aus einem oder mehreren
LANs und/oder MANs am Anfang und Ende der Weitverkehrsstrecke als Zubringer
Es gilt: alle Weitverkehrsstrecken sind Punkt-zu-Punkt-Verbindungen.
Beispiel: SONET/SDH ist eine Punkt-zu-Punkt-Verbindung zwischen zwei benachbarten
Multiplexern.


An den Endpunkten einer Weitverkehrsstrecke sitzen spezielle Hosts, sog. Router
Im Falle von SONET/SDH wird die Wegewahl von Multiplexern vorgenommen.
 Jeweils zwei benachbarte Router sind miteinander verbunden



Router dienen zur Kopplung von MANs und WANs
Es gilt: jeder Router ist mit einem Nachbar-Router über eine Punkt-zu-Punkt-Verbindung gekoppelt. Diese Strecke kann ein LAN, MAN oder eine Weitverkehrsstrecke sein.
Bei WANs ist ein sendender Host i. A. nicht im selben LAN oder MAN wie der empfangende Host.
186
 Auf seinem Weg durchläuft ein Paket i. A. mehrere Netze (LANs, MANs, WANs)
 Bei der Kopplung von WANs ist eine Wegewahl (Routing) erforderlich


Multicast -und Broadcast-Funktionen auf Schicht 3 würden eine Vervielfältigung eines
eintreffenden Pakets im Router erfordern
Dies wird bei IPv4 nicht gemacht, statt dessen werden auf Schicht 4 viele einzelne
Punkt-zu-Punkt-Verbindungen aufgebaut.
Beispiel: Bei web TV können das Zehntausende simulaner TCP-Verbindungen sein.
Beispiel: für eine Weitverkehrsstrecke mit Protokoll: ATM über SONET/SDH.


ATM entspricht ungefähr den ISO-Schichten 2-4
SONET/SDH entspricht ungefähr der ISO-Schicht 1
187
11 Vermittlungsschicht (ISO-Schicht 3)






Die Vermittlungsschicht transportiert ein Datenpaket, das von einem Host erzeugt
wird, über eine Folge von Routern zum empfangenen Host
Die Folge von Routern heißt Weg, Pfad, Route oder Leitweg durch das Netz
Das Routing erfolgt mit Methoden der Graphentheorie
Dabei wird das Netz als Graph dargestellt
Knoten des Graphen sind die Router
Kanten des Graphen sind LANs, MANs und Weitverkehrsstrecken
188
11.1
Position der Router im ISO-Modell
Schichten
Anwendung
Endsystem
Zwischenknoten als
Vermittlungsschicht
Endsystem
Darstellung
Sitzung
Transport
Vermittlung
Sicherung
Bitübertragung
physikalische Medien

In den Routern existieren nur die Schichten 1-3 des Protokollstapels, denn Vermittler
interessieren sich nicht für den Inhalt der Datenpakete
 Pakete müssen im Stack nur bis Schicht 3, in den Endsystemen hingegen in allen
Schichten verarbeitet werden
189
11.2



Aufgaben der ISO-Vermittlungsschicht
Ziel der ISO-Schicht 3: eine möglichst große Vielfalt von Netzen und Technologien soll
unterstützt werden
Dies wird im Internet sowohl bei IPv4 als auch bei v6 erreicht
Die ISO-Vermittlungsschicht ist für die Wegewahl, sowie für einen Verbindungsaufund -abbau und auch für Multiplexen und Demultiplexen mehrerer Pakete zuständig
Hinweis: beim Time Division Multiplex dient eine Leitung oder ein Funkkanal nacheinander der
Übertragung mehrerer Pakete unterschiedlicher Herkunft und Ziele.





Die ISO-Vermittlungsschicht zerkleinert außerdem beim Sender zu lange Pakete in kürzere Fragmente und vereinigt diese wieder zum Originalpaket beim Empfänger (Fragmentation and Reassembly)
Sie macht Fehlererkennung/Fehlerbehebung zwischen Sender und Empfänger (Endezu-Ende)
Sie sorgt für die Sicherstellung der korrekten Paketreihenfolge beim Empfänger durch
Sequenznummern
Sie verhindert die Überflutung des Empfängers durch zu viel Daten in zu kurzer Zeit
durch eine sog. Flow Control
Sie verhindert eine Überlastung der an die Router angeschlossenen Teilnetze durch
eine sog. Congestion Control
190

Von diesen vielen Aufgaben ist bei IPv4 nicht viel übrig geblieben (nur Wegewahl, sowie Fragmentation and Reassembly, sowie etwas Fehlererkennung), IPv6 ist besser
11.2.1

Zwei Arten der Datenübertragung in der ISO-Schicht 3
Es gibt zwei Arten der Datenübertragung: „virtuelle Verbindungen“ und „Datagramme“
Beispiel: IP = Datagramm, ATM = virtuelle Verbindung.
Def.: Virtuelle Verbindung:
• Eine virtuelle Verbindung zwischen zwei Endsystemen (Hosts) ahmt eine direkte physikalische Verbindung wie z.B. ein Stück Draht zwischen zwei Hosts nach
• Da es eine solche direkte Verbindung i.a. aufgrund der (vielen) Router dazwischen nicht
gibt, spricht man von einer virtuellen Verbindung
Def.: Datagramm:
• Jedes Datagramm umfasst genau ein Paket
• Das Paket wird als isolierte Einheit betrachtet, die geroutet werden muss
11.2.1.1 Eigenschaften von ISO-Schicht-3-virtuellen Verbindungen


Der Weg durch das Netz wird vor dem ersten Datentransfer in einer Verbindungsaufbauphase vollständig festgelegt
In jedem Zwischenknoten findet nur in der Verbindungsaufbauphase eine Wegewahlentscheidung statt
191




Der Verkehr nimmt nach der Verbindungsaufbauphase stets denselben Weg
Die Pakete brauchen deshalb keine Herkunfts- und Zieladresse im Header
Am Ende des Datentransfer folgt eine sog. „Verbindungsabbauphase“
Jede virtuellen Verbindung hat insgesamt drei Phasen
• Verbindungsaufbau, Datenübertragung und Verbindungsabbau

Vorteile von virtuellen Verbindungen
• Kein Aufwand für die Wegewahl während der Datenübertragung nötig

Nachteile von virtuellen Verbindungen
• Rel. unflexibel bei sich schnell ändernden Netztopologien oder Routerausfällen
• Aufwand für den Verbindungsauf- und abbau nötig
• Verbindungsauf- und abbau lohnen sich nur bei längeren Übertragungen
11.2.1.2 Eigenschaften von ISO-Schicht-3-Datagrammen




Jedes Paket enthält eine Herkunfts- und Zieladresse
Die Zieladresse bestimmt in jedem Router die richtige vom Router abgehende Leitung
Für jedes Datagramm wird in jedem Router spontan eine Wegewahlentscheidung getroffen
Die Wegewahlentscheidung hängt vom Ziel des Pakets, von dem momentanen Zustand
der an den Router angeschlossenen Subnetze und vom derzeitigen Füllgrad der Router-Sendepuffer ab
192

Pakete, die zur selben Nachricht gehören, können unterschiedliche Wege gehen
 Pakete,die später abgeschickt wurden, können früher ankommen

Vorteile von Datagrammen:
• Simpler als virtuelle Verbindungen, daher einfacher zu implementieren
• Kein Verbindungsauf- und -abbau nötig, deshalb niedriger Overhead, was gut für kurze Datentransfers ist
• Flexibler und zuverlässiger bei Router-Ausfällen, da mehr als ein Weg zum Ziel führt
• Datagramme sind besser geeignet für heterogene Teilnetze, die miteinander gekoppelt
sind, da virtuelle Verbindungen für heterogene Teilnetze technisch aufwendig sind

Nachteile von Datagrammen:
• Zieladresse und Herkunftsadresse sind in jedem einzelnen Datagramm notwendig
• Pakete können in permutierter Reihenfolge beim Empfänger eintreffen
• Schicht-3-Datagramme haben keine gute Fehlerüberwachung und implementieren keine
Flusssteuerung und keine Überlastungssteuerung
11.2.2


Virtuelle Verbindungen und Datagramme auf den ISO-Schichten 3 und 4
Virtuelle Verbindungen und Datagramme kann es sowohl auf ISO-Schicht 3 als auch
auf Schicht 4 geben
Virtuelle Verbindungen auf Schicht 3 unterscheiden sich jedoch von Schicht-4-Verbindungen:
193
Def.: Eine ISO-Schicht-3-Verbindung bezieht sich darauf, dass die Wegewahl nur einmal
während der Verbindungsaufbauphase erfolgt. Der Datentransfer erfolgt über einen sog.
„perfekten Kanal“ (siehe unten).
Def.: Eine ISO-Schicht-4-Verbindung bezieht sich darauf, dass es einen Zustand
„Schicht-4-Verbindung aufgebaut“ gibt, der in einem endlichen Automaten bei Sender
und bei Empfänger registriert wird. Auch hier erfolgt der Datentransfer über einen perfekten Kanal.

D.h., Schicht-3-Verbindungen haben nichts mit Schicht-4-Verbindungen zu tun, vielmehr kann man z.B. eine Schicht-4-Verbindung mit einem Schicht-3-Datagramm kombinieren
Beispiel: IP und UDP sind Datagramme, TCP macht virtuelle Verbindungen. Es kann
sowohl TCP mit IP als auch UDP mit IP kombiniert werden.
11.2.3


Perfekte Kanäle bei virtuellen Verbindungen
Eine virtuelle Verbindung ist ein perfekter Kanal durch das Netz
Perfekte Kanäle erbringen folgende Dienstleistungen:
•
•
•
•
Sicherstellung der Paketreihenfolge beim Empfang (kein Überholen)
Erkennung von Übertragungsfehlern und Korrektur durch Paketwiederholung
Verlorene und duplizierte Pakete werden erkannt und wiederholt bzw. beseitigt
Flusssteuerung wird von Ende-zu-Ende durchgeführt
194
11.2.3.1 Aufbau einer virtuellen Verbindung in einem Beispiel-WAN

Der Verbindungsaufbau erfolgt schrittweise auf jeder Teilstrecke
R
LAN
R
WAN
1. Connect
Request
H
2. Connect
Request
G/R
Beispiel
WAN
G/R
H
H
G/R
H
WAN
MAN
R
R
H = Endsystem (Host)
R = Router, G = Gateway
R
R
3.+4. Connect
Request
H
G/R
G/R
G/R
Connect
Confirmations
H
H
Connect
Confirmations
G/R
G/R
R
R
195
H
11.2.3.2 Verwaltung virtueller Verbindungen in einem Beispiel-WAN
H
B
H
Hosts
H
C
H
D
A
LANs
F
E
H

LANs
MANs
oder WANs
Router/Gateways
H
In jedem Router werden Tabellen mit Zustandsinformationen über durchlaufende virtuelle Verbindungen verwaltet.
Beispiel: Ausgehend von A und B sollen acht neue virtuelle Verbindungen durch das
obige WAN gelegt werden.
Ausgehend von A
Ausgehend von B
lfd. Nr.
Pfad
lfd. Nr.
Pfad
0
ABCD
1
BCD
0
AEFD
0
BAE
196


1
ABFD
1
BF
2
AEC
-
-
3
AECDFB
-
-
In jedem Router gibt es eine Tabelle zur Verwaltung der virtuellen Verbindungen
Jede im Router ankommende und abgehende virtuelle Verbindung erhält eine Nummer
Beispiel: Zustandsinformation in den Routern aufgrund alter und neuer Pfade:
H
Zum Host-Empfänger
H
Vom
Host =
sender
A
H0 B0
H1 E 0
B0 E 1
H2 B1
H3 E 2
H4 E 3
Tabelle
B
A0
H0
H1
A1
H2
F0
E
A0
A1
A2
A3
C0
C1
A0
F0
F1
H0
F0
H0
C0
C1
197
C
B0
B1
E0
E1
F
E0
B0
B1
D0
D0
D1
H0
D2
D0
D1
H0
B0
D
C0
C1
F0
F1
C2
H0
H1
H2
H3
F0
Beispiel: H 4 E 3 in Router A heißt: Vom Host H kommt eine Verbindung bei Router A
an, die dort unter der Nr. 4 verbucht wird. Diese Verbindung wird unter der Nr. 3 an den
Router E weitergereicht und dort ebenfalls unter der Nr. 3 verbucht.
 Eine virtuelle Verbindung hat beim Nachbar-Router dieselbe Nummer, wenn sie den
Nachbar-Router betritt und i.d.R. eine andere Nummer wenn sie den Nachbar-Router
wieder verlässt
Beispiel: Verbindung HAECDFBH
Verbindungsnummer

H to A
4
A to E
4 3
E to C
3 1
C to D
1 2
D to F
2 0
F to B
0 0
B to H
0 0
H
A
E
C
D
F
B
0
H
Der Vorteil unterschiedlicher Verwaltungsnummern für dieselbe ankommende und abgehende Verbindung ist, dass jeder Router seine Routing-Tabelle selbständig verwalten kann, ohne dass netzweit eindeutige Verbindungsnummern vergeben werden müssen, was unmöglich wäre
198

Nur zwischen benachbarten Routern muss für dieselbe Verbindung dieselbe Nummer
verwendet werden, aber nicht innerhalb eines Routers
11.3


Routing-Algorithmen für virtuelle Verbindungen und Datagramme
Sowohl virtuelle Verbindungen als auch Datagramme benötigen Routing-Algorithmen
Allerdings ist der Aufwand bei einer einmal hergestellten virtuellen Verbindung erheblich kleiner als bei Datagrammen, da die Wegewahlentscheidung bereits getroffen ist
11.3.1
Aufgabe von Routing-Algorithmen
Def.: Die Aufgabe von Routing-Algorithmen ist die Wegewahl für Pakete vom Quellsystem zum Zielsystem (Ende-zu-Ende)


Der Wegewahlalgorithmus eines Routers entscheidet, auf welcher Ausgangsleitung eines Routers ein eingegangenes Paket weitergeleitet wird
Wünschenswerte Eigenschaften eines Wegewahlalgorithmus sind:
•
•
•
•
•
•
Korrekt: Paket findet immer zum Ziel
Einfach: schnell auszuführen
Robust gegen Rechner- oder Leitungsausfälle
Stabil: liefert deterministische Ergebnisse
Fair: kein Paket wird benachteiligt
Optimal: findet den schnellsten oder den kürzesten Weg
199
11.3.2

Eigenschaften von Routing-Algorithmen
Zwei Optimierungskriterien, die ein Routing-Algorithmus verfolgen sollte:
• Entweder Minimierung der durchschnittlichen Paketverzögerung (Netzlatenz) oder
• Maximierung des Gesamtdurchsatzes des Netzes (Netzbandbreite)

Dies sind sich widersprechende Optimierungen, daher gilt oft folgende Heuristik:
• Nur Minimierung der Latenz, indem die Verzögerungen auf den einzelnen Teilstrecken
(hops) minimiert wird (= Kompromiss)

Vorteil der Latenzminimierung auf den Teilstrecken:
• Reduziert meist auch die Ende-zu-Ende Latenz (aber nicht in allen Fällen)
• Vermindert benötigte Bandbreite
• Steigert Durchsatz, allerdings i. A. nicht bis zum Maximum

In einem Netz können Latenz und Durchsatz nicht gleichzeitig optimiert werden, weil
hoher Durchsatz gemäß Warteschlangentheorie (Queueing Theory) nur durch eine
hohe Latenz erreichbar ist.
Beispiel: Wartezimmer beim Arzt ist meistens voll, da Ärzte ihren Patienten-Durchsatz
optimieren wollen, aber nicht deren Wartezeit.
11.3.3
Klassifikation von Routing-Algorithmen
1. Statische (nicht adaptive) Verfahren
• Keine Berücksichtigung des aktuellen Netzzustandes
200
• Gehen von Mittelwerten im Netz aus, nicht von lokalen Informationen, die sich ändern
• Pfad zwischen Knoten i und j wird für alle (i, j) vor der Inbetriebnahme des Netzes berechnet
• Keine Änderung während des Betriebs => statisches Routing

2. Adaptive Verfahren
• Entscheidungen basieren auf aktuellem Netzzustand
• Messungen/Schätzungen der Topologie und des Verkehrsaufkommens sind Basis für die
Wegewahlentscheidung

Feinere Unterteilung der adaptiven Verfahren erfolgt gemäß:
• Zentralisierte Verfahren
• Lokale Verfahren
• Verteilte Verfahren
11.3.4



Statisches Routing
Beim statischen Routing ist die gesamte Topologie des Netzes einer zentralen Stelle
bekannt
Sie berechnet die optimalen Pfade für jedes Paar (i, j) von Knoten, erstellt daraus die
Routing-Tabelle für die einzelnen Knoten und versendet diese an alle (= Routing über
statische Tabellen)
Nur sinnvoll, wenn das Netz klein und statisch ist
201

Eigenschaften von statischem Routing:
• Optimale Pfade (i, j) für alle i, j sind i.d.R. kürzeste Pfade oder schnellste Pfade
• Kürzeste Pfade werden zentral über den Graphenalgorithmus „Spannbaum“ bestimmt
bzw. über „minimalen Spannbaum“
• Das bekannteste Verfahren zur Berechnung eines minimalen Spannbaums ist das von Dijkstra
• Definition Spannbaum:
Gegeben sei Graph G = (V, E). Dann ist G’= (V, E’) ein Spannbaum von G, wenn G’ = Baum
E’ erreicht alle Knoten von G gilt.
11.3.4.1 Zusammenfassung statisches Routing

Eigenschaften
• Tabellen werden zentral erstellt
• Tabellen werden vor Inbetriebnahme des Netzes in die Knoten geladen und dann nicht
mehr verändert

Vorteile
• Einfach zu implementieren
• Gute Ergebnisse bei relativ konstanter Topologie und konstantem Verkehr

Nachteile
• Schlecht bei stark variierendem Verkehrsaufkommen und bei Topologieänderungen
• Schlecht bei großen Netzen (skaliert nicht)
202
11.3.5

Optimierungen von Routing-Algorithmen
Sowohl bei statischem als auch bei dynamischem (= adaptivem) Routing können zwei
Optimierungen erfolgen:
• Mehrfachpfade: dienen zum Finden alternativer Wege durch das Netz
• Hierarchische Wegewahl: dient zur Vereinfachung der Routing-Algorithmen
11.3.5.1 Mehrfachpfade (Multipath Routing)


Prinzip: Benutzung alternativer Wege zwischen jedem Knotenpaar (i, j) ist erlaubt
Vorteile:
• Alternative Wege können gemäß ihrer „Güte“ ausgewählt werden: „gute“ Wege häufiger,
„schlechte“ seltener
· guter Weg := schnellster/kürzester/geringste Warteschlange/höchste Bandbreite/höchste Zuverlässigkeit => Metrik
• Höherer Durchsatz durch Verteilung des Datenverkehrs auf mehrere Pfade erreichbar
• Höhere Zuverlässigkeit, da der Ausfall eines Links nicht so schnell zur Unerreichbarkeit
von Knoten führt
203
11.3.5.2 Realisierung von Mehrfachpfaden

Jeder Knoten enthält Routing-Tabelle mit je einer Zeile für jeden möglichen Zielknoten
eine Zeile
Zielknoten
A1
G1
A2
G2
...

Ai: i-beste Ausgangsleitung des jeweiligen Zwischenknotens

Gi: Gewicht für Ai (drückt die Güte der Leitung aus)
An
Gn
• Gi bestimmt die Wahrscheinlichkeit, mit der Ai benutzt wird
• Die Summe aller Gewichte Gi muss 1 ergeben
• Die Gewichte Gi der Ausgangsleitungen werden gemäß der jeweils gewählten Metrik
(schnellster Weg, kürzester Weg,...) bestimmt
204
Beispiel: gegeben sei eine Paketquelle J und ein Ziel B und mit G1(A) = 0,46; G2(H) =
0,31; G3(I) = 0,23
A
B
I
J
H
L
K
Gewichte werden auf dem Zahlenstrahl von 0 bis 1 aufgereiht (z. B. links das höchste,
rechts das niedrigste; genaue Reihenfolge ist jedoch ohne Belang)
über H
über A
0

D
G
F
3 Alternativen
E

C
Gewicht G1
0,46
Gewicht G2
über I
0,77 Gewicht G3 1
Dann erfolgt eine Zufallsauswahl der alternativen Ausgangsleitung gemäß ihres Gewichts (= Güte):
• Generieren einer Zufallszahl z (0  z 1)
205
• Wähle A, falls 0 zG1, wähle H falls G1z< G1+G2, wähle I falls G1+G2 z < G1+G2+G3
 Jeder Weg wird im Mittel entsprechend der Länge seiner Güte mit der gewünschten
Häufigkeit benutzt
11.3.5.3 Hierarchische Wegewahl


Ausgangssituation: die Größe der Routing-Tabellen ist ohne hierarchische Leitwegbestimmung proportional zur Größe des Netzwerks:
Nachteile dieser Methode:
• Großer Speicherbedarf + viel CPU-Zeit zum Durchsuchen der Tabellen
• Viel Bandbreite zum Austausch von Informationen zwischen den Routern




Ab einer bestimmten Netzgröße ist hierarchische Leitwegbestimmung notwendig
Hierarchische Wegewahl heißt, dass die Menge der Router in Regionen unterteilt wird
Üblicherweise wird eine zweistufige Hierarchie verwendet, bestehend aus Regionen
und Knoten innnerhalb jeder Region
Jeder Knoten kennt dabei:
• Alle Routing-Details in seiner Region + die Wege zu allen anderen Regionen

Er kennt nicht die Wege innerhalb anderer Regionen
Er weiß nur, in welcher Region der Zielknoten liegt und routet zu dieser Region

Nachteil: nicht immer sind optimale Entscheidungen möglich

206
11.3.5.4 Beispiel einer zweistufigen Hierarchie
Region 1
1B
2A
1C
1A
Volle Tabelle für 1A
2B
Region 2
2D
2C
Region 4
4B
Region 3
3A
5B
5A
3B
4A
4C
5C
Region 5
5D
5E
Hierarchische Tabelle für 1A
Ziel
Leitung
Teilstrecken
1A
-
-
 hierarchische Tabelle ist
viel kürzer
Ziel
Leitung
Teilstrekken
1A
-
-
1B
1B
1
1C
1C
1
2A
1B
2
2B
1B
3
2C
1B
3
2D
1B
4
3A
1C
3
3B
1C
2
4A
1C
4
4B
1C
3
4C
1C
4
1B
1B
1
1C
1C
1
5A
1C
4
2
1B
2
5B
1C
5
3
1C
2
5C
1B
5
4
1C
3
5D
1C
6
5
1C
4
5E
1C
5
207
11.3.6

Adaptives Routing
Man unterscheidet drei Gruppen von adaptiven Verfahren:
1.) Zentrale Verfahren
2.) Lokale Verfahren
3.) Verteilte Verfahren

Zentral heißt:
• Einer führt offline oder online den Wegewahl-Algorithmus aus (= zentrale Instanz)

Lokal heißt:
• Alle Router führen den Algorithmus aus, aber ohne Kommunikation miteinander (= isoliert)

Verteilt heißt:
• Alle Router führen den Algorithmus mit Kommunikation aus, d. h. unter Austausch von Information untereinander
11.3.7

Adaptives und verteiltes Routing
Folgende Methoden wurden bzw. werden im Internet angewandt:
1.) „Distanz“vektor-Verfahren (ganz alt)
2.) Link-Zustandsverfahren (mittelalt)
208
3.) OSPF-Verfahren (derzeit aktuell)

Aus Kompatibilitätsgründen müssen neue Router alle 3 Verfahren unterstützen
11.3.7.1 Das „Distanz“vektor-Verfahren




Prinzip: Die Knoten tauschen mit ihren nächsten Nachbarn Routing-Informationen aus
Jeder Knoten X sendet dazu periodisch an seinen direkten Nachbarn Y (für alle Y) eine
Liste mit seinen gemessenen/geschätzten Güten für jedes Ziel im Subnetz
Umgekehrt empfängt X eine analoge Liste vom Nachbarn Y
Jeder Knoten kennt nach dem Austausch die „Distanz“ (=Gütemaß) zu jedem direkten
und indirekten Nachbarn hinsichtlich:
• der Anzahl der Teilstrecken, die bis zum Nachbarn nötig ist
• der Verzögerungszeit (Latenz) zum Nachbarn. Diese wird über sog. Echopakete ähnlich
wie bei ping gemessen.
• der Warteschlangenlängen in den Sende- und Empfangspuffern der Nachbarn

Dann wird für die gewählte Metrik das Transitivgesetz angewandt:
• Sei e der eigene Wert der Metrik für das Paar (X, Y), sowie Z ein beliebiger Ziekknoten und
E(Z) der Nachbarwert für das Paar (Y, Z) , dann gilt:
· Der Wert der Metrik für das Paar (X, Z) über Y als Zwischenknoten lautet:
· Distanz(X, Z)=E(Z) + e,
· E wird dabei aus der Liste von Y an X entnommen
209



Mit dieser Methode erstellt sich jeder Router im Subnetz nach und nach eine eigene,
vollständige Routing-Tabelle
Nach jeder Periode konvergiert die Tabelle näher zur Wahrheit (=iteratives Verfahren)
Problem: Der Ausfall eines Routers wird nur langsam erkannt (= count-to-infinity-Problem), da die Ausbreitung dieser Information im Netz viele Iterationen erfordert
11.3.7.2 Beispiel für das „Distanz“vektor-Verfahren
A
C
B
G
F
E
D
H
8 12
I
10
J
6
K
L
betrachteter Knoten J

J misst die Latenz zu seinen Nachbarn A, I, K, und H und erhält:
• JA-Verzögerung = 8, JI-Verzögerung = 10, JH-Verzögerung = 12, JK-Verzögerung = 6

J empfängt seinerseits von seinen Nachbarn A, I, K, und H die Latenzen zu allen anderen Knoten (vom jeweiligen Nachbarknoten aus gesehen)
210








Aus beiden Informationen baut J mit Hilfe der Transitivität der Latenz-Metrik eine lokale
Latenztabelle auf
Im dritten Schritt verteilt J seine lokale Tabelle an seine direkte Nachbarn A, I, K, und H
Vorgang wird periodisch von allen Knoten wiederholt
Es bildet sich i.A. nach einigen Iterationen ein eingeschwungener Zustand aller Werte
in den Routingtabellen aus
Der eingeschwungener Zustand bleibt solange bestehen, bis das Netz seine Übertragungseigenschaften oder seine Topologie ändert
Der eingeschwungener Zustand kommt nicht zustande, wenn das count-to-infinity-Problem auftritt
In diesem Fall oszillieren die Werte in den Tabellen hin und her
Dieses Phänomen ist der Grund, warum das Distanzvektorverfahren abgelöst wurde
211
Beispiel: gegeben seien beim Distanzvektorverfahren folgende Tabellen, die J empfängt:
Ziel

von A
von I
von H
von K
A
0
24
20
21
B
12
36
31
28
C
25
18
19
36
D
40
27
8
24
E
14
7
30
22
F
23
20
19
40
G
18
31
6
31
H
17
20
0
19
I
21
0
14
22
J
9
11
7
10
K
24
22
22
0
L
29
33
9
9
Eigene Messungen zu den Nachbarn seien: JA = 8, JI = 10, JH = 12, JK = 6
Hinweis: die Latenzen AJ, IJ, HJ und KJ, die die Nachbarknoten sehen, sind i.a. anders, als die, die J sieht,
d.h. es gilt: AJ  JA=> Latenzen sind in Rechnernetzen i.a. nicht symmetrisch.
212

J wählt dann aus den eigenen Messungen und den empfangenen Latenzen den besten
Weg aus
Ergebnis: Tabelle in J nach dem Austausch von J mit seinen direkten Nachbarn:
Ziel
Latenz
über
Ziel
Latenz
über
A
8
A
G
18
H
B
20
A
H
12
H
C
28
I
I
10
I
D
20
H
J
0
-
E
17
I
K
6
K
F
30
I
L
15
K
11.3.7.3 Das Link-Zustandsverfahren



Ist Nachfolger des Distanzvektorverfahrens
Mittlerweile auch schon veraltet
Prinzip:
• Jeder Router in einem Subnetz (Routing Region) ist im Vollbesitz aller „Güte“-Werte eines
Subnetzes
213
• Dazu sendet jeder Router sog. ICMP-Pakete an alle anderen Router im Subnetz, nicht nur
an seine direkte Nachbarn
Hinweis: ICMP= Internet Control Message Protocol = wichtiges Steuerungsprotokoll im Internet
• Entsprechend empfängt jeder Router ICMP-Pakete von allen anderen Routern im Subnetz
• Dadurch kann jeder Router für sich die Topologie des ganzen Subnetzes rekonstruieren
• Als Gütewerte werden die üblichen Metriken, d.h. schnellster Weg, kürzester Weg, u.s.w.
verwendet
• Mit Hilfe der Topologie und der Güte jeder Verbindung kann jeder Router für sich einen minimalen Spannbaum des Subnetzgraphen aufbauen

Problem: Das Link-Zustandsverfahren ist nicht flexibel und nicht sicher genug gegen
Hacker-Angriffe
11.3.7.4 Das OSPF-Verfahren



OSPF = open „shortest path first“
Ist der Nachfolger des Link-Zustandsverfahrens und Stand der Technik
Prinzip: Wie das Link-Zustandsverfahren, aber mit einer Reihe von Erweiterungen:
1.) Ist wegen der Verwendung einer Datenbank anstelle einer Tabelle Hacker-sicherer
2.) Unterstützt mehrere Metriken (kürzeste, schnellste Wege etc.)
3.) Berücksichtigt alternative Wege
214
4.) Unterstützt hierarchisches Routing mit 2 Stufen durch ein Link-Zustandsverfahren in
jeder Region
• Vorgehensweise:
· von jedem Knoten in der Region wird gem. Dijkstra ein min. Spannbaum seines Subnetzes berechnet
· Topologie des Spannbaums und Güte jeder Wegstrecke werden in jedem Router in einer
Datenbank gehalten, nicht in einer Tabelle
11.4



Vermittlungsschicht des Internet (IP)
Die Vermittlungsschicht des Internet (IPv4 oder IPv6 implementiert einige aber nicht
alle Eigenschaften einer ISO-Vermittlungsschicht
Insbesonders ist IP kein perfekter Kanal
Bei Weitverkehrsnetzen hat IP nur dann eine Routingfunktiong, wenn IP auf SONET/
SDH ohne ATM übertragen wird
 IP macht im Internet die Wegewahl, sofern es nicht als Nutzlast von ATM transportiert
wird
11.4.1

IPv4 und V6
IPv4 und V6 sind Protokolle für die Ende-zu-Ende-Kommunikation zwischen Sender
und Empfänger mit folgenden Haupt-Eigenschaften:
• Macht die Wegewahl (1P) im Internet, sofern es nicht als Nutzlast von ATM transportiert
215
wird
• Ist ein verbindungsloser Dienst, d.h. ein Datagramm-Protokoll
• Fragmentiert beim Übergang in ein Subnetz mit kleinerer maximaler Rahmenlänge ein großes Paket in mehrere kleinere Rahmen
• Reassembliert Fragmente, d.h. Rahmen wieder zum Original IP-Paket, sobald die maximale
Rahmenlänge dies zulässt)
Beispiel: Von SONET/SDH nach Ethernet = Übergang in ein Subnetz mit kleinerer maximaler Rahmenlänge (MTU)
Hinweis: MTU = Maximum Transport Unit auf der Schicht 2

Nachteile von IP:
• Maximale IP-Paketlänge ist 64 KB, davon entfallen mindestens 20 Byte auf den Header
 Ist für kleine Datenmengen (<20 Byte) ineffizient, da großer Header
• Schützt nicht vor Paketverlusten oder von Verlusten von Teilen eines Pakets, den Schicht
3-Fragmenten, da es keine automatische Paket- bzw. Fragmentwiederholung im Fehlerfall
gibt
• Nur IPv6 unterstützt Quality of Service (QoS) bei der Übertragung, mit IPv4 sind Garantiern
für Echtzeitdatenübertragung nicht möglich


IPv4 hat eine hohe praktische Bedeutung, da weit verbreitet
Bedeutung von IP wird nach flächendeckender Einführung von IPv6 noch steigen
216
11.4.2
Aufbau eines IPv4-Pakets (IP Header)
0
4
8
VERS LEN
16
TYPE OF SERVICE
PROTO
24
31
TOTAL LENGTH
FLAGS
IDENT
TIME
19
FRAGMENT OFFSET
HEADER CHECKSUM
HEADER
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
PADDING
OPTIONS
DATA
NUTZDATEN
...
11.4.2.1 Die Header-Felder von IPv4
VERS
4b
LEN
TYPE OF SERVICE (Bedeutung siehe
unten)
4b
8b
Protokollversion von IP, z. Z. IPv4
oder IPv6
Länge des Headers (in 32 Bit-Wörtern)
Bits 0-5: DSCP (Differentiated Services Code Point) siehe unten
Bits 6-7: ECN (Explicit Congestion
Notification = IP-Flusssteuerung) s.u.
217
TOTAL LENGTH
16b
IDENT
16b
FLAGS
3b
FRAGMENT
OFFSET
13b
TIME
8b
PROTO
8b
HEADER
CHECKSUM
SOURCE
ADDRESS
DESTINATION
ADDRESS
16b
Länge incl. Nutzdaten in Bytes =>
Maximale IP-Paketlänge = 64 KB
Information, zu welchem Datagramm
dieses Paket nach einer Fragmentierung gehört (siehe unten)
nicht fragmentieren bzw. letztes Fragment (DF/LF)
Position dieses Pakets (=Fragment)
innerhalb des Datagramms mit der
Nummer IDENT [in 8-Byte-Einheiten]
Lebensdauer in Sekunden („time to
live“) 255 s. Oft werden statt Sekunden die Zahl der Zwischenknoten
(Router Hops) gezählt.
Ist inzwischen veraltet bzw. wird teilweise anders verwendet
Typ des darüberliegenden höheren
Protokolls = UPD oder TCP
EXOR-Verknüpfung der Header-Wörter als Prüfsumme für den Header
32b
IP Adresse des Quell-Hosts
32b
IP-Adresse des Ziel-Hosts
218
OPTIONS
PADDING
DATA
max. 40
Für Router-Management, WegelogByte lang buch und ähnliches (siehe unten)
Auffüller, so dass stets Wortgrenzen
erreicht werden
Nutzdatenfeld (Payload)
11.4.2.2 DSCP (Differentiated Services Code Point)


Enthalten Informationen, wie das Paket an der Grenze zwischen zwei Subnetzen weitergeleitet werden soll
Dazu kann das Paket in eine von 64 Klassen eingeteilt werden
Beispiel: 1.) Es gibt eine sog. Expedited Forwarding-Klasse für Pakete, die eine geringe
Latenz benötigen. 2.) Es gibt 12 sog. Assured Forwarding-Klassen = Einteilung der
Pakete in vier Klassen zu je drei Prioritäten.

Funktioniert in der Praxis bei IPv4 nur selten
11.4.2.3 ECN (Explicit Congestion Notification)



Dient zur Mitteilung eines Routers an seinen Vorgängerrouter, dass bei ihm Überlastung droht
Theoretisch breitet sich diese Information rückwärts bis zur Datenquelle aus, worauf
diese die Datenrate reduziert
Funktioniert in der Praxis bei IPv4 nur selten
219
11.4.2.4 Ident und Fragment Offset



Ein IP-Fragment ist ein vollständiges IP-Paket mit komplettem Header, bei dem die Felder Ident und Fragment Offset belegt sind
Fragmentation + Reassembly sind notwendig, wenn die darunterliegende Schicht 2 keine 64 KB Datenrahmen übertragen kann, sondern nur kleinere Rahmen
Trifft immer bei Ethernet als Schicht 1+2a zu, da es dort nur Datenrahmen mit max. 1500
Byte gibt
11.4.2.5 Beispiele für IPv4-Optionen
1.) „Strict Source Routing“: enthält eine Liste von Router-IP-Adressen, auf denen das
Paket zum Ziel gelangt. Nur diese Route darf verwendet werden.
2.) „Record Route“: weist alle Router an, ihre IP-Adresse in das Optionenfeld einzutragen, damit der Weg des Pakets vom Empfänger zurückverfolgt werden kann (Wegelogbuch)
• Problem hierbei: 40 Byte im Optionsfeld reichen nicht aus, wenn viele Zwischenstufen
durchlaufen werden, was heutzutage oft der Fall ist.
3.) „Time Stamp“: weist alle Router an, eine 32-Bit-Zeitangabe in das Optionenfeld einzutragen

Die letzen beiden Optionen sind für Testzwecke
220
Hinweis: Die vollständige Liste aller möglichen Optionen steht unter www.iana.org/assignments/ipparameters
11.4.3




Aufbau eines IPv6-Pakets
Minimale Header-Länge ist 40 Byte (ohne Erweiterungs-Header), also noch mehr als bei
IPv4
Optional kann ein Erweiterungs-Header variabler Länge dazukommen
Maximale IPv6-Paketlänge ist 64 K-1+40 Byte (mit Erweiterung-Header und Nutzdaten,
aber ohne sog. Jumbograms)
Die ersten 40 Header-Bytes:
0
0
1
Minimum
Header:
10x32
Bit-Worte
2
3
4
5
6
7
8
9
Version
4
8
12
16
Traffic Class
20
24
28
Flow Label
Payload Length
Next Header
16 Byte Source Address
16 Byte Destination Address
221
Hop Limit
31
11.4.3.1 Bedeutung der ersten 40 Header-Bytes
Feldname
Länge Bedeutung
Version
4 Bit
Traffic Class
Flow Label
Payload Length
Next Header
Hop Limit
Source Address
Destination
Address
11.4.4


6 = IPv6
Für Quality of Service (QoS). Ist wie bei IPv4 definiert, d.h. besteht aus:
8 Bit
Bits 0-5: DSCP (Differentiated Services Code Point)
Bits 6-7: ECN (Explicit Congestion Notification = IP-Flusssteuerung)
20 Bit Zur Attributierung des Pakets wegen QoS und Echtzeitdatenübertragung
Länge des Pakets ohne Minimum Header aber mit Erweiterungs-Header in
16 Bit
Byte. D.h., der Minimum Header wird bei der Paketlänge nicht mitgezählt.
Typ des Erweiterungs-Headers (wenn Erweiterungs-Header da, bzw. auch
8 Bit
für Erweiterungen von Schichten höher als 3)
Maximale Anzahl an Routern, die ein Paket zurücklegen darf. Wird beim
8 Bit
Durchlaufen eines Routers („Hop“) um eins verringert. Pakete mit Wert null
werden gelöscht. Verhindert ewig kreisende Pakete.
128 Bit IP Adresse des Quell-Hosts
128 Bit IP Adresse des Ziel-Hosts
Quality of Service (QoS) in IPv6
Bei IPv6 funktioniert QoS dann, wenn alle beteiligten Akteure IPv6 unterstützen, d.h.
wenn Quell- und Zielrechner, sowie alle Router dazwischen IPv6-fähig sind
Dies ist derzeit meist nicht der Fall
222
11.4.4.1 Traffic Class

Ist wie bei IPv4 definiert
11.4.4.2 Flow Label



IPv6 erlaubt zustandslose und zustandsbehaftete Datenübertragung
Bei zustandsloser Datenübertragung kann das Paket durch Zusatzinformation attributiert werden
Die Zusatzinformation ist das sog. Flow Label
Beispiel: Es gibt einen Flow Label-Wert für das Zusammenfassung von IPv6-Paketen zu
einer ganzen Gruppe mit dem Ziel einer besseren Lastverteilung zwischen Routern.


Bei zustandsbehafteter Datenübertragung ist eine sog. Signalisierung zwischen Quellund Zielrechner und Routern möglich, die Zustände ausdrückt
Die Signalisierung erfolgt ebenfalls über das Flow Label-Feld
Beispiel: Es gibt es einen Flow Label-Wert für die Signalisierung durch RSVP oder
durch das sog. General Internet-Signaling Transport-Protokoll (GIST).
11.4.5

Adressierung in IPv4
Das Internet besteht aus einer riesigen Zahl von Netzen (>>105), die durch IP adressiert
werden, sofern IP nicht ATM-Nutzlast ist, d.h. getunnelt wird
223
Hinweis: Tunneling = Verfahren, um IP-Pakete durch inkompatible Netze zu routen wie z.B. ATM. IP-Paket
hat im Netz, durch das getunnelt wird, keine Funktion sondern wird als Nutzlast der Schicht 7 transportiert

Beispielkonfiguration für Teilnetze im Internet
11.4.5.1 32 Bit IPv4-Adressen

Es werden für die Adressierung je 32 Bit für Quelle und Ziel verwendet, was heutzutage
zu wenig ist
224










IP-Adressen wurden über lange Zeit bestimmten Adressklassen zugeordnet und in festen Portionsgrössen vergeben, sog. Classful Addressing
Nach einigen Jahrzehnten gingen langsam die Adressen aus und man begann, die letzten noch übrig gebliebenen Adressen ohne Klasseneinteilung und in beliebigen Portionen zu vergeben (= Classless Interdomain Routing, CIDR)
Des weiteren begann man, Adressen nur kurzzeitig, d.h. dynamisch zu vergeben (über
das sog. DHCP) oder mehrfach zu verwenden, z.B. global 1 Mal und lokal mehrfach
(über das sog. Network Address Translation, NAT), um der drohenden Adressknappheit zu entgehen
Traditionell wurden Internet-Adressklassen vom einem sog. Network Information Center (NIC) bzw. seinen Unterorganisationen in den einzelnen Ländern zugeteilt (http://
www.nic.com)
Die Unterorganisation des NIC in Deutschland ist das denic (http://www.denic.de)
Das denic hat die klassenbasierten Adressen an Endkunden vermietet
Heutzutage werden klassenlose Adressbereiche in frei wählbaren Portionsgrößen gegen Gebühr von der Internet Assign Number Authority (IANA) vergeben (http://www.iana.org)
Die IANA ist eine Unterorganisation der ICANN, die die Standards des Internet festlegt
Die IANA hat 5 Unterorganisationen, die für die 5 Regionen der Welt zuständig sind
Für Europa ist die Unterorganisation RIPE zuständig (http://www.ripe.net)
225


Dort kann jeder Privatmann, jede Firma, Behörde oder Behörde IP-Adressen kostenpflichtig und meist für ein Jahr beziehen
Da fast alle IP-Adressen klassenbasiert sind, wird im weiteren diese Adressierung erläutert
11.4.5.2 Klassenbasierte IPv4-Adressen




Die klassenbasierte IPv4-Adresse ist eine hierarchische Adresse aus Netz- und HostAdresse (netid und hostid)
Es gibt drei Formate für Subnetze unterschiedlicher Größe sowie ein Format für Multicast
Gebräuchliche Schreibweise für alle IPv4-Adressen sind 4 Zahlen  255 mit Punkten dazwischen
Beispiele:
• 10.0.0.0 für Arpanet (class A)
• 128.10.0.0 für ein großes LAN (class B)
• 192.5.48.0 für ein kleines LAN (class C)
226
11.4.5.3 Aufbau klassenbasierter IPv4-Adressen
für Multi- 3 Formate
cast
Typ Netzadr.


123...7 8
netid
16
hostid
24
31
7 Bit netid, 24 Bit hostid
31
01 23...
15 16
CLASS B 10
hostid
netid
31
012
23 24
34...
netid
hostid
CLASS C 110
31
45...
0123
group address
CLASS D 1110
14 Bit netid, 16 Bit hostid
21 Bit netid, 8 Bit hostid
Es gibt folgende Adressklassen:
•
•
•
•
•

0
CLASS A 0
Hostadresse
Klasse-A-Netze: 1.0.0.0 bis 127.255.255.255
Klasse-B-Netze: 128.0.0.0 bis 191.255.255.255
Klasse-C-Netze: 192.0.0.0 bis 223.255.255.255
Klasse-D-Netze: 224.0.0.0 bis 239.255.255.255 (nur für Multicast)
reserviert: 240.0.0.0 bis 255.255.255.255
Bei den IPV4-Adressen gibt es ganze Adressbereiche mit spezieller Bedeutung
für Broadcast, für das eigene Netz, für den eigenen Host und für loop back
Hinweis: Loopback = Host sendet an sich selber
227

Durch diese speziellen Adressbereiche gehen einige Mio. Adressen verloren

IPv6 hingegen stellt praktisch unbegrenzt viele Adressen zur Verfügung (128 Bit =>
2128 Adressen)
11.5

IP-Subnetze
Beim Internet gibt es die Möglichkeit, einen Teil der Hostadresse lokal als Subnetzadresse zu vergeben, wodurch eine 3-stufige (= hierarchische) IP-Adressvergabe entsteht
Beispiel:
• Die TUC hat von der NIC bzw. IANA ein Klasse-B-Netz mit 139.174.0.0 als Netzadresse (sog.
address domain) gemietet, das vom RZ verwaltet wird
• Die 16 Bit Hostadressen dieser Domäne können lokal beliebig aufgeteilt werden, z.B. in 8
Bit-Subnetzadresse und 8 Bit Host-Adresse
• Jedem TUC-Institut wurde vom RZ-Netzwerkadministrator eine 8 Bit-Subnetzadresse zugewiesen
• Das Institut für Informatik beispielsweise hat als Subnetzadresse 100, so dass dort alle IPAdressen 139.174.100.x lauten
• Im IfI wiederum weist der IfI-Netzwerkadministrator jedem Rechner eine Host-Adresse innerhalb obiger Subnetzadresse zu
 Einführung einer dreistufigen Adresshierarchie aus Netzklasse, Netzadresse und
Subnetz
228
• Der Standard-Gateway im IfI hat beispielsweise die IP-Adresse 139.174.100.254
Hinweis: Bemerkung: Ein IP-Subnetz hat nichts mit einem Subnetz der Schicht 1 und 2 zu tun.
Verschiedene LANs können ein gemeinsames IP-Subnetz bilden.

Die Adressierung der Subnetze geschieht über Subnetzmasken, die lokal mit der IP-Adresse UND-verknüpft werden
Beispiel: 139.174.100.x AND 255.255.255.0 liefert das Informatik-Subnetz 139.174.100.0
(255.255.255.0 ist die Subnetzmaske)
11.5.1

Vorteile von Subnetzen
Router müssen an ihren Ausgangs-Ports nicht eine große Zahl von Hosts (bis zu 16M2) verwalten, sondern nur wissen, über welche Leitung man zum jeweiligen Subnetz gelangt
 Erhebliche Einsparungen in den Routing-Tabellen

Subnetze sind von außen nicht erkennbar, deshalb kann die Unterteilung in Subnetze
ohne die NIC bzw. IANA, d.h. dezentral (= vor Ort) gemacht werden
 Die Wegewahl erfolgt hierarchisch, was einfacher ist
229
12 Transportschicht (ISO-Schicht 4)

Im ISO-Modell ist die Schicht 4 sowohl in Form von virtuellen Verbindungen als auch
in Form von Datagrammen möglich
12.1




Im Internet ist beides, virtuelle Verbindungen und Datagramme, realisiert
Es gibt das Transmission Control Protocoll (TCP) für virtuelle Verbindungen und das
Universal Datagram Protocol (UDP) für Datagramme
TCP hat fast alle Eigenschaften der ISO-Transportschicht sowie zusätzliche Optimierungs-Funktionen, die es bei ISO nicht gibt, wie z.B. einen adaptiven Time-out
UDP realisiert nur sehr wenige Funktionen der ISO-Transportschicht
12.2


Die ISO-Transportschicht
Die ISO-Transportschicht beinhaltet die Spezifikation und eine Beispielimplementierung und ist verbindungsorientiert
12.2.1

Die Internet-Transportschicht
Aufgaben der ISO-Transportschicht
Aufbau- und Abbau einer Verbindung zwischen Sender und Empfänger
Bereitstellen von QoS
230
Hinweis: QoS = Quality of Service. QoS ist bei der ISO-Transportschicht höher als bei TCP.
Beispiel: Bietet priorisierte Datenübertragung („expedited data“)


Vollduplex-Datenübertragung
Sichere Datenübertragung über einen perfekten Kanal bestehend aus: 1.) Einhalten der
Paketreihenfolge 2.) automatische Paketwiederholung bei Übertragungsfehlern 3.) automatisches Löschen von mehrfach übertragenen Paketen
 FIFO-Reihenfolge wird bei der Übertragung bewahrt
Teilnehmer B
Teilnehmer A
Warteschlange von A nach B
Datenpakete
Warteschlange von B nach A
Transportsystem
12.2.2

Weitere Eigenschaften der ISO-Transportschicht
Ausnahme bei der FIFO-Reihenfolge sind Expedited Data = Daten hoher Priorität
231
• Expedited Data halten untereinander ebenfalls ihre Reihenfolge ein, werden aber zwischen
normale Pakete („Daten-PDUs“) eingestreut (=“verschränkte Übertragung“)
• Eine separate Warteschlange für Expedited Data kann bei Sender und Empfänger existieren, muss aber nicht






Datenpakete erleiden durch die Ausführung der Dienste der Transportschicht eine
Verzögerung (Latenz), da ggf. Pakete in der Reihenfolge umgeordnet werden müssen
(packet reorder), oder weil Pakete nochmal übertragen werden müssen (packet retry)
Der Anwendungsprozess greift auf die Transportschicht über einen sog. Transportschicht-Dienstzugangspunkt (TSAP, Transport Layer Service Access Point) zu
Die Transportschicht wiederum spricht die Vermittlungsschicht über einen Vermittlungsschicht-Dienstzugangspunkt (NSAP, Network Layer Service Access Point) an
Die TSAPs werden bei TCP durch „Ports“, d.h. spezielle Adressen im Betriebssystem
des Empfängers realisiert
Die Transportschicht erlaubt über Ports die direkte Kommunikation mit Prozessen auf
einem anderen Rechner
Die beschriebenen Eigenschaften der ISO-Transportschicht wurden in TCP implementiert, zusammen mit einigen Optimierungen zur Verbesserung des Datendurchsatzes
und des Time Out-Verhaltens (=Optimierungsfunktionen)
232
12.2.3
Funktionsaufrufe (API) der ISO-Transportschicht
12.3
Transportprotokolle im Internet (TCP, UDP)





TCP ist das wichtigste Transportprotokoll im Internet, denn in vielen LANs wie z.B.
Ethernet ist die ISO-Schicht 2b nicht vollständig implementiert
Dieses Versäumnis wird von TCP auf Schicht 4 behoben
Das komplette TCP-Paket wird im Datenfeld eines IP-Pakets als Nutzlast transportiert
Neben TCP gibt es noch UDP, das allerdings nur Datagramm-basiert ist, d.h. keine sichere Übertragung bietet
TCP Ist hinsichtlich des Datenaustauschs effizient für große Datenmengen, aber nicht
echtzeitfähig
233
 Die TCP-Transportschicht verbessert die QoS des Internets beträchtlich, allerdings
nicht in Richtung Echtzeit
12.3.1



Datensicherung durch TCP
TCP sichert die Nutzdaten auf dem Weg von Sendeprozess zu Empfangsprozess, d.h.
von Ende zu Ende über einen perfekten Kanal
Arbeitsumgebung der Transportschicht ist das ganze Internet
Arbeitsumgebung der Sicherungsschicht ist nur das Kabel bis zum nächsten Rechner
Hinweis: Die Sicherungsschicht arbeitet nur zwischen benachbarten Rechnern. Prozesse gibt es nicht und
deshalb existieren auch keine Port-Adressen und keine Interprozesskommunikation.
12.3.2

Von TCP erbrachte Dienste
Stellt die sichere Kommunikation von Prozess-zu-Prozess in 3 Phasen bereit:
• Verbindungsaufbau
• Datenübertragung
• Verbindungsabbau

Fasst mehrere kurze TCP-Daten derselben Verbindung zu einem langen Paket zusammen
 Effizienter bzgl. der erreichbaren Bandbreiteausnutzung, da der Header-Anteil im
Paket im Vergleich zur Nutzlast weniger ins Gewicht fällt
234


Zerteilt (segmentiert) lange Nachrichten der darüberliegenden Anwendungsschicht in
64 K-Pakete und vergibt eine Sequenznummer für jedes TCP-Teilpaket
Baut segmentierte Nachrichten anhand der Sequenznummer wieder zusammen (reassembly)
Hinweis: Auf Schicht 3 gibt es bei IP den Vorgang „Fragmentation and Reassembly“. Dieser hat nichts mit
„Segmentation and Reassembly“ bei TCP auf Schicht 4 zu tun. Beide Vorgänge laufen parallel und
unabhängig voneinander ab. Fragmentation auf Schicht 3 zerteilt zu lange IP-Pakete in kürzere IP-Pakete,
die von Schicht 2 übertragen werden können. Segmentation auf Schicht 4 zerteilt zu lange Nachrichten in
kürzere TCP-Pakete.



Verbessert die Fehlertoleranz durch Rücksetzen einer existierenden Verbindung (reset)
Leistet Ende-zu-Ende-Flusssteuerung durch Bestätigungen (Acknowledges)
Stellt die richtige Paketreihenfolge beim Empfänger durch Sequenznummern sicher
Hinweis: Sequenznummern erkennen auch das Fehlen oder Verdoppeln von Paketen und implementieren
Acknowledges.
235
12.3.3
Aufbau eines TCP-Pakets (TCP Header)
16-Bit
16-Bit
Herkunfts-Port
Ziel-Port
Sequenznummer des Pakets
Huckepack-Acknowledge für ein zuvor von der Gegenseite gesendetes Paket
HeaderLänge
unbelegt
C E U A P R S F
W C R C S S Y I
R E G K H T N N
Prüfsumme von Header inkl. Nutzdaten
Fenstergröße
Zeiger auf hochpriore Daten im Datenfeld
Optionen (0 bis 10x 32-Bit-Worte)
Datenfeld, 0 bis 64K-40 Byte, (-40, wenn Optionenfelder der IP- und TCP-Header = 0 sind)

Herkunfts-Port und Ziel-Port:
• 16-Bit-Adressen zur Spezifikation von Herkunfts- und Zielprozess über Ports
236
• Liste der reservierten Port-Adressen steht unter: www.iana.org

Sequenznummer (32 Bit) des nachfolgenden Datenfeldes:
• Jedes TCP-Segment ist ein TCP-Paket, das Teil einer größeren Nachricht sein kann, die
mehr als ein Paket umfasst
• Ist die Nachricht kleiner als ca. 64KB, dann gibt es keine multiplen Segmente, sondern nur
eine einziges TCP-Paket, in dessen Nutzlast sie übertragen wird
• Die Sequenznummer dient
· zur Mitteilung einer initialen Sequenznummer zum Verbindungsaufbau an den Empfänger
· Zur Abwicklung des Schiebefensterprotokolls, inkl. Acknowledge und Flusssteuerung
· zum Paketlöschen, falls ein Paket mehrfach empfangen wurde
· zur Sortierung der TCP-Pakete in der richtigen Reihenfolge beim Empfänger (packet reorder)
· zum korrekten Einsortierten eines Pakets in eine Nachricht, das wegen eines Übertragungsfehlers wiederholt wurde
· zum korrekten Einsortierten eines Pakets in eine Nachricht, das nicht ankam und deshalb wiederholt wurde

„Huckepack“-Acknowledge-Nummer (32 Bit) vom Empfänger zum Sender:
• wird doppelt verwendet: a) für Verbindungsauf- und abbau b) sorgt während der Datenübertragung für die Quittierung von zuvor empfangenen Paketen nach dem HuckepackVerfahren.
237
Def.: Huckepack-Verfahren heißt, dass das Acknowledge in einem ganz normalen Datenpaket vom Empfänger zurück zum Sender mitgeschickt wird, sofern es ein solches Paket
überhaupt gibt. Das Huckepack-Verfahren bedeutet, dass das Absenden eines Pakets
zusätzlich dazu verwendet wird, um das Acknowledge für den Empfang eines vorgegangenen Paktes demselben Sender zu quittieren. An beiden Paketen, d.h. am aktuellen und
am vorangegangenen sind die gleichen Rechner beteiligt. Gibt es das Paket nicht, wird
ein extra Acknowledge-Paket vom Empfänger zum Sender geschickt, das nur das Acknowledge und keine Daten enthält.

Header-Länge (4 Bit) = Zahl der 32-Bit-Worte im Header incl. des Optionenfeldes
(kleinster Wert ist 5, größter Wert ist 15)
 max. zehn 32-Bit-Worte im Optionenfeld möglich

CWR = Congestion Window Reduced und ECE = Explicit Congestion Notification Enabled (ECE)
• Dienen zur Steuerung des Datenverkehrs, wenn das Netz überlastet ist, die sog. Stausteuerung, in der Weise, dass keine Pakete verloren gehen
• Die beiden Header Bits CWR und ECE von TCP sowie die 2 Bits der Explicit Congestion
Notification ECN von IP gehören funktional zusammen und werden alle vier für die Stausteuerung benötigt


URG (1 Bit, urgent): Gesetzt, wenn der Zeiger auf hochpriore Daten im Header gültig ist
ACK (1 Bit): Gesetzt, wenn die Acknowledge-Nummer gültig ist
238

PSH (1 Bit, push): Gesetzt, wenn Daten im Datenfeld beim Sender nicht gepuffert werden dürfen, sondern sofort gesendet werden müssen
 Verhindert senderseitig das Zusammenfassen mehrerer kleiner Pakete zu einem großen
 Verbessert das Echtzeitverhalten bei der Datenübertragung auf Kosten der Effizienz




RST (1 Bit, reset): dient dem Rücksetzen der TCP-Verbindung
SYN (1 Bit, synchronize): dient zusammen mit ACK und dem Huckepack-Acknowledge
dem Verbindungsaufbau
FIN (1 Bit, final): kennzeichnet das letzte Paket beim Verbindungsabbau
Die Funktionen von SYN, ACK und FIN sind mit Hilfe komplexer endlicher Automaten
definiert
Hinweis: Es gibt auf Sender- und Empfängerseite je einen komplexen endlichen Automaten für
Verbindungsauf- bzw. -abbau. Die Automaten für Verbindungsaufbau registrieren die Phase, in der sich
die virtuelle Verbindung befindet (Verbindung im Aufbau oder aufgebaut). Die Automaten für
Verbindungsabbau registrieren ebenfalls die Phase, in der sich die virtuelle Verbindung befindet
(Verbindung teilweise oder ganz abgebaut).

Fenstergrösse (16 Bit) vom Empfänger zum Sender: dient zur Flusssteuerung durch
das Schiebefensterprotokoll
• Gibt an, wie viele Byte ab dem zuletzt bestätigten Byte gesendet werden dürfen

Prüfsumme (16 Bit): sichert das gesamte TCP-Paket incl. Header und Daten
239
• Da dieses Feld Teil des Headers ist, wird nur ein sog. Pseudo-Header ohne das Prüfsummenfeld geprüft

Zeiger auf hochpriore Daten (16 Bit):
• Gibt den Abstand in Byte zur aktuellen Sequenznummer an, ab dem im Datenfeld hochpriore Daten stehen, falls vorhanden

Optionen (0 bis max. 10x 32-Bit-Worte):
• Wird z.B. verwendet, um dem Sender anzuzeigen, wie viele Daten der Empfänger maximal
pro Paket puffern kann
Hinweis: Die vollständige Liste aller möglichen Optionen steht unter www.iana.org/assignments/tcpparameters

Datenfeld von 0 bis ca. 64K Byte
12.3.3.1 Unterschiede zwischen Push Flag und URG Flag




Push-Pakete sind mit dem PSH-Flag gekennzeichnete Pakete
PSH=TRUE bewirkt, dass das Paket nicht aus Effizienzgründen zwischengespeichert
werden darf, bis es mit anderen kleineren Paketen derselben Verbindung vereinigt werden kann
Pakete mit PSH=TRUE müssen vom Sender sofort abgeschickt werden
Sind bereits mehrere, kleinere TCP-Pakete derselben Verbindung zwischengespeichert, werden diese mit dem Push-Paket vereinigt und das Gesamtpaket wird sofort abgeschickt
240
 keine zusätzliche Latenz auf der Senderseite


URG=TRUE-Pakete werden senderseitig wie Push=TRUE-Pakete behandelt. d.h. sie
sind senderseitig dasselbe wie PSH=TRUE-Pakete
URG-Pakete werden jedoch beim Empfänger sofort bearbeitet, PSH-Pakete nicht
 keine zusätzliche Latenz beim Empfänger bei URG=TRUE

Hochpriore Übertragungen erlauben es u.a., fehlerhafte Übertragungen oder falsch laufende Programme beim Empfänger über das Netz vorzeitig durch den Sender abzubrechen
12.3.4


Optimierung der Datenübertragung durch TCP
TCP ist bandbreiteeffizient, d.h. es schont die zur Verfügung stehende Bandbreite
Die Gründe für die Effizienz liegen in:
1.) der Zusammenfassung mehrerer kleiner Pakete zu einem großen beim Sender
2.) der Verwendung eines adaptiven Schiebefensters zur Flusssteuerung zwischen Sender und Empfänger (flow control)
• Durch die Adaptivität im Schiebefenster wird ständig die mutmaßlich beste Größe jedes
Pakets ermittelt
• die Flusssteuerung vermeidet einen Pufferüberlauf beim Empfänger durch zu große und
zu viele Pakete
241
3.) der Verwendung einer adaptiven Stausteuerung (congestion control)
• die Stausteuerung vermeidet Staus im Netz durch zu viele Pakete in den Routern
4.) der Verwendung eines adaptiven Time-Outs
• durch die Adaptivität des Time Outs werden unnötige Wartezeiten bei Paketverlust so gut
es geht vermieden. Ganz vermeiden lassen sie sich jedoch nie.
12.3.5



Flusssteuerung und Stausteuerung (congestion control) bei TCP
Um Überlastungen des Internet zu vermeiden, versucht jede einzelne TCP-Verbindung,
nur soviel Daten zu senden, wie der jeweilige Empfänger und das Netz zwischen Sender und Empfänger verkraften kann
Das besondere Problem dabei ist, dass sich die verkraftbare Menge sowohl beim Empfänger als auch beim Internet ständig ändert
Einige der Gründe für die Schwankungen im Netz sind:
• vorübergehende Überlastung eines Routers durch zu viele eintreffende Pakete (= Hot
Spots)
• mehrere, zufällig gleichzeitige Übertragungen von Sendern zum selben Empfänger über
denselben Router
• Routerausfälle und -abschaltungen


Wird ein Router überlastet, wirft er Pakete weg
Dies bemerkt der Sender durch einen Time Out
242


Änderungen in der verkraftbaren Datenmenge beim Empfänger werden durch die
Flusssteuerung erkannt und vom Sender behandelt
Schwankungen im Netz werden durch die Stausteuerung erkannt und ebenfalls vom
Sender behandelt
 adaptive Flusssteuerung und adaptive Stausteuerung bei TCP





Dazu wird vom Sender ständig die größtmögliche Sendepuffergröße sowohl für das
Netz als auch für den Empfänger berechnet
Die momentan größtmögliche Sendepuffergröße für das Netz heißt Überlastungsfenster (congestion window)
Die momentan größtmögliche Sendepuffergröße für den Empfänger heißt EmpfängerSchiebefenster (sliding window)
Aus beiden Größen nimmt der Sender das Minimum als tatsächliche Sendepuffergröße
und schickt diese Menge an Daten ab
Zusätzlich versuchen IPv4 und V6 bei der Stausteuerung zu helfen, was bei IPv6 besser
gelingt als be IPv4
12.3.6
Slow Start
Def.: Slow Start ist ein Algorithmus zur Berechnung der tatsächlichen Sendepuffergröße
beim Sender und läuft folgendermaßen ab (= slow start ohne fast recovery):
243
1.) Beim Aufbau der TCP-Verbindung initialisiert der Sender die Größe des Überlastungsfenster (congestion window) des Netzes auf einen niedrigen Anfangswert von
z.B. 1 KB
• Danach teilt der Empfänger dem Sender im TCP-Optionenfeld die Größe des EmpfängerSchiebefensters (sliding window) in seiner Acknowledge-Antwort mit
• Außerdem wird vom Sender beim Verbindungsaufbau ein sog. Schwellwert auf 64 KB festgelegt
• Dann wird ein Paket gesendet, das dem Minimum aus initialem Überlastungsfenster und
initialem Empfänger-Schiebefenster entspricht (= Start der Datenübertragung)
2.) Danach werden mit jeder neuen Iteration alle drei Werte (Überlastungsfenster, Empfänger-Schiebefenster und Schwellwert) aktualisiert
3.) Für jedes erhaltene Acknowledge verdoppelt der Sender die Größe des Überlastungsfenster des Netzes
• Dies erfolgt, indem TCP zu einem gesendeten TCP-Segment ein zweites Segment derselben Länge hinzufügt (sofern vorhanden)
• Es ist die Phase des exponentiellen Wachstums
• Das Verdoppeln wird solange wiederholt, bis entweder kein Acknowledge mehr zurückkommt, oder bis das Empfänger-Schiebefenster droht überzulaufen, oder bis der Schwellwert droht, überschritten zu werden
· Ein fehlendes Acknowledge entdeckt der Sender durch einen Time Out
· Eine drohende Überlastung des Empfängers entdeckt der Sender anhand der Übermitt244
·
lung der Empfänger-Schiebefenstergröße, die zusammen mit dem Sammelacknowledge vom Empfänger zurück zum Sender gesendet wird
Eine drohende Überschreitung des Schwellwerts erkennt der Sender selber
4.) Droht der Schwellwert überschritten zu werden, erhöht der Sender sein Überlastungsfenster mit jedem Acknowledge nur noch linear
• Dies ist die Phase des linearen Wachstums, die sich der momentan möglichen Grenze von
Netz und Empfänger behutsam annähert
• Droht das Empfänger-Schiebefenster überzulaufen, sendet der Sender nur noch so viel,
wie in das Empfänger-Schiebefenster passt
• Kommt kein Acknowledge mehr zurück, wird vom Sender ein neuer Schwellwert festgelegt, der der Hälfte des momentan erreichten Überlastungsfensters entspricht
 Der Schwellwert speichert den halben maximalen Wert, den das Überlastungsfenster
jeweils eine Iteration vorher erreicht hatte
• Außerdem wird die Größe des Überlastungsfensters des Netzes auf den initialen Wert zurückgesetzt
5.) Die Schritte 2-4 werden solange wiederholt bis alles gesendet wurde

Der Vorteil dieses Verfahrens ist, dass es sich durch die exponentielle Steigerung am
Anfang der größtmöglichen Sendemenge schnell annähert und dieser durch die lineare Steigerung am Ende sehr nahe kommt
245
12.3.6.1 Beispiel für den zeitlichen Verlauf des Überlastungsfenster des Netzes (Slow Start)

Anfangsgröße des Überlastungsfenster des Netzes sei 1 KB, Anfangsschwellwert sei
32 K, Anfangsgröße des Empfänger-Schiebefensters sei 64 K
 Der Sender kann nicht mit der Größe des Empfänger-Schiebefensters beginnen, sondern nur mit der wesentlich kleineren Größe des Überlastungsfensters

Zusätzlich wurden in der Zeichnung zwei weitere Dinge angenommen:
1.) Die Größe des Überlastungsfenster des Netzes sei zu Beginn des 2. Iterationszyklus
genauso groß wie am Anfang, d.h. 1 KB
• Dies ist in der Praxis aber i.A. nicht der Fall, vielmehr ändert sich das Überlastungsfenster
2.) In der 2. Iteration werde nach 4 Verdopplungen der neue Schwellwert von 20 KB exakt
erreicht wird (wobei 20 zudem auch keine Zweierpotenz ist)
• In der Praxis werden aber Schwellwerte i.d.R. nicht exakt erreicht, sondern der Sender
schaltet auf linearen Zuwachs um, bevor die nächste Verdopplung den Schwellwert überschreiten würde, oder er begrenzt den Wert der nächsten Verdopplung auf den Wert des
Schwellwerts
12.3.7

Beispiel für den zeitlichen Verlauf des Empfänger-Schiebefensters
Für dieses Beispiel wird vereinfachend angenommen, dass das Netz zwischen Sender
und Empfänger stets schnell genug ist
246
 Einfluss des Überlastfensters des Netzes wird im Bsp. nicht berücksichtigt

Des weiteren wird angenommen, dass die TCP-Instanz des Empfängers die Weitergabe
des empfangenen Segments solange verzögern darf, bis das Empfänger-Schiebefenster voll ist
247
 URG-Bit im Header des Segments sei im Bsp. nicht gesetzt

Im TCP-Optionenfeld teilt der Empfänger dem Sender beim Senden des Acknowledge
mit, wieviel Empfangspuffer der Empfänger noch frei hat (Bsp.: WINDOWSIZE = 2048)
248
2K

Ändert sich die Größe des Empfänger-Schiebefensters, wird dies dem Sender über ein
zweites Acknowledge mit derselben Sequenznummer mitgeteilt
249

Im zweiten Acknowledge wird vom Empfänger das Feld WINDOWSIZE auf den Wert gesetzt, den der Empfänger verkraften kann
12.3.8

Adaptiver TCP-Time Out
Es wird beim Abschicken jedes Paket beim Sender gemessen, wie lange es bis zum zugehörigen Acknowledge dauert
• Die gemessene Zeit sei gleich M, M steht für Messwert

Durch die gemessene Zeit M wird die „Entfernung“ zum Empfänger bestimmt
Def.: Als Round Trip Time (RTT) wird hier die Zeit bezeichnet, die entsteht, wenn M über
mehrere Messungen hinweg geglättet wird.







Zur Glättung werden Messungen aus der unmittelbaren Vergangenheit berücksichtigt
RTT berechnet sich iterativ zu: RTTneu := RTTalt + (1-)M
Dies entspricht einer Glättung;a ist der 1. Glättungsfaktor der Berechnung
Der berechnete Wert von RTT ist in der Praxis selten optimal. Deshalb wird eine zweite
Rechnung nachgeschaltet.
Dazu wird die Differenz zwischen dem aktuellen Messwert M und der Round Trip Time
RTT berechnet und mit D bezeichnet (D steht für Differenz)
D wird in analoger Weise wie zuvor RTT geglättet:
Dneu := Dalt + (1-) abs(M - RTTneu), b ist der 2. Glättungsfaktor der Berechnung
250






 und werden von der jeweiligen TCP-Instanz (= Implementierung) festgelegt und sind
nicht normiert
Dann wird ähnlich zur 1. und 2. Glättung der jeweils aktuelle Time-Out-Wert berechnet
Time Out = 4Dneu + RTTneu; der Faktor 4 ist der 3. Glättungsfaktor und konstant
Der Algorithmus stellt insgesamt eine hohe Glättung der Messwerte M dar und vermeidet dadurch starke Schwankungen beim Time Out, selbst wenn die Messwerte stark
schwanken
Stellt sich der so berechnete Timeout-Wert als zu niedrig heraus (= kein Acknowledge,
dafür ständig Time Outs), wird als „Rettungsmaßnahme“ der zuletzt verwendete Wert
Timeout-Wert verdoppelt (= pragmatische Lösung)
Zusammenfassung:
• Aus adaptivem Schiebefenster +adaptivem Überlastungsfenster + adaptivem Time
Out + Sammeln von Bytes bis zur Schiebefenstergröße (= blockweise Pufferung) ergibt sich bei TCP eine hohe Effizienz bei der Übertragung großer Datenmengen
• Umgekehrt ist TCP sehr ineffizient bei kleinen Datenmengen
Beispiel: 1 Byte Tastaturinformation wird bei rlogin über das Internet mittels 40 Byte
TCP/IP-Overhead übertragen => 2,4% Effizienz
12.4

Berkeley Sockets/WinSockets als die Schnittstelle zu TCP und UDP
Sind die konkrete Umsetzung eines Transportschicht-Dienstzugangspunkts
251







Sind die Programmierschnittstelle zur Kommunikation mit der Transportschicht im Internet
Existieren auf nahezu allen Platten-Betriebssystemen (bei Windows als WinSockets)
Unterscheiden sich von der ISO-Spezifikation beim Aufruf z.B. darin, ob der Aufruf blockierend ist oder nicht
Wurden in einer POSIX-Spezifikation erweitert
Erlauben die Kommunikation über TCP- oder UDP-Protokolle
Verwenden IP- und Port-Adressen zur netzweit eindeutigen Adressierung von Prozessen auf Rechnern, z.B. bei der Nutzung von Server-Diensten
Die TCP/UDP Socket API ruft ihrerseits die sog. Raw Socket API von IP auf
12.4.1


Die Berkeley/WinSocket Socket-API
Die Socket-API besteht im wesentlichen aus 8 verschiedenen Aufrufen: socket, bind,
listen, accept, connect, send, receive und close
Es wird zwischen Client und Server unterschieden
12.4.1.1 Ablauf der Kommunikation zwischen Client und Server

Client-seitig:
• Socket ohne Inhalt für die Kommunikation mit dem Server erstellen durch socket()
Hinweis: Socket: Anschlussdose, Steckdose. Dient für die Interprozesskommunikation zwischen Client
und Server.
252
• Erstellten leeren Socket mit der Socket-Adresse des Servers laden, sowie eigene SocketAdresse an den Server übermitteln durch connect()
• Senden von Daten an den Server und empfangen von Daten vom Server: send(), receive()
• Socket schließen durch close()

Server-seitig:
• Leeren Socket zum späteren Anmelden von Clients beim Server erstellen: socket()
• Laden des Anmelde-Sockets mit der Socket-Adresse des Servers, über die der Server Client-Anfragen akzeptiert: bind()
• Auf eine Client-Anfrage warten: listen()
• Client-Anfrage akzeptieren und dann einen zweiten Socket für die Kommunikation mit diesem Client erstellen: accept()
• Senden und empfangen von Daten auf dem zweiten Socket für diesen Client: send(), receive()
• Zweiten Socket für diesen Client schließen: close(), ggf. auch ersten Socket für das Anmelden eines Client schließen
12.4.1.2 int socket(int domain, int type, int protocol);



Diese Funktion wird sowohl vom Server als auch vom Client aufgerufen
Die Funktion erzeugt eine sog. Socket-Verbindung
Diese Socket-Verbindung erlaubt es Client und Server, anschließend über send() und
recv() durch Datenaustausch miteinander zu kommunizieren
253

Die Socket-Verbindung enthält u.a. eine sog. Socket-Adresse
Def.: Eine Socket-Adresse ist eine Datenstruktur aus IP-Adresse und Portnummer. Mit
diesen beiden Angaben kann weltweit eindeutig jeder Prozess in einem Rechner adressiert werden, um mit ihm zu kommunizieren.

socket() gibt einen sog. socket file descriptor „sockfd“ zurück, d.h. socket() returniert
sockfd
Def.: Ein socket file descriptor ist eine logische Gerätenummer, wie sie bereits vom
Lesen und Schreiben auf Dateien bekannt ist, und dient zur Kommunikation mit einem
anderen Rechner. D.h., der socket file descriptor ist eine Nummer, die es erlaubt, auf
einen anderen Rechner lesend und schreibend zuzugreifen




Die Socket-Adresse sockaddr ist eine lokale Datenstruktur für weltweite Prozessadressierung, die logische Gerätenummer sockfd ist eine lokale Integer-Zahl als Abkürzung
für sockaddr
Überhaupt ähnelt die Socket-Kommunikation dem Lesen und Schreiben einer Datei
Sowohl vom Server als auch vom Client werden logische Gerätenummern (=sockfds)
als Abkürzung für den Zugriff auf die Socket-Verbindung verwendet
sockfds dienen dem lokalen Betriebssystem als Index in einer Tabelle, in der Datenstrukturen stehen, die ähnlich wie die Dateisystem-Steuerblöcke aufgebaut sind (sog.
File Handles)
254





Zwei solcher File Handle-Datenstrukturen werden für die Kommunikation mit dem jeweils anderen Rechner benötigt
Der Server benötigt seine logische Gerätenummer sockfd1,Server für seine nachfolgenden Funktionen bind(), listen() und accept() als Aufrufparameter
Der Client benötigt seine logische Gerätenummer sockfdClient für seine nachfolgenden
Funktionen connect(), send(), recv() und close() als Aufrufparameter
Für die Funktionen send(), recv() und close() des Servers benötigt dieser zusätzlich
eine zweite logische Gerätenummer sockfd2,Server als Aufrufparameter, die über accept() bereitgestellt wird
Die Beschreibung der Parameter des Socket-Aufrufs int socket(int domain, int type, int
protocol) ist:
• Eingabeparameter domain: gibt das Routingprotokoll an
· Definiert sind als Integer-Konstanten u.a. die Werte
· PF_INET für das Routingprotokoll IPV4
· PF_INET6 für das Routingprotokoll IPV6
• Eingabeparameter type: gibt die sog. Dienstart an
· Definiert sind als Integer-Konstanten u.a. die Werte
· SOCK_STREAM für die zuverlässige Übertragung einer unendlichen Folge von Bytes
· SOCK_SEQPACKET für die zuverlässige Übertragung einer endlichen Folge von Datenpaketen
• Eingabeparameter protocol: gibt das Transportprotokoll an
255
· Definiert sind als Integer-Konstanten u.a. die Werte
· IPPROTO_TCP für TCP
· IPPROTO_UDP für UDP
• Return Value: sockfd: socket file descriptor = Integer-Zahl als logische Gerätenr.
12.4.1.3 int bind(int sockfd1,Server, const struct sockaddr *my_addr, socklen_t addrlen);





Die Funktion wird nur vom Server aufgerufen und kommt nach dessen socket()-Aufruf
Sie verknüpft die erste logische Gerätenummer, d.h. den Server socket file descriptor
sockfd1,Server mit der Server-lokalen Datenstruktur my_addr, die die Socket-Adresse
des Servers enthält
D.h., hinter der logischen Gerätenummer sockfd1,Server des Servers steht nach dem
Aufruf von bind dessen eigene Socket-Adresse
Bind() returniert 0, falls O.K. und -1, falls nicht O.K
Die Beschreibung der Parameter ist:
• Eingabeparameter sockfd: socket file descriptor von socket() des Servers, d.h.
sockfd1,Server
• Eingabeparameter my_addr: lokale Datenstruktur. my_addr besteht aus der IP-Adresse
des Servers und aus einer lokalen Portnummer des Servers. Beide sind vom Typ integer.
• Eingabeparameter addrlen: Länge von my_addr in Bytes
• Return Value: status: Statusinformation über den Erfolg der Prozedur
256
12.4.1.4 int listen(int sockfd1,Server, int backlog);



Wird nur vom Server aufgerufen und kommt nach dessen bind()
Wartet darauf, dass durch ein nachfolgendes connect() des Clients eine Verbindung
hergestellt wird
Falls nacheinander mehrere connect-Anforderungen beim Server eintreffen, werden
alle bis zur Obergrenze „backlog“ von listen() in einer Warteschlange zwischengespeichert
Hinweis: backlog = Rückstand, Nachholbedarf


listen() returniert 0, falls alles O.K. ist und -1, falls nicht O.K.
Die Beschreibung der Parameter ist:
• Eingabeparameter sockfd: socket file descriptor von socket() des Servers, d.h.
sockfd1,Server
• Eingabeparameter backlog: Anzahl von connect-Anforderungen, die in einer listen-Warteschlange maximal gespeichert werden können.
• Return Value: status: Statusinformation über den Erfolg der Prozedur
12.4.1.5 int connect(int sockfdClient, const struct sockaddr *serv_addr, socklen_t addrlen);


Wird nur vom Client aufgerufen und kommt nach dessen socket()-Aufruf
Connect() verbindet den Client mit dem Server
257




Dazu muss der Client wissen, zu welchem Server-Prozess er sich verbinden möchte,
d.h. er muss serv_addr kennen
Connect() schreibt außerdem in die Datenstruktur cliaddr des Servers seine eigene Clientadresse hinein, sobald dieser den Aufruf accept() durchführt, so dass dieser weiß,
wo sein Client im Internet zu finden ist
Connect() returniert 0, falls O.K. und -1, falls nicht O.K.
Die Beschreibung der Parameter ist:
• Eingabeparameter sockfd: socket file descriptor von socket() des Client, d.h. sockfdClient
• Eingabeparameter serv_addr: Client-lokale Datenstruktur, in der die Socket-Adresse des
Servers steht, zu dem eine Verbindung aufgebaut werden soll
• addrlen: Länge von serv_addr in Bytes
• Return Value status: Statusinformation über den Erfolg der Prozedur
12.4.1.6 int accept(int sockfd1,Server, struct sockaddr *cliaddr, socklen_t *addrlen);




Wird nur vom Server aufgerufen und kommt nach listen()
Accept() verbindet den Server mit dem Client und bearbeitet den Client connect()-Aufruf
accept() entfernt dazu die vorderste Client Connect-Anforderung aus der Warteschlange von listen() und bearbeitet diese Client Connect-Anforderung
accept() erzeugt für die Bearbeitung der Client Connect-Anforderung eine zweite Socket-Verbindung namens sockfd2,Server
258
Hinweis: In diesem Moment sind Server-seitig gleichzeitig die beiden Socket Descriptoren sockfd1,Server
und sockfd2,Server aktiv, allerdings ist bislang nur sockfd1,Server initialisiert. Hinter sockfd1,Server des
Servers steht die IP-Adresse und Portnr. des Servers, hinter sockfd2,Server wird nach dem Aufruf von
accept die Socket-Adresse des Clients stehen.







accept() verknüpft den zweiten socket file descriptor sockfd2,Server mit der zweiten Socket-Adresse cliaddr
accept() gibt den zweiten socket file descriptor sockfd2,Server und die zweite Socket-Adresse cliaddr als Ergebnis zurück
D.h., hinter der logischen Gerätenummer sockfd2,Server des Servers steht nach dem
Aufruf von accept die Client Socket-Adresse cliaddr
Damit weiß der Server, wo sein Client im Internet zu finden ist
sockfd2,Server dient als Abkürzung für cliaddr und damit als Abkürzung zum Client
Danach kann der Server über sockfd2,Server auf die zweite Socket-Adresse (=cliaddr)
zugreifen und so die IP-Adresse und die Portnr. des Client feststellen, um send(), receive() und close() aufzurufen
Die Beschreibung der Parameter ist:
• Eingabeparameter
d.h.sockfd1,Server
sockfd:
socket
file
descriptor
von
socket()
des
Servers,
• Ausgabeparameter cliaddr: zweite Socket-Adresse
· cliaddr = Server-lokale Datenstruktur, in der die IP-Adresse des entfernten Client-Computers und dessen Portnummer stehen, sobald dieser connect() aufgerufen hat
259
· Über cliaddr kann der Client angesprochen werden
• Eingabe-/Ausgabeparameter addrlen: Länge von cliaddr in Bytes
• Return Value: sockfd2,Server = zweiter socket descriptor = zweite logische Gerätenr. des
Servers als Abkürzung zum Client
12.4.1.7 int send(int {entweder sockfdClient für Client oder sockfd2,Server für Server}, const void
*buffer, size_t length, int flags);




Wird von Server und Client aufgerufen und kann beim Server nach accept() und beim
Client nach connect() kommen
Sendet Daten vom Server zum Client bzw. vom Client zum Server, sofern der Empfänger ein receive() ausführt
Returniert die Zahl der gesendeten Bytes, falls O.K. und -1, falls nicht O.K.
Die Beschreibung der Parameter ist:
• Eingabeparameter sockfdClient des Client bzw. sockfd2,Server des Servers
•
•
•
•
Eingabeparameter buf: string, der die zu sendenden Daten als Bytes enthält
Eingabeparameter length: gibt die Länge von buf an
Eingabeparameter flags: spezifiziert die Art des Sendens genauer
Return Value: SentBytesOrStatus = entweder Länge der gesendeten Bytes oder -1 bei Fehler
260
12.4.1.8 int recv(int {entweder sockfdClient für Client oder sockfd2,Server für Server}, void *buffer, size_t length, int flags);




Wird von Server und Client aufgerufen und kann beim Server nach accept() und beim
Client nach connect() kommen
Empfängt Daten vom Client oder vom Server
Returniert die Zahl der empfangenen Bytes, falls O.K. und -1, falls nicht O.K.
Die Beschreibung der Parameter ist:
• Eingabeparameter sockfdClient bzw. sockfd2,Server: socket file descriptor von socket() des
Clients bzw. von accept() des Servers
• Ausgabeparameter buf: string, der die empfangenen Daten als Bytes enthält
• Eingabeparameter length: gibt die Länge von buf an
• Eingabeparameter flags: spezifiziert die Art des Sendens genauer
• Return Value: ReceivedBytesOrStatus = entweder Länge der empfangenen Bytes oder -1
bei Fehler
12.4.1.9 int close(int {entweder sockfdClient für Client oder sockfd2,Server für Server});



Wird von Server und Client als letztes aufgerufen
Schließt eine bestehende Socket-Verbindung
Der Vorgang entspricht dem Schließen einer zuvor geöffneten Datei
261



Allerdings muss die Socket-Verbindung sowohl vom Client als auch vom Server geschlossen werden
Returniert 0, falls O.K. und -1, falls nicht O.K.
Die Beschreibung der Parameter ist:
• Eingabeparameter sockfdClient von socket() des Clients bzw. sockfd2,Server von accept()
des Servers
• Return Value: status: Statusinformation über den Erfolg der Prozedur
12.4.1.10Zusammenfassung Berkeley-Sockets


Die Berkeley-Sockets und ihre Varianten sind nicht besonders übersichtlich in der
Handhabung
Ohne sie ist aber kein Aufruf von TCP oder UDP möglich. d.h., sie sind sehr wichtig
Viel Erfolg!
262
Herunterladen