Inleiding
Door het gebruik van een e-mail Webserver is het ook wel zeer van belang
om te weten wat er zo de voor en nadelen zijn van POP3 en IMAP, daar u
op het moment dat u een e-mail Webserver gaat draaien u tevens ook een
Provider bent? en u dan de keuze kunt maken of dat u ook tegelijk de
IMAP optie inschakelt als die in uw Server aanwezig is?. Bij de Sambar
6.0 zit hij er nu standaard in dus kunt u zelf daar voor kiezen?.Dus
lees vooral het laatste gedeelte over de voor en nadelen (hier wordt nog
aan gewerkt? wat betreft de providers kant? en het financiële plaatje
er van?)
Met de groei van het internet en computergebruik is het gebruik van
electronic-mail, kortweg e-mail, de laatste jaren exponentieel gegroeid.
Het is na het World Wide Web trouwens nog steeds de belangrijkste
toepassing. Al in de 70'er jaren wisselden wetenschappers op deze wijze
heel snel informatie uit. Behalve als berichtenuitwisseling tussen
personen is e-mail ook handig om informatie over bepaalde thema's en
onderwerpen te delen met grote groepen mensen. Er zijn meer dan 15.000
van deze nieuwsgroepen die allang niet meer voorbehouden zijn aan
wetenschappers.
Hoewel er een aantal protocollen beschikbaar zijn voor het inrichten
van een architectuur, die het afhandelen en versturen van e-mail tot
doel hebben, wint sinds kort het zogenaamde IMAP meer aanhang op het
meest gebruikte protocol POP3.
Deze scriptie richt zich dan ook op de vraag hoe IMAP zich van POP3
onderscheidt en wat de voordelen van het ene protocol boven de andere
zijn. Aan de hand van de volgende onderzoeksvraag zal geprobeerd worden
antwoord op het geheel te geven:
Wat zijn de verschillen tussen IMAP en POP en de eventuele
voordelen van IMAP boven POP?
In het eerste hoofdstuk zal een achtergrond worden gegeven op de
theoretische aspecten en methoden achter een e-mail architectuur. Zowel
de message access protocollen als het remote mailbox access protocol zal
hier aan bod komen. Vervolgens zal POP3 worden behandeld aan de hand van
de achtergrond, aspecten en architectuur van dit protocol. Hierna zal
aan hand van dezelfde aspecten IMAP worden toegelicht om een basis tot
een goede vergelijking tussen beide protocollen te bewerkstelligen. De
specifieke vergelijking met de eventuele voor- en nadelen tussen beide
protocollen zal in het volgende hoofdstuk plaatsvinden, waarna het wordt
afgesloten met een algemene conclusie cq. samenvatting, waar een
antwoord op de eerder genoemde onderzoeksvraag zal worden gegeven.
- 1 - Protocollen en methoden
In dit inleidend hoofdstuk zal een achtergrond worden gegeven op de
protocollen en methoden achter e-mail. Ten eerste zal worden
ingegaan op de achtergrond van e-mail en meer specifiek de gebruikte
terminologie om de lezer een beter beeld te schetsen van e-mail.
Daarnaast zal worden ingegaan op de algemene message access
protocollen. Vervolgens zal specifiek het concept van remote mailbox
aan de orde komen.
-
1.1 Achtergrond e-mail
E-mail bestaat kort gezegd uit twee onderdelen, de user agents (UA)
en de user transfer agents (UTS).
De UA is de gebruikerskant van e-mail. Het is de - meestal grafische
- applicatie, waarmee een gebruiker bestanden naar andere personen
stuurt. Deze bestanden kunnen in een aantal formaten zijn, zoals
plain tekst of afbeeldingen (*.gif of *.jpg).
Als tweede handelt de UTS de feitelijke verzending van het bericht
van A naar B af. Aangezien e-mail in deze tijd vooral over het
internet wordt verzonden, betekent dit dat de e-mail via
verscheidene servers naar de eindbestemming wordt verstuurd en kan
dus niet altijd gemakkelijk worden gesproken van slechts A naar B.
Daarnaast betekent dit dat er een standaard tussen al de servers op
het internet moet zijn. Het Simple Mail Transfer Protocol (SMTP)
bewerkstelligt deze standaard.
Overigens spreekt het voor zich dat iedere server deze standaard dan
ook moet aanhouden. Het kan namelijk wel eens voorkomen, dat de
server een ander protocol heeft lopen om eventuele problemen met
SMTP te voorkomen. SMTP werkt namelijk het beste met de plain
tekstberichten, maar is niet optimaal voor het verzenden van
grafische berichten of documenten. Hiervoor kan een server een
zogenaamd 'proprietary protocol' binnen een Local Area Network (LAN)
gebruiken. In de praktijk levert het gebruik van een proprietary
protocol slechts een marginale winst op ten opzichte van SMTP en
levert het ook nog al wat onderhoudstechnische problemen op. Immers,
de meeste servers zitten naast het lokale netwerk ook aan het
internet. Hierdoor moet het onderscheid gaan maken tussen berichten,
die een lokale bestemming hebben en berichten die via het internet
worden verzonden. Door de problemen, die dit opleveren, wordt het
dan ook aangeraden om alleen een proprietary protocol te gebruiken
als men alleen intern e-mail heeft, maar zodra het extern is, alleen
SMTP te gebruiken.
Daarnaast passen meeste clients zich ook aan, zodra een proprietary
protocol ontbreekt. Als een client verstuurt via SMTP zal hij zich
aan de internetstandaard Multipurpose Internet Mail Extensions
(MIME) houden. Deze standaard wordt gedefinieerd als:" A
structured format for messages which allows a single message to
contain many parts." [IMC, 2001]. Deze standaard beschrijft
hoe willekeurige data gecodeerd moet worden, zodat het wel via SMTP
kan worden verzonden. Hiermee wordt dan ook meteen het nadeel van
SMTP verminderd en is één van de redenen, waarom veel netwerken
SMTP gebruiken. Een andere technische specificatie, waar kort
aandacht aan besteed wordt is het zogenaamde Transmission Control
Protocol/Internet Protocol (TCP/IP). Dit protocol is het resultaat
van onderzoek op het ARPANET, de voorloper van het huidige internet.
Hoewel er geen officieel model is van het protocol, kan het toch in
een vijftal lagen worden opgedeeld [Stallings, 1998]. Deze zijn:
- Application layer: bestaat uit de verschillende
modules, die nodig zijn voor specifieke gebruikersapplicaties,
zoals file transfer;
- Host-to-host layer (transport layer): deze gedeelde
laag is onafhankelijk van de gebruikte applicaties en verzekert
een betrouwbare afhandeling van de uitwisseling van data tussen
applicaties. Hier wordt vooral het TCP voor gebruikt;
- Internet layer: deze laag maakt communicatie tussen
verschillende netwerken mogelijk. Aangezien e-mail uiteraard
over verschillende netwerken gaat, voordat het uiteindelijk bij
de ontvanger aankomt, is deze laag natuurlijk nodig;
- Network acces layer: voor de communicatie tussen twee
verschillende werkstations op hetzelfde netwerk, de versturende
en ontvangende computer, wordt de routing en de toegang tot de
data afgehandeld door deze laag;
- Physical layer: de laag bewerkstelligt de fysieke
koppeling van de computer en het netwerk. Het richt zich dan ook
op zaken als bijvoorbeeld de specifieke karakteristieken van het
netwerk en de data rate.
- 1.2 Wat zijn Message Access Protocollen?
Voor de keuze tussen client en server wordt meestal gekozen voor
TCP/IP.
Vervolgens moet de keuze worden gemaakt waar een e-mailbericht wordt
opgeslagen, oftewel op de client of op de server. Hierbij moet er
gekeken worden naar zowel de nieuwe berichten, de inbox, en de
saved-messages. Op het moment is er een tweetal protocollen
beschikbaar:
- generieke remote file system access protocols;
- applicatie-specifieke message access protocols.
Het generieke protocol heeft een aantal zwaarwegende nadelen. Zo
zijn er geen universele file system protocollen beschikbaar voor elk
type computer. Daarnaast zijn deze protocollen erg afhankelijk van
het operating system en is de installatie nogal tijdrovend. Ook uit
veiligheidsoverwegingen en de prestaties van het netwerk laat dit
protocol nog wat te wensen over.
Als tweede is het applicatie-specifieke message access protocol
het meest gebruikte protocol. Het laat onder andere maximalisatie
van performance in een specifiek applicatie domein toe. Daarnaast
wordt ook de performance van het netwerk niet benadeeld, aangezien
het een logische deling van verwerking toelaat tussen de client en
de server en zo de datatransmissies minimaliseert.
Om een applicatie-specifiek message access protocol te
realiseren, zijn er drie opties beschikbaar:
- Specifieke bezitverkoper oplossing;
- X.400 P7 message access protocols;
- Internet message access protocol.
Als eerste heeft een specifieke bezitverkoper oplossing het
nadeel van afhankelijkheid. Indien een instelling kiest voor deze
oplossing, wordt zij dermate afhankelijk van de leverancier dat dit
zowel op de korte als lange termijn nadelen kan meebrengen.
Daarnaast wordt er bij dit soort oplossingen nogal eens gekozen voor
e-mail gateways aan het internet.
De tweede optie, het X.400 P7 message access protocol, wordt
voornamelijk om een tweetal redenen afgeslagen. Ten eerste heeft het
P7 protocol een aantal technische tekortkomingen en daarnaast is het
ook technologisch afhankelijk. Het gaat namelijk uit van de X.400
message header en transport technologie.
Als laatste is het Internet message access protocol het meest
gebruikte protocol. Deze werkt zoals eerder al uitgelegd via een
aantal UA's en UTA's en wordt nog eens grafisch toegelicht in figuur
1.1.
Figuur 1.1 Internet e-mail architectuur en
protocollen
Bron: Internet Mail Consortium, 2001
Er zijn een drietal van dit soort protocollen te onderscheiden:
- Post Office Protocol (POP);
- Distributed Mail System Protocol (DMSP);
- Internet Message Access Protocol (IMAP).
In de RFC-918 van oktober 1984 wordt POP voor het eerst
gedefinieerd. Hierna heeft het enkele aanpassingen gehad en op het
moment wordt de huidige versie van POP3 beschreven in de RFC-1725.
Hoewel POP vooral gericht is op off line access, ondersteunt het
tevens redelijk de on line en disconnected access methodes. In de
volgende paragraaf wordt dieper op deze methodes ingegaan.
Daarnaast heeft het DMSP één groot nadeel. Dit protocol, dat voor
het eerst in het RFC-984 van mei 1986 werd gedefinieerd, gaat er wel
van uit dat een gebruiker op meerdere PC's toegang tot zijn e-mail
kan krijgen, maar ondersteunt het slechts in beperkte mate. DMSP is
overigens ook wel bekend onder de naam PCMAIL. DMSP was specifiek
ontworpen voor de disconnected access methode.
Als laatste is IMAP voor het eerst geïntroduceerd aan de Stanford
Universiteit in 1986 en werd pas in de RFC-1064 van 1988 formeel
gedefinieerd. De huidige versie wordt beschreven in de RFC-1730.
Origineel was het ontworpen voor het online access model, maar na
een aantal revisies ondersteunt het nu tevens het disconnected en
off line access model.
- 1.3 Wat is Remote Mailbox Access?
Bij een access protocol wordt er van uitgegaan dat de e-mail op
verschillende plaatsen - dus remote - kan worden opgehaald. Daarom
moet er aandacht worden besteed aan de diverse modellen van remote
mailbox access. Op het moment bestaan de volgende drie [RFC 1733]:
- Offline;
- Online;
- Disconnected.
Offline
In een offline operatie wordt de e-mail op een centrale server
binnengehaald, waar dus ook al de specifieke mailboxes van de
gebruikers zich bevinden. Nadat een client de opdracht heeft gegeven
om de nieuwe e-mail naar een workstation/PC te halen, wordt er een
verbinding gemaakt met de server. De client download vervolgens de
nieuwe berichten en verwijdert ze hierna van de server. Aan deze
methode wordt ook wel gerefereerd als 'store-and-forward', oftewel
e-mail wordt via een tussenstation (de server) doorgestuurd naar een
workstation. Het proces van e-mail verwerken gebeurt dus lokaal. Het
offline model is het meest gebruikte model bij de client-server
architectuur en wordt onder andere door POP3 gebruikt.
Dit model is het meest gericht op gebruikers die altijd via dezelfde
machine hun e-mail afhandelen. Als de gebruiker via een andere
computer de e-mail afhandelt, is er wel de oplossing om de e-mail op
de server te laten staan, maar schiet het offline model toch te
kort.
Online
In het online model wordt er een verbinding met de server
gemaakt, die actief blijft zolang de client bezig is. Er wordt geen
mailbox data op de client geplaatst, maar deze ontvangt slechts data
als het nodig is. In tegenstelling tot het offline model wordt het
proces van e-mail verwerken dus niet lokaal gedaan, maar centraal op
de server.
Dit model werd vooral ondersteund door de remote file system
protocols. Zoals al eerder was aangestipt, legt het remote file
system protocol een aardige restrictie toe op de aanwezige
bandbreedte van het netwerk en drukt dus ook de performance van dit
netwerk naar beneden.
Disconnected
Het disconnected model is een hybride vorm van zowel het online
model als het offline model. In dit model wordt er een 'kopie' van
de berichten op de server gemaakt, welke de gebruiker off line kan
manipuleren. De primaire kopies van de berichten blijven wel op de
server staan. Hierdoor verschilt het dan ook van het offline model.
Na een zekere tijdsperiode worden de berichten vervolgens
gesynchroniseerd tussen de server en de client. Het probleem van
synchronisatie bij meerdere clients wordt door dit model opgelost
door middel van een unieke id voor elk bericht, de "persistent
message id". Het PCMAIL protocol gebruikt onder andere dit
model.
Hoewel deze paragraaf meer dient als achtergrond bij de
functionering van IMAP en POP3, is het toch belangrijk om de
voordelen, nadelen en werking van de achterliggende modellen hiervan
te begrijpen. Als slot zijn dan ook de voor- en nadelen van deze
drie modellen opgesomd in tabel 1.1
Functionaliteit |
Offline |
Online |
Disconnected |
Meerdere clients |
Nee |
Ja |
Ja |
Minimum tijdgebruik voor serverconnectie |
Ja |
Nee |
Ja |
Minimum gebruik van serverresources |
Ja |
Nee |
Nee |
Minimum gebruik van client schijf resources |
Nee |
Ja |
Ja |
Meerdere remote mailboxes |
Nee |
Ja |
Nee |
E-mail verwerking, wanneer gebruiker niet
online is |
Ja |
Nee |
Ja |
Tabel 1.1 Voor- en nadelen remote mailbox access
modellen
Bron: The Internet Engineering Task Force, RFC 1733, december 1994
- 2. Het POP-Protocol
Dit hoofdstuk zal in worden gegaan op één van de Internet message
access protocollen, het POP-protocol. Als eerste zal een korte
achtergrond worden gegeven, waarna de functionaliteiten van POP aan
bod komen. Het geheel wordt besloten met een paragraaf over de
technische architectuur van POP.
-
2.1 De achtergrond van POP
POP werd voor het eerst beschreven in RFC-918. Sindsdien zijn er
enkele wijzigingen en uitbreidingen op gedaan, waardoor op het
moment een drietal van dit soort protocollen bestaat.
Naast het originele POP, zijn er nog POP2 en POP3. POP3 is op het
moment het meest gebruikt en onderscheid zich doordat het e-mail kan
verzenden door middel van de POP3-sessie in plaats van SMTP.
Daarnaast ondersteund het tevens het geencrypteerd versturen van
username en wachtwoord.
POP3 werkt op TCP en wel op poort 109 of 110.
Aangezien POP3 het meest gebruikt en uitgebreid is, wordt voor de
rest van deze paper uitgegaan van dit protocol, zodat niet continu
een vergelijking tussen de diverse versie van POP moet worden
gemaakt.
- 2.2 De aspecten van POP
De volgende specifieke aspecten kunnen bij POP3 worden
onderscheid:
- Offline methode;
- Platformonafhankelijkheid;
- Toegankelijkheid;
- Persistent Message ID's;
- Commerciële applicaties;
- SMTP;
- Gratis software voor implementatie.
Offline methode
POP3 ondersteunt de offline methode van e-mailverwerking. Zoals
eerder is besproken, komt al de e-mail op een centrale server
binnen. Vervolgens wordt een verzoek door een client gedaan om de
nieuwe e-mail down te downloaden. Wanneer de download voltooid is,
wordt de e-mail verwijderd van de server.
Platformonafhankelijkheid
POP3 ondersteunt platformonafhankelijkheid en als gevolg hiervan
maakt het weinig uit wat voor OS de client heeft draaien.
Toegankelijkheid
Aangezien de nieuwe e-mail op een server is geplaatst, kan deze
vanuit iedere plek in het netwerk of zelfs het Internet worden
opgehaald. Hierdoor is dus de toegankelijkheid groot, aangezien een
gebruiker niet vast zit aan één PC, maar het probleem is wel weer
dat men niet toegang heeft tot de oude e-mails. Immers, die worden
op het werkstation gedownload, waar de gebruiker normaliter zijn
e-mail afhandelt.
Persistent Message ID's
Naast de offline methode ondersteunt POP3 ook de disconnected
methode met behulp van unieke bericht id's, oftewel de persistent
message id's.
Commerciële applicaties
Er zijn vele applicaties beschikbaar die POP3 ondersteunen. Hierbij
valt bijvoorbeeld te denken aan programma's als Eudora, Microsoft
Outlook, etc.
SMTP
POP3 gaat in principe uit van SMTP voor het verzenden van e-mail,
hoewel het mogelijk is om dit via een POP3 sessie te laten verlopen.
Gratis software voor implementatie
Voor POP3 is gratis software beschikbaar, inclusief de broncode,
voor de implementatie.
- 2.3 De technische architectuur
Deze paragraaf behandelt ten eerste de architectuur aan de hand
van het ingerichte client-server model voor POP3. Daarna komen de
diverse staten tussen de server en client aan bod.
-
2.3.1 POP-architectuur
Hoewel er naast het client-server model nog andere mogelijkheden
bestaan om een infrastructuur op te zetten, bijvoorbeeld
peer-to-peer, wordt hier alleen aandacht besteed aan het
client-server model. De reden hiervoor is, dat deze architectuur de
meest gebruikte toepassing is om een netwerk in te delen en het
vooral gebruikt wordt bij POP3. Dezelfde indeling voor de
architectuur geldt bij IMAP alleen is er een onderscheid in
specifieke functies.
Een client-server architectuur bestaat uit een tweetal
componenten:
- De cliënt: dit is het werkstation of computer, waarachter een
gebruiker werkt.
- De server: gespecialiseerde computers, die diensten als
printen, e-mail en faxen ondersteunen
Dit is nog een grafisch verduidelijkt in figuur
2.1.
Figuur 2.1 Client-server architectuur
Bron: SURFnet, 1998
Stallings onderscheidt een aantal voordelen, die deze
architectuur oplevert [Stallings, 1998]:
- Doordat er een centrale plaats is ingericht in het netwerk
voor specifieke functies is de client-server architectuur
kosteneffectief en realiseert het schaalvoordelen.
- Er wordt een universele toegang tot de informatie op het
netwerk gegeven door geautoriseerde gebruikers. Dit verschaft
een consistent beeld van de data en veiligheid van gegevens.
- De fysieke architectuur kan specifiek worden ontworpen om de
benodigde diensten te ondersteunen.
- Deze architectuur wordt als zeer flexibel beschouwd.
De definitieve invulling van de e-mail architectuur heeft
overeenkomsten met de cliënt/server architectuur, maar wordt
specifieker ingedeeld op basis waar het permanente e-mailarchief
wordt opgeslagen. Dit is nog eens grafisch afgebeeld in figuur 2.2.
Figuur 2.2 POP architectuur
Bron: SURFnet, 1998
-
2.3.2 Staten
Voordat de diverse staten tussen de server en cliënt tot stand
komen, moet er natuurlijk eerst een connectie zijn. De server
luistert dan ook op poort 110 (of 109) of een client een connectie
wil maken. Indien dit het geval is, wordt er een TCP connectie met
de server gemaakt.
Na deze connectie kan een opdracht worden gegeven. In POP3 bestaat
deze uit een keyword, gevolgd door optionele argumenten. Keywords
kunnen drie tot vier karakters lang zijn, de argumenten kunnen
oplopen tot 40 karakters. Een response op de opdracht bestaat
wederom uit een keyword met eventuele argumenten. Hiernaast bevat
het nog een zogenaamde status indicator: positief ("+OK")
of negatief ("-ERR"). Verder kan de response nog
multi-line zijn.
Nadat het verzoek is gemaakt door de client, worden de volgende
staten doorlopen:
- Autorisatie-staat;
- Transactie-staat;
- Update-staat.
Autorisatie-staat
Nadat een TCP connectie is opengesteld en de server een greeting
naar de client stuurt, gaat de sessie de autorisatie-staat in. In
deze staat moet de client zichzelf bekend maken aan de server, zodat
er diverse acties tussen de client en server kunnen worden
uitgevoerd. De client kan zich op een tweetal manieren bekend maken
aan de server en zo zichzelf identificeren:
- User en Pass opdracht combinatie. Met dit mechanisme stuurt de
client eerst de username door. Indien deze bestaat op de server,
retourneert deze de status indicator: "+OK". Indien de
server de negatieve status indicator "-ERR" doorgeeft,
kan de client er voor kiezen om de sessie te beëindigen of het
opnieuw te proberen. Als juist de positieve status indicator is
gegeven, wordt de combinatie van de argumenten van User en Pass
gecontroleerd, waarna de client een eventuele toegang krijgt.
- APOP opdracht. Voor de meeste beginconnecties tussen server en
client wordt uitgegaan van bovengenoemde user en pass opdracht.
Aangezien een POP3 client soms over een zeker tijdsinterval zijn
e-mail controleert, bijvoorbeeld ieder half uur, wordt wel eens
gekozen voor de APOP opdracht.
Nadat de client zich heeft geïdentificeerd, geeft de server hem
indien van toepassing toegang tot de e-maildrop. Hierbij wordt er
een exclusieve lock op deze drop gezet, zodat berichten niet kunnen
worden veranderd, voordat de client de update-staat in gaat. Als de
server deze lock niet kan bewerkstelligen, zal een error worden
teruggeven en de connectie met de client worden verbroken. De client
kan dan opnieuw een connectie proberen te maken met de server door
middel van de eerder genoemde authenticatie mogelijkheden.
Indien wel een lock wordt gezet, wordt aan ieder bericht een
nummer toegekend (nummer 1 voor het eerste bericht, 2 voor het
tweede, etc.) en wordt de grootte van het bericht in octets gemeten.
Na deze succesvolle autorisatie komt de client in de
transactie-staat.
Transactie-staat
In de transactie-staat zijn een aantal commando's mogelijk, waarna
de server een zekere response geeft. Deze zijn, kort belicht, de
volgende:
STAT
Als de client het STAT-commando geeft, wordt door de POP3-server een
zogenaamde 'drop listing' terug gegeven. Deze listing geeft
informatie weer over het aantal berichten en de grootte van de
maildrop.
LIST [MSG]
Dit commando kan optioneel een messagenummer als parameter meegeven.
Indien deze parameter wordt meegegeven, geeft de server een
positieve response en de zogenaamde 'scan listing' voor dat bericht
terug. Deze scan listing bestaat uit een regel met informatie over
het betreffende bericht.
Als er juist geen berichtnummer als parameter wordt meegegeven,
loopt de server ieder bericht af, waarna voor elk bericht een scan
listing wordt gegeven. Tenslotte geeft de server geen scan listing
terug, wanneer er geen berichten zijn gevonden.
RETR msg
Hierbij wordt als parameter het messagenummer meegegeven. Deze
parameter is verplicht en mag niet verwijzen naar een bericht, dat
staat gemarkeerd als 'delete'. Vervolgens stuurt de POP3-server het
betreffende bericht naar de client.
DEL msg
Wederom wordt hier het messagenummer meegegeven als parameter. De
server markeert vervolgens het betreffende bericht als delete. Dit
bericht wordt pas verwijderd in de volgende staat, de update staat.
Indien via een POP3-commando na deze markering gerefereerd wordt aan
het bericht, zal de server een error teruggeven.
NOOP
De POP-server doet niets bij dit commando, maar geeft slechts een
positieve response terug.
RSET
Indien berichten zijn gemarkeerd als delete, wordt na dit commando
de oude situatie hersteld en wordt de delete status van de berichten
verwijderd.
Naast deze basiscommando's kunnen nog een aantal andere worden
onderscheiden, zoals UIDL [msg] en TOP msg n.
Als laatste kan de client nog het QUIT-commando geven, waarna zij
overgaat in de volgende staat.
Update-staat
In deze staat worden al de berichten gemarkeerd voor 'delete'
verwijderd. Indien een client de connectie eerder verbreekt of niet
het QUIT-commando geeft in de transactie-staat, worden er geen
berichten verwijderd.
- 3. Het IMAP-Protocol
In dit hoofdstuk zal worden ingegaan worden op het IMAP-protocol.
Aan de hand van de achtergrond zal worden weergegeven wanneer en
waarom het protocol ontwikkeld werd. Hierna komen de specifieke
aspecten van het IMAP-protocol aan bod. Vervolgens zal er over
de architectuur informatie te vinden zijn.
- 3.1 De achtergrond van IMAP
Het Interactive Mail Access Protocol (de oorspronkelijke
betekenis van IMAP) werd ontwikkeld in 1986 door de Stanford
University in de Verenigde Staten. De Amerikaan Mark Crispin was
de programmeur van het oorspronkelijke IMAP. Crispin schreef het
protocol dat geschikt werd gemaakt om te gebruiken met een
Interlisp client op een Digital DEC-20 server. Een jaar later
werd het IMAP-2 ontwikkeld waarbij het protocol bij een breder
publiek kwam door de beschikbaarheid op UNIX servers.
In 1988, weer een jaar later, werd IMAP officieel vastgelegd
door het publiceren van RFC 1064. De Stanford University heeft
echter geen geld meer over voor de verdere ontwikkeling van het
IMAP. De University of Washington ziet echter meer toekomst in
het IMAP dat het de originele IMAP auteur, Mark Crispin, in
dienst neemt. Hierna zouden vele RFC's gepubliceerd worden door
de verdere ontwikkelingen en uitbreidingen van IMAP. In 1993
werd de betekenis van IMAP veranderd naar Internet Message
Access Protocol om de mogelijkheden duidelijker weer te geven.
De huidige IMAP-standaard is gebaseerd op IMAP-4. In deze
scriptie gaan we daarom verder uit van IMAP4 als we het hebben
over IMAP.
- 3.2 De aspecten van IMAP
Door middel van de werkelijke aspecten van IMAP zal antwoord
gegeven worden op de vraag wat het protocol nou precies in de
praktijk is. Wanneer gebruik wordt gemaakt van IMAP blijven alle
berichten (nieuwe en oude, dus het hele archief) bewaard op de
computer, waarop ook de MTA draait. De UA maakt op verzoek van
de gebruiker verbinding met dit archief en doet het aan de
gebruiker voorkomen alsof alle berichten op de eigen pc staan.
In de laatste versie van dit protocol, IMAP-4 kan eventueel ook
een kopie van het archief door de UA worden bewaard dat dan
steeds gesynchroniseerd wordt met het centrale archief op de
server.
Bij IMAP kunnen de volgende aspecten worden onderscheid:
- Online, offline en disconnected methode ondersteuning;
- Gelijktijdige toegang en beheer van gedeelde mailboxes
ondersteuning;
- Meerdere mailboxes ondersteuning; ·
Platformonafhankelijkheid;
- Locatieonafhankelijk;
- Persistent Message ID's;
- Commerciële applicaties;
- SMTP;
- Gratis software voor implementatie van het IMAP.
Online, offline en disconnected methode ondersteuning
De mogelijkheden van het IMAP worden het best benut bij de
online methode voor mailtoegang; online performance support.
Echter, uniek aan IMAP is dat het naast de online methode ook
ondersteuning biedt aan de offline methode die specifiek is voor
POP, alsmede voor de disconnected methode.
Gelijktijdige toegang en beheer van gedeelde mailboxen
ondersteuning
IMAP kan gelijktijdige toegang en beheer krijgen tot gedeelde
mailboxen. Dit houdt in dat het een naam kan geven aan
verschillende mailboxen en het kan beheren van verschillende
mailboxen door de namen weer te geven, de boxen te hernoemen, te
creëren en te verwijderen. Uniek is het dat deze boxen niet
persé op dezelfde server moet staan; remote folder handeling
genoemd.
Meerdere mailboxen ondersteuning
Naast de standaard INBOX kan IMAP ook meerdere mailboxen
ondersteunen. Zo lijkt alleen het protocol bijvoorbeeld al op
een compleet mailprogramma als Microsoft Outlook.
Platformonafhankelijkheid
IMAP heeft een groot draagvlak, aangezien het geschikt is voor
de meeste platformen, waaronder de nu meeste gebruikte: UNIX en
Windows platformen.
Locatieonafhankelijk
Wanneer gebruik wordt gemaakt van de online methode voor de
mailtoegang, kan het protocol locatieonafhankelijk gebruikt
worden. Zo kan er op verschillende locaties toegang gekregen
worden tot mailboxes die op een willekeurige server staan.
Persistent Message ID's
Net zoals POP gebruikt IMAP ook de specifieke Message ID's, Seen,
Deleted en Answered alsmede de door de gebruiker zelf
gedefinieerde ID's.
Commerciële applicaties
IMAP wordt gebruikt door commerciële applicaties, waaronder de
meest gebruikte applicatie voor de thuisgebruiker Microsoft
Outlook (Express). Daarnaast kan het, aangezien het een open
source protocol is, toegepast worden in niet-commerciële
applicaties.
SMTP
IMAP gebruikt het veel gebruikte SMTP-protocol voor het
verzenden van berichten.
Gratis software voor implementatie van het
IMAP Aangezien het een zogenaamde 'open source protocol'
betreft, is het mogelijk om gratis gebruik te maken van het
IMAP-protocol bij het ontwikkelen van mail software.
- 3.3 De technische architectuur
Deze paragraaf behandelt ten eerste de architectuur aan de
hand van het ingerichte client-server model voor POP3. Daarna
komen de diverse staten tussen de server en cliënt aan bod.
Net zoals bij POP3 zijn er enkele staten nodig tussen de
IMAP-server en de IMAP ondersteunende cliënt. Dit gebeurt weer
door middel van een connectie middels TCP/IP. Poort 143 is de
gebruikte IMAP4 poort. Wanneer de cliënt een connectie wil
maken, klopt het aan op deze poort waardoor de server weet dat
hij ook klaar moet zijn. Gedurende de tijd dat de gebruiker zijn
folders op de IMAP server wil bekijken of archiveren is de
verbinding open. Dit alles wordt nog eens verduidelijkt in
figuur 3.1.
Figuur 3.1: IMAP-architectuur
Bron: SURFnet, 1998
-
3.4 Toepassingen van IMAP
IMAP wint de laatste tijd grond op POP. Een tweetal
toepassingen, die op het moment onder andere kunnen worden
onderscheiden zijn IMP en Microsoft Outlook.
IMP
Een veel gebruikte toepassing van IMAP is het programma IMP. Als
voorbeeld maakt de Hogeschool van Arnhem en Nijmegen gebruik van
IMP om studenten en medewerkers in te laten loggen op hun
persoonlijke INBOX.
Op de homepage van Horde
is meer te lezen over de Open Source software IMP. Figuur 3.2.1
geeft een screenshot van de inlogprocedure weer bij IMP.
Figuur 3.2.1 - IMP inlog screenshot HAN
Figuur 3.2.2 geeft een screenshot van de INBOX bij het
gebruik van IMP weer.
Figuur 3.2.2 - IMP INBOX screenshot HAN
Microsoft Outlook
Een andere combinatie van een IMAP toepassing is via Microsoft
Outlook. Sowieso ondersteunt de softwarecliënt Outlook van
Microsoft IMAP naast POP. Het speciale aan Outlook is, is dat er
ook een speciale versie is die benaderd kan worden via het
internet. Het kan vergeleken worden met de bekende mail-website
Hotmail. Als voorbeeld: de Universiteit van Maastricht laat
studenten en medewerkers via een Microsoft Outlook webpagina hun
mail beheren. Bekijk figuur 3.2.3 voor een screenshot van de
inlogprocedure.
Figuur 3.2.3 - Outlook inlog screenshot UM
Figuur 3.2.4 geeft een screenshot van de INBOX bij het
gebruik van Microsoft Outlook webpagina weer.
Figuur 3.2.4- Outlook INBOX screenshot UM
- 4. Vergelijking POP/IMAP
Nu beide protocollen behandeld zijn, zal in dit hoofdstuk de
vergelijking tussen POP en IMAP worden gemaakt. Ten eerste
zullen kort de overeenkomsten tussen de beide protocollen
vergeleken worden, waarna de voordelen van IMAP boven POP
worden behandeld. Uiteraard heeft alles zijn keerzijde en
daarom zullen als laatste de nadelen van IMAP worden
behandeld.
- 4.1 Overeenkomsten POP/IMAP
Hieronder staan de overeenkomsten opgesomd tussen POP en
IMAP. De meeste punten zijn echter al wel genoemd in de
omschrijving van beide protocollen, doch kan het zinvol
worden geacht wanneer deze nogmaals genoemd worden. Mede
doordat IMAP ook de offline methode voor mailtoegang
ondersteunt van POP, zijn er al vele overeenkomsten.
Ten eerste kan het e-mailarchief worden geraadpleegd
zonder verbinding met het netwerk (met een UTA). Voor POP
was dit altijd al mogelijk. De huidige versie van IMAP,
IMAP-4, kan dit nu ook waarbij een kopie van het archief kan
worden bewaard door de UA. Zowel met POP als met IMAP is
voor het verzenden van berichten van de UA naar de UTA
afhankelijk van SMTP protocol.
Daarnaast was IMAP voornamelijk bedoeld voor de online
toegang methode van mailfolders doch na revisies ondersteunt
het nu ook de offline methode van het POP protocol. Als
derde gebruikt IMAP zoals POP ook de specifieke Message ID's,
Seen, Deleted en Answered alsmede de door de gebruiker zelf
gedefinieerde ID's. Verder zijn beide protocollen
platformonafhankelijk, clients zijn beschikbaar voor PC's,
Mac's en UNIX.
Als laatste zijn POP en IMAP zogenaamde open protocollen
gedefinieerd in de RFC's en zijn als 'open source'
beschikbaar voor de implementatie in software.
- 4.2 Voordelen IMAP
IMAP biedt een aantal voordelen boven POP. Deze worden in
deze paragraaf toegelicht en uitgespitst.
- Online, offline en disconnected methode ondersteuning
- Gelijktijdige toegang van gedeelde mailboxes
ondersteuning
- Meerdere mailboxes ondersteuning
- Locatieonafhankelijk
- Persistent Message ID's
Online, offline en disconnected methode ondersteuning
Naast de specifiek voor IMAP gebruikte online methode kan
het ook gebruikmaken van de offline methode, specifiek voor
POP, en de disconnected methode die specifiek voor DMSP.
IMAP heeft daarom de functionaliteit van zowel POP als DMSP
in zijn protocol ondergebracht.
Gelijktijdige toegang van gedeelde mailboxen
ondersteuning
IMAP ondersteunt gelijktijdige toegang en onderhoud aan
gedeelde mailboxen. Twee gebruikers kunnen dus bijvoorbeeld
tegelijkertijd toegang hebben tot dezelfde mailbox. Als de
ene gebruiker een e-mail wist, dan is dat bij de ander ook
tegelijkertijd te zien. Ook kan een gebruiker een bericht
vanuit een andere mailbox makkelijk toevoegen aan een
gedeelde mailbox
Meerdere mailboxen ondersteuning
Naast de standaard INBOX kan IMAP ook meerdere mailboxen
ondersteunen. Het POP protocol kan maar beschikken over een
enkele INBOX waar de opgehaalde berichten in terechtkomen.
Het voordeel van IMAP is dat afzonderlijk van de cliënt al
meerdere mailboxen gedefinieerd kunnen worden. POP zelf kan
dat niet waardoor het afhankelijk is van de cliënt die de
criteria waar berichten terechtkomen moet instellen.
Zo lijkt alleen het protocol bijvoorbeeld al op een
compleet mailprogramma als Microsoft Outlook.
Locatieonafhankelijk
IMAP biedt als voordeel boven POP dat het hele e-mailarchief
met verschillende UA's vanaf verschillende PC's kan worden
kan worden gebruikt, bijvoorbeeld thuis en op kantoor. POP
ondersteunt dit enigszins ook, maar hierbij is er geen
sprake van het gehele e-mailarchief.
Persistent Message ID's
Net zoals POP gebruikt IMAP ook de specifieke Message ID's,
Seen, Deleted en Answered. Voordeel boven POP is dat IMAP
ook de door de gebruiker zelf gedefinieerde ID's
ondersteunt. Zo kan de gebruiker zijn emails beter
organiseren.
- 4.3 Nadelen IMAP
Naast de voordelen zijn er ook nadelen. Deze paragraaf
behandelt dan ook de nadelen.
IMAP is niet handig voor mensen die maar één computer
gebruiken (een portable bijvoorbeeld). Deze mensen hebben er
toch geen baat bij dat hun berichten van verschillende pc's
gearchiveerd kunnen worden. Doordat ze hoogstwaarschijnlijk
toch hun archief lokaal bewaren, is een constante
verbinding, die nodig is bij gebruik van IMAP bij het
archief synchronisatie, overbodig geworden.
IMAP is gevoeliger voor misbruik. Aangezien de mailfolders
van verschillende locaties tegelijk geraadpleegd kunnen
worden en bovendien er een constante verbinding aanwezig is,
is de kans op beveiligingsproblemen groter dan bij POP.
Aangezien POP eerder ontwikkeld was, was het eerder bug-vrij
dan IMAP. IMAP is dus pas later eigenlijk ontwikkeling
gekomen. Het had in het begin veel last van bugs en
beveiligingsproblemen. Daardoor ondersteunden vele software
pakketten IMAP pas sinds de laatste versie, IMAP-4, die deze
problemen opgelost schijnt te hebben.
Technisch gezien is het IMAP protocol complexer om te
implementeren in software dan het POP protocol en vergt
daarom meer inspanning voor de programmeur.
Conclusie
Naast een netwerk, zoals een LAN of WAN, zijn een tweetal
zaken noodzakelijk voor e-mail. Ten eerste is het de UA, de user
agent oftewel de cliënt, en als tweede de UTA, de user transfer
agents oftewel de cliënts. Daarnaast wordt TCP/IP vooral
gebruikt als het netwerkprotocol en voor het verzenden van de
e-mail valt de keuze snel op SMTP door de ondersteuning die het
biedt met MIME.
Vervolgens moet een keuze worden gemaakt voor een applicatie
specifieke message access protocol, waarbij op het moment vooral
voor de Internet message protocollen wordt gekozen.
POP is hedendaags het meest gebruikte Internet message access
protocol en biedt voordelen als: commerciële applicaties,
persistent message id's, SMTP en platformonafhankelijkheid. Het
werkt op een normale client-server architectuur. De grote
tekortkoming van dit protocol is, als men naar deze architectuur
kijkt, vooral de locatie van de mailbox. POP ondersteunt de
off-line methode, wat inhoudt dat nadat een cliënt toegang is
gegeven tot de server, de nieuwe e-mails van de server worden
afgehaald en lokaal worden opgeslagen. Door de groei van het
gebruik van Internet in de laatste jaren werken mensen niet meer
slechts op één PC, maar gebruiken meerdere computers voor
verschillende doeleinden (zoals privé, studie of werk). Dit
houdt dus in dat zij niet één centrale mailbox hebben, maar
meerdere verspreid over diverse PC's. Een oplossing voor nadelen van POP kan IMAP bieden. Zoals POP
biedt deze ook een aantal voordelen als locatieonafhankelijkheid
en persistent message ID's en maakt gebruik van een
client-server architectuur. Het grote voordeel biedt IMAP op het
gebied van de mailboxbeheer. Dit vindt geheel op de server
plaats, waardoor het zaken ondersteunt als gelijktijdige en
gedeelde beheer van mailboxen ondersteunt.
Een vergelijking tussen beide protocollen geeft antwoord op de
vraag of IMAP voordelen biedt boven POP. De belangrijkste
hiervan zijn dat IMAP zowel de online, offline als disconnected
mode volledig ondersteunt. Daarnaast ondersteunt het naast de
normale persistent message id's ook door de gebruiker zelf
gedefinieerde id's.
Als men naar de nadelen gaat kijken zijn de meest
zwaarwegende de huidige veiligheidsredenen. Ook is IMAP nog niet
geheel bugvrij en is de implementatie daarvan nogal tijdrovend
en complex.
Als deze nadelen tegen de voordelen worden afgezet, wegen de
voordelen in het opzicht van functionaliteiten hoger. Een
allesomvattend antwoord op de vraag of IMAP beter is dan POP, of
POP qua gebruik zal verdrijven is niet te geven, omdat de IMAP
ontwikkeling nog in volle gang is en het gebruik nu terrein
begint te winnen.
Top
|