DK
Datenkommunikation
Dr. Bernhard Neumair
Karl Schiml
Inhaltsverzeichnis
1 Rechnernetze: Einordnung, Motivation, Grundbegriffe... 1
1.1 Rechnernetz ... 1
1.2 Wozu Rechnernetze? ... 2
1.2.1 Aus Sicht Endbenutzer... 2
1.2.2 Aus Betreibersicht... 2
1.2.3 Weitere Klassifikationsmöglichkeiten... 2
1.3 Öffentliche Netze (Telekom)... 3
1.4 Abgrenzung ”Rechnernetz” und ”verteiltes System”... 3
1.5 Besonderheiten bei Rechnernetzen... 4
1.6 Anforderungen... 5
1.7 Nachrichten... 6
1.8 Nicht-Transport-Dienste... 6
2 Protokollkonzepte, Kommunikationsarchitekturen ... 7
2.1 Einführung: Terminologie, Problemkreise ... 7
2.1.1 Protokoll... 7
2.1.2 Beispiele... 7
2.1.2.1 Telefon... 7
2.1.2.2 BSC-Block... 8
2.1.2.3 Ausschnitt aus V24: Eigenschaften der Signale ... 8
2.1.3 Problemkreise ... 8
2.2 Strukturierungsprinzipien der ISO-Kommunikationsarchitektur ... 9
2.2.1 Systemschnitt ... 9
2.2.2 Dienstschnitt ... 9
2.2.3 Protokollschnitt... 10
2.3 Namen, Adressen und Wege... 11
2.3.1 Problemkreise ... 12
2.3.1.1 Design eines global eindeutigen Namensraums ... 12
2.3.1.2 Umfang des Namensraums ... 12
2.3.1.3 Codierung der Namen... 12
2.3.2 Ports und Sockets... 13
2.3.3 Rendezvousstelle ... 13
2.4 Sichere Übertragung über gestörte Kanäle... 14
2.4.1 Problemstellung ... 14
2.4.2 Unbeschränkte Sequenznummer... 14
2.4.3 Beschränkte Sequenznummern... 16
2.4.3.1 Probleme mit der Eindeutigkeit ... 16
2.4.3.2 Problem der Erkennung von Duplikaten ... 16
2.4.3.3 Statusvariablen in Pi ... 16
2.4.4 Reihenfolgesicherung ... 17
2.4.5 Fehlererkennung ... 17
2.4.5.1 Blockprüfzeichen... 17
2.4.5.2 Zyklische Blockprüfung ... 17
2.4.5.3 Selbstkorrigierende Codes... 17
2.5 Verbindungsmanagement ... 18
2.5.1 Initialisierung einer Verbindung... 18
2.5.2 Abbau einer Verbindung... 19
2.5.3 Multiplexen... 19
2.5.3.1 Gründe ... 20
2.5.3.2 Nötige Protokollfunktionen ... 20
2.5.3.3 Realisierung ... 20
2.6 Stausituation ... 21
2.6.1 Staukontrolle als netzglobale Aufgabe ... 22
2.6.2 Mechanismen einer Verbindungsorientierten Flußsteuerung... 23
2.7 OSI-Schichtenmodell... 23
2.7.1 Physical Layer = Bitübertragungsschicht ... 24
2.7.2 Data Link Layer = Sicherungsschicht... 24
2.7.3 Network Layer = Vermittlungsschicht ... 25
2.7.4 Transport Layer = Transportschicht ... 25
2.7.5 Session Layer = Kommunikationssteuerungsschicht ... 26
2.7.6 Presentation Layer = Darstellungsschicht ... 26
2.7.7 Application Layer = Anwendungsschicht... 27
3 Transportsysteme, Netztechnologien... 28
3.1 Vielfachzugriffsprotokolle (VZP) ... 28
3.1.1 Problemstellung, Überblick ... 28
3.1.2 Aloha-Verfahren ... 29
3.1.3 CSMA-Verfahren... 30
3.1.4 Token Passing ... 30
3.1.5 DQDB = Distributed Queue Dual Bus ... 31
3.2 Protokolle der Schicht 2 (b)... 31
3.2.1 Aufgaben der Schicht... 31
3.2.2 Schicht-2-Protokolle ... 32
3.2.3 Leitungsprozedur BSC... 33
3.2.4 HDLC = High Level Data Link Control... 34
3.2.4.1 Konfigurationen... 34
3.2.4.2 Operationsarten... 34
3.2.4.3 Frametypen ... 34
3.3 Vermittlungsschicht (Network Layer)... 35
3.3.1 Überblick ... 35
3.3.2 Vermittlungsverfahren ... 35
3.3.3 Routing (Wegewahl)... 37
3.3.3.1 Überblick ... 37
3.3.3.2 Klassifikation der Wegewahlverfahren ... 37
3.3.3.3 Bezeichnungen, Definitionen ... 38
3.3.3.4 Berechnung optimaler Wege nach dem Verfahren SDF (= Shortest Delay First) ... 39
3.3.3.5 nicht-adaptive Verfahren ... 42
3.3.3.6 Flooding... 42
3.3.3.7 adaptive Verfahren... 43
3.3.3.7.1 Vollständig isoliert... 43
3.3.3.7.2 Dezentral berechnet... 43
3.3.3.7.3 Gemeinsame adaptive Wegeberechnung ... 44
3.3.4 X.25-Protokoll ... 45
3.3.5 IP - das Schicht-3 Protokoll im Internet ... 46
3.4 Transportschicht ... 46
3.4.1 OSI Transport Layer ... 46
3.4.2 TCP = Transmission Control Protocol... 47
3.5 Netzkomponenten ... 47
3.5.1 Übertragungsmedien, strukturierte Verkabelung... 47
3.5.2 Modulation und Modem ... 48
3.5.2.1 Modulation... 48
3.5.2.2 Modem... 49
3.5.3 Gateways... 50
3.5.3.1 LAN-Typen... 50
3.5.3.2 allgemeine Aufgaben eines Gateways ... 51
3.5.3.3 Repeater und Sternkoppler ... 51
3.5.3.4 Bridges... 52
3.5.3.4.1 Transparent Bridges ... 53
3.5.3.4.2 Source-Routing-Bridges... 53
3.5.3.5 Router ... 54
3.5.3.6 Hub ... 55
3.6 Leistungsfähige LAN-Technologien, Breitbandnetze, High-Speed-Networks... 56
3.6.1 Motivation... 56
3.6.2 Fast Ethernet (100 Base T) ... 56
3.6.3 FDDI ... 56
3.6.4 Frame-Switching... 57
3.6.5 ATM = Asynchronous Transfer Mode ... 57
3.6.5.1 Virutelle Kanäle und virtuelle Pfade ... 58
3.6.5.2 ATM-Schichtenmodell ... 59
3.6.5.3 5 AAL-Typen... 59
4 Anwendungssystem und Netzdienste... 60
4.1 OSI Anwendungssystem... 60
4.1.1 OSI Session Layer ... 60
4.1.2 Presentation Layer ... 61
4.1.3 Application Layer ... 62
4.2 TCP/IP basierte Anwendungsdienste, Netzdienste ... 63
5 Zusammenfassung, Ausblick... 64
5.1 Netzszenarien und Protokollschichtung ... 64
5.1.1 Tunneling ... 64
5.1.2 IP über ATM ... 64
5.1.3 Firewalls... 65
5.2 Netztechnologien ... 65
5.2.1 VLAN = Virtual LAN... 65
5.2.2 Wireless LAN ... 65
5.3 Neuerungen im IP-Umfeld ... 66
5.3.1 IP Version 6 ... 66
5.3.2 Mobile IP ... 66
6 Exkurs: Adressabbildung in Internet-Hierarchie... 67
7 Literatur... 68
8 Abkürzungen ... 70
1 Rechnernetze: Einordnung, Motivation, Grund- begriffe
1.1 Rechnernetz
Ein System aus Datenendeinrichtungen [DEE, DTE = Data Terminate Equipment] (Supercomputer, Mainframes, Workstation-PCs, Terminals, Geräte) die untereinander über Medien (z.B. elektrische Leitungen, Glasfaser [LWL = Lichtwellenleiter], Licht- und Funkstrecken) mittels Datenübertragungseinrichtungen [DÜE, DCE = Data Communication Equipment] (z.B.
Anschalteinheiten, Modems, Konzentratoren) und Vermittlungseinheiten (z.B. Bridges, Switches, Vermittlungsrechner) oder über Rechnernetze (Subnetze) [LAN, MAN, WAN] miteinander verbunden sind.
Transportnetz, Communication
Network
DEE DEE
DEE DEE
Transportnetze:
• Punkt zu Punkt DEE DEE
• Bus-Netz DEE DEE DEE
DEE DEE
• Ring DEE DEE
DEE DEE
DEE
• Stern DEE DEE
DEE VST DEE
DEE
• über Subnetz DEE Dienste- DEE
Netz Datex-P
• über Verbundnetz DEE LAN WAN LAN DEE
1.2 Wozu Rechnernetze?
1.2.1 Aus Sicht Endbenutzer
a) Kommunikation von Personen
• elektronische Post (Email, electronic messaging)
• elektr. Konferenz (Telekooperation, Multimedia-Konferenz) b) Zugriff auf Informationen
• Dateien
• Informationssysteme (WWW)
• Video on Demand
• Fachdatenbanken
c) Zugriff auf entfernte Verarbeitungsfunktion
• Ferndialog
• Stapelverarbeitung
• Telebanking
d) Kooperation von Programmläufen
• Client/Server Components
• Distributing Components
1.2.2 Aus Betreibersicht
Ziel: Erhöhung von Zuverlässigkeit, Performance, Verfügbarkeit.
a) Funktionsverbund (Resource Sharing)
• Spezial-Hardware
• Spezial-Software
b) Lastverbund (Load Sharing) = Ausgleich von Spitzenlastanforderungen c) Verfügbarkeitsverbund (”Hot standby”)
d) Datenverbund (replicated database, partitioned database)
1.2.3 Weitere Klassifikationsmöglichkeiten
a) nach Rechnertypen / Komponententypen
• heterogen
• homogen b) Zugang
• öffentlich
• privat c) Verbindungstyp
• fest geschaltet
• Wählverbindung
d) nach Topologie - irregulär - vollständig vernetzt
{ siehe Kapitel 1.1: „Transportnetze“ } e) Vermittlungstechnik
• Nachrichtenvermittlung
• Paketvermittlung
• Leitungsvermittlung
1.3 Öffentliche Netze (Telekom)
a) Monopolübertragungswege (nackte Leitung): analog, digital, darkfiber b) DDV = Datendirektverbindung
c) öffentliches Telefonnetz (Modems) d) ISDN
• Basis: 2B+D (16 Kanäle)
• Primärmultiplex: 30B+D (64 Kanäle)
e) Datex-M: SDMS, DQDB, cellswitching, 2 Mbit/s, 34 Mbit/s (ca. 50.000,- DM/Monat), 155 Mbit/s f) Datex-J: T-Online, BTX
g) weitere: Datex-P, Datex-L, Telex, Teletex
h) in Vorbereitung: Video on Demand, Service on Demand i) zunehmende Bedeutung: Dienste der Konkurrenten
j) ab 1998: Wegfall des Monopols, Öffnen von Corporate Networks
1.4 Abgrenzung ”Rechnernetz” und ”verteiltes System”
S1
Nutzer
Host Nutzer
Nutzer Host
Nutzer
Nutzer Host
Nutzer Nutzer
Host Nutzer
Das von S1 umschlossene System habe folgende Eigenschaften:
a) Die Komponenten von S1 seien räumlich verteilt.
b) Die Komponenten von S1 zeigen eine Kooperative Autonomie.
c) Systemtransparenz an der Schnittstelle S1, d.h. die Lokalität der Diensterbringung (= der spezielle Host) bleibt dem Benutzer verborgen.
d) Ein (verteiltes) Betriebssystem koordiniert die zur Realisierung einer Anwendung oder eines Dienstes notwendigen Verarbeitungsschritte (innerhalb S1).
e) S1 besteht aus einer Vielzahl physischer oder logischer Komponenten, denen Aufträge dynamisch zugeordnet werden können.
Sind 1) bis 5) gegeben, kennzeichnet S1 ein verteiltes System.
Wichtig: Der Benutzer sieht ”das ganze Netz” als einzige virtuelle Maschine, also statt
System A System B System C
Datei X Datei Y
Database M Database N
C-Compiler C-Compiler
logisch physisch
Netz-Schnittstelle
Nutzer
sollte der Benutzer folgende Sicht haben:
Datei X Database M C-Compiler Datei Y Database N
Nutzer
Probleme:
• Replikationsproblematik
• verschiedene Hardware, Software, Kommandosprachen Trennung: nicht scharf, keine fließende Übergänge
allgemeines Ziel: Erweiterung des Dienstleistungsangebots und der verfügbaren Betriebsmittel.
Wenn 3) und 4) nicht gegeben sind, kennzeichnet S1 ein Rechnernetz.
Hier liefert also das Transportnetz mit Adressen (Ortsangaben) versehene Nachrichten, Aufträge an den Bestimmungsort.
Zwei wesentliche Strukturen sind bei Rechnernetzen zu unterscheiden:
• physikalische Struktur: Rechner, Terminals, DÜE, Leitungen, räumliche Anordnung
• logische Struktur: Daten, Prozesse und ihre Wechselwirkungen Abbildung der beiden Strukturen untereinander! (z.B. strukturierte Verkabelung)
1.5 Besonderheiten bei Rechnernetzen
(Vergleich mit einzelnen Systemen) a) Räumliche Trennung der Systeme:
• kein gemeinsamer Arbeitsspeicher
• evtl. getrennter Adressraum
b) Unabhängigkeit der Systeme:
• keine garantierte Synchronität (keine globale Uhr, Takt)
• unterschiedliche Steuerungsstrategien
• verteilter Gesamtstatus des Systems
c) Die Systeme handeln auf der Basis einer ungesicherten Kenntnis des Gesamtzustandes:
• Partnerinstanzen könnten ausgefallen sein
• Nachrichten erfahren Verzögerung (nicht vernachlässigbar)
• Nachrichten können verfälscht, dupliziert werden oder verloren gehen
• Halten einer lokalen Approximation an den Gesamtstatus d) Heterogenität der Systeme:
• Hardware
− Rechnerstruktur
− E/A-Schnittstellen, Peripherie
• Software
− Betriebssystem
− Auftragssteuerung
• Datenmanagement
• Nachrichtenaustausch!
nicht: SYNC sondern:
P1 P2 P1 P2
ASP Komm.Port Komm.Port
physik.
Transport
1.6 Anforderungen
Bei Kommunikation zwischen Prozessen und System ganz allgemein ist folgende Aufgabe zu bewältigen:
• Austausch von (Normal-) Daten
• Signalisierung asynchroner Ereignisse
• Prozeßkoordination über Synchronisationsoperationen Innerhalb eines Systems: Betriebssystemfaktoren
In verteilten Systemen: physikalische, entfernte Nachrichtenübermittlung Zweckmäßig: Festlegung einheitlicher Kommunikationsmechanismen Mechanismus muß u.a.:
a) merklichen Nachrichtenverzögerungen Rechnung tragen
b) alle Formen von Fehlern berücksichtigen (Verlust, Störung, Duplikation, Rechenfolgefehler) c) örtliche Unabhängigkeit wahren
d) Partner sind prinzipiell gleichberechtigt (jeder hat volle Kontrolle über Interaktionen) e) Kompatibilitätsprobleme lösen
1.7 Nachrichten
Begriff Nachrichten stark kontextabhängig benutzt:
• Information von Quelle erzeugt, für Senke bestimmt (source, destination, sink)
• Informationsmenge die als Einheit transportiert wird.
Bezogen auf Protokollebene werden häufig verschiedene Begriffe für Nachrichten verwendet:
• Segment
• Datenpaket
• Blöcke
• Frame
• Cell, Zelle
1.8 Nicht-Transport-Dienste
Über den reinen Transport von Anwendungs- oder Benutzerdaten hinaus müssen Rechnernetze noch wei- tere Dienste erbringen:
• Informationsdienste
− Hardware / Software: Art, Version, Verfügbarkeit, Tarif, Betreuung
− Betriebszeiten
− Zuständigkeiten
− Mitteilungen
− Hotline
• Netzmanagementdienste (Netzmanagement = Sicherstellung der Funktionsfähigkeit des Kommunikationsnetzes mit angemessener Dienstgüte)
Grundfunktionsbereiche:
• Konfigurationsmanagement: Betriebsmittel initialisieren, Attribute einstellen, Zustandsdaten sammeln, Normalbetrieb sichern
• Fehlermanagement: Störungen erkennen, lokalisieren, beheben
• Leistungsmanagement (Performancemanagement): Daten zum Leistungsverhalten sammeln, bewerten; Engpässe finden, beheben
• Abrechnungsmanagement: Benutzerverwaltung, Betriebsmittelverbrauch ermitteln, abrechnen
• Sicherheitsmanagement: Authentisierung, Zugangskontrolle, ...
2 Protokollkonzepte, Kommunikationsarchitekturen
2.1 Einführung: Terminologie, Problemkreise
2.1.1 Protokoll
Definition: Das Funktionieren einer kooperativen Kommunikation setzt voraus, daß die Partner ein einvernehmliches Verständnis über die Inhalte, Zeitpunkte, Reihenfolge und Zuverläs- sigkeit von Interaktionen haben, d.h. genaue Festlegung des Kommunikationsmechanis- mus in syntaktischer, prozeduraler und semantischer Hinsicht existiert.
Die präzise Spezifikation dieser Vorschriften und Regeln eines Informationsaustausches zwischen zwei oder mehr Partnern auf derselben Stufe (hinsichtlich Schicht, Abstraktionsniveau) eines Kommunikationssystems heißt Protokoll.
2.1.2 Beispiele
2.1.2.1 Telefon
Telefonnetz
Zustandsübergangsdiagramm:
Symbole: lokale Aktion
abgehende Nachricht ankommende Nachricht
{...} Phase eines Informationszustands Zustände
Anf. Verbind.
aufbauen
Partner spricht nichts
"Hallo, wer dort?"
Verbind.
abbauen noch ein Versuch
Ende
Partner legt auf
falscher Name
richtiger Name
Verbind.
abbauen {Begrüßungs-
phase}
{Informations-
austausch} {Verabschiedung}
noch nicht erfaßt:
• starke Störung während des Gesprächs
• Unterbrechung der Verbindung während Gespräch
• zu lange keine Reaktion des Partners
• Auskunft anrufen falls falsche Nummer 2.1.2.2 BSC-Block
PAD SYN SYN SOH Header STX Text ETX BCC
Padding
2.1.2.3 Ausschnitt aus V24: Eigenschaften der Signale a) Datenleitungen
+12 V
„0“
+3 V
-3 V
„1“
-12 V
max. 30 V/µs max. 1 ms
b) Steuerleitungen
+12 V
„Ein“
+5 V Sendeschwelle
+3 V Empfangsschwelle
-3 V Empfangsschwelle
-5 V Sendeschwelle
„Aus“
-12 V
2.1.3 Problemkreise
• Adressierung
• Verbindungsaufbau, -abbau, Rendezvousstelle
• Sicherung der Übertragung (Quittungen, Sequenznummern)
• Aufbau der Nachricht (PC / + User Data)
• Zusammenspiel mit Protokoll anderer Schichten
• Vermeidung unendlicher Schleifen (Zähler)
• Vermeidung beliebig langer Wartezeiten (Timer)
• Darstellung der Protokollspezifikationen selbst (Test, Implementierung, Verifikation)
2.2 Strukturierungsprinzipien der ISO-Kommunikationsarchi- tektur
Zum Begriff des Schnitts ”Abstraktion von Innenwelt”:
Dienst
Außen- Interaktion
welt Interaktionsstellen
Protokoll Innen-
Schnitt welt
Schnitte dienen zur:
1) Identifikation der kommunizierenden Einheiten und der Interaktionsstellen 2) Zuordnung der Interaktionsstellen zueinander
3) Definition der inhaltlichen und zeitlichen Zusammenhänge 3 Arten von Schnitten:
• Systemschnitt
• Dienstschnitt
• Protokollschnitt
2.2.1 Systemschnitt
System- schnitt System-
schnitt
Transitsystem
A B
Endsysteme:
2.2.2 Dienstschnitt
Zerlegung der Kommunikation in funktionale Zusammenhänge:
1) inhaltliche Komponenten, die individuell und prägend sind
2) informelle Komponenten, die verbreitend, begleitend, unterstützend sind für die eigene Kommunikation:
• delegierbar
• Funktionsschichten
Festgelegt wird ein Diensterbringer, Dienstnutzer der Dienste, aber nicht die Art der Diensterbringung.
1 4 3 2 1 Connect-Request
2 Connect-Indication 3 Connect-Response 4 Connect-Confirm
Diensterbringer Systemschnitt
2.2.3 Protokollschnitt
Der Protokollschnitt legt auf jeder durch den Dienstschnitt gegebenen Schicht Protokollinstanzen fest, die Systemübergreifende Dienste realisieren.
2 Arten von Interaktionsstellen:
sichere Instanz sichere
Übertragung
sichere unsichere
Instanz Instanz
unsichere Übertragung
Instanz bildet N Dienste auf N-1 Dienste ab (Funktionsdifferenzierung).
Ziele:
• Austauschbarkeit niederer Instanzen (insbesondere technische Veränderungen)
• Erbringung von Grunddiensten durch genau eine Instanz für beliebige passende Verwendungen
• Getrennte Schnittstellen für Normung, Entwicklung und Test
• langfristig brauchbare Strukturierung
H1 ... HN User Data TN ... T1
2.3 Namen, Adressen und Wege
Definition n. Shoch: ”The name of a resource indicates what we seek, an address indicates where it is, and a route tells, how to get there.”
Zu den Namen:
• identifizieren beliebige Objekte, z.B. Rechner, Gateways, Netze, Benutzer, Dienste, Server
• häufig symbolische Form (für Menschen leichter lesbar; Mnemonik)
• strukturiert (hierarchisch) oder unstrukturiert (flach)
• Bedeutung oft vom Kontext abhängig Zu den Adressen:
• Objekte lokalisieren
• meist numerische Form, geeignet für maschinelle Verarbeitung
• strukturiert oder unstrukturiert (wie Namen)
• Eindeutigkeit wichtig Übergänge sind fließend.
Zum Weg:
Eine Liste von Namen, die den Weg von der Quelle zum Ziel repräsentieren.
Routing
by Name Namen Dirctory Funktion
(X500, DNS) Adressen
Wege
Routing, Wegewahl
Adressierung: Abbildung von Namen auf Adressen Möglichkeiten für Abbildung:
• Zuordnungstabellen, Name Server
• Aus Namensstruktur ableitbar:
<Proz.Bez.> = <Rechnernetz> . <Komm.Rechner> . <Host> . <Proz.Nummer>
Unterscheidung zwischen
• globale Namen (globale Eindeutigkeit)
• lokale Namen (Eindeutigkeit im begrenzten Kontext)
2.3.1 Problemkreise
2.3.1.1 Design eines global eindeutigen Namensraums Alternative 1: hierarchische Konkatination
• postalische Adresse
• Telefon-Nr.
• Rechnernetz . Subnetz . Host . Port
• DNS-Namensraum
Alternative 2: uniformer, flacher Namensraum (global)
• Ethernet-Adressen (MAC-Adressen) = 248 Möglichkeiten Kriterien:
• Erzeugung von eindeutigen Namen
• Relokation von Objekten ohne Namensänderung
• Bequemlichkeit für Benutzer
• mehrere Informationen von logisch identischen Objekten
• Ineinanderschachtelung von Objekten ohne Namenskollision 2.3.1.2 Umfang des Namensraums
Alternative 1: groß
• keine Notwendigkeit der Wiederverwendung
• Mehrfachzuordnung
• großer Header Alternative 2: klein
• siehe (1) invertiert Regel:
• lieber große Header als aufwendige Protokolle (zur Sicherung der Eindeutigkeit)
• Bandbreite heute kein Problem mehr
Vorsicht: Wichtig ist Verhältnis von Header zu Nutzdaten.
2.3.1.3 Codierung der Namen
• Variabel: leicht erweiterbar
• komplizierte Implementierung
• feste Namensfelder: Hardware einfacher
2.3.2 Ports und Sockets
Subsystem Subsystem
Pr. 1
Pr. 2
Sockets Ports Sockets
System A System B
Pr. 1
Pr. 2
Sockets: Namensraum der Prozessanschlüsse
Ports: Namensraum der Verbindungsendpunkte
Kommunikationssystem: verantwortlich für logische Verbindung Verwaltungssystem: ordnet Ports den Sockets zu
Mailbox Pr. 1
Pr. 2
übliche Dienste des Verwaltungssystems:
• Socket (af, type, prot, ...)
− af: z.B. TCP/IP, internet . unix . filesystem
− type: stream, datagram (einmaliger ungesicherter Datenaustausch)
• connect (socket, destination address)
• write (socket, buffer)
• read (socket, buffer)
• bind (socket, local address)
2.3.3 Rendezvousstelle
Ort, an dem die Empfängerexistenz ermittelt wird. Kann beim Sender, beim Empfänger oder dazwischen liegen.
S RS E
Sendetypen:
• ”no wait send”: Asynchrones Senden; Sender arbeitet weiter, evtl. existiert Emp- fänger nicht (oder nicht mehr).
• ”synchronous send”: Empfänger quittiert den Erhalt, der Sender arbeitet danach weiter.
• ”remote invocation”: RPC = Remote Procedure Call; Empfänger quittiert die Ausfüh- rung, der Sender arbeitet danach weiter.
2.4 Sichere Übertragung über gestörte Kanäle
2.4.1 Problemstellung
Folgende Fehler treten auf:
Verfälschung:
Bits verändert auf Medium, an Schnittstellen, im Knotenspeicher [Cache] (Dämpfung, Cross- Talk).
Entdeckung: Prüfsummen (BCC = Block Check Character, CRC = Cyclic Redundancy Check)
Reaktion: z.B. negative Quittung, Wiederholung, ECC = Error Correction Codes Verlust:
Zerstörung des Headers, Entfernung im Netz (wegen Überlast).
Entdeckung: keine Quittung Reaktion: Wiederholung Duplikate:
Verlust bzw. Verzögerung der Quittung, Wiederholung, Restart Component mit unvollständigem Status.
Entdeckung: Sequenznummer Reaktion: Vernichtung falsche Reihenfolge:
Wiederholung, alternative Wege Entdeckung: Sequenznummer
Reaktion: Zwischenspeichern und umsortieren, Vernichten und Wiederholen Fehladressierung:
Verfälschung der Adresse Entdeckung: Prüfsummen Reaktion: Wiederholung
2.4.2 Unbeschränkte Sequenznummer
Partner Pi: Kommunikationspartner numerieren Nachrichten fortlaufend und verbindungsspezifisch durch.
seq: Sequenznummer einer Nachricht
ack: Sequenznummer der nächsten erwarteten Nachricht
typ: Steueranweisungen (CR = Connect Request, CC = Connection Close, DATA, ACK, REJ)
N = (typ, seq, ack, ...) Statusvariablen in Pi:
nfts: Sequenznummer (Next Frame To Send)
frex: Sequenznummer (Frame Expected)
(typ,seq,ack,...) nfts(i→j)
frex(j→i) frex(i→j)
nfts(j→i)
Pi Pj
Erster Ansatz:
In Pi für Nachricht von Pj zu unterscheidende Fälle:
1) seq (N) = frex (j → i)
⇒ es fehlen keine Nachrichten Pi führt aus:
• Nachricht verarbeiten
• frex (j → i) = frex (j → i) + 1
• Erstellen Quittung an Pj mit ack (Nq) = frex (j → i) 2) seq (N) > frex (j → i)
⇒ es fehlen Nachrichten Pi führt aus:
• Nachricht (speichern oder) verwerfen
• REJ (negative Quittung) mit ack (Nq) = frex (j → i); kann auch weggelassen werden
3) seq (N) < frex (j → i)
⇒ Nachricht duplikant Pi führt aus:
• Nachricht verwerfen
• Erstellen positive Quittung mit ack (Nq) = frex (j → i) In Pj für Nachrichten von Pj nach Pi:
kann negative Quittungen erhalten: Nachricht speichern und wiederholen bis positive Quittung Problem 1:
Nachricht verloren, aber Sender schickt keine weitere Nachricht.
Lösung:
• festes Senderaster
• Wiederholung der Nachricht falls innerhalb fester Zeit keine positive Quittung eintrifft Problem 2:
Negative Quittung geht verloren.
Lösung:
siehe oben (auf negative Quittung kann verzichtet werden)
Sequenznummern: liefern Beitrag zur Lösung von Verlust, Duplikate, falsche Reihenfolge (evtl.
auch Fehladressierung)
2.4.3 Beschränkte Sequenznummern
2.4.3.1 Probleme mit der Eindeutigkeit Lösungen:
a) Jede Nachricht enthält Zeitpunkt des sendens (Problem: Synchronisation der Uhren).
b) Jede Nachricht hat maximale Lebensdauer (LD T≈ Netz +Verarbeitungszeit). Sender vergibt die Sequenznummer erst wieder, wenn LD der Nachricht mit dieser Nummer abgelaufen.
Senderate damit festgelegt:
( )
P M
LD U
max ≤
2 +∆
M: maximale Sequenznummer
∆U: Uhrendrift (max. im Netz) Cmax =Pmax⋅Lmax L: maximale Paketlänge
C: maximale Kanalkapazität 2.4.3.2 Problem der Erkennung von Duplikaten
M 0
1 M-1
frex neue N.
Duplikate seq
2.4.3.3 Statusvariablen in Pi
w (i → j) momentan gültige Sendefenster w (j → i) momentan gültiges Empfangsfenster
M 0
1 M-1
frex (i→j)
Duplikate
M 0
1 M-1
lack (i→j) Sendefenster
lack (i→j) w (i→j)
mod
frex (i→j) +w* (j→i)
mod Empfangsfenster
”Sliding Window”
2.4.4 Reihenfolgesicherung
Nachrichten müssen nicht in richtiger Reihenfolge ankommen:
• verschiedene Wege
• einzelne Nachrichten können verloren gehen
Reihenfolgesicherung ist typisch für sogenannte virtuelle Verbindungen.
virtuelle Verbindungen: i.A. bidirektionaler flussgesteuerter Kommunikationspfad mit Reihenfolgegarantie im Gegensatz zu Dialograhmen.
Dialograhmen: Selbständige Dateneinheiten, die genügend Informationen enthalten, für ein Quellen- Senken-Routing ohne Bezug auf früheren Datenaustausch zwischen Quelle und Ziel mit Kommunikationsnetz (kein Status, keine Sequenznummer).
2 mögliche Arten der Reihenfolgesicherung:
a) getrennte Sequenznummern auf jeder Protokollebene
b) zeichenorientierte Sequenznummern, ausgegeben von USERDATA
2.4.5 Fehlererkennung
2.4.5.1 Blockprüfzeichen BCC = Block Check Character
b b b
b b b
b b b
m m
n nm n m
n n m n m
11 1 1, 1
1 1
1,1 1, 1, 1
L
M O M M
L L
+
+
+ + + +
,
Querparität (ergänzt auf gerade oder ungerade (Anzahl 1))
Längsparität
Korrektur von Ein-Bit-Fehlern und Erkennung von Zwei-Bit-Fehlern.
2.4.5.2 Zyklische Blockprüfung
CRC = Cyclic Redundancy Check (häufig eingesetzt!) Vorteile:
+ Erlaubt Erkennung von Fehlerbündeln
+ einfache Realisierung (Schieberegister + logische, einfache Verknüpfung) 2.4.5.3 Selbstkorrigierende Codes
Code:
• Abbildung eines Zeichenvorrats in einen anderen
• Bildmenge dieser Abbildung
• ”Chiffrierung” / Codierung in einem Grundzeichenvorrat Idee:
a) Codetabelle wird so dünn besiedelt, daß die Verfälschung eines an beliebiger Stelle befindli- chen Bits zu einer Bitfolge führt, die unzulässig ist: ⇒ Übertragungsfehler.
b) Falls Übertragungsfehler lokalisiert, Invertierung des Bits gibt Bitkorrektur.
Hamming-Codes:
Hamming-Abstand:
• zweier Codewörter: Anzahl der Bitpositionen, auf denen sich die Wörter unterscheiden
• Codes: minimaler Abstand aller Paare von Wörtern Falls Hamming-Abstand eines Codes 2n+1:
• 2n-Bit-Fehler erkennbar
• n-Bit-Fehler korrigierbar
2.5 Verbindungsmanagement
• Verbindungsaufbau
• Verbindungsabbau
• Multiplexen
2.5.1 Initialisierung einer Verbindung
”3 way handshake”:
{ siehe Anhang : „3-way-handshake“ }
Hinweis: ”2 way handshake” löst viele möglicherweise auftretende Probleme nicht!
Beispiel: Protokoll-Deadlock möglich
OLD
DUP CR (seg=x) CC (seg=y, ack=x) CC (seg=y, ack=x).
Interpretiert als neue
Verbindungsaufbauanweisung
Interpretiert als Duplikat, deshalb ignoriert
Interpretiert als Verbindungs- aufbauwunsch zu bestehender Verbindung
DATA (seg=y, ack=x) DATA (seg=y, ack=x).
keine Verbindung, Daten ignoriert
CR (seg=x) CR (seg=x).
2.5.2 Abbau einer Verbindung
3-way-handshake:
{ siehe Anlage II: „Nachrichtenübermittlung im BSC-Protokoll“ } Auch hier: 2-way-handshake schafft Probleme!
Verbindung terminiert, Kontext gelöscht DC (seg=y’, ack=x)
Datenverlust, falls y’>y und Daten verloren gegangen sind, Wiederholung nicht mehr möglich
DR (seg=x, ack=y) DR (seg=x, ack=y).
2.5.3 Multiplexen
Multiplexen: Abbildung von Schicht (N) Verbindungen auf Schicht (N-1) Verbindungen in Schicht N (prinzipiell in jeder Schicht).
N N-1
1 1
1 p Downward MUX: Splitting
q 1 Upward MUX: Multiplexing (im eigentlichen Sinn)
N
N-1
2.5.3.1 Gründe Upward:
• Unterstützung mehrere N-Verbindungen, falls nur 1 (N-1) Verbindung verfügbar
• Effiziente oder ökonomische Nutzung einer (N-1) Verbindung Downward:
• Erzeugung höherer Bandbreite
• Ausfallsicherheit
• Nutzung von Kostenvorteilen ("channel bundling" bei ISDN) 2.5.3.2 Nötige Protokollfunktionen
Upward:
• Identifizieren der Datenströme
• Vergabestrategien (evtl. individuelle Flußsteuerung)
⇒ Leitungsauslastung auf Kosten von Mehraufwand Downward:
• Reihenfolgesicherung
• Vergabestrategien 2.5.3.3 Realisierung a) Frequenzmultiplex
FDM = Frequency Division Multiplex
Innerhalb des Gesamtfrequenzspektrums (Bandbreite) des Mediums werden schmälere Frequenzbänder als Subkanäle den N-Verbindungen fest zugeordnet.
400 800 1000 1500
A
B
Telefon
Frequency Division Multiplexing
Kanal B: ”0” = 725 Hz
”1” = 475 Hz
A: ”0” = 1325 Hz
”1” = 1075 Hz
Es steht jeweils nur ein Teil der Gesamtkapazität zur Verfügung, dafür kann echt parallel gearbeitet werden.
b) festes Zeitmultiplexen
TDM = Time Division Multiplex
Zeit A B A B A B
Time Division Multiplexing
• Die Übertragungskapazität des Mediums wird Kanälen periodisch (festes Zeitintervall) zugeordnet.
• nicht parallel, sondern Zeitversetzt, aber dann mit voller Kapazität
• Framing üblich auf Bit- oder Byteebene Nachteil:
Schlechte Nutzung der Kapazität, wenn A (oder B) nicht sendet, Zeitscheibe wird trotz- dem zugeteilt).
c) statistischer Zeitmultiplex
Kanalzuteilung nicht periodisch, sondern Verkehrsaufkommengesteuert.
Konsequenzen:
• Frames müssen Kanalzuordnung enthalten
• Vergabestrategien
• Puffer im MUX
• Protokolle zwischen MUX's
2.6 Stausituation
(Congestion Control, Flow Control)
Flußsteuerung: Komplex von Maßnahmen, die der Überlastung eines Empfängers durch einen Sender vorbeugen.
Staukontrolle: Komplex von Maßnahmen, die einer Überlastung des Kommunikationsnetzes durch eine statistisch relevante Menge von individuellen Kommunikationsbeziehungen vorbeugt.
Transportzeit
Last
Durchsatz
Last Nutzdaten-
durchsatz
theoretisches Maximum
Aufgabe der Staukontrolle
2.6.1 Staukontrolle als netzglobale Aufgabe
Grundsätzliche Ansätze:
1. Begrenzung des Nachrichtenflußes ins Netz
• Begrenzung der Anzahl logischer Verbindungen eines Prozesses
• Begrenzung der Anzahl logischer Verbindungen pro Verarbeitungsrechner
• Verzögerung der Annahme von Nachrichten
• Begrenzung der Bandbreite pro Netzzugang 2. Sicherstellung des Nachrichtenflußes aus dem Netz
• Die Verarbeitungsrechner verpflichten sich, im festgelegten Zeitraum eine festgelegte Anzahl von Nachrichten abzunehmen.
• mögliche Konsequenz: evtl. Reassembling nicht im Knoten-, sondern im Verarbeitungsrechner
3. Stauvermeidung im Netz a) Vernichten von Paketen
• bei Datagrammnetzen üblicher Vorgang
• bei Verbindungsorientierten Netzen: automatische Wiederübertragung durch andere Schichten
Problem: Nachrichten können auch Quittungen sein b) Reservierung von Puffern
Problem: Verklemmungsgefahr 4. Taxiverfahren
• Es gibt eine Obergrenze von ”permits” (”tokens”, ”taxi”) für im Netz gleichzeitig zu transferierende Nachrichten.
• Nachricht wird vom Netz nur bei freiem Taxi akzeptiert.
• Taxi läuft mit, bleibt am Ziel und gilt dort als ”Frei”.
Wertung:
• Sinnvoll nur bei symmetrischem Verkehr.
• Globale Beschränkung beugt nicht lokaler Überlast vor.
• In heutigen Netzen mit Teilnetzen ist dies sehr schwierig.
5. Kanallastbegrenzung
• Jeder Knoten überwacht die Last aller Ausgangsleitungen.
• Bei Schwellwertüberschreitung werden Warnungen an den Verursacher geschickt (choke packets).
• Nach der Drosselung ein langsamer Neuaufbau.
6. Pufferkontrolle in End-to-End-Protokollen
2.6.2 Mechanismen einer Verbindungsorientierten Flußsteuerung
Definitionen:
c Quelle d Verbindung e Senke
• kein Problem, falls Senderate c < d und c < e
• Probleme, wenn:
− c > d oder d > e : lokales Problem an der Zugangsschnittstelle
− c > e : Mißverhältnis zwischen den kommunizierenden Partnern ⇒ Flußsteuerung Techniken:
a) Sender verlangt Pufferreservierung vor Sendung, sendet nach entsprechender Bestätigung. Preis:
• 2 extra Nachrichten
• Nachrichten können verloren gehen
• zusätzliche Verzögerungen
b) Empfänger stellt ”Kredit” über Allokationsmechanismen zur Verfügung
• Verzögerung kleiner
• Sender muß sich auf Kredit einstellen
c) Flusskontrollfenster {siehe ”Sliding Window”} (fest eingestellt im Protokoll; verhandelt beim Verbindungsaufbau oder erneut während laufender Verbindung).
d) Stop/Go Verkehr. Probleme:
• schlecht bei großem Round Trip Delay
• oszillierendes Verhalten e) Zeitrasterabhängiges Senden
2.7 OSI-Schichtenmodell
OSI = Open Systems Interconnect
ISO = International Organisation for Standardisation
{ siehe Anlage III: ”Strukturierungsprinzipien des OSI-Referenzmodells” }
2.7.1 Physical Layer = Bitübertragungsschicht
• Trägt der Vielfalt an Übertragungsmedien Rechnung (Twisted Pair, Coax, Fibber, Satellite Links, Richtfunk, Infrarot, ...).
• Sorgt nach oben für transparenten Transport von Bits über ein Medium, stellt ”data circuit” zur Verfügung.
• Legt mechanische, physikalische, funktionelle, prozedurale Charakteristik der physischen Verbindung fest.
physikalisch:
• elektrische Festlegungen (Pegel, Anstiegsflanken)
• elektromagnetische Festlegungen (Einstrahlfestigkeit, Wellenwiderstände)
• optische Festlegungen (Wellenlänge, Einstrahlwinkel, ...)
• akustische Festlegungen mechanisch:
• PIN-Gestaltung und Konfiguration (Form, Länge, ...)
• Beispiel: Sub-D = 15-polig (X.21), 25-polig (V.24) funktional:
• Bedeutung der PINs
• Beispiel: RD, TD, DSR, ... (Trennung in Daten- und Steuerleitungen) = statisch prozedural:
Ablauf der Elementarereignisse = dynamisch Beispiele:
• V.xx = Analoge Übertragung über Fernsprechleitung
• X.yy = Digitale Übertragung
2.7.2 Data Link Layer = Sicherungsschicht
• Verschiedene Übertragungsmedien können verschiedene Steuer- und Kontrollmechanismen erfordern, damit der Schicht 3 ein einheitlicher Schicht-2-Dienst geboten werden kann.
• Schicht 2 verdeckt die physikalischen Charakteristika des Mediums.
• Transportiert sicher Zeichen oder Bitfolgen (”Frames”).
• Fehler auf Medium erkennen und gegebenenfalls korrigieren.
• Bit- und Zeichensynchronisation.
Dienstqualität, Dienstgüte (Quality of Serve, typische Beispiele):
• mittlerer Abstand zwischen erkennbaren aber nicht korrigierbaren Fehlern
• Restfehlerrate
• Verfügbarkeit
• Übertragungsverzögerung (inkl. z.B. Wiederholungen) Beispiele:
• zeichenorientierte Protokolle (BSC, MSV = Medium Speed Variant)
• bitorientierte Protokolle (HDLC, LLC, ...)
2.7.3 Network Layer = Vermittlungsschicht
• Trägt der Existenz von Transitsystemen Rechnung.
• Befreit Schicht 4 von Pfadschaltung über die Transitsysteme, d.h. Vermittlung und Wegewahl.
• Transportiert Transparente Daten der Schicht 4.
Transitsystem:
• Einzelsystem (Router, Vermittlungsrechner)
• Subnetz
• Schalter Protokollelemente:
• routing and relaying
• upward multiplexing
• service selection = Wahl einer Mindestqualität der Dienste (bei Wanderung über Transit- systeme unterschiedliche Qualitäten möglich)
• sequencing = Reihenfolgesicherung (Teilnachrichten auf ungleichen Wegen haben ungleiche Laufzeiten)
Dienstgüte:
• Restfehlerrate
• Verbindungsaufbauzeit
• Durchsatz der Verbindung
• Blockierwahrscheinlichkeit Beispiele:
X.25, PLP, IP
2.7.4 Transport Layer = Transportschicht
• Die Transportschicht ist Endsystemorientiert, d.h. Benutzer werden bedient unabhängig vom geogra- phischen Ort, alle Protokollelemente haben End-zu-End-Charakter.
• Jeder Transportverbindung ist eine wählbare Güte zugeordnet (inkl. Kosten).
Protokollelemente:
• Verbindungsmanagement; neben allgemeinen Funktionen: service selection, addressing (Teilnehmeradressierung global)
• Datentransferphase: (SDUs beliebig lange) blocking, segmentation, reassembling [SDU = Service Data Unit, PDU = Protocol Data Unit]
SDU
Schicht PDU
• expedited data (Vorrangdaten)
• flow Control
• sequencing
• Fehlerbehandlung Dienstgüte:
• Restfehlerrate
• Verfügbarkeit Beispiele:
• ISO-TP (Class 0..4)
• TCP (entspricht TP4)
Die Transportschicht bietet einheitlichen Transportdienst unabhängig von der zugrundeliegenden Netzgüte.
2.7.5 Session Layer = Kommunikationssteuerungsschicht
Sessions sind logische Beziehungen zwischen Anwendungsprozeduren, d.h. vorübergehende kooperative Beziehungen, die bestimmt sind durch die zugeordneten Informationstypen und Transaktions- charakteristika.
Schichtaufgaben:
• Kontextmanagement (context selection, context switch)
• Interaktionsmanagement (Token als Sendeberechtigung)
• Synchronisationsmanagement (Checkpoints, Unterbrechungen, Restart, ...)
2.7.6 Presentation Layer = Darstellungsschicht
Verwaltungsdienste für Erfassung, Austausch, physikalische Auslegung (Display) und Steuerung von strukturierten Daten.
lokale Syntax
A
lokale Syntax Transfer- B
syntax
Basis: gemeinsame abstrakte Syntax
Aufgaben der Schicht 6:
• Vereinbarung einer konkreten Transfersyntax
• Transformation der lokalen Syntax in die Transfersyntax
• Stellt Sprachen zur Verfügung zur Beschreibung der abstrakten Syntax (z.B. ASN1 = Abstract Syntax Notation One)
• Presentation Images: Musterstrukturen für bestimmte Anwendungen Beispiele:
• Virtuelle Dateien, virtuelle Terminals, Auftragsbeschreibungen
• Dokumentenarchitektur
2.7.7 Application Layer = Anwendungsschicht
• Enthält eigentliche Anwendungen.
• Das Schicht-7-Protokoll gibt es nicht, nur eine Reihe von Anwendungsspezifischen Protokollen.
Beispiele:
• Nachrichtenaustausch (X400, Email, ...)
• Dateiaustausch (FTAM)
• Informationsbankenabfrage
• Platzbuchung
• Bestellwesen
• Banktransaktion
3 Transportsysteme, Netztechnologien
3.1 Vielfachzugriffsprotokolle (VZP)
3.1.1 Problemstellung, Überblick
Steht kein dediziertes Medium (wie z.B. eine Punkt-zu-Punkt-Verbindung) zur Verfügung, sondern teilen sich mehrere potentielle Kommunikationspartner ein Medium (”Shared medium”), so entsteht als Problem die Konkurrenz um das Medium.
Folge: Medium Access Control (MAC) notwendig VZP lösen Zuteilung des Betriebsmittels Medium.
Beispiele: { siehe Kapitel 1.1: ”Rechnernetz” }
Eine logische Punkt-zu-Punkt-Verbindung der ”Schicht 2” kann erst aufgebaut werden, falls das Medium der Schicht 1 zugeteilt ist. Folglich fällt MAC ”dazwischen”, man sagt in die Ebene 2a (alte Schicht 2 wird dann Schicht 2b).
Vielfachzugriffsprotokolle (Ausschnitt) :
ohne Reservierung mit Reservierung
ohne Mithören des Senders mit Mithören des Senders dynamisch statisch
random access controlled access DQDB TDM
persistent non-persistent CFMA
(conflict free medium access)
FDM
(un-) slotted
Aloha (un-) slotted
CSMA (un-) slotted
CSMA Token-Bus,
Token-Ring, FDDI
MLMA (Multi Layer Medium Access)
Statische Zuteilungen oder zentrale Zugangssteuerung sind i.A. (je nach Verkehrscharakteristik) zu teuer oder zu langsam, führen i.A. zu schlechten Medienauslastungen.
Beispiel: Satellitenübertragung: Polling-Verfahren für 100 Stationen Leerer Polling-Zyklus:
falls geostationäre Station
= Zentralstation : 27 sec.
falls Erdstation = Zentralstation : 54 sec.
Man ist deshalb an dezentralen Verfahren interessiert.
Bei Random-Access-Verfahren besteht inhärent Konfliktgefahr. Da Zugriffe "zufällig" geschehen, kön- nen Kollisionen entstehen (d.h. Nachrichtenverfälschungen).
Bei stochastischen Verfahren bestehen also 3 Problemkreise:
• Kanalzugang
• Konflikterkennung
• Konfliktbereinigung
Wichtige Größe: Konfliktparameter a a Signallaufzeit
Nachrichtenübertragungszeit
= = KanallängeSignalgeschwindigkeit
Nachrichtenlänge
Übertragungsrate des Kanals
. Die Bewertung der Zugriffsstrategien kann z.B. erfolgen nach:
• Stabilität unter Last (bezüglich Verzögerungen, Durchsatz, Erhalt der Fairneß)
• Kanalauslastung
• garantierte maximale Wartezeit
• Fairneß des Zugriffs
3.1.2 Aloha-Verfahren
Pure Aloha
• Jede Station sendet beliebig.
• Konflikte (Nachrichtenüberlagerung) werden erkannt durch Mithören des Rückkanals (bei Satellitenübertragung) oder fehlende Quittung.
• Bei Fehlern Wiederholung zu beliebiger Zeit (Problem kann bei Wiederholung erneut auf- treten).
Slotted Aloha
• Zeitsegmentiertes Aloha
• Unterteilung der Zeitachse in Slots der Länge p (Paketzeit).
• Sendebeginn eines Pakets immer zu Beginn eines Slots.
⇒ Verdopplung des maximal möglichen Durchsatzes da Kollisionsbereich halbiert.
{ siehe Anlage VI: „Verhalten verschiedener Vielfachzugriffsprotokolle“ }
Überlappungszeit 2p Überlappungszeit p
Annahmen für Beiblatt:
a) Konstante Übertragungszeit eines Pakets p
b) Poisson-Verteilung, Zwischenankunftszeiten negativ exponentiell verteilt c) genügend Pakete stehen zur Übertragung an
Aufgabe: Maximalen Durchsatz von Pure und Slotted Aloha nachrechnen.
3.1.3 CSMA-Verfahren
CSMA = Carrier Sense Medium Access
Idee: Gegenüber Aloha-Verfahren die Konfliktwahrscheinlichkeit senken und vorheriges Mithören auf dem Kanal (listen before talking, carrier sense) um laufende Sendungen nicht zu stören. Macht nur Sinn, falls a<<1. Falls Kanal frei, kann gesendet werden.
Kollisionen können trotzdem entstehen, falls mehrere Sendungen quasisimultan (Signallaufzeit) zu senden beginnen.
Die CSMA-Varianten unterscheiden sich in der Art, wie Übertragungsbeginn nach Abhören "verschoben"
wird.
p-persistent CSMA:
Bei freiem Kanal wird mit Wahrscheinlichkeit p sofort gesendet, mit (1-p) wird Sendung um Timeout verzögert (nach erneutem Abhören).
non-persistent CSMA:
Bei freiem Kanal wird übertragen. Bei "Belegt" oder "Konflikt" wird erst nach zufälliger Zeit τ wieder abgehört. Also nicht permanent Mithören, um sofort zu übertragen.
Die Variante mit der größten praktischen Bedeutung ist 1-persistent CSMA (siehe Ethernet bzw. IEEE 802.3). Ethernet ist ein CSMA/CD-Verfahren, also auch Art der Kollisionserkennung und Kollisions- behandlung festgelegt. Die Wartezeit nach einer Kollision ist festgelegt durch:
Truncated Binary Exponential Backoff Algorithm
• Spannungsfeld: Wartezeit gegen konsekutive Kollisionen
• Versuch, Wartezeit an Netzlast anzupassen
• Konflikterkennung ist multilateral
• Alle Stationen hören mit, senden Störsignal bei erkannter Überlagerung Varianten dazu wären:
• Paritätsregelung nach Kollision
• Automatische Reservierung nach Kollision
Voraussetzung: "Analog Component" im Controller vorhanden.
3.1.4 Token Passing
Grundidee: Senden darf nur wer Berechtigung "Token" hat.
{siehe Anlage III: "Token Passing Verfahren"}
Alternativen: (physische) Realisierung des (logischen) Rings: Kann sowohl auf Basis einer physischen Ringstruktur als auch einer physischen Busstruktur realisiert werden.
Token Ring (IEEE 802.5):
Stationen sind mit Punkt-zu-Punkt-Verbindung zu physischem Ring zusammen- geschlossen.
FDDI = Fibber Distributed Data Interface:
• Zugriffsverfahren ist Weiterentwicklung von Token Ring
• Weiterentwicklung sinnvoll / notwendig bei:
− größerer Entfernung (physische Ausdehnung, Kabellänge) bis 100 Km:
MAN = Metropolitan Area Network
− höhere Datenrate (100 MBit/s gegenüber 4-16 MBit/s)
• Einsatz evtl. mehrerer Tokens ("Early Token Release") Token Bus (IEEE 802.4):
Stationen sind an Bus angeschlossen, d.h. logischer Ring muß durch Vergabe entspre- chender Stationsadressen und Vorgänger-Nachfolger-Beziehungen erreicht werden.
Hauptvorteile bzw. Nachteile der Token-Passing-Verfahren gegenüber CSMA-Verfahren:
Vorteil:
+ Angeschlossenen Stationen kann maximale Wartezeit garantiert werden.
Nachteil:
– Wartezeit bei geringer Last
– Korrektes Arbeiten muß überwacht werden! ("Ringmanagement")
• Monitorstation muß Existenz genau eines Tokens sicherstellen
• Entfernen zirkulierender Nachrichten
• Bestimmen Stellvertreter für ausgefallene Monitorstation
3.1.5 DQDB = Distributed Queue Dual Bus
• Technologie im MAN-Bereich
• Verwendung von zwei unabhängig voneinander orbitierten, unidirektionalen Bussen
• Ausgelegt für verschiedene Übertragungsmedien (LWL, TP, ...)
• Datenraten 34-155 MBit/s (auch höher oder niedriger)
• Medienzugang basiert auf Algorithmus für verteilte Warteschlangen QPSX = Queued Packed Distributed Switch
3.2 Protokolle der Schicht 2 (b)
3.2.1 Aufgaben der Schicht
Protokollbezogen:
• Bereitstellen und Steuern der Schicht-2-Verbindungen (Data Link, Logical Link)
• Steuerung und Sicherung des Datenaustauschs (von Bitfolgen bzw. Zeichenfolgen) Interfacebezogen:
Schicht 2-3:
• Umsetzen der Schicht-3-Anwendungen
• Bereitstellen von Zustands- und Fehlermeldungen
• Ausliefern der Schicht-3-SDUs Schicht 1-2:
• Bitsynchronisation, Bytesynchronisation
• Anpassung der Übertragungsgeschwindigkeit an die Bandbreite des Mediums
• Steuerung des physikalischen Verbindungsaufbaus / -abbaus
3.2.2 Schicht-2-Protokolle
Die Schicht-2-Protokolle enthalten demnach Festlegungen bezüglich:
a) Leitungsart (Stand, Wahl)
b) Verbindungsart (Punkt-zu-Punkt-Verbindung, Mehrpunkt) c) Betriebsart (simplex, halbduplex, vollduplex)
d) Übertragungsgeschwindigkeit
e) Übertragungsart (synchron, asynchron)
• Synchron:
Alle Binärzeichen liegen im festen Zeitraster; zwischen Sender und Empfänger besteht vollständiger Schrittgleichlauf.
t1 t2 t3
Sender
...
t1’ t2’ t3’
Empfänger
...
τ
t t t t t
t t
i i i i
i i
− − = ′ − ′ =+
′ − = ∀
1 1 ∆
τ i
• Asynchron:
Binärzeichen einer Übertragungsfolge in einem festen Zeitraster; zwischen Sender und Empfänger besteht Synchronität nur für die Dauer dieser Zeichenfolge; Binärzeichen verschiedener Übertragungsfolgen liegen nicht unbedingt im gleichen Zeitraster;
zusätzliche Aufgabe: Herstellung der Synchronität bei Übertragungsbeginn.
• Start/Stop:
(asynchrones) Zeitraster bis jedes zu übertragende n-bit-Zeichen (n: 5-8) eingestellt über Startbitfolgen (1, 1½, 2). Nachteil: Overhead (z.B. bei n=8: 20-30%).
f) Datensicherung, Fehlerprüfung, BCC, CRC g) Übertragungscode für Darstellung
• Codeabhängig (d.h. festes Alphabet)
• Codegebunden (feste Bitzahlen pro Zeichen)
• Codeunabhängig (übliche Alphabete: IAS, ASCII, EBCDIC)
• Codetransparent (Benutzung eines Fluchtsymbols; z.B. DLE, DLE DLE) h) Steuerungsverfahren
• Konkurrenzbetrieb (contention mode)
• Aufrufbetrieb (polling mode)
i) Abwicklung des Datenübertragungsvorganges Leitungsprozedurtypen:
zeichenorientiert bitorientiert
• Übertragung von Zeichen fester Länge
• Codeabhängig
• i.a. große Zahl von Steuerzeichen
• Bytestuffing
• Bit- und Bytesynchron
• Paritätsprüfung
• i.a. halbduplex
• z.B.: BSC, ...
• Übertragung von Bitfolgen beliebiger Länge
• Codeunabhängig
• Steuerfelder mit fester Position
• Bitstuffing
• Bitsynchron
• CRC
• vollduplex
• z.B.: HDLC, SDLC, ...
3.2.3 Leitungsprozedur BSC
Zeichenorientierte Prozedur (ASCII oder EBCDIC) {Einzelblock: siehe Kapitel früher}
{Protokoll: siehe Anlage früher}
Wertung der Prozedur:
• Fehlererkennung BCC: „schlechtere“ Fehlererkennung als CRC-Verfahren
• keine Sequenznummern
• keine Codetransparente Übertragung (nur über ESC-Sequenzen)
• Prozedurbedingte schlechte Leitungsauslastung (halbduplex-Operation) Beispiel:
ln = Länge der Nachricht lq = Länge der Quittung
C = Übertragungsrate des Mediums rt = Round Trip Delay
Vereinfachte Annahmen:
• kein cut-through (Bearbeitung der Nachricht beginnt, wenn vollständig eingetroffen)
• Reaktionszeiten der Stationen = 0 Maximale Leitungsauslastung:
m= rt Clq + +
ln
ln
Begründung:
Aufgabe: lq=32 Bit; m=2⋅10³ Bit; c=2⋅106 Bit/s; Bewerten Sie unter diesen Annahmen die Eignung der Prozedur vor dem Hintergrund realistischer Werte für rt (z.B. für welchen Wert von rt entspricht m der halben Leitungskapazität C).
Lösung:
3.2.4 HDLC = High Level Data Link Control
3.2.4.1 Konfigurationen unbalanced:
• Eine Leitstation (primary), zuständig für Steuerung der Verbindung, Fehlerbehebung, sendet sog. Commands
• evtl. mehrere Folgestationen (secondary), senden responses balanced:
alle Stationen gleichberechtigt 3.2.4.2 Operationsarten
für unbalanced Systems:
• Aufrufbetrieb (NRM = Normal Response Mode); secondary sendet nur nach Aufforderung (selecting, polling)
• Konkurrenzbetrieb (ARM = Asynchronous Response Mode); secondary darf beliebig senden für balanced Systems:
nur Konkurrenzbetrieb 3.2.4.3 Frametypen
{ siehe Anlage VII: „HDLC: Rahmenformate“ } Bemerkung:
• Sequenznummern
• CRC-Verfahren
• Adress-Feld für unbalanced Konfiguration (für balanced Konfiguration treten exakt 2 (immer gleiche) Adressen auf)
• piggy backing (Quittungen werden nicht einzeln geschickt, sondern an gegenläufige Nachrichten drangehängt)
Festlegung von HDLC enthält eigentlich kein Protokoll, sondern Prozedurbaukasten. Auswahl von konkreter Leitungsprozedur hängt ab von:
• Betriebsart (hdx, vdx)
• Systemkonfiguration
• Anforderung an Fehlerbehandlung
• Länge der physikalischen Verbindung (Wahl des Sequenznummernraums)
HDLC definiert drei Prozedurbasisklassen (basic repertoire) UNC, UAC, BAC sowie 13 optimale Funktionen:
U, B = Un- / Balanced
N, A = Normal / Asynchronous Response Mode C = Class
Eine konkrete Prozedur ist definiert durch Basisklasse + Optionen; z.B.:
• LAPB = Link Access Procedure Balanced:
verwendet für X.25 Level 2: Punkt-zu-Punkt-Verbindung, gleichberechtigte Systeme → BAC; effektive Fehlerbehandlung, REJ → Option 2
⇒ BAC,2 (negative Quittung definiert)
• Prozedurvorschlag für Satellitenstrecke: gleicher Grundaufbau wie LAPB:
BAC,2
− großer RTD, also größeres Fenster bis 127 → Option 10
− RTD mit selektive Reject SREJ → Option 3
⇒ BAC,2 ,3 ,10
3.3 Vermittlungsschicht (Network Layer)
3.3.1 Überblick
Aufgaben, Protokollelemente, Dienstqualität: {siehe Kapitel 2.7.3}
H E-E H
Subnetz 1 Subnetz 2
Internetworking
Internetworking: Bilden eines Verbundnetzes aus Subnetzen mittels Verwendung von Intermediate Systems [IS] (= Gateway, Router).
Aufgaben eines Routers (allgemein eigentlich Gateway):
• Adressierung über Subnetzgrenzen hinweg und Adressabbildung
• Anpassung von Nachrichten bezüglich Format, Länge (Fragmentierung, Blockung), Reihenfolgeerhalt
• Abstimmung von Protokollparametern (z.B. Fenstergrößen, Timern)
• Anpassen von Fehlerbehandlungsmechanismen und Meldemechanismen
• Abbilden von Diensten (z.B. Verbindungsorientiert ↔ Datagram) Hinweis: Vermittlung und Wegewahl auch in anderen Schichten:
a) Nachrichtenvermittlung in Schicht 7 bei electronic mail
b) Routing auf MAC-Schicht falls LANs über Bridges oder Switches gekoppelt c) Cell-Vermittlung bei ATM
3.3.2 Vermittlungsverfahren
{ siehe Anlage XI: „Vergleich der Vermittlungsverfahren“ }
Vermittlung: Aufbau eines Punkt-zu-Punkt-Datenpfades durch das Netz zwischen zwei Endsystemen.
Drei Varianten:
a) Leitungsvermittlung (Durchschaltevermittlung, circuit switching)
Verbindungsaufbausignal geht gemäß eines Wegewahlalgorithmus durch das Netz zum Zielsystem. Nach positiver Quittung steht für Dauer der Datenphase dedizierter (physischer) Übertragungskanal (reservierte Ressourcen) zur Verfügung.
→ Beispiele: Telefonnetz, ISDN-B-Kanäle
b) Nachrichtenvermittlung (Streckenvermittlung, store and forward, message switching)
Jeder Knoten entlang des Übertragungsweges nimmt die komplette Nachricht entgegen und speichert zwischen.; falls geeignete weitere Strecke frei wird: Weiterschaltung / -sendung der Nachricht.
→ Reassemblierung in jedem Knoten, schwankender Anteil von Processing Delay und Queuing Delay abhängig von Nachrichtenlänge und Knotenkonfiguration (z.B. Speicherkapazität).
Teilstrecken können unterschiedliche Eigenschaften haben, da Anpassung leicht möglich.
→ Beispiele: Email, IP
c) Paketvermittlung (packet switching)
Spezialfall der Streckenvermittlung. Die ursprünglichen Nachrichten (stark schwankender Länge) werden in Pakete (häufig gleicher Länge) zerlegt, die dann nach dem Prinzip der Streckenvermittlung transportiert werden.
→ Pipelining-Effekt, gute Leitungsauslastung, Reihenfolgegefährdung durch unabhängiges Routing pro Paket.
→ Beispiele: X.25
circuit switching message switching packet switching Verzögerung bei
Verbindungsaufbau Durchsatz für lange Nachrichten
Antwortzeit für kurze Nachrichten
Schwankungen bzgl.
Antwortzeit u. Durchsatz Laufwegeermittlung und Übertragungssteuerung Folgesicherung
3.3.3 Routing (Wegewahl)
3.3.3.1 Überblick
Es gibt mehrere Wegewahlverfahren. Die Wahl eines Verfahrens hängt ab von der Zielfunktion:
• geringe Übertragungskosten
• geringe Übertragungszeiten (z.B. Knotenanwahl - processing delay, Leitungslängen - propagation delay, Leitungskapazitäten - transmission delay)
• gute Leitungsauslastung
• Netzdurchsatzmaximierung Anforderungen an Verfahren:
• einfach (Komplexität des Algorithmus, Netzoverhead)
• adaptiv (bzgl. Last- und Topologieänderung)
• robust (bzgl. Fehlersituationen, s.h. keine Zyklen)
• fair (bzgl. Einzelne Verbindungen) Probleme:
• Zielkonflikte
• Beschreibung des Netzes (Leitung, Knoten, Kosten)
• Berechnung
− wo (zentral, dezentral)
− welche Information (Kosten, Länge, ...)
− wie wird Information bereitgestellt
− welche Ereignisse stoßen Berechnung der Wege an
− wann wird neuer Weg aktiviert Vereinfachte Wegewahl bei speziellen Topologien:
• Stern: zentrale Vermittlung (Nebenstellenanlage)
• vollständige Vernetzung: (aber: n n−1(2 ) Leitungen)
• Bus: i.a. Diffusionsnetz
• Baum: falls Knoten hierarchische Anordnung
• Matrix: falls Knoten entsprechend benannt
• Ring
3.3.3.2 Klassifikation der Wegewahlverfahren
• nicht adaptive Verfahren:
− mit Wegewahltabellen (directory routing)
− ohne Wegewahltabellen (flooding)
• adaptive Verfahren:
− zentral (routing centre)
− dezentral isoliert (hot potato = so schnell wie möglich loswerden)
− dezentral mit Kenntnis der Nachbarn
− dezentral mit Kenntnis aller Knoten