Seminari del PHC - Sergio Steffè - 31 gennaio 7, 14 febbraio 2000 - Comunicazioni tra Calcolatori - PISA |
INDIETRO | INDICE | PHC HOME | AVANTI |
2.3 i name server per il dns (= Domain Name System)
Abbiamo visto che macchine e altri servizi su Internet sono identificati dai domain names, mentre i pacchetti riportano come destinatario un numero IP. Quasi ogni volta che si vuole accedere ad un certo servizio su Internet si cita un domain name e solo raramente si scrive direttamente un numero IP. Di solito chi gestisce un servizio di rete cerca di mantenere lo stesso nome, ma per vari motivi tecnici può capitare di dover cambiare numero IP.
Ma come fa una macchina a conoscere tutte le corrispondenze valide tra numeri IP e domain names e viceversa ? La risposta è che li chiede a un name server. Non si deve però credere che ogni name server contenga una tabella completa di numeri IP e domani names: a sua volta ogni name server fa da client di altri name servers per ottenere la riposta.
I name servers infatti formano un sistema gerarchico e il data base di tutti i numeri IP e dei domain names è distribuito tra tutti i name servers.
Supponiamo per esempio che su paley un utente scriva il comando
ftp ftp.debian.org
Per sapere quale è l'IP di ftp.debian.org paley lo chiede al name server di default (di solito quello principale del Dipartimento, che è primario per il dominio dm.unipi.it, 131.114.6.2). Questo consulta le sue tabelle nonché la cache, cioè la zona di memoria dove ha tenuto le risposte recenti a domande fatte in precedenza da vari clients in rete. Se lo trova, bene, ha la risposta già pronta. Altrimenti chiede ai cosiddetti root name servers, che tengono l'elenco di tutti i name server per i dominii formati da un solo campo, come it, o com, o edu etc etc , chi è il name server per il dominio org. Ottenuto così il nome e numero IP del name server per il dominio org, chiede a lui chi è il name server per il dominio debian.org. Infine chiede a questo name server il numero IP richiesto. E lo passa a paley che aveva fatto la domanda, che finalmente può iniziare a spedire i pacchetti per iniziare l' ftp.
Per evitare che il blocco di un name server renda di fatto inusabili alcuni dominii, ci sono di solito svariati name servers per ogni dominio, in modo che se uno di essi non risponde si può interrogarne un altro che ha le stesse informazioni.
Un guasto, un malfunzionamento, un attacco D.o.S, o semplicemente un piccolo errore nel database contenente i domain names e gli IP di un name server, crea di solito una discreta confusione su tutte le macchine che lo usano come server, con svariati tipi di comportamento anomalo, che spesso l'utente non espertissimo non sa a che cosa attribuire. Se si sospetta che il proprio name server non stia funzionando si può provare ad usare - se possibile e se noto - il numero IP direttamente nei comandi, al posto del domain name. Comunque, ogni macchina ha un suo file locale (/etc/hosts) che l'amministratore accorto tiene aggiornato e che contiene quei pochi e cruciali nomi e numeri IP corrispondenti a server o client con cui la macchina ha continui scambi di servizi, in modo da non dover continuamente chiedere la loro risoluzione al name server.
Per quel che riguarda la sicurezza, sono stati segnalati
casi di attacco contro un name server, con modifica delle tabelle dei domain
names e degli IP.
INDIETRO | INDICE | PHC HOME | AVANTI |