- Home
- RFC 10037
RFC 10037: Registration Data Access Protocol (RDAP) Extension for DNS Time-to-Live (TTL) Values
- G. Brown
Abstract
This document specifies an extension to the Registration Data Access Protocol (RDAP), which allows the Time-to-Live (TTL) values for relevant DNS record types to be included in RDAP responses.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
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://
1. Introduction
The Registration Data Access Protocol (RDAP) [STD95] provides access to information about Internet resources (domain names, autonomous system numbers, and IP addresses).
While RFC 9083 [STD95] 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) values (see Section 5 of [RFC9499]) of those RRsets to be included in responses.
Inclusion of these values in RDAP responses (in addition to nameservers, glue IP addresses, and Delegation Signer (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 uses terms defined in Section 1.1 of RFC 9083 [STD95].¶
3. RDAP Response Specification
Servers that support this extension MAY include a "ttl0_" member in any domain (Section 5.3 of RFC 9083 [STD95]) and nameserver (Section 5.2 of RFC 9083 [STD95]) objects included in RDAP responses.
As per Section 2.1 of RFC 9083 [STD95], clients that do not implement this specification SHOULD ignore the "ttl0_" member.¶
The "ttl0_" member is an object that has the following members:¶
- A "
values" member, which is an object that maps DNS record type mnemonics to TTL values; and¶ - An OPTIONAL "
remarks" member, which is an array of remarks (see Section 4.3 of RFC 9083 [STD95]).¶
As specified in Section 8 of [RFC2181], a TTL value is "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 MUST be represented as JSON numbers with no fractional component and no exponent notation.¶
The TTL values included in "ttl0_" members MUST reflect the TTL values as provisioned in the registry database, not the remaining TTL of DNS records as observed from live DNS queries.¶
An example domain object with a valid "ttl0_" member is provided below. Readers should refer to RFC 9083 [STD95] for a description of the other objects listed in the example.¶
{
"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"
],
"links": [
{
"rel": "related",
"title": ".Example Registry DNS TTL Policy",
"href": "https://domain.example"
}
]
}
]
}
}
An example nameserver object with a valid "ttl0_" member is provided below.¶
{
"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."
]
}
]
}
}3.1. DNS Record Types and TTL Values
The DNS record type mnemonics that appear as the member 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 (EPP) [RFC5730] and the EPP Mapping for DNS Time-to-Live (TTL) Values [RFC9803], but registry operators do not need to implement that extension in their EPP servers 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 that use these frameworks should explicitly carve out the "values" member of "ttl0_" members.¶
Since the list of record types appearing in "ttl0_" members may change with time, clients that 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], to avoid discarding a recently added record type.¶
5. IANA Considerations
IANA has registered the following value in the "RDAP Extensions" registry [IANA
6. Security Considerations
Security services for the extension specified in this document are described in RFC 7481 [STD95].¶
This document only concerns itself with the representation of configured TTL values for domain and host objects. The security implications of how those TTL values are determined, assigned, or modified within a registry system are out of scope. Readers are referred to Section 6 of [RFC9803] for further discussion.¶
7. References
7.1. Normative References
- [IANA
-RDAP -EXTENSIONS] -
IANA, "RDAP Extensions", <https://
www >..iana .org /assignments /rdap -extensions - [IANA-RRTYPES]
-
IANA, "Resource Record (RR) TYPEs", <https://
www >..iana .org /assignments /dns -parameters - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC2181]
-
Elz, R. and R. Bush, "Clarifications to the DNS Specification", RFC 2181, DOI 10
.17487 , , <https:///RFC2181 www >..rfc -editor .org /info /rfc2181 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC9499]
-
Hoffman, P. and K. Fujiwara, "DNS Terminology", BCP 219, RFC 9499, DOI 10
.17487 , , <https:///RFC9499 www >..rfc -editor .org /info /rfc9499 - [STD95]
-
Internet Standard 95, <https://
www >..rfc -editor .org /info /std95
At the time of writing, this STD comprises the following:Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the Registration Data Access Protocol (RDAP)", STD 95, RFC 7480, DOI 10.17487 , , <https:///RFC7480 www >..rfc -editor .org /info /rfc7480 Hollenbeck, S. and N. Kong, "Security Services for the Registration Data Access Protocol (RDAP)", STD 95, RFC 7481, DOI 10.17487 , , <https:///RFC7481 www >..rfc -editor .org /info /rfc7481 Hollenbeck, S. and A. Newton, "Registration Data Access Protocol (RDAP) Query Format", STD 95, RFC 9082, DOI 10.17487 , , <https:///RFC9082 www >..rfc -editor .org /info /rfc9082 Hollenbeck, S. and A. Newton, "JSON Responses for the Registration Data Access Protocol (RDAP)", STD 95, RFC 9083, DOI 10.17487 , , <https:///RFC9083 www >..rfc -editor .org /info /rfc9083 Blanchet, M., "Finding the Authoritative Registration Data Access Protocol (RDAP) Service", STD 95, RFC 9224, DOI 10.17487 , , <https:///RFC9224 www >..rfc -editor .org /info /rfc9224
7.2. Informative References
- [RFC5730]
-
Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10
.17487 , , <https:///RFC5730 www >..rfc -editor .org /info /rfc5730 - [RFC9803]
-
Brown, G., "Extensible Provisioning Protocol (EPP) Mapping for DNS Time-to-Live (TTL) Values", RFC 9803, DOI 10
.17487 , , <https:///RFC9803 www >..rfc -editor .org /info /rfc9803
Acknowledgements
The author wishes to thank the following for their constructive feedback and advice during the development of this document: Andy Newton, Pawel Kowalik, Maarten Wullink, Mohamed Boucadair, Vijay K. Gurbani, Di Ma, Nabeel Cocker, Ketan Talaulikar, Ralf Weber, Mike Bishop, Mahesh Jethanandani, and Éric Vyncke.¶