Aller au contenu principal

5. Ensembles de records de ressource (Resource Record Sets)

Un Resource Record Set (RRSet) est l'ensemble de tous les Resource Records (RR) ayant le même NAME, CLASS et TYPE. Par exemple, l'ensemble des enregistrements MX d'un domaine est un RRSet. L'ensemble des enregistrements A d'un domaine est un autre RRSet.

Une zone peut contenir des RR de même nom, classe et type, qui sont traités comme un seul RRSet, mais qui ont des TTL différents. Cela pose un problème, car le RRSet est traité comme une entité unique, et les TTL des RR individuels doivent être identiques.

Les règles suivantes régissent le traitement des RRSet :

5.1. Envoi de RR à partir d'un RRSet (Sending RRs from an RRSet)​

Lorsqu'un serveur envoie un RRSet dans une réponse, il doit envoyer tous les RR du RRSet. Si le serveur envoie un RRSet partiel (par exemple, en raison de limites de taille de message), il doit positionner le bit TC (voir section 9).

5.2. TTL des RR dans un RRSet (TTLs of RRs in an RRSet)​

Le TTL de tous les RR d'un RRSet doit être identique. Si un serveur reçoit un RRSet avec des TTL différents, il doit utiliser le TTL du RR ayant le TTL le plus bas comme TTL du RRSet. Cela constitue un changement par rapport à la RFC1035, qui exigeait que tous les RR d'un RRSet aient le même TTL.

Notez qu'il s'agit d'un changement par rapport à l'édition précédente de ce document, qui stipulait que le TTL d'un RRSet était indéfini si les TTL des RR du RRSet n'étaient pas tous identiques.

5.3. Cas particuliers de DNSSEC (DNSSEC Special Cases)​

DNSSEC [RFC2065] introduit certains cas particuliers pour le traitement des RRSet. En particulier, les enregistrements SIG qui couvrent un RRSet doivent avoir le même TTL que le RRSet qu'ils couvrent. Cela est requis afin que les enregistrements SIG et le RRSet qu'ils couvrent soient mis en cache et expirés ensemble.

5.4. Réception de RRSet (Receiving RRSets)​

Lorsqu'un serveur reçoit un RRSet, il doit vérifier que tous les RR du RRSet ont le même TTL. S'ils ne l'ont pas, il doit utiliser le TTL le plus bas comme TTL du RRSet.

Un résolveur ne doit pas mettre en cache un RRSet dont le TTL est zéro. C'est -à-dire qu'un RRSet dont le TTL est zéro ne doit pas être mis en cache.

5.5. Envoi de RRSet (rappel) (Sending RRSets (reprise))​

Lorsqu'un serveur envoie un RRSet dans une réponse, il doit envoyer tous les RR du RRSet. Si le serveur envoie un RRSet partiel (par exemple, en raison de limites de taille de message), il doit positionner le bit TC (voir section 9). Le serveur ne doit pas scinder un RRSet sur plusieurs messages à moins que le bit TC ne soit positionné, et le client ne doit pas réassembler un RRSet à partir de plusieurs messages à moins que le bit TC ne soit positionné.