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. 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. 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. 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. 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://ksi.ms.mff.cuni.cz/~peterka/archiv/copyleft.htm