Telemat Lab's home page


Copyright © 1997 Università di Firenze. All rights reserved.

license available.

 

CORSO DI TELEMATICA
LOGIN REMOTO, TRASFERIMENTO FILE, POSTA ELETTRONICA

di: Massimo Pollini, Samuele Nasorri , Riccardo Antonelli



HYPER HOME Indice gen. Indice prec. Indice locale Indice succ.

Posta elettronica

 

 

slide 1






La posta elettronica permette, utilizzando un computer, di spedire e ricevere posta. È un servizio molto semplice da utilizzare e permette di sfruttare in maniera ottimale la rete garantendo tutta una serie di opzioni che altri sistemi non forniscono (FIDONET, UUCP). La posta elettronica offre un metodo rapido e conveniente di trasferimento delle informazioni. Essa può gestire con un singolo meccanismo piccole note o grandi e voluminosi documenti, messaggi audio ed immagini. I sistemi di posta elettronica adottano una tecnica nota come Spooling. Quando un utente invia un messaggio postale, il sistema ne pone una copia nella sua area privata (di spool) insieme con un identificatore del mittente (trasmettitore), del destinatario (ricevitore), della macchina di destinazione e del tempo di deposito. Il sistema avvia quindi il trasferimento alla macchina remota come un attività in background.




 

 

 

 

 

 

 

 

slide 2






Il processo di trasferimento della posta in background diviene un client, che stabilisce una corrispondenza fra la macchina di destinazione ed un indirizzo IP e tenta di formare una connessione TCP col server postale della macchina di destinazione. Se ci riesce, il processo di trasferimento passa una copia del messaggio al server remoto (che la memorizza nella area di spool) e successivamente il client rimuove la propria copia locale (dopo che ha saputo che la consegna della posta ha avuto buon esito). La posta elettronica utilizza il protocollo FTP che fornisce un servizio sicuro . In realtà se si prende un messaggio che arriva da Internet si troverà tutta una serie di passaggi di firma di SMTP server, questo in quanto Internet sfrutta tutta una serie di server intermedi in cui i passaggi sono sicuri. Il processo di trasferimento in background scandisce periodicamente l'area di Spooling, controllando la posta non consegnata. Se il software scopre che un messaggio non può essere consegnato dopo un certo tempo lo restituisce al mittente. Sotto è mostrato lo schema di principio della posta elettronica.




 

 

 

 

 

 

 

 

 

slide 3






La MAIL BOX è la cassetta postale dove vengono messi i messaggi in arrivo per un determinato utente. Il formato di un messaggio è costituito da due parti, un header (intestazione) ed il messaggio vero e proprio (body). L'header è l’equivalente della busta, su cui viene indicato il destinatario, il mittente, il soggetto di posta elettronica, la data ed altre informazioni. L'indirizzo di posta elettronica è costituito da due parti, nella prima è definito un indirizzo di cassetta postale e nella seconda parte viene indicato l'indirizzo di una macchina in Internet o di un Gateway Postale.

Parte - locale @ nome -Host postale

