Domain Name System

37
Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013 Domain Name System DNS Amira Hakim Dept de Mathematique & Informatique Université de Souk-Ahras UNIVERSITE MOHAMED CHERIF MESSADIA SOUK AHRAS

Transcript of Domain Name System

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Domain Name SystemDNS

Amira HakimDept de Mathematique & Informatique

Université de Souk-Ahras

UNIVERSITE MOHAMED CHERIF MESSADIA SOUK AHRAS

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Pour communiquer entre eux,les etres humains disposent de nombreux outils de reconnaissance comme le prénom (mohamed,ali..) sa permet a chacun d’étre different dans un groupe et de pouvoir étre appelé ou reconnu

Pour les ordinateurs,c’est presque la méme chose:pour mettre en relation differents ordinateurs,c-a-d dans un réseau ,il fallait qu’on puisse les differencier;au lieu de leurs donner des prénoms,on les a donner des numéros et c’est ce qu’on appels:adresse ip ce qui facilite le fait de les relier entre eux par des cables et faire un réseau

Introduction

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

défits

Prenons l’expmle des trois ordinateurs suivants:

Si pour l’ordinateur num1,on héberge un site internet.

Pour que le 2 autre ordi puissent accéder a ce site,Ilfallait obligatoirement connaitre le num de l’ordinateur hebergeur(1)donc:

Au lieu de pouvoir taper www.site.com ils doivent taper l’adresse ip de l’ordi1 c-a-d 192.168.0.1;ce qui n’était pa vraiment tres pratique

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

En quoi consiste le DNS?

DNS

4

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Si vous souhaiter accéder au site google.fr depuis votre pc:

1. Vous taper l’adresse www.google.fr

2. Appuyer sur entrer

3. Votre ordi va se connecter au serveur DNS de votre fournisseur pour lui demander ou se trouve le site google.fr

4. Votre fournisseur sait depuis sa bdd que l’ordi qui hébérge le site googlr.fr est le 72.14.207.99

5. Votre fournisseur vous dirige sans que vous sachiez vers ce serveur

Rôle

5

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Le transport

L'entête

Les Ressource Records

Les formats

6

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Utilisation d'Udp:

Le port serveur utilisé pour l'envoi des datagrammes en Udp est 53.

