English French
The Domain Name System was created at a time when the Internet was mainly used in North America. The initial design assumed that all domain names would be composed of letters and digits :rfc:`1035`. As Internet usage grew in other parts of the world, it became important to support non-ASCII characters. For this, extensions have been proposed to the Domain Name System :rfc:`3490`. In a nutshell, the solution that is used to support Internationalized Domain Names works as follows. First, it is possible to use most of the Unicode characters to encode domain names and hostnames, with a few exceptions (for example, the dot character cannot be part of a name since it is used as a separator). Once a domain name has been encoded as a series of Unicode characters, it is then converted into a string that contains the ``xn--`` prefix and a sequence of ASCII characters. More details on these algorithms can be found in :rfc:`3490` and :rfc:`3492`. Le système de noms de domaine a été créé à une époque où Internet était principalement utilisé en Amérique du Nord. La conception initiale supposait que tous les noms de domaine seraient composés de lettres et de chiffres :rfc:`1035`. Lorsque l'utilisation d'Internet s'est développée dans d'autres parties du monde, il est devenu important de prendre en charge les caractères non ASCII. Pour cela, des extensions ont été proposées au système de noms de domaine :rfc:`3490`. En résumé, la solution utilisée pour prendre en charge les noms de domaine internationalisés fonctionne comme suit. Tout d'abord, il est possible d'utiliser la plupart des caractères Unicode pour coder les noms de domaine et les noms d'hôte, à quelques exceptions près (par exemple, le caractère point ne peut pas faire partie d'un nom puisqu'il est utilisé comme séparateur). Une fois qu'un nom de domaine a été encodé comme une série de caractères Unicode, il est ensuite converti en une chaîne de caractères qui contient le préfixe ``xn--`` et une séquence de caractères ASCII. Vous trouverez plus de détails sur ces algorithmes dans :rfc:`3490` et :rfc:`3492`.
Naming and addressing Nommage et adressage
Footnotes Notes de pied de page
To be able to contact the root nameservers, each DNS client must know their addresses. This implies, that DNS clients must maintain an up-to-date list of the addresses of the root nameservers. Without this list, it is impossible to contact the root nameservers. Forcing all Internet hosts to maintain the most recent version of this list would be difficult from an operational point of view. To solve this problem, the designers of the DNS introduced a special type of DNS server : the DNS resolvers. A :term:`resolver` is a server that provides the name resolution service for a set of clients. A network usually contains a few resolvers. Each host in these networks is configured to send all its DNS queries via one of its local resolvers. These queries are called `recursive queries` as the :term:`resolver` must recursively send requests through the hierarchy of nameservers to obtain the `answer`. Pour pouvoir contacter les root nameserver, chaque client DNS doit connaître leurs adresses. Cela implique que les clients DNS doivent maintenir une liste à jour des adresses des root nameserver. Sans cette liste, il est impossible de contacter les root nameserver. Forcer tous les hôtes Internet à maintenir la version la plus récente de cette liste serait difficile d'un point de vue opérationnel. Pour résoudre ce problème, les concepteurs du DNS ont introduit un type spécial de serveur DNS : les résolveurs DNS. Un :term:`résolveur` est un serveur qui fournit le service de résolution de noms pour un ensemble de clients. Un réseau contient généralement quelques résolveurs. Chaque hôte de ces réseaux est configuré pour envoyer toutes ses requêtes DNS via l'un de ses résolveurs locaux. Ces requêtes sont appelées "requêtes récursives" car le :term:`resolver` doit envoyer des requêtes de manière récursive à travers la hiérarchie des nameservers pour obtenir la "réponse".
To retrieve the mapping for host `h2.dom`, a client sends its query to the name server that is responsible for domain `.dom`. The name server directly answers the query. To retrieve a mapping for `h3.a.sdom1.dom` a DNS client first sends a query to the name server that is responsible for the `.dom` domain. This nameserver returns the nameserver that is responsible for the `sdom1.dom` domain. This nameserver can now be contacted to obtain the nameserver that is responsible for the `a.sdom1.dom` domain. This nameserver can be contacted to retrieve the mapping for the `h3.a.sdom1.dom` name. Thanks to this structure, it is possible for a DNS client to obtain the mapping of any host inside the `.dom` domain or any of its subdomains. To ensure that any DNS client will be able to resolve any fully qualified domain name, there are special nameservers that are responsible for the root of the domain name hierarchy. These nameservers are called :term:`root nameserver`. Pour récupérer le mappage de l'hôte `h2.dom`, un client envoie sa requête au nameserver qui est responsable du domaine `.dom`. Le nameserver répond directement à la requête. Pour récupérer un mappage pour `h3.a.sdom1.dom`, un client DNS envoie d'abord une requête au nameserver qui est responsable du domaine `.dom`. Ce nameserver renvoie le nameserver responsable du domaine `sdom1.dom`. Ce nameserver peut maintenant être contacté pour obtenir le nameserver responsable du domaine `a.sdom1.dom`. Ce nameserver peut être contacté pour récupérer le mapping du nom `h3.a.sdom1.dom`. Grâce à cette structure, il est possible pour un client DNS d'obtenir le mappage de n'importe quel hôte à l'intérieur du domaine `.dom` ou de l'un de ses sous-domaines. Pour garantir que tout client DNS sera en mesure de résoudre tout nom de domaine pleinement qualifié, il existe des nameservers spéciaux qui sont responsables de la racine de la hiérarchie des noms de domaine. Ces nameservers sont appelés :term:`root nameserver`.
if the server process moves to another physical server, all clients must be informed about the new server address si le processus serveur est déplacé vers un autre serveur physique, tous les clients doivent être informés de la nouvelle adresse du serveur
if there are many concurrent clients, the load of the server will increase without any possibility of adding another server without changing the server addresses used by the clients s'il y a beaucoup de clients simultanés, la charge du serveur augmentera sans qu'il soit possible d'ajouter un autre serveur sans changer les adresses de serveur utilisées par les clients
A copy of the information maintained by each root nameserver is available at http://www.internic.net/zones/root.zone Une copie des informations maintenues par chaque serveur de noms racine est disponible à l'adresse http://www.internic.net/zones/root.zone
A :term:`hosts.txt` file can be used when there are up to a few hundred hosts on the network. However, it is clearly not suitable for a network containing thousands or millions of hosts. A key issue in a large network is to define a suitable naming scheme. The ARPANet initially used a flat naming space, i.e. each host was assigned a unique name. To limit collisions between names, these names usually contained the name of the institution and a suffix to identify the host inside the institution (a kind of poor man's hierarchical naming scheme). On the ARPANet few institutions had several hosts connected to the network. Un fichier :term:`hosts.txt` peut être utilisé lorsqu'il y a jusqu'à quelques centaines d'hôtes sur le réseau. Cependant, il n'est clairement pas adapté à un réseau contenant des milliers ou des millions d'hôtes. Un problème clé dans un grand réseau est de définir un schéma de nommage approprié. L'ARPANet utilisait initialement un espace de nommage plat, c'est-à-dire que chaque hôte se voyait attribuer un nom unique. Pour limiter les collisions entre les noms, ces noms contenaient généralement le nom de l'institution et un suffixe permettant d'identifier l'hôte à l'intérieur de l'institution (une sorte de schéma de nommage hiérarchique du pauvre). Sur ARPANet, quelques institutions avaient plusieurs hôtes connectés au réseau.
A :term:`nameserver` that is responsible for domain `dom` can directly answer the following queries : Un :term:`nameserver` qui est responsable du domaine `dom` peut directement répondre aux requêtes suivantes :
See http://www.donelan.com/dnstimeline.html for a time line of DNS related developments. Voir http://www.donelan.com/dnstimeline.html pour une chronologie des développements liés au DNS.