Ogni interfaccia di ogni nodo ha un indirizzo IP. Ci si può subito rendere conto che gli umani non sono granché portati a ricordare i numeri, perciò è stato deciso (come per i numeri telefonici) di creare un elenco. La cosa migliore in questi casi è lasciare al computer il compito di cercare automaticamente i nomi.
A questo scopo esistono i Domain Name System (DNS). Ci sono dei nodi con un indirizzo IP ben noto ai quali i programmi possono richiedere di cercare un nome e di restituire l'indirizzo IP corrispondente. Quasi tutti i programmi che utilizzi sono capaci di questo tipo di operazione, ed è questo il motivo per cui in Netscape si inserisce `www.linuxcare.com' al posto di `167.216.245.249'.
Naturalmente devi conoscere l'indirizzo IP di almeno uno di questi `name server', in genere questi indirizzi sono collocati nel file `/etc/resolv.conf'.
Poiché le richieste e le risposte ai DNS sono abbastanza contenute (1 pacchetto ciascuno), il protocollo TCP non è generalmente usato: esso provvede alla ritrasmissione automatica, al riordinamento, all'affidabilità, al costo però di un invio di pacchetti extra attraverso la rete. Al suo posto si usa invece il più semplice `User Datagram Protocol', il quale non offre nessuna delle caratteristiche extra del TCP, che in questo caso comunque non servono.