Le DNS permet d'associer une adresse IP à un ou plusieurs noms et d'associer un nom à une adresse IP. Sous Linux, cette conversion est généralement assurée par un logiciel spécial appelé bind. L'ordinateur qui réalise ensuite cette conversion s'appelle le serveur de noms. Les noms constituent alors un système hiérarchique dans lequel les composants individuels du nom sont séparés par des points. La hiérarchie de noms est toutefois indépendante de la hiérarchie des adresses IP décrite précédemment.
Examinons un instant un nom complet, par exemple laurent.suse.de écrit au format nomhôte.domaine. Un nom complet, appelé « nom pleinement qualifié » (Fully Qualified Domain Name ou en abrégé FQDN) est composé d'un nom d'hôte et d'un nom de domaine (suse.de). Ce dernier contient aussi le domaine de premier niveau ou TLD (Top Level Domain soit, en l'occurrence, de).
Pour des raisons historiques, l'attribution des TLD est quelque peu déconcertante. Traditionnellement, on utilise aux États-Unis des TLD classiques de trois lettres. Dans le reste du monde, on utilise les désignations de pays ISO composées de deux lettres. Des TLD plus longs supplémentaires ont été introduits en 2000 pour représenter certaines activités (par exemple .info, .name, .museum).
Aux débuts de l'Internet (avant 1990), le fichier /etc/hosts contenait tous les noms des ordinateurs présents sur l'Internet. Ceci s'est révélé rapidement impraticable en raison de la croissance extrêmement rapide du nombre d'ordinateurs connectés à l'Internet. C'est pour cette raison que l'on a mis en place une base de données décentralisée qui peut enregistrer les noms d'ordinateurs de manière distribuée. Cette base de données, similaire à un serveur de noms,ne contient pas toutes les données de tous les ordinateurs présents sur l'Internet, mais peut faire suivre à d'autres serveurs de noms des demandes qui lui sont adressées.
Tout en haut de la hiérarchie, on trouve les « serveurs de noms racine » Root-Nameserver, qui gèrent les domaines de premier niveau. Les serveurs de noms racine sont gérés par le Network Information Center (NIC). Le serveur de noms racine connaît les serveurs de noms responsables pour un domaine de premier niveau. Pour plus d'informations sur le NIC des domaines de premier niveau, consultez http://www.internic.net.
Le DNS peut faire bien plus que simplement résoudre les noms de machines. Ainsi, le serveur de noms saitaussi quel ordinateur prend en charge les messages électroniques pour tout un domaine — le serveur de messagerie mail exchanger (MX).
Pour que votre ordinateur puisse convertir un nom en adresse IP, il doit au moins connaître l'adresse IP d'un serveur de noms. YaST vous permet de configurer facilement un serveur de noms. Si vous utilisez une connexion par modem, il est possible que vous n'ayiez pas à configurer de serveur de nom manuellement. Vous trouverez une description de la configuration de l'accès au serveur de noms sous SUSE LINUX dans Chapitre 24, La résolution de noms.
Le protocole whois est intimement lié au DNS. Vous pouvez utiliser le programme du même nom, whois, pour retrouver rapidement le responsable d'un domaine donné.