Aller au contenu principal

Exercices de la semaine 5

DNS sur la pile Internet

À quelle couche de la pile Internet se situe le DNS?

Réponse

Le DNS est un protocole applicatif tout comme HTTP et SMTP, par exemple.

Majuscules dans les noms de domaine

Les noms GEL.ulaval.ca et gel.ulaval.ca sont-ils équivalents?

Réponse

Oui, ces noms de domaine sont équivalents. Le DNS ne tient pas compte des majuscules. Vous pouvez l’essayer par vous-mêmes en utilisant nslookup ou dig pour les noms de domaine MICROSOFT.COM et microsoft.com.

Validité des noms de domaine

Les noms de domaine suivants sont-ils valides?

  1. 1234567890.com
  2. 01234567891011121314151617181920212223242526272829303132333435.com
  3. aPPle.com.
  4. réseau-de-transmission-de-données.gif3001.net
Réponse

  1. Oui, les noms de domaines peuvent contenir des chiffres!
  2. Non, le premier label contient plus de 63 caractères. Chaque label est limité à un nombre d’octets (donc caractères ASCII) entre 1 et 63 inclusivement.
  3. Oui, ce nom de domaine est équivalent à apple.com. puisque le DNS n’est pas case sensitive.
  4. Oui, mais les accents seront convertis en caractères ASCII par un processus nommé le puny code1.

Autorité pour microsoft.com

Quel est le serveur de nom autoritaire pour le nom de domaine microsoft.com?

Réponse

Les noms de serveur autoritaires pour le nom de domaine microsoft.com sont les suivants:

  • ns2-39.azure-dns.net.
  • ns3-39.azure-dns.org.
  • ns4-39.azure-dns.info.
  • ns1-39.azure-dns.com.

Ils peuvent être obtenus en effectuant une requête DNS de type NS.

Obtention des records DNS

Pour le nom de domaine réseau-de-transmission-de-données.gif3001.net :

  1. Identifier s’il y a des adresses IP (v4 et v6) associées à ce nom. Est-ce que ces adresses sont joignables (ping, traceroute)?
  2. Quels sont les serveurs DNS autoritaires pour ce domaine? Est-ce que ces serveurs correspondent à ceux associés dans le whois?
  3. Y a-t-il un service web disponible à cette adresse?
Réponse

Le protocole DNS ne supporte que des caractères ASCII, alors que le nom de domaine réseau-de-transmission-de-données.gif3001.net contient des caractères accentués. Malgré cette contrainte, le DNS supporte des noms de domaine avec des caractères internationaux (UTF-8), mais ces caractères sont encodés en ASCII en utilisant le puny code.

  1. Si votre version de dig ou nslookup supporte IDN (Internationalized Domain Name), vous devriez obtenir l'adresse IPv4 172.64.80.1 et l'adresse IPv6 2606:4700:130:436c:6f75:6466:6c61:7265. Sinon, vous obtiendrez un message d'erreur similaire au suivant:

    Host r\195\169seau-de-transmission-de-donn\195\169es.gif3001.net not found:
    2(SERVFAIL)

    Vous devriez aussi être en mesure d'utiliser la commande ping pour rejoindre l'interface.

    user@computer-os$ ping réseau-de-transmission-de-données.gif3001.net
    PING réseau-de-transmission-de-données.gif3001.net (172.64.80.1) 56(84) bytes of data.
    64 bytes from 172.64.80.1 (172.64.80.1): icmp_seq=1 ttl=57 time=24.0 ms
    64 bytes from 172.64.80.1 (172.64.80.1): icmp_seq=2 ttl=57 time=23.4 ms
    64 bytes from 172.64.80.1 (172.64.80.1): icmp_seq=3 ttl=57 time=23.9 ms
  2. Les DNS autoritaires sont identifiés avec des records NS dans le DNS, et dans le whois en tant que Name Servers dans le domaine gif3001.net. Les résultats obtenus démontrent que la même information se retrouve dans le DNS et Whois, ce qui indique que la délégation est correcte.

    % dig gif3001.net ns

    ;; ANSWER SECTION:
    gif3001.net. 86400 IN NS imani.ns.cloudflare.com.
    gif3001.net. 86400 IN NS abdullah.ns.cloudflare.com.
  3. Pour verifier s’il existe une page web à l’adresse https://réseau-de-transmission-de-données.gif3001.net, il suffit de l’essayer dans votre client web. Vous devriez être redirigé vers le portail de cours UL.

DNS autoritaire

Qu’est-ce qu’une réponse DNS de type « autoritaire »?

Réponse

Une réponse autoritaire est une réponse provenant du serveur autoritaire pour le nom de domaine. Le serveur autoritaire est le serveur par lequel le nom de domaine est enregistré. C’est aussi sur ce serveur que sont maintenus les records DNS associés au nom de domaine.

Les serveurs non autoritaires pour un nom de domaine sont des serveurs qui ont « appris » de l’information sur le nom sans pour autant être la source de cette information. Ces serveurs conservent l’information apprise pour un certain temps afin d’accélérer la résolution de noms de domaine.

Obtention de l'adresse IP de google.com

Utilisez nslookup ou dig pour obtenir l’adresse IPv4 de google.com. D’où provient la réponse? La réponse est-elle autoritaire?

Réponse

L’adresse IPv4 associée au nom google.com est 142.251.32.78.

La commande dig vous informe de l’autorité de la réponse par le drapeau aa. Si celui-ci est présent, la réponse est autoritaire.

La commande nslookup vous informe directement de si la réponse est autoritaire. Le programme imprimera quelque chose du genre Authoritative answer: suivi de la réponse si celle-ci est autoritaire ou Non-authoritative answer: si elle ne l’est pas.

