„High-Level Data Link Control“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Verbesserung
Markierungen: Visuelle Bearbeitung Mobile Bearbeitung Mobile Web-Bearbeitung Erweiterte mobile Bearbeitung
Linkvorschlag-Funktion: 2 Links hinzugefügt.
 
Zeile 20:
== Blockaufbau ==
 
Es besteht aus dem ''Opening flag'' (Blockbegrenzung) '01111110' (hexadezimal 0x7E), das mit 8 Bits dargestellt wird. Danach folgt das ''Address field'' (Adressfeld) mit nochmal 8 Bits oder alternativ ein erweitertes Adressfeld mit einem Vielfachen von 8 Bit, gekennzeichnet durch eine 0 an der Bitposition 1. An dritter Stelle kommt das ''Control field'' (Steuerfeld) mit 8 oder 16 Bits. Dann folgt das ''Information field'' (Datenfeld), das eine variable Länge (Vielfaches von 8 Bit) hat. Das ''[[Frame Check Sequence|Frame check sequence]] field'' (Blockprüfung) besteht aus 16 Bits und enthält eine Prüfsumme der übertragenen Daten ([[Zyklische Redundanzprüfung|CCITT CRC-16]]), dessen Binärstellen nach der Berechnung und vor der Übertragung beim Sender mit 0xFFFF [[XOR]]-verknüpft werden. Alternativ kann das [[Schieberegister]], welches zur CRC-Berechnung dient, auch vor der Berechnung mit Einsen gefüllt werden. Durch diese Modifikation entsteht eine robustere Prüfsumme, die auch gegen Anfügen und Löschen von Nullen schützt. Der Empfänger vergleicht nach der Division mit 0001 1101 0000 1111 statt mit 0. Zuletzt folgt das ''Closing flag'' (Blockbegrenzung) mit nochmals 8 Bits ('01111110').
 
{| class="wikitable"
Zeile 41:
Um zu vermeiden, dass innerhalb des Datenbereichs oder der Prüfsumme das ''Opening flag'' bzw. ''Closing flag'' auftritt, wird [[Bitstopfen]] (''bit stuffing'') oder ''zero insertion'' angewandt. Dies bedeutet, dass innerhalb des Rahmens nach fünfmaligem Auftauchen der '1' eine '0' eingefügt wird, um eine Verwechslung mit einem Flag zu verhindern. Auf Empfängerseite wird eine '0' nach fünfmaligem Auftreten der '1' einfach wieder gelöscht.
 
Es gibt jedoch zwei [[Sonderzeichen]], die verwendet werden können:
 
{| class="wikitable"