Il nome Host postale viene risolto dal DNS (Domain Name Server) in un indirizzo IP agendo su uno spazio di nomi differente rispetto a quello degli altri servizi (FTP,Telnet), che può o non può essere identico permettendo l'uso di Host postali altrimenti impossibili. Di solito gli indirizzi della cassetta postale coincidono con l'identificatore di Login dell’utente.
I Gateway Postali forniscono le connessioni fra sistemi postali TCP/IP standard ed altri sistemi postali, come pure fra reti internet TCP/IP e reti che non gestiscono i protocolli internet. Ad esempio, si supponga che la società X abbia una grande rete interna e che gli impiegati utilizzino la posta elettronica, ma che il software della rete utilizzata sia di tipo differente dal TCP/IP; benché possa non essere fattibile l'integrazione della rete della società nell'Internet, potrebbe essere semplice porre un Gateway Postale fra la rete privata della società e l'Internet e progettare il software che accetti messaggi postali dalla rete locale e li inoltri all'Internet. Utilizzando Gateway Postali la macchina del mittente non contatta direttamente la macchina del destinatario, ma invia la posta attraverso una o più macchine intermedie che provvedono ad inoltrarla. Il principale svantaggio dei Gateway Postali è l'inaffidabilità della consegna della posta (a causa della conversione della posta da un sistema che non gestisce il protocollo SMTP ad una rete internet ).
La maggior parte dei sistemi dispone di un software di spedizione della posta che comprende un meccanismo di espansione degli alias postali. Uno spedizioniere consente alla postazione locale di convertire gli identificatori usati negli indirizzi postali in un insieme di uno o più indirizzi postali nuovi. Di solito dopo che un utente ha composto un messaggio e nominato un destinatario, il programma d’interfaccia postale consulta gli alias locali per sostituire il destinatario con la versione convertita prima di passare il messaggio al sistema di consegna. Analogamente il sistema postale impiega alias postali per convertire gli indirizzi in arrivo dai destinatari. Le corrispondenze degli alias possono essere da molti ad uno e da uno a molti. Per esempio consente che un singolo individuo abbia più identificatori postali (fra cui soprannomi e mansioni). Utilizzando gli alias è possibile porre in corrispondenza un identificatore con una lista di identificatori, è possibile stabilire un exploder postale, cioè un meccanismo che accetta un messaggio in arrivo e lo invia ad un grande insieme di destinatari, che costituisce un gruppo di utenti .




 

 

 

 

 

 

 

 

 

slide 4






Per rendere più semplice la gestione degli standard di posta elettronica il TCP/IP suddivide i suoi standard postali in due insiemi: uno standard specifica il formato dei messaggi postali (822), mentre l'altro specifica i dettagli dello scambio di posta elettronica (SMTP). Il fatto di tenere separati i due standard agevola la realizzazione di Gateway Postali che interconnettono le internet TCP/IP al sistema di consegna della posta di qualche altro fornitore, mentre si può impiegare ancora per entrambi il medesimo formato del messaggio. Lo standard 822 specifica il formato esatto delle intestazioni come pure l'interpretazione semantica di ciascun campo di intestazione, mentre il formato del corpo è lasciato al mittente. Lo standard specifica che le intestazioni contengono un testo leggibile suddiviso in righe che consistono di una parola chiave seguita da un segno di (:), seguito da un valore. Alcune parole chiave sono necessarie, altre sono facoltative, ma è interessante notare che lo standard prevede che tutto quello che non è definito necessario è opzionale ed è interpretabile o meno, potendo così introdurre nuove intestazioni. L'intestazione deve contenere una riga che specifica la destinazione. Tale riga inizia con To e contiene l'indirizzo di posta elettronica del destinatario. Una riga iniziante con From contiene l'indirizzo di posta elettronica del mittente. Facoltativamente l'utente può specificare un indirizzo dove mandare le risposte. Se presente, una riga che inizia con Reply-To: specifica l’indirizzo per le risposte. Oltre ai formati dei messaggi, la suite di protocolli TCP/IP specifica uno standard per lo scambio di posta fra macchine, cioè tale standard specifica il protocollo che un client in una macchina impiega per trasferire la posta in un server in un'altra macchina. Il protocollo di trasferimento è noto come SMTP (Simple Mail Transfer Protocol) o come standard 821. Questo si concentra specificatamente sul modo con cui il sottostante sistema di consegna della posta passa i messaggi da una macchina ad un’altra attraverso un collegamento. Esso non specifica il modo in cui il sistema postale accetta la posta da un utente, né il modo in cui la posta viene memorizzata né la frequenza con cui il sistema postale tenta di inviare messaggi. Anche se l'SMTP definisce rigidamente il formato dei comandi, gli esseri umani possono facilmente leggere una trascrizione delle interazioni fra un client e un server. Inizialmente, il client stabilisce una connessione di stream affidabile col server ed attende che quest'ultimo trasmetta un messaggio 220 (READY FOR MAIL), che indica la disponibilità a ricevere posta. (Se il server è sovraccarico, può ritardare temporaneamente l'invio del messaggio 220). Alla ricezione del messaggio 220, il client invia un comando HELO. La fine di una riga segna la fine di un comando. Il server risponde identificandosi. Una volta che la comunicazione è stata stabilita, il mittente può trasmettere uno o più messaggi postali, terminare la connessione, o richiedere al server lo scambio dei ruoli di mittente o di destinatario affinchè i messaggi possano fluire nella direzione opposta. Il ricevente deve riscontrare ciascun messaggio, esso può anche far terminare prematuramente l'intera connessione o il trasferimento del messaggio in corso.
Le transazioni postali iniziano con un comando MAIL che fornisce l'identificatore del mittente, come pure un campo FROM: che contiene l'indirizzo a cui dovrebbero essere riportati gli errori. Un destinatario prepara le sue strutture dati per ricevere un nuovo messaggio postale e risponde ad un comando MAIL inviando la risposta 250, indicante che tutto va bene. La risposta completa consiste del testo 250 (OK). Come per altri protocolli di applicazione, i programmi leggono i comandi abbreviati e i numeri di tre cifre all'inizio delle righe; il restante testo serve per aiutare gli esseri umani ad analizzare e correggere il software postale. Dopo un comando MAIL andato a buon fine, il mittente invia una serie di comandi RCPT che identificano i destinatari del messaggio postale. Il ricevitore deve riscontrare ciascun comando RCPT inviando 250 (OK) oppure il messaggio di errore No such user here(qui non esiste un utente con tale nome). Dopo tutti i comandi RCPT, il mittente invia un comando DATA (dati). Il ricevitore risponde col messaggio 354 (Start mail input) e specifica una sequenza di caratteri da usare per terminare i messaggi postali. Una volta che un client ha terminato d'inviare tutti i messaggi postali in suo possesso per una determinata destinazione, il client può inviare il comando TURN per invertire la direzione della linea. Se lo fa, il ricevitore risponde con il messaggio 250 (OK) ed assume il controllo della linea. Qualunque parte che controlli l'interazione può scegliere di terminare la sessione, inviando un comando QUIT. L'altra parte risponderà col comando 221, che indica il consenso alla terminazione. Entranbe le parti chiuderanno la connessione TCP di comune accordo.




 

 

 

 

 

 

 

 

 

