IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP
Transcript
IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP
10110 Reti di Calcolatori 01100 01011 IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP D. Talia – RETI DI CALCOLATORI - UNICAL 10110 6-1 Applicazioni di Rete 01100 01011 Domain Name System (DNS) Simple Network Manag. Protocol (SNMP) Posta elettronica Multipurpose Internet Mail Extensions (MIME) Simple Mail Manag. Protocol (SMTP) Post Office Protocol (POP3) Interactive Mail Access Protocol (IMAP) D. Talia – RETI DI CALCOLATORI - UNICAL 6-2 1 10110 01100 Livello Applicativo 01011 www telnet Porte TCP Indirizzo IP 138.190.12.34 Indirizzi Ethernet 00-21-52-21-C6-84 D. Talia – RETI DI CALCOLATORI - UNICAL 10110 Applicazioni di Rete 01100 01011 Nel Livello Applicazioni abbiamo programmi applicativi e servizi usati dagli utenti della rete. Esempi significativi: Domain Name System (DNS) Risoluzione dei nomi delle risorse sulla rete. SNMP (Simple Network Management Protocol) Gestione di risorse di rete. POP3 (Post Office Protocol) e IMAP (Interactive Mail Access Protocol) Accesso remoto alle caselle di posta elettronica. Simple Mail Transfer Protocol (SMTP) Gestione della posta elettronica. FTP (File Transfer Protocol) Trasferimento file remoti. HTTP (HyperText Transfer Protocol) Server WWW e browsers Web. Telnet, Usenet news, ssh, ... D. Talia – RETI DI CALCOLATORI - UNICAL 6-4 2 Domain Name System (DNS) 10110 01100 01011 Gli indirizzi delle macchine in rete sono definiti in formato numerico, ma sono più facili da usare se sono indicati come delle stringhe. Sono più facili da ricordare e da capire. www.deis.unical.it Corrisponde a 160.97.27.7 Gli utenti usano nomi simbolici ma per comunicare sulla rete servono gli indirizzi IP numerici. Quando gli host sono pochi la tabella di conversione può essere memorizzata localmente ad ogni host (es, /etc/hosts in Unix). Il DNS è distribuito: ogni sito mantiene il suo database relativo agli host locali eseguendo su una macchina il server DNS che può essere interrogato da altri siti su Internet. Il DNS è un database distribuito che permette di convertire i nomi simbolici degli host negli indirizzi IP numerici. 6-5 D. Talia – RETI DI CALCOLATORI - UNICAL 10110 Lo Spazio dei Nomi in Internet 01100 01011 I nomi in Internet sono organizzati in modo gerarchico. I nodi rappresentano domini e le foglie domini senza sottodomini. it D. Talia – RETI DI CALCOLATORI - UNICAL 6-6 3 I domini di Internet 10110 01100 01011 I nomi dei componenti sono stringhe (case-insensitive) fino a 63 caratteri mentre il nome completo di un cammino non può superare 255 caratteri. Un nome di dominio assoluto termina con un punto (es. www.unical.it.). I nomi che non terminano con un punto sono relativi ad un contesto particolare. Ciascun dominio controlla l’allocazione dei suoi sottodomini. Un dominio è organizzato in base ad esigenze organizzative e non ad aspetti fisici della rete. D. Talia – RETI DI CALCOLATORI - UNICAL 6-7 I Domini Generici 10110 01100 01011 com edu gov int mil net org organizzazioni commerciali università USA organizzazioni governative USA organizzazioni internazionali rete militare USA fornitori di servizi di rete organizzazioni no profit In genere non sono riferiti ad una posizione geografica. Sono in fase di attivazione nuovi domini generici (es. info) Alcuni paesi inseriscono sottodomini equivalenti a quelli generici (es, .ac.au e .com.au - istituzioni accademiche e commerciali dell’Australia) Il NIC gestisce il primo livello; i sottolivelli sono gestiti localmente (gestione DNS servers, assegnazione nomi, ecc.). D. Talia – RETI DI CALCOLATORI - UNICAL 6-8 4 10110 Descrittori di Risorsa 01100 01011 Ciascun dominio può essere associato ad un insieme di descrittori di risorse (resource records). Quando un DNS riceve un nome di dominio per la sua risoluzione invia in risposta i descrittori di risorsa associati a quel nome. Un DNS mappa nomi di domini in descrittori di risorsa. Un descrittore di risorsa è una quintupla: NomeDominio TempoDiVita D. Talia – RETI DI CALCOLATORI - UNICAL 10110 Tipo Classe Valore 6-9 Tipi di Descrittore 01100 01011 A Indirizzo IP NS Name server. Permettono di specificare i name server dei domini radice. PTR alias o nome associato a un indirizzo IP (risoluzione inversa). CNAME Contiene il nome reale (canonico) per nomi che sono alias di host es. wwwinfo.deis.unical.it CNAME si.deis.unical.it. HINFO Informazioni sull’host (CPU, Sistema Operativo, ...) MX Scambio posta (Mail Exchange). Permette di definire nomi virtuali o un host alternativo per la consegna della posta elettronica, es. deis.unical.it MX mail.deis.unical.it D. Talia – RETI DI CALCOLATORI - UNICAL 6-10 5 Name Server e Zone 10110 01100 01011 Una zona è un sottoalbero del DNS amministrato separatamente. Per evitare problemi lo spazio dei nomi DNS è suddiviso in zone non sovrapposte. Ogni zona contiene un name server primario e uno o più name server secondari. D. Talia – RETI DI CALCOLATORI - UNICAL 6-11 Name Server 10110 01100 01011 Un Name Server ha autorità per una o più zone. I Name Server secondari ottengono le informazioni dal Name Server primario interrogandolo periodicamente, mentre i Name Server primari leggono le loro informazioni da un file. Quando si aggiunge un nuovo host nella zona si aggiunge una riga alla tabella presente sul Name Server primario. I messaggi per il servizio DNS sono inseriti in pacchetti UDP o TCP. D. Talia – RETI DI CALCOLATORI - UNICAL 6-12 6 Il Resolver 10110 01100 01011 Quando un’applicazione deve convertire un nome di host nell’indirizzo IP o viceversa, chiama una procedura resolver che contatta il DNS server del suo dominio. Quando un resolver chiede di risolvere il nome al name server locale: z z Il nome dell’host è locale, viene restituito il record di autorità. Il nome è relativo ad un host di un’altra zona viene effettuata una interrogazione ricorsiva su più server per ottenere l’indirizzo (a meno che non sia nella cache). In Java la procedura è incapsulata nella classe InetAddress. nslookup è un programma client che permette di esplorare la tabella del Name Server. 6-13 D. Talia – RETI DI CALCOLATORI - UNICAL Interrogazione Ricorsiva 10110 01100 01011 Si propaga la richiesta al name server di livello superiore: www.unito.it ? OK si.deis.unical.it deis.unical.it unical.it it unito.it La richiesta non si propaga ai livelli superiori se un name server ha la risposta nella cache. Le risposte presenti nella cache non sono con autorità in quanto potrebbe esserci incoerenza con il vero valore. I record sono inseriti nella cache con un time-to-live per indicare il valore temporale della loro validità. D. Talia – RETI DI CALCOLATORI - UNICAL 6-14 7 Simple Network Management Protocol 10110 01100 01011 SNMP definisce un protocollo e un insieme di meccanismi per la gestione e il controllo di una rete di calcolatori. Il modello SNMP (v2) consiste di: Nodi di rete gestiti. Stazioni di gestione. Informazioni di gestione. Un protocollo di gestione. D. Talia – RETI DI CALCOLATORI - UNICAL 6-15 Simple Network Management Protocol 10110 01100 01011 Nodi di rete gestiti: host, router, bridge, dischi, stampanti, ... Stazioni di gestione: host con compiti di gestione. Informazioni di gestione: insiemi di oggetti che compongono la MIB (Management Information Base). Un protocollo di gestione. D. Talia – RETI DI CALCOLATORI - UNICAL 6-16 8 Simple Network Management Protocol 10110 01100 01011 Le Stazioni di gestione eseguono dei processi di gestione che comunicano con processi sui nodi gestiti detti agenti SNMP. Un agente notifica alle stazioni di gestioni gli eventi anomali tramite una trap SNMP, mentre le stazioni eseguono il polling SNMP per rilevare eventuali malfunzionamenti. 6-17 D. Talia – RETI DI CALCOLATORI - UNICAL Simple Network Management Protocol 10110 01100 01011 Un processo di gestione su una stazione invia una richiesta di informazioni ad un agente. L’agente dovrà replicare con le informazioni richieste. I dati spediti utilizzano la sintassi di trasferimento Abstract Syntax Notation (ANS.1) che specifica gli oggetti e le regole di codifica. Il protocollo SNMP definisce sette messaggi da inviare: Get-request Get-next-request Get-bulk-request Set-request Inform-request SnmpV2-trap Reply D. Talia – RETI DI CALCOLATORI - UNICAL richiede il valore di una o più variabili. richiede il valore della variabile successiva. richiede una tabella aggiorna una o più variabili descrizione della MIB locale segnalazione di una trap da agente a gestore messaggio di risposta. 6-18 9 La Posta Elettronica o Email 10110 01100 01011 Questa applicazione permette di scambiare dati tra due o più utenti identificati univocamente sulla rete. Gli standard RFC 821 e RFC 822 proposte da ARPANET sono stati accettati a scapito di altre proposte come X.400 proposto dal CCITT. Due sottosistemi: Useragent : agenti utenti che permettono di inviare e ricevere messaggi di posta. Transferagent : agenti di trasferimento che si occupano di far arrivare i messaggi dal mittente al destinatario. Questi implementano cinque funzioni base: composizione trasferimento notifica visualizzazione eliminazione 6-19 D. Talia – RETI DI CALCOLATORI - UNICAL 10110 Formato dei Messaggi 01100 01011 (a) Posta normale D. Talia – RETI DI CALCOLATORI - UNICAL (b) Posta elettronica 6-20 10 La Posta Elettronica 10110 01100 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 (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 che sono eseguiti in background e usano il protocollo SMTP per trasferire i messaggi sulla rete (es. sendmail, postfix). 6-21 D. Talia – RETI DI CALCOLATORI - UNICAL Trasferimento di Email 10110 01100 01011 Nodo Client mittente agente utente coda della posta da spedire agente di trasferimento SMTP connessione TCP tramite la porta 25 destinatario agente utente mailboxes degli utenti agente di trasferimento Nodo Server D. Talia – RETI DI CALCOLATORI - UNICAL 6-22 11 Indirizzi di Posta Elettronica 10110 01100 01011 Hanno il formato [email protected] 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. Il client per la lettura della posta provvede a individuare i singoli messaggi nella mailbox. D. Talia – RETI DI CALCOLATORI - UNICAL 6-23 Campi Intestazione 10110 01100 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 ha scritto il messaggio (necessario). Sender: indirizzo di chi ha inviato il messaggio (opzionale). D. Talia – RETI DI CALCOLATORI - UNICAL 6-24 12 10110 Campi Intestazione (cont.) 01100 01011 Received: Indica l’agente che ha ricevuto il messaggio insieme a un timestamp. Viene inserito da ogni agente durante il trasferimento. Si puo’ 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: Argomento del messaggio D. Talia – RETI DI CALCOLATORI - UNICAL 10110 6-25 Un Esempio di Intestazione 01100 01011 Received: from haldo.deis.unical.it (haldo.deis.unical.it [160.97.27.7]) by si.deis.unical.it (8.11.4/8.11.4) with ESMTP id f6VN4VL04035 for <[email protected]>; Tue, 31 Jul 2001 22:04:31 -0100 (GMT) Received: from mail.cs.umn.edu (mail.cs.umn.edu [128.101.33.100]) by haldo.deis.unical.it (8.9.1b+Sun/8.9.1) with ESMTP id WAA01060 for <[email protected]>; Tue, 31 Jul 2001 22:00:22 +0100 (WET DST) Received: from cs.umn.edu (nt20.cs.umn.edu [160.94.178.220]) by mail.cs.umn.edu (8.11.3/8.11.3) with ESMTP id f6VK2vI02949; Tue, 31 Jul 2001 15:03:07 -0500 (CDT) Message-ID: <[email protected]> Date: Tue, 31 Jul 2001 15:02:57 -0500 From: Michael Stewart <[email protected]> X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en To: Domenico Talia <[email protected]> CC: [email protected] Subject: Talia - Kluwer Book Contribution (Complimentary Copy of Book Address) D. Talia – RETI DI CALCOLATORI - UNICAL 6-26 13 Testo delle Email 10110 01100 01011 La posta è inviata come testo ASCII usando un codice a 7-bit trasmesso su 8 bit con il bit più significativo a 0. Non permette di trasmettere caratteri non ASCII con messaggi di email senza una opportuna codifica. La soluzione è stata quella di usare il formato MIME per permettere alle email di contenere e trasportare caratteri non ASCII. MIME definisce una struttura al corpo del messaggio e definisce come codificare i messaggi non ASCII. 6-27 D. Talia – RETI DI CALCOLATORI - UNICAL MIME 10110 01100 01011 Multipurpose Internet Mail Extensions (RFC 1521) Aggiunge dei campi di intestazione per definire la struttura del corpo del messaggio (è gestita dall’agente utente) Mime-Version: Content-Type: Content-Transfer-Encoding: Content-ID: Content-Description: I tipi di Ad es., contenuto sono organizzati text/plain, text/html, application/octet-stream. D. Talia – RETI DI CALCOLATORI - UNICAL versione MIME tipo del messaggio modo di trasferimento identificatore unico contenuto del messaggio in categorie image/gif, predefinite. multipart/mixed, 6-28 14 Esempi di Intestazioni MIME 10110 01100 01011 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Length: 1240 Status: RO MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 354 MIME-Version: 1.0 Content-Type: text/html; charset="iso-8859-1" X-Priority: 3 X-MSMail-Priority: Normal Content-Length: 3705 D. Talia – RETI DI CALCOLATORI - UNICAL 6-29 Il Protocollo SMTP 10110 01100 01011 Il protocollo SMTP definisce la sequenza di comandi (inviati in ASCII) necessaria per il trasferimento dei messaggi usando una connessione TCP sulla porta 25 della macchina destinataria. Insieme minimale di comandi usati dal client: HELO <host> “Saluta” il server. MAIL From: <indirizzo> “busta” indica il mittente del messaggio. RCPT To: <indirizzo> Indica il destinatario. DATA Invio corpo del messaggio terminato da un punto (.) su una linea QUIT Chiude la connessione. D. Talia – RETI DI CALCOLATORI - UNICAL 6-30 15 10110 Gateway di Posta Elettronica 01100 01011 Quando le macchine che si scambiano messaggi di posta elettronica non supportano tutte connessioni TCP occorre far uso di un gateway al livello delle applicazioni. D. Talia – RETI DI CALCOLATORI - UNICAL 10110 6-31 Caselle Postali Remote 01100 01011 Se non si usa una macchina che implementa il protocollo SMTP si può fare uso della posta elettronica tramite l’accesso a caselle di posta remote. I protocolli di trasmissione che si usano in questo caso per spedire e ricevere messaggi di posta tramite caselle remote sono: Post Office Protocol (POP3) protocollo semplice per recuperare i messaggi e memorizzarli sulla macchina dell’utente. Interactive Mail Access Protocol (IMAP) più complesso per permettere di leggere i messaggi conservandoli sul server di posta. Distributed Mail System Protocol (DMSP) permette di gestire la posta su più server e in maniera asincrona. D. Talia – RETI DI CALCOLATORI - UNICAL 6-32 16 10110 Funzionamento di un Cliente POP 01100 01011 D. Talia – RETI DI CALCOLATORI - UNICAL 10110 6-33 POP vs IMAP 01100 01011 D. Talia – RETI DI CALCOLATORI - UNICAL 6-34 17