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

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

ReferenΦnφ model ISO/OSI - sedm vrstev

Jak jsme si uvedli v p°edchßzejφcφm dφlu naÜeho serißlu, dosp∞li tv∙rci referenΦnφho modelu ISO/OSI p°i sv²ch ·vahßch k zßv∞ru, ₧e optimßlnφ poΦet vrstev sφ¥ovΘho softwaru bude sedm. JakΘ vrstvy to jsou a jakΘ ·koly majφ °eÜit? Vezm∞me to postupn∞ zdola nahoru, od nejni₧Üφ vrstvy k nejvyÜÜφ:

1. Fyzickß vrstva (Physical Layer)

┌kol tΘto vrstvy je zdßnliv∞ velmi jednoduch² - zajistit p°enos jednotliv²ch bit∙ mezi p°φjemcem a odesilatelem prost°ednictvφm fyzickΘ p°enosovΘ cesty, kterou tato vrstva bezprost°edn∞ ovlßdß. K tomu je ovÜem t°eba vy°eÜit mnoho otßzek p°evß₧n∞ technickΘho charakteru - nap°. jakou ·rovnφ nap∞tφ bude reprezentovßna logickß jedniΦka a jakou logickß nula, jak dlouho "trvß" jeden bit, kolik kontakt∙ a jak² tvar majφ mφt konektory kabel∙, jakΘ signßly jsou t∞mito kabely p°enßÜeny, jak² je jejich v²znam, Φasov² pr∙b∞h apod. Problematika fyzickΘ vrstvy proto spadß spφÜe do p∙sobnosti elektroin₧en²r∙ a technik∙.

2. Linkovß vrstva (Data Link Layer)

Fyzickß vrstva poskytuje jako svΘ slu₧by prost°edky pro p°enos jednotliv²ch bit∙. Bezprost°edn∞ vyÜÜφ linkovß vrstva (n∞kdy naz²vanß tΘ₧: spojovß vrstva Φi vrstva datovΘho spoje) pak mß za ·kol zajistit pomocφ t∞chto slu₧eb bezchybn² p°enos cel²ch blok∙ dat (velikosti °ßdov∞ stovek byt∙), oznaΦovan²ch jako rßmce (frames). Jeliko₧ fyzickß vrstva nijak neinterpretuje jednotlivΘ p°enßÜenΘ bity, je na linkovΘ vrstv∞, aby sprßvn∞ rozpoznala zaΦßtek a konec rßmce, i jeho jednotlivΘ Φßsti.

Na p°enosovΘ cest∞ m∙₧e dochßzet k nejr∙zn∞jÜφm poruchßm a ruÜenφ, v jejich₧ d∙sledku jsou p°ijaty jinΘ hodnoty bit∙, ne₧ jakΘ byly p∙vodn∞ vyslßny. Jeliko₧ fyzickß vrstva se nezab²vß v²znamem jednotliv²ch bit∙, rozpoznß tento druh chyb a₧ linkovß vrstva. Ta kontroluje celΘ rßmce, zda byly p°eneseny sprßvn∞ (podle r∙zn²ch kontrolnφch souΦt∙, viz 3. dφl naÜeho serißlu). Odesilateli potvrzuje p°ijetφ bezchybn∞ p°enesen²ch rßmc∙, zatφmco v p°φpad∞ poÜkozen²ch rßmc∙ si vy₧ßdß jejich op∞tovnΘ vyslßnφ.

3. Sφ¥ovß vrstva (Network Layer)

Linkovß vrstva zajiÜ¥uje p°enos cel²ch rßmc∙, ovÜem pouze mezi dv∞ma uzly, mezi kter²mi vede p°φmΘ spojenφ. Co ale d∞lat, kdy₧ spojenφ mezi p°φjemcem a odesilatelem nenφ p°φmΘ, ale vede p°es jeden Φi vφce mezilehl²ch uzl∙? Pak musφ nastoupit sφ¥ovß vrstva, kterß zajistφ pot°ebnΘ sm∞rovßnφ (routing) p°enßÜen²ch rßmc∙, oznaΦovan²ch nynφ ji₧ jako pakety (packets). Sφ¥ovß vrstva tedy zajiÜ¥uje volbu vhodnΘ trasy resp. cesty (route) p°es mezilehlΘ uzly, a takΘ postupnΘ p°edßvßnφ jednotliv²ch paket∙ po tΘto trase od p∙vodnφho odesilatele a₧ ke koneΦnΘmu p°φjemci.

Sφ¥ovß vrstva si tedy musφ "uv∞domovat" konkrΘtnφ topologii sφt∞ (tj. zp∙sob vzßjemnΘho p°φmΘho propojenφ jednotliv²ch uzl∙).

4. Transportnφ vrstva (Transport Layer)

Sφ¥ovß vrstva poskytuje bezprost°edn∞ vyÜÜφ vrstv∞ slu₧by, zajiÜ¥ujφcφ p°enos paket∙ mezi libovoln²mi dv∞ma uzly sφt∞. Transportnφ vrstvu proto zcela odsti≥uje od skuteΦnΘ topologie sφt∞ a vytvß°φ jφ tak iluzi, ₧e ka₧d² uzel sφt∞ mß p°φmΘ spojenφ s kter²mkoli jin²m uzlem sφt∞.

Transportnφ vrstv∞ dφky tomu staΦφ zab²vat se ji₧ jen komunikacφ koncov²ch ·Φastnφk∙ (tzv. end-to-end komunikacφ) - tedy komunikacφ mezi p∙vodnφm odesilatelem a koneΦn²m p°φjemcem.

