Accéder au contenu principal

1983 - DNS (Domain Name System)

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 :

  • 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 :

  1. l'un des serveurs racines DNS pour savoir qui est autoritaire sur la zone ".arpa" 
  2. le serveur en charge de la zone ".arpa" pour savoir qui est autoritaire sur la zone "universite.arpa" 
  3. le serveur en charge de la zone "universite.arpa" pour savoir qui est autoritaire sur la sous zone "departement-informatique" 
  4. 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".

Posts les plus consultés de ce blog

1997 - Peer-to-peer (P2P)

Dès sa conception à la fin des années 1960, le réseau ARPANET pose les bases d'un réseau d'interconnexion non hiérarchique et non centralisé. En théorie, la communication entre utilisateurs finaux ne dépend d'aucun élément central et d'aucune liaison point-à-point . Il est donc pas définition possible d'échanger des informations avec n'importe quel ordinateur relié au réseau. Les premiers échanges de données, via les protocoles telnet ou ftp notamment illustrent bien cette idée de connexions non centralisées, inutile de se référencer auprès d'un serveur central pour communiquer entre utilisateurs. La réalité est un peu plus contrastée puisque pour beaucoup de protocoles IP, un modèle client-serveur est nécessaire : un serveur héberge les données et des clients s'y connecte pour les lire ou les modifier.

1969 - Arpanet (ARPA Network)

A partir de 1940, le département de la Défense américain crée une agence chargée des projets de recherche en matière de défense militaire. Cette agence nommée DARPA ("Defense Advanced Research Projects Agency") va être à l'origine de la naissance du réseau prédécesseur d'Internet, mais aussi du programme Transit ancêtre du GPS, ainsi que des programmes d'avions furtifs Jusqu'alors, les communications informatiques reposaient sur l'utilisation de circuits dédiés, tout comme les communications téléphoniques. L'agence DARPA lance donc en 1966 un projet de réseau informatique reliant certaines universités américaines. Sans objectif particulier d'un point de vue militaire, ce projet devient le réseau ARPA et en 1969 il relie quatre centres :

1877 - Téléphone

Conçu ses débuts dans le but de transporter la voix et d'assurer la conversation à distance de plusieurs personnes, le téléphone est aujourd'hui devenu plus bien qu'un outil de communication. L' histoire française veut que ce soit en France, dans les années 1850, qu'ait été inventé le téléphone. Malheureusement, la paternité de cette formidable invention fût disputée par de nombreuses personnes :