VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:20/92
RoΦnφk:1992
Rubrika/kategorie: Co je Φφm ... v poΦφtaΦov²ch sφtφch
Dφl:31

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ß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.


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://archiv.czech.net/copyleft.htm