VyÜlo v t²denφku: CHIPweek
╚φslo:26/96
Datum:24. Φervna 1996
Strana:25
Rubrika/kategorie: Principy poΦφtaΦov²ch sφtφ
Modul: ReferenΦnφ model ISO/OSI
Dφl:4

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

D∞lba prßce v RM ISO/OSI (I.)

Kdy₧ auto°i RM ISO/OSI rozhodovali o poΦtu vrstev svΘho modelu, byla jednφm z kritΘriφ snaha zam∞stnat vÜechny vrstvy pokud mo₧no rovnom∞rn∞. S odstupem Φasu je mo₧nΘ konstatovat, ₧e se jim to tak ·pln∞ nepoda°ilo - referenΦnφ model b²vß Φasto kritizovßn za to, ₧e vytφ₧enφ jeho jednotliv²ch vrstev nenφ rovnom∞rnΘ. Abychom ale mohli sprßvn∞ docenit takovßto tvrzenφ, musφme nejprve v∞d∞t co konkrΘtn∞ mß kterß vrstva na starosti. Poj∩me se tedy postupn∞ projφt jednotliv²mi vrstvami ISO/OSI a naznaΦit si, jakΘ ·koly dostaly do vφnku. Dnes stihneme t°i nejspodn∞jÜφ vrstvy, ostatnφ si nechßme na p°φst∞.

Fyzickß vrstva (physical layer)

ZaΦn∞me tedy odspodu, nejni₧Üφ fyzickou vrstvou. Jejφm ·kolem je fyzick² p°enos dat, p°esn∞ji p°enos jednotliv²ch bit∙ a bitov²ch sekvencφ. Fyzickß vrstva se tedy starß nap°φklad o to, jak²m zp∙sobem jsou datovΘ bity zak≤dovßny do takovΘho signßlu, jak² se skuteΦn∞ p°enßÜφ, jak² je Φasov² pr∙b∞h tohoto signßlu, jakΘ jsou obvodovΘ vlastnosti p°enosov²ch cest apod. Pokud jde o charakter slu₧eb, kterΘ fyzickß vrstva nabφzφ svΘ bezprost°edn∞ vyÜÜφ vrstv∞, zde si m∙₧eme p°edstavit ₧e jde o slu₧by typu äp°ijmi bit" a äodeÜli bit". U₧ivatel t∞chto slu₧eb (bezprost°edn∞ vyÜÜφ vrstva , tj. vrstva linkovß) se pak ji₧ nemusφ zab²vat tφm, jak konkrΘtn∞ se kter² bit p°ijφmß Φi odesφlß. Naproti tomu vrstva fyzickß se zase nestarß o to, co znamenajφ bity kterΘ ona p°enßÜφ, tj. nijak je neinterpretuje.

Vrstva linkovß (data link layer)

