



Registration Extensions (REGEXT)                                G. Brown
Internet-Draft                                                     ICANN
Intended status: Standards Track                           14 April 2026
Expires: 16 October 2026


            RDAP Extension for DNS Time-To-Live (TTL Values)
                draft-ietf-regext-rdap-ttl-extension-07

Abstract

   This document describes an extension to the Registration Data Access
   Protocol which allows the Time-To-Live (TTL) values for relevant DNS
   record types to be included in RDAP responses.

About this draft

   This note is to be removed before publishing as an RFC.

   The source for this draft, and an issue tracker, may can be found at
   https://github.com/gbxyz/rdap-ttl-extension.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 16 October 2026.

Copyright Notice

   Copyright (c) 2026 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights



Brown                    Expires 16 October 2026                [Page 1]

Internet-Draft             RDAP TTL Extension                 April 2026


   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   3
   3.  RDAP Response Specification . . . . . . . . . . . . . . . . .   3
     3.1.  DNS record types and TTL values . . . . . . . . . . . . .   5
     3.2.  RDAP Conformance  . . . . . . . . . . . . . . . . . . . .   5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   6.  Implementation status . . . . . . . . . . . . . . . . . . . .   6
     6.1.  ICANN RDAP  . . . . . . . . . . . . . . . . . . . . . . .   6
     6.2.  Net::RDAP . . . . . . . . . . . . . . . . . . . . . . . .   6
     6.3.  rdapper . . . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  Change Log  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  Changes from 05 to 06 . . . . . . . . . . . . . . . . . .   7
     7.2.  Changes from 04 to 05 . . . . . . . . . . . . . . . . . .   7
     7.3.  Changes from 03 to 04 . . . . . . . . . . . . . . . . . .   7
     7.4.  Changes from 02 to 03 . . . . . . . . . . . . . . . . . .   8
     7.5.  Changes from 01 to 02 . . . . . . . . . . . . . . . . . .   8
     7.6.  Changes from 00 to 01 . . . . . . . . . . . . . . . . . .   8
     7.7.  Changes from draft-brown-rdap-ttl-extension-03 to
            draft-ietf-regext-rdap-ttl-extension-00  . . . . . . . .   8
     7.8.  Changes from 02 to 03 . . . . . . . . . . . . . . . . . .   8
     7.9.  Changes from 01 to 02 . . . . . . . . . . . . . . . . . .   8
     7.10. Changes from 00 to 01 . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   While [RFC9083] allows RDAP server operators to provide information
   about the content of the NS, DS, A and AAAA RRset(s) (see Section 8
   of [RFC9499]) which are published in the DNS for a given registry
   object (domain or host object), it does not provide a mechanism to
   allow the Time-To-Live (TTL) (see Section 5 of [RFC9499]) values of
   those RRsets to be included in responses.







Brown                    Expires 16 October 2026                [Page 2]

Internet-Draft             RDAP TTL Extension                 April 2026


   This document describes how TTL information can be included in domain
   and nameserver objects in RDAP responses.  As per Section 5.2 of
   [RFC2181], TTL values are applicable to RRSets rather than individual
   records.

   This document is complementary to the Extensible Provisioning
   Protocol [RFC5730] (EPP) Mapping for DNS Time-to-Live (TTL) Values
   [RFC9803], but registry operators do not need to implement that
   extension in their EPP server in order to implement this RDAP
   extension.

2.  Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  RDAP Response Specification

   Servers which support this extension MAY include a ttl0_data property
   in any domain and nameserver objects included in RDAP responses.

   The ttl0_data property is an object which has the following
   properties:

   *  A values property, which is an object which maps DNS record type
      mnemonics to TTL values;

   *  An OPTIONAL remarks property, which is an array of remarks (see
      Section 4.3 of [RFC9083]).

   As specified in Section 8 of [RFC2181], a TTL value is a "an unsigned
   number, with a minimum value of 0, and a maximum value of 2147483647.
   That is, a maximum of 2^31 - 1.".  TTL values are represented as JSON
   numbers.

   Example domain object:












Brown                    Expires 16 October 2026                [Page 3]

Internet-Draft             RDAP TTL Extension                 April 2026


   {
     "objectClassName": "domain",
     "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"
           ],
           "links": [
             {
               "rel": "related",
               "title": ".Example Registry DNS TTL Policy",
               "href": "https://domain.example"
             }
           ]
         }
       ]
     }
   }

   Example nameserver object:

   {
     "objectClassName": "nameserver",
     "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."
           ]
         }
       ]
     }
   }




