
Linková vrstva - II.
Správné rozpoznání začátku a konce každého rámce i jeho jednotlivých částí není zdaleka jediným úkolem, který řeší linková vrstva referenčního ISO/OSI modelu.Služby, které linková vrstva poskytuje vrstvě síťové, mohou mít charakter spolehlivých i nespolehlivých služeb (viz 27. díl našeho seriálu). Pro realizaci spolehlivých služeb pak linková vrstva musí mít k dispozici mechanismy pro zajištění toho, že příjemce skutečně přijme všechny vyslané rámce, a to bez chyb (v případě spojované služby ještě ve správném pořadí).
Možné způsoby, jak tento požadavek zajistit, závisí na charakteru spojení mezi vysílajícím a příjemcem. Záleží na tom, zda toto spojení je svou povahou simplexní (simplex), tj. umožňující pouze jednosměrný přenos od vysílajícího k příjemci, nebo tzv. poloduplexní (half-duplex), umožňující sice obousměrný přenos, ale nikoli současně, nebo plně duplexní (full duplex), umožňující současný přenos oběma směry.
Simplexní spoje neumožňují vytvořit zpětnou vazbu mezi vysílajícím a příjemcem. Příjemce pak nemá možnost vyžádat si nové vyslání těch rámců, které přijal jako poškozené, a se všemi případnými chybami se musí vyrovnat sám. Vysílající mu v tom může pomoci tím, že použije vhodný samoopravný kód (viz 3. díl našeho seriálu), díky kterému pak příjemce dokáže některé chyby v přenesených datech opravit sám. Tyto kódy jsou však spojeny se značnou redundancí, kvůli které výrazně klesá efektivní přenosová rychlost "užitečných" dat. Stejná situace nastává také u takových spojů, které sice nejsou simplexní, ale pracují s tak dlouhými dobami přenosu, že se na úrovni linkové vrstvy nevyplatí čekat na zpětnou vazbu od příjemce dat (příkladem mohou být družicové spoje, viz 18. díl našeho seriálu).
V případě poloduplexních a plně duplexních spojů je možné vystačit již jen se zabezpečením přenášených dat pomocí detekčních kódů (viz 3. díl seriálu). Z nich jsou nejúčinnější tzv. cyklické kódy (viz opět 3. díl našeho seriálu), které lze použít k zabezpečení rámce jako celku. Při odesílání se k obsahu rámce přidá krátký zabezpečovací údaj (typicky v rozsahu 16 bitů), a příjemce je pak na základě tohoto zabezpečovacího údaje schopen se značnou pravděpodobností rozpoznat, zda přijal rámec bez chyby, či nikoli. V druhém případě pak může využít zpětné vazby, kterou mu nabízí poloduplexní a duplexní spojení s vysílajícím, a vyžádat si na něm nové vyslání celého chybně přijatého rámce.
Právě naznačený mechanismus je obvykle implementován v podobě tzv. potvrzování (acknowledgement), přesněji: potvrzovací zpětné vazby, která předpokládá, že příjemce zkontroluje bezchybovost každého přijatého rámce, a o výsledku informuje vysílajícího. V angličtině je pak tato technika označována také jako ARQ (Automatic Retransmission reQuest).
![]() |
![]() |
![]() |
Při našich úvahách o mechanismech potvrzování je dobré se zamyslet také nad tím, jakou konkrétní podobu mají kladná i záporná potvrzení, která příjemce datových rámců vrací jejich odesilateli. Mohou to být samostatné rámce zvláštního typu, které nenesou žádná "užitečná" data, ale mají pouze řídící charakter. Pak jde o tzv. samostatné potvrzování, které ovšem svými řídícími rámci zatěžuje přenosové cesty na úkor datových rámců s "užitečnými" daty. Efektivnější alternativou, použitelnou však jen v případě obousměrného toku "užitečných" dat, je vkládat potvrzující informace přímo do datových rámců - této technice se v angličtině říká piggybacking.
Dalším, velmi významným úkolem linkové vrstvy ISO/OSI modelu je zajistit, aby vysílající svými daty nezahltil příjemce. Linková vrstva se tedy musí zabývat také tzv. řízením toku (flow control), které má zajistit, aby vysílající skutečně vysílal jen tehdy, kdy je přijímající vůbec schopen nějaká data přijímat - a ne např. tehdy, když příjemce nemá k dispozici dostatečně velký objem vyrovnávací paměti pro uložení přijímaných dat, nebo je zaneprázdněn jinou činností (obsluhou naléhavého přerušení, zpracováním dříve přijatých dat apod.).
![]() |
Kvůli charakteristické představě zmíněného "okénka" se metoda kontinuálního potvrzování často označuje také jako metoda okénka (sliding window method).