Chronologie globale Documents historiques A venir: les newsgroups, le protocole UUCP, Craig's List, Amazon, eBay, Facebook, Youtube, ... A venir: RSS, Javascript, Google, Wikipedia, AOL, UUNet, le spam, ... et bien d'autres secrets ...
Avec l'avènement des protocoles TCP/IP, chaque machine du réseau ARPANET se voit attribuer une adresse IPV4 (constituée pour simplifier d'une suite de quatre nombres compris chacun entre 0 et 255). La mémorisation et l'utilisation de ces adresses numériques détermina rapidement la mise en place d'un système de traduction de celles-ci en objets plus compréhensibles par un humain.
Précédemment, les ordinateurs du réseau ARPANET s'échangeaient des fichiers appelés "HOSTS.TXT" servant à diffuser les correspondances entre des adresses IP numériques (exemple: 10.0.0.1) et leurs noms en chaines alpha-numériques (exemple: machine.site.arpa). Cependant, l'explosion du nombre de machines sur le réseau ARPANET fit apparaitre les limitations d'un tel système basé sur la mise à jour permanente de ces listes de correspondances des adresses.
En 1983, peu de temps après le déploiement de TCP/IP, un système d'échange plus robuste et évolutif fut inventé: le DNS (Domain Name System). Le principe était de permettre l'échange dynamique des informations asociées aux adresses IP, au travers d'un système de notification accessible depuis l'ensemble des machines du réseau.
Paul Mockapetris, diplômé en 1971 du MIT et en 1982 de l'Université de Californie - Irvine, écrit la première implémentation du DNS pour systèmes d'exploitation TOPS-20 en 1983. Ces recherches sont publiées sous les RFC882 (Domaine Names - Concepts and Facilities) et RFC883 (Domain Names - Implementation and Specification).
Trois serveurs DNS furent tout d'abord implémentés en 1983, puis l'ensemble des serveurs "racines" en 1986. Précédemment en 1984, la première implémentation du DNS sur système d'exploitation Unix voit le jour, elle est revue en 1985 et nommée BIND (Berkeley Internet Name Domain). Le portage du DNS sur les systèmes d'exploitation Windows apparaitre au début des années 1990.
Souvent comparé à l'annuaire téléphonique, le système DNS possède une organisation hiérarchique des données en octroyant une autorité particulière à certains serveurs :
Ce mécanisme permet de réduire l'impact d'une défaillance de l'un des serveurs DNS et permet de distribuer l'ensemble des consultations et mises à jour des annuaires. Son implémentation se fait au travers d'un modèle Client-Serveur s'appuyant sur les couches de transport TCP et/ou UDP.
Syntaxiquement, un nom de domaine est composé d'au moins deux parties, séparées par des caractères "." :
Exemple avec le nom de domaine "machine123.departement-informatique.universite.arpa" :
Lorsque qu'une machine connectée au réseau Internet souhaite connaitre l'adresse IP de la machine "machine123.departement-informatique.universite.arpa", elle interroge un serveur DNS habituellement situé sur son réseau local, qui va alors interroger :
Ce processus (usuellement nommé lookup) fait appel à des serveurs DNS appelés "serveurs de résolution", qui initie et traite l'ensemble des interrogations DNS nécessaires à l'obtention de l'information. Le processus fait aussi parfois appel à des serveurs DNS appelés "serveurs cache" qui stockent les informations issues des interrogations afin de les redistribuer si une demande similaire est faite, ceci permettant de réduire le nombre d'interrogations faites pour un même objet.
L'introduction dans le protocole DNS d'une notion de cache permet de réduire les échanges auprès des serveurs de noms. La durée de vie d'un cache de données est déterminé par une information contenue dans la zone DNS et nommée TTL (Time-To-Live), mais elle peut également être fixée arbitrairement par l'administrateur du cache.
Enfin, la résolution DNS permet également l'interrogation inverse des données, à savoir obtenir le nom DNS d'une machine à partir de son adresse IP. Ce processus est usuellement nommé "reverse-lookup".
Précédemment, les ordinateurs du réseau ARPANET s'échangeaient des fichiers appelés "HOSTS.TXT" servant à diffuser les correspondances entre des adresses IP numériques (exemple: 10.0.0.1) et leurs noms en chaines alpha-numériques (exemple: machine.site.arpa). Cependant, l'explosion du nombre de machines sur le réseau ARPANET fit apparaitre les limitations d'un tel système basé sur la mise à jour permanente de ces listes de correspondances des adresses.
En 1983, peu de temps après le déploiement de TCP/IP, un système d'échange plus robuste et évolutif fut inventé: le DNS (Domain Name System). Le principe était de permettre l'échange dynamique des informations asociées aux adresses IP, au travers d'un système de notification accessible depuis l'ensemble des machines du réseau.
Paul Mockapetris, diplômé en 1971 du MIT et en 1982 de l'Université de Californie - Irvine, écrit la première implémentation du DNS pour systèmes d'exploitation TOPS-20 en 1983. Ces recherches sont publiées sous les RFC882 (Domaine Names - Concepts and Facilities) et RFC883 (Domain Names - Implementation and Specification).
Trois serveurs DNS furent tout d'abord implémentés en 1983, puis l'ensemble des serveurs "racines" en 1986. Précédemment en 1984, la première implémentation du DNS sur système d'exploitation Unix voit le jour, elle est revue en 1985 et nommée BIND (Berkeley Internet Name Domain). Le portage du DNS sur les systèmes d'exploitation Windows apparaitre au début des années 1990.
Souvent comparé à l'annuaire téléphonique, le système DNS possède une organisation hiérarchique des données en octroyant une autorité particulière à certains serveurs :
- les serveurs racines (comparaison avec la liste des annuaires des pays)
- les serveurs autoritaires sur suffixe (comparaison avec la liste des annuaires des départements)
- les serveurs autoritaires sur zone ((comparaison avec les annuaires de chaque département)
- les serveurs autoritaires sur sous-zone (comparaison avec les annuaires de villes par exemple)
Ce mécanisme permet de réduire l'impact d'une défaillance de l'un des serveurs DNS et permet de distribuer l'ensemble des consultations et mises à jour des annuaires. Son implémentation se fait au travers d'un modèle Client-Serveur s'appuyant sur les couches de transport TCP et/ou UDP.
Syntaxiquement, un nom de domaine est composé d'au moins deux parties, séparées par des caractères "." :
- la partie la plus à droite contient le suffixe de domaine (appelé aussi TLD pour "Top-Level Domain")
- chaque partie à sa gauche permettant de spécifier le domaine lui-même et les éventuels sous-domaines
- la partie la plus à gauche désignant le nom de l'équipement IP associé
- un nom de domaine ne peut par contenir plus de 127 niveaux sous le préfixe
- chaque partie d'un nom de domaine est limité à 63 octets
- la longueur total d'un nom de domaine ne peut excéder 253 octets
- un nom de domaine peut être associé à une ou plusieurs adresses IP
Exemple avec le nom de domaine "machine123.departement-informatique.universite.arpa" :
- le suffixe ou TLD est : ".arpa"
- la zone DNS est : "universite"
- la sous-zone DNS est : "departement-informatique"
- le nom de l'équipement est : "machine123"
Lorsque qu'une machine connectée au réseau Internet souhaite connaitre l'adresse IP de la machine "machine123.departement-informatique.universite.arpa", elle interroge un serveur DNS habituellement situé sur son réseau local, qui va alors interroger :
- l'un des serveurs racines DNS pour savoir qui est autoritaire sur la zone ".arpa"
- le serveur en charge de la zone ".arpa" pour savoir qui est autoritaire sur la zone "universite.arpa"
- le serveur en charge de la zone "universite.arpa" pour savoir qui est autoritaire sur la sous zone "departement-informatique"
- le serveur en charge de la sous-zone "departement-informatique" pour savoir quelle est l'adresse IP de "machine123"
Ce processus (usuellement nommé lookup) fait appel à des serveurs DNS appelés "serveurs de résolution", qui initie et traite l'ensemble des interrogations DNS nécessaires à l'obtention de l'information. Le processus fait aussi parfois appel à des serveurs DNS appelés "serveurs cache" qui stockent les informations issues des interrogations afin de les redistribuer si une demande similaire est faite, ceci permettant de réduire le nombre d'interrogations faites pour un même objet.
L'introduction dans le protocole DNS d'une notion de cache permet de réduire les échanges auprès des serveurs de noms. La durée de vie d'un cache de données est déterminé par une information contenue dans la zone DNS et nommée TTL (Time-To-Live), mais elle peut également être fixée arbitrairement par l'administrateur du cache.
Enfin, la résolution DNS permet également l'interrogation inverse des données, à savoir obtenir le nom DNS d'une machine à partir de son adresse IP. Ce processus est usuellement nommé "reverse-lookup".