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