High-Level Data Link Control
HDLC je protokol, který detekuje chyby a řídí tok dat. Protokol HDLC vznikl jako nadstavba protokolu SDLC, který byl určen pro synchronní přenos dat. Později byla norma HDLC rozšířena i pro asynchronní přenos. Protokol HDLC rozeznává tzv.módy:
ABM (Asynchronous balanced mode ). Mód sloužící pro propojení dvou stanic full-duplexním spojem.
NRM (Normal response mode ).Vychází z protokolu SDLC. Slouží pro propojení více stanic half-duplexním spojem.
ARM (Asynchronous response mode ) dnes málo používaný režim.
Křídlová značka (Flag)
Každý HDLC rámec začíná a končí křídlovou značkou. Křídlová značka se skládá z osmi bitů:0111 1110. Šest po sobě jdoucích jedniček určuje křídlovou značku. Jdou-li dvě křídlové značky po sobě, znamená to že se jedná o prázdný rámec, s kterým se dále nepracuje. Když vstupní data obsahují více jak pět jedniček za sebou,tak se za každou pátou jedničku automaticky vloží jedna nula. Je-li pak ve výstupních datech za pěti jedničkami 0, tak se tato nula vypustí. Nazývá se to též bit stuffing . Toto se dá využít jen u bitově orientovaného přenosu.
Adresní pole
Adresní pole je dlouhé 8 bitů. Označuje adresu stanice, které je paket určen. Využívá ho mód NRM, kdy mezi sebou komunikuje více stanic.Je však nutné, proto ho obsahuje i protokol HDLC.Jedná se o linkovou adresu.
Kontrolní součet
Z přenášených dat, adresního a řídícího pole se počítá kontrolní součet. Z přijatého rámce se spočte kontrolní součet, který se porovná s kontrolním součtem v přijatém rámci. Jsou-li shodné,pak přenos proběhl správně. Nejsou-li shodné, tak se může přenos u číslovaných rámců zopakovat.
Řídící pole
Řídící pole rozlišuje 3 typy HDLC-rámců: Informační rámce (I-rámce, v nejnižším bitu je 0) Jsou určeny pro přenos dat. Mohou však přenášet i některé řídící informace. Nečíslované rámce ( U-rámce, v nejnižších dvou bitech je 11) Používají se pro přenos dat a pro řídící funkce (inicializace, řízení linky). Rámce supervizoru ( S-rámce, v nejnižších dvou bitech je 10).Používají se pro řízení toku dat (požadavek na vysílání,potvrzování I-rámců atd.).S-rámce mohou být používány až když je linka inicializována.S-rámce zpravidla neobsahují datové pole.
Řídící pole je u U-rámců osmibitové.U I-rámců a S-rámců může být bu osmibitové nebo šestnáctibi- tové.
I-rámec
I-rámec obsahuje pole N(S)a N(R), které slouží k číslování rámců.Čísluje se od nuly do 127, pak se opět pokračuje od nuly.N(S)určuje číslo odesílaného rámce. N(R)slouží pro potvrzení přijatého rámce. Protože je komunikace obousměrná,potvrzují se v protisměru správně přijaté rámce. Jestli-že se data posílají jen jedním směrem, pak se k potvrzení přijatých dat použije S-rámec s příkazem RR. Je-li přijatý rámec detekován jako chybný, pak je pomocí S-rámce příkazem REJ vyžádáno opakování přenosu.
S-rámec
S-rámec může potvrzovat správně přijatý rámec.Dále v poli příkaz může nést následující příkazy resp. odpovědi:
RR (Receiver Ready =přijímač připraven).Informuje že linka je volná a potvrzuje správnost čísla přijatého rámce.
RNR (Receiver Not Ready =přijímač nepřipraven) potvrzuje dosud přijaté rámce.
REJ (Reject =odmítnutí).Přijetí chybného rámce,tj.používá se jako příkaz nebo jako odpově pro zopakování vysílání.
U-rámec
U-rámce mohou jak přenášet data,tak i příkazy a odpovědi:
SABM (Set Asynchronous Mode =nastavení módu ABM).s osmibitovým řídícím polem.
SABME (Set Asynchronous Mode =nastavení módu ABM).s šestnáctibitovým řídícím polem.
SNRM (Set Normal Response Mode =nastavení módu NRM).s osmibitovým řídícím polem.
SNRME (Set Normal Response Mode =nastavení módu NRM). s šestnáctibitovým řídícím polem.
UA (Unnumbered Acknowledgment =nečíslované potvrzení).Používá se pro potvrzení SABM,SABME,SNRM,SNRME a DISC.
DISC (Diconnect =odpojení).
DM (Disconnect Mod ). potvrzení příkazu DISC.
FRMR (Frame Reject =odmítnutí rámce). Indikuje přijetí vadného rámce bez možnosti opravy. Po obdržení FRMR se začíná znovu od nastavení módu linky.
XID (Exchange Station Identification =výměna konfiguračních informací). typ protokolu, délka kontrolního součtu.
UI (Unnumbered Information =nečíslované datové rámce). Umožňují na přenosové lince míchat různé protokoly( IP aIPX), jestli-že na počátku datového pole obsahují specifikaci přenášeného protokolu.
P/F bit
V NRM módu řídící stanice nastaví tento bitu na P (=Pool). To znamená, že podřízená stanice smí vysílat data.Podřízená stanice nechává při vysílání tento bit nastaven.Tím signalizuje,že chce ve vysílání pokračovat.U posledního vysílaného rámce tento bit nastaví na (F=Final).