Brown                    Expires 16 October 2026                [Page 4]

Internet-Draft             RDAP TTL Extension                 April 2026


3.1.  DNS record types and TTL values

   The DNS record type mnemonics that appear as the property names in
   values objects MUST be in all capitals and MUST be registered with
   IANA in [IANA-RRTYPES].  TTL values MUST be unsigned integers in the
   range 0-2147483647 as per Section 8 of [RFC2181].

   Many RDAP clients make use of frameworks which automatically
   "hydrate" objects using JSON data received in RDAP responses.  As a
   result, RDAP clients which use these frameworks may need to
   explicitly carve out the values property of ttl0_data elements, since
   the set of possible DNS record mnemonics is not static, as new DNS
   record types are added to [IANA-RRTYPES] regularly.

   In practice, the number of DNS record types that are likely to
   observed "in the wild" is small, and will only change as the result
   of a significant evolution to the DNS protocol itself, similar to
   that brought about by [RFC9364], or which might result from
   [I-D.ietf-deleg].

   For domain objects, the list of expected DNS record types is NS, DS,
   A and AAAA.

   For nameserver objects, the list of expected DNS record types is just
   A and AAAA.

   Since the list of expected record types may change with time, clients
   which implement this extension MUST accept responses containing other
   DNS record types, but MAY ignore unexpected record types.

3.2.  RDAP Conformance

   Servers returning responses containing TTL values MUST include the
   string "ttl0" in the rdapConformance array.

4.  IANA Considerations

   IANA is requested to register the following value in the RDAP
   Extensions Registry:

   *Extension identifier:* ttl0

   *Registry operator:* Any

   *Published specification:* this document

   *Contact:* IETF <iesg@ietf.org (mailto:iesg@ietf.org)>




Brown                    Expires 16 October 2026                [Page 5]

Internet-Draft             RDAP TTL Extension                 April 2026


   *Intended usage:* this extension describes how DNS TTL values can be
   included in RDAP responses.

5.  Security Considerations

   Security services for the extension specified in this document are
   described in [RFC7481].

   This document only concerns itself with the representation of
   configure TTL values for domain and host objects.  The security
   implications of those values are described further in Section 6 of
   [RFC9803].

6.  Implementation status

   This section is to be removed before publishing as an RFC.

6.1.  ICANN RDAP

   Organization: ICANN

   Name: ICANN RDAP

   Description: ICANN RDAP contains an RDAP client, server, and common
   libraries.

   Level of maturity: Mature

   Coverage: All aspects of the protocol are implemented.

   Licensing: Apache License, Version 2.0 or MIT License.

   Contact: globalsupport@icann.org

   URL: https://github.com/icann/icann-rdap

6.2.  Net::RDAP

   Name: Net::RDAP

   Description: An RDAP library for Perl.

   Level of maturity: Mature

   Coverage: All aspects of the protocol are implemented.

   Licensing: Perl (Artistic License or GPL).




Brown                    Expires 16 October 2026                [Page 6]

Internet-Draft             RDAP TTL Extension                 April 2026


   Contact: gavin.brown@fastmail.uk

   URL: https://metacpan.org/pod/Net::RDAP

6.3.  rdapper

   Name: rdapper

   Description: A command-line RDAP client that uses Net::RDAP.

   Level of maturity: Mature

   Coverage: All aspects of the protocol are implemented.

   Licensing: Perl (Artistic License or GPL).

   Contact: gavin.brown@fastmail.uk

   URL: https://metacpan.org/pod/App::rdapper

7.  Change Log

   This section is to be removed before publishing as an RFC.

7.1.  Changes from 05 to 06

   1.  Add missing change log entries to assist in IESG review.

   2.  Added Section 6.

7.2.  Changes from 04 to 05

   1.  Clarify that TTL values are represented using JSON numbers.

7.3.  Changes from 03 to 04

   Updates based on feedback during WGLC:

   1.  Remove the xref in the Abstract to avoid issues when rendered as
       plaintext;

   2.  Refer to RRsets instead of resource records since [RFC2181]
       requires the TTL of all the records in an RRset to be the same;

   3.  Reference [RFC2181] which defines what a TTL is.

   4.  Clarify that clients need to handle (even if to ignore)
       unexpected record types.



Brown                    Expires 16 October 2026                [Page 7]

Internet-Draft             RDAP TTL Extension                 April 2026


7.4.  Changes from 02 to 03

   1.  Switch to array model to object model, based on WG feedback.

   2.  Added Section 8.

