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

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 (32):

Sφ¥ovß vrstva - I.

Cht∞jφ-li spolu komunikovat dva uzly poΦφtaΦovΘ sφt∞, mezi kter²mi neexistuje p°φmΘ spojenφ, je nutnΘ pro n∞ najφt alespo≥ spojenφ nep°φmΘ - tedy vhodnou cestu, vedoucφ p°es mezilehlΘ uzly od jednoho koncovΘho uzly ke druhΘmu. Mo₧n²ch cest m∙₧e b²t samoz°ejm∞ vφce, n∞kdo je vÜak musφ najφt, jednu z nich vybrat, a pak takΘ zajistit sprßvnΘ p°edßvßnφ dat po tΘto cest∞. VÜechny tyto ·koly mß v referenΦnφm modelu ISO/OSI na starosti sφ¥ovß vrstva.

Obrßzek 32.1.
Obr. 32.1.: P°φklad topologie sφt∞
Uva₧ujme p°φklad poΦφtaΦovΘ sφt∞ na obrßzku 32.1 a/ a situaci, kdy je pot°eba p°enΘst urΦitß data z uzlu A do uzlu D. Zdrojem t∞chto dat nech¥ je u₧ivatelsk² proces, b∞₧φcφ na poΦφtaΦi A (m∙₧e to b²t nap°φklad program pro prßci s elektronickou poÜtu a jφm generovanß data zprßvou, urΦenou pro ·Φastnφka na uzlu resp. poΦφtaΦi D). U₧ivatelsk² proces na poΦφtaΦi A p°edß svß data k odeslßnφ aplikaΦnφ vrstv∞, kterß je zase p°edß vrstv∞ prezentaΦnφ atd. (viz obrßzek 32.2.). Kdy₧ se p°φsluÜnß data dostanou a₧ na ·rove≥ sφ¥ovΘ vrstvy, musφ tato rozhodnout, kudy je skuteΦn∞ odeslat. V naÜem konkrΘtnφm p°φpad∞ (v sφti dle obrßzku 32.1. a/) je toto rozhodnutφ velmi jednoduchΘ, jedinß cesta "ven" zde toti₧ vede p°es uzel E. Data, urΦenß k doruΦenφ do uzlu D, proto sφ¥ovß vrstva uzlu A p°edß svΘ bezprost°edn∞ ni₧Üφ (linkovΘ) vrstv∞ s po₧adavkem na jejich odeslßnφ do uzlu E.

Jeliko₧ mezi uzly A a E existuje p°φmΘ spojenφ, dokß₧e lInkovß vrstva uzlu A p°edat blok dat (na ·rovni linkovΘ vrstvy oznaΦovan² jako rßmec) svΘ partnerskΘ linkovΘ vrstv∞ na uzlu E. Jak ji₧ ale vφme, ve skuteΦnosti tak Φinφ prost°ednictvφm fyzickΘ vrstvy.

Linkovß vrstva na uzlu E p°edß p°ijat² rßmec svΘ bezprost°edn∞ vyÜÜφ vrstv∞, tj. vrstv∞ sφ¥ovΘ. Ta musφ z obsahu rßmce poznat, ₧e jde o data urΦenß k doruΦenφ do uzlu D. Na zßklad∞ znalosti topologie sφt∞ (tj. zp∙sobu propojenφ jednotliv²ch uzl∙) tato vrstva zjistφ, ₧e cesta do uzlu D vede dßle bu∩ p°es uzel G, nebo p°es uzel F. Musφ se rozhodnout pro jednu z obou mo₧nostφ - p°edpoklßdejme, ₧e se rozhodne pro cestu p°es uzel G. Data, kterß p°evzala od linkovΘ vrstvy, proto sφ¥ovß vrstva uzlu E vrßtφ svΘ bezprost°edn∞ ni₧Üφ vrstv∞ s po₧adavkem na odeslßnφ do uzlu G.

Obrßzek 32.2.
Obr. 32.2.: P°edstava pr∙chodu dat vrstvami
V uzlu G se situace opakuje. Linkovß vrstva p°edß p°ijat² rßmec sφ¥ovΘ vrstv∞, kterß jej vrßtφ linkovΘ vrstv∞ zp∞t s po₧adavkem na odeslßnφ do uzlu D, kam ji₧ z uzlu G vede p°φmΘ spojenφ.

