Résumé

  • L’essai à un serveur a porté sur 254 894 985 tests et produit 3,43 requêtes autoritatives par test en moyenne ; l’essai ultérieur à deux serveurs a porté sur 150 221 951 tests, avec une moyenne de 2,57.
  • La part des tests n’ayant déclenché qu’une requête est passée de 58 % à 71 %. Mais les deux séries ont été exécutées séparément et ne suffisent pas à attribuer l’écart au serveur supplémentaire.
  • La prochaine étape utile est un reçu de reproduction : traitements randomisés dans la même fenêtre, populations comparables, topologie autoritative figée, formule de normalisation publiée et distributions temporelles capables d’éprouver les mécanismes concurrents.

Deux chiffres solides, une explication ouverte

APNIC Labs a posé une question directement opérationnelle : le fait d’annoncer deux serveurs de noms autoritatifs modifie-t-il le nombre de requêtes envoyées par les résolveurs récursifs ? Dans la première série, avec un seul serveur, 254 894 985 tests ont généré 875 316 423 requêtes, soit 3,43 par test. Parmi eux, 147 233 117 — 58 % selon le rapport — n’ont produit qu’une seule requête.

La seconde série, avec deux serveurs, comprend 150 221 951 tests et 385 725 364 requêtes, soit 2,57 par test. Le nombre de tests à requête unique atteint 106 376 529, ou 71 %. Pour les tests comportant des répétitions, la moyenne des requêtes répétées descend également de 3,80 à 2,56.

Ces volumes interdisent de balayer l’observation. La seconde série comporte bien moins de requêtes par test et davantage de cas à requête unique. Ils n’autorisent toutefois pas à transformer « avec deux serveurs » en « à cause de deux serveurs ». L’auteur qualifie lui-même le résultat d’inattendu et précise ne pas disposer d’une explication définitive.

L’inégalité des volumes n’est pas le vrai défaut

Comparer quelque 255 millions de tests à 150 millions n’est pas, en soi, fautif. Les grandes études observationnelles emploient des dénominateurs et des normalisations ; APNIC a d’ailleurs normalisé les jeux avant de confronter leurs profils temporels. La question décisive est celle de leur comparabilité.

L’expérience précédente décrit des noms aléatoires uniques déclenchés par des points de mesure publicitaires Google, une zone non signée, des réponses courtes et non tronquées, un service UDP et TCP et une fenêtre d’observation de vingt-quatre heures. Elle signale aussi un effet géographique, la Russie constituant une exception notable. Le montage à un serveur plaçait un serveur autoritatif double pile dans chacune de six zones : Amérique du Nord, Amérique du Sud, Europe et Afrique, Inde, Asie et Chine.

Pour isoler un effet causal, il faut savoir ce qui est resté inchangé lors de l’ajout du second nom. Les deux traitements ont-ils partagé les mêmes dates et heures ? La composition par pays, réseau d’accès, adresse de résolveur et famille IP était-elle stable ? Les emplacements, routes, modes anycast ou unicast, TTL, codes de réponse, tailles de paquets et délais d’observation étaient-ils identiques ? Une normalisation met les dénominateurs sur une même échelle ; elle ne corrige pas un changement de population ou de chemin resté invisible.

Il ne faut donc pas conclure que l’expérience serait sans valeur parce que ses volumes diffèrent. Il faut constater que son reçu de traitement est incomplet. Un échantillon plus petit peut être convaincant avec une assignation et des contrôles transparents ; des centaines de millions de tests peuvent laisser la causalité ouverte si l’horloge ou la population change en même temps que le traitement.

Les temps d’arrivée orientent l’enquête

Les courbes livrent un signal plus riche que les moyennes. Avec un serveur, plus de 85 % des doublons sont arrivés pendant la première seconde ; avec deux, la proportion est de 75 %. Dans les deux cas, environ 90 % arrivent avant cinq secondes. La courbe à deux serveurs présente aussi des pointes vers 0,75, 1,5 et 3 secondes.