P°i odesφlßnφ dat zajiÜ¥uje transportnφ vrstva sestavovßnφ jednotliv²ch paket∙, do kter²ch rozd∞luje p°enßÜenß data, a p°i p°φjmu je zase z paket∙ vyjφmß a sklßdß do p∙vodnφho tvaru. Dokß₧e tak zajistit p°enos libovoln∞ velk²ch zprßv, p°esto₧e jednotlivΘ pakety majφ omezenou velikost.

5. RelaΦnφ vrstva (Session Layer)

┌kolem tΘto vrstvy je navazovßnφ, udr₧ovßnφ a ruÜenφ relacφ (sessions) mezi koncov²mi ·Φastnφky. V rßmci navazovßnφ relace si tato vrstva vy₧ßdß na transportnφ vrstv∞ vytvo°enφ spojenφ, prost°ednictvφm kterΘho pak probφhß komunikace mezi ob∞ma ·Φastnφky relace. Pokud je t°eba tuto komunikaci n∞jak °φdit (nap°. urΦovat, kdo mß kdy vysφlat, nemohou-li to d∞lat oba ·Φastnφci souΦasn∞), zajiÜ¥uje to prßv∞ tato vrstva, kterß mß takΘ na starosti vÜe, co je pot°eba k ukonΦenφ relace a zruÜenφ existujφcφho spojenφ.

6. PrezentaΦnφ vrstva (Presentation Layer)

Data, kterß se prost°ednictvφm sφt∞ p°enßÜφ, mohou mφt mj. povahu text∙, Φφsel Φi obecn∞jÜφch datov²ch struktur. JednotlivΘ uzlovΘ poΦφtaΦe vÜak mohou pou₧φvat odliÜnou vnit°nφ reprezentaci t∞chto dat - nap°. st°ediskovΘ poΦφtaΦe firmy IBM pou₧φvajφ znakov² k≤d EBCDIC, zatφmco v∞tÜina ostatnφch pracuje s k≤dem ASCII. Podobn∞ jeden poΦφtaΦ m∙₧e zobrazovat celß Φφsla v dopl≥kovΘm k≤du, zatφmco jin² poΦφtaΦ v p°φmΘm k≤du apod. - pot°ebnΘ konverze p°enßÜen²ch dat mß na starosti prßv∞ tato prezentaΦnφ vrstva.

V rßmci tΘto vrstvy b²vß takΘ realizovßna p°φpadnß komprese p°enßÜen²ch dat, eventußln∞ i jejich Üifrovßnφ.

7. AplikaΦnφ vrstva (Application Layer)

Koncovφ u₧ivatelΘ vyu₧φvajφ poΦφtaΦovΘ sφt∞ prost°ednictvφm nejr∙zn∞jÜφch sφ¥ov²ch aplikacφ - systΘm∙ elektronickΘ poÜty, p°enosu soubor∙, vzdßlenΘho p°ihlaÜovßnφ (remote login) apod. ZaΦle≥ovat vÜechny tyto r∙znorodΘ aplikace p°φmo do aplikaΦnφ vrstvy by pro jejich velkou r∙znorodost nebylo rozumnΘ. Proto se do aplikaΦnφ vrstvy zahrnujφ jen Φßsti t∞chto aplikacφ, kterΘ realizujφ spoleΦnΘ resp. obecn∞ pou₧itelnΘ mechanismy. Uva₧ujme jako p°φklad prßv∞ elektronickou poÜtu - ta jejφ Φßst, kterß zajiÜ¥uje vlastnφ p°edßvßnφ zprßv v sφti, je souΦßstφ aplikaΦnφ vrstvy. Na vÜech uzlov²ch poΦφtaΦφch, kterΘ pou₧φvajφ tent²₧ systΘm elektronickΘ poÜty, je tato Φßst stejnß. U₧ivatelskΘ rozhranφ systΘmu elektronickΘ poÜty, tedy ta jeho Φßst, se kterou u₧ivatel bezprost°edn∞ pracuje a jejφm₧ prost°ednictvφm Φte doÜlΘ zprßvy, odpovφdß na n∞, p°ipravuje novΘ zprßvy a zadßvß je k odeslßnφ, ji₧ nenφ pova₧ovßna za souΦßst aplikaΦnφ vrstvy, nebo¥ se m∙₧e v ka₧dΘm konkrΘtnφm uzlu dosti v²razn∞ liÜit - nap°. ve zp∙sobu svΘho ovlßdßnφ (°ßdkov²mi p°φkazy Φi pomocφ r∙zn²ch menu, s okΘnky Φi bez nich apod.). Jin²m nßzorn²m p°φkladem m∙₧e b²t emulace terminßl∙, pot°ebnß nap°. pro vzdßlenΘ p°ihlaÜovßnφ (remote login). Ve sv∞t∞ dnes existuje nep°ebernΘ mno₧stvφ r∙zn²ch terminßl∙, a realizovat pot°ebnΘ p°izp∙sobenφ mezi libovoln²mi dv∞ma typy terminßl∙ je v podstat∞ nemo₧nΘ. Proto se zavßdφ jedin² "referenΦnφ" terminßl - tzv. virtußlnφ terminßl - a pro ka₧d² konkrΘtnφ typ terminßlu se pak vytvo°φ jen jedinΘ p°izp∙sobenφ mezi tφmto virtußlnφm terminßlem a terminßlem skuteΦn²m. Prost°edky pro prßci s virtußlnφm terminßlem p°itom jsou souΦßstφ aplikaΦnφ vrstvy (nebo¥ jsou vÜude stejnΘ), zatφmco prost°edky pro jeho p°izp∙sobenφ konkrΘtnφmu terminßlu ji₧ souΦßstφ aplikaΦnφ vrstvy nejsou.

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