Come descritto nei cap. 16 e 17, quando più sistemi sono collegati in rete, le loro interfacce di rete sono identificate univocamente, a livello physical, da un indirizzo fisico assegnato dal costruttore. Lo stack di protocolli TCP/IP permette di assegnare ad esse anche un indirizzo IP di più alto livello, sul quale si basano i meccanismi di routing. Dunque per comunicare con una determinata interfaccia è opportuno conoscerne l’indirizzo IP.
Un indirizzo IP (cap. 17) è un valore numerico a 32 bit (IPv4) o a 128 bit (IPv6) che non è facile ricordare. Sarebbe più facile ricordare degli indirizzi mnemonici costituiti da nomi piuttosto che da numeri. È quindi necessario un meccanismo di traduzione dei nomi nei corrispondenti indirizzi, ovvero quell’operazione che va sotto il nome di risoluzione dei nomi. Questo compito può essere assolto utilizzando due metodi:
È evidente che il file /etc/hosts può essere utilizzato nel caso in cui la rete considerata sia composta da pochi sistemi (al massimo una decina): l’aggiunta di un’interfaccia comporta la modifica del file /etc/hosts su ogni macchina. Per questo motivo è stato creato un sistema di risoluzione dei nomi che viene aggiornato automaticamente: il DNS.