Aller au contenu principal

4.2. Recursive Resolvers (Résolveurs récursifs)

Que le résolveur récursif soit conscient de SVCB ou non, le processus normal de construction de réponse utilisé pour les types RR inconnus [RFC3597] génère la section Answer de la réponse. Les résolveurs récursifs qui sont conscients de SVCB DEVRAIENT (SHOULD) aider le client à exécuter la procédure de la Section 3 avec une latence globale minimale en incorporant des informations utiles supplémentaires dans la section Additional de la réponse comme suit:

  1. Incorporer les résultats de la résolution SVCB. Si la limite de longueur de chaîne locale du résolveur récursif (qui peut être différente de la limite du client) a été atteinte, terminer.

  2. Si l'un des enregistrements SVCB résolus est en AliasMode, en choisir un au hasard et résoudre les enregistrements SVCB, A et AAAA pour son TargetName.

    • Si des enregistrements SVCB sont résolus, aller à l'étape 1.

    • Sinon, incorporer les résultats de la résolution A et AAAA, et terminer.

  3. Tous les enregistrements SVCB résolus sont en ServiceMode. Résoudre les requêtes A et AAAA pour chaque TargetName (ou pour le nom du propriétaire si TargetName est "."), incorporer tous les résultats et terminer.

Dans cette procédure, "résoudre" signifie la procédure de résolution récursive ordinaire du résolveur, comme s'il traitait une requête pour ce RRset. Cela inclut le suivi de tous les alias que le résolveur suivrait normalement (par exemple, CNAME, DNAME [DNAME]). Les erreurs ou anomalies lors de l'obtention d'enregistrements supplémentaires PEUVENT (MAY) faire terminer ce processus mais NE DOIVENT PAS (MUST NOT) elles-mêmes faire envoyer une réponse d'échec par le résolveur.

Voir Section 2.4.2 pour les garanties supplémentaires que les résolveurs récursifs doivent mettre en œuvre pour atténuer les boucles.

Voir Section 5.2 pour les optimisations possibles de cette procédure.