Qu'est-ce qui détermine si le FQDN est interprété comme IPv6 ou IPv4?

9

Lorsque je tape un nom de domaine complet (FQDN) dans ma barre d'URL, le navigateur se connecte à une table de mappage (où est stockée cette table? Avec le fournisseur de services?) Qui détermine où le fichier demandé est hébergé.

Ainsi, cela dépend du fournisseur de services (qui je suppose a la table de conversion) si les adresses IPv6 sont prises en charge ou non. Est-ce vrai?

Lazer
la source

Réponses:

7

Comme il s'agit d'iptables étiquetés, je suppose que c'est une question Linux.

Sous Linux, il appartient à la glibc de décider si un programme, pour un nom d'hôte donné, recherche d'abord l'adresse IPv6 (AAAA) ou l'adresse IPv4 (A). Le programme utilisant glibc utilise la fonction getaddrinfo (). Le comportement de getaddrinfo () est configuré dans /etc/gai.conf.

Sur votre système, tout est probablement mis en commentaire dans /etc/gai.conf. Décommenter l'entrée:

label :: / 0 1

a, pour moi, conduit à l'activation de la première recherche AAAA, donc les adresses IPv6 sont recherchées de préférence. C'est peut-être ce que vous voulez.

Mettre à jour pour ajouter : La bonne façon semble être de décommenter le bloc "label" dans gai.conf avec les valeurs de 0 à 7:

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7
unixtippse
la source
4

Les adresses IPv4 sont mappées à un nom de domaine par un enregistrement A (adresse) dans DNS (Domain Name System). Les adresses IPv6 sont mappées à l'aide d'enregistrements AAAA. Semble étrange? Les adresses IPv4 sont 32 bits, IPv6 sont 128 bits. 128/32 = 4, donc AAAA / A = 4 également. Astuce astucieuse par celui qui a conçu l'entrée IPv6 dans DNS.

DNS est un système hiérarchisé et distribué sur l'ensemble d'Internet. Votre navigateur appellera une bibliothèque système, qui lancera la chaîne de recherche. Il vérifiera d'abord son cache local, généralement stocké en mémoire. Ensuite, il cherche sur le disque et examine le fichier HOSTS (/ etc / hosts sur la plupart des UNIX / Linux et C: \ Windows \ System32 \ drivers \ etc \ HOSTS sur Windows). Ensuite, s'il ne trouve toujours pas de réponse, il appelle le serveur DNS qui vous a été attribué, conformément à votre configuration réseau.

QUE le serveur DNS vérifie son cache, qui est beaucoup plus grand. S'il a une correspondance, il renvoie une réponse. S'il ne trouve pas de réponse, il se retourne et demande un serveur DNS de niveau encore plus élevé géré par le FAI du FAI. Ce processus se poursuit jusqu'à ce que vous atteigniez les serveurs de noms racine, a.root-servers.netvia m.root-servers.net. La majorité des requêtes DNS sont résolues LONGTEMPS avant d'arriver aussi loin, mais parfois une ou deux y parviennent. Mais lorsqu'une réponse est trouvée, elle est transmise directement dans cette chaîne à votre navigateur.

Mais comment votre navigateur sait-il quel type d'enregistrement demander? Cela dépend des paramètres de votre système. Si vous l'avez défini sur votre pile IPv4 est prioritaire, votre navigateur ne demandera que des enregistrements A dans ses requêtes DNS. Si IPv6, il demandera d'abord un enregistrement AAAA, puis retombera à un deuxième record A.

Il existe également d'autres types d'enregistrement. Les enregistrements MX définissent l'emplacement du serveur de messagerie pour un domaine. Les enregistrements NS définissent les serveurs de noms pour un domaine. Les enregistrements SRV vous indiquent où se trouve un service particulier (SSH ou Web, par exemple).

DNS est vraiment l'annuaire téléphonique littéral d'Internet.

Kumba
la source
2

La recherche serait gérée par votre DNS (et éventuellement votre fichier d'hôtes local). Le fait qu'un nom particulier soit résolu en adresse IPv6 ou IPv4 dépend des paramètres de votre navigateur (prend-il en charge IPv6 et envoie-t-il des demandes IPv6 AAAA, votre système d'exploitation (que vous ayez même une pile IPv6 entre autres) et votre Fournisseur DNS (prend-il en charge ou non les demandes AAAA (IPv6)).

Le problème du navigateur est encore compliqué par le fait que certains navigateurs (plus anciens) n'émettent jamais de demandes de recherche AAAA et certains peuvent être configurés pour ne pas les envoyer (Firefox a un paramètre pour cela), mais la plupart des navigateurs modernes envoient d'abord une demande AAAA et font un suivi avec an Une demande.

Helvick
la source
Où puis-je trouver mon fichier d'hôtes local sur Windows Vista?
Lazer
D' accord, trouvé ici: C:\Windows\System32\drivers\etc. Mais c'est vide.
Lazer
% SYSTEMROOT% \ System32 \ drivers \ etc - généralement ce sera C: \ Windows \ System32 \ drivers \ etc
Helvick
2
Il est généralement vide - ajoutez des entrées si vous en avez absolument besoin, vous voulez vraiment laisser la résolution de noms IPv6 au DNS.
Helvick