Vrstva linkovß mß za ·kol p°enßÜet celΘ bloky dat (obecn∞ oznaΦovanΘ jako rßmce), a to mezi sousednφmi poΦφtaΦi - p°esn∞ji mezi takov²mi, kterΘ spolu majφ p°φmΘ spojenφ (nevy₧adujφcφ äp°estup" p°es n∞jak² p°estupnφ uzel). K ·sp∞ÜnΘmu p°enosu cel²ch rßmc∙ pak linkovß vrstva pot°ebuje zajistit n∞kolik dφlΦφch ·kol∙: nap°φklad sprßvn∞ vyznaΦit zaΦßtek a konec ka₧dΘho rßmce, tak aby jej p°ijφmajφcφ strana sprßvn∞ rozpoznala a mohla ·sp∞Ün∞ ävybalit" jeho datov² obsah. Tomuto se °φkß zajiÜt∞nφ synchronizace na ·rovni rßmc∙. Linkovß vrstva toho m∙₧e dosßhnout bu∩ tak, ₧e zaΦßtek a konec ka₧dΘho rßmce indikuje cel²mi specißlnφmi znaky (pak jde o pou₧itφ tzv. znakov∞ orientovan²ch protokol∙), nebo prost°ednictvφm specißlnφ bitov²ch sekvencφ (v p°φpad∞ tzv. bitov∞ orientovan²ch protokol∙, kterΘ dnes jednoznaΦn∞ p°eva₧ujφ). V ka₧dΘm p°φpad∞ ale linkovß vrstva musφ zajistit i to, aby se tyto specißlnφ znaky resp. specißlnφ bitovΘ sekvence nevyskytly äuvnit°" p°enßÜen²ch rßmc∙. Tedy zajistit, aby pro ka₧d² äkus" p°enesen²ch dat bylo jasnΘ, zda jde o u₧iteΦnß data, nebo o °φdφcφ ·daj, kter² nap°φklad indikuje zaΦßtek Φi konec rßmce. Tomuto ·kolu se °φkß zajiÜt∞nφ transparence dat.

DalÜφm d∙le₧it²m ·kolem linkovΘ vrstvy m∙₧e b²t zajiÜt∞nφ spolehlivosti p°enosu - äm∙₧e" proto, ₧e ne v₧dy to musφ b²t po linkovΘ vrstv∞ po₧adovßno (n∞kdy m∙₧e b²t dßna p°ednost rychlosti p°ed spolehlivostφ, viz diskuse v minul²ch dφlech serißlu). Rßmce, kterΘ linkovß vrstva p°enßÜφ, jsou v₧dy opat°eny zabezpeΦovacφm ·dajem (nejΦast∞ji tzv. CRC k≤dem), kter² umo₧≥uje p°φjemci rozpoznat zda byl rßmec p°i p°enosu poÜkozen Φi nikoli. Pokud pak linkovß vrstva nemusφ zajiÜ¥ovat spolehlivost p°enosu (resp. nenφ to po nφ po₧adovßno), m∙₧e takov²to poÜkozen² rßmce jednoduÜe zahodit, a dßle ji₧ se nemusφ o nic starat. Pokud je ale ji₧ po linkovΘ vrstv∞ po₧adovßno zajiÜt∞nφ spolehlivΘho p°enosu, musφ se sama postarat o nßpravu - musφ si se sv²m prot∞jÜkem (odesilatelem) vykorespondovat opakovanΘ odeslßnφ rßmce, kter² byl p°ijat jako poÜkozen². K tomu ale musφ mezi p°φjemcem a odesilatelem existovat vhodn² mechanismus tzv. potvrzovßnφ, umo₧≥ujφcφ sd∞lovat kterΘ rßmce byly doruΦeny v po°ßdku a kterΘ nikoli.

DalÜφm ·kolem linkovΘ vrstvy je pak sprßvnΘ dodr₧ovßnφ ätempa" p°enosu - tedy toho, aby p°φjemce staΦil p°ijφmat vÜechno to, co mu odesilatel posφlß. Zde ani tak nejde o rychlost p°enosu jednotliv²ch bit∙ (zde p°φjemce jednoduÜe ämusφ stφhat"), jako spφÜe o schopnost p°φjemce zpracovat celΘ p°ijatΘ rßmce. Pokud by nap°φklad p°φjemce nem∞l p°ijφmanΘ rßmce kam uklßdat (nem∞l by prßv∞ k dispozici dostateΦn∞ velkΘ vyrovnßvacφ pam∞ti), musel by ·sp∞Ün∞ p°ijatß data okam₧it∞ zahazovat, a to by jist∞ nebylo v po°ßdku. P°φjemce by tedy m∞l mφt mo₧nost diktovat tempo p°enosu jednotliv²ch rßmc∙, podle sv²m momentßlnφch dispozic, pomocφ vhodnΘho mechanismu pro tzv. °φzenφ toku.

Sφ¥ovß vrstva (network layer)

