Accéder au contenu principal

Histoire d'Internet

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 ...

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

2009 - Rétrospective Arpanet

Le professeur Leonard Kleinrock, pionnier de l'Internet à l'UCLA ( University of California, Los Angeles ), présente l'architecture de connexion des premières machines au sein du réseau ARPANET en septembre 1969 et le premier envoi de données en octobre 1969. The first Internet connection

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 :

1974 - TCP-IP

Depuis ses débuts, le réseau ARPANET s'appuyait sur une couche protocolaire de communication appelée "Network Control Program". assurant la gestion des flux inter-composants de communications des ordinateurs du réseau. La gestion des couches physiques et réseau était quant à elle confiée aux composants appelés IMPS (Interface Message Processors). NCP assurait donc la gestion de la couche Transport des données au travers de deux protocoles: AHHP (Arpanet Host-to-Host Protocol) chargé de contrôler les flux de données unidirectionnels entre machines et ICP (Initial Connection Protocol) chargé d'établir une communication bi-directionnelle s'appuyant sur les flux gérés par AHHP. Les applications logicielles s'appuyaient alors sur une interface avec la couche NCP pour dialoguer.