slide 5






Un altro standard molto importante da analizzare è il MIME, questo è un’estenzione dell' 822, infatti amplia il formato del corpo del messaggio di posta elettronica molto oltre le possibilità offerte dallo standard 822. Il MIME dà un formato per il body: definisce dei caratteri di controllo per le lettere accentate, permette di separare nel body parti diverse con codifiche diverse (a 7 o 8 bit ) e con esso tutte le lettere vengono codificate in un codice espanso. In questo standard c'è una codifica BASE 64 che permette di trasferire file binari in sistemi a 7 bit ed è possibile creare dei Browser di posta elettronica che permettono all'utente di avere degli attachments nella maniera più opportuna (immagini attaccate alla posta elettronica all'interno del lettore di posta). Altri due protocolli da analizzare sono il POP 3 e IMAP. Il POP 3 è una versione del SMTP molto ridotta ed è meno pesante per essere implementata all'interno di un programma di posta elettronica. Il POP 3 serve non a spedire i messaggi ma a riceverli. Questo si interfaccia con il server POP 3 o meglio nell' interfaccia utente c'è un POP 3 server. Interfacciandoci con il POP 3 server è possibile prelevare i messaggi. Il POP 3 attende di essere contattato da un client e non si comporta come lo standard SMTP, che tenta autonomamente di instaurare una connessione per vedere se sono pervenuti messaggi. Questo standard può essere usato su linee seriali, ed è utile per computer che si connettono alla rete in maniera saltuaria. Inoltre, rispetto al SMTP, ha l'autenticazione. L’IMAP fa quello che fa il POP ma permette di gestire meglio le mailbox e come il POP permette l'autenticazione.




Telemat Lab's home page

HYPER HOME Indice gen. Indice prec. Indice locale Indice succ.