Registration Extensions (REGEXT) G. Brown Internet-Draft ICANN Intended status: Standards Track 29 April 2026 Expires: 31 October 2026 RDAP Extension for DNS Time-To-Live (TTL Values) draft-ietf-regext-rdap-ttl-extension-08 Abstract This document specifies 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 31 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 31 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 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. Operational Considerations . . . . . . . . . . . . . . . . . 5 4.1. RDAP Servers . . . . . . . . . . . . . . . . . . . . . . 5 4.2. RDAP Clients . . . . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Implementation status . . . . . . . . . . . . . . . . . . . . 6 7.1. ICANN RDAP . . . . . . . . . . . . . . . . . . . . . . . 6 7.2. Net::RDAP . . . . . . . . . . . . . . . . . . . . . . . . 7 7.3. rdapper . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Changes from 07 to 08 . . . . . . . . . . . . . . . . . . 7 8.2. Changes from 06 to 07 . . . . . . . . . . . . . . . . . . 8 8.3. Changes from 05 to 06 . . . . . . . . . . . . . . . . . . 8 8.4. Changes from 04 to 05 . . . . . . . . . . . . . . . . . . 8 8.5. Changes from 03 to 04 . . . . . . . . . . . . . . . . . . 8 8.6. Changes from 02 to 03 . . . . . . . . . . . . . . . . . . 8 8.7. Changes from 01 to 02 . . . . . . . . . . . . . . . . . . 8 8.8. Changes from 00 to 01 . . . . . . . . . . . . . . . . . . 9 8.9. Changes from draft-brown-rdap-ttl-extension-03 to draft-ietf-regext-rdap-ttl-extension-00 . . . . . . . . 9 8.10. Changes from 02 to 03 . . . . . . . . . . . . . . . . . . 9 8.11. Changes from 01 to 02 . . . . . . . . . . . . . . . . . . 9 8.12. Changes from 00 to 01 . . . . . . . . . . . . . . . . . . 9 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 10.2. Informative References . . . . . . . . . . . . . . . . . 10 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 Brown Expires 31 October 2026 [Page 2] Internet-Draft RDAP TTL Extension April 2026 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 5 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. Inclusion of these values in RDAP responses, in addition to nameservers, glue IP addresses, and DS records, allows out-of-band debugging of the DNS configuration of troublesome domain names. 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. 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. This document makes use of the terms defined in Section 1.1 of [RFC9083]. 3. RDAP Response Specification Servers that support this extension MAY include a "ttl0_data" property in any domain (Section 5.3 of [RFC9083]) and nameserver (Section 5.2 of [RFC9083]) objects included in RDAP responses. As per Section 2.1 of [RFC9083], clients which do not implement this specification SHOULD ignore the "ttl0_data" member. 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]). Brown Expires 31 October 2026 [Page 3] Internet-Draft RDAP TTL Extension April 2026 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. An example domain object with valid "ttl0_data" attribute is provided below. Readers should refer to [RFC9083] for a description of the other objects listed in the example. { "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" } ] } ] } } An example nameserver object with valid "ttl0_data" attribute is provided below. Brown Expires 31 October 2026 [Page 4] Internet-Draft RDAP TTL Extension April 2026 { "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." ] } ] } } 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]. 3.2. RDAP Conformance Servers returning responses containing TTL values MUST include the string "ttl0" in the rdapConformance array. 4. Operational Considerations 4.1. RDAP Servers This specification 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. 4.2. RDAP Clients 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. Brown Expires 31 October 2026 [Page 5] Internet-Draft RDAP TTL Extension April 2026 Since the list of record types appearing in "ttl0_data" elements may change with time, clients which implement this extension MUST accept responses containing values for all valid DNS record types, and SHOULD periodically update the list of valid DNS record types to align with [IANA-RRTYPES]. 5. IANA Considerations IANA is requested to register the following value in the RDAP Extensions Registry [IANA-RDAP-EXTENSIONS]: *Extension identifier:* ttl0 *Registry operator:* Any *Published specification:* this document *Contact:* IETF *Intended usage:* this extension describes how DNS TTL values can be included in RDAP responses. 6. Security Considerations Security services for the extension specified in this document are described in [RFC7481]. This document only concerns itself with the representation of configured TTL values for domain and host objects. Such configuration is out of scope. Readers may refer to Section 6 of [RFC9803] for the security implications of configuring those values. 7. Implementation status This section is to be removed before publishing as an RFC. 7.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. Brown Expires 31 October 2026 [Page 6] Internet-Draft RDAP TTL Extension April 2026 Licensing: Apache License, Version 2.0 or MIT License. Contact: globalsupport@icann.org URL: https://github.com/icann/icann-rdap 7.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). Contact: gavin.brown@fastmail.uk URL: https://metacpan.org/pod/Net::RDAP 7.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 8. Change Log This section is to be removed before publishing as an RFC. 8.1. Changes from 07 to 08 Updates as per AD review: 1. Added Section 4. Brown Expires 31 October 2026 [Page 7] Internet-Draft RDAP TTL Extension April 2026 2. Move the last paragraph of Section 1 to Section 4. 3. Remove most of Section 3.1, moved some of it to Section 4. 4. Backfilled the change log immediately below. 8.2. Changes from 06 to 07 1. Correct reference to [RFC9499]. 8.3. Changes from 05 to 06 1. Add missing change log entries to assist in IESG review. 2. Added Section 7. 8.4. Changes from 04 to 05 1. Clarify that TTL values are represented using JSON numbers. 8.5. 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. 8.6. Changes from 02 to 03 1. Switch to array model to object model, based on WG feedback. 2. Added Section 9. 8.7. Changes from 01 to 02 1. Include reference to [IANA-RRTYPES] in Section 3 (thanks Jasdip Singh). Brown Expires 31 October 2026 [Page 8] Internet-Draft RDAP TTL Extension April 2026 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). 8.8. 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 6. 3. Changed MUST to MAY in the first paragraph of Section 3. 4. Reduce ambiguity around the repetition of DNS record types in responses. 8.9. Changes from draft-brown-rdap-ttl-extension-03 to draft-ietf- regext-rdap-ttl-extension-00 1. Name change only. 8.10. Changes from 02 to 03 1. Update reference to [RFC9803]. 8.11. Changes from 01 to 02 1. Update reference to the EPP extension. 8.12. 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. 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. 9. 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. Brown Expires 31 October 2026 [Page 9] Internet-Draft RDAP TTL Extension April 2026 10. References 10.1. Normative References [IANA-RDAP-EXTENSIONS] IANA, "RDAP Extensions", . [IANA-RRTYPES] IANA, "Resource Record (RR) TYPEs", . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997, . [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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [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, . 10.2. Informative References [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, . Brown Expires 31 October 2026 [Page 10] Internet-Draft RDAP TTL Extension April 2026 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, . [RFC9499] Hoffman, P. and K. Fujiwara, "DNS Terminology", BCP 219, RFC 9499, DOI 10.17487/RFC9499, March 2024, . [RFC9803] Brown, G., "Extensible Provisioning Protocol (EPP) Mapping for DNS Time-to-Live (TTL) Values", RFC 9803, DOI 10.17487/RFC9803, June 2025, . 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 31 October 2026 [Page 11]