10110 Reti di Calcolatori 01100 01011 IL LIVELLO

  • Slides: 23
Download presentation
10110 Reti di Calcolatori 01100 01011 IL LIVELLO APPLICAZIONI: E-mail

10110 Reti di Calcolatori 01100 01011 IL LIVELLO APPLICAZIONI: E-mail

101100 01011 La posta elettronica Funzionamento del sistema di E-mail Il formato dei messaggi

101100 01011 La posta elettronica Funzionamento del sistema di E-mail Il formato dei messaggi Il protocollo SMTP I protocolli POP, IMAP

La Posta Elettronica o E-mail 101100 01011 Questa applicazione permette di scambiare dati tra

La Posta Elettronica o E-mail 101100 01011 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

La Posta Elettronica 101100 01011 Agenti utente Programmi per leggere, comporre e gestire la

La Posta Elettronica 101100 01011 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 (POP 3, 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).

Trasferimento di E-mail 101100 01011 Nodo Client mittente agente utente coda della posta da

Trasferimento di E-mail 101100 01011 Nodo Client mittente agente utente coda della posta da spedire agente di trasferimento SMTP connessione TCP sulla porta 25 destinatario agente utente mailboxes degli utenti Nodo Server agente di trasferimento

Indirizzi di Posta Elettronica 101100 01011 Hanno il formato utente@dominio Gli indirizzi sono risolti

Indirizzi di Posta Elettronica 101100 01011 Hanno il formato utente@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 dell’utente. La mailbox è un file di testo in una directory specifica nel server (es. in Unix può essere /spool/mail/utente ) L’utente 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.

10110 Formato dei Messaggi 01100 01011 (a) Posta normale (b) Posta elettronica

10110 Formato dei Messaggi 01100 01011 (a) Posta normale (b) Posta elettronica

Campi Intestazione 101100 01011 To: Indirizzo DNS del destinatario (o destinatari). Cc: Copia in

Campi Intestazione 101100 01011 To: Indirizzo DNS del destinatario (o destinatari). Cc: Copia in carta carbone (indirizzi “per conoscenza”) Bcc: Copia in carta carbone con indirizzi invisibili ai riceventi. From: indirizzo di chi ha scritto il messaggio (necessario). Sender: indirizzo di chi ha inviato il messaggio (opzionale).

10110 Campi Intestazione (cont. ) 01100 01011 Received: Indica l’agente che ha ricevuto il

10110 Campi Intestazione (cont. ) 01100 01011 Received: Indica l’agente 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. Date: Data e ora in cui il messaggio è stato inviato Reply-to: Indirizzo al quale inviare le risposte (reply) se diverso da From. Message-Id: Numero unico che individua il messaggio Subject: Oggetto del messaggio

Un Esempio di Intestazione 101100 01011 Return-Path: <Francesco. Mignolo@esa. int> Received: from esacom 57

Un Esempio di Intestazione 101100 01011 Return-Path: <Francesco. Mignolo@esa. int> Received: from esacom 57 -int. estec. esa. int (esacom 57 -ext. estec. esa. int [131. 176. 107. 4]) by dns. icar. cnr. it (8. 12. 3/Debian -4) with ESMTP id h 99 CMFFQ 013000 for <mastroianni@icar. cnr. it>; Thu, 9 Oct 2003 14: 22: 15 +0200 Received: from esacom 52. estec. esa. int (esacom 52. estec. esa. int [131. 176. 7. 7]) by esacom 57 -int. estec. esa. int (8. 12. 9/ESA-External-v 3. 2) with ESMTP id h 99 CSGx. L 004751 for <mastroianni@icar. cnr. it>; Thu, 9 Oct 2003 14: 28: 16 +0200 (MET DST) Subject: hello To: mastroianni@icar. cnr. it Message-ID: OF 21664 C 1 B. BEC 82 A 0 C-ON 41256 DBA@estec. esa. int X-Mailer: Lotus Notes Release 5. 0. 10 March 22, 2002 From: Domenico. Mignolo@esa. int Date: Thu, 9 Oct 2003 15: 28: 12 +0200 Content-Length: 710 Subject: <oggetto messaggio> <testo messaggio…>

Codifica dei Messaggi 101100 01011 La posta è inviata come testo ASCII. Non è

Codifica dei Messaggi 101100 01011 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 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.

MIME 101100 01011 Multipurpose Internet Mail Extensions (RFC 1521) Aggiunge dei campi di intestazione

MIME 101100 01011 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: Content-Type: Content-Transfer-Encoding: Content-ID: Content-Description: versione MIME tipo del messaggio tipo di codifica identificatore unico del messaggio descrizione del contenuto

101100 01011 MIME: tipo del messaggio

101100 01011 MIME: tipo del messaggio

MIME: tipo di codifica 101100 01011 I tipi di codifica possibili sono: Caratteri a

MIME: tipo di codifica 101100 01011 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).

Esempio di Intestazione MIME (1/2) 101100 01011 Return-Path: <sacca@unical. it> Received: … From: sacca@unical.

