prof. Nunzio Brugaletta



EnneBi - Computer Science
Avanti - Indietro - Inizio

La risoluzione dei nomi

Utilizzare un IP per comunicare con un nodo non è comodo per gli utenti per cui, fin dall'inizio, si sono studiati sistemi per permettere di utilizzare nomi per individuare un nodo di una rete. Ovviamente, dal punto di vista del computer, si deve ragionare solo in termini di IP. Si è reso necessario, quindi, costruire un sistema che, partendo da un nome specificato dall'utente, possa permettere di risalire, attraverso un processo qualsiasi, all'IP ad esso associato: questo processo viene chiamato risoluzione dei nomi.

Inizialmente, anche in Internet, per la risoluzione dei nomi veniva utilizzato il file /etc/hosts che necessita però di essere ricopiato in tutti i nodi della rete. Finché la rete è di piccole dimensioni, questa soluzione può essere accettabile, ma nella misura in cui la rete assume dimensioni come quelle di Internet attuale, si ricorre ad un sistema diverso chiamato DNS (Domain Name System) gestito da server DNS (stavolta S sta per Server) che forniscono il servizio. Quando l'utente, per mezzo di un applicativo, specifica un nome, viene inviata al server DNS una interrogazione per conoscere l'IP del nodo associato a quel nome, ricevuta tale informazione, si può contattare la destinazione.

Il primo problema da risolvere è stabilire in che modo deve essere effettuata la risoluzione dei nomi:

$ more /etc/host.conf
order hosts,bind
multi on

La prima riga specifica l'ordine dei servizi per mezzo dei quali effettuare la risoluzione dei nomi. Nel caso specifico prima si interroga il file /etc/hosts e dopo si interroga il servizio DNS. La seconda riga specifica semplicemente che possono esserci più indirizzi IP associati allo stesso nome e viceversa.

$ more /etc/hosts
127.0.0.1       localhost.localdomain  localhost

# Indirizzi IPv4

192.168.1.1     pc1.rete        pc1
192.168.1.2     pc2.rete        pc2
...
192.168.1.254   server.rete     server

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
...

Ogni riga del file, a parte le righe vuote e le onnipresenti righe di commento, conserva l'associazione fra un IP e i nomi con i quali si vuole identificare il nodo (nome di dominio completo seguito da abbreviazioni).

Replicando il file /etc/hosts in ogni nodo della LAN, si possono contattare i nodi specificandone i nomi, oltre che gli IP. Per esempio il comando ping, digitando il nome al posto dell'IP, può essere utilizzato per verificare la correttezza della risoluzione dei nomi.

Se la risoluzione dei nomi è affidata anche a server DNS, allora è necessario predisporre il file /etc/resolv.conf:

$ cat /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220

ogni riga del file che comincia con l'opzione nameserver, specifica l'IP dell'host da interrogare per risolvere un nome.



Avanti - Indietro - Inizio



ennebi@solira.org