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

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 (II.)

Nejspodn∞jÜφ t°i ze sedmi vrstev referenΦnφho modelu ISO/OSI jsou orientovßny na p°enos dat. Naproti tomu t°i nejvyÜÜφ vrstvy majφ za ·kol vychßzet vst°φc jednotliv²m aplikacφm a poskytovat jim podp∙rnΘ slu₧by. Ale jakΘ slu₧by to vlastn∞ jsou? A jak² v²znam mß zb²vajφcφ vrstva, vsazenß mezi ob∞ skupiny po t°ech vrstvßch?

ZaΦn∞me nejprve onou vrstvou ämezi", tedy Φtvrtou vrstvou poΦφtßno od spodu i od shora, neboli vrstvou transportnφ. Jejφ poslßnφ lze shrnout nßsledovn∞: je zde od toho, aby vyrovnßvala rozdφly mezi schopnostmi t°φ spodnφch p°enosov²ch vrstev a po₧adavky t°φ vyÜÜφch, aplikaΦn∞ orientovan²ch vrstev. Tedy nap°φklad to, aby z nespolehliv²ch p°enosov²ch slu₧eb, jakΘ nabφzφ p°enosov² subsystΘm tvo°en² t°emi nejni₧Üφmi vrstvami, vyrobila spolehlivou slu₧bou, jakou po₧adujφ hornφ, aplikaΦn∞ orientovanΘ vrstvy. ╚i aby z nedostateΦn∞ spolehlivΘ slu₧by vyrobila slu₧bu vφce spolehlivou. Nebo aby z nespojovan²ch p°enosov²ch slu₧eb ud∞lala slu₧by spojovanΘ, pokud je vyÜÜφ vrstvy preferujφ p°ed slu₧bami spojovan²mi.

ProΦ je ale n∞co takovΘho v∙bec zapot°ebφ? Kdy₧ budou vyÜÜφ vrstvy po₧adovat urΦit² druh p°enosov²ch slu₧eb, proΦ se tomuto po₧adavku rad∞ji nep°izp∙sobφ rovnou t°i nejni₧Üφ p°enosovΘ vrstvy, a proΦ se mφsto toho jeÜt∞ zavßdφ dalÜφ Φtvrtß vrstva, kterß mß rozdφly zakr²t? Jednou mo₧nou odpov∞dφ je to, ₧e äprovozovatel" vyÜÜφch vrstev nemusφ mφt mo₧nost ovlivnit chovßnφ a vlastnosti t°φ nejni₧Üφch vrstev - p°edstavme si to na p°φkladu vyu₧itφ ve°ejnΘ datovΘ sφt∞. Jejφm u₧ivatelem je n∞kdo jin² ne₧ jejφ provozovatel, a jednotlivφ u₧ivatelΘ zde nemajφ v∞tÜinou moc Üancφ mluvit do toho, jak ve°ejnß datovß sφ¥ (zajiÜ¥ujφcφ funkci t°φ nejni₧Üφch vrstev ISO/OSI) funguje a jakΘ slu₧by nabφzφ. Navφc, kdyby jejich po₧adavky byly protich∙dnΘ, ani by nebylo mo₧nΘ vyhov∞t jim vÜem souΦasn∞. U₧ivatelΘ si proto mohou pouze äzakoupit" takovΘ p°enosovΘ slu₧by, jakΘ jim jsou nabφzeny, a pokud cht∞jφ n∞co jinΘho, musφ si to upravit sami - a prßv∞ od toho je zde vrstva transportnφ.

Transportnφ vrstva zajiÜ¥uje komunikaci koncov²ch uzl∙

P°edstava ve°ejnΘ datovΘ sφt∞, do kterΘ u₧ivatelΘ nejen änemohou mluvit", ale do kterΘ obvykle ani änevidφ", nßm p°ichßzφ vhod i p°i zd∙razn∞nφ dalÜφho d∙le₧itΘho aspektu transportnφ vrstvy: tato je implementovßna a₧ v koncov²ch uzlech, a nikoli v äp°estupnφch uzlech" v rßmci p°enosovΘ Φßsti sφt∞ (tedy nap°φklad äuvnit°" ve°ejnΘ datovΘ sφt∞). Je to tedy vrstva, kterß se m∙₧e zab²vat pouze vzßjemnou komunikacφ koncov²ch uzl∙, neboli koncov²ch ·Φastnφk∙ komunikace, a net²kß se äp°estupnφch uzl∙". Transportnφ vrstvu tedy najdeme v koncov²ch poΦφtaΦφch, ale nikoli ji₧ ve sm∞rovaΦφch (routerech), mostech Φi dokonce opakovaΦφch.

