• Keine Ergebnisse gefunden

Datenkommunikation DK

N/A
N/A
Protected

Academic year: 2021

Aktie "Datenkommunikation DK"

Copied!
76
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

DK

Datenkommunikation

Dr. Bernhard Neumair

Karl Schiml

(2)

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

(3)

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

(4)

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)

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

(6)

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

(7)

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

(8)

{ 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.

(9)

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

(10)

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

(11)

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, ...

(12)

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}

(13)

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)

(14)

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

(15)

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

(16)

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)

(17)

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

(18)

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.

(19)

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)

(20)

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)

(21)

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 TNetz +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 =PmaxLmax 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”

(22)

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:

(23)

• 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

(24)

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

(25)

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.

(26)

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.

(27)

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.

(28)

• 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

(29)

{ 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

(30)

• Ü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]

(31)

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)

(32)

• 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

(33)

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.

(34)

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.

(35)

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.

(36)

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

(37)

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)

(38)

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:

(39)

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.:

(40)

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“ }

(41)

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

(42)

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

Abbildung

Abbildung der Leitungssignale auf Schnittstellensignale (zwischen Modem und Rechner)

Referenzen

ÄHNLICHE DOKUMENTE

The HDLC frame structure consists of FLAG- ADDRESS-CONTROL-INFORMATION (Optional)-FRAME CHECK SEQUENCE- FLAG (see Figure 1). All frames must start and end with a Flag that

stations in the network, assuming that the network is offered for use in a two-way file transfer. In a previous memorandum [El, the author discussed the same problem, assuming a

LastByteWritten ‐ LastByteAcked Diese Größe muss immer kleiner gleich MaxSendBuffer

Empfangspuffer  wird geleert  und Annahme  der Empfänger  sendet nichts  an den Sender  zurück.

This format enables the receiving station to determine where the transmission starts and stops, whether the transmission is for that station, what actions are to be performed with

A technique called eight-bit data transparency allows 8-bit data to be transmitted over a link connection that does not allow transmission of eight data bits within a single byte.

GOALS-FULFILL If the regime has unstated goals, indicate whether the behavioral changes that occurred led to the fulfillment of the unstated goals of the regime.

This function initializes the adapter hardware, runs any diagnostics on the adapter hardware, initializes any interrupt vector(s) to be used by the adapter(s), sets up any