7) Il livello cinque (Application) |
Nel nostro modello di architettura (e anche
nell'architettura TCP/IP) sopra il livello transport c'è
il livello application, nel quale viene effettivamente svolto
il lavoro utile per l'utente.
In questo livello si trovano diverse tipologie di oggetti:
7.1) Il DNS |
Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un indirizzo IP numerico (della forma x.y.z.w) è estremamente scomodo, si è creato un meccanismo tramite il quale tali risorse possono essere identificate tramite un nome logico, cioé una stringa di caratteri (molto pù comprensibile per un essere umano) quale ad esempio:
sparc1.unimi.it
(riferimento ad un host);
john@cern.ch
(indirizzo di posta elettronica).
La corrispondenza fra gli indirizzi IP numerici ed i nomi logici
si effettua mediante l'uso del DNS.
Esso consiste di:
Il funzionamento, in breve, è il seguente:
Lo spazio dei nomi DNS è uno
spazio gerarchico, organizzato
in dominii, ciascuno dei quali può avere
dei sottodominii.
Esiste un insieme di dominii di massimo livello (top-level
domain), i più alti nella gerarchia.
Nel caso di un host, la forma del nome logico è costituita
da un certo numero di sottostringhe separate da punti, come nell'esempio
seguente:
dove:
Per gli USA sono definiti, fra gli altri, i seguenti top-level
domain:
com | aziende |
edu | università |
gov | istituzioni governative |
mil | istituzioni militari |
net | fornitori d'accesso |
org | organizzazioni non-profit |
Fuori degli USA, ogni nazione ha un suo top-level domain. Ad esempio:
au | Australia |
ch | Svizzera |
fr | Francia |
it | Italia |
jp | Giappone |
uk | Inghilterra |
Ogni dominio è responsabile della creazione dei suoi sottodominii,
che devono essere registrati presso una apposità autorità.
Esempi di sottodominii sono:
cern.ch | il CERN a Ginevra, Svizzera |
cnr.it | il Consiglio Nazionale delle Ricerche, Italia |
mit.edu | il Massachussetts Institute of Technology, USA |
nasa.gov | la NASA, USA |
unige.ch | Università di Ginevra, Svizzera |
uniroma1.it | Università di Roma "La Sapienza", Italia |
dsi.uniroma1.it | Dip. di Scienze dell'Informazione, Università di Roma "La Sapienza" |
L'estensione di un dominio è del tutto indipendente da
quella delle reti e sottoreti IP.
Ogni dominio ha la responsabilità di fornire il servizio
DNS per quanto di propria competenza. Ossia, deve poter rispondere
a interrogazioni riguardanti tutti gli host contenuti nel dominio
stesso.
Ciò si ottiene predisponendo un name server (o più di uno), che è un processo in grado di gestire le seguenti informazioni:
Una richiesta che arriva a un name server può dunque viaggiare
verso l'alto nella gerarchia oppure (dal momento in cui perviene
a un top-level domain server) verso il basso, a seconda dei casi.
Quando una risposta ritorna indietro, essa viene tenuta dal server
in una sua cache per un certo periodo; qui costituisce un nuovo
record, detto cached record
perché contiene della informazione che potrebbe anche divenire,
col passare del tempo, obsoleta e non più corretta.
Un esempio di resource record (relativo a un host) è:
spcw.dsi.uniroma1.it 86400 IN A 151.100.17.110
dove:
spcw.dsi.uniroma1.it | domain_name: nome simbolico. |
86400 | time_to_live: la quantità di tempo (in secondi) trascorsa la quale il record viene tolto dalla cache. |
IN | class: classe del record (Internet in questo caso). |
A | type: tipo del record (Address in questo caso). |
151.100.17.110 | value: indirizzo IP numerico. |
7.2) La posta elettronica |
La posta elettronica
è uno dei servizi più consolidati ed usati nelle
reti. In Internet è in uso da circa 20 anni, e prima del
WWW era senza dubbio il servizio più utilizzato.
Un servizio di posta elettronica, nel suo complesso, consente di effettuare le seguenti operazioni:
Di norma, un messaggio ha un formato ben preciso. In Internet
un messaggio ha un formato (definito nell'RFC 822) costituito
da un header e da un
body, separati da una
linea vuota.
Lo header è a sua volta costituito da una serie di linee,
ciascuna relativa a una specifica informazione (identificata da
una parola chiave che è la prima sulla linea); alcune informazioni
sono:
To | indirizzo di uno o più destinatari. |
From | indirizzo del mittente. |
Cc | indirizzo di uno o più destinatari a cui si invia per conoscenza. |
Bcc | blind Cc: gli altri destinatari non sanno che anche lui riceve il messaggio. |
Subject | argomento del messaggio. |
Sender | chi materialmente effettua l'invio (ad es. nome della segretaria). |
Il body contiene il testo del messaggio, in caratteri ASCII. L'ultima
riga contiene solo un punto, che identifica la fine del messaggio.
Gli indirizzi di posta elettronica in Internet hanno la forma:
dove username è una stringa di caratteri che identifica
il destinatario, e hostname è un nome DNS oppure un indirizzo
IP.
Ad esempio, bongiovanni@dsi.uniroma1.it è l'indirizzo di
posta elettronica dell'autore di queste dispense.
La posta elettronica viene implementata in Internet attraverso la cooperazione di due tipi di sottosistemi:
Il primo permette all'utente finale di:
Il secondo si occupa di:
Corrispondentemente, sono definiti due protocolli principali per la posta elettronica:
Recentemente sono stati introdotti altri protocolli più
sofisticati, quali IMAP
(Interactive Mail Acces Protocol,
RFC 1064) e DMSP (Distributed
Mail System Protocol, RFC 1056), il cui supporto
però non è ancora molto diffuso nel software disponibile
agli utenti.
Come avviene la trasmissione di un messaggio? Supponiamo che l'utente
pippo@topolinia.wd
spedisca un messaggio a
minnie@paperinia.wd
e immaginiamo che:
mailer.topolinia.wd
;
mailer.paperinia.wd
.
La sequenza di azioni che hanno luogo è la seguente:
mailer.topolinia.wd
;
mailer.topolinia.wd
,
per mezzo della quale gli consegna il messaggio;
mailer.topolinia.wd
:
paperinia.wd
;
mailer.paperinia.wd
;
mailer.paperinia.wd
;
mailer.paperinia.wd
e
preleva il messaggio di Pippo, che viene mostrato a Minnie.
Si noti che topolinia.wd
e paperinia.wd
in genere corrispondono a un dominio nel suo complesso e non ad
un singolo host, al fine di rendere gli indirizzi di posta elettronica
indipendenti da variazioni del numero, dei nomi logici e degli
indirizzi IP degli host presenti nel dominio.
Nel DNS ci sono opportuni record detti di tipo MX
(Mail Exchange), che
si occupano di indicare quale host effetttivamente fa da server
SMTP per un dominio.
Nel nostro esempio avremo, nel DNS server di Paperinia, i record:
mailer.paperinia.wd A 100.10.10.5 paperinia.wd MX mailer.paperinia.wd
Il secondo record è un record di tipo MX, e indica che
tutta la posta in arrivo per
chiunque@paperinia.wd
deve essere consegnata all'host mailer.paperinia.wd
,
e cioé quello che ha l'indirizzo IP
100.10.10.5
Inoltre, non è detto che mailer.topolinia.wd
consegni i messagi direttamente a mailer.paperinia.wd
.
E' possibile che le macchine siano configurate in modo da trasferire
i messaggi attraverso un certo numero di server SMTP intermedi.
Infine, vanno citate due significative estensioni di funzionalità della posta elettronica, in via di progressiva diffusione: