VyÜlo v t²denφku: CHIPweek
╚φslo:25/95
Datum:18. °φjna 1995
Strana:33
Rubrika/kategorie: Co to znamenß, kdy₧ se °ekne ...

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

Ji°φ Peterka

Spolehliv² a nespolehliv² p°enos

SkuteΦnost, ₧e p°i nejr∙zn∞jÜφch p°enosech dat m∙₧e dochßzet k chybßm, asi nenφ t°eba zd∙raz≥ovat. Povφdali jsme si o tom ji₧ v minulΘm a p°edminulΘm vydßnφ tΘto rubriky, kdy jsme se zab²vali mo₧nostmi rozpoznat, ₧e k n∞jakΘ chyb∞ v∙bec doÜlo - konkrΘtn∞ se jednalo o tzv. detekΦnφ k≤dy, kterΘ majφ za ·kol odpov∞d∞t na otßzku äJsou p°enesenß data poÜkozenß, nebo nikoli?". NaznaΦili jsme si takΘ, ₧e odpov∞∩ poskytovanß detekΦnφmi k≤dy nenφ nikdy absolutn∞ spolehlivß, proto₧e ka₧dΘmu detekΦnφmu k≤du m∙₧e än∞co uniknout". NejlΘpe jsou na tom ale tzv. CRC k≤dy, jejich₧ spolehlivost se ideßlnφmu stavu blφ₧φ nejvφce.

Velmi zajφmavou otßzkou je ale to, jak mß b²t vyu₧it verdikt, kter² nad p°ijat²mi daty vynese pou₧it² detekΦnφ k≤d. Neboli jak se mß zachovat p°φjemce, kdy₧ zjistφ ₧e p°ijal poÜkozenß data?

V prvnφm okam₧iku asi nejspφÜe ka₧dΘho napadne, ₧e by bylo vhodnΘ se postarat o nßpravu. Tedy oznßmit odesilateli, ₧e jφm vyslanß data doÜla poÜkozenß, a po₧ßdat jej o opakovßnφ p°enosu. Podmφnkou k tomu je samoz°ejm∞ mo₧nost zp∞tnΘ komunikace, neboli existence vhodnΘho p°enosovΘho kanßlu pro p°enos od p°φjemce dat sm∞rem k jejich p∙vodnφmu odesilateli. Krom∞ n∞kter²ch, spφÜe singulßrnφch p°φpad∙ (jako nap°φklad komunikace pozemnφho st°ediska se vzdßlenou dru₧icφ) mo₧nost zp∞tnΘ vazby v∞tÜinou existuje, a tak se p°φjemce poÜkozen²ch dat mß mo₧nost obrßtit na odesilatele a vynutit si opakovßnφ p°enosu. O konkrΘtnφch metodßch a postupech, kterΘ p°itom p°ipadajφ v ·vahu, si vÜak budeme povφdat a₧ p°φÜt∞. Dnes se toti₧ zamyslφme spφÜe nad n∞Φφm jin²m: je v∙bec nutnΘ, aby se p°φjemce poÜkozen²ch dat staral o nßpravu?