7.5.  Changes from 01 to 02

   1.  Include reference to [IANA-RRTYPES] in Section 3 (thanks Jasdip
       Singh).

   2.  Removed the value member of the link object in the example domain
       object so that it conforms with web linking practice (also thanks
       Jasdip Singh).

7.6.  Changes from 00 to 01

   1.  Updated the extension identifier and extension property name to
       align with the current best practices in
       [I-D.ietf-regext-rdap-extensions].

   2.  Added Section 5.

   3.  Changed MUST to MAY in the first paragraph of Section 3.

   4.  Reduce ambiguity around the repetition of DNS record types in
       responses.

7.7.  Changes from draft-brown-rdap-ttl-extension-03 to draft-ietf-
      regext-rdap-ttl-extension-00

   1.  Name change only.

7.8.  Changes from 02 to 03

   1.  Update reference to [RFC9803].

7.9.  Changes from 01 to 02

   1.  Update reference to the EPP extension.

7.10.  Changes from 00 to 01

   1.  Extension property name renamed to ttl.

   2.  The extension data structure is now an array allowing common TTL
       values, remarks and events to be mapped to multiple DNS record
       types.



Brown                    Expires 16 October 2026                [Page 8]

Internet-Draft             RDAP TTL Extension                 April 2026


   3.  The extension data structure may now include remarks and events.

   4.  Added normative text regarding the value of DNS record mnemonics
       and TTL values.

8.  Acknowledgements

   The author wishes to thank Andy Newton, Pawel Kowalik, and Maarten
   Wullink for their constructive feedback and advice during the
   development of this document.

9.  References

9.1.  Normative References

   [IANA-RRTYPES]
              IANA, "Resource Record (RR) TYPEs",
              <https://www.iana.org/assignments/dns-parameters#dns-
              parameters-4>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2181]  Elz, R. and R. Bush, "Clarifications to the DNS
              Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997,
              <https://www.rfc-editor.org/info/rfc2181>.

   [RFC7481]  Hollenbeck, S. and N. Kong, "Security Services for the
              Registration Data Access Protocol (RDAP)", STD 95,
              RFC 7481, DOI 10.17487/RFC7481, March 2015,
              <https://www.rfc-editor.org/info/rfc7481>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC9083]  Hollenbeck, S. and A. Newton, "JSON Responses for the
              Registration Data Access Protocol (RDAP)", STD 95,
              RFC 9083, DOI 10.17487/RFC9083, June 2021,
              <https://www.rfc-editor.org/info/rfc9083>.

9.2.  Informative References

   [I-D.ietf-deleg]
              Špaček, P., Weber, R., and Lawrence, "Extensible
              Delegation for DNS", Work in Progress, Internet-Draft,



Brown                    Expires 16 October 2026                [Page 9]

Internet-Draft             RDAP TTL Extension                 April 2026


              draft-ietf-deleg-08, 16 March 2026,
              <https://datatracker.ietf.org/doc/html/draft-ietf-deleg-
              08>.

   [I-D.ietf-regext-rdap-extensions]
              Newton, A., Singh, J., and T. Harrison, "RDAP Extensions",
              Work in Progress, Internet-Draft, draft-ietf-regext-rdap-
              extensions-12, 18 February 2026,
              <https://datatracker.ietf.org/doc/html/draft-ietf-regext-
              rdap-extensions-12>.

   [RFC5730]  Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
              STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009,
              <https://www.rfc-editor.org/info/rfc5730>.

   [RFC9364]  Hoffman, P., "DNS Security Extensions (DNSSEC)", BCP 237,
              RFC 9364, DOI 10.17487/RFC9364, February 2023,
              <https://www.rfc-editor.org/info/rfc9364>.

   [RFC9499]  Hoffman, P. and K. Fujiwara, "DNS Terminology", BCP 219,
              RFC 9499, DOI 10.17487/RFC9499, March 2024,
              <https://www.rfc-editor.org/info/rfc9499>.

   [RFC9803]  Brown, G., "Extensible Provisioning Protocol (EPP) Mapping
              for DNS Time-to-Live (TTL) Values", RFC 9803,
              DOI 10.17487/RFC9803, June 2025,
              <https://www.rfc-editor.org/info/rfc9803>.

Author's Address

   Gavin Brown
   ICANN
   12025 Waterfront Drive, Suite 300
   Los Angeles, CA 90094-2536
   United States of America
   Email: gavin.brown@icann.org















Brown                    Expires 16 October 2026               [Page 10]