S prßv∞ naznaΦen²m charakterem transportnφ vrstvy, vyskytujφcφ se a₧ na koncov²ch uzlech a nikoli v uzlech äp°estupnφch", pak souvisφ jeÜt∞ jeden dalÜφ a nesmφrn∞ d∙le₧it² aspekt: t°i nejni₧Üφ, p°enosov∞ orientovanΘ vrstvy, chßpou vÜechny uzly sφt∞ jako dßle ned∞litelnΘ celky. To znamenß, ₧e pokud n∞kam doruΦφ n∞jakß data, doruΦφ je v₧dy uzlu jako takovΘmu. Zde ale tato data mohou mφt mnoho r∙zn²ch p°φjemc∙ - mohou pat°it r∙zn²m program∙m, proces∙m Φi ·lohßm, kterΘ na tomto uzlu prßv∞ b∞₧φ nebo alespo≥ b∞₧et majφ. Po t°ech nejni₧Üφch vrstvßch tedy musφ nastoupit n∞kdo, kdo data doruΦenß uzlu jako takovΘmu p°evezme, zjistφ komu pat°φ a za°φdφ jejich cφlenΘ p°edßnφ konkrΘtnφmu p°φjemci v rßmci danΘho uzlu. No a i to je ·kolem transportnφ vrstvy.

Co jsou relace?

Nejni₧Üφ ze t°φ aplikaΦn∞ orientovan²ch vrstev RM ISO/OSI je vrstva relaΦnφ. Jejφ roli by Ülo odb²t poukazem na to, ₧e se zab²vß vedenφm relacφ. Ale co to vlastn∞ takovß relace je?

P°edstavme si analogii s telefonnφm hovorem - jednou vytoΦen² hovor (p°edstavujφcφ analogii spojenφ na ·rovni transportnφ vrstvy) m∙₧ete vyu₧φt k dialogu s jednφm konkrΘtnφm ·Φastnφkem na druhΘ stran∞, a poslΘze bez zav∞Üenφ p°edat hovor jinΘ dvojici (t°eba man₧elkßm?), kterß se bude bavit o n∞Φem jinΘm. Jednou v∞cφ je tedy existence a trvßnφ telefonnφho hovoru, a jinou v∞cφ je dialog, kter² prost°ednictvφm telefonnφho hovoru vedete. Za hovor platφte Telecomu, kter² nezajφmß o Φem se po telefonu bavφte. Dialog s druhou stranou je zase n∞co, co pouze uskuteΦ≥ujete prost°ednictvφm telefonu, ale co by principißln∞ mohlo probφhat t°eba jako rozhovor z oΦφ do oΦφ, nebo formou dopisovßnφ, prost°ednictvφm vysφlaΦek apod. A naÜe relace na ·rovni relaΦnφ vrstvy je prßv∞ takov²mto dialogem.

RelaΦnφ vrstva tedy mß na starosti vedenφ relacφ, resp. °φzenφ jejich pr∙b∞hu - pou₧ijeme-li znovu analogii z dialogem veden²m po telefonu, starß se nap°φklad o to, aby si ·Φastnφci dialogu vzßjemn∞ neskßkali do °eΦi. Nebo aby po nßhlΘm v²padku spojenφ a op∞tovnΘm vytoΦenφ telefonnφho hovoru nemuseli zaΦφnat od zaΦßtku, a mohli se vrßtit k n∞kterΘmu z p°edchozφch bod∙ - äkde₧e jsme to p°estali, ne₧ to spadlo"?

Pokud vßm takto naznaΦenΘ ·koly relaΦnφ vrstvy p°ipadajφ pon∞kud vßgnφ a nep°φliÜ obsa₧nΘ, nejste sami. Podobn² nßzor mß i v∞tÜina kritik∙ referenΦnφho modelu ISO/OSI.

Pot°eba konverzφ

