Leitungsprotokolle und ISO/OSI-Schichtenmodell Bisync

Transcription

Leitungsprotokolle und ISO/OSI-Schichtenmodell Bisync
Leitungsprotokolle und ISO/OSI-Schichtenmodell
• die Sicherungsschicht (data link protocol/Leitungsprotokoll) garantiert
• Auf- und Abbau der Verbindungen (link management)
• Flußkontrolle
• transparente, gesicherte Übertragung
• Meldung nicht behebbarer Fehler an höhere Schichten
Bisync-Protokoll
• Beispiel für ein einfaches Leitungsprotokoll
• Binary synchronous control = Bisync = BSC, von IBM
• Charakterisierung
• Zeichenorientiert, synchron, halbduplex, verbindungsorientiert
• Fehlerbehandlung: Sende-und-Warten ARQ
• 1 Master und ein oder mehrere Slave(s):
a) Mehrpunktkommunikation
a) Bus
Blockaufbau im Bisync-Protokoll
Beispiel f. Select-(Sende) Sequenz bei Bisync
• verwendet Blocknummer (modulo x) und alternierende Blockbestätigung,
NAK verkürzt TimeOut-Wartezeit
• Kontrollzeichen aus ASCII-Zeichensatz
ETB = End of Transmission Block
BCC = Block Check Character
Kontrollblöcke
⇑
⇓
Datenblöcke
• Aufbau einer Verbindung
• zum Senden/Empfangen: Select/Poll-Anfrage
• gefragte Station antwortet mit pos./neg. Quittung
• Transparenz durch DLE+ETX
• danach alle Zeichen bis auf DLE nicht als Steuerzeichen interpretiert
• dann DLE+DLE als Nutzbyte DLE angesehen
• DLE+ETX oder DLE+ETB beenden diesen Modus
• Zeitüberwachung ca. 2 Sekunden
• Übertragungsrate 1200 Bit/s - 9600 Bit/s
Die HDLC-Familie
Das HDLC-Protokoll
SDLC:
Synchr
onous Data
Link
Control
(IBM)
ADCCP:
Advan
ced Data
Communicat
ion Control
Procedure
HDLC:
LAP:
LAPB:
LLC:
High-Level Data Link Control
Link Access Procedure
Link Access Procedure, Balanced
L2 von OSI , L3: X.25
Logical Link Control
weitere:
Kermit, XMODEM (für Modems zwischen PCs)
• HDLC = High-level data link control, bei IBM SDLC genannt
• normiert durch ISO (International Standards Organization)
• Charakterisierung
• Bitorientiert, synchron, vollduplex, verbindungsorientiert
• Fehlerbehandlg. Kontin. ARQ, Flußkontrolle: Gleitendes Fenster
• Anwendungsfelder
a) Punkt-zu-Punkt,
1
Master, 1 Slave,
“unbalanciert”
b) Mehrpunktkommunikation, 1 Master, 1
Slave, “unbalanciert”
c) Punkt-zu-Punkt, je 1
kombinierter Master/Slave
“balanciert”
• 3 Betriebsarten, je nach Anwendung
• Normal Response Mode (NRM)
• für unbalancierte Anwendungen a) u. b), nur Master/Primary
kann Datentransport einleiten
• Asynchronous Response Mode (ARM)
• für unbalancierte Anwendungen a) in vollduplex, Slave/
Secondary kann selbst Datentransport ‘asynchron’ zum Master
einleiten
• Asynchronous Balanced Mode (ABM)
• für balancierte Punkt-zu-Punkt Anwendungen c) in vollduplex,
meistens zur Verbindung zweier Computer oder eines Rechners
und einem Paketvermittlungsnetzes (X.25), beide Stationen sind
gleichberechtigt, verwendet im
⇒ HDLC-LAPB-Protokoll (link access procedure balanced)
für vollduplex Punkt-zu-Punkt Anwendg., z.B. Datex-P
Aufbau eines HDLC-Blocks
• anders als Bisync nutzt HDLC einheitliches Format für alle Blocktypen
• I=Information, S=Steuerung/Supervisory, U=Unnumeriert=Link Manag.
Bedeutung einiger Bitfelder
I-Block: N(S)
N(R)
Nummer dieses Blocks
quittiert korrekten Empfang aller Blöcke bis
zum Block N(R)-1
Gegenstelle soll diesen Block quittieren
P/F=1
Befehle im S-Block:
RR (Receive Ready)
signalisiert Empfangsbereitschaft
Quittung für Korrektheit für alle Blöcke bis N(R)-1
P/F=1 ⇒ Gegenstelle soll Zustand durch RR oder RNR
mitteilen
RNR (Receive Not Ready)
signalisiert Nicht-Empfangsbereitschaft
Quittung auf Korrektheit für alle Blöcke bis N(R)-1
wird aufgehoben durch Senden von UA, RR, REJ, SABM
REJ (Reject)
fordert Gegenstation zur erneuten Sendung der I-Blöcke
ab N(R) auf
erst wenn I-Block N(R) eingetroffen ist, darf REJ erneut
gesendet werden
Befehle im U-Block:
Sxxxx (Set xxxx mode)
Gegenstelle auf diesen Modus einstellen
Quittierung durch UA
dann alle internen Zähler N(R) und N(S) auf Null setzen
DISC (Disconnect)
Gegenstelle den Vermittlungsabbau mitteilen
Quittierung durch UA
UA (Unnumbered Acknowledge)
quittiert Sxxxx und DISC
wenn Fenstergröße von 8 (erlaubte Blocknummern 0-7) nicht ausreicht (z.B.
für Satellitenvbdg. oder hohe Bitraten), kann ein 16-Bit (Extended-)
Steuerfeld mit 7-Bit Blocknummern (0-128) vereinbart werden
Flag =01111110, ⇒ Zero Bit Insertion Verfahren
Adresse= Sender bzw. Empfänger, auch Broadcast
FCS=CRC-CCITT über ganzen Block (Header und Datenblock)
P/F: Sendeaufruf bei Befehlen (Polling=1), Endeanzeige bei Meldungen (Finish=1)
Verbindungsaufbau und -abbau
• am Beispiel einer Verbindung im Asynchronous Balanced Mode
a) beide betriebsbereit ?
b) Modus-Festlegung: Set ABM
⇒ gleichberechtigte Stationen
c) B bestätigt Modus & Verbindungsaufbau durch UA
d) Datentransfer
e) DISConnect
f) Verbindungsabbau mit UA
bestätigen
Fehlerfreier Datentransport, Huckepack-Quittung
verwendete Zähler:
V(S)
Sendefolgezähler mit der Nummer des nächsten zu sendenden
Datenblocks
wird nach Senden um 1 (mod 8) erhöht
VO(S)
Nummer N(R) der letzten von der Gegenstation empfangenen
Quittung, (V(S)-VO(S)) < Fenstergröße 8
V(R)
Empfangsfolgezähler N(S) des nächsten erwarteten
Datenblocks. Wenn Block mit N(S)=V(R) eintrifft, wird N(S)
um 1 (mod 8) erhöht
weitere Vereinbarungen:
I(N(R),N(S)) Datenblock mit Folgenummern N(R) und N(S)
RR(N(R))
Receive Ready Block mit Folgenummer N(R)
RNR(N(R)) Receive Not Ready Block mit Folgenummer N(R)
REJ(N(R)) Reject Block mit Folgenummer N(R)
• Vollduplexbetrieb, daher Huckepack-Quittierung im ohnehin zu sendenden
0-ter I-Block von A, gleichzeitig
I-Block möglich
Quittung für Blöcke 0-2 von B
A hat nichts mehr zum Senden,
daher jetzt RR-Blöcke
RR(8 mod 8) = RR(0)
Fehlerhafte Übertragung und Überlast
• wenn nur eine Station sendet, ist Quittierung über explizite RR-Blöcke
nötig
Weitere HDLC-Protokolle
Bisher diskutiert:
LAPM
HDLC-LAPB
Link access procedure for modems
verwendet als Fehlerkorrekturprotokoll in Modems, z.B. V.32
Ab I(0,1) erneut senden
UIP = user interface part
ECP = error correcting part
DTE = data terminal equipment
DCE = data circuit terminating equipment
PSTN = public-switched telephone network
Bis I(0,2) alles quittieren
• Überlauf oder Überlastsituation im Empfänger
Da I(0,4) letzter
Datenblock, ist für A
nicht erkennbar, ob
noch RR(5) von B
kommt. Daher wird
Time-Out abgewartet
und dann I(0,4) erneut
gesendet.
Bis I(0,1) alles quittieren,
dann Übertragung stoppen
Anfrage: wieder bereit ?
Nicht bereit !
Bereit
LAPD
Link access procedure D-channel
definiert Protokoll auf dem Signalisierungskanal “D” des ISDN
LLC
Logical link control
wird in lokalen Netzen (LAN, local area networks) verwendet
Protokolle der Sicherungsschicht im Internet
Serial Line Internet Protocol (SLIP)
• Zur Ankopplung ans Internet über serielle Verbindungen
• Sehr einfaches, zeichenorientiertes Protokoll
Internet-Verbindungen
• Endsysteme an ”Netz”
• ca. 10 m - 10 km: LAN & MAN: viele miteinander
• über ca. 10-100 km: WAN
• Punkt-zu-Punkt: (hier betrachtet)
• an Internet-Provider (T-Online, Uni, MSN, Eunet, ...)
• meist über Telefonleitung und Modem
• meist TCP/IP über SLIP oder PPP
• Verbindungen zwischen Netzknoten
• Punkt-zu-Punkt: (hier betrachtet)
• meist über Standleitung (z.B. ATM-Verbindungen)
• Daten = Nutzlast = “Payload’
• Pakete der höheren Schicht ⇒ IP-Pakete
• Blockaufbau zeichenorientiert
• Flag Byte (C016) am [Anfang und] Ende des Pakets anfügen
• Variante des Character-Stuffing
• falls C016 Teil der Daten, dies durch DB16, DC16 ersetzen
• falls DB16 Teil der Daten, dies durch DB16, DD16 ersetzen
• Eigenschaften
• keine Fehlererkennung oder Fehlerbehebung
• nur IP wird unterstützt
• IP-Adressen kommunizierender Stationen müssen vorab bekannt
sein (keine dynamische Zuteilung)
⇒ jeder Anwender müßte eigene IP-Adresse auf Host haben
⇒ zu große Menge von Adressen
• keine Authentifizierung
⇒ Problem nur bei Wählleitung, nicht bei Standleitung
• de facto, aber kein normierter Standard, viele Realisierungen
• aufeinanderfolgende Pakete haben oft denselben Header
⇒ Kompression des Headers = van Jacobson Verfahren ⇒ CSLIP
Point-To-Point Protocol (PPP)
Übersicht über bisher diskutierte Leitungsprotokolle
• als Internet Standard definiert zum Ersatz von SLIP
• bitorientiertes Protokoll
• Phase 1:
Link Control Protocol, LCP
• Verbindung aufbauen, testen, freigeben
• Authentifizieren: Instanzen der Sicherungschicht können
untereinander Identitäten feststellen
• Optionen aushandeln: z.B. Payload Größe (Länge) abstimmen,
Auswahl des NCP Protokolls, Addr/Ctrl-Felder
• Phase 2:
Network Control Protocol, NCP
• für jedes höherschichtige Protokoll ein NCP
• NCP für IP: lege z.B. IP-Adresse fest
• Phase 3:
Datenübertragung
etc.
• Blockaufbau ähnlich HDLC
SLIP
• Address: immer Adressierung aller Stationen
• Control:
• default: unnumbered Block ohne ACK, ohne Fehlerbehandlung
• sonst: numbered mode
• Address&Control-Felder können durch Optionsaushandlung entfallen
• Protocol: bezeichnet Protokoll, meist 2 Bytes
• Schicht 2: LCP, NCP
• Schicht 3: IP, etc.
• Eigenschaften
• Fehlerbehandlung, unterstützt mehrere höhere Protokolle/Dienste
• IP-Adressen werden dynamisch ermittelt, Authentifizierung
PPP
Schichten und Dienste
Schichten
• haben eine formale Schnittstelle
• weisen als aktive Elemente Entitäten (entities) auf, die mit Entitäten
gleicher Schichten über ein Protokoll kommunizieren. Entitäten sind
quasi als Softwareprozesse zu verstehen.
• bieten einen Dienst an
der durch Angabe einer
Dienstprimitive (service primitive)
zusammen mit den Nutzerdaten (user data)
aufgerufen wird
Dienstarten und ihre Dienstprimitiven
Drei Dienstarten:
bestätigte Dienste:
Verwendung aller 4 Dienstprimitiven
unbestätigte Dienste: Beschränkung auf die Dienstprimitiven
D.request und D.indication
vom Dienstanbieter Aktivierung einer Primitive D.indication durch
initiierte Dienste:
den Dienstanbieter, z.B. um den oder die
Dienstbenutzer über Störungen in
unterliegenden Schichten zu informieren
Zeitfolgediagramm
Verdeutlichung der zeitlichen Beziehungen der Primitiven
hier für die verschiedenen Dienstarten
Beispiel:
ISO 7498 definiert für einen Dienst D vier verschiedene
Typen von Dienstprimitiven:
D.request
D.indication
D.response
D.confirm
Der Dienst D wird angefordert
Eine Entität erhält über D.indication mitgeteilt,
welcher Dienst angefordert wurde
Mit D.response kann eine Entität auf eine
D.indication antworten
Anfordernde Entität erhält über D.confirm die
Bestätigung für die Ausführung des Dienstes D
Technische Grundlagen der Rechnerkommunikation
Technische Grundlagen der Rechnerkommunikation
Die HDLC-Familie
SDLC:
ADCCP:
HDLC:
LAP:
LAPB:
LLC:
Synchronous Data Link Control (IBM)
Advanced Data Communication Control Procedure
High-Level Data Link Control
Link Access Procedure
Link Access Procedure, Balanced
L2 von OSI , L3: X.25
Logical Link Control
weitere:
Kermit, XMODEM (für Modems zwischen PCs)
Technische Grundlagen der Rechnerkommunikation