You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »


1. Innledning

Hvor hører det valgte tema hjemme i lagmodellen. Hvilke standarder eller bestemmelser gjelder for dette temaet.

Internet Message Access Protocol version 4 revision one (IMAP4) er en protokoll brukt av klienter for å motta epost fra en e-post server.

Den første versjonen av IMAP ble designet i 1986 av Mark Crispin, og siden har vi sett flere versjoner inkludert IMAP2, IMAP3 og IMAP2bis.

Historisk har IMAP konkurrert med post office protocol (POP) som den mest utbredte protokollen, selv om flere andre (proprietære) protokoller har blitt brukt.

I nyere tid har den mer avanserte IMAP mer eller mindre foreldet POP selv om de fleste e-post klienter enda har støtte for begge.

2. Ønsket funksjonalitet

Hva er det man ønsker å oppnå, hvilke funksjonelle mangler vil man bøte på, hvorfor har man denne tjenesten eller dette systemet.

Ønsket funksjonalitet med IMAP er å forbedre interaksjonen mellom klienter og eposttjenere.

IMAPv4 er en komplisert protokoll i forhold til SMTP og POP3, men tilbyr mye mere funksjonalitet og er veldig fleksibel i praksis. Med IMAP blir eposter lagret på en tjener og kan derfor aksesseres fra flere enheter samtidig. Handlinger utført på epostene blir synkronisert mellom alle enhetene som er tilkoblet internett. Når en person for eksempel leser en ny epost blir denne eposten markert som «lest» og blir oppdatert på de andre enhetene. I tillegg vil handlinger en person gjør uten å være tilkoblet internett bli synkronisert neste gang en internettkobling er etablert.

Å lagre epostene på en filserver krever verdifull lagringsplass, men er veldig greit siden det vil fungere som en backup i tilfelle harddisken til en bruker blir ødelagt eller skulle gå tapt.

MIME ting


3. Virkemåte

Beskriv hvordan ting fungerer og gjøres. Oppbygning og struktur. Forklare med illustrasjoner eller skjermklipp, bilder eller analyse av pakkefangst.

En sesjon starter med en TCP/IP-tilkobling initiert av klienten på port 143 (standard). Kommunikasjonen mellom klient og tjener oppnås ved spesifikke verb i en spør-svar utveksling, all kommunikasjon skjer med 7-bit tekst.

Det er viktig å påpeke at tilkoblingen er asynkron, det vil si både klient og tjener kan utføre transaksjoner uavhengig av hverandre.

Eksempelvis kan klienten først be om å få se innholdet i en innboks for så å sende en epost før han får svar på den første forespørselen. Tjeneren kan også gjøre dette ved å for eksempel oppdatere innboksen om det kommer ny epost.

Siden kommunikasjonen er asynkron må alle spørringer fra klienten inneholde et inkrementelt sekvensnummer som prefiks. Alle svar fra tjeneren vil da inneholde sekvensnummeret samt en av fem responser.

Disse responsene er:

KodeForklaring
OK

Transaksjonen var suksessfull

NOTransaksjonen feilet
BADSekvensfeil
PREAUTHBrukeren er allerede autorisert
BYETilkobling lukket

 

En sesjon i IMAP består av flere tilstander, der hver tilstand tillater ulike handlinger. Enhver sesjon er kjører så lenge klienten er aktiv.

De ulike tilstandene er:

Not Authenticated - Klienten er ikke autentisert og må etablere identitet og legitimasjon for å få tilgang til serveren.

 

Authenticated - Klienten er autorisert og kan nå lage, slette, samt manipulere postkasser(inkludert mapper). Men man kan ikke forandre innholdet.

 Klienten kan også abonnere/fjerne abonnement på offentlige mapper.

 NB! Innboks-postkassen kan ikke lages eller slettes, men man kan endre navnet, da lages en ny postkasse med det navnet og alle meldinger sendt til innboksen blir videresendt til den nye.

Herifra kan man også velge en postkasse for så å se/manipulere innholdet.

 

Selected - Klienten har åpnet en postkasse med Select, Status eller Examine og er dermed i Selected-tilstanden.  

 Her kan man manipulere meldinger innenfor en bestemt postkasse.

 

Logout - Dette er perioden mellom en initiert logout og bekreftelse fra serveren.

I mellomtiden vil serveren slette medlinger markert for sletting, oppdatere markeringer, og oppheve valgte postkasser før den til slutt sender responsen BYE og avslutter tilkoblingen.

 

Handlinger:

TilstandKommandoForklaring
AlleCapabilityLister evnene serveren støtter
 NoopGjør i prinsippet ingen ting, men brukes for å holde tilkoblingen i live ved lav aktivitet
 LogoutAvslutter tilkoblingen
Not authenticatedStarttls 
 AuthenticateAutentiserer klient med gyldig legitimasjon med gitt autentiseringsmekanisme om serveren støtter den, kan også sette et gitt ekstra sikkerhetslag
 LoginIdentifiserer klienten med brukernavn og passord, Bør ikke brukes på usikret nettverk da passordet sendes i klartekst
AuthenticatedCreate/Delete/Rename 
 Subscribe/Unsubscribe 
 List/LSUB 
 Select/Examine 
 Status 
 Append 
Selected

Copy

Kopierer meldinger til en annen postkasse
 FetchHenter en eller flere meldinger
 

Search

Tar inn søkeparametere og henter indeksnummer til meldinger som oppfyller parameterne
 StoreOverskriver hva en melding er markert som
 UID(Unique ID) Gjør at klienten kan bruke unike identifikatorer for Fetch, Copy, Search og Store istedenfor tall
 CheckServeren lager et checkpoint
 CloseKombinerer Check og Expunge, sesjonen går ut av den valgte postkassen og tilbake til en autorisert tilstand
 ExpungeServeren sletter alle meldinger som er markert for sletting

 

4. Referanser

Når man i den løpende teksten omtaler standarder, organisasjoner eller annet skal dette refereres. Referanselisten føres her (ikke URL i den løpende teksten)

How IT works: IMAP4

http://www.pop2imap.com/

Internet Message Access Protocol

RFC 3501

 

Selected

Copy

 Kopierer meldinger til en annen postkasse

 

Fetch

 Henter en eller flere meldinger

 

Search

 Tar inn søkeparametere og henter indeksnummer til meldinger som oppfyller parameterne

 

Store

 Overskriver hva en melding er markert som

 

UID

 (Unique ID) Gjør at klienten kan bruke unike identifikatorer for Fetch, Copy, Search og Store istedenfor

 

Check

Serveren lager et checkpoint

 

Close

 Kombinerer Check og Expunge, sesjonen går ut av den valgte postkassen og tilbake til en autorisert tilstand

 

Expunge

Serveren sletter alle meldinger som er markert for sletting

  • No labels