VyÜlo v t²denφku: CHIPweek
╚φslo:31/96
Datum:30. Φervence 1996
Strana:13
Rubrika/kategorie: Principy poΦφtaΦov²ch sφtφ
Modul: Sφ¥ov² model TCP/IP
Dφl:3

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

Ji°φ Peterka

Filosofie TCP/IP (II.)

Celkovß filosofie sφ¥ovΘho modelu TCP/IP je v mnohem odliÜnß od filosofie referenΦnφho modelu ISO/OSI. Je to zp∙sobeno p°edevÜφm skuteΦnostφ, ₧e auto°i TCP/IP vychßzeli z pon∞kud jin²ch p°edpoklad∙ ne₧ auto°i ISO/OSI. Minule jsme se s t∞mito odliÜn²mi v²chozφmi p°edpoklady zaΦali seznamovat, a dosp∞li a₧ na ·rove≥ sφ¥ovΘ vrstvy. Dnes se dostaneme dßle.

Nejprve si ale p°ipome≥me hlavnφ myÜlenky a nejd∙le₧it∞jÜφ v²chozφ p°edpoklady, kterΘ se uplatnily ji₧ p°i nßvrhu ni₧Üφch vrstev TCP/IP. èlo zejmΘna o zßkladnφ princip, kter² by se dal charakterizovat sloganem äspφÜe skromnost, ne₧ bohatost", a kter² dßval p°ednost jednoduÜÜφm, snßze implementovateln²m a mnohdy i efektivn∞jÜφm °eÜenφm. V duchu tohoto principu pak auto°i TCP/IP uΦinili nßsledujφcφ rozhodnutφ:

Auto°i TCP/IP koncipovali svou sφ¥ovou vrstvu i s ohledem na fakt, ₧e protokoly TCP/IP mohou b²t nasazovßny v prost°edφ znaΦn∞ heterogennφch sφtφ, kde budou vzßjemn∞ propojeny sφt∞ pou₧φvajφcφ velmi r∙znorodΘ p°enosovΘ technologie (na ·rovni vrstvy sφ¥ovΘho rozhranφ). OvÜem sφ¥ovß vrstva bude mφt za ·kol vÜechna jejich specifika zakr²t, a vytvo°it nad nimi jednotnΘ prost°edφ a jednotnΘ p°enosovΘ slu₧by. I z tohoto d∙vodu bylo mnohem rozumn∞jÜφ vydat se p°i volb∞ koncepce sφ¥ovΘ vrstvy spφÜe cestou äminima", spoleΦnΘho pro vÜechny.

Transportnφ vrstva: a¥ si ka₧d² vybere

Kdy₧ se auto°i TCP/IP rozhodli koncipovat sφ¥ovou vrstvu jako nespolehlivou, vychßzeli takΘ z p°edpokladu, ₧e zajiÜt∞nφ spolehlivosti by m∞lo b²t spφÜe zßle₧itostφ koncov²ch uzl∙ (ne₧ p°enosovΘ Φßsti sφt∞), a ₧e by se tedy m∞lo odehrßvat na ·rovni vyÜÜφch vrstev ne₧ je vrstva sφ¥ovß - kterß musφ b²t implementovßna ve vÜech Φßstech p°enosovΘ sφt∞, zatφmco vyÜÜφ vrstvy se nachßzφ ji₧ jen v koncov²ch uzlech. Jako hlavnφ kandidßt na implementovßnφ pot°ebn²ch mechanism∙ pro zajiÜt∞nφ spolehlivosti se samoz°ejm∞ nabφzela hned dalÜφ, bezprost°edn∞ vyÜÜφ vrstva nad vrstvou sφ¥ovou, tedy vrstva transportnφ. Ale bylo by rozumnΘ to tak skuteΦn∞ ud∞lat, tedy zabudovat mechanismy pro zajiÜt∞nφ spolehlivosti äna pevno" do transportnφ vrstvy, tak aby je m∞ly k dispozici vÜechny aplikace?

Auto°i TCP/IP dosp∞li k zßv∞ru, ₧e by to nebylo zcela optimßlnφ, a to z nßsledujφcφho d∙vodu: i aplikace jsou dosti r∙znorodΘ, a mohou mφt r∙znorodΘ po₧adavky na p°enosovΘ slu₧by. N∞kterΘ budou spolehlivost skuteΦn∞ po₧adovat, zatφmco jinΘ aplikace dajφ p°ednost rychlejÜφmu a pravideln∞jÜφmu p°enosu dat p°ed spolehlivostφ p°enosu (proto₧e fungovßnφ mechanism∙ pro zajiÜt∞nφ spolehlivosti zp∙sobuje celkovΘ zpomalenφ a zavßdφ nerovnom∞rnosti v doruΦovßnφ dat). Pro p°φklady takov²chto aplikacφ nenφ nutnΘ chodit daleko - nap°φklad p°i p°enosu zvuku Φi obrazu nejsou p°φpadnΘ chyby v p°enesen²ch datech tak bolestivΘ, jako p°φpadnß nerovnom∞rnost v jejich doruΦovßnφ. Nap°φklad lidskΘ oko v∞tÜinou ani nepost°ehne drobn² äkaz" v n∞kterΘm ze snφmk∙ b∞₧φcφho filmu, ale okam₧it∞ by post°ehlo kolφsßnφ rychlosti filmu (tj. nepravidelnosti ve st°φdßnφ jednotliv²ch snφmk∙).

