Menu
FR

Le problème de vitesse de connexion aux serveurs AdGuard DNS est résolu !

Au cours des deux dernières semaines, nous avons reçu un grand nombre de plaintes concernant la vitesse de AdGuard DNS. Et du coup nous n'avons pas pu trouver le coupable — normalement nous mesurons la vitesse dans plusieurs endroits dans le monde entier, et selon nos mesures, elle était bonne dans chacun d'eux.

Mais nous avons finalement trouvé l'origine du problème. Il s'avère qu'il ne s'agissait pas d'AdGuard DNS lui-même. Il fait son boulot comme il a été prévu. Mais quand il s'agit des adresses IP qu'il renvoie, tout ne marche pas aussi bien. Pour certains domaines (principalement ceux appartenant à Google), AdGuard DNS renvoyait des adresses IP appartenant à Google Chine. Comme on pouvait s'y attendre, ces adresses fonctionnaient plutôt lentement pour la plupart des utilisateurs.

Qu'est ce qui c'est passé ? Et comment ça c'est passé ? Nous allons donner des réponses à ces questions dans une minute, mais d'abord nous nous excusons d'avoir pris beaucoup plus de temps pour résoudre ce problème qu'il aurait pu prendre.

Comment DNS fonctionne-t'il?

Tout d'abord, nous devons comprendre comment fonctionne le DNS en général. Le fait est que le DNS n'est pas un système centralisé. Pour chaque domaine, il y a un serveur DNS qui en est responsable, un serveur de noms qui fait autorité. Les résolveurs DNS récursifs (comme AdGuard DNS) obtiennent des réponses de ces serveurs de noms faisant autorité.

Et que se passe-t-il quand AdGuard DNS reçoit votre demande DNS ?

Etape №1 : Vérification du cache Il est probable que nous savons déjà quelle adresse IP correspond à votre demande si cette adresse est stockée dans le cache interne d'AdGuard DNS. C'est vrai pour la majorité des requêtes, et dans ce cas-là, AdGuard DNS renvoie simplement une adresse IP tout de suite.

Etape №2 : résolution DNS. S'il n'y a pas de réponse stockée dans le cache, nous devons contacter le serveur de noms faisant autorité. Par exemple, imaginons que vous avez demandé à AdGuard DNS une adresse IP de exemple.org.

Tout d'abord, nous devons trouver quel serveur est responsable de la zone du domaine org. Pour ça, nous nous adressons à ce que l'on appelle les serveurs DNS racine. Il n'y en a que 14 dans le monde, et vous pouvez en voir la liste complète ici. Leur seule tâche est de savoir quel serveur est responsable de chaque zone de domaine de 1er niveau (com, org etc.).

Un de ces serveurs racine nous indique qu'il y a 6 serveurs de noms responsables de la zone du domaine org. Ils sont appelés "TLD nameservers" et ils savent quels serveurs de noms faisant autorité sont responsables de chacun des domaines de la zone org.

Ensuite, un de ces serveurs doit nous communiquer qui est responsable pour exactement example.org. Nous découvrons donc deux autres serveurs et, finalement, nous obtenons la réponse à la question initiale : quelle est l'adresse IP de example.org ?

Source: Cloudflare

Vous souhaitez voir comment fonctionne ce système de vos propres yeux ? Vous pouvez le faire facilement, par exemple, sur ce site web.

C'était quoi alors le problème ?

Quatre serveurs de noms autoritaires sont responsables de l'ensemble des domaines Google. Ils sont configurés de telle sorte que tout client obtient l'adresse IP du serveur Google le plus proche. AdGuard DNS a presque 50 serveurs dans le monde (et en aura bientôt plus), alors pourquoi Google renvoyait-il les adresses des serveurs chinois à certains d'entre eux ?

Vous voyez, les serveurs AdGuard DNS ont plusieurs adresses IP - IPv6 aussi bien qu'IPv4. Et il semble que Google n'ait pas réussi à détecter correctement l'emplacement de l'adresse IP lorsque l'IPv6 était utilisé. Ils ont servi des enregistrements pour la Chine au lieu des enregistrements pour l'emplacement des serveurs DNS AdGuard.

Donc, en fin de compte, cela s'est avéré ne pas être un grand mystère. Faites attention si vous utilisez votre propre serveur DNS récursif - avec IPv6, vous ne pouvez pas faire de prédictions.

Pour éviter cela à l'avenir, nous avons configuré tous nos serveurs DNS pour qu'ils préfèrent IPv4. Vous ne rencontrerez donc plus de lenteur de connexion lorsque vous visiterez des domaines Google.

Est-ce possible de corriger ça autrement ?

Oui. La technologie EDNS Sous-réseau client existe depuis longtemps qui permet de notifier aux serveurs de noms autoritaires le nom du client pour lequel vous faites la requête. Pour cela, vous devez inclure le sous-réseau du client dans la requête. Malheureusement, cette méthode ne nous convient pas, car elle va à l'encontre de notre politique de confidentialité. Nous ne communiquons pas votre adresse IP réelle à des tiers.

Existe-t-il une meilleure alternative ? Oui, il y en a une, et nous sommes déjà en train de la mettre en œuvre. Gardez un œil sur notre blog, suivez-nous sur les médias sociaux, et vous ne manquerez pas le moment où nous publierons finalement et inévitablement la mise à jour.

Vous avez aimé cet article ?