Résumé

  • Lors de l'expérience menée en juin 2024 par Geoff Huston et APNIC Labs, 10 555 279 points de test sur 394 766 935, soit 2,67 %, n'ont pas relancé en TCP une réponse DNS UDP marquée comme tronquée.
  • Parmi 197 173 501 essais recevant pourtant une réponse complète avec le drapeau de troncature, 96 401 ont poursuivi sans TCP, en utilisant apparemment des données que ce drapeau demandait d'ignorer.

Le protocole avait laissé une consigne sur la porte. Une réponse DNS en UDP porte le bit TC quand elle est tronquée ; le résolveur doit la laisser de côté et reposer la question par un transport capable d'emporter davantage, typiquement TCP. RFC 2181 le dit sans poésie. Geoff Huston a voulu voir combien de machines suivaient réellement le panneau.

Son équipe a construit une délégation sans enregistrement glue. Pour atteindre un nom, le résolveur devait d'abord retrouver l'adresse du serveur délégué. Le serveur faisant autorité répondait en UDP avec TC activé. Dans une moitié des cas, la réponse contenait quand même l'adresse complète ; dans l'autre, la section réponse était vide. Les traces de paquets permettaient de distinguer une nouvelle requête TCP, l'emploi abusif de la réponse signalée et l'échec à joindre la cible. L'expérience éprouve un trajet précis du DNS.

Dans la nouvelle série de juin 2024, APNIC Labs a enregistré 394 766 935 points de test. Sur les 197 173 501 essais recevant une réponse complète assortie de TC, 96 401 ont poursuivi sans relance TCP, soit environ 0,05 % de ce sous-ensemble. Un autre chiffre pèse davantage : 10 555 279 points n'ont pas repris en TCP après une réponse UDP tronquée, soit 2,67 % de l'ensemble des points de test. Une règle de secours écrite dans une norme n'aide pas un utilisateur si le résolveur ne prend pas la sortie.

La moyenne gomme des poches de défaillance. Dans certains réseaux étudiés, plus de 90 % des essais n'ont pas montré la relance TCP. Huston précise qu'un grand service récursif réunit souvent plusieurs moteurs ; ses mesures ne désignent pas un appareil coupable, ni tous les clients d'un réseau nommé. Son premier essai de février utilisait un autre échantillon et ne doit pas être fondu dans les chiffres de juin.

Huston a rendu visible un geste que l'on suppose automatique. Le serveur montre la flèche « TCP ». Le protocole indique le chemin. Entre les deux, le résolveur en production peut encore manquer le virage.