Tips Home

Wat zijn de verschillen tussen IMAP en POP3

 

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:

    1. Application layer: bestaat uit de verschillende modules, die nodig zijn voor specifieke gebruikersapplicaties, zoals file transfer;
    2. 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;
    3. 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;
    4. 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;
    5. 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:

    1. generieke remote file system access protocols;
    2. 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:

    1. Specifieke bezitverkoper oplossing;
    2. X.400 P7 message access protocols;
    3. 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:

    1. Post Office Protocol (POP);
    2. Distributed Mail System Protocol (DMSP);
    3. 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:

    1. De cliŽnt: dit is het werkstation of computer, waarachter een gebruiker werkt.
    2. 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:

    1. 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.
    2. 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.

      IMAP @ HAN
      Figuur 3.2.1 - IMP inlog screenshot HAN

      Figuur 3.2.2 geeft een screenshot van de INBOX bij het gebruik van IMP weer.

      IMAP @ HAN
      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.

      IMAP @ UM
      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.

      IMAP @ UM
      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