Obrßzek 1.
T°i nejni₧Üφ vrstvy ISO/OSI
Linkovß vrstva nabφzφ svΘ bezprost°edn∞ vyÜÜφ vrstv∞ slu₧by typu äodeÜli rßmec sousednφmu uzlu", resp. äp°ijmi rßmec od sousednφho uzlu". P°itom je dobrΘ si zd∙raznit, ₧e äsousednφm" je zde jen takov² uzel, se kter²m mß dan² uzel p°φmΘ spojenφ - p°esn∞ji takovΘ spojenφ, kterΘ umo₧≥uje zaslat rßmec adresßtovi bez toho, ₧e by jej bylo nutnΘ posφlat p°es n∞jak² mezilehl² uzel. Co vÜak d∞lat v p°φpad∞, kdy je nutnΘ doruΦit rßmec takovΘmu uzlu, se kter²m nenφ p°φmΘ spojenφ, ale pouze spojenφ nep°φmΘ, vedoucφ p°es jeden nebo n∞kolik p°estupnφch uzl∙? Pak musφ nastoupit n∞kdo, kdo äznß" celou topologii sφt∞ a je schopen stanovit, kudy (p°es kterΘ p°estupnφ uzly) mß b²t dan² rßmec postupn∞ p°enßÜen, tak aby se nakonec dostal ke k²₧enΘmu cφli. No a to jsme si ji₧ popsali hlavnφ ·koly sφ¥ovΘ vrstvy.

Je to tedy sφ¥ovß vrstva, kdo rozhoduje o tom, kudy (jakou cestou) budou postupn∞ p°enßÜena data, kterß se majφ dostat k urΦitΘmu konkrΘtnφmu adresßtovi. Sφ¥ovß vrstva tedy provßdφ rozhodovßnφ, kterΘmu se obecn∞ °φkß äsm∞rovßnφ" (routing) - podkladem pro toto rozhodovßnφ je znalost ·plnΘ topologie sφt∞ (n∞kdy postaΦuje i znalost ne·plnß), a v²sledkem rozhodnutφ je sm∞r, kter²m mß b²t p°enos uskuteΦn∞n, resp. posloupnost takov²chto sm∞r∙ (celß postupnß cesta od odesilatele k p°φjemci). Praktickß aplikace sm∞rovßnφ m∙₧e b²t dosti r∙znß - je nap°φklad mo₧nΘ nejprve ävytyΦit cestu" mezi p°φjemcem a odesilatelem, a pak vÜechna data posφlat touto cestou (v p°φpad∞ tzv. spojovan²ch p°enos∙), nebo je mo₧nΘ rozhodovßnφ o sm∞ru p°enosu provßd∞t pro ka₧d² p°enßÜen² blok dat v₧dy znovu, dokonce znovu v ka₧dΘm p°estupnφm uzlu (v p°φpad∞ tzv. nespojovan²ch p°enos∙).

V ka₧dΘm p°φpad∞ ale sφ¥ovß vrstva p°enßÜφ bloky dat, kter²m se obecn∞ °φkß pakety (packets). Ve skuteΦnosti vÜak sφ¥ovß vrstva tyto pakety sama fyzicky nep°enßÜφ, ale p°edßvß je k p°enesenφ vrstv∞ linkovΘ. Ke svΘmu po₧adavku samoz°ejm∞ musφ v₧dy p°ipojit i v²sledek svΘho rozhodnutφ o sm∞ru, kter²m mß b²t paket odeslßn.

Sm∞rovßnφ, kterΘ sφ¥ovß vrstva provßdφ, p°itom m∙₧e vychßzet z r∙zn²ch filosofiφ, a m∙₧e pou₧φvat r∙znΘ algoritmy pro hledßnφ nejvhodn∞jÜφch cest od p°φjemce k odesilateli. Je p°itom mo₧nΘ, aby tyto algoritmy vychßzely z ·daj∙ o topologii, kterΘ budou v jednotliv²ch uzlech fixovßny a nebudou se v Φase m∞nit - co₧ v reßlnΘ praxi, kdy k urΦit²m zm∞nßm topologie p°eci jen obΦas dochßzφ, nemusφ b²t zrovna optimßlnφ. Proto je Φast∞jÜφ spφÜe takov² zp∙sob sm∞rovßnφ, kter² poΦφtß s pr∙b∞₧nou aktualizacφ ·daj∙ o topologii sφt∞, neboli s dynamick²m Üφ°enφm sm∞rovacφch informacφ. Pak ale musφ b²t na ·rovni sφ¥ovΘ vrstvy p°esn∞ definovßno jak, kdy, v jakΘm tvaru atd. si jednotlivΘ uzly budou mezi sebou pot°ebnΘ sm∞rovacφ informace vym∞≥ovat.


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
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