VyÜlo v t²denφku: | CHIPweek |
╚φslo: | 33/96 |
Datum: | 13. srpna 1996 |
Strana: | 13 |
Rubrika/kategorie: | Principy poΦφtaΦov²ch sφtφ |
Modul: | Sφ¥ov² model TCP/IP |
Dφl: | 5 |
Nabφdka aplikaΦnφch protokol∙ v rßmci TCP/IP je opravdu bohatß, a neustßle se rozÜi°uje. Vedle dnes ji₧ äklasick²ch" aplikacφ, jako je vzdßlenΘ p°ihlaÜovßnφ, p°enos soubor∙ Φi elektronickß poÜta, se toti₧ zaΦφnajφ prosazovat i slu₧by zcela novΘ, a pro jejich fungovßnφ jsou samoz°ejm∞ nezbytnΘ i zcela novΘ protokoly. ZaΦn∞me ale od poΦßtku, aplikaΦnφmi protokoly kterΘ byly souΦßstφ TCP/IP od ·plnΘho zaΦßtku (a n∞kdy majφ dokonce jeÜt∞ starÜφ ko°eny ne₧ samotnß rodina protokol∙ TCP/IP).
Pot°eba vzdßlenΘho p°ihlaÜovßnφ (anglicky: remote login) je v rßmci TCP/IP °eÜena protokolem Telnet. Ten se v souladu s celkovou filosofiφ TCP/IP sna₧φ spφÜe o jednoduchost, univerzßlnost a minimßlnφ vazbu na okolnφ systΘmovΘ prost°edφ, tak aby umo₧nil vzßjemnou spoluprßci (formou vzdßlenΘho p°ihlaÜovßnφ) i dosti odliÜn²m platformßm. Prost°ednictvφm Telnetu se nap°φklad m∙₧ete p°ihlßsit k UnixovskΘmu poΦφtaΦi, p°iΦem₧ vßÜ poΦφtaΦ, vystupujφcφ v roli vzdßlenΘho terminßlu, m∙₧e b²t velmi jednoduch²m PC s MS DOSem, v²konn∞jÜφm PC s MS Windows, nebo znovu Unixovsk²m poΦφtaΦem Φi n∞Φφm jeÜt∞ ·pln∞ jin²m. Stejn∞ tak dob°e se ale m∙₧ete p°ihlßsit (prost°ednictvφm Telnetu) t°eba k sßlovΘmu poΦφtaΦi, k poΦφtaΦi VAX apod. D∙le₧itΘ je to, aby systΘmovΘ prost°edφ vzdßlenΘho poΦφtaΦe podporovalo terminßlovΘ relace a vzdßlenΘ p°ihlaÜovßnφ prost°ednictvφm Telnetu (aby zde byl implementovßn tzv. Telnet dΘmon) - co₧ t°eba Unix b∞₧n∞ Φinφ, ale nap°φklad MS Windows (vΦetn∞ Windows NT) nikoli.
Podstatn²m rysem protokolu Telnet je jeho rozÜi°itelnost - na schopnosti obou komunikujφcφch stran se zcela zßm∞rn∞ sna₧φ klßst co mo₧nß nejmenÜφ nßroky, tak aby Üanci m∞l i velmi ähloup²" (tj. jednoduch²) klient. Pokud ale proti sob∞ stojφ dva uzly s dokonalejÜφmi schopnostmi, mohou se vzßjemn∞ dohodnout na jejich pou₧φvßnφ. P°φkladem m∙₧e b²t vztah k p°enosu jednotliv²ch znak∙ v rßmci sedmi Φi osmi bit∙ - Telnet standardn∞ poΦφtß s tφm, ₧e jednotlivΘ znaky jsou p°enßÜeny jako sedmibitovΘ (co₧ mj. Φinφ znaΦnΘ problΘmy ΦeskΘ diakritice). Pokud ale ob∞ komunikujφcφ strany dokß₧φ pracovat s osmibitov²mi znaky, mohou se dohodnout na zm∞n∞, a p°edßvat si osmibitovΘ znaky.
Pro p°enos soubor∙ je v rodin∞ protokol∙ TCP/IP urΦen protokol FTP (File Transfer Protocol). Jeho koncepce je pom∞rn∞ starΘho data (dokonce starÜφ ne₧ samotnΘ TCP/IP), a pamatuje jeÜt∞ na n∞kterΘ skuteΦnosti, kterΘ jsou dnes ji₧ dosti äpasΘ" - nap°φklad na rozdφlnΘ velikosti byt∙ na obou stranßch p°enosu. P°esto se ale protokol FTP s ·sp∞chem pou₧φvß dodnes, pro p°enos cel²ch soubor∙ mezi dv∞ma uzlov²mi poΦφtaΦi sφt∞, nap°φklad pro ästahovßnφ" soubor∙ z nejr∙zn∞jÜφch anonymnφch FTP archiv∙ (kterΘ byly podle protokolu FTP dokonce pojmenovßny).
Jednou z d∙le₧it²ch vlastnostφ protokolu FTP je jeho pov∞domφ o u₧ivatelφch, adresß°φch a p°φstupov²ch prßvech: u₧ivatel, kter² chce prost°ednictvφm protokolu FTP odn∞kud n∞kam p°enßÜet n∞jakΘ soubory, se musφ vzdßlenΘ stran∞ nejprve identifikovat (p°ihlßsit se, pod urΦit²m u₧ivatelsk²m jmΘnem), a svou identitu prokßzat (zadßnφm sprßvnΘho hesla). Vzdßlenß strana pak mß podle Φeho posuzovat oprßvn∞nost po₧adavk∙ na p°φstup ke konkrΘtnφm soubor∙m. P°i p°enosu soubor∙ prost°ednictvφm protokolu FTP je tedy mo₧nΘ realizovat nejr∙zn∞jÜφ p°φstupovΘ strategie.
ObdobnΘ vlastnosti naopak postrßdß dalÜφ protokol, kter² je v rodin∞ protokol∙ TCP/IP urΦen takΘ p°enos soubor∙. Jde o protokol TFTP, neboli Trivial File Transfer Protocol. Jak ji₧ jeho nßzev napovφdß, jde o zjednoduÜenou obdobu protokolu FTP, ochuzenou prßv∞ o pojmy u₧ivatele, p°φstupov²ch prßv, a dokonce i o pojem aktußlnφho adresß°e. Chcete-li odn∞kud n∞kam p°enΘst soubor prost°ednictvφm protokolu TFTP, musφte v₧dy explicitn∞ zadat ·plnou p°φstupovou cestu k po₧adovanΘmu souboru (a nelze nap°φklad pou₧φt p°φstupovou cestu relativnφ, vzta₧enou k aktußlnφmu adresß°i). Oprßvn∞nost vaÜeho po₧adavku navφc nenφ podle Φeho posuzovat (jeliko₧ TFTP neznß pojem u₧ivatele), a je proto ponechßno na konkrΘtnφ implementaci, jak se k n∞mu druhß strana zachovß. V∞tÜinou vßm vyhovφ kladn∞ pouze v p°φpad∞, kdy po₧adovan² soubor je b∞₧n∞ p°φstupn² pro vÜechny u₧ivatele. V praxi je protokol TFTP pou₧φvßn zejmΘna bezdiskov²mi stanicemi k tomu, aby si z p°φsluÜnΘho serveru änatßhly" sv∙j operaΦnφ systΘm (ve form∞ tzv. bootovacφho image).
Zßkladnφ koncepce elektronickΘ poÜty je v rßmci rodiny protokol∙ TCP/IP definovßna jednak protokolem SMTP (Simple Mail Transfer Protocol), a jednak standardem RFC821. Tento standard definuje formßt zprßv, p°enßÜen²ch elektronickou poÜtou, do Φeho₧ spadß mj. i zp∙sob adresovßnφ a formßt adres (proto se v tΘto souvislosti hovo°φ i o adresovßnφ ß la RFC821). Protokol SMTP se pak t²kß konkrΘtnφho zp∙sobu p°enosu jednotliv²ch zprßv mezi poÜtovnφmi servery.
D∙le₧itou vlastnostφ elektronickΘ poÜty, definovanΘ standardem RFC821 a protokolem SMTP (a oznaΦovanΘ obvykle jako tzv. SMTP poÜta) , je orientace na p°enos Φist∞ textov²ch zprßv tvo°en²ch sedmibitov²mi znaky (tzv. Φist²mi ASCII znaky). AΦkoli p°enosovΘ cesty obvykle dokß₧φ p°enßÜet osmibitovΘ znaky a mnohΘ implementace SMTP poÜty s nimi dokß₧φ pracovat, obecn∞ to zaruΦeno nenφ. Pak staΦφ jedinΘ äsedmibitovΘ ·zkΘ hrdlo" v celΘm p°enosovΘm °et∞zci, aby z obsahu p∙vodn∞ osmibitovΘ zprßvy zbylo jen hodn∞ mßlo jejφho p∙vodnφho obsahu.
LidΘ ale pot°ebujφ p°enßÜet prost°ednictvφm elektronickΘ poÜty v prost°edφ TCP/IP (tj. prost°ednictvφm tzv. SMTP poÜty) i takovΘ v∞ci, kterΘ nemajφ charakter Φist∞ textov²ch zprßv, tvo°en²ch pouze sedmibitov²mi znaky. Nap°φklad binßrnφ (datovΘ) soubor, programy, ale takΘ formßtovanΘ texty, texty s nßrodnφch abecedßch apod. Jeliko₧ ale p°enosov² mechanismus el. poÜty garantuje korektnφ p°enos pouze pro sedmibitovΘ znaky, musφ b²t vÜe ostatnφ pro pot°eby p°enosu zak≤dovßno prßv∞ do tΘto podoby (tj. do podoby posloupnosti sedmibitov²ch znak∙).
Pokud se vÜechny komunikujφcφ strany sprßvn∞ dohodnou, je v zßsad∞ jedno, jakΘ konkrΘtnφ k≤dovßnφ pou₧ijφ. V praxi se pak nejvφce ujalo tzv. uuencodovßnφ, pochßzejφcφ jeÜt∞ z doby existence protokol∙ UUCP (Unix-to-Unix Copy Protocol). To se sice stalo jist²m nepsan²m standardem, kter² dokß₧e vyhov∞t pot°ebßm p°enosu jednotliv²ch netextov²ch p°φloh k textov²m zprßvßm, ale stßle jeÜt∞ nejde o systematick² p°φstup, kter² by v∞c °eÜil zßsadnφm zp∙sobem, formou vÜeobecn∞ uznßvanΘho a akceptovanΘho standardu. To d∞lß a₧ nov∞jÜφ standard MIME (Multipurpose Internet Mail Extensions), kter² lze chßpat jako rozÜφ°enφ p∙vodnφ koncepce elektronickΘ poÜty. Jak u₧ nßzev tohoto standardu napovφdß, poΦφtß s existencφ nejr∙zn∞jÜφch formßt∙ vΦetn∞ multimedißlnφch, a Φinφ z elektronickΘ poÜty dosti univerzßlnφ p°enosov² kanßl.
Standard MIME v zßsad∞ definuje t°i v∞ci:
Jak uvidφme pozd∞ji, n∞kterΘ mechanismy a konvence standardu MIME se pou₧φvajφ i jinde, ne₧ jen v elektronickΘ poÜt∞ - nap°φklad kdy₧ WWW server posφlß svΘmu klientovi (browseru) n∞jakß data, musφ k nim p°ipojit takΘ informaci o typu t∞chto dat. A prßv∞ k tomu pou₧φvß konvence standardu MIME (tzv. MIME type).
Standard MIME je jednφm z nov∞jÜφch p°φr∙stk∙ ve sv∞t∞ TCP/IP, a je motivovßn p°edevÜφm soudob²m rozvojem Internetu a pot°ebami jeho u₧ivatel∙. Stejn²m d∙vod∙m vd∞Φφ za sv∙j vznik i dalÜφ protokoly, kterΘ jeÜt∞ takΘ souvisφ s elektronickou poÜtou. Jde nap°φklad o celou skupinu protokol∙, kterΘ dovolujφ vzdßlen²m u₧ivatel∙m (nejΦast∞ji s p°ipojenφm komutovan²mi linkami ve°ejnΘ telefonnφ sφt∞) stahovat si jejich elektronickou poÜtu z poÜtovnφch server∙, na kterΘ jim jejich poÜta dochßzφ. V souΦasnΘ dob∞ je k tomuto ·Φelu nejvφce pou₧φvßn protokol POP (Post Office Protocol) verze 3. P∙vodnφ protokol SMTP nenφ k tomuto ·Φelu pou₧iteln² proto, ₧e p°edpoklßdß trvalou existenci spojenφ, a pak takΘ proto, ₧e nedovoluje ov∞°it identitu u₧ivatele, kter² by si jeho prost°ednictvφm stahoval svou poÜtu.