<?xml version="1.0" encoding="utf-8"?>
<rfcdesc title="Registration Data Access Protocol (RDAP) Extension for DNS Time-to-Live (TTL) Values"
	 num="10037" status="standards">
  <authors><author>G. Brown (ICANN)</author></authors>
  <rfcdate><month>August</month><year>2026</year></rfcdate>
  <date>2026-08-29</date>
<content>
  <p>Puisque le <rfc num="9803" local="true"/> étend le protocole
  d'avitaillement <wikipedia name="Extensible Provisioning
  Protocol">EPP</wikipedia> pour ajouter des <wikipedia name="Time to
  Live" anchor="Le_Time_to_Live_dans_le_DNS">TTL</wikipedia> spécifiques aux <wikipedia name="Nom de
  domaine">noms de domaine</wikipedia> enregistrés, il était logique
  que le protocole d'interrogation <wikipedia name="Registration Data
  Access Protocol">RDAP</wikipedia> permette d'obtenir cette
  information. C'est ce que permet l'extension normalisée dans ce
  nouveau <wikipedia name="Request for comments">RFC</wikipedia>.</p>
  <p>L'extension est simple, et le <wikipedia name="Request for
  comments">RFC</wikipedia> court. <wikipedia name="Registration Data
  Access Protocol">RDAP</wikipedia> permet d'obtenir des informations,
  structurées en <wikipedia name="JavaScript Object
  Notation">JSON</wikipedia>, sur divers objets enregistrés, comme les
  <wikipedia name="Nom de domaine">noms de domaine</wikipedia>. Ces
  réponses (<rfc num="9083" local="true"/>) peuvent inclure la valeur
  d'enregistrements <wikipedia name="Domain Name
  System">DNS</wikipedia> de type DS, NS, A ou AAAA mais, jusqu'à
  présent, pas leurs <wikipedia name="Time to Live" anchor="Le_Time_to_Live_dans_le_DNS">TTL</wikipedia>
  (section 5 du <rfc num="9499" local="true"/>, sur ce concept de
  TTL). Ce n'était pas trop grave tant que la quasi-totalité des
  <wikipedia name="Registre de noms de domaine">registres</wikipedia> imposaient le même TTL, choisi par
  eux, à toutes les données. Maintenant que le <rfc num="9803"
  local="true"/> normalise un moyen pour le client de choisir son TTL,
  cette limitation de RDAP était plus gênante.</p>
  <p>Donc, concrètement, le serveur RDAP qui gère cette extension doit
  ajouter une propriété <computer>ttl0_data</computer> aux objets de
  type domaine (<rfc num="9083" local="true"/>, section 5.3) et
  serveur de noms (<rfc num="9083" local="true"/>, section 5.2). Cette
  propriété est un objet JSON comportant les membres
  <computer>values</computer> et (facultativement)
  <computer>remarks</computer>. <computer>values</computer> est un
  <wikipedia name="Tableau associatif">dictionnaire</wikipedia> indexé par le type
  d'enregistrement, et dont les valeurs sont le TTL en secondes. C'est
  le TTL tel qu'enregistré dans la base de données du registre, et pas
  celui que verra une requête DNS auprès de votre <link
  local="resolveur-dns">résolveur</link>, celui-ci étant la durée
  restante dans la mémoire du résolveur. Voici l'exemple du RFC :
  <code>
{
  "objectClassName": "domain",
  "rdapConformance": ["rdap_level_0", "ttl0"],
  "ldhName": "domain.example",
  "ttl0_data": {
    "values": {
      "NS": 3600,
      "DS": 300
    },
    "remarks": [
      {
        "description": [
          "For more information about the .example",
          " registry policy relating to DS record TTL changes,",
          "see https://domain.example/policy.html"
        ]
      }
    ]
  }
}
  </code>
  Et pour un <link local="serveur-dns-faisant-autorite">serveur de
  noms</link> enregistré (cf. <rfc num="5732" local="true"/>) :
  <code>
 {
  "objectClassName": "nameserver",
  "rdapConformance": ["rdap_level_0", "ttl0"],
  "ldhName": "ns1.domain.example",
  "ttl0_data": {
    "values": {
      "A": 86400,
      "AAAA": 86400
    },
    "remarks": [
      {
        "description": [
          "The .example registry does not permit TTL ",
          "values for nameservers to be changed."
        ]
     }
   ]
  }
}
  </code>
  Notez aussi le <computer>ttl0</computer> dans le tableau
  <computer>rdapConformance</computer> pour indiquer que le serveur
  RDAP connait cette extension.
  </p>
  <p>L'extension est désormais <link url="https://www.iana.org/assignments/rdap-extensions/rdap-extensions.xml#rdap-extensions-1">enregistrée à
  l'IANA</link>. Quels logiciels la gèrent ? La <link
  url="https://github.com/icann/icann-rdap">bibliothèque RDAP de
  l'ICANN</link> ainsi que la bibliothèque <wikipedia name="Perl
  (langage)">Perl</wikipedia> <link
  url="https://metacpan.org/pod/Net::RDAP">Net::RDAP</link> et son
  client <link
  url="https://metacpan.org/pod/App::rdapper">rdapper</link>.</p>
  <p>Petit rappel important au passage : la section 5.2 du <rfc
  num="2181" local="true"/> impose que le TTL s'applique à un ensemble
  d'enregistrements (<foreign>RRset</foreign>, pour <foreign>Resource
  Record Set</foreign>) pas à un seul enregistrement. Ainsi, pour un
  ensemble NS, tous les enregistrements ont forcément le même TTL.</p>
  <!-- 
Extension RDAP mais sans namespace
(cf. draft-bortzmeyer-rpp-json-dot-namespaces) -->
</content>
</rfcdesc>