Les datagrammes Dns en Udp sont limités à 512 octets (valeur représentant les données sans l'entête Udp et Ip).

Les datagramme plus long doivent être tronqué à l'aide du champ Tc.

L'utilisation d'Udp n'est pas recommandé pour les transfert de zone, mais uniquement pour les requêtes standards.

1:Le transport

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

1:Le transport

Utilisation de Tcp

Le port serveur utilisé pour l'envoi des datagrammes en Tcp est 53

Le datagramme inclus alors un champ de deux octets nommé "longueur", il permet de spécifier la longueur total des données indépendamment de la fragmentation.

La longueur est calculé sans les 2 octets de ce même champ.

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Voici la structure de l'entête Dns basé sur 12 octets:

2:L’entéte

9

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

2:L’entéte

Id:Codé sur 16 bits, doit être recopié lors de la réponse permettant à l'application de départ de pouvoir identifier le datagramme de retour.

Qr:Sur un 1 bit, ce champ permet d'indiquer s'il s'agit d'une requête (0) ou d'une réponse (1).

Opcode:Sur 4 bits, ce champ perme de spécifier le type de requête :

0 - Requête standard (Query)

1 - Requête inverse (Iquery)

2 - Status d'une requête serveur (Status)

3-15 - Réservé pour des utilisations futurs

Aa:Le flag Aa, sur un bit, signifie "Authoritative Answer". Il indique une réponse d'une entité autoritaire.

Tc:Le champ Tc , sur un bit, indique que ce message a été tronqué.

Rd:Le flag Rd, sur un bit, permet de demander la récursivité en le mettant à 1.

Ra:Le flag Ra, sur un bit, indique que la récursivité est autorisée.

Z:Le flag Z, sur un bit, est réservé pour une utilisation futur. Il doit être placé à 0 dans tout les cas.

Rcode:Le champ Rcode, basé sur 4 bits, indique le type de réponse.0 - Pas d'erreur,1 - Erreur de format dans la requête,2 - Problème sur serveur;3 - Le nom n'existe pas 4 - Non implémenté;5 – Refus;6-15 –Réservés

Qdcount:Codé sur 16 bits, il spécifie le nombre d'entrée dans la section "Question".

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Ancount:Codé sur 16 bits, il spécifie le nombre d'entrée dans la section "Réponse".

Nscount:Codé sur 16 bits, il spécifie le nombre d'entrée dans la section "Autorité".

Arcount:Codé sur 16 bits, il spécifie le nombre d'entrée dans la section "Additionnel".

2:L’entéte

11

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

La base de données des serveurs de noms est constituée d'enregistrements de ressources.

Ces enregistrements sont répartis en classes. La seule classe d'enregistrement usuellement employée est la classe Internet (IN).

L'ensemble d'informations de ressources associé à un nom particulier est composé de quatre enregistrements de ressources séparés (RR).

Les RR(Ressource Records)

12

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Les RR(Ressource Records)

Voici les différents champs d'un RR que vous pouvez aussi retrouver dans la Rfc 1035:

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Nom:Nom du domaine où se trouve le RR. Ce champ est implicite lorsqu'un RR est en dessous d'un

autre, auquel cas le champ owner est le même que celui de la ligne précédente.

Type

Ce champ type, codé sur 16 bits, spécifie quel type de donnée sont utilisés dans le RR. Voici les différents types disponibles:

Les RR(Ressource Records)

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Classe:Une valeur encodée sur 16 bits identifiant une famille de protocoles ou une instance d'un protocole. Voici les classes de protocole possible :

Ttl:C'est la durée de vie des RRs (32 bits, en secondes), utilisée par les solveurs de noms lorsqu'ils ont un cache des RRs pour connaître la durée de validité des informations du cache.

Longueur:Sur 16 bits, ce champ indique la longueur des données suivantes.

Les RR(Ressource Records)

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Données:Données identifiant la ressource, ce que l'on met dans ce champs dépend évidemment du type de ressources que l'on décrit.

1. A : Pour la classe IN, une adresse IP sur 32 bits. Pour la classe CH, un nom de domaine suivi d'une adresse octale Chaotique sur 16 bits.

2. Cname : un nom de domaine.

3. Mx : une valeur de préférence sur 16 bits (la plus basse possible) suivie d'un nom d'hôte souhaitant servir d'échangeur de courrier pour le domaine de l'owner.

4. Ptr : Une adresse IP sous forme d'un nom.

5. Ns : Un nom d'hôte.

6. Soa : Plusieurs champs.

Exemple:

Les RR

16

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

1 - Structure arborescente de l'espace de noms

2 - Formation des zones

3 - Description techniques pour les zones

4 - Type de serveurs et autorités

4 - Les zones

17

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Structure arborescente de l'espace de noms

18

Le Dns utilise la gestion hiérarchique des noms. On distingue deux domaines pour le classement des noms.

Les domaines géographiques (Codes ISO 3166):

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Les domaines génériques:

Cette liste est définie par la Rfc 1591 - Domain Name System Structure and Delegation

.com - Commerciaux

.edu - Organismes d'éducation américaine

.net - Organismes de gestion de réseaux

.org - Organismes non-commerciaux

.int - Organismes internationaux

.gov - Organismes gouvernementaux USA

.mil - Organismes militaires USA

.arpa - Transition ARPAnet-> Internet + traduction inverse

Structure arborescente de l'espace de noms

19

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

La base de données est divisée en sections appelées zones.

Ces zones sont distribuées sur l'ensemble des serveurs de noms.

De plus, elle est divisée selon deux méthodes : en classes et par "découpage" de l'espace des noms de domaines.

Formation des zones

root

.com

youtube.com

Fr.youtube.com Us.youtube.com

Hp.com

.fr

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Les données qui décrivent chaque zone sont organisées en quatre parties :

*Les données générales sur chaque noeud de la zone

*Les données qui définissent le noeud supérieur de la zone

*Les données qui décrivent les sous-zones

*Les données qui permettent d'accéder aux serveurs de noms qui gèrent les sous-zones

Toutes ces données sont stockées dans des RRs

Description techniques pour les zones

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Par le découpage en zone on a donc trois types de serveurs de noms:

* Le serveur primaire: serveur d'autorité sur sa zone , il tient à jour un fichier appelé

"fichier de zone", qui établit les correspondances entre les noms et les adresses IP des hosts de sa zone. Chaque domaine possède un et un seul serveur primaire

* Le serveur secondaire: Un serveur de nom secondaire obtient les données de zone

via le réseau, à partir d'un autre serveur de nom qui détient l'autorité pour la zone considérée.L 'obtention des informations de zone via le réseau est appelé transfert de zone

* Le serveur cache: Le serveur cache ne constitue sa base d'information qu'à partir des

réponses des serveurs de noms. Il inscrit les correspondances nom / adresse IP dans un cache avec une durée de validité limitée (Ttl) : l n'a aucune autorité sur le domaine

Type de serveurs et autorités

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Les Résolveurs

Les Requêtes

Les Requêtes inverses

Recherche de ressources

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Les "résolveurs" sont des programmes qui interfacent les applications utilisateur aux serveurs de noms de domaines.

un résolveur reçoit une requête provenant d'une application (ex., applications de courrier électronique, Telnet, Ftp) sous la forme d'un appel d'une fonction de bibliothèque, d'un appel système etc., et renvoie une information sous une forme compatible avec la représentation locale de données du système.

Le résolveur est situé sur la même machine que l'application recourant à ses services, mais devra par contre consulter des serveurs de noms de domaines sur d'autres hôtes.

Les résolveurs

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

L'une des raisons les plus importantes qui justifient l'existence des résolveurs est d'éliminer le temps d'acheminement de l'information depuis le réseau.

Décharger simultanément les serveurs de noms, en répondant à partir des données cachées en local.

Les résolveurs

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

La principale activité d'un serveur de noms est de répondre aux requêtes standard.

La requête et sa réponse sont toutes deux véhiculées par un message standardisé décrit dans la Rfc 1035.

Les requêtes sont des messages envoyés aux serveurs de noms en vue de consulter les données stockées par le serveur. Par exemple avec Internet, on peut utiliser aussi bienUdp que Tcp pour envoyer ces requêtes.

Les Requêtes

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Parmi les champs fixes on trouve 4 bits très importants appelé code d'opération (OPCODE). Le code d'opération permet de donner des informations sur la nature du message (requête, réponse, ...). Les quatre possibilités sont :

Question, Contient la question (nom d'hôte ou de domaine sur lequel on cherche des renseignements et type de renseignements recherchés).

Answer, Contient les RRs qui répondent à la question.

Authority, Contient des RRs qui indiquent des serveurs ayant une connaissance complète de cette partie du réseau.

Additional, Contient des RRs supplémentaires pouvant être utiles pour exploiter les informations contenues dans les autres sections.

Structure des requêtes

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Voici un exemple de requête où l'on souhaite connaître le nom du serveur de courrier s'occupant de frameip.com :

Structure des requêtes EXEMPLE

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

La réponse obtenue est :

Structure des requêtes EXEMPLE

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Ce mode est le plus simple du point de vue du serveur.

Les serveur répondent directement à la requête sur la base seule de ses informations locales

La réponse peut contenir la réponse demandée, ou bien donne la référence d'un autre serveur qui sera "plus susceptible " de disposer de l'information demandée.

Le service non-récursif est approprié si le résolveur est capable de façon autonome de poursuivre sa recherche et est capable d'exploiter l'information supplémentaire qui lui

est envoyée pour l'aider à résoudre son problème.

Le mode Itératif

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Le mode itératif

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Le mode récursif une fois est plus simple du point de vue du client. Dans ce mode, le premier serveur prend le rôle de résolveur.

L'utilisation du mode récursif est limité aux cas qui résultent d'un accord négocié entre le client et le serveur.

Cet accord est négocié par l'utilisation de deux bits particuliers des messages de requête et de réponse :

Le bit Ra(Récursion admissible):il signale la disponibilité du service plutôt que son utilisation.

Le bit Rd (récursion désirée):Ce bit indique que le requérant désire utiliser le service récursif pour cette requête.

Le mode Récursif

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Le solveur envoie une demande à un serveur de noms afin que celui-ci renvoie le nom d'hôte associé à une adresse Ip connue.

Deux moyens existent pour convertir une adresse IP en nom d'hôte :

* l'usage de requêtes Dns inversées (Au sens Opcode=Iquery où Iquery = 1)

*les requêtes Dns de type Ptr (Classe IN et Opcode=Query).

Les Requêtes inverses

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

En effet, dans le premier cas, on envoie un message Dns contenant une réponse et on demande toutes les questions pouvant conduire à cette réponse, alors que les requêtes Ptrposent la question de façon explicite : Qui est l'adresse a.b.c.d ?

Une requête Dns inversée a la particularité d'avoir le champ Question vide, et de contenir une entrée dans le champ Answer.

Les Requêtes inverses

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Exemple:Ligne de commande permettant d'établir la requête

Capture du datagramme Query: Capture du datagramme Answer

Requêtes Inverses

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013

Le système de gestion de noms Dns est efficace et unificateur. De plus, comme tous les systèmes cruciaux d'Internet, il y a au moins une implémentation efficace et gratuite. C'est portable et très complet.

Merci Pour Votre Attention

Conclusion

Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of Souk-Ahras 2013