IMAP | |
---|---|
Nimi | Internet Message Access Protocol |
Taso ( OSI-mallin mukaan ) | Sovellettu |
Perhe | TCP / IP |
Luotu vuonna | 1986 |
Portti/ID | 143/ TCP , 993/TCP (IMAP yli SSL) |
Protokollan tarkoitus | Pääsy postilaatikoihin |
Erittely | RFC 3501 |
Tärkeimmät toteutukset (asiakkaat) | MUA ( Outlook Express , Opera , Mozilla Thunderbird , The Bat!, Claws Mail , mutt jne.) |
Ydintoteutukset ( palvelimet ) | UW IMAP , Courier , Cyrus , Dovecot |
IMAP ( Internet Message Access Protocol ) on sovelluskerroksen protokolla sähköpostin käyttämiseen .
Se perustuu TCP - siirtoprotokollaan ja käyttää porttia 143, kun taas IMAPS (IMAP over SSL ) käyttää porttia 993. IMAP toimii vain viestien kanssa eikä vaadi paketteja erityisillä otsikoilla [1] .
IMAP tarjoaa käyttäjälle runsaasti mahdollisuuksia työskennellä sähköpostipalvelimella olevien postilaatikoiden kanssa . Tätä protokollaa käyttävä sähköpostiohjelma käyttää palvelimen kirjeenvaihtomuistia ikään kuin tämä kirjeenvaihto sijaitsisi vastaanottajan tietokoneessa . Sähköposteja voidaan käsitellä käyttäjän tietokoneelta ( asiakkaalta ) ilman , että sähköpostien koko sisältö lähetetään jatkuvasti edestakaisin palvelimelta .
SMTP -protokollaa käytetään yleensä viestien lähettämiseen , koska alkuperäinen IMAP-lähetyskomento, nimeltään APPEND, ei sisällä mekanismia palvelutietojen siirtoon [1] .
Postilaatikoiden (kansioiden) nimissä , joissa on ASCII -alueen ulkopuolisia merkkejä , käytetään UTF-7- koodauksen muokattua versiota [1] .
IMAP-protokolla on vaihtoehto POP :lle , jolla on alkeelliset lähetysominaisuudet.
POP -protokollan ensimmäisessä versiossa oli useita puutteita, joista vakavin oli puute hallita viestien liikkumista ja tallentamista palvelimelle. POP : ssa viestit ladataan sähköpostipalvelimelta kerralla, minkä jälkeen ne poistetaan palvelimelta, eli vastaanotettavia viestejä ei voi valita.
Ratkaisekseen POP :n tähän ominaisuuteen liittyvät ongelmat vuonna 1986 Mark Crispin ( eng. Mark Crispin ), joka työskenteli silloin Stanfordin yliopistossa , loi uuden protokollan sähköpostin vastaanottamiseksi palvelimelta [2] .
Uusi protokolla mahdollisti sen, että käyttäjät voivat vastaanottaa sähköpostia useaan paikkaan samasta postilaatikosta. Käyttäjällä on mahdollisuus hallita viestejä postilaatikossaan ja lisätoimintoja postilaatikoiden huoltoon palvelimella.
Jatkossa POP -protokolla viimeisteltiin, POP3 :ssa (POP versio 3) on mahdollista vastaanottaa valittuja viestejä palvelimelta ja jättää valitut viestit palvelimelle. Uusimmissa IMAP- ja POP -versioissa suurin ero käyttäjän kannalta on se, että IMAP4 voi käyttää palvelimen eri postikansioissa olevia kirjaimia ja siirtää kirjaimia niiden välillä, kun taas POP3 käyttää palvelimella olevia kirjaimia lineaarisessa luettelossa olevien numeroiden perusteella (eli se toimii vain yhden postikansion kanssa).
IMAP-protokollan versiot [2]Käytettäessä POP3 :a asiakas muodostaa yhteyden palvelimeen vain sen ajan, joka kuluu uusien viestien lataamiseen. IMAP-protokollaa käytettäessä yhteyttä ei katkaista käyttöliittymän ollessa aktiivinen, ja viestit ladataan vain asiakkaan pyynnöstä. Tämä lyhentää niiden käyttäjien vastausaikaa , joiden postilaatikoissa on paljon suuria viestejä.
POP - protokolla edellyttää, että nykyinen asiakas on ainoa, joka on kytketty laatikkoon. IMAP mahdollistaa useiden asiakkaiden pääsyn postilaatikkoon samanaikaisesti ja antaa asiakkaalle mahdollisuuden seurata muiden samaan aikaan yhdistettyjen asiakkaiden tekemiä muutoksia.
IMAP4:ssä määritellyn lippujärjestelmän ansiosta asiakas voi seurata viestin tilaa (luettu, vastattu, poistettu jne.); lipputiedot tallennetaan palvelimelle.
IMAP4-asiakkaat voivat luoda, nimetä uudelleen ja poistaa postilaatikoita ja siirtää viestejä postilaatikoiden välillä. Vaihtoehtoisesti voit käyttää "IMAP4 Access Control List ( ACL ) Extension -laajennusta" ( RFC 4314 ) hallitaksesi postilaatikon käyttöoikeuksia.
Viestit etsitään palvelimen puolelta.
IMAP4:ssä on selkeä laajennusmekanismi. [3]
IMAP toimii vain viestien kanssa eikä vaadi paketteja erityisillä otsikoilla. Jokaiseen viestiin liittyy useita attribuutteja. Nämä attribuutit voidaan määrittää yksittäin tai yhdessä muiden attribuuttien kanssa.
Jokaiselle viestille on määritetty 32-bittinen koodi , joka, kun sitä käytetään yhdessä yksilöllisen tunnisteen kanssa, muodostaa 64-bittisen sekvenssin, joka takaa viestin yksilöllisen tunnistamisen postilaatikossa. Mitä myöhemmin viesti saapui, sitä suurempi on sen UID.
UID liitetään postilaatikkoon ja lähetetään uidvalidity (ok) -vastauskoodina postilaatikon valintavaiheessa. Jos edellisen istunnon UID: tä ei jostain syystä voida käyttää, UID:tä on lisättävä.
Viestin UID ei saa muuttua istunnon aikana eikä se saa vaihtua istunnosta toiseen. Jos viestin UID:tä ei kuitenkaan ole mahdollista tallentaa seuraavassa istunnossa, jokaisella myöhemmällä istunnolla on oltava uusi yksilöllinen tunnistekoodi, jonka on oltava suurempi kuin minkä tahansa aiemmin käytetyn UID:n.
Postilaatikossa olevan viestin järjestysnumero alkaa numerosta 1. Jokaisella viestillä toisesta alkaen on järjestysnumero, joka on täsmälleen 1 suurempi kuin sitä edeltävä.
Viestin järjestysnumeron muuttaminen istunnon aikana on sallittua. Esimerkiksi kun viesti poistetaan postilaatikosta, kaikkien seuraavien viestien numerot muuttuvat.
Tämä attribuutti on luettelo nollasta tai useammasta nimetystä tunnisteesta , jotka liittyvät annettuun viestiin. Lippu asetetaan lisäämällä se tähän luetteloon ja nollataan poistamalla se. IMAP 4.1:ssä on kahdenlaisia lippuja. Lippu voi olla pysyvä tai aktiivinen vain tämän istunnon ajan.
Järjestelmälippu on lippu, jonka nimi on määritetty protokollamäärityksessä. Kaikki järjestelmäliput alkavat kirjaimella \.
Seuraavat järjestelmäliput on tällä hetkellä määritetty:
Viestin vastaanottoaika ja -päivämäärä. Jos viesti toimitettiin SMTP-protokollan kautta , toimituspäivämäärä ja -aika lopulliseen määränpäähän. Kopioi-komennolla toimitetuille viesteille viestin lähettäjän sisäinen päivämäärä ja kellonaika. Käytettäessä komentoa append , komennon parametrien määrittämä päivämäärä ja aika.
IMAP 4.1 - yhteys edellyttää yhteyden muodostamista asiakkaan ja palvelimen välille . Asiakas lähettää komennot palvelimelle, palvelin lähettää asiakkaalle dataa ja ilmoituksia pyynnön tilasta. Kaikki viestit, sekä asiakas että palvelin, ovat merkkijonojen muodossa, jotka päättyvät erityisellä sekvenssillä.
Mikä tahansa toimenpide alkaa asiakkaan komennolla. Mikä tahansa asiakaskomento alkaa tunnisteetuliitteellä (yleensä lyhyt aakkosnumeerinen merkkijono, kuten , A0001jne. A0002), jota kutsutaan tunnisteeksi. Kullekin komennolle asiakas luo oman etiketin.
On kaksi tapausta, joissa asiakkaan lähettämä merkkijono ei edusta täydellistä komentoa. Ensimmäisessä komennon argumentti toimitetaan koodilla, joka määrittää merkkijonon oktettien määrän. Toisessa komennon argumentit vaativat vastauksen palvelimelta. Molemmissa tapauksissa palvelin lähettää komennon jatkopyynnön, joka alkaa merkillä +.
Asiakkaan on lähetettävä yksi komento ennen toisen lähettämistä.
Palvelimen protokollavastaanotin lukee asiakkaalta saadun komentojonon, jäsentää sen, poimii parametrit ja lähettää tiedot palvelimelle. Kun komento on valmis, palvelin lähettää vastauksen.
Palvelimen asiakkaalle lähettämät tiedot sekä tilavastaukset, jotka eivät osoita komennon valmistumista, ovat etuliitteitä * ja niitä kutsutaan merkitsemättömiksi vastauksiksi.
Palvelin voi lähettää tietoja asiakkaan komennon perusteella tai omasta aloitteestaan. Tietojen muoto ei riipu lähetyksen syystä.
Vastaus osoittaa toimenpiteen onnistumisen/epäonnistumisen. Se käyttää samaa nimiötä kuin toimenpiteen aloittanut asiakaskomento. Siten, jos useampi kuin yksi komento suoritetaan, palvelintunniste osoittaa komentoon, joka aiheutti vastauksen. Palvelimen lopetusvastauksia on kolmenlaisia: ok(onnistuminen), no(epäonnistuminen), bad(protokollavirhe, esim. komentoa ei tunnisteta tai syntaksivirhe havaittu).
IMAP 4.1 - asiakasprotokollan kuuntelija lukee vastausmerkkijonon palvelimelta ja ryhtyy toimiin ensimmäisen *tai merkin mukaan +.
Asiakkaan on oltava valmis ottamaan vastaan kaikki vastaukset palvelimelta milloin tahansa. Palvelimen tiedot on kirjoitettava niin, että asiakas voi käyttää niitä suoraan lähettämättä hakupyyntöjä palvelimelle.
IMAP 4.1 -palvelin on yhdessä neljästä tilasta.
Useimpia komentoja voidaan käyttää vain tietyissä tiloissa.
Todentamattomassa tilassa asiakkaan on annettava käyttäjätunnus ja salasana, ennen kuin useimmat komennot ovat sen käytettävissä. Siirtyminen tähän tilaan tapahtuu, kun yhteys muodostetaan ilman edeltävää todennusta.
Todistetussa tilassa asiakas tunnistetaan ja hänen on valittava postilaatikko, jonka jälkeen viestien käsittelykomennot tulevat hänen saatavilleen. Siirtyminen tähän tilaan tapahtuu, kun muodostetaan yhteys esitodennuksen avulla , kun kaikki tarvittavat tunnistustiedot on annettu tai kun postilaatikko valitaan vahingossa.
Järjestelmä siirtyy valintatilaan , kun postilaatikko on valittu onnistuneesti.
Järjestelmä siirtyy poistumistilaan , kun yhteys katkeaa asiakkaan pyynnöstä tai palvelimen itsenäisen päätöksen seurauksena.
URI- järjestelmät | |
---|---|
Virallinen | |
epävirallinen |
TCP /IP-perusprotokollat OSI -mallin kerroksittain | |
---|---|
Fyysinen | |
kanavoitu | |
verkkoon | |
Kuljetus | |
istunto | |
Edustus | |
Sovellettu | |
Muuta sovellettu | |
Luettelo TCP- ja UDP-porteista |