Die HDLC (Abkürzung Englisch zu H igh-Stufe D ata L Tinte C ontrol ) eine Schicht - 2 - Protokoll ( Verbindungsschicht ) des OSI - Modells , die sich von SDLC ( Synchronous Data Link Control ). Ziel ist es, einen Mechanismus zum Abgrenzen von Frames unterschiedlicher Typen zu definieren und eine Fehlerprüfung hinzuzufügen. Es wird von der Internationalen Organisation für Normung unter der Spezifikation ISO 3309 definiert (Diese Norm wurde überarbeitet von: ISO / IEC 13239: 2002). Serielle Schnittstellen auf Cisco- Routern verwenden eine proprietäre Version von HDLC standardmäßig.
Die verwendete Einheit ist der Rahmen ( Rahmen ). Jeder Frame wird durch zwei identische Flags begrenzt.
Start Flagge | Adresse | Bestellt | Daten | Frame Check Sequence | Endflagge |
8 Bit (01111110) |
8 Bits | 8 Bits | ... | 16/32 Bit | 8 Bit (01111110) |
Das Flag ist ein Rahmenbegrenzer für die Synchronisation. Sein Wert ist für HDLC:
01111110 (binaire) 7E (hexadécimal)HDLC-Frames können nacheinander gesendet werden: In diesem Fall kann das Endflag des ersten Frames zusammengefasst und als Startflag für den nächsten Frame dienen.
Die Adresse ist die des Empfängers, an den der Frame gesendet wird. Diese Adresse wird verwendet, wenn die Kommunikation vom Master-Slave- Typ ist , wobei die Adresse die des Slaves ist. In der Punkt-zu-Punkt- Kommunikation wird es nicht verwendet.
In diesem Feld können drei Arten von Frames unterschieden werden:
Das P / F- Bit steht für Poll / Final . Es wird gesetzt gesetzt, wenn es den Wert 1 hat. Konventionell wird das P-Bit gesetzt, wenn der Rahmen ein Befehl F ist und wenn der Rahmen eine Antwort ist. Das Ausgeben eines Befehls mit P = 1 erfordert eine sofortige Antwort (mit F = 1). Beim Empfang eines Rahmens mit gesetztem P / F-Bit ist das Bit F, wenn wir eine Antwort auf einen bereits gesendeten Befehl erwarten, und P, wenn kein Befehl gesendet wurde.
In Informationsrahmen ( Daten ) ist Ns die Nummer des aktuellen Rahmens. Nr ist die Nummer des erwarteten Informationsrahmens; Es bestätigt Frames mit einer niedrigeren Nummer als Nr.
NB: Die oben beschriebenen Bits des Steuerfelds werden in der Reihenfolge geschrieben, in der sie an die physikalische Schicht gesendet werden , d. H. Das niedrigstwertige Bit zuerst und das höchstwertige Bit zuletzt.
Dieses optionale Feld mit variabler Länge enthält die zu sendenden Daten. Die Anzahl der zu sendenden Bits muss kein Vielfaches von 8 sein: Da dieses Feld nicht byteorientiert sein muss , müssen am Ende keine Füllbits hinzugefügt werden.
Frame Check Sequence : Das FCS ist ein Code, der nach den Daten hinzugefügt wird, um mögliche Übertragungsfehler zu erkennen. Es ist normalerweise auf 16 Bit codiert, aber nach Aushandlung zwischen den beiden Parteien kann es auf 32 Bit sein.
Diese Sequenz entspricht der CRC, die in den Feldern Adresse + Befehl + Daten berechnet wurde .
Ein Beispiel für eine C- Implementierung der FCS-Codierung / -Decodierung wird in RFC 1662 ( PPP in HDLC-ähnlichem Framing ) vorgeschlagen.
Damit das Flag als Trennzeichen dient, ist es wichtig, dass der Wert des Flags nicht in den zwischen Start und Ende transportierten Daten enthalten ist. Zu diesem Zweck werden die Daten geändert, um die Bitsequenzen 01111110 (7Eh) zu eliminieren. Es gibt zwei Methoden: die bitweise Methode und die Bytemethode.
Die erste Methode ( auf Englisch Bit- Stuffing genannt ) ist die häufigste: Sie soll vermeiden, dass sechs aufeinanderfolgende Bits mit dem Wert 1 auftreten . Wenn die Daten beim Schreiben des Frames 5 aufeinanderfolgende Bits mit dem Wert 1 enthalten, wird nachher automatisch eine 0 hinzugefügt.
Die zweite Methode (Byte-Padding genannt) verwendet ein Escape-Zeichen mit einem 7D- Hexadezimalwert . Wenn der Wert des Flags ( 7E ) unter den zu sendenden Bytes gefunden wird , wird dieses Byte durch die folgenden zwei Bytes ersetzt: 7D, dann 5E . Plötzlich muss sichergestellt werden, dass der Wert des Escape-Bytes nicht in den Daten enthalten ist. Wenn er angetroffen wird, wird das 7D- Byte durch das 7D- und das 5D- Byte ersetzt .
Somit gibt es vor der Übertragung keine mögliche Verwechslung zwischen Daten und Start / End-Flags.
Es gibt 3 Arten von Frames in HDLC:
Diese Rahmen tragen Daten, die von Entitäten der Netzwerkschicht bereitgestellt werden .
Diese Rahmen enthalten Befehle oder Antworten in Bezug auf die Fehlersteuerung und die Flusssteuerung.
Diese Frames enthalten Befehle oder Antworten von der Verwaltung der Verbindung (Einrichtung, Unterbrechung, Auswahl eines Antwortmodus usw.).
AufträgeEs gibt 2 Betriebsarten in HDLC:
Das HDLC-Protokoll ist die Verbindungsschicht, die für viele Protokolle verwendet wird: H.323, V.120, TCN oder X.25 .
Hinweis: Es gibt eine spezielle Variante von HDLC, die von Cisco entwickelt wurde und die Verwendung des Adressfelds ändert und 2 Protokollbytes hinzufügt .