Pohybnosti v∙Φi zavedenφ spolehlivosti do transportnφ vrstvy vÜak mohou mφt i diametrßln∞ odliÜnou motivaci - pro n∞kterΘ aplikace nemusφ b²t spolehlivost, realizovanß na ·rovni transportnφ vrstvy, dostateΦnß a adekvßtnφ jejich pot°ebßm. Zde je t°eba si uv∞domit, ₧e mechanismy zajiÜ¥ujφcφ spolehlivost nemohou mφt nikdy absolutnφ ·Φinnost a efektivnost, proto₧e absolutn∞ ·ΦinnΘ a efektivnφ nejsou ani mechanismy detekce chyb (umo₧≥ujφcφ v∙bec rozpoznat, ₧e k n∞jakΘ chyb∞ doÜlo). Proto ka₧dß spolehlivost je v₧dy relativnφ. M∙₧e se sice dosti t∞sn∞ blφ₧it absolutnφ hranici 100%, ale nikdy se k nφ fakticky nedostane. V praxi by se pak mohlo stßt, ₧e transportnφ vrstva by sice zajiÜ¥ovala spolehlivost p°enosu, ale pro urΦitou aplikaci ne dostateΦnou, a tato aplikace by si proto musela zajiÜ¥ovat pot°ebnou mφru spolehlivosti sama a znovu. Pak by ale bylo zbyteΦnΘ a neefektivnφ, aby spolehlivost zajiÜ¥ovala souΦasn∞ i vrstva transportnφ.l

Jak² je ale celkov² zßv∞r? Mß transportnφ vrstva zajiÜ¥ovat spolehlivost, nebo naopak nemß? Auto°i TCP/IP vy°eÜili toto dilema skuteΦn∞ Üalamounsky: odpov∞d∞li souΦasn∞ äano" i äne". Ud∞lali to tak, ₧e pro svou transportnφ vrstvu navrhli dv∞ alternativy, resp. dva hlavnφ transportnφ protokoly - z nich₧ jeden (protokol TCP, Transport Control Protocol) zajiÜ¥uje urΦitou mφru spolehlivosti a druh² (protokol UDP, User Datagram Protocol) nikoli. VyÜÜφ vrstvy si pak mohou samy vybrat, kter² z t∞chto transportnφch protokol∙ budou vyu₧φvat.

Jednou pro vÜechny, nebo pro ka₧dΘho znovu?

Obrßzek 1.
Srovnßnφ vrstev TCP/IP a ISO/OSI
Jakmile se auto°i TCP/IP zdßrn∞ vyrovnali s dilematem transportnφ vrstvy, Φekalo na n∞ dalÜφ zßva₧nΘ rozhodnutφ. Tentokrßte se t²kalo slu₧eb, kterΘ jsme si p°i popisu referenΦnφho modelu ISO/OSI charakterizovali jako äpodp∙rnΘ" pro jednotlivΘ aplikace - tedy nap°φklad slu₧eb zajiÜ¥ujφcφch konverze p°enßÜen²ch dat, korektnφ pr∙b∞h relacφ apod. Otßzka p°itom nezn∞la tak, zda tyto slu₧by majφ Φi nemajφ smysl. èlo spφÜe o Φetnost po₧adavk∙ na jejich vyu₧itφ, a v nßvaznosti na tom o nejvhodn∞jÜφ zp∙sob jejich implementace.

Auto°i referenΦnφho modelu ve stejnΘ situaci dosp∞li k zßv∞ru, ₧e slu₧by tohoto typu budou pot°ebovat vÜechny aplikace, a tak se rozhodli implementovat je takov²m zp∙sobem, aby je m∞ly vÜechny aplikace k dispozici - a vyhradili pro n∞ samostatnΘ vrstvy. To pak ale mj. znamenalo, ₧e i re₧ii spojenou s implementacφ t∞chto slu₧eb musely nΘst op∞t vÜechny aplikace, vΦetn∞ t∞ch kterΘ podp∙rnΘ slu₧by nepo₧adujφ a nevyu₧φvajφ.

Auto°i TCP/IP dosp∞li p°i stejnΘm rozhodovßnφ k opaΦnΘmu zßv∞ru - k p°esv∞dΦenφ, ₧e po₧adavky na podp∙rnΘ slu₧by budou spφÜe mΘn∞ ΦastΘ, a ₧e naopak budou p°eva₧ovat aplikace kterΘ tyto slu₧by vyu₧φvat nebudou. Pak jim ale takΘ vyÜlo, ₧e nenφ moc rozumnΘ implementovat zmφn∞nΘ podp∙rnΘ funkce v samostatn²ch vrstvßch, spoleΦn∞ pro vÜechny aplikace - nech¥ si je implementuje a₧ ta aplikace, kterß je skuteΦn∞ pot°ebuje, a to vlastnφmi silami. No a to je takΘ d∙vod, proΦ TCP/IP na rozdφl od ISO/OSI nemß ani relaΦnφ, ani prezentaΦnφ vrstvu.


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