Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Indirizzo IP e servizi forniti da DNS
Un indirizzo IP consiste di 4 byte (32 bit) e presenta una rigida struttura gerarchica. Ha una forma del tipo 121.7.106.83, in cui ogni punto separa uno dei byte espressi con un numero decimale compreso tra 0 e 255. Un indirizzo IP è gerarchico perché, leggendolo da sinistra a destra, otteniamo informazioni sempre più specifiche sulla collocazione dell'host in Internet (ossia sulla sua appartenenza a quale rete all'interno della rete di reti).
I servizi forniti da DNS sono fondamentali per conciliare l'approccio mnemonico dei nomi degli host preferito dalle persone con l'approccio gerarchico degli indirizzi IP preferito dai router. Il DNS è un database che si occupa di tradurre i nomi degli host nei loro indirizzi IP.
Il DNS (Domain Name System) è un sistema distribuito implementato in una gerarchia di server DNS e utilizza un protocollo a livello di applicazione che consente agli host di interrogare il database.
I server DNS sono generalmente macchine UNIX che eseguono un software chiamato BIND (Berkley Internet Name Domain). Il protocollo DNS utilizza UDP e la porta 53. DNS viene comunemente utilizzato da altri protocolli a livello di applicazione per tradurre i nomi di host forniti dall'utente in indirizzi IP.
Oltre alla traduzione degli hostname in indirizzi IP, DNS mette a disposizione altri importanti servizi:
- Host aliasing: Un host dal nome complicato può avere uno o più sinonimi (alias). Gli alias, se presenti, sono generalmente più facili da ricordare rispetto agli hostname canonici. Il DNS può essere invocato da un'applicazione per ottenere l'hostname canonico di un sinonimo, così come l'indirizzo IP dell'host.
- Mail server aliasing: Per ovvi motivi è fortemente
Auspicabile che gli indirizzi di posta elettronica siano facili da ricordare. Tuttavia, l'hostname del server di posta è molto più complicato e assai meno facile da ricordare rispetto a quello che utilizziamo. Un'applicazione di posta può invocare il DNS per ottenere il nome canonico di un sinonimo fornito, così come l'indirizzo IP dell'host.
Distribuzione del carico di rete (load distribution). Il DNS viene anche utilizzato per distribuire il carico tra server replicati, per esempio dei web server. I siti con molto traffico vengono replicati su più server, e ciascuno di questi viene eseguito su un host diverso e presenta un indirizzo IP differente. Nel caso di web server replicati, va dunque associato a ogni hostname canonico un insieme di indirizzi IP. Il database contiene questo insieme di indirizzi. Quando i client effettuano una query DNS per un nome associato a un insieme di indirizzi, il server risponde con l'intero.
Un primo approccio potrebbe essere quello di utilizzare un DNS server contenente tutte le corrispondenze. In questo schema centralizzato, i client dirigono semplicemente tutte le richieste al singolo server e quest'ultimo risponde loro direttamente.
Sebbene tale semplicità progettuale sia attraente, sarebbe inappropriata per l'attuale Internet, dotata di un vasto e sempre crescente numero di host.
Tra i problemi legati a uno schema centralizzato ricordiamo i seguenti:
- Un solo punto di fallimento. Se il DNS server si guasta, ne soffre l'intera Internet.
- Volume di traffico. Un singolo DNS server dovrebbe gestire tutte le richieste (per tutte le richieste HTTP e i messaggi di posta elettronica generati da centinaia di milioni di host).
- Database centralizzato distante. Un singolo DNS server non può essere vicino a tutti i client. Ciò
Nella sua memoria può rispondere immediatamente alla richiesta, altrimenti segue l'approccio classico. Il server locale inoltra il messaggio di richiesta a un root server. Quest'ultimo prende nota del suffisso edu e restituisce al server locale un elenco di indirizzi IP per i TLD server responsabili di edu. Il server locale rinvia quindi il messaggio di richiesta a uno di questi ultimi. Il TLD server prende nota del suffisso umass.edu e risponde con l'indirizzo IP del server autoritativo per l'Università del Massachussets. Infine, il DNS server locale rimanda il messaggio di richiesta direttamente a dns.umass.edu, che risponde con l'indirizzo IP di gaia.cs.umass.edu.
L'approccio che abbiamo visto viene detto iterativo: la stessa richiesta viene reiterata più volte dal server DNS locale. C'è anche un altro tipo di approccio, quello ricorsivo, con il quale il server DNS locale invia una sola richiesta che viene poi inoltrata dai
Quale approccio è migliore?
Non c'è una risposta unica, perché dipende dal criterio di valutazione. L'approccio ricorsivo è migliore dal punto di vista del DNS server locale, quello iterativo è invece migliore per il core di Internet.
DNS Caching
Fino a questo momento abbiamo ignorato il DNS caching, una caratteristica di fondamentale importanza. In verità, il DNS sfrutta in modo estensivo il caching per migliorare le prestazioni di ritardo e per ridurre il numero di messaggi DNS che "rimbalzano" su Internet.
L'idea alla base del DNS caching è molto semplice. In una concatenazione di richieste, il DNS server che riceve una risposta DNS può mettere in cache le informazioni contenute. Le entrate della cache "scadono" (scompaiono) dopo qualche tempo, tipicamente 2 giorni.
I server TLD vengono tipicamente salvati nella cache dei server locali, per questo i root server non
Vengono visitati così spesso.
2.5.3 Record e messaggi DNS
I server che implementano il database distribuito di DNS memorizzano i cosiddetti record di risorsa (RR, resource record), tra cui quelli che forniscono le corrispondenze tra nomi e indirizzi.
Ogni messaggio di risposta DNS trasporta uno o più record di risorse.
Un record di risorsa contiene i seguenti campi: (Name, Value, Type, TTL).
Il TTL è il time to live, ossia il tempo residuo di vita di un record e determina quando una risorsa vada rimossa dalla cache.
Il significato di TTL dipende da:
- Se Type=A, allora Name è il nome dell'host e Value è il suo indirizzo IP. Pertanto, un record di tipo A fornisce la corrispondenza tra hostname standard e indirizzo IP.
- Se Type=NS, allora Name è un dominio e Value è l'hostname del DNS server autoritativo che sa come ottenere gli indirizzi IP degli host nel dominio. Questo record viene usato per instradare le richieste DNS successive.
Il testo fornito non è chiaro. Se stai cercando di ottenere l'indirizzo IP del server DNS, potresti utilizzare il comando "nslookup" o "dig" da un prompt dei comandi o da un terminale. Ad esempio:
Per Windows:
nslookup nome_server_dns
Per Linux o macOS:
dig nome_server_dns
Sostituisci "nome_server_dns" con il nome del server DNS di cui desideri conoscere l'indirizzo IP.