PrezentaΦnφ vrstva, pßtß poΦφtßno zdola, nebo takΘ prost°ednφ z trojice aplikaΦn∞ orientovan²ch vrstev, mß ji₧ mnohem srozumiteln∞jÜφ a z°eteln∞ji definovanΘ ·koly. Ty vychßzφ z pozorovßnφ, ₧e kdy₧ n∞kdo n∞kam p°enese urΦitß data a dß si velmi zßle₧et na tom, aby ka₧d² jednotliv² bit doÜel v p°esn∞ takovΘm tvaru v jakΘm byl odeslßn, nemusφ to v∙bec b²t v po°ßdku. JednΘ a tΘ₧e posloupnosti bit∙, byt∙ Φi slov toti₧ mohou r∙znΘ poΦφtaΦe p°isuzovat r∙zn² v²znam. Mohou nap°φklad pou₧φvat r∙znΘ zp∙soby k≤dovßnφ znak∙ (jeden k≤d ASCII, druh² EBCDIC), r∙znΘ formßty Φφsel v pohyblivΘ Φi pevnΘ °ßdovΘ Φßrce, obecn∞ jinΘ datovΘ formßty. Aby takovΘto uzly p°enßÜenß data takΘ shodn∞ interpretovaly (tj. p°iklßdaly jim shodn² v²znam), mohou b²t nezbytnΘ urΦitΘ konverze. No a ty zajiÜ¥uje prßv∞ prezentaΦnφ vrstva.

PrezentaΦnφ vrstva mß vÜak na starosti i n∞kterΘ dalÜφ, souvisejφcφ ·koly - starß se i o sprßvn∞ äzabalenφ" p°enßÜen²ch dat. P°edstavme si nap°φklad vφcerozm∞rnß pole, zßznamy, nebo jeÜt∞ obecn∞jÜφ datovΘ struktury. Jak takovΘto ävφcerozm∞rnΘ" objekty p°enΘst jednorozm∞rn²m (lineßrnφm) p°enosov²m kanßlem, kter² je k dispozici? Zde op∞t musφ nastoupit prezentaΦnφ vrstva, kterß na stran∞ odesilatele vφcerozm∞rnΘ objekty p°etransformuje na jednorozm∞rnΘ - ale musφ to uΦinit tak, aby to prezentaΦnφ vrstva na stran∞ p°φjemce sprßvn∞ rozpoznala a dokßzala äzlinearizovan²m dat∙m" dßt jejich p∙vodnφ podobu, a hlavn∞ p∙vodnφ v²znam. Snad nejvφce prßce pak mß prezentaΦnφ vrstva s tzv. ukazateli (pointry), kterΘ se s oblibou vyskytujφ v obecn∞jÜφch datov²ch strukturßch (strukturßch provßzan²ch t∞mito pointry) - tyto ukazatele, kterΘ ukazujφ z jednoho mφsta na jinΘ mφsto (ovÜem v adresovΘm prostoru odesilatele!!) nemß v∙bec smysl p°enßÜet.

AplikaΦnφ vrstva

Obrßzek 1.
╚ty°i nejvyÜÜφ vrstvy ISO/OSI
P∙vodnφ p°edstava tv∙rc∙ RM ISO/OSI ohledn∞ aplikaΦnφ vrstvy byla takovß, ₧e jejφ souΦßstφ budou vÜechny konkrΘtnφ aplikace, pou₧φvanΘ v prost°edφ sφt∞. To se ale ukßzalo jako nesch∙dnΘ, zejmΘna z nßsledujφcφho d∙vodu: aplikacφ je hodn∞, neustßle jich p°ib²vß, a pokud by m∞ly b²t p°φmo souΦßstφ aplikaΦnφ vrstvy, musely by b²t pokryty standardy, kterΘ by p°esn∞ definovaly jejich chovßnφ i vÜechny jejich vlastnosti. No a vyvφjet takovΘ mno₧stvφ standard∙ bylo nad sφly autor∙ RM ISO/OSI. Navφc by n∞co takovΘho ani nebylo moc vhodnΘ, proto₧e by to znamenalo nap°φklad i standardizovat u₧ivatelskß rozhranφ aplikaΦnφch program∙, a tφm znaΦn∞ svßzat ruce a tv∙rΦφ rozlet autor∙m t∞chto aplikacφm. Proto nakonec v aplikaΦnφ vrstv∞ z∙staly jen takovΘ Φßsti aplikacφ, jakΘ mß smysl standardizovat (typicky jejich spoleΦnΘ Φßsti, zajiÜ¥ujφcφ zßkladnφ funkΦnost - nap°φklad p°enos zprßv u elektronickΘ poÜty), zatφmco ostatnφ Φßsti (zejmΘna t²kajφcφ se u₧ivatelskΘho rozhranφ) se ävyst∞hovaly" nad aplikaΦnφ vrstvu a p°estaly b²t jejφ souΦßstφ.


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