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 (36)
RelaΦnφ vrstva
Jak jsme si ji₧ naznaΦili d°φve, Φty°i nejni₧Üφ vrstvy
referenΦnφho modelu ISO/OSI jsou zam∞°eny p°edevÜφm na
vlastnφ p°enos dat mezi jednotliv²mi uzlov²mi poΦφtaΦi.
Ka₧dß z nich p°itom poskytuje "o n∞co vφce" ne₧ vrstva
bezprost°edn∞ ni₧Üφ - Φtvrtß (tj. transportnφ) vrstva pak
nabφzφ prost°edky pro takovou komunikaci dvou koncov²ch
poΦφtaΦ∙ resp. ·Φastnφk∙, kterß je nezßvislß na konkrΘtnφ
komunikaΦnφ podsφti, na jejφ topologii i na dalÜφch
specifikßch. VyÜÜφ vrstvy referenΦnφho modelu ISO/OSI jsou
pak ji₧ orientovßny spφÜe na pot°eby sφ¥ov²ch aplikacφ. Samy
vyu₧φvajφ p°enosovΘ slu₧by transportnφ vrstvy, a p°idßvajφ
k nim takovΘ funkce a schopnosti, kterΘ by m∞ly b²t u₧iteΦnΘ
pro v∞tÜinu aplikacφ. Takov² je tedy smysl existence pßtΘ
(relaΦnφ), ÜestΘ (prezentaΦnφ), a vlastn∞ i sedmΘ
(aplikaΦnφ) vrstvy ISO/OSI modelu.
ReferenΦnφ model ISO/OSI tedy vychßzφ z p°edstavy, ₧e
jednotlivΘ aplikace by m∞ly mφt k dispozici a m∞ly by
vyu₧φvat jeÜt∞ dokonalejÜφ a obecn∞jÜφ slu₧by, ne₧ jakΘ
nabφzφ transportnφ vrstva. Jejich realizaci pak referenΦnφ
model sv∞°uje relaΦnφ (session) a prezentaΦnφ (presentation)
vrstv∞. MlΦky tφm ovÜem p°edpoklßdß, ₧e je budou vyu₧φvat
vÜechny aplikace, nebo alespo≥ v∞tÜina z nich - jen pak
toti₧ mß rozumn² smysl realizovat je pro vÜechny aplikace
spoleΦn∞. Existuje ale velkΘ mno₧stvφ aplikacφ, kterΘ tento
p°edpoklad nespl≥ujφ, a kterΘ pln∞ vystaΦφ s takov²mi
slu₧bami, jakΘ nabφzφ ji₧ transportnφ vrstva. V tomto ohledu
nenφ jist∞ bez zajφmavosti, ₧e "konkurenΦnφ" soustava
protokol∙ TCP/IP vychßzφ z p°esn∞ opaΦnΘ ·vahy ne₧
referenΦnφ model ISO/OSI - sv²m aplikacφm nabφzφ pouze
p°enosovΘ slu₧by na ·rovni transportnφ vrstvy. Pot°ebuje-li
n∞kterß aplikace resp. slu₧ba aplikaΦnφ vrstvy slu₧by
obecn∞jÜφho charakteru, musφ si je realizovat sama vlastnφmi
silami. To je takΘ d∙vod, proΦ soustava protokol∙ TCP/IP, na
kterΘ je vybudovßna nap°. sφ¥ ARPANET resp. dneÜnφ Internet,
s existencφ relaΦnφ a prezentaΦnφ vrstvy v∙bec nepoΦφtß.
RelaΦnφ vrstvu s takov²mi funkcemi, jakΘ jφ p°isuzuje
referenΦnφ model ISO/OSI, nem∞la v dob∞ jeho zavedenφ ₧ßdnß
sφ¥ - snad s v²jimkou sφt∞ SNA firmy IBM, kterß mß obdobnΘ
funkce realizovßny ve vφce r∙zn²ch vrstvßch.
P°i vytvß°enφ samotnΘho referenΦnφho modelu ISO/OSI
byla kolem relaΦnφ vrstvy a jejφch ·kol∙ velkß diskuse.
N∞kterΘ alternativnφ nßvrhy, kterΘ se v tΘ dob∞ objevily,
s relaΦnφ vrstvou dokonce v∙bec nepoΦφtaly. Nakonec se vÜak
relaΦnφ vrstva do referenΦnφho modelu p°eci jen prosadila.
Spolu se svou bezprost°edn∞ nad°azenou (tj. prezentaΦnφ
vrstvou) vÜak byla a nadßle je relativn∞ nejmΘn∞
propracovanou vrstvou.
Co je vlastn∞ relace?
Pro sprßvnΘ pochopenφ smyslu relaΦnφ vrstvy je dobrΘ si
nejprve oz°ejmit onen pon∞kud vßgnφ termφn relace (session).
Nejnßzorn∞jÜφ bude z°ejm∞ analogie s telefonnφm hovorem -
ten je t°eba nejprve vytoΦit (Φφm₧ vznikß analogie
transportnφho spojenφ), a pak je mo₧nΘ jeho prost°ednictvφm
vΘst rozhovor (relaci) dvou ·Φastnφk∙.
Relaci tedy m∙₧eme pova₧ovat za spojenφ mezi dv∞ma
koncov²mi ·Φastnφky na ·rovni bezprost°edn∞ vyÜÜφ, ne₧ je
vrstva transportnφ. Obvykle je ka₧dΘ takovΘto spojenφ
(relace) zajiÜ¥ovßno prost°ednictvφm jednoho transportnφho
spojenφ (tj. spojenφ na ·rovni transportnφ vrstvy), kterΘ je
z°izovßno a ruÜeno p°i z°izovßnφ resp. ruÜenφ relace - viz
obr. 36.1. a/. Je ovÜem mo₧n² i takov² p°φpad, kdy jedno
transportnφ spojenφ zajiÜ¥uje dv∞ nebo vφce po sob∞ jdoucφch
relacφ, viz obr. 36.1. b/. Pou₧ijeme-li op∞t analogii
s telefonnφm hovorem, odpovφdß tato situace tomu, ₧e dva
·Φastnφci telefonnφho hovoru sv∙j rozhovor dokonΦφ, ale
mφsto zav∞Üenφ p°edajφ telefon jinΘ dvojici, kterß se m∙₧e
zaΦφt bavit o n∞Φem zcela jinΘm - tedy zahßjit nov²
rozhovor (relaci).
![Obrßzek 36.1.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t225c111.gif) |
Obr. 36.1.: Vztah relace a transportnφho spojenφ
a/ jedna relace - jedno transportnφ spojenφ
b/ vφce relacφ - jedno transportnφ spojenφ
c/ jedna relace - vφce transportnφch spojenφ
Podobn∞, jako se transportnφ vrstva sna₧φ zakr²t
p°φpadnΘ v²padky spojenφ na ·rovni sφ¥ovΘ vrstvy, m∞la by se
i relaΦnφ vrstva dokßzat vyrovnat s p°φpadn²m v²padkem
transportnφho spojenφ, a zajistit pokraΦovßnφ relace
prost°ednictvφm nov∞ z°φzenΘho transportnφho spojenφ - viz
obr. 36.1. c/. V naÜφ "telefonnφ" analogii to odpovφdß
situaci, kdy v pr∙b∞hu rozhovoru dvou ·Φastnφk∙ je jejich
hovor p°eruÜen, a oni si musφ zavolat znovu, aby sv∙j
rozhovor dokonΦili.
Zajφmavou odliÜnostφ relace od transportnφho spojenφ je
i zp∙sob jejφho ukonΦenφ. V p°φpad∞ transportnφho spojenφ
nabφzφ referenΦnφ model ISO/OSI jen prost°edky pro
jednostrannΘ direktivnφ ukonΦenφ spojenφ, kterΘmu druhß
strana nemß mo₧nost zabrßnit. Na ·rovni relaΦnφ vrstvy se
vÜak p°edpoklßdß spφÜe ukonΦenφ na zßklad∞ vzßjemnΘ dohody
obou z·Φastn∞n²ch stran. P°esn∞ji na nßvrh jednΘ strany,
kter² ale druhß strana mß mo₧nost odmφtnou a zajistit si tak
pokraΦovßnφ relace.
╪φzenφ dialogu
Jednφm z hlavnφch ·kol∙ relaΦnφ vrstvy je °φzenφ
dialogu mezi ob∞ma koncov²mi ·Φastnφky. Tak jako p°i
telefonnφm rozhovoru nenφ mo₧nΘ (Φi alespo≥ sluÜnΘ), aby oba
·Φastnφci mluvili souΦasn∞, existujφ i v poΦφtaΦov²ch sφtφch
takovΘ aplikace, kterΘ vy₧adujφ koordinovanΘ st°φdßnφ obou
z·Φastn∞n²ch p°i vysφlßnφ (nap°φklad r∙znΘ aplikace
transakΦnφho charakteru apod.).
RelaΦnφ vrstva tento po₧adavek zajiÜ¥uje obvykle pomocφ
mechanismu p°edßvßnφ pov∞°enφ k p°enosu dat (data token)
- vysφlat data smφ v₧dy jen ten, kdo vlastnφ tento pomysln²
Ütafetov² kolφk (pov∞°enφ resp. token), viz obrßzek 36.2.
b/. RelaΦnφ vrstva p°itom nabφzφ prost°edky, pomocφ kter²ch
lze pov∞°enφ p°edat, nebo si jej naopak vy₧ßdat.
![Obrßzek 36.2.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t225c112.gif) |
Obr. 36.2.: P°edstava vzßjemnΘ komunikace v rßmci relace
a/ pln∞ duplexnφ dialog
b/ poloduplexnφ dialog
Obecn∞ se na ·rovni relaΦnφ vrstvy rozliÜujφ t°i
zp∙soby vedenφ dialogu - pln∞ duplexnφ (v terminologii RM
ISO/OSI: TWS resp. Two-Way-Simultaneous), poloduplexnφ (TWA
resp. Two-Way-Alternate) a simplexnφ (One-Way). Mechanismus
p°edßvßnφ pov∞°enφ se p°itom t²kß samoz°ejm∞ jen
poloduplexnφho dialogu. Zd∙razn∞me si vÜak, ₧e zp∙sob vedenφ
dialogu nemß nic spoleΦnΘho s duplexnφm, poloduplexnφm Φi
ev. simplexnφm charakterem p°enosovΘho kanßlu. VÜechna
spojenφ v referenΦnφm modelu ISO/OSI jsou obecn∞ pln∞
duplexnφ, a umo₧≥ujφ tedy souΦasn² p°enos dat ob∞ma sm∞ry.
R∙znΘ aplikace vÜak z r∙zn²ch d∙vod∙ nemusφ tΘto mo₧nosti
vyu₧φvat, a po pln∞ duplexnφm spoji mohou vΘst jen
poloduplexnφ dialog.
Synchronizace
DalÜφm d∙le₧it²m ·kolem relaΦnφ vrstvy je tzv.
synchronizace (synchronization, tΘ₧: checkpointing).
K jejφmu pochopenφ si nejprve p°edstavme nßsledujφcφ
situaci: p°φjemcem dat v rßmci urΦitΘ relace nech¥ je
poΦφtaΦ, kter² si p°ijφmanß data pr∙b∞₧n∞ zapisuje na disk,
p°φpadn∞ je ihned tiskne na tiskßrn∞. Dojde-li nßhle
k poruÜe disku Φi tiskßrny (nebo jφ nap°. dojde papφr, toner
apod.), m∙₧e p°φjemce p°ijφt o urΦit² objem dat, kterΘ jinak
v po°ßdku p°ijal (tj. kterΘ byly transportnφ vrstvou
bezchybn∞ doruΦeny).
![Obrßzek 36.3.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t225c113.gif) |
Obr. 36.3.: P°edstava kontrolnφch bod∙
Co je pak zapot°ebφ, je mo₧nost "vrßtit se o kousek
zp∞t", a ztracenß data p°enΘst znovu. Tedy znovu dosßhnout
pot°ebnΘ synchronizace (vzßjemnΘho souladu). RelaΦnφ vrstva
°eÜφ tento problΘm mo₧nostφ vklßdat do p°enßÜen²ch dat
kontrolnφ body (synchronization points, checkpoints).
P°φjemci pak umo₧≥uje, aby si na vysφlajφcφm vy₧ßdal nßvrat
k zadanΘmu kontrolnφmu bodu, a novΘ vyslßnφ t∞ch dat, kterß
le₧φ za tφmto bodem.
Nenφ ovÜem ·kolem relaΦnφ vrstvy pamatovat si p°enßÜenß
data tak, aby byl mo₧n² nßvrat k existujφcφm kontrolnφm
bod∙m. Tato data si musφ "pamatovat" sßm jejich odesilatel,
kter² slu₧eb relaΦnφ vrstvy vyu₧φvß. Aby si ale nemusel
uchovßvat zbyteΦn∞ velkΘ objemy dat, rozliÜuje relaΦnφ
vrstva dva druhy kontrolnφch bod∙ - hlavnφ (major)
a vedlejÜφ (minor). Rozdφl mezi nimi je ten, ₧e p°es
vedlejÜφ kontrolnφ bod se vracet lze, zatφmco p°es hlavnφ
kontrolnφ bod ji₧ nikoli. Pro vysφlajφcφho z toho pak
vypl²vß, ₧e si musφ "pamatovat" p°enßÜenß data jen od
poslednφho hlavnφho kontrolnφho bodu - viz obr. 36.3.
zp∞t do archivu Φlßnk∙ | rejst°φk | 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