Esempio di Intestazione MIME (1/2) 101100 01011 Return-Path: <sacca@unical. it> Received: … From: sacca@unical. it To: "Gianluigi Folino" <folino@icar. cnr. it>, "Carlo Mastroianni" <mastroianni@icar. cnr. it>, … Cc: <l. corsonello@unical. it>, "'Preside'" <luchi@unical. it> Date: Wed, 15 Oct 2003 04: 19: 36 +0200 Message-ID: <000201 c 392 c 2$cb 70 e 4 b 0$c 501 a 8 c 0@vajo> MIME-Version: 1. 0 Content-Type: multipart/mixed; boundary="----=_Next. Part_0003_01 C 392 D 3. 8 EFB 3 B 50" X-Mailer: Microsoft Outlook, Build 10. 0. 3416 Content-Length: 117200 This is a multi-part message in MIME format. ------=_Next. Part_0003_01 C 392 D 3. 8 EFB 3 B 50

Esempio di Intestazione MIME (2/2) 101100 01011 Content-Type: text/plain; charset="iso-8859 -1" Content-Transfer-Encoding: quoted-printable Carissimi=20

Esempio di Intestazione MIME (2/2) 101100 01011 Content-Type: text/plain; charset="iso-8859 -1" Content-Transfer-Encoding: quoted-printable Carissimi=20 invio in allegato la convocazione del Consiglio dei Corsi di Laurea e di … Domenico Sacc=E 0 ------=_Next. Part_0003_01 C 392 D 3. 8 EFB 3 B 50 Content-Type: application/pdf; name="Convocazione votazioni Ing. Info 22 -10 -03. pdf" Content-Transfer-Encoding: base 64 Content-Disposition: attachment; filename="Convocazione votazioni Ing. Info 22 -1003. pdf" Pj 4 g. DXN 0 cm. Vhb. Q 0 K 8 n 5 i. U/Nue 8 RAm. L 2 Ron. DU 7 c. O 7 Mur. Dg/wefz Wtm. C 8/r. UVd. A 9 mx/w. Yq. Lg 7 CDMIR … ------=_Next. Part_0003_01 C 392 D 3. 8 EFB 3 B 50 --

Il Protocollo SMTP 101100 01011 I comandi SMTP sono inviati in ASCII utilizzando una

Il Protocollo SMTP 101100 01011 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 <host> “Saluta” il server. MAIL FROM: <indirizzo> “busta” Indica il mittente del messaggio. RCPT TO: <indirizzo> Indica il destinatario. DATA Invia i campi dell’intestazione (es. Subject), ed il corpo del messaggio terminato da un punto (. ) messo da solo su una linea. QUIT Chiude la connessione

10110 Esempio di “conversazione” SMTP 01100 01011 Server: Client: Server: Client: Server: 220 dns.

10110 Esempio di “conversazione” SMTP 01100 01011 Server: Client: Server: Client: Server: 220 dns. icar. cnr. it … logging access from: minos. cs. icar. cnr. it [150. 145. 63. 34] HELO dns. icar. cnr. it 250 dns. icar. cnr. it Hello minos. cs. icar. cnr. it [150. 145. 63. 34], pleased to meet you MAIL FROM: <carlo@minos. cs. icar. cnr. it> 250 2. 1. 0 <carlo@minos. cs. icar. cnr. it>. . . Sender ok RCPT TO: <mastroianni@icar. cnr. it> 250 2. 1. 5 <mastroianni@icar. cnr. it>. . . Recipient ok DATA 354 Enter mail, end with ". " on a line by itself Subject: prova testo prova. 250 2. 0. 0 h. A 5 Bp. SJ 9031480 Message accepted for delivery QUIT 221 2. 0. 0 dns. icar. cnr. it closing connection Connection closed by foreign host.

10110 Gateway di Posta Elettronica 01100 01011 Quando le macchine che si scambiano messaggi

10110 Gateway di Posta Elettronica 01100 01011 Quando le macchine che si scambiano messaggi di posta elettronica non supportano connessioni TCP occorre far uso di un gateway al livello delle applicazioni.

Gestione delle mailing list 101100 01011 Una mailing list è una lista di indirizzi

Gestione delle mailing list 101100 01011 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.

Caselle Postali Remote 101100 01011 La casella di posta è in genere posta su

Caselle Postali Remote 101100 01011 La casella di posta è in genere posta su server potenti ed operanti 24 h su 24. L’utente accede alla propria casella di posta remota tramite appositi protocolli: Post Office Protocol (POP 3) protocollo semplice per recuperare i messaggi e memorizzarli sulla macchina dell’utente. Interactive Mail Access Protocol (IMAP) più complesso 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.

Accesso remoto alle caselle postali 101100 01011 Sul mail server operano solitamente due programmi

Accesso remoto alle caselle postali 101100 01011 Sul mail server operano solitamente due programmi server: o il server SMTP per ricevere ed inviare i messaggi o alle caselle postali.

101100 01011 POP e IMAP

101100 01011 POP e IMAP