INDIETRO
 6 - Name Server
AVANTI

il resolver

Praticamente tutti i programmi di rete hanno bisogno di interrogare qualche name server.
Quasi tutti questi programmi usano uno stesso gruppo di routines, contenute in una apposita libreria di sistema.
Il file /etc/resolv.conf riporta (campo nameserver) i name server che queste routines interrogheranno, e (campo search) il dominio che sarà considerato di default.
Inoltre viene di solito anche considerato il file /etc/hosts con i nomi "locali" ben noti all'amministratore della macchina.

Per esempio il comando ping pluto scatena la seguente sequenza di eventi:
  1. se in /etc/hosts c'è un IP corrispondente a pluto si usa quello.
  2. si legge da /etc/resolv.conf il campo search (diciamo dm.unipi.it) e il primo nameserver
  3. si chiede a questo nameserver l'IP di pluto.dm.unipi.it
  4. se non si ha risposta si prova il secondo nameserver e cosi' via
  5. se anche nessun nameserver risponde, il programma termina con il messaggio di errore: "host unknown".
  6. se invece si è giunti ad un IP, il comando ping inizia a mandare i pacchetti...


Comunque le cose possono essere anche più complicate a seconda di come i è configurata la macchina (vedi files come /etc/nsswitch.conf per esempio) può essere interrogato anche un server esterno o un processo di cache locale e può variare l'ordine in cui il resolver interroga files locali, name servers, cache e server esterni.

Nota: se si voleva indicare "pluto" invece di "pluto.dm.unipi.it", si mette un punto alla fine del nome, cioè "pluto."; si noti che questa sintassi è usata sia nel data base del Name Server, che dai vari Clients che sono illustrati nel seguito.  
INDIETRO
Laboratorio di Comunicazione mediante Calcolatore - Sergio Steffè - AA 2019/2020 - PISA
AVANTI