Vyšlo v týdeníku Computerworld č. 20/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a220c110.php3

Linková vrstva - III.

V minulých dvou dílech našeho seriálu jsme se zabývali postavením a funkcí linkové vrstvy v rámci referenčního modelu ISO/OSI. Naznačili jsme si, že linková vrstva musí zajišťovat potřebnou synchronizaci na úrovni jednotlivých znaků i celých rámců, a starat se o bezchybné doručení všech rámců od odesilatele k jejich příjemci. Pro činnost linkové vrstvy je však velmi důležitý také konkrétní způsob vzájemného propojení jednotlivých uzlů, mezi kterými má přenos rámců zajišťovat. Podívejme se proto nyní, jaké jsou možnosti takovéhoto propojení, a jaké důsledky vyplývají z jednotlivých alternativ.

Obrázek 31.1.
Obr. 31.1.: Představa dvoubodového spoje
Dva uzlové počítače mohou být propojeny pomocí dvoubodového spoje (point-to-point connection) podle obrázku 31.1. Dvoubodový spoj může být realizován např. pomocí kroucené dvoulinky, koaxiálního či optického kabelu (viz obr. 31.1 a/), nebo také prostřednictvím veřejné telefonní sítě (jako sítě s přepojováním okruhů), viz obr. 31.1 b/. Podstatná je přitom skutečnost, že mezi oběma uzly existuje (alespoň po dobu přenosu) přímý přenosový kanál, a protokol linkové vrstvy pak zajišťuje přímou komunikaci obou koncových účastníků.

Poněkud jiná situace však nastává v případě, kdy jsou dva uzly propojeny prostřednictvím sítě s přepojováním paketů - například pomocí veřejné datové sítě na bázi X.25 (viz 17. díl našeho seriálu). Sítě tohoto typu si totiž samy zajišťují vše, co je potřeba pro "interní" přenos paketů (tj. až do úrovně síťové vrstvy, včetně). Linková vrstva zde pak má na starosti jen přenos rámců mezi koncovým uzlem a místem jeho připojení na datovou síť - viz obrázek 31.2.

Obrázek 31.2.
Obr. 31.2.: "Dosah" protokolů linkové vrstvy v případě propojení prostřednictvím veřejné datové sítě
Další možností, typickou spíše pro propojení na kratší vzdálenosti, je použití tzv. mnohobodového spoje (multipoint connection), který vzájemně propojuje více uzlů - například podle obrázku 31.3. - a umožňuje přenos dat mezi kterýmikoli dvěma uzly. Umožňuje dokonce i přenos dat z jednoho uzlu (v roli vysílajícího) současně do více uzlů (v roli přijímajících) - pro tuto svou schopnost se v angličtině tento druh propojení označuje také jako tzv. broadcast channel (doslova: přenosový kanál, umožňující "rozesílání").

Pro mnohobodový spoj je však podstatná skutečnost, že jde o sdílený prostředek, který neumožňuje vícenásobné přidělení - v roli vysílajícího může být vždy nejvýše jeden uzel. Pokud tedy dojde k situaci, že o získání tohoto sdíleného prostředku (tj. práva vysílat po mnohobodovém spoji) bude usilovat více uzlů současně, musí existovat mechanismus, který mezi všemi žadateli umožní vybrat jednoho, a tomu pak prostředek přidělit (tj. nechat jej vysílat).

Možností realizace je opět více. Jednou z nich je existence centrálního arbitra, který sám rozhoduje o využití sdíleného prostředku - jednotlivým žadatelům přiděluje právo vysílat po mnohobodovém spoji. Může tak činit na základě explicitních žádostí jednotlivých žadatelů, což ovšem znamená, že pro tyto žádosti je nutné vyhradit určitou část přenosové kapacity mnohobodového spoje, nebo vytvořit další vhodné propojení mezi centrálním arbitrem a ostatními uzly pro přenos těchto žádostí. V praxi se však používá spíše tzv. metoda výzvy (polling), při které se centrální arbitr sám postupně obrací na jednotlivé potenciální žadatele a zjišťuje, zda chtějí něco vyslat.

