Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
  • TDAT2004 - Datakommunikasjon med nettverksprogrammering.
  • Oppgave 12: IMAP4
  • Torkil Solheim og Tor Skuggevik

Widget Connector
width1280
urlhttps://www.youtube.com/watch?v=8CT0h-lv0HQ
height720

Image Modified

1. Innledning

...

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 internettInternett. 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 Internet 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.

3. Virkemåte

...

En annen funksjonalitet til IMAP er at brukeren kan velge å hente ut individuelle deler av en mail i MIME-formatet. Dette gjør at brukeren kan hente ut for eksempel kun teksten av en email uten å hente ut vedlagte filer.

I forhold til POP3 er IMAP4 en komplisert protokoll, men tilbyr mer funksjonalitet og er veldig fleksibel i praksis. POP3 lagrer som regel ikke epostene på en tjener, med en gang brukeren har hentet eposten blir den slettet fra tjeneren og kan derfor kun leses på en enhet. Denne protokollen fungerer derfor ikke så bra lenger, ettersom veldig mange har flere enheter som brukes til å lese epost.

 

3. Virkemåte

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.

...

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.

...

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
AlleCapability Lister evnene serveren støtter
 Noop Gjør i prinsippet ingen ting, men brukes for å holde tilkoblingen i live ved lav aktivitet
 Logout Avslutter tilkoblingen
Not authenticatedStarttls Starter TLS(Transport Layer Security) på serveren som muliggjør kryptering av meldinger
 Authenticate Autentiserer klient med gyldig legitimasjon med gitt autentiseringsmekanisme om serveren støtter den, kan også sette et gitt ekstra sikkerhetslag
 Login Identifiserer klienten med brukernavn og passord, Bør ikke brukes på usikret nettverk da passordet sendes i klartekst
AuthenticatedCreate 
 Delete 
/Delete/RenameLager/sletter/gir nytt navn til en postkasse Rename 
 Subscribe/Unsubscribe Legg til/slett abonnering på en postkasse
 List /LSUBList skriver ut alle postkasser brukeren har tilgang til, LSUB skriver ut alle postkassene en bruker abonnerer på LSUB
 
 Select 
Select/ExamineSelect åpner en postkasse som brukeren kan både lese og skrive til (Read/write). Examine åpner en postkasse der brukeren kun kan lese innholdet (read-only) Examine 
 Status Gir informasjon om innholdet i en postkassen uten å forandre statusen eller innholdet til postkassen, informasjon som blir returnert er blant annet antall meldinger, nye meldinger og meldinger som brukeren ikke har sett
 Append Tar inn en postkasse og melding som parametere, legger inn meldingen i postkassen.
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 tall
 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

 

4. Referanser

...

How IT works: IMAP4

http://www.pop2imap.com/

Internet Message Access Protocol

RFC 3501