1 / 109

DNS (Domain Name System)

DNS (Domain Name System). Sommaire introduction arborescence architecture base de données une implémentation du DNS : BIND Outils / ZoneCheck. DNS. Introduction (1). Besoin

moya
Download Presentation

DNS (Domain Name System)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DNS (Domain Name System)

  2. Sommaire introduction arborescence architecture base de données une implémentation du DNS : BIND Outils / ZoneCheck DNS

  3. Introduction (1) • Besoin • nommer une machine sur le réseau en effectuant une correspondance entre le nom choisi et le numéro IP (résolution de nom) • trouver le nom d ’une machine à partir de sonnuméro IP (résolution inverse) • identifier un groupe de machines ayant des ressources réseau communes (relais de messagerie, …)

  4. Introduction (2) • Quelques exemples simples : • nom de domaine : afnic.asso.fr • nom de machine : ftp.afnic.asso.fr adresse ip 192.134.4.13 • nom de machine : relay1.afnic.asso.fr adresse ip 192.134.4.17 • nom de machine : www.afnic.asso.fr adresse ip 192.134.4.11 • nom de machine : www.nic.fr  adresse ip 192.134.4.11 • adresse IP : 192.134.4.11  www.afnic.asso.fr  www.nic.fr • Une information dans le DNS indique vers quelle machine diriger le courrier électronique : • Jean.Dupont@afnic.asso.fr  relay1.afnic.asso.fr adresse ip 192.134.4.17

  5. Introduction (3) • Jusqu’en 1984 : fichier hosts.txt => /etc/hosts • inadapté à grande échelle • temps de diffusion des infos (par ftp !) • système centralisé • quelques centaines de machines dans les années 70 • plusieurs millions aujourd’hui • correspondance statique • ne contient que des infos réduites • noms enregistrés sous le domaine arpa=> collision rapide de noms

  6. Introduction (4) • Après 1984 : Domain Name SystemPaul Mockapetris - RFC 882 883 puis 1034 1035 • système hiérarchisé et distribué • modèle en arborescence (similaire à l’arborescence d’un système de fichiers avec ses répertoires) • gestion décentralisée des bases de données => chaque site est maître de ses données • informations complémentaires : relais de messagerie, … • correspondance dynamique • limite les risques de collisions de noms

  7. Introduction (5) • RFC’s • 1032, 1033, 1034, 1035, 1101, 1122, 1123, 1183, 1713, 1794, 1912, 1995, 1996, 2010, 2136, 2137, 2181, 2308, 2535-2541 • Documentation • http://www.dns.net/dnsrd/ (RFC, drafts, FAQ, …) • http://www.nic.fr/Guides/DNS.html • http://www.nic.fr/Formation/ • Livres • DNS and BIND (Paul Albitz & Cricket Liu)

  8. Arborescence (1) • Organisation générale • le système est organisé sous la forme d’une arborescence, composée par • la racine (root), sommet de l’arbre, qui est notée par un point . • des nœuds, identifiés par un label (fr , com , …), dont les informations sont stockées dans une base de données propre àchacun des nœuds • base de données du système • une base de données par nœud • l’ensemble de ces bases de données constitue le système d’information hiérarchique et distribué du DNS

  9. in-addr nic 193 1  192.134.4.11  193.1.2.133 2 133 Arborescence (2) adresse IP nom nom  adresse IP . net fr arpa com ripe apnic 192 whois whois www 0 ... 255 www.nic.fr.  192.134.4.11 whois.ripe.net.  193.1.2.133 193.1.2.133  133.2.1.193.in-addr.arpa.  whois.ripe.net

  10. nic . fr . racine séparateur 2éme niveau 1er niveau Arborescence (3) • Parcours de l’arbre et nom de domaine • la descente dans l’arbre est représentée de la droite vers la gauche • chaque niveau de l’arborescence est séparé par un point

  11. . net fr arpa com tn in-addr ripe ffti apnic nic 193 whois = whois.ripe.net 0 1 ... 255 2 133 = 133.2.1.193.in-addr.arpa Arborescence (4)

  12. Arborescence (5) • Délégation d’un nœud père vers un nœud fils • un nœud peut être père de plusieurs nœuds fils • le lien est effectué en précisant au niveau du nœud père où trouver la base de donnée des nœuds fils • but • distribuer la gestion de chaque nœud à des entités différentes=> une base de données pour chaque nœud, l’ensemble de ces bases étant géré de façon décentralisé • pour définir des domaines de responsabilités différentes

  13. Arborescence (6) • Dénomination des domaines • caractères autorisés ‘A’ - ‘Z’ ‘a’ - ’z’ ‘0’ - ‘9’ ‘-’pas de différences entre majuscule et minuscule • nom total limité à 255 caractères • label est unique au niveau d’un nœud • label au niveau d ’un nœud limité à 63 caractères

  14. Arborescence (7) • Notion de domaine et de zone • le domaine est l’ensemble d’une sous arborescence exemple : le domaine fr. rassemble toute la sous arborescence à partir du nœud fr • la zone est la partie descriptive pour un niveau donné : elle est restreinte à un nœud => une zone est constituée de la base de données décrivant un nœud

  15. Arborescence (8)

  16. ns1 . nic . fr . racine label séparateur 2éme niveau 1er niveau Arborescence (9) • Résolution nom => numéro IP • le nom de machine est formé en ajoutant le label choisi suffixé avec ‘  . ‘ avec le domaine auquel cette machine appartient

  17. Arborescence (10) • Analogie un nœud contient à la fois des noms de machines et des sous domaines, comme, pour un système de fichiers, un répertoire contient des fichiers et des sous répertoires

  18. Arborescence (11) • Résolution inverse • retrouver à partir d’un numéro IP le nom d’une machine associée • l’arborescence se trouve sous le domaine in-addr.arpa (sous ip6.int pour ipv6) • l’arborescence est subdivisée à partir de la notation classique sur 4 octets des numéros IPv4

  19. Arborescence (12) • Parcours de l’arbre et résolution inverse • le nom de domaine est inversé par apport au numéro IP domaine : 133.2.1.193.in-addr.arpa. pour le numéro IP : 193.1.2.133 • la descente dans l’arbre est représentée de la droite vers la gauche • chaque niveau de l’arborescence est séparé par un point

  20. . net fr arpa com tn in-addr ripe ffti nic 193 whois = whois.ripe.net 0 1 ... 255 2 133 = 133.2.1.193.in-addr.arpa Arborescence (13)

  21. Arborescence (14) • Le même mécanisme s’applique pour la sous arborescence in-addr.arpa comme pour les domaines « classiques » (nic.fr) : par exemple le domaine 11.193.in-addr.arpa est un sous domaine du 193.in-addr.arpa, le nœud 11.193.in-addr.arpa étant défini par sa base de données • Tout numéro officiellement attribué à une machine doit être déclaré dans cette arborescence

  22. Arborescence (15) • Racine : environ 15 bases de données (serveurs de nom) répartis dans le monde connaissant tous les serveurs des domaines de 1er niveau (.fr .arpa .com … ) • serveur origine géré par l ’IANA / ICANN A.ROOT-SERVERS.NET • serveurs miroirs deB.ROOT-SERVERS.NET àM.ROOT-SERVERS.NET

  23. Arborescence (16) • Top-level domain (TLD) : Domaine de 1er niveau - RFC 1591 • à 2 lettres : code ISO-3166 de chaque pays • à 3 lettres : .com, .net, .org, .edu, .gov, .mil,.int • à 4 lettres : .arpa

  24. Arborescence (17) • Enregistrer un nom de domaine • Network Solutions : .com, .net, .org • http://www.networksolutions.com • APNIC : Asie Pacifique NIC • http://www.apnic.net • IANA : .us (rfc 1480), .edu, .gouv (Etats-Unis), • http://www.isi.edu/in-notes/usdnr/ • Une liste des autres NIC européens et mondiaux : • http://www.nic.fr/Guides/AutresNics/

  25. Architecture (1) • Système clients/serveurs • client • resolver : interface cliente permettant d’interroger un serveur • les machines clientes pointent généralement vers un serveur par défaut (/etc/resolv.conf sur Unix) • serveur • chaque serveur gère sa propre base de données • optimisation par des systèmes de cache et de réplication

  26. Architecture (2) • Au dessus d ’IP • service s’exécutant sur le port 53=> droits de super utilisateur • UDP et TCP (TCP n’est pas réservé qu’au transfert de zoneet est utilisé si la taille de la réponse est supérieure à la limite d ’un paquet UDP de 512 octets) • RFC 1035

  27. Architecture (3) • Fonctionnement du client : le resolver • permet de communiquer avec les serveurs DNS • 2 modes d’interrogation • récursif : le client envoie une requête à un serveur, ce dernier devant interroger tous les autres serveurs nécessaires pour renvoyer la réponse complète au client (mode utilisé par les machines clientes en général) • itératif : le client envoie une requête à un serveur, ce dernier renvoyant la réponse si il la connaît, ou le nom d’un autre serveur qu’il suppose plus renseigné pour résoudre cette question (mode utilisé par le resolver des serveurs en général)

  28. serveur www.inria.fr ? . . serveur r e s o l v e r voir serveur fr : ns1.nic.fr www.inria.fr ? www.inria.fr ? fr serveur fr de voir serveur inria.fr : dns.inria.fr inria.fr serveur nic.fr inria.fr 128.93.3.29 128.93.3.29 resolver int. récursive www.inria.fr ? Machine A int. itérative Architecture (4)

  29. Architecture (5) • Serveurs • types de serveurs • serveur cache • serveur • « faisant suivre » (forwarder) • « esclave » (slave - forwarder-only) • serveur ayant autorité sur une (plusieurs) zone(s) • primaire (source des données) • secondaire (miroir des données)

  30. Architecture (6) • Serveur cache • éviter la surcharge inutile du réseau • supprimer les délais du réseau • amoindrir la charge des autres serveurs => tout serveur possède en général au minimum un cache

  31. Architecture (7) • Serveur cache • configuration minimale • base de données nécessaire • adresses des serveurs de la racine • reverse du loopback 1.0.0.127.in-addr.arpa • les données du cache possèdent une durée de vie limitée Time To Live - ttl) afin de permettre son rafraîchissement et la prise en compte des modifications • il s’enrichit au fur et à mesure par les données récoltées pour résoudre les requêtes des clients=> une requête déjà demandée est résolue à partir du cache du serveur

  32. serveur . . serveur r e s o l v e r fr serveur fr de nic.fr serveur nic.fr inria.fr 128.93.3.29 resolver int. récursive int. itérative www.inria.fr ? host A Architecture (8) cache www.inria.fr 128.93.3.29

  33. serveur r e s o l v e r chronos.inria.fr ? inria.fr serveur inria.fr serveur 128.93.45.201 128.93.45.201 resolver chronos.inria.fr ? int. itérative Machine A int. récursive Architecture (9) c a c h e

  34. Architecture (10) • Serveur « faisant suivre » / esclave • ces types de serveurs possèdent une liste de serveurs à interroger (le serveur fait suivre la requête reçue vers d’autres serveurs par une requête elle-même récursive) • « faisant suivre » • vérifie si la réponse n ’est pas dans son cache • sinon fait suivre à un des serveurs la requête • en cas d’échec tente de résoudre lui même la demande => enrichissement rapide d’un cache partagé (au sein d ’un organisme pour ne pas surcharger la liaison vers l ’extérieur)

  35. Architecture (11) • Serveur « faisant suivre » / esclave • esclave • vérifie si la réponse n ’est pas dans son cache • sinon fait suivre à un des serveurs la requête • en cas d ’échec avec tous les serveurs, il renvoie un code d’erreur => enrichissement rapide d ’un cache partagé pour un serveur n’ayant pas d’accès direct à tout l’Internet

  36. Architecture (12) • Serveur ayant autorité sur une (plusieurs) zone(s) • serveur primaire • le serveur primaire d’une zone est la source des informations relatives à cette zone (il possède la base de donnée maître) • il contient les informations à partir d’un fichier de données où l’on effectue les mises à jour. • il a l’origine de l’autorité (Start Of Authority - SOA) sur cette zone

  37. Architecture (13) • Serveur ayant autorité sur une (plusieurs) zone(s) • serveur secondaire • c ’est un miroir sauvegardé sur disque de la base de données maître • fonction de sauvegarde • de répartition de charge et d accessibilité • le serveur secondaire d’une zone obtient les informations relatives à celle-ci automatiquement depuis un serveur primaire ou un autre secondaire • il a également autorité sur cette zone

  38. serveur www.inria.fr ? . . serveur c a c h e r e s o l v e r => fr : ns1.nic.fr disque www.inria.fr ? fr serveur fr de => inria.fr : dns.inria.fr www.inria.fr ? nic.fr serveur nic.fr inria.fr 128.93.3.29 128.93.3.29 resolver int. récursive int. itérative www.inria.fr ? host A Architecture (14) auth

  39. Architecture (15) • Rafraîchissement des données entres serveurs ayant autorités sur une zone • DNS Change Notification (RFC 1996) • après la prise en compte de modifications de la part du serveur primaire, ce dernier notifie les serveurs secondaires qu’une nouvelle version de la zone a été générée • ce système de mise à jour ne peut se faire qu’entre un primaire et un secondaire • accélère le rafraîchissement des données par rapport au système classique

  40. Architecture (16) • Rafraîchissement des données entres serveurs autoritaires • système classique • un serveur secondaire d’une zone interroge à intervalles réguliers le serveur primaire de cette zone pour voir si une modification a eu lieu. La fréquence est indiquée par le refresh défini dans le SOA • ce type de mise à jour peut se faire entre un primaire et un secondaire ou entres secondaires

  41. Architecture (17) • Rafraîchissement des données entres serveurs autoritaires • la version d ’une zone est identifiée par son numéro de série (serial) ; à chaque modification celui-ci doit être augmenté • transfère de zone • le serveur secondaire transfère d’abord le SOA de la zone et vérifie si le numéro de série a augmenté • si c’est le cas toute la zone est transférée (transfère total - AXFR) ou seul les nouvelles modifications entre les 2 versions sont transférées (transfert incrémental - IXFR - RFC 1995)

  42. Architecture (18) • Rafraîchissement des données entres serveurs autoritaires • reprise en cas d ’échec • en cas d ’échec de cette interrogation, le secondaire recommence toutes les retry secondes jusqu’à atteindre le temps d’expiration (expire), ces valeurs étant fixés également dans le SOA

  43. Architecture (19) • Remarques • un serveur peut être à la fois serveur cache et autoritaire pour des zones : le cache possède alors des informations locales et non locales • un serveur peut être à la fois primaire pour des zones et secondaire pour d’autres zones

  44. Architecture (20) • Remarques • mode de fonctionnement d’un serveur • récursif • le serveur résout les requêtes récursives des clients et garde les informations obtenues dans son cache => le cache stocke des informations pour lesquelles le serveur n ’a pas autorité • serveurs cache de campus par exemple

  45. Architecture (21) • Remarques • mode de fonctionnement d’un serveur • itératif • il répond toujours en fonction des données qu’il possède localement => ne construit pas de cache pour des données non locales (serveurs de la racine) => une machine cliente (d’utilisateur final) ne doit jamais pointer sur un serveur de ce type comme serveur par défaut • mode permettant de limiter la charge d’un serveur (il ne résout pas toute la requête)=> serveurs de la racine, serveurs ayant autorités pour un grand nombre de zones

  46. Architecture (22) • H • Army Resarch Lab USA • I • NORDU SUEDE • J • NSI USA • K • RIPE NCC LINX UK • L • ISI USA • M • Wide Project JAPON • A • NSI USA • B • ISI USC USA • C • PSI USA • D • UNIV. MARYLAND • E • NASA USA • F • ISC USA • G • DOD NIC USA

  47. M F E A C D G H J I K B L

  48. Base de données (1) • Fichier de configuration du serveur • Fichier des serveurs de la racine • Un fichier par zone décrivant son contenu • au moins le fichier du reverse loopback 1.0.0.127.in-addr.arpa

  49. Base de données (2) • Fichier de configuration • localisation des donnéesfichier serveurs de la racinefichiers de zone • déclaration de l’autorité sur des zonesprimaire / secondaire • mode de fonctionnement général • récursif/itératif • « faisant suivre », esclave, ....

More Related