GERE

Généralités Réseau

Le DNS (Domain Name Service) qui pop \o/

Bon, inutile de rappeler à quoi sert le DNS... il traduit le langage humain en langage des machines ! Et l'inverse. C'est notre interprète ! Par exemple : www.Google.fr est traduit par 216.58.213.35 et 216.167.114.128 est traduit par www.Mynetacad.info.


Un peu d'histoire...

Dans les années 70, à Stanford, existait un fichier texte nommé : "HOST.TXT". Ce fichier servait de "DNS" il comportait une adresse IP avec un nom qui correspondait ! La version la plus récente du fichier était partagée par FTP, il fallait donc la récupérer régulièrement. Et plus le fichier était mis à jour, plus il y avait de noms, plus il s'alourdissait. Avec l'explosion du nombre de machines connectées, il fallait trouver une solution "automatique" pour remplacer ce système devenu ingérable.

Le système DNS a pop.

#DNS

Dans Domain Name Service, il y a Domain ! Ce n'est pas pour rien ! Un nom attribué à une machine, une imprimante, un terminal, un serveur... doit être parfaitement UNIQUE dans le domaine auquel il appartient ! Par contre il peut avoir un homonyme dans un autre domaine. Bien sûr ! Par exemple on ne peut pas avoir "dindon.volaille.fr" et "dindon.volaille.fr" dans le domaine "volaille.fr". C'est pas possible, dindon est unique dans son domaine ! (C'est beau ce que je dis...) Par contre on peut très bien avoir "dindon.volaille.fr" et "dindon.starwars.fr" ! Et ouais, tiens ! Pourquoi les dindons n'auraient pas le droit de maîtriser la Force ? Voire même un lance flammes tiens ! Attends... si je tape "dindon lances-flammes" sur google...

Ok, bon... revenons à notre sujet : Du coup, on fait une hiérarchisation. On commence par regarder l'extension de haut niveau : .com ; .fr ; .org ; .net ; .point

et le nom de domaine aussi est unique ! Mais il peut exister plusieurs mêmes noms de domaine avec une extension différente ! Je m'explique : Vous pouvez avoir volaille.fr ; volaille.com et volaille.org

Mais vous ne pouvez pas avoir volaille.fr et volaille.fr ! Il n'existe qu'un volaille.fr !

Les serveurs racine et les serveurs d'extension (de premier niveau ou Top Level) ne possèdent aucune information sur les éléments d'un domaine ! Eeeet oui ! Ils servent juste de "pointeurs", si un serveur de Top Level qui gère l'extension .fr reçoit une requête pour volaille.fr, il va envoyer la requête sur le(s) serveur(s) qui possède(nt) les informations pour le domaine volaille.


Structure

La hiérarchie DNS est donc divisée en zones. Il y a un serveur maître (et éventuellement quelques serveurs secondaires) qui gère(nt) chaque zone ! (Les serveurs secondaires recopient leur contenu à partir du serveur maître)


  • Il y a donc, tout en haut, le domaine racine : le point : "."
  • Vient ensuite le domaine de premier niveau : com ; fr ; org ; net
  • Ensuite le domaine de second niveau : volaille de volaille.fr (contient des sous-domaines, des hôtes et des alias)
  • Et pour finir, tout en bas, il y a le nom des hôtes.

Il existe aussi un "cache" pour chaque serveur DNS. Le serveur garde en mémoire les dernières requêtes. Si un nom est souvent demandé il y a de grandes chances pour que le serveur n'ai même pas besoin de refaire des requêtes ! Voilà, ça c'était l'info gratos.

On est donc passé d'un fichier à Stanford indexé par le stagiaire de l'époque qui répertorie toutes les machines existantes sur le WEB par un système où des milliers de machines indexant un petit bout d'internet ! Ca, c'est de la répartition des charges de ouf. Oui je sais, j'ai pas mis de cédille à "Ca". J'écris sur Notepad et j'ai la flemme de retrouver le code pour foutre une cédille sur un C majuscule.


Zone d'Autorité

Une zone d'autorité est une partie de l'espace DNS sous la responsabilité de son serveur de noms. Le serveur conserve les données de la zone et dessert les requêtes des clients.

Il y a différents types d'enregistrements dans un serveur DNS.

  • A : Renvoie une adresse ipv4
  • AAAA: Renvoie une adresse ipv6
  • NS : délègue la gestion d'une zone à un serveur de nom faisant autorité
  • SOA : définit le serveur maître du domaine
  • Et bien d'autres...

Pour qu'un serveur fasse autorité, il faut compléter son enregistrement en lui associant un pointeur sur une machine "HOTE A" où fonctionnent les services associés au nom de domaine. J'ai rien compris, ça vient du cours. Je vais me renseigner.


Les serveurs de noms DNS

Un serveur de noms principal (ou maître) est un serveur DNS qui contient les données de sa zone dans un fichier local de sa base de données DNS.

Un serveur de noms secondaire est un serveur DNS qui obtient ses données du serveur principal ! Lors de l'installation d'un serveur secondaire, on doit lui préciser où récupérer ses données. (Sur quel serveur il ira copier / coller les données de la zone... quand il fait un transfert de zone quoi.) Les données sont évidemment envoyées via le protocole TCP. Le serveur secondaire est très utile, il permet de prendre le relais en cas de panne du serveur principal et se partage les charges avec le serveur principal (quand il n'est pas en panne :) Un serveur DNS peut très bien être principal pour une zone et secondaire pour une autre !


Les types de requêtes DNS

Les serveurs DNS peuvent recevoir trois types de requêtes.

  • Requêtes Récursives : Une machine demande au serveur DNS d'effectuer des recherches poussées sur un nom.
  • Requête Itérative : En consultant son fichier, le DNS répond soit les données demandées, soit "je n'ai rien, démerde-toi !"
  • Requête Inversées : Au lieu de demander au serveur DNS de traduire un nom en ip, il demande de traduire une ip en nom. La procédure de résolution est complexe.

Pour finir

Le processus doit se terminer par l'envoi d'une réponse positive au client, mais d'autres réponses existent.

  • Réponse faisant autorité : Réponse positive avec un bit d'autorité dans le message DNS qui indique que le nom a été résolu grâce à un serveur qui a l'autorité directe dessus.
  • Réponse positive : Ne comprend pas d'enregistrements de ressources interrogées.
  • Réponse de référence : Contient des enregistrements de ressouces supplémentaires.
  • Réponse négative : N'existe pas dans l'espace DNS ou aucun enregistrement du type spécifié n'existe pour ce nom.