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