High-Level Data Link Control

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

HDLC, česky doslova Vysokoúrovňové řízení datového spoje je komunikační protokol linkové vrstvy vycházející z protokolu Synchronous Data Link Control vyvíjený od roku 1979 Mezinárodní organizací pro normalizaci (ISO) ve spolupráci s Mezinárodní elektrotechnickou komisí (IEC). HDLC pokrývá široké spektrum sériové komunikace:

* poskytuje spolehlivou spojovanou i nespolehlivou nespojovanou službu * může být použit pro obousměrnou poloduplexní ( v HDLC terminologii ) a duplexní komunikaci, i pro komunikaci jednosměrnou (simplexní) * může se používat na vícebodových vyhrazených spojích, na dvoubodových pevných nebo komutovaných linkách, i v sítích s přepojováním paketů * může používat synchronní i arytmický přenos s osmibitovými nebo sedmibitovými slabikami * stanice mohou komunikovat v režimu nadřízená-podřízená nebo jako rovnocenné

Z HDLC je odvozena celá řadu protokolů jako LAPB, LAPD, LAPF, LAPM a IrLAP, které jsou používány pro rozličné formy komunikace (v sítích +more25'>X. 25, v digitálních telefonních sítích, v lokálních sítích, pro modemovou komunikaci, pro komunikaci pomocí infračerveného světla), a další protokoly jako PPP, MTP-2 byly protokolem HDLC inspirovány. Některé jeho vlastnosti přebírá i IEEE 802. 2 LLC, což řadí HDLC k nejvlivnějším linkovým protokolům.

Standard HDLC byl definován postupně v řadě samostatných dokumentů, které stanovovaly formáty rámců a postupy při komunikaci na sériovém spoji a později byly sloučeny do ISO/IEC 13239.

...

Historie

Po zkušenostech se znakově orientovanými protokoly vyvinula firma IBM v první polovině 70. let 20. +more století bitově orientovaný přenosový protokol SDLC, který v roce 1975 použila ve své sadě síťových protokolů SNA. Protokol byl dále rozvinut Mezinárodní organizací pro normalizaci (ISO) a American National Standards Institute (ANSI), které jej v roce 1979 publikovaly jako HDLC (ISO: High-Level Data Link Control) a ADCCP (ANSI: Advanced Data Communications Control Procedures). HDLC a ADCCP rozšiřují SDLC o některé nové vlastnosti, jako je například asynchronní vyvážený režim, a ruší omezení velikosti rámce na násobky osmi bitů; na druhou stranu některé procedury a zprávy (např. zprávy CFGR a BCN) nepřevzaly.

Protokol HDLC je poměrně komplikovaný a díky jeho postupnému vývoji jej popisovalo několik ISO standardů:

* ISO 3309 - Struktura rámce * ISO 4335 - Prvky protokolu * ISO 6159 - Nevyvážené třídy protokolu * ISO 6256 - Vyvážené třídy protokolu * ISO 7776 - KZD procedury linkové vrstvy kompatibilní s X.25 LAPB * ISO 7809 - Specifikace pro konsolidaci tříd procedur * ISO 8471 - Nastavování adres datového spoje * ISO 8885 - Obsah a formát informačního pole víceúčelového rámce XID

Které byly později spojeny do ISO/IEC 13239.

Existuje množství protokolů odvozených z HDLC; část funkcionality HDLC byla převzata:

* do protokolového zásobníku X. +more25 jako LAPB, * do modemového protokolu V. 42 bylo HDLC implementováno jako LAPM, * do protokolového zásobníku Frame Relay jako LAPF, * do protokolového zásobníku ISDN jako LAPD, * do standardu IrDA jako IrLAP.

HDLC inspiroval protokol LLC v IEEE 802. +more2 a je základem pro mechanismus vytváření rámců používaný protokolem PPP na synchronních linkách, který používá mnoho serverů pro připojení k WAN, nejčastěji k Internetu.

HDLC je implicitním zapouzdřením pro sériové rozhraní na routerech firmy Cisco Systems. Mírně odlišná verze se používají pro řídicí kanály na linkách E1, v Digital cross connect system a na mnohakanálových telefonních linkách SONET. +more Existují protokoly, které používají nízkoúrovňové techniky HDLC pro vytváření rámců, ale ke standardní HDLC hlavičce přidávají další protokolová pole (například Cisco HDLC), nebo ji zcela nahrazují jinou hlavičkou (například MTP-2).

Funkce protokolu HDLC

Hlavní službou protokolu HDLC je spolehlivý přenos informací vyšší vrstvy s použitím mechanismu zpětné vazby s automatickým opakováním. Ke spolehlivému přenosu dat slouží informační rámce (I-rámce), které obsahují uživatelská data vyšší vrstvy spolu s číslem přenášeného rámce N(S). +more Hodnota N(S) se zvětšuje o jedničku pro každý vyslaný rámec; při opakování rámce se použije stejná hodnota N(S) jako při jeho prvním vysílání. Pole N(S) má omezenou velikost; v základních režimech je tříbitové; proto lze přenášet pouze spodní tři bity čísla rámce, což dovoluje odesílat bez potvrzení nejvýše 7 rámců. Jinak řečeno rámce se číslují aritmetikou modulo 8.

I-rámce zajišťují také potvrzování rámců přenášených opačným směrem; tento přenos potvrzení pro jeden směr komunikace spolu s uživatelskými daty posílanými opačným směrem se nazývá . Pro potvrzování slouží pole N(R), které vždy obsahuje číslo očekávaného (prvního dosud nepřijatého) rámce. +more Uvedení určité hodnoty N(R) znamená, že všechny rámce s nižší hodnotou byly v pořádku přijaty.

Pokud má stanice poslat potvrzení a nejsou k dispozici uživatelská data, ke kterým by se potvrzení přibalilo, použije dohlížecí rámec (S-rámec), který neobsahuje žádná uživatelská data ani N(S), ale pouze číslo příštího očekávaného rámce N(R). Existují dva základní typy dohlížecích rámců: RR a RNR; první signalizuje, že stanice je připravena přijímat další rámce, druhý, že stanice další rámce přijímat nemůže (např. +more kvůli naplnění vyrovnávacích pamětí). Používání dalších dvou typů dohlížecích rámců REJ a SREJ, které představují záporné potvrzení dovolující používat selektivní opakování a tím snížit zpoždění při ztrátě nebo poškození rámce, je volitelné rozšíření.

Na linkách pracujících velkou rychlostí a s velkým zpožděním nemusí číslování rámců modulo 8 stačit, proto jsou k dispozici režimy používající vícebitové hodnoty N(S) a N(R) podle následující tabulky:

Počet bitůModulo čísel N(S) a N(R)Max. počet rámců odeslaných bez potvrzení
387
7128127
153276832767
3121474836482147483647

Posledním typem HDLC rámců jsou nečíslované rámce (U-rámce), které, jak napovídá jejich název, neobsahují ani N(S) ani N(R). Díky tomu je jejich řídicí pole vždy osmibitové. +more Nečíslované rámce umožňují:.

* nezabezpečený (nespolehlivý) přenos uživatelských dat * vyžádat inicializaci stanice * provést test funkčnosti linky * výměnu informací o možnostech stanice * zahájení a ukončení spojení v jehož rámci probíhá spolehlivý přenos uživatelských dat ve zvoleném režimu činnosti HDLC.

Typy HDLC rámců

Všechny druhy HDLC rámců popsané výše shrnuje následující tabulka:

českyzkráceněpoužití
Informační rámceI-rámceSpolehlivý přenos uživatelských dat síťové vrstvy v informačním poli. Potvrzování dat přenášených opačným směrem. +more
Dohlížecí rámceS-rámcePotvrzování dat přenášených I-rámci opačným směrem. Informační pole mají pouze rámce SREJ.
Nečíslované rámceU-rámceSpráva spojení a další účely. Některé typy U-rámců mohou obsahovat informační pole.
.

Vytváření rámců

HDLC se používá na sériových linkách, které přenášejí data jako nečleněný proud bitů nebo bytů. Jedním z úkolů HDLC je proto poskytnout metodu pro identifikaci začátku a konce rámce. +more HDLC k tomu používá křídlové značky , také nazývané oddělovač rámců nebo příznak. Křídlová značka je tvořena posloupností bitů '01111110' nebo v šestnáctkovém zápisu 0x7E, kterou každý rámec začíná i končí. Křídlová značka na konci rámce může zároveň označovat začátek dalšího rámce.

Pokud simplexní nebo plně duplexní synchronní HDLC spoj nepřenáší žádné rámce, vysílají se nepřetržitě křídlové značky. Při použití linkového kódu NRZI-S (bit 0 = změna úrovně, bit 1 = bez změny úrovně) vzniká jeden z níže uvedených průběhů signálu podle počátečního stavu:

Soubor:NrziEncodedFlags.png

Tento průběh používají modemy pro trénink a synchronizaci hodin pomocí fázového závěsu. Některá zařízení dovolují, aby nulový bit na konci křídlové značky byl sdílen s křídlovou značkou na začátku dalšího rámce, tj. +more '011111101111110'.

Při poloduplexní komunikaci nebo při komunikaci point-to-multipoint, kdy linku sdílí několik stanic, není v mezirámcových mezerách aktivní žádný vysílač, což přijímače interpretují jako dlouhou řadu jedničkových bitů.

Jedním z požadavků při vytváření protokolu SDLC a HDLC byla možnost přenášet uvnitř rámce libovolná data (tzv. datová transparence). +more Protože se v uživatelských datech může vyskytnout bitový vzorek nebo byte shodný s křídlovou značkou, musí vysílač taková data upravit, aby je přijímač chybně nedetekoval jako ukončení rámce. Způsob úpravy závisí na tom, zda se používá bitově orientovaný nebo znakově orientovaný přenos.

Synchronní spoje

Synchronní spoje používají bitově orientovaný přenos, který umožňuje používat metodu vkládání bitů : kdykoli se v datech objeví 5 po sobě jdoucích jedničkových bitů, vloží se za ně jeden nulový bit. To zaručuje, že se uvnitř rámce nikdy (pokud neuvažujeme chyby přenosu) neobjeví více než 5 za sebou jdoucích jedničkových bitů. +more Právě 6 jedničkových bitů obklopených nulami signalizuje křídlovou značku; 7-15 jedničkových bitů za sebou se používá pro násilné ukončení přenosu rámce . Více než 15 jedničkových bitů za sebou je interpretováno jako klidový stav linky. Přijímač při přijetí pěti jedničkových bitů následovaných nulovým bitem, tento nulový bit odstraní; pokud přijímač zaznamená posloupnosti šesti jedničkových bitů, jedná se buď o křídlovou značku (pokud sedmý bit je nulový) nebo o násilné ukončení přenosu rámce (pokud je sedmý bit jedničkový).

Chování přijímače při přijetí posloupnosti několika po sobě jdoucích jedničkových bitů popisuje následující tabulka:

Počet bitůVýznamČinnost přijímače
1-4Data rámcepřijmout beze změn
5Data rámcevypustit následující nulový bit
6Křídlová značkapo stavu klidu: synchronizovat přijímač; po datech: zkontrolovat přijatá data a předat vyšší vrstvě
7-15Násilné ukončení rámcerámec zahodit
>15Stav klidučekat na křídlovou značku

Při použití kódování NRZI-S, které kóduje nulový bit změnou úrovně signálu a jedničkový bit signálem bez změny úrovně, dochází při přenosu rámců ke změně úrovně signálu nejvýše po 7 jednotkových intervalech, což umožňuje udržovat synchronizaci vysílače a přijímače bez nutnosti přenosu hodinového signálu zvláštním vodičem.

Nové protokoly mohou používat výhodnější kódování jako například kódování 8b/10b.

Asynchronní spoje

Má-li HDLC pracovat na linka používající arytmický přenos, jako je například standardní sériový port podle standardu RS-232 nebo V. +more24/V. 28, který sdružuje bity po 5-8 do slabik, nelze použít mechanismus vkládání bitů. Aby bylo možné v rámcích přenášet bitové kombinace a znaky, které mají speciální význam, používá se metoda únikového znaku . Jako únikový znak slouží znak s kódem 0x7D. Pro zakódování libovolného znaku, který se nesmí přímo objevit v přenášených datech, se používá dvoubytová posloupnost (únikový znak, n), kde n je původní znak s invertovaným bitem 5 (s váhou 32, tj. 0x20). Je-li aktivní volitelná funkce číslo 15. 1, budou se znaky se speciálním významem, které se vyskytnou datech, kódovat podle následující tabulky:.

Kód znakuSpeciální významZakódování
0x7DÚnikový znak0x7D 0x5D
0x7EHranice rámce0x7D 0x5E

HDLC umožňuje dojednat, aby se stejným způsobem přenášely i jiné rezervované hodnoty oktetů (jako například XON a XOFF - volitelná funkce 15. 2, případně všechny řídicí znaky - volitelná funkce 15. +more3), pokud to přenosová linka vyžaduje.

Struktura rámců

V základním režimu používá HDLC následující formát rámce:

FlagAdresní poleŘídicí poleInformační poleFCSFlag
8 bitů8 bitů8 bitůproměnná délka16 bitů8 bitů

Po dohodě o režimu činnosti nebo o rozšířeních lze používat další formáty rámce:

8 bitů8 bitů8, 16, 24, ... bitů8, 16, 32, 64 bitůproměnná délka16 bitů8 bitů

Formát rámce typu 0 je určen pro prostředí s omezenou šířkou pásma, kde se používají krátké rámce s délkou 5 až 127 oktetů. Tento formát minimalizuje délku hlavičky.

Používání pole formát rámce je volitelná funkce číslo 22, používání adres proměnné délky volitelná funkce číslo 7, rozšířené číslování rámců se nastavuje příkazy SNRME, SARME nebo SABME nebo pomocí volitelné funkce číslo 10.

FlagFormát rámceAdresní poleŘídicí poleInformační poleFCSFlag
8 bitů16 bitů8, 16, 24, ... bitů8, 16, 32, 64 bitůproměnná délka8, 16, 32 bitů8 bitů

Délka rámce typu 1 je 5 až 4095 oktetů. Formát rámce typu 1 je navržen tak, aby se co nejvíce podobal základnímu formátu rámce, ale v poli formát rámce obsahuje délku rámce, což umožňuje vypnout vkládání bitů nebo oktetů (volitelná funkce číslo 24). +more Používání kontrolních součtů jiné délky než 16 bitů je volitelná funkce číslo 14.

FlagFormát rámceAdresní poleŘídicí poleHCSInformační poleFCSFlag
8 bitů16 bitů8, 16, 24, ... bitů8, 16, 32, 64 bitů8, 16, 32 bitůproměnná délka8, 16, 32 bitů8 bitů

Délka rámce typu 2 je 5 až 2047 oktetů. Formát rámce typu 2 se používá, pokud je nutná zvýšená ochrana proti chybám případně delší rámce. +more Používá segmentační podpole, takže podpole délky ve formátu rámce má 11 bitů, což umožňuje vypnout vkládání bitů nebo oktetů (volitelná funkce číslo 24). Rámce bez informačního pole neobsahují HCS, ale pouze FCS. Používání kontrolních součtů jiné délky než 16 bitů je volitelná funkce číslo 14.

Používání kontrolního součtu pouze pro hlavičky (pole HCS) je volitelná funkce číslo 26. Délka HCS je vždy stejná jako FCS.

FlagFormát rámceCílová adresaZdrojová adresaŘídicí poleHCSInformační poleFCSFlag
8 bitů16 bitů8, 16, 24, . bitů8, 16, 24, . +more bitů8, 16, 32, 64 bitů8, 16, 32 bitůproměnná délka8, 16, 32 bitů8 bitů
.

Délka rámce typu 3 je 7 až 2047 oktetů. Formát rámce typu 3 se používá, pokud je třeba použít adresu odesilatele a příjemce; používání dvou adres se zapíná jako volitelná funkce číslo 21. +more Ostatní informace jsou stejné jako u formátu rámce typu 2.

Při vysílání dat rámce mezi křídlovými značkami se nejméně významný bit přenáší jako první (nezaměňovat s little-endian pořadím, které se vztahuje na řazení bytů ve vícebytových polích).

Křídlová značka

Křídlová značka na konci jednoho rámce může být (ale nemusí) zároveň křídlovou značkou na začátku dalšího rámce.

Adresní pole

HDLC standardně používá jednu adresu osmibitovou adresu, která slouží při provozu v režimu point-to-multipoint k rozlišení podřízených stanic; to znamená, že rámec vždy obsahuje adresu podřízené stanice. Pokud je potřeba, mohou stanice po vzájemné dohodě používat delší adresu.

Některé varianty HDLC rozšiřují adresní pole o druhou adresu, takže vždy obsahuje zdrojovou i cílovou adresu případně bit pro explicitní rozlišení příkazu a odezvy.

Řídicí pole

Řídicí pole slouží k rozlišení typu rámce, k přenosu informace o čísle přenášeného rámce a pro potvrzování přenesených rámců. V základním režimu má řídicí pole následující formát:

76543210
N(R)P/FN(S)0I-rámec
N(R)P/Ftyp01S-rámec
typP/Ftyp11U-rámec

V rozšířených režimech se v I-rámcích a S-rámcích používá rozšířený (dvou, čtyř nebo osmibytový) formát řídicího pole. I v něm se nejméně významný bit (v této tabulce zcela vpravo) vysílá jako první. +more V I-rámci pak následuje 7, 15 nebo 31bitové pole s hodnotou N(S), #Bit P/F|bit P/F a 7, 15 nebo 31bitové pole s hodnotou N(R). S-rámce obsahují místo pole N(S) jeden nulový bit, dva bity s typem rámce a 4, 12 nebo 28 nevyužitých bitů s hodnotou 0. Pokud byl režim nastaven příkazem SNRME, SARME nebo SABME je řídicí pole dvoubytové a hodnoty N(S) a N(R) sedmibitové. Pro nastavení režimu se čtyřbytovým řídícím polem (a 15bitovými čísly N(S) a N(R)) a s osmibitovým řídicím polem (a 31bitovými čísly N(S) a N(R)) se používá příkaz SM, který má v informačním poli uvedenu velikost N(S) a N(R).

1514131211109876543210
N(R)P/FN(S)0Rozšířený I-rámec
N(R)P/F0000typ01Rozšířený S-rámec

Informační pole

Délka dat je násobkem 8 bitů, ale vyžadují to pouze některé varianty HDLC; ostatní dovolují zarovnání dat na jiné než 8bitové hranici.

Kontrolní součet

Kontrolní posloupnost rámce (FCS) je cyklický redundantní součet vypočítaný z adresního, řídicího a informačního pole. Standardně se používá 16bitový CRC, komunikující stanice mohou dojednat použití 32bitového nebo 8bitového. +more Jestliže hodnota FCS vypočtená v přijímači nesouhlasí s hodnotou, kterou vypočítal odesilatel a přidal do rámce, znamená to, že rámec byl přijat chybně. Přijímač rámce se špatným CRC zahazuje a neposílá žádné potvrzení. Vysílač po vypršení prodlevy pro potvrzení odešle nepotvrzený rámec znovu. Pokud se obě strany dohodnou na posílání záporných potvrzení a odesilatel posílá více rámců za sebou, příjemce může poslat záporné potvrzení, pokud se v posloupnosti čísel rámců objeví díra.

Použité algoritmy pro výpočet FCS jsou schopny odhalit ztracené bity, bity se změněnou hodnotou a bity navíc. Tím se výrazně zvyšuje (zejména pro větší délku FCS) pravděpodobnost odhalení chyby. +more Pravděpodobnost neodhalené přenosové chyby se však zvyšuje s délkou zabezpečovaných dat, proto FCS může implicitně omezovat praktickou délku rámce.

FCS bylo implementováno protože mnoho starších komunikačních spojů mělo relativně vysokou bitovou chybovostí a FCS lze počítat jednoduchým rychlým obvodem nebo softwarově. Nové protokoly mohou používat efektivnější samoopravné kódy.

Možnosti komunikace

Konfigurace linky

HDLC rozlišuje 2 konfigurace datového spoje (linky):

* Nevyvážená (nesymetrická), kdy komunikuje jedna nadřízená stanice s jednou nebo více podřízenými stanicemi. * Vyvážená (symetrická), kdy spolu komunikují dvě rovnocenné stanice.

Druhy stanic

Při nesymetrické (nevyvážené) konfiguraci datového spoje existuje na spoji právě jedna nadřízená stanice, která provoz na spoji řídí (posílá příkazy k nastavení režimu provozu, řídí tok dat, zajišťuje funkce řízení zabezpečení a zotavení z chyb při komunikaci). Při použití spojovaných režimů se nadřízená stanice nazývá primární stanice , při použití nespojovaných režimů řídicí stanice . +more Ostatní stanice jsou podřízené (na spoji jich může být jedna nebo více). Podřízené stanice se ve spojovaných režimech nazývají sekundární stanice , v nespojovaných režimech vedlejší stanice .

Při symetrické konfiguraci datového spoje komunikují na spoji vždy právě dvě stanice, které se při použití spojovaných režimů nazývají kombinované stanice , při použití spojovaných režimů rovnocenné stanice

Příkazy a odezvy

Příkaz je v HDLC rámec vyslaný primární nebo řídicí stanicí. Při vyvážené konfiguraci datového spoje je to takový rámec vyslaný kombinovanou nebo rovnocennou stanicí, který obsahuje adresu druhé stanice.

Odezva je v HDLC rámec vyslaný sekundární nebo vedlejší stanicí. Při vyvážené konfiguraci datového spoje je to takový rámec vyslaný kombinovanou nebo rovnocennou stanicí, který obsahuje vlastní adresu.

Režimy komunikace

Protokol SDLC byl navržen pro propojení jednoho počítače s mnoha periferními zařízeními. Původní „režim normální odezvy“ je režimem nadřízený-podřízený, kde počítač (neboli primární stanice) dává každé periferii (sekundární stanici) oprávnění vysílat. +more Protože zdrojem nebo cílem veškeré komunikace je nadřízená stanice, rámce obsahují pouze adresu sekundární stanice; primární stanici není žádná adresa přiřazena. Mezi příkazy posílanými primární stanicí na sekundární a odezvami posílanými sekundární stanicí na primární je výrazný rozdíl.

HDLC tradičně definuje 3 základní třídy komunikačních postupů pro spojovanou komunikaci; 2 nesymetrické (NRM a ARM) a 1 symetrický (ABM). Novější verze přidávají a po jednom nesymetrickém a symetrickém nespojovaném (UCM a BCM).

Nové verze HDLC definují 5 základních tříd komunikačních postupů; 2 nesymetrické spojované (NRM a ARM), 1 symetrický spojovaný (ABM) a po jednom nesymetrickém a symetrickém nespojovaném (UCM a BCM).

HDLC definuje 3 režimy provozu:

* Režim normální odezvy (NRM) je nesymetrická konfigurace, ve které zahájit přenos dat může pouze primární stanice. Sekundární stanice vysílá data pouze v odezvě na příkazy z primární stanice. +more Primární stanice se dotazuje sekundárních stanic, aby zjistila, zda mají data na odeslání a pak vybere jednu, která bude vysílat. * Režim asynchronní odezvy (ARM) je nesymetrická konfigurace, ve který sekundární stanice mohou vysílat bez oprávnění od primární. Nicméně primární stanice si stále zachovává odpovědnost za inicializaci linky, zotavení z chyb a logické rozpojení. * Asynchronní vyvážený režim (ABM) je symetrická konfigurace mezi dvěma stanicemi, při které libovolná stanice může zahájit komunikaci.

Dalším režimem je Rozpojený režim. V tomto režimu je sekundární stanice až do okamžiku, kdy je inicializována primární stanicí, nebo po přijetí příkazu DISC (odpojení). +more V tomto režimu odpovídá sekundární stanice na téměř každý jiný rámec než příkaz nastavení režimu odezvou DM „Disconnected mode“. Účelem tohoto režim je umožnit primární stanici spolehlivě odhalit, zda sekundární stanice je funkční. V tomto režimu může také probíhat výměna uživatelských dat v rámcích UI, která je však nespolehlivá (není zaručeno doručení dat).

Režim normální odezvy

V režimu normální odezvy si musí být primární stanice vědoma, že při komunikaci přes poloduplexní komunikační spoj nemůže vysílat, když předala oprávnění sekundární stanici.

Režim asynchronní odezvy

Režim asynchronní odezvy je HDLC rozšíření pro použití přes duplexní spoje. Sice rozlišuje primární/sekundární stanici, ale sekundární stanici umožňuje vysílat kdykoli.

Asynchronní vyvážený režim

Asynchronní vyvážený režim přináší koncept kombinované stanice, které může fungovat jak jako primární tak jako sekundární stanice. Přestože u většiny vlastností protokolu HDLC nezáleží na tom, zda jsou použity v příkazu nebo odezvě, u některých na tom záleží a je třeba kontrolovat adresní pole přijatého rámce pro zjištění, zda obsahuje příkaz (přijatá adresa je naše) nebo odezvu (přijatá adresa patří jiné stanici).

Přehled konfigurací linky režimů provozu a typů stanic

spojovaná komunikace (connection-oriented)spojovaná komunikace (connection-oriented)spojovaná komunikace (connection-oriented)spojovaná komunikace (connection-oriented)spojovaná komunikace (connection-oriented)
konfig. linkynevyváženávyvážená
režimNRM, ARMNRM, ARMABMABM
stanicenadřízenápodřízená-
primární (primary)sekundární (secondary)kombinovaná (combined)kombinovaná (combined)
rámcepříkazyodezvypříkazyodezvy
rámceI RR RNR SNRM,SARM DISCI RR RNR UA DM FRMRI RR RNR SABM DISCI RR RNR UA DM FRMR
-nespojovaná komunikace (connectionless)nespojovaná komunikace (connectionless)nespojovaná komunikace (connectionless)nespojovaná komunikace (connectionless)
konfig. +more linkynevyváženávyvážená
režimUCMUCMBCMBCM
stanicenadřízenápodřízená-
řídicí (control)vedlejší (tributary)rovnocenná (peer)rovnocenná (peer)
rámcepříkazyodezvypříkazyodezvy
rámceUIUIUI-
.

Na určitý režim komunikace mohou být stanice předem nastaveny, nebo může být dojednán pomocí příkazů a odpovědí XID nebo pomocí příkazu SM či jiných příkazů pro změnu režimu (SNRM, SARM, SABM, SNRME, SARME, SABME).

Bit P/F

Součástí každého rámce je bit P/F . Jeho základním účelem je předání oprávnění k vysílání podobně jako v sítích Token ring; jakmile v poloduplexním režimu odešle stanice rámec s nastaveným bitem P/F, musí přestat vysílat a čekat na odpověď od druhé stanice. +more Druhá stanice může vyslat jeden nebo více rámců, ale odesláním rámce s nastaveným bitem P/F předává řízení první stanici. Protože se rámec s nastaveným bitem P/F může ztratit, řídicí stanice musí po jeho odeslání pustit časovač, a pokud dojde k jeho vypršení, opakovat vysílání.

P/F je jeden bit se dvěma jmény. Nazývá se Poll když je nastaven primární stanicí pro získání odezvy od sekundární stanice a Final když je nastaven sekundární stanicí pro indikaci odezvy nebo konce přenosu. +more Ve všech jiných případech je bit vynulovaný.

* V NRM režimu vlastnictví poll tokenu zajišťuje adresované sekundární stanici oprávnění vysílat. Sekundární stanice nastavuje bit F v posledním rámci s odezvou, čímž se vzdává oprávnění vysílat (bit F funguje jako slovo „příjem“ v rádiové hlasové komunikaci. +more) * V režimech ARM a ABM, má nastavený bit P význam žádosti o odezvu. V těchto režimech sekundární stanice nemusí čekat na výzvu, aby mohla vysílat, takže nemusí čekat, aby mohla odpovědět s nastaveným bitem Final. * Bit P/F je v HDLC povinným prvkem zpětné vazby s automatickým opakováním; všechny další varianty (například používání S-rámce REJ) jsou volitelná rozšíření a slouží pouze ke zvýšení efektivity komunikace. Když stanice přijme rámec s nastaveným bitem P/F, může předpokládat, že všechny rámce, které odeslala předtím, než naposledy poslala rámec s nastaveným bitem P/F, a které dosud nebyly potvrzeny, už nikdy nepřijdou a proto musí být odeslány znovu.

Stanice, která funguje jako kombinovaná stanice, musí rozlišovat bity P a F, protože se mohou používat dva zpětnovazební cykly současně. Bit P odeslaný v příkazu ze vzdálené stanice není odezvou na náš bit P; je jí bit F vyslaný v odezvě.

Repertoár HDLC příkazů a odezev

Základní operace:

* Příkazy (I, RR, RNR, nastavení režimu (SNRM nebo SARM nebo SABM), DISC) * Odezvy (I, RR, RNR, UA, DM, FRMR)

Základní operace

Inicializaci může vyvolat libovolná strana vysláním jednoho ze sedmi příkazů pro nastavení režimu. Tento příkaz: ** Signalizuje opačné straně, že má provést vlastní inicializaci ** Určuje, ve kterém z režimů (NRM, ABM, ARM) se má od tohoto okamžiku pracovat ** Určuje, zda se mají používat tříbitová nebo sedmibitová pořadová čísla

HDLC modul, který přijme inicializační rámec, odpoví rámcem UA, pokud požadavek přijímá; pokud požadavek zamítá, vrátí odezvu DM (disconnect mode).

Informační rámce

NázevPříkaz/ OdezvaPopisInformaceFormát řídicího pole
76543210
Information (I)P/OVýměna uživatelských datN(R)N(R)N(R)P/FN(S)N(S)N(S)0

Dohlížecí rámce

NázevPříkaz/ OdezvaPopisInformaceFormát řídicího pole
76543210
Receive Ready (RR)P/OKladné potvrzeníPřipravenost přijmout I-rámec N(R)N(R)N(R)N(R)P/F0001
Receive Not Ready (RNR)P/OKladné potvrzeníNepřipravenost k příjmuN(R)N(R)N(R)P/F0101
Reject (REJ)P/OZáporné potvrzeníOpakovat rámce počínaje číslem N(R)N(R)N(R)N(R)P/F1001
Selective Reject (SREJ)P/OZáporné potvrzeníOpakovat pouze rámec N(R)N(R)N(R)N(R)P/F1101

Příkaz nebo odezva RR indikuje, že odesilatel rámce je schopen přijímat další data a zároveň potvrzuje přijetí rámců až do rámce N(R)-1; pokud je nastavený bit P, žádá, aby protistrana zaslala informaci o svém stavu.

Příkaz nebo odezva RNR funguje stejně jako RR, ale indikuje nepřipravenost odesilatele přijímat další data.

Příkaz nebo odezvu REJ indikuje, že odesilatel přijal všechny rámce s čísly do N(R)-1, a požaduje, aby příjemce opakoval rámce od čísla N(R).

Rámec SREJ lze použít pouze jako odezvu a pouze v rozšířeném režimu (modulo 128), v LAPB i v super režimu (modulo 32768 nebo 2147483648). Informační pole obsahuje seznam čísel rámců, které nebyly přijaty; seznam může obsahovat jednotlivá čísla rámců (mají nulový nejnižší bit) i intervaly (jsou tvořeny dvojicí čísel, obě mají jedničkový nejnižší bit).

Nečíslované rámce

JménoPříkaz/ OdezvaPopisInfoFormát řídicího pole
76543210
Zahájit režim normální odezvy SNRMcenter|PZahájit režim3bitová pořadová čísla100center|P0011
Zahájit rozšířený režim normální odezvy SNRMEcenter|PZahájit rozšířený režim7bitová pořadová čísla110center|P1111
Zahájit režim asynchronní odezvy SARMcenter|PZahájit režim3bitová pořadová čísla000center|P1111
Zahájit rozšířený režim asynchronní odezvy SARMEcenter|PZahájit rozšířený režim7bitová pořadová čísla010center|P1111
Zahájit asynchronní vyvážený režim SABMcenter|PZahájit režim3bitová pořadová čísla001center|P1111
Zahájit asynchronní vyvážený rozšířený režim SABMEcenter|PZahájit rozšířený režim7bitová pořadová čísla011center|P1111
Zahájit inicializační režim SIMcenter|PSpustí inicializaci řízení spoje v adresované staniciSpustí inicializaci řízení spoje v adresované stanici000center|P0111
Odpojit DISCcenter|PUkončit logické spojeníPři příjmu I a S rámců vracet DM010center|P0011
Nečíslované potvrzení UAcenter|OPotvrzení přijetí příkazu pro nastavení režimu. Potvrzení přijetí příkazu pro nastavení režimu. +more011center|F0011
Režim odpojení DMcenter|OResponder v Disconnect Režimnastavení režim požadovaný000center|F1111
Požadavek odpojení RDcenter|OVyžádání příkazu DISC010center|F0011
Požadavek na zaslání inicializace RIMcenter|OPořadavek inicializaceVyžádání příkazu SIM000center|F0111
Nečíslované Informace UIcenter|P/ONepotvrzovaná dataobsahuje uživatelská data000center|P/F0011
Nečíslovaná výzva UPcenter|PPoužívané pro vyžádání řídicích informacíPoužívané pro vyžádání řídicích informací001center|P0011
Vynulování čítače rámců RSETcenter|PSlouží ke zotaveníVynuluje N(R) ale ne N(S)100center|P1111
Výměna Identifikace XIDcenter|P/OPoužívaný pro vyžádání nebo oznámení schopností stanicePoužívaný pro vyžádání nebo oznámení schopností stanice101center|P/F1111
Test TESTcenter|P/OVrátí stejné informační pole pro testováníVrátí stejné informační pole pro testování111center|P/F0011
Zamítnutí rámce FRMRcenter|OOznamuje příjem chybného rámceOznamuje příjem chybného rámce100center|F0111
Set command SMcenter|PObecné nastavení režimuObecné nastavení režimu110center|P0011
Unnumbered Information with Header check UIHcenter|P/ONečíslovaná informace s kontrolou hlavičkyNečíslovaná informace s kontrolou hlavičky111center|P/F1111
Nonreserved 0 NR0center|P/ONestandardizovanýPro aplikační použití000center|P/F1011
Nonreserved 1 NR1center|P/ONestandardizovanýPro aplikační použití100center|P/F1011
Nonreserved 2 NR2center|P/ONestandardizovanýPro aplikační použití010center|P/F1011
Nonreserved 3 NR3center|P/ONestandardizovanýPro aplikační použití110center|P/F1011
Konfigurovat pro test CFGRcenter|P/ONení součástí HDLCBylo součástí SDLC110center|P/F0111
Maják BCNcenter|ONení součástí HDLCBylo součástí SDLC111center|F1111
.

Rámce UI, XID a TEST obsahují data vyšší vrstvy a lze je použít jako příkazy i jako odezvy. * Rámce UI obsahují uživatelské informace, ale na rozdíl od I-rámců se nepotvrzuje ani znovu nevysílá při ztrátě. +more * Rámec XID se používá pro výměnu informací o schopnostech stanice. Jeden formát definovalo SDLC, ale varianta definovaná v ISO 8885 je používanější. Primární stanice oznámí své schopnosti příkazem XID a sekundární vrátí XID odezvu. * Rámec TEST slouží pro ladící účely. Funguje jako příkaz ping; obsah datového pole příkazu TEST se vrací v odezvě TEST. Rámec FRMR obsahuje data popisující chybný rámec. První 1 nebo 2 byty jsou kopií odmítnutého řídicího pole, další 1 nebo 2 byty obsahují aktuální pořadová čísla N(S) a N(R) a následující 4 nebo 5 bitů indikují důvod odmítnutí rámce.

Volitelné funkce

Čís. FunkceZměny protokolu
1Identifikace a předávání charakteristiky stanicPřidán příkaz a odpověď XID
2Včasné informování o chybách pořadí rámcůPřidán příkaz a odpověď REJ
3Efektivnější zotavení z chyb v pořadí I rámců . +morePřidán příkaz a odpověď SREJ
3. 1. opakováním jednotlivého rámcePřidán příkaz a odpověď SREJ
3. 2. opakováním jednoho nebo více rámcůPřidán příkaz a odpověď SREJ
3. 3. s možností uvedení rozsahu rámcůPřidán příkaz a odpověď SREJ
4Používání UI rámců v libovolném režimuPřidán příkaz a odpověď UI
5Inicializace vzdálené stanice a vyžádání inicializacePřidán příkaz SIM a odpověď RIM
6Dotazování skupiny stanic, všech stanic a individuální stanicePřidán příkaz UP
7Rozšíření adresy na více oktetůPoužívá se rozšířený formát adres
8Používání pouze příkazových I rámcůNepoužívá se odpověď I
9Používání pouze odpovědních I rámcůNepoužívá se příkaz I
10Rozšířené číslování rámců . Místo SXXM se používá příkaz SXXME
10. 1. modulo 128Místo SXXM se používá příkaz SXXME
10. 2. modulo 32768Místo SXXM se používá příkaz SM
10. 3. modulo 2 147 483 648Místo SXXM se používá příkaz SM
11Reinicializace stavových proměnných pouze v jednom směruPřidán příkaz RSET
12Základní test datového spojePřidán příkaz a odpověď TEST
13Požadavek logického odpojeníPřidána odpověď RD
14Nestandardní délka FCSFCS jiné velikosti než 16 bitů
14. 132bitové FCS32bitové FCS
14. 28bitové FCS8bitové FCS
15Start/stop komunikace .
15. 1. se základní transparentností
15. 2. se základní transparentností a transparentností řízení toku dat
15. 2. se základní transparentností a transparentností řídicích oktetů
16Start/stop komunikace pro 7bitová data
17Konfigurace spojePřidán příkaz SM
18Informační pole v odpovědích UA a DM a příkazu DISCInformační pole v rámcích UA, DM a DISC
19Informační pole v příkazech pro změnu režimuV rámcích SABM, SARM, SNRM, SABME, SARME, SNRME
20FCS nepokrývá informační polePřidán příkaz a odpověď UIH
21Více adresních políPřidán příkaz a odpověď UIH
22Rámec začíná polem formátu rámce (za flagem)Přidáno pole formátu rámce
23SegmentacePole formátu rámce obsahuje segmentační podpole
24Vypnutí vkládání bitů nebo oktetů
25Start/stop režim s mezirámcovým timeoutem
26Kontrolní součet hlavičekPřidáno pole HCS za pole Control
.

Odkazy

Poznámky

Reference

Literatura

Související články

PPP - Point-to-Point Protocol * SLIP

Synchronous Data Link Control|

* Sériová komunikace * Rámec (počítačová síť) * Arytmický sériový přenos * LAPB - Link Access Procedure Balanced * LAPM - Link Access Procedure, Modem * LAPF - Link Access Procedure for Frame Relay * LAPD - Q. +more921.

Externí odkazy

[url=http://webstore. iec. +morech/preview/info_isoiec13239%7Bed3. 0%7Den. pdf]International Standard ISO/IEC 13239[/url] * [url=http://read. pudn. com/downloads138/sourcecode/others/589576/ISO13239. pdf]International Standard ISO/IEC 13239[/url] * RFC 2687, Navrhovaný standard, PPP v rámcích vycházejících z HDLC pro aplikace v reálném čase * RFC 1662, standard 51, PPP v rámcích vycházejících z HDLC * [url=http://www. interfacebus. com/HDLC_Protocol_Description. html]Stránka s informacemi o protokolu HDLC (dobrý popis HDLC polí)[/url] * [url=http://www. ict. tuwien. ac. v/lva/384. 081/infobase/L03-HDLC_v4-4. pdf]Lekce Manfreda Lindnera o datové komunikaci - část HDLC[/url] * [url=http://www. acacia-net. com/wwwcla/protokol/iso_4335. htm#I%20format]Formát HDLC paketů a další informace[/url] * [url=https://web. archive. org/web/20130611171004/http://www. cse. dmu. ac. uk/~cfi/Networks/DataLink/DataLink12. htm]Rodina protokolů HDLC [/url].

Kategorie:Protokoly linkové vrstvy Kategorie:Logical link control Kategorie:Síťové standardy Kategorie:Telekomunikační standardy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top