Za tφmto zdßnliv∞ paradoxnφm dotazem stojφ dv∞ d∙le₧itΘ skuteΦnosti, kterΘ je vhodnΘ si uv∞domit. Za prvΘ: poΦφtaΦovΘ sφt∞ jsou realizovßny hierarchick²m zp∙sobem, a jejich implementace je Φlen∞na na vrstvy. Kontrola nepoÜkozenosti p°ijat²ch dat se d∞lß obecn∞ na ka₧dΘ vrstv∞. Mß se ale ka₧dß z t∞chto vrstev sna₧it o nßpravu, kdy₧ usoudφ ₧e k poÜkozenφ doÜlo? A te∩ ten druh² aspekt: vy₧ßdat si nßpravu n∞co stojφ - jednak to trvß urΦit² Φas, a jednak to spot°ebovßvß urΦitou p°enosovou kapacitu. Navφc je dobrΘ si znovu uv∞domit, ₧e i samotnΘ detekΦnφ mechanismy, kterΘ majφ upozornit na chybu, nejsou stoprocentn∞ spolehlivΘ. Mohlo by tedy dojφt nap°φklad i k takovΘ situaci, kdy by se jedna vrstva sna₧ila v₧dy postarat o nßpravu, by¥ za cenu celkovΘho zpomalenφ a v∞tÜφ äspot°eby" p°enosovΘ kapacity, ale pro bezprost°edn∞ nad°azenou vrstvu by to nebylo dostateΦnΘ - kdyby tato vyÜÜφ vrstva m∞la p°φsn∞jÜφ po₧adavky na bezchybnost p°enosu, ne₧ jakΘ dokß₧e zajistit ni₧Üφ vrstva, musela by si veÜkerou agendu kolem jejφho zajiÜt∞nφ realizovat znovu a sama. Mß pak ale v∙bec cenu, aby se o zjednßnφ nßpravy sna₧ila souΦasn∞ i ni₧Üφ vrstva? Nebylo by v²hodn∞jÜφ, aby ni₧Üφ vrstva rad∞ji fungovala co mo₧nß nejrychleji, by¥ za cenu ignorovßnφ p°φpadn²ch chyb, a o nßpravu starala a₧ ta vyÜÜφ vrstva, kterß bezchybovost p°enosu skuteΦn∞ pot°ebuje?

Situace, kdy urΦitß vrstva se chßpe jako svou povinnost postarat se o nßpravu p°φpadn²ch chyb p°i p°enosu, odpovφdß tzv. spolehlivΘmu p°enosu (reliable transfer). OpaΦnß situace, kdy danß vrstva sice detekuje p°φpadnΘ chyby, ale p°i jejich v²skytu nemß povinnost se postarat o nßpravu, odpovφdß tzv. nespolehlivΘmu p°enosu.

Pro sprßvnΘ pochopenφ rozdφlu mezi ob∞ma variantami je vhodnΘ si zd∙raznit, ₧e ani äspolehliv² p°enos" nenφ nikdy stoprocentn∞ spolehliv², proto₧e stoprocentn∞ spolehlivΘ nejsou ji₧ ony detekΦnφ mechanismy, kterΘ majφ za ·kol chybu rozpoznat. Na druhΘ stran∞ p°φvlastek änespolehliv²" u nespolehlivΘho p°enosu rozhodn∞ neznamenß, ₧e by zde n∞kterß ze z·Φastn∞n²m stran samovoln∞ a z vlastnφ iniciativy niΦila p°enßÜenß data - nespolehlivost je t°eba chßpat v tom smyslu, ₧e p°φjemce se sice sna₧φ zajistit bechybn² p°enos, ale kdy₧ se mu to nepoda°φ a k n∞jakΘ chyb∞ p°eci jen dojde, nepova₧uje za svou povinnost postarat se o nßpravu. PoÜkozenß data jednoduÜe zahodφ a poΦφtß s tφm, ₧e o nßpravu se postarß n∞kdo jin².

Nßzor na volbu mezi nespolehliv²m a spolehliv²m p°enosem se dosti r∙znφ. Nap°φklad ve sv∞t∞ TCP/IP m∞l od zaΦßtku navrch pragmatick² p°φstup, zalo₧en² na jednoduchosti a maximßlnφ mo₧nΘ rychlosti ni₧Üφch p°enosov²ch vrstev. V rßmci TCP/IP se proto od ni₧Üφch vrstev po₧aduje pouze nespolehliv² p°enos, s tφm ₧e spolehlivost je zajiÜ¥ovßna a₧ na vyÜÜφch vrstvßch (a jeÜt∞ jen pro takovΘ aplikace, kterΘ ji skuteΦn∞ vy₧adujφ). Naproti tomu ve sv∞t∞ tzv. referenΦnφho modelu ISO/OSI je dßvßna p°ednost tomu, aby se spolehlivost zajiÜ¥ovala znovu na ka₧dΘ vrstv∞, resp. aby se o nßpravu chyby postaral ji₧ ten, kdo ji zjistφ jako prvnφ.


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