À l’autre extrémité, 17 % des répétitions de la première série surviennent en moins de 10 millisecondes, contre 12 % dans la seconde. Après normalisation, l’écart principal se concentre entre 10 et 70 millisecondes, surtout entre 10 et 40. Cette durée est inférieure au délai d’attente UDP habituel d’un résolveur récursif. Elle invite donc à examiner autre chose qu’une simple séquence attente-échec-nouvelle tentative.

L’auteur évoque notamment une ferme de résolveurs. Un frontal connaissant le DNS peut distribuer les demandes entre plusieurs moteurs récursifs, dont plusieurs pourraient poursuivre le même nom. PowerDNS présente dnsdist comme un répartiteur DNS placé devant des serveurs récursifs : cette documentation prouve l’existence de l’architecture, pas son rôle dans les données d’APNIC. Sans traces internes, une adresse source unique peut masquer une dispersion par le frontal, des courses entre moteurs, un choix IPv4/IPv6, un état de cache ou un algorithme particulier.

Les résolveurs ne choisissent d’ailleurs pas tous les serveurs autoritatifs de la même manière. Les notes d’APNIC sur DNS-OARC 43 relèvent des politiques différentes chez BIND, PowerDNS Recursor, Knot Resolver et Unbound pour les scores initiaux, l’apprentissage de la latence et la préférence IPv6. Ajouter un nom double pile ajoute plusieurs choix, et non une variable abstraite passant seulement de un à deux.

Construire le reçu de reproduction

Un nouvel essai devrait répartir aléatoirement les tests entre les configurations à un et deux serveurs dans la même fenêtre, ou alterner des blocs courts annoncés à l’avance. Le nombre de tests de chaque bloc doit être publié afin qu’un changement de jour, de campagne ou de trafic ne devienne pas silencieusement « l’effet serveur ».

La composition des cohortes doit ensuite être fournie, sous forme agrégée et respectueuse de la vie privée, par grande région, réseau d’accès, adresse stable de résolveur et famille IP. On ne cherche pas à identifier des internautes, mais à vérifier que les populations derrière 58 % et 71 % sont comparables et que l’écart subsiste dans les strates.

Tout le plan autoritatif doit rester fixe, sauf le nom ajouté : logiciel, contenu de zone, TTL, DNSSEC, code et taille de réponse, troncature, UDP/TCP, fenêtre d’observation, adresses, sites et routage. Il faut préciser l’usage de l’unicast ou de l’anycast. Deux étiquettes aboutissant au même site ne testent pas la même résilience que deux services topologiquement distincts.

Le reçu doit enfin publier la formule de normalisation, les exclusions, les dénominateurs, les courbes brutes et normalisées et leurs intervalles d’incertitude. Les bandes inférieures à 10 ms, de 10 à 70 ms, les pointes ultérieures et la queue au-delà de cinq secondes doivent être séparées. Les hypothèses — dispersion par frontal, concurrence des moteurs, sélection de famille IP, logiciel récursif, cache et géographie de campagne — doivent être annoncées avant le résultat.

La résilience ne dépend pas de cette causalité

Cet audit ne remet pas en cause l’usage de plusieurs serveurs autoritatifs. Le RFC 2182 recommande plusieurs serveurs physiquement et topologiquement séparés pour la fiabilité et la répartition de charge. Une étude antérieure d’APNIC préconise elle aussi au moins deux services distincts, double pile et géographiquement diversifiés, avec des gains marginaux plus faibles au-delà de deux dans ses mesures.

Cette recommandation repose sur la continuité : la perte d’un serveur, d’un chemin ou d’un site ne doit pas faire disparaître la zone. Elle n’a pas besoin de la promesse non démontrée qu’un second serveur fera passer toutes les charges récursives de 3,43 à 2,57. Les exploitants peuvent conserver deux services diversifiés pour la résilience tout en exigeant une reproduction contrôlée avant d’utiliser cet écart dans leurs modèles de capacité ou leurs choix logiciels.

La conclusion utile reste donc volontairement étroite. APNIC a observé une différence importante entre deux bases publiées et a laissé son mécanisme ouvert. Un reçu commun d’horloge, de cohorte et de topologie permettrait de transformer cette incertitude honnête en résultat reproductible.

Sources