zpět do archivu článků |
rejstřík |
předchozí díl |
následující díl
Jiří Peterka: Co je čím ... v počítačových sítích (31):
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. 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. 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. 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. 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.
zpět do archivu článků | rejstřík |
předchozí díl |
následující díl
Tento článek může být volně šířen, pokud se tak děje pro studijní účely, na nevýdělečném základě a se zachováním tohoto dovětku. Podrobnosti hledejte zde, resp. na adrese
http://ksi.ms.mff.cuni.cz/~peterka/archiv/copyleft.htm