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?
1234567890.com
01234567891011121314151617181920212223242526272829303132333435.com
aPPle.com.
réseau-de-transmission-de-données.gif3001.net
Réponse
- Oui, les noms de domaines peuvent contenir des chiffres!
- 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.
- Oui, ce nom de domaine est équivalent à
apple.com
. puisque le DNS n’est pas case sensitive. - 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 :
- Identifier s’il y a des adresses IP (v4 et v6) associées à ce nom. Est-ce que ces adresses sont joignables (ping, traceroute)?
- Quels sont les serveurs DNS autoritaires pour ce domaine? Est-ce que ces serveurs correspondent à ceux associés dans le whois?
- 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.
-
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 IPv62606: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 -
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.- whois
- dig
% dig gif3001.net ns
…
;; ANSWER SECTION:
gif3001.net. 86400 IN NS imani.ns.cloudflare.com.
gif3001.net. 86400 IN NS abdullah.ns.cloudflare.com.% whois gif3001.net
…
Name Server: abdullah.ns.cloudflare.com
Name Server: imani.ns.cloudflare.com -
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
- 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.
- 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.
- 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. - Votre serveur DNS local fait une requête DNS itérative au serveur DNS du domaine
.com
pour obtenir l’adresse degoogle.com
. Il obtient l'adresse des serveurs de nom pourgoogle.com
- Votre serveur DNS local demande aux serveurs de nom de Google et obtient l'adresse voulue.
- 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
-
Point de départ : obtenir la liste des serveurs racine. Choisir l’un des 13 pour la requête à l’étape suivante
- dig
- nslookup
dig . -t NS
> set type=ns
> . -
Réponse: les NS pour la zone
.ca
. Choisir un des serveurs autoritaires pour la requête à l’étape suivante- dig
- nslookup
dig -t NS www.gel.ulaval.ca @l.root-servers.net.
> server k.root-servers.net.
> www.gel.ulaval.ca -
Réponse: les NS pour la zone
ulaval.ca
. Choisir un des serveurs autoritaires pour la requête à l’étape suivante- dig
- nslookup
dig -t NS www.gel.ulaval.ca @c.ca-servers.ca.
> server c.ca-servers.ca.
> www.gel.ulaval.ca -
Réponse: les NS pour la zone
gel.ulaval.ca
. Choisir un des serveurs autoritaires pour la requête à l’étape suivante- dig
- nslookup
dig -t NS www.gel.ulaval.ca @ns2.zonerisq.ca.
> server ns1.zonerisq.ca.
> www.gel.ulaval.ca -
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
- nslookup
dig -t NS www.gel.ulaval.ca @stlaurent.gel.ulaval.ca.
> server stlaurent.gel.ulaval.ca.
> www.gel.ulaval.ca -
Deux adresses IPv4 sont obtenues:
15.222.226.28
et3.98.211.0
- dig
- nslookup
dig -t A fsg-p-LoadB-1IUNTBVSGHO4C-1662971253.ca-central-1.elb.amazonaws.com.
> server 8.8.8.8
> set type=A
> fsg-p-LoadB-1IUNTBVSGHO4C-1662971253.ca-central-1.elb.amazonaws.com.