Title: Reti di Calcolatori
1Reti di Calcolatori
- IL LIVELLO APPLICAZIONI
- E-mail
2 La posta elettronica Funzionamento del
sistema di E-mail Il formato dei messaggi Il
protocollo SMTP I protocolli POP, IMAP
3La Posta Elettronica o E-mail
- Questa applicazione permette di scambiare dati
tra due o più utenti identificati univocamente
sulla rete. - Gli standard RFC 821 e RFC 822 proposti da
ARPANET sono stati accettati a scapito di altre
proposte come X.400 proposto dal CCITT. - Due sottosistemi
- user agent agenti utenti che permettono di
comporre, inviare e ricevere messaggi di posta. - Transfer agent agenti di trasferimento che si
occupano di far arrivare i messaggi dal mittente
al destinatario, tramite il protocollo SMTP - Il sistema di posta supporta cinque funzioni di
base - composizione ? trasferimento
- notifica ? visualizzazione
- memorizzazione
4La Posta Elettronica
- Agenti utente
- Programmi per leggere, comporre e gestire la
posta e le mailboxes (es. Eudora, Netscape
Messenger, Outlook, Pine, Mailtool) - Possono utilizzare protocolli per la gestione di
mailbox remote (POP3, IMAP). - Agenti di trasferimento
- Gestiscono il trasferimento dei messaggi dalla
sorgente alla destinazione e la ricezione dei
messaggi sui server di posta. - Sono programmi di sistema eseguiti in background
che usano il protocollo SMTP per trasferire i
messaggi sulla rete (es. sendmail, postfix).
5Trasferimento di E-mail
6Indirizzi di Posta Elettronica
- Hanno il formato utente_at_dominio
- Gli indirizzi sono risolti dal DNS che individua
il server a cui inviare il messaggio
(eventualmente usa una richiesta MX) - Il server di posta riceve i messaggi e li accoda
nella mailbox dellutente. - La mailbox è un file di testo in una directory
specifica nel server (es. in Unix può essere
/spool/mail/utente ) - Lutente può accedere alla posta localmente
leggendo il file mailbox. Lo user agent per la
lettura della posta provvede a individuare i
singoli messaggi nella mailbox.
7Formato dei Messaggi
- (a) Posta normale (b) Posta elettronica
8Campi Intestazione
- ToIndirizzo DNS del destinatario (o
destinatari). - CcCopia in carta carbone (indirizzi per
conoscenza) - BccCopia in carta carbone con indirizzi
invisibili ai riceventi. - Fromindirizzo di chi ha scritto il messaggio
(necessario). - Senderindirizzo di chi ha inviato il messaggio
(opzionale).
9Campi Intestazione (cont.)
- ReceivedIndica lagente che ha ricevuto il
messaggio insieme ad un timestamp. Viene inserito
da ogni agente durante il trasferimento. Si può
cosi ricostruire il percorso della email. - DateData e ora in cui il messaggio è stato
inviato - Reply-toIndirizzo al quale inviare le risposte
(reply) se diverso da From. - Message-IdNumero unico che individua il
messaggio - SubjectOggetto del messaggio
10Un Esempio di Intestazione
Return-Path ltFrancesco.Mignolo_at_esa.intgt Received
from esacom57-int.estec.esa.int
(esacom57-ext.estec.esa.int 131.176.107.4) by
dns.icar.cnr.it (8.12.3/8.12.3/Debian -4) with
ESMTP id h99CMFFQ013000 for ltmastroianni_at_icar.cnr
.itgt Thu, 9 Oct 2003 142215 0200 Received
from esacom52.estec.esa.int (esacom52.estec.esa.in
t 131.176.7.7) by esacom57-int.estec.esa.int
(8.12.9/8.12.9/ESA-External-v3.2) with ESMTP id
h99CSGxL004751 for ltmastroianni_at_icar.cnr.itgt
Thu, 9 Oct 2003 142816 0200 (MET
DST) Subject hello To mastroianni_at_icar.cnr.it Me
ssage-ID OF21664C1B.BEC82A0C-ON41256DBA_at_estec.esa
.int X-Mailer Lotus Notes Release 5.0.10 March
22, 2002 From Domenico.Mignolo_at_esa.int Date
Thu, 9 Oct 2003 152812 0200 Content-Length
710 Subject ltoggetto messaggiogt lttesto
messaggiogt
11Codifica dei Messaggi
- La posta è inviata come testo ASCII.
- Non è possibile trasmettere caratteri non ASCII
con messaggi di e-mail senza una opportuna
codifica. - La soluzione è stata quella di usare il formato
MIME per permettere alle e-mail di codificare e
trasmettere caratteri non ASCII. - MIME definisce una struttura del corpo del
messaggio e definisce come codificare i messaggi
non ASCII. -
12MIME
- Multipurpose Internet Mail Extensions (RFC 1521)
- Aggiunge dei campi di intestazione per definire
la struttura del corpo del messaggio - I campi sono gestiti dallo user agent
- Mime-Version versione MIME
- Content-Type tipo del messaggio
- Content-Transfer-Encoding tipo di codifica
- Content-ID identificatore unico del messaggio
- Content-Description descrizione del contenuto
13MIME tipo del messaggio
14MIME tipo di codifica
- I tipi di codifica possibili sono
- Caratteri a 7 o 8 bit
- Usato per testo ASCII, con righe fino a 1000
caratteri. - Base 64 encoding
- Gruppi di 24 bit sono codificati in unità di 6
bit. - Le 64 combinazioni possibili sono codificate
tramite caratteri ASCII 26 caratteri maiuscoli,
26 minuscoli, le dieci cifre, e /. - Tale codifica è utilizzata per file binari (es.
allegato word). - Quoted-printable encoding
- Viene usata la codifica ASCII a 7 bit per i
primi 127 caratteri. - I caratteri con codifica superiore a 127 sono
rappresentati con un seguito da due cifre
esadecimali che corrispondono al valore del
carattere. - Codifica usata per testo con caratteri di
controllo (es. HTML, RTF). -
15Esempio di Intestazione MIME (1/2)
Return-Path ltsacca_at_unical.itgt Received From
sacca_at_unical.it To "Gianluigi Folino"
ltfolino_at_icar.cnr.itgt, "Carlo Mastroianni"
ltmastroianni_at_icar.cnr.itgt, Cc
ltl.corsonello_at_unical.itgt, "'Preside'"
ltluchi_at_unical.itgt Date Wed, 15 Oct 2003 041936
0200 Message-ID lt000201c392c2cb70e4b0c501a8c0_at_
vajogt MIME-Version 1.0 Content-Type
multipart/mixed boundary"----_NextPart_000_000
3_01C392D3.8EFB3B50" X-Mailer Microsoft Outlook,
Build 10.0.3416 Content-Length 117200 This is a
multi-part message in MIME format. ------_NextPar
t_000_0003_01C392D3.8EFB3B50
16Esempio di Intestazione MIME (2/2)
Content-Type text/plain charset"iso-8859-1" Co
ntent-Transfer-Encoding quoted-printable Carissim
i20 invio in allegato la convocazione del
Consiglio dei Corsi di Laurea e di Domenico
SaccE0 ------_NextPart_000_0003_01C392D3.8EFB3B5
0 Content-Type application/pdf name"Convocazio
ne votazioni IngInfo 22-10-03.pdf" Content-Transfe
r-Encoding base64 Content-Disposition
attachment filename"Convocazione votazioni
IngInfo 22-10-03.pdf" Pj4gDXN0cmVhbQ0K8n5iU/Nue8RA
mL2RonDU7cO7MurDg/wefz WtmC8/rUVdA9mx/wYqLg7CDMIR
------_NextPart_000_0003_01C392D3.8EFB3B50--
17Il Protocollo SMTP
- I comandi SMTP sono inviati in ASCII utilizzando
una connessione TCP sulla porta 25 della macchina
destinataria (provare con un programma java o con
il comando telnet host 25) - Sequenza di comandi del client
- HELO lthostgtSaluta il server.
- MAIL FROM ltindirizzogtIndica il mittente del
messaggio. - RCPT TO ltindirizzogtIndica il destinatario.
- DATA
- Invia i campi dellintestazione (es. Subject),
ed il corpo del messaggio terminato da un punto
(.) messo da solo su una linea. - QUITChiude la connessione
busta
18Esempio di conversazione SMTP
Server 220 dns.icar.cnr.it logging access
from minos.cs.icar.cnr.it 150.145.63.34 Client
HELO dns.icar.cnr.it Server 250
dns.icar.cnr.it Hello minos.cs.icar.cnr.it
150.145.63.34, pleased to meet you Client
MAIL FROM ltcarlo_at_minos.cs.icar.cnr.itgt Server
250 2.1.0 ltcarlo_at_minos.cs.icar.cnr.itgt... Sender
ok Client RCPT TO ltmastroianni_at_icar.cnr.itgt Ser
ver 250 2.1.5 ltmastroianni_at_icar.cnr.itgt...
Recipient ok Client DATA Server 354 Enter
mail, end with "." on a line by itself Client
Subject prova testo prova . Server 250
2.0.0 hA5BpSJ9031480 Message accepted for
delivery Client QUIT Server 221 2.0.0
dns.icar.cnr.it closing connection Connection
closed by foreign host.
19Gateway di Posta Elettronica
Quando le macchine che si scambiano messaggi di
posta elettronica non supportano connessioni TCP
occorre far uso di un gateway al livello delle
applicazioni.
20Gestione delle mailing list
- Una mailing list è una lista di indirizzi cui è
assegnato un indirizzo e-mail. - Un mail exploder (o forwarder) è un programma che
verifica in un archivio se un indirizzo è in
realtà una lista, e manda una copia del messaggio
a tutti gli appartenenti alla lista. - Spesso questi programmi sono eseguiti su appositi
host, detti e-mail gateway.
21Caselle Postali Remote
- La casella di posta è in genere posta su server
potenti ed operanti 24h su 24. - Lutente accede alla propria casella di posta
remota tramite appositi protocolli - Post Office Protocol (POP3)
- protocollo semplice per recuperare i messaggi e
memorizzarli sulla macchina dellutente. - Interactive Mail Access Protocol (IMAP)
- più complesso per permettere di leggere i
messaggi conservandoli sul server di posta.
Utilizzato di solito con interfaccia Web. - Distributed Mail System Protocol (DMSP)
- permette di gestire la posta su più server ed in
maniera asincrona.
22Accesso remoto alle caselle postali
- Sul mail server operano solitamente due programmi
server - il server SMTP per ricevere ed inviare i
messaggi - il server POP e/o IMAP per consentire laccesso
remoto alle caselle postali.
23POP e IMAP