V uzlu D se data dostanou analogick²m zp∙sobem a₧ na ·rove≥ sφ¥ovΘ vrstvy. Ta rozpoznß, ₧e jde o data, urΦenß prßv∞ danΘmu uzlu, a proto je ji₧ nevracφ vrstv∞ linkovΘ, ale p°edß je svΘ bezprost°edn∞ vyÜÜφ (tj. transportnφ) vrstv∞. Odtud jsou pak postupn∞ p°edßvßna sm∞rem k vyÜÜφm vrstvßm, a₧ se dostanou k tΘ entit∞ resp. procesu, kterß je jejich koneΦn²m p°φjemce. Cel² postup nßzorn∞ ukazuje obrßzek 32.2.

┌koly sφ¥ovΘ vrstvy

Pokusme se nynφ, na zßklad∞ v²Üe uvedenΘho p°φkladu, o zobecn∞nφ ·kol∙, kterΘ v referenΦnφm modelu ISO/OSI plnφ sφ¥ovß vrstva.

Kdykoli transportnφ vrstva p°edßvß vrstv∞ sφ¥ovΘ n∞jakß data k odeslßnφ, p°ipojuje k nim pouze informaci o tom, kdo mß b²t jejich koneΦn²m p°φjemcem. Pro ka₧d² samostatn∞ p°enßÜen² blok dat, kter² se na ·rovni sφ¥ovΘ vrstvy oznaΦuje jako paket (zatφmco na ·rovni linkovΘ vrstvy jako rßmec) pak musφ sφ¥ovß vrstva rozhodnout, kter²m "sm∞rem" jej mß skuteΦn∞ odeslat. Jakmile toto rozhodnutφ uΦinφ, p°edß p°φsluÜn² paket vrstv∞ linkovΘ spolu s ·dajem o zvolenΘm sm∞ru.

Nejd∙le₧it∞jÜφm ·kolem sφ¥ovΘ vrstvy je tedy tzv. sm∞rovßnφ (routing), kterΘ p°edstavuje prßv∞ ono zmφn∞nΘ rozhodovßnφ o sm∞ru odesφlßnφ jednotliv²ch paket∙. Nenφ jist∞ t°eba zd∙raz≥ovat, ₧e k tomu sφ¥ovß vrstva pot°ebuje alespo≥ zßkladnφ informace o topologii celΘ sφt∞. KonkrΘtnφch zp∙sob∙ sm∞rovßnφ, Φi spφÜe postup∙ resp. algoritm∙ volby vhodnΘho sm∞ru p°itom existuje celß °ada. Od jednoduch²ch statick²ch metod, kterΘ nejsou schopny reagovat na dynamickΘ zm∞ny v sφti, a₧ po adaptivnφ metody, kterΘ se dokß₧φ p°izp∙sobit aktußlnφmu stavu sφt∞, jejφmu zatφ₧enφ, p°φpadn²m v²padk∙m n∞kter²ch uzl∙ Φi spoj∙ apod.

Metodßm sm∞rovßnφ se budeme podrobn∞ji v∞novat v dalÜφch pokraΦovßnφch naÜeho serißlu. Vra¥me se vÜak jeÜt∞ k ·kol∙m sφ¥ovΘ vrstvy - krom∞ vlastnφho sm∞rovßnφ (chßpeme-li jej jen jako rozhodovßnφ o dalÜφm sm∞ru) musφ sφ¥ovß vrstva zajiÜ¥ovat i jeho skuteΦnou realizaci. Tedy v mezilehl²ch uzlech zajiÜ¥ovat pot°ebnΘ p°edßvßnφ jednotliv²ch paket∙ na cest∞ k jejich koncovΘmu p°φjemci.

S tφm dosti ·zce souvisφ i dalÜφ ·kol sφ¥ovΘ vrstvy - p°edchßzet p°etφ₧enφ Φi dokonce zahlcenφ Φßstφ sφt∞, °φdit tok dat a dbßt o co mo₧nß nejrovnom∞rn∞jÜφ vyu₧itφ vÜech p°enosov²ch prost°edk∙ a kapacit.

