VyÜlo v t²denφku: CHIPweek
╚φslo:18/95
Datum:30. srpna 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

Protocol stack

Jednφm z nejv∞tÜφch jazykov²ch o°φÜk∙ je pro p°ekladatele i pro autory p∙vodnφch Φesk²ch odborn²ch text∙ vhodn² p°eklad anglickΘho "protocol stack". O co vlastn∞ jde?

Je notoricky znßmΘ, ₧e poΦφtaΦovΘ sφt∞ si libujφ ve vrstvßch - p°edstavy o tom, kolik by jich m∞lo sprßvn∞ b²t, se sice r∙znφ, ale v₧dy se v souvislosti se sφt∞mi, jejich funkcemi i konkrΘtnφ implementacφ s urΦit²m poΦtem vrstev setkßte. D∙vodem je skuteΦnost, kterou lidΘ pochopili u₧ velmi dßvno, kdy₧ o poΦφtaΦφch a poΦφtaΦov²ch sφtφch nem∞li jeÜt∞ ani tuÜenφ - toti₧ ₧e jeden velk² problΘm se vyplatφ rozd∞lit na n∞kolik menÜφch, snßze °eÜiteln²ch problΘm∙.

V konkrΘtnφm p°φpad∞ poΦφtaΦov²ch sφtφ se pak k tΘto motivaci p°idßvß jeÜt∞ dalÜφ v²znamnß motivace: p°i vhodnΘm rozd∞lenφ sφ¥ov²ch funkcφ do jednotliv²ch vrstev a p°i vhodnΘm nßvrhu rozhranφ mezi jednotliv²mi vrstvami nemusφ b²t konkrΘtnφ zp∙sob napln∞nφ funkcφ jednΘ vrstvy zßvisl² na zp∙sobu napln∞nφ funkcφ jinΘ vrstvy. Jin²mi slovy: zm∞na konkrΘtnφ implementace jednΘ vrstvy nemusφ vyvolat pot°ebu zm∞ny v jinΘ vrstv∞. U₧ tuÜφte ty bßjeΦnΘ d∙sledky? Nap°φklad vaÜφm zprßvßm v rßmci elektronickΘ poÜty m∙₧e b²t srdeΦn∞ jedno, zda "b∞hajφ" tu po kusu kovovΘho drßtu, tu po optickΘm vlßkn∞, Φi zda se Üφ°φ Θterem po mikrovlnnΘm spoji, Φi dokonce p°eskakujφ mezi Zemφ a kolem nφ obφhajφcφ dru₧icφ.

Po°ßdek ovÜem musφ b²t, a tak ka₧dß jednotlivß vrstva musφ mφt p°esn∞ definovßno, co p°esn∞ mß zajistit. OvÜem jak konkrΘtn∞ toho dosßhne, to u₧ pak zßle₧φ na nφ - p°esn∞ji na "pravidlech hry", kterß jsou formßln∞ specifikovßny jako tzv. protokoly. Co jeden konkrΘtnφ zp∙sob napln∞nφ funkcφ urΦitΘ vrstvy, to jeden protokol.

Pro ka₧du jednotlivou vrstvu tedy mohou (ale nemusφ) existovat alternativnφ zp∙soby napln∞nφ jejφch funkcφ, resp. alternativnφ protokoly. Nap°φklad na nejni₧Üφ ·rovni (na ·rovni nejni₧Üφ vrstvy) se samoz°ejm∞ liÜφ konkrΘtnφ p°enosovΘ protokoly, urΦenΘ pro optickß vlßkna, kroucenou dvoulinku, koaxißlnφ kabel a jinß p°enosovß mΘdia. N∞kdy je ale jedna vrstva "obydlena" i vφce protokoly, kterΘ nejsou vzßjemn∞ alternativnφ, ale ka₧d² z nich implementuje urΦitou Φßst funkcφ, po₧adovan²ch po danΘ vrstv∞. Nap°φklad o jednu Φi dv∞ vrstvy v²Üe (nad nejni₧Üφ vrstvou) m∙₧e mφt jeden protokol na starosti vlastnφ p°enos cel²ch blok∙ dat (paket∙), zatφmco jin² protokol mß na ·rovni tΘ₧e vrstvy na starosti Üφ°enφ informacφ o tom, kudy vede jakΘ cesta, a kudy je tedy t°eba zmφn∞nΘ bloky dat p°enßÜet, aby se dostaly ke svΘmu cφli.

V praxi je tedy v₧dy nutnΘ implementovat tolik protokol∙, kolik je t°eba pro pokrytφ funkcφ vÜech uva₧ovan²ch vrstev - pokud jsou n∞kterΘ z t∞chto protokol∙ na ·rovni urΦitΘ vrstvy vzßjemn∞ alternativnφ, staΦφ implementovat jen jeden z nich. Nejsou-li vzßjemn∞ alternativnφ, musφ b²t imlementovßny vÜechny tak, aby byly pokryty vÜechny funkce p°φsluÜnΘ vrstvy. No a kdy₧ se tak stane, vznikß to, Φemu se v angliΦtin∞ °φkß "protocol stack".

Ka₧d² "protocol stack" je v₧dy p°φsluÜn² jednΘ konkrΘtnφ sφ¥ovΘ architektu°e, neboli jednΘ ucelenΘ p°edstav∞ o tom, kolik mß b²t vrstev, a co mß kterß d∞lat. P°φkladem m∙₧e b²t architektura TCP/IP, jejφ₧ konkrΘtnφ implementace pak p°edstavuje tzv. "TCP/IP protocol stack". Podobn∞ firma Novell si prosadila vlastnφ p°edstavu a vyvinula vlastnφ sadu protokol∙ (mj. IPX a SPX), kterß pak nachßzφ svΘ konkrΘtnφ napln∞nφ v podob∞ tzv. "protocol stack-u IPX/SPX". JeÜt∞ jin² "protocol stack" pak m∙₧e p°edstavovat implementace protokol∙ NETBIOS a NETBEUI atd.

Po praktickΘ strßnce je jist∞ zajφmavß skuteΦnost, ₧e na jednom poΦφtaΦi m∙₧e vedle sebe koexistovat i n∞kolik r∙zn²ch "protocol stack-∙" - pokud jsou vhodn∞ napsßny a nesna₧φ se chovat monopolisticky (a urvat vÜechno jen pro sebe). Dφky tomu pak jeden a tent²₧ poΦφtaΦ m∙₧e souΦasn∞ spolupracovat s Unixov²mi poΦφtaΦi i se serverem Novell NetWare, serverem Windows For Workgroups Φi Windows NT apod.

Vra¥me se ale nynφ zp∞t k jazykovΘmu aspektu: jak sprßvn∞ p°eklßdat anglickΘ "protocol stack"? JednoznaΦnΘ doporuΦenφ z°ejm∞ neexistuje. Doslovn² p°eklad "protokolov² zßsobnφk" nenφ moc Üikovn² a u₧φvan², nehled∞ ji₧ na skuteΦnost, ₧e nemusφ v₧dy jφt o p°φsn∞ hierarchickΘ uspo°ßdßnφ protokol∙. V∞cn∞ sprßvn∞jÜφ by asi byl p°eklad ve smyslu "sestava protokol∙", ale ani to nenφ zdaleka optimßlnφ. Nemßte n∞kdo lepÜφ nßpad?


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