DNS et récursivité

Pourquoi le DNS n’est-il pas implémenté de manière purement récursive?

Réponse

Implémenter le DNS de manière itérative à partir du serveur DNS local permet d’éviter de surcharger les serveurs DNS au haut de la hiérarchie et d’ainsi améliorer la qualité du service.

Si les serveurs DNS au haut de la hiérarchie implémentaient la récursivité, ceux-ci seraient occupés pour de multiples étapes de la résolution d’un nom. Les temps d’attente pour la résolution seraient donc bien plus longs puisque les serveurs seraient plus occupés. Implémenter une résolution itérative à partir du DNS local fait en sorte que seulement le DNS local est occupé tout au long de la résolution. Les autres serveurs ne sont occupés que lorsqu’ils pointent le DNS local vers la prochaine autorité à consulter.

Balancement de charge

Décrivez une difficulté liée au balancement de charge utilisant le DNS pour distribuer les clients sur plusieurs serveurs (round-robin).

Réponse

Bien que les clients soient dirigés vers différentes adresses IP en alternance (round-robin), cette redirection ne tient pas compte de la charge réelle du serveur pour un tel balancement. Dans le cas d’un serveur surchargé, le DNS va continuer de retourner l’adresse IP de ce serveur dans les réponses DNS pour les clients.

Plusieurs instances d'un même serveur DNS

Le site web https://root-servers.org/ présente une carte interactive de tous les serveurs DNS racine répartis à travers le monde. Chaque serveur racine est représenté par une lettre de A à M. En utilisant la carte interactive, identifiez l’adresse IP de deux instances physiques de l’un des serveurs racine. Que remarquez-vous à propos de ces adresses? Comment est-ce possible?

Réponse

Les deux adresses sont les mêmes! Ces adresses sont identiques puisque ce sont des adresses anycast (vues au chapitre précédent). L’utilisation d’adresses anycast permet aux clients d’automatiquement rejoindre le serveur DNS racine le plus facilement rejoignable selon leur localisation.

Étapes de résolution du DNS

Vous êtes à la recherche d’un bon restaurant pour ce soir et demandez un peu d’aide à Google. Votre cache DNS ainsi que celle de votre serveur local sont vides. Quelles seront les différentes requêtes effectuées par votre poste ainsi que par votre serveur DNS local pour résoudre le nom search.google.com? Lesquelles de ces requêtes seront probablement itératives? Lesquelles seront récursives?

Réponse

  1. Votre ordinateur fait une requête DNS à votre serveur DNS local. Cette requête est récursive puisque c’est votre serveur DNS local qui fera la requête.
  2. Votre serveur DNS local fait une requête pour obtenir la liste des serveurs racine. Cette requête est itérative. C’est encore une fois le serveur DNS local qui devra faire la prochaine requête.
  3. Votre serveur DNS local fait une requête DNS à l’un des serveurs DNS racine pour le label .com. Cette requête est encore une fois itérative.
  4. Votre serveur DNS local fait une requête DNS itérative au serveur DNS du domaine .com pour obtenir l’adresse de google.com. Il obtient l'adresse des serveurs de nom pour google.com
  5. Votre serveur DNS local demande aux serveurs de nom de Google et obtient l'adresse voulue.
  6. Votre serveur DNS local répond à la requête DNS récursive.

Étapes de résolution du DNS (suite)

À la suite de votre recherche, vous avez choisi ce qui vous semble être un excellent restaurant, mais vous ne savez pas comment vous y rendre. Cette fois-ci, vous faites appel au service Maps de Google. Quelles seront les étapes réalisées par votre poste ainsi que par votre serveur DNS local pour résoudre le nom maps.google.com? Lesquelles de ces requêtes seront probablement itératives? Lesquelles seront récursives.

Réponse

Cette fois, la cache DNS n’est pas vide. Votre serveur DNS local peut donc directement demander aux serveurs de nom de Google pour le sous-domaine maps.google.com.

Étapes de résolution du DNS à la main

À l’aide de la commande dig ou nslookup, trouver les adresses IP associées nom www.gel.ulaval.ca en parcourant la hiérarchie DNS à partir d’un serveur racine.

Réponse

  1. Point de départ : obtenir la liste des serveurs racine. Choisir l’un des 13 pour la requête à l’étape suivante

    dig . -t NS
  2. Réponse: les NS pour la zone .ca. Choisir un des serveurs autoritaires pour la requête à l’étape suivante

    dig -t NS www.gel.ulaval.ca @l.root-servers.net.
  3. Réponse: les NS pour la zone ulaval.ca. Choisir un des serveurs autoritaires pour la requête à l’étape suivante

    dig -t NS www.gel.ulaval.ca @c.ca-servers.ca.
  4. Réponse: les NS pour la zone gel.ulaval.ca. Choisir un des serveurs autoritaires pour la requête à l’étape suivante

    dig -t NS www.gel.ulaval.ca @ns2.zonerisq.ca.
  5. La réponse obtenue ici est un record CNAME, c’est-à- dire un alias de www.gel.ulaval.ca vers un nom dans AWS. Pour obtenir l’adresse IP, il faut demander le record A pour ce nom.

    dig -t NS www.gel.ulaval.ca @stlaurent.gel.ulaval.ca.
  6. Deux adresses IPv4 sont obtenues: 15.222.226.28 et 3.98.211.0

    dig -t A fsg-p-LoadB-1IUNTBVSGHO4C-1662971253.ca-central-1.elb.amazonaws.com.

Notes de bas de page

  1. https://en.wikipedia.org/wiki/Punycode