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 (81):
Elektronickß poÜta II.
V minulΘm dφlu jsme se zaΦali zab²vat problematikou
elektronickΘ poÜty z u₧ivatelskΘho pohledu. NaznaΦili jsme
si, jak² je vztah mezi u₧ivateli a poÜtovnφmi schrßnkami,
a co vlastn∞ specifikujφ adresy, pou₧φvanΘ v rßmci
elektronickΘ poÜty. Dnes si ji₧ °ekneme n∞co o tom, jak b²vß
elektronickß poÜta implementovßna.
![Obrßzek 81.1.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t409c111.gif) |
Obr. 81.1.: Komponenty systΘm∙ elektronickΘ poÜty (v terminologii standardu X.400)
Pro sprßvnΘ pochopenφ podstaty a mo₧nostφ elektronickΘ
poÜty je velmi podstatnΘ uv∞domit si nßsledujφcφ skuteΦnost:
elektronickß poÜta nenφ tΘm∞° nikdy zajiÜ¥ovßna jednφm
jedin²m programem - prakticky v₧dy jde o spoluprßci vφce
program∙ (aplikacφ, proces∙, ·loh), kterΘ jsou r∙zn²m
zp∙sobem specializovßny: n∞kterΘ z nich se starajφ pouze
o vlastnφ p°enos zprßv (a p°ed u₧ivatelem z∙stßvajφ obvykle
skryty), zatφmco jinΘ zase v∞dom∞ "nastavujφ svou tvß°"
koncovΘmu u₧ivateli, umo₧≥ujφ mu Φφst doÜlΘ zprßvy, vytvß°et
Φi editovat novΘ zprßvy apod., ale kdy₧ majφ n∞jakou zprßvu
skuteΦn∞ odeslat, pouze ji p°edajφ tomu programu, kter² mß
jejich p°enos na starosti.
Prßv∞ naznaΦenou d∞lbu prßce ilustruje obrßzek 81.1.:
cel² komplex program∙, kterΘ ve svΘ vzßjemnΘ souΦinnosti
zajiÜ¥ujφ u₧ivatel∙m slu₧by elektronickΘ poÜty, se obecn∞
oznaΦuje jako Electronic Mail System, n∞kdy tΘ₧: Message
Handling System (MHS). Jeho komponenty se d∞lφ do dvou
hlavnφch skupin: na tzv. u₧ivatelskΘ slo₧ky (User Agent,
UA), a p°enosovΘ slo₧ky (Message Transfer Agent, MTA).
P°enosovΘ slo₧ky a systΘmy p°enosu zprßv
P°enosovΘ slo₧ky (Message Transfer Agents) jsou t∞my,
kterΘ majφ na starosti vlastnφ p°enos zprßv. Jejich obsahu
si nevÜφmajφ (krom∞ p°φpad∙, kdy zajiÜ¥ujφ jejich
automatickou konverzi z jednoho znakovΘho k≤du do druhΘho)
- zajφmß je p°edevÜφm adresa p°φjemce, podle kterΘ zprßvu
doruΦujφ. P°enosovΘ slo₧ky, kterΘ jsou provozovßny na
jednotliv²ch uzlov²ch poΦφtaΦφch, p°itom musφ vzßjemn∞
spolupracovat (p°edßvat si zprßvy mezi sebou). To ovÜem
znamenß, ₧e musφ "hovo°it stejnou °eΦφ" - tedy pou₧φvat
stejnΘ protokoly pro p°enos zprßv, stejnΘ konvence pro
adresovßnφ atd.
Vzßjemn∞ spolupracujφcφ p°enosovΘ slo₧ky, provozovanΘ
na jednotliv²ch uzlov²ch poΦφtaΦφch, vytvß°φ dohromady
systΘm p°enosu zprßv (tΘ₧: Message Transfer System (MTS)).
V rßmci n∞j se pou₧φvajφ jednotnΘ konvence a protokoly,
specifickΘ pro konkrΘtnφ "poÜtovnφ systΘm" - svΘ vlastnφ
konvence a protokoly p°enosu zprßv majφ nap°φklad r∙znΘ
komerΦnφ "poÜty" typu cc:Mail Φi Mail602, i systΘmy na bßzi
standardu X.400 Φi SMTP (o kter²ch si budeme povφdat
podrobn∞ji).
Znamenß to ale, ₧e mezi dv∞ma odliÜn²mi poÜtovnφmi
systΘmy nelze p°enßÜet ₧ßdnΘ zprßvy? NaÜt∞stφ nikoli - nenφ
toti₧ ₧ßdn²m principißlnφm problΘmem vytvo°it poÜtovnφ brßnu
(e-mail gateway), kterß bude zajiÜ¥ovat pot°ebn² p°echod.
U₧ivatelskΘ slo₧ky
Existence p°enosov²ch slo₧ek i cel²ch systΘm∙ p°enosu
zprßv je p°ed b∞₧n²m u₧ivatelem obvykle skryta. To, s Φφm
u₧ivatel komunikuje, je u₧ivatelskß slo₧ka (UA, User Agent).
Teprve ta vytvß°φ pot°ebnΘ u₧ivatelskΘ rozhranφ,
prost°ednictvφm kterΘho u₧ivatel m∙₧e vyu₧φvat slu₧by
elektronickΘ poÜty - Φφst doÜlΘ zprßvy, ruÜit je Φi
archivovat, vytvß°et a editovat novΘ zprßvy atd. K tomu
nap°φklad musφ ka₧dß u₧ivatelskß slo₧ka obsahovat mj.
i vhodn² editor.
Program, realizujφcφ u₧ivatelskou slo₧ku, je aplikaΦnφm
programem, kter² si u₧ivatel vyvolßvß a₧ na zßklad∞ pot°eby,
a m∙₧e b²t provozovßn i na takovΘm poΦφtaΦi, kter² nenφ
trvale v provozu (zatφmco p°enosovΘ slo₧ky jsou obvykle
provozovßny trvale, a vy₧adujφ tudφ₧ poΦφtaΦ, fungujφcφ
v nep°etr₧itΘm re₧imu). Prßv∞ z tohoto d∙vodu jsou poÜtovnφ
schrßnky (mailbox-y) jednotliv²ch u₧ivatel∙ v∞tÜinou
realizovßny v rßmci p°enosov²ch slo₧ek. Zprßvy, kterΘ dojdou
na adresu urΦitΘho u₧ivatele (p°esn∞ji: na adresu urΦitΘ
poÜtovnφ schrßnky, viz minule), tak mohou b²t uklßdßny do
p°φsluÜnΘ schrßnky kdykoli. U₧ivatel se k nim ale dostane a₧
potΘ, co si spustφ program, realizujφcφ u₧ivatelskou slo₧ku,
a jeho prost°ednictvφm si zprßvy p°eΦte.
PoÜtovnφ klient a server
Vztah mezi u₧ivatelskou a p°enosovou slo₧kou je do
znaΦnΘ mφry vztahem typu klient-server: p°i odesφlßnφ zprßvy
se u₧ivatelskß slo₧ka postarß (v interakci s u₧ivatelem) o
jejφ sestavenφ, ale pak ji p°edß k odeslßnφ p°enosovΘ slo₧ce
(tj. vy₧ßdß si od nφ slu₧bu, spoΦφvajφcφ v p°enosu zprßvy).
Naopak v okam₧iku, kdy se u₧ivatel rozhodne podφvat na
doÜlou poÜtu, obrßtφ se u₧ivatelskß slo₧ka na p°enosovou se
₧ßdostφ o poskytnutφ obsahu p°φsluÜnΘ poÜtovnφ schrßnky.
Z tohoto d∙vodu je u₧ivatelskß slo₧ka systΘmu
elektronickΘ poÜty Φasto oznaΦovßna takΘ jako poÜtovnφ
klient (mail client), a p°enosovß slo₧ka (resp. poΦφtaΦ, na
kterΘm, je provozovßna) jako poÜtovnφ server (mail server).
Terminologie, kterou jsme a₧ dosud pou₧φvali, je
charakteristickß spφÜe pro systΘmy elektronickΘ poÜty na
bßzi standardu X.400 (zatφmco v prost°edφ TCP/IP sφtφ se
hovo°φ spφÜe o poÜtovnφch serverech a klientech).
![Obrßzek 81.2.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t409c112.gif) |
Obr. 81.2.: P°edstava u₧ivatelskΘ slo₧ky (klienta), provozovanΘ na poΦφtaΦi v roli poÜtovnφho serveru
KonkrΘtnφ zp∙sob komunikace mezi p°enosovou
a u₧ivatelskou slo₧kou je samoz°ejm∞ pevn∞ dßn koncepcφ
celΘho systΘmu elektronickΘ poÜty (MHS). To ovÜem zdaleka
neznamenß, ₧e by tφm byla jednoznaΦn∞ determinovßna
i "vn∞jÜφ tvß°" u₧ivatelskΘ slo₧ky (poÜtovnφho klienta).
Tyto slo₧ky mohou b²t implementovßny v mnoha r∙zn²ch
podobßch - od stroh²ch °ßdkov∞ orientovan²ch utilit a₧ po
u₧ivatelsky p°φtulnΘ programy v "okennφm" provedenφ,
s nejr∙zn∞jÜφmi vymo₧enostmi. V prost°edφ poΦφtaΦ∙ PC tedy
m∙₧e b²t p°φsluÜn² klient nap°φklad programem pro prost°edφ
MS DOSu, aplikacφ pro MS Windows apod. Ka₧d² u₧ivatel si
m∙₧e vybrat, kter² klient mu bude nejlΘpe vyhovovat
- podmφnkou je jenom to, aby se takov²to klient dokßzal
sprßvn∞ "domluvit" s p°φsluÜn²m poÜtovnφm serverem.
Postavenφ poÜtovnφho klienta
Velmi zajφmavß je i otßzka mo₧nΘho postavenφ
u₧ivatelskΘ slo₧ky (poÜtovnφho klienta), zvlßÜt∞ pak
v prost°edφ lokßlnφch sφtφ. P°edpoklßdejme, v souladu
s obrßzkem 81.2., ₧e p°enosovß slo₧ka je implementovßna na
poΦφtaΦi, kter² vystupuje v roli poÜtovnφho serveru,
a obsahuje poÜtovnφ schrßnky jednotliv²ch u₧ivatel∙.
U₧ivatelskß slo₧ka (poÜtovnφ klient) m∙₧e b²t programem,
kter² b∞₧φ prßv∞ na tomto poΦφtaΦi - u₧ivatelΘ, kte°φ cht∞jφ
zpracovßvat svou poÜtu jeho prost°ednictvφm, pak musφ
pracovat p°φmo na tomto poΦφtaΦi (z jeho mφstnφch terminßl∙,
p°φpadn∞ z jin²ch poΦφtaΦ∙ prost°ednictvφm vzdßlenΘho
p°ihlaÜovßnφ).
![Obrßzek 81.3.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t409c113.gif) |
Obr. 81.3.: P°edstava u₧ivatelskΘ slo₧ky (klienta), provozovanΘ na pracovnφ stanici lokßlnφ sφt∞
DalÜφ mo₧nostφ je to, aby poÜtovnφ klient byl
provozovßn na jinΘm poΦφtaΦi, ne₧ kter² vystupuje v roli
poÜtovnφho serveru. Takov²to program si u₧ivatel m∙₧e
spustit na svΘ pracovnφ stanici (viz obr. 81.3.), a ponechat
na n∞m, aby si vÜe pot°ebnΘ "vykorespondoval" po sφti se
serverem sßm.
Toto druhΘ °eÜenφ mß ΦetnΘ v²hody: nap°φklad tu, ₧e
u₧ivatel nemusφ opouÜt∞t svΘ pracoviÜt∞, a osobn∞ se
obt∞₧ovat a₧ k poÜtovnφmu serveru (nebo vyu₧φt mo₧nosti
vzdßlenΘho p°ihlaÜovßnφ). V²raznou v²hodou b²vß i v∞tÜφ
komfort, kter² takovΘto °eÜenφ m∙₧e nabφdnout: klientskΘ
programy, provozovanΘ na pracovnφch stanicφch (nap°φklad v
prost°edφ MS Windows), obvykle nabφzφ svΘmu u₧ivateli mnohem
v∞tÜφ pohodlφ a mnohem v∞tÜφ repertoßr dopl≥kov²ch funkcφ,
ne₧ analogickΘ programy, provozovanΘ na poÜtovnφm serveru
(kter² m∙₧e b²t nap°φklad Unixovsk²m poΦφtaΦem).
Vzdßlen² klient
![Obrßzek 81.4.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t409c114.gif) |
Obr. 81.4.: P°edstava vzdßlenΘho poÜtovnφho klienta
PoÜtovnφ klient, urΦen² k provozovßnφ na pracovnφ
stanici v sφti, obvykle poΦφtß s tφm, ₧e sv∙j server m∙₧e
kontaktovat kdykoli (a s dostateΦnou rychlostφ). JednotlivΘ
zprßvy, doÜlΘ p°φsluÜnΘmu u₧ivateli, proto ponechßvß v jeho
poÜtovnφ schrßnce (tedy na serveru), a odsud si je
individußln∞ "stahuje" a₧ v okam₧iku, kdy si to u₧ivatel
explicitn∞ vy₧ßdß (nap°. kdy₧ si chce p°eΦφst urΦitou
konkrΘtnφ zprßvu). Pokud je pot°ebuje n∞kam doΦasn∞ ulo₧it
(nap°φklad jako ji₧ p°eΦtenΘ, ale dosud nesmazanΘ zprßvy),
uklßdß si je op∞t na server. To mß jednu obrovskou v²hodu
- fungovßnφ klientskΘho programu pak nenφ zßvislΘ na tom, na
kterΘ pracovnφ stanici je provozovßn. U₧ivatel tak m∙₧e se
svou poÜtou plnohodnotn∞ pracovat z kterΘhokoli poΦφtaΦe
v danΘ lokßlnφ sφti.
Alternativnφm °eÜenφm je to, aby si klient v urΦit²
okam₧ik "stßhl" cel² obsah u₧ivatelovy poÜtovnφ schrßnky, a
pak se na n∞j ji₧ nemusel obracet s jednotliv²mi ₧ßdostmi o
Φtenφ konkrΘtnφch zprßv. SouΦasn∞ s tφm by si takov²to
program takΘ ponechßval "u sebe" (tj. na svΘm lokßlnφm
disku) i veÜkerou rozpracovanou poÜtu. Tφm se sice ztratφ
mo₧nost plnohodnotnΘ prßce z kterΘkoli stanice v danΘ sφti,
ale na druhΘ je zase minimalizovßn p°enos dat mezi klientem
a serverem - dφky jednorßzovΘmu a dßvkovΘmu charakteru
komunikace je pak mo₧nΘ vystaΦit i s mnohem pomalejÜφmi
p°enosov²mi cestami. Natolik pomalejÜφmi, ₧e je mo₧nΘ
uva₧ovat i o provozovßnφ poÜtovnφho klienta na vzdßlen²ch
poΦφtaΦφch: takov²to klient se m∙₧e na sv∙j poÜtovnφ server
jednorßzov∞ p°ipojit nap°φklad prost°ednictvφm komutovanΘho
okruhu ve°ejnΘ telefonnφ sφt∞, "stßhnout si" veÜkerou doÜlou
poÜtu, potΘ se odpojit (zav∞sit telefon), a poÜtu zpracovat
ji₧ jako samostatn∞ b∞₧φcφ aplikace (tj. v nesp°a₧enΘm,
neboli of-line re₧imu).
Takov²mto zp∙sobem si u₧ivatel m∙₧e nap°φklad ze svΘho
domßcφho poΦφtaΦe zavolat pro doÜlou poÜtu, vÜechnu si ji
p°enΘst k sob∞, potΘ zav∞sit, a poÜtu pak zpracovßvat
v klidu a pohodlφ svΘho domova (a hlavn∞ bez dlouhΘho
blokovßnφ telefonnφ linky a tomu ·m∞rn²ch poplatk∙). Kdy₧ se
rozhodne n∞jakou poÜtu odeslat, m∙₧e si ji nejprve p°ipravit
do v∞tÜφ dßvky, a tu pak analogick²m zp∙sobem jednorßzov∞
p°enΘst na server k odeslßnφ. V principu je samoz°ejm∞ mo₧nΘ
i takovΘ °eÜenφ, p°i kterΘm si u₧ivatel odnese od serveru
celou dßvku doÜlΘ poÜty na disket∞, doma ji zpracuje,
vytvo°φ novou dßvku poÜty, urΦenΘ k odeslßnφ, a tu pak op∞t
po disket∞ p°enese k serveru.
zp∞t do archivu Φlßnk∙ | 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