Internet-Draft RDAP TTL Extension December 2025
Brown Expires 4 June 2026 [Page]
Workgroup:
Registration Extensions (REGEXT)
Internet-Draft:
draft-ietf-regext-rdap-ttl-extension-03
Published:
Intended Status:
Standards Track
Expires:
Author:
G. Brown
ICANN

RDAP Extension for DNS Time-To-Live (TTL Values)

Abstract

This document describes an extension to the Registration Data Access Protocol ([RFC9083]) 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 4 June 2026.

Table of Contents

1. Introduction

While [RFC9083] allows RDAP server operators to provide information about the content of the NS, DS, A and AAAA record(s) 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) values of those records to be included in responses.

This document describes how TTL information can be included in domain and nameserver objects in RDAP responses.

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:

Example domain object:

{
  "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."
        ]
      }
    ]
  }
}

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-2,147,483,647.

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.

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>

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. Change Log

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

6.1. Changes from 02 to 03

  1. Switch to array model to object model, based on WG feedback.
  2. Added Section 7.

6.2. 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).

6.3. 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.

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

  1. Name change only.

6.5. Changes from 02 to 03

  1. Update reference to [RFC9803].

6.6. Changes from 01 to 02

  1. Update reference to the EPP extension.

6.7. 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.

7. 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.

8. References

8.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, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC7481]
Hollenbeck, S. and N. Kong, "Security Services for the Registration Data Access Protocol (RDAP)", STD 95, RFC 7481, DOI 10.17487/RFC7481, , <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, , <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, , <https://www.rfc-editor.org/info/rfc9083>.

8.2. Informative References

[I-D.ietf-deleg]
April, T., Špaček, P., Weber, R., and Lawrence, "Extensible Delegation for DNS", Work in Progress, Internet-Draft, draft-ietf-deleg-06, , <https://datatracker.ietf.org/doc/html/draft-ietf-deleg-06>.
[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-08, , <https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-extensions-08>.
[RFC5730]
Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10.17487/RFC5730, , <https://www.rfc-editor.org/info/rfc5730>.
[RFC9364]
Hoffman, P., "DNS Security Extensions (DNSSEC)", BCP 237, RFC 9364, DOI 10.17487/RFC9364, , <https://www.rfc-editor.org/info/rfc9364>.
[RFC9803]
Brown, G., "Extensible Provisioning Protocol (EPP) Mapping for DNS Time-to-Live (TTL) Values", RFC 9803, DOI 10.17487/RFC9803, , <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