Obrázek 31.3.
Obr. 31.3.: Představa mnohobodového spoje
Znakově i bitově orientované protokoly linkové vrstvy, o kterých jsme se zmiňovali ve 29. dílu našeho seriálu obvykle umožňují používat jak dvoubodové, tak i mnohobodové spoje. V případě mnohobodových spojů pak počítají právě s existencí centrálního arbitra - tím je u těchto protokolů jedna ze stanic, která má postavení tzv. řídící stanice (supervisory, master), zatímco ostatní stanice vystupují v roli podřízených (slave) stanic. Řídící stanice přiděluje jednotlivým podřízeným stanicím právo vysílat na základě jejich kladné reakce na zaslanou výzvu (poll). Stanice, která v určitém okamžiku získá právo vysílat, se dostává do postavení tzv. hlavní stanice (primary) a sama si volí, komu chce svá data vyslat - prostřednictvím zvláštní výzvy provede tzv. výběr (selection) jedné nebo několika dalších stanic, které budou její data přijímat, a budou tedy vůči ní vystupovat jako tzv. vedlejší stanice (secondary)

Právě naznačený mechanismus v sobě skýtá jedno potenciální nebezpečí - v případě výpadku centrálního arbitra (řídící stanice) se celá síť na bázi mnohobodového spoje stává nepoužitelnou.

Existují však i jiné alternativy, které existenci centrálního arbitra nepředpokládají. Jsou založeny na myšlence, že všichni žadatelé o právo vysílat po mnohobodovém spoji se dokáží mezi sebou dohodnout, a vybrat ze svého středu jednoho, který pak skutečně začne vysílat. Jde vlastně o jakousi soutěž, do které se musí přihlásit každá stanice, která chce získat právo vysílat pro mnohobodovém spoji (tj. stát se stanicí hlavní). Tato soutěž musí samozřejmě mít přesně stanovená pravidla, která všichni soutěžící musí dodržovat - jsou definována ve formě tzv. přístupové metody (access method).

"Decentralizovaný" způsob řízení mnohobodového spoje, založený na různých přístupových metodách, je charakteristický hlavně pro lokální sítě. Nejrozšířenější jsou dnes dvě přístupové metody: metoda CSMA/CD, která se používá v lokálních sítích typu Ethernet, a metoda Token passing (tzv. předávání pověření resp. "peška"), která se používá v sítích Token Ring a Token Bus. O obou metodách si samozřejmě budeme povídat podrobněji, pokusme se je však ještě zařadit do kontextu sedmivrstvého referenčního modelu ISO/OSI.

Obrázek 31.4.
Obr. 31.4.: Vztah standardů IEEE 802 a ISO/OSI
Přístupová metoda, zajišťující korektní přístup ke sdílenému mnohobodovému spoji, musí být implementována nad fyzickou vrstvou - neboť sama využívá služeb této vrstvy pro přenos jednotlivých bitů. Linková vrstva, která zabezpečuje přenos celých rámců, by ale již měla mít potřebný přístup ke sdílenému mnohobodovému spoji zajištěn. Přístupová metoda by tudíž měla být implementována mezi fyzickou a linkovou vrstvou - což by ovšem znamenalo "vsunutí" zcela nové vrstvy do referenčního modelu, která je navíc zapotřebí jen v případě těch lokálních sítí, které používají sdílené mnohobodové spoje bez centrálního arbitra. Celá situace se vyřešila tak, že se u těchto sítí "původní" linková vrstva rozděluje na dvě části resp. podvrstvy - nižší podvrstvu MAC (Media Access Control sublayer, podvrstva řízení přístupu k přenosovému médiu), ve které je implementována příslušná přístupová metoda, a vyšší podvrstvu LLC (Link Layer Control, podvrstvu řízení logického spoje), která zajišťuje všechno to, co jsme dosud přisuzovali linkové vrstvě jako takové - viz obrázek 31.4.

Přístupové metody pro dnes nejrozšířenější lokální sítě jsou definovány ve standardech IEEE řady 802, o kterých jsme se již zmiňovali v souvislosti s fyzickou vrstvou ISO/OSI modelu ve 28. dílu našeho seriálu. Vztah těchto standardů k ISO/OSI modelu a jejich "pokrytí" názorně ukazuje obrázek 31.4.