P°i vzßjemnΘm propojenφ dvou Φi vφce sφtφ pak p°ib²vß sφ¥ovΘ vrstv∞ jeÜt∞ jeden d∙le₧it² ·kol - zajiÜ¥ovat nezbytnΘ p°edßvßnφ paket∙ mezi jednotliv²mi sφt∞mi.

OdliÜnΘ pohledy na sv∞t

Obrßzek 32.3.
Obr. 33.3.: "Pohled" transportnφ, sφ¥ovΘ a linkovΘ vrstvy na sφ¥
Ud∞lejme si nynφ malΘ shrnutφ toho, jak² pohled na celou sφ¥ a vzßjemnΘ propojenφ jednotliv²ch uzl∙ mß transportnφ, sφ¥ovß a linkovß vrstva ISO/OSI modelu - umo₧nφ nßm to snßze pochopit postavenφ a v²znam sφ¥ovΘ vrstvy: transportnφ vrstva v ka₧dΘm uzlu sφt∞ vychßzφ z p°edstavy, ₧e mezi jejφm uzlem a koncov²m p°φjemcem dat existuje p°φmΘ spojenφ, a proto adresuje svß data p°φmo tomuto koncovΘmu p°φjemci. Sφ¥ovß vrstva si ji₧ uv∞domuje skuteΦnou topologii sφt∞ a vφ, ₧e p°edstava transportnφ vrstvy nemusφ b²t sprßvnß (Φinφ vÜak vÜe pro to, aby transportnφ vrstv∞ jejφ iluzi zachovala). Pro linkovou vrstvu pak ji₧ nenφ topologie celΘ sφt∞ relevantnφ - tΘ staΦφ znßt jen ty uzly, se kter²mi mß "jejφ" uzel p°φmΘ spojenφ. Neznß dokonce ani koncovΘho p°φjemce dat obsa₧en²ch v rßmcφch, kterΘ sama p°enßÜφ.

KomunikaΦnφ podsφ¥ a hostitelskΘ poΦφtaΦe

P°φklad topologie sφt∞, uveden² na obrßzku 32.1., naznaΦuje nejobecn∞jÜφ situaci, kdy vÜechny uzlovΘ poΦφtaΦe sφt∞ majφ stejnΘ postavenφ a mohou vystupovat jak v roli zdroj∙ a koncov²ch p°φjemc∙ dat, tak i v roli mezilehl²ch uzl∙.

V praxi vÜak m∙₧e Φasto dochßzet k tomu, ₧e meziuzly nejsou plnohodnotn²mi uzly poΦφtaΦovΘ sφt∞, ale pouze jedno·Φelov²mi "p°epojovaΦi", kterΘ vytvß°φ pot°ebnou komunikaΦnφ infrastrukturu pro propojenφ ostatnφch "plnohodnotn²ch" uzl∙. Prßv∞ s takovouto p°edstavou poΦφtal takΘ referenΦnφ model ISO/OSI ve svΘ p∙vodnφ verzi (kdy uva₧oval jen tzv. spojovanΘ slu₧by, viz 27. dφl naÜeho serißlu). Podle tΘto p°edstavy je odd∞lena Φist∞ komunikaΦnφ funkce sφt∞ a je sv∞°enß tzv. komunikaΦnφ podsφti (communication subnet, subnetwork), zatφmco vlastnφ aplikaΦnφ funkce zajiÜ¥ujφ tzv. koncovΘ systΘmy (end systems). S podobnou p°edstavou pracovala nap°φklad i jedna z prvnφch rozlehl²ch sφtφ ARPANET, jejφ₧ terminologie se nejvφce prosadila do praxe. KoncovΘ systΘmy, na kter²ch jsou provozovßny u₧ivatelskΘ aplikace, oznaΦuje jako hostitelskΘ poΦφtaΦe (host computers, hosts), zatφmco jednotlivΘ "p°epojovacφ" uzly v rßmci komunikaΦnφ podsφt∞ oznaΦuje jako IMP (Interface Message Processor) - viz obrßzek 32.1. a/. V literatu°e se vÜak Φasto pou₧φvajφ takΘ termφny uzel p°epojovßnφ paket∙ (Packet Switching Node) Φi mezilehl² systΘm (Intermediate Node) nebo datovß ·st°edna (Data Switching Exchange).


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