Internet-Draft DNS Transport Signaling November 2026
Stenstam, et al. Expires 6 May 2027 [Page]
Workgroup:
DNSOP Working Group
Internet-Draft:
draft-johani-dnsop-transport-signaling-03
Published:
Intended Status:
Standards Track
Expires:
Authors:
J. Stenstam
The Swedish Internet Foundation
L. Fernandez
The Swedish Internet Foundation
E. Bergström
The Swedish Internet Foundation
P. Homberg
NLnet Labs
S. Dickinson
Sinodun IT

Opportunistic Operator based SVCB transport signaling (OOTS)

Abstract

This document proposes an Opportunistic Operator Transport Signaling mechanism (OOTS) based on SVCB records, to enable operators of authoritative DNS servers to signal their support for alternative transport protocols (e.g., DNS over TLS (DoT) and DNS over QUIC (DoQ)). These SVCB records can contain a new (experimental) SVCB "oots" key which contains fine grained information about the support for specific transports.

Recursive resolvers can obtain these records either by requesting they be included in the Additional section of authoritative DNS responses (Passive mode) or by direct DNS queries (Probe mode). Resolvers can then Opportunistically upgrade connections to the authoritative to encrypted transports according to local policy, thereby improving privacy, security, and performance for subsequent interactions.

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 6 May 2027.

▲

Table of Contents

1. Introduction

The Domain Name System (DNS) primarily relies on UDP and TCP for communication between resolvers and authoritative servers. While these protocols are well-established, there is a growing interest in leveraging modern encrypted transport protocols like DNS over TLS (DoT) [RFC7858] and DNS over QUIC (DoQ) [RFC9250] to enhance privacy, security, and performance.

'Unilateral Opportunistic Deployment of Encrypted Recursive-to-Authoritative DNS' [RFC9539] describes a mechanism for how recursive resolvers can probe authoritative servers to discover if port 853 is open in order to Opportunistically upgrade to an encrypted transport. However that mechanism has not gained widespread deployment due to a number of limitations and a reluctance of authoritative operators to open port 853 with no signaling mechanisms available.

Here we propose an alternative mechanism that enables a more controlled deployment of Opportunistic encrypted transports: Opportunistic Operator Transport Signaling mechanism (OOTS). This signaling is based on SVCB records [RFC9460], [RFC9461] which can contain a new (experimental) SVCB "oots" key that specifies per-transport query load parameters. This improves on the Opportunistic (but blind) testing of alternative transports suggested in [RFC9539] by providing a mechanism by which a responding authoritative server may signal which alternative transports it supports, along with more detailed information about each transport.

Recursive resolvers can obtain these records either by requesting they be included in the Additional section of authoritative DNS responses (Passive mode), and/or by performing direct DNS queries for SVCB records (Probe mode), depending on the local discovery policy.

This dual approach has some similarities to NS re-validation [I-D.draft-ietf-dnsop-ns-revalidation] whereby a resolver may choose to actively probe the child zone for NS records after receiving a referral. However, OOTS is more flexible in that resolvers may choose to operate in one mode or a combined mode approach.

Neither mode requires changes to the parent zone. Passive mode may require additional SVCB alias mode records for certain delegation patterns.

On obtaining such SVCB records recursive resolvers can then apply a local connection policy to Opportunistically upgrade connections to the authoritative to an encrypted transport contained within the signaled information.

The Opportunistic mechanism described here has a major advantage of being available immediately without any changes to the DNS protocol. Furthermore, as it is a signal directly from an authoritative nameserver, a single SVCB record may allow the recipient recursive nameserver to upgrade the transport used for all the zones served by that authoritative nameserver (which may be millions) without the need to make any changes to the zones, nor to the parent zones.

Given the current DNS landscape with a limited number of very large providers of authoritative DNS service and a limited number of large providers of recursive DNS service the Opportunistic model described here has the potential of enabling upgrading the transport for a significant fraction of the DNS traffic with a limited amount of effort.

This specification is expected to evolve over time based on interoperability testing and experimental deployments. Early work is expected to include comparing the two modes to see if one or the other is preferable or if both should be part of the long term solution. Other work will investigate if the structure of, and the information in, the SVCB "oots" key is useful in practice.

*NOTE: * While DNS over HTTP (DoH) [RFC8484] is also an option as a recursive to authoritative encrypted transport many of the advantages of the use of DoH stub to resolver do not apply in the recursive to authoritative context. Hence, there appears to be little current appetite to deploy DoH for this use. So while DoH is covered by this specification and included in the SVCB "oots" key definition, the examples and discussion here reference only DoT and DoQ for brevity.

1.1. Structure of the document

Section 4 gives a general overview of the OOTS mechanism.

Section 5 provides recommendations for recursive resolvers on how to discover SVCB records using both Passive and Probe mode.

Section 6 provides recommendations for authoritative servers, in particular when to include records requested in Passive mode.

Section 7 describes how to use the parameters from the "oots" SvcParam (however they were obtained).

The final sections provide Security, Operational and Privacy considerations.

2. Github repo

TO BE REMOVED: This document is being collaborated on in Github at: https://github.com/johanix/draft-johani-dnsop-transport-signaling. The most recent working version of the document, open issues, etc, should all be available there. The authors (gratefully) accept pull requests.

3. Terminology

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.

General DNS terminology used here follows that defined in [RFC9499].

4. Overview of the OOTS mechanism

The basis of the Opportunistic operator transport signaling (OOTS) mechanism is the discovery of and usage by recursive resolvers of Service Binding records (SVCB RRs) for authoritative nameservers that offer encrypted transports.

An new, experimental SCVB "oots" parameter is defined in [I-D.draft-johani-dnsop-svcb-oots] for the OOTS mechanism. It allows the operator of an authoritative DNS nameserver to advertise, per DNS transport protocol (such as DNS over UDP/TCP, DNS over TLS, DNS over HTTPS, and DNS over QUIC), the operator's own assessment of the share of the nameserver's total query load that it is confident it can serve over that transport. The per-transport values are independent capability estimates rather than a distribution of queries across transports; they are opportunistic hints that a resolver MAY use to inform transport selection and MAY ignore entirely.

Recursive resolvers can discover and use SVCB records that contain the "oots" parameter. However, it is important to note that the information conveyed by the SVCB records alone (even when DNSSEC signed) signals only the capabilities of the authoritative nameserver serving the zone. It does not, therefore, establish a full chain of trust directly to the zone itself and MUST be considered as insecure. It should not be used as a basis of a Strict connection policy, only to enable an Opportunistic connection policy.

However, acquiring such a signal enables resolvers to immediately apply the local Opportunistically connection policy for the nameserver in question. Resolvers may, of course, still validate the certificate presented by the nameserver and log the result.

The mechanism is expected to be experimental in nature in the early stages as various details of the discovery heuristics and signaling mechanism are explored and developed.

4.1. Discovery policy for SVCB records

Recursive resolvers can discover SVCB records one of two ways:

  • Passive mode: A recursive resolvers sets the OOTS EDNS(0) option to indicate they want to receive SVCB records in the Additional section if they are available. A nameservers that is authoritative for the zone in question (i.e. managed by the zone operator) returns any SVCB records available for the authoritative nameservers when responding to a query with the OOTS EDNS(0) option set. This is the most efficient mode as it requires no additional queries to obtain the signal.

  • Probe mode: A recursive resolver actively probes for SVCB records for some or all of the authoritative nameservers they query. This mode incurs more overhead but is useful, for example, for resolvers that have a local policy that includes attempting DNSSEC validation of the SVCB records.

Discovery policy heuristics: The heuristics for doing SVCB discovery are an implementation decision since they should align with the local resolution logic in the software implementation. A typical use case might be to attempt to discover SVCB records when the resolver has no cached transport signaling information (i.e. the resolver is contacting the authoritative for the first time or any existing record has expired from the cache). However, a resolver might:

  • perform cleartext queries and discover SVCB records in parallel.

  • perform cleartext queries and in lazily discover for SVCB records (i.e. at some point in the future)

  • delay cleartext queries until the result of a direct probe for SVCB records is known

  • perform priming probes for an list of well known authoritative servers on start up and apply one of the above policies for all other authoritatives.

In another approach, a resolver may start in Passive mode and subsequently probe directly for a SVCB binding record in an attempt to obtain a DNSSEC signed record (if the one obtained via the OOTS Option was not signed).

4.2. Connection policy for SVCB records

Strict and Opportunistic connection policies for stub to recursive connections are described in [RFC8310] and the terms are used analogously here.

A recursive resolver can use SVCB records to Opportunistically upgrade connections to encrypted transports, but SHOULD honor the total query load shares specified in the SVCB records.

Connection policy heuristics: Similarly to discovery policy heuristics, the details of the local connection policy are an implementation detail. Resolvers may attempt connections over encrypted transports at any time i.e. before sending any queries to the resolver, in parallel to sending cleartext queries to the resolver or at a later time after having obtained a SVCB record.

Clearly, from a privacy perspective, is is preferable to use an encrypted transport as early as possible in the resolution process. But for an Opportunistic policy, this can and should be balanced with efficient and reliable query resolution. Capturing data on and developing the details of one or more strategies for these activities is expected to evolve over time.

5. Recommendations for recursive resolvers

This section describes how recursive resolvers can discovery SVCB records.

5.1. OOTS Passive mode

This mode consists of two steps:

  • A resolver MAY include the new EDNS(0) option that defines an OOTS request in a query to an authoritative nameserver.

  • A authoritative nameserver receiving that query SHOULD include SVCB records in the response if the required conditions are met, see Section 6.

5.1.1. Design decisions

See Appendix B for the rationale for using the Additional section for the transport signaling EDNS(0) OOTS Response.

5.1.2. The EDNS(0) OOTS Option

To provide a mechanism for resolvers to explicitly request to receive transport signals, this document defines a new EDNS(0) option called "OOTS". When included in a query, this option signals to the authoritative server that the resolver wants to receive transport signals in the response.

The EDNS(0) OOTS option is structured as follows:

                                              1   1   1   1   1   1
      0   1   2   3   4   5   6   7   8   9   0   1   2   3   4   5
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 0: |                            OPTION-CODE                        |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 2: |                           OPTION-LENGTH                       |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Field definition details:

OPTION-CODE: 2 octets / 16 bits (defined in [RFC6891]) contains the value TBD for OOTS.

OPTION-LENGTH: 2 octets / 16 bits (defined in [RFC6891]) contains the length of the payload in octets. For the OOTS option, this value MUST be 0 as there is no payload.

The OOTS option is designed to be a simple, lightweight mechanism that can be used to enable transport signaling without affecting the normal operation of DNS resolution.

5.1.3. Sending Queries

Recursive resolvers MAY include the EDNS(0) OOTS Option in a query to an authoritative to request transport signaling be included in the response.

5.1.4. Receiving Responses

5.1.4.1. Parsing responses

When receiving an authoritative DNS response to a query where the EDNS(0) OOTS option was set the resolver SHOULD parse the Additional section for SVCB records.

When receiving a DNS response to a query where the EDNS(0) OOTS option was not set the resolver SHOULD ignore any SVCB records in the Additional section for the purposes of transport signaling.

If the EDNS(0) OOTS option was set in a query but no SVCB record was received in the response, the resolver should proceed as if there are no SVCB records for the zone that resolution is being performed on.

5.1.4.2. Valid SVCB records

If an SVCB record is found whose owner name matches an authoritative nameserver identified in the Authority or Answer sections of the current response and the SVCB contains an "oots" SvcParam , the resolver MAY consider this a valid SVCB record. If it does not, the resolver MUST ignore the SCVB record. If any other parameter, including "ipv4hint" and "ipv6hint", is present in the SVCB parameter list then that parameter SHOULD be ignored.

TODO: We do not yet discuss multiple SVCB records in a response. One option is to have multiple records, one per transport and then the other ScvParams in the record e.g. 'port', 'ipv4 hint' can be used for that transport. Another is to have only one record, and ignore all other SvcParams to avoid having to define interactions while we experiment. Regardless, we need to clarify interactions with other keys, if any.

QUESTION: Should we specify that authoritatives that implement this specification set the EDNS(0) OOTS option in a response to make it clearer that there is no signal? Since both the option and the records can be tampered with if they are sent over cleartext this may not be useful. But if the response it sent over an encrypted transport this may form a useful signal for measuring deployment.

5.1.5. OOTS Passive mode queries

Example 1:

If the resolver queries ns.dnsprovider.net for www.example.com. and ns.dnsprovider.net is authoritative for www.example.com, the respond might be:

Header: ...

Answer:
www.example.com.   IN A 1.2.3.4

Authority:
example.com.       IN NS ns1.example.com.
example.com.       IN NS ns.dnsprovider.net.

Additional:
ns.dnsprovider.net. IN A 5.6.7.8
ns.dnsprovider.net. IN RRSIG A ...
_dns.ns.dnsprovider.net. IN SVCB 1 . "oots=doq:100,dot:100,do53:100"
_dns.ns.dnsprovider.net. IN RRSIG SVCB ...

TODO: More examples, including use of Alias Mode (with a discussion of priority)

5.1.6. Forwarders

Forwarders SHOULD NOT modify any EDNS(0) OOTS option in any query.

Forwarders SHOULD NOT modify SVCB records in the Additional section of any response.

5.1.7. Stub resolvers

Stub resolvers SHOULD NOT set the EDNS(0) OOTS option in any query.

Stub resolvers SHOULD ignore any SVCB records in the Additional section of any response.

5.2. OOTS Probe mode

5.2.1. Sending queries

Recursive resolvers MAY also probe directly for SVCB records for any authoritative nameserver they need to connect to perform recursion.

5.2.2. Receiving responses

If the SVCB record contains a "oots" SvcParam the resolver MAY consider this a valid SVCB record. If it does not, the resolver MUST ignore the SCVB record for the purposes of transport signaling.

If any other parameter, including "ipv4hint" and "ipv6hint", is present in the SVCB parameter list then it SHOULD be ignored.

5.2.3. OOTS Probe mode queries

Example: The resolver explicitly asks for the DNS transport signal for the authoritative nameserver ns.dnsprovider.net. by querying for "_dns.ns.dnsprovider.net. SVCB":

Header: ...

Answer:
_dns.ns.dnsprovider.net.  IN SVCB 1 . "oots=doq:100,dot:100,do53:100"
_dns.ns.dnsprovider.net.  IN RRSIG SVCB ...

Additional:

6. Recommendations for Authoritative servers

6.1. OOTS Probe mode

6.1.1. Sending responses

An authoritative nameserver SHOULD NOT include SVCB records in a response if the EDNS(0) OOTS option was not present in the query. This is to avoid increasing the size of responses to resolvers that do not implement this specification.

NOTE - During development and prototyping of this specification a valid reason that an experimental deployment might decide to include SVCB records in all responses is for testing purposes.

Authoritative servers that implement this specification should provide a configuration option to control whether or not SVCB records are included in responses if the nameserver is configured to serve minimal responses.

Authoritative nameserver implementations differ significantly in how they generate the content of responses. Some have a concept of a server identity, others do not. Some can synthesize records and DNSSEC sign on-the-fly, others cannot. As a result, attempting to specify a general algorithm for how nameservers should determine which responses to include SVCB records in is out of scope for this document. Instead it is stated that the nameserver SHOULD include an SVCB record in a response if the EDNS(0) OOTS option was set in the query and:

  • the nameserver is authoritative for the zone containing the QNAME in the query

  • the nameserver has access to, or can generate an SVCB record with a matching owner name

  • the owner name of the SVCB record MUST be the label "_dns" followed by the FQDN of an authoritative nameserver for the zone, as identified in the child NS RRset for the zone.

QUESTION: Have changed the text in the owner name bullet here to say 'child NS set' - is that correct or can we be more flexible 'parent or child'?

Details of some known implementation methodologies are presented for context in Appendix C.1.

7. Using SVCB records

The SVCB records are a mechanism to discover capabilities of nameservers, not to override trusted delegation or service configuration.

[I-D.draft-johani-dnsop-svcb-oots] specifies the syntax and semantics of the "oots" SvcParam. To summarise, it conveys, per DNS transport protocol available at a nameserver, the operator's assessment of the share of the nameserver's total query load that it is confident it can serve over that transport, expressed as a percentage. Weight values are unsigned integers in the range [0, 100]. The weights are NOT a distribution that partitions queries across transports and are NOT an instruction to a resolver on how to split its queries; each weight is an independent capability assessment against the same total load. Consequently, a nameserver MAY advertise a weight of 100 for more than one transport (full confidence on each), and the sum of the weights in a single "oots" SvcParam value will typically exceed 100. A weight of 0 indicates that the transport is not available at this nameserver. An example SVCB record containing this parameter is:

ns.example.net. 300 IN SVCB 1 . oots="do53:100,dot:5,doq:5"

Resolver MAY attempt connections over any transport with a weight greater than 1 in the "oots" SvcParam.

A resolver MUST interpret a value of more than 100 as 100.

If resolvers choose to use encrypted transports, they SHOULD honor any transport weight value found in the "oots" SvcParam for any transport they attempt to connect over. Resolvers MAY choose to use lower transport weights for encrypted transports due to local resource constraints. Resolvers SHOULD NOT use higher transport weight value found in the unless there is a compelling reason, e.g. no other transport is available.

Resolvers MUST always be prepared to fall back to traditional UDP/TCP transport if an attempt to use an alternative transport based on an SVCB record (especially an unvalidated one) fails or times out.

QUESTION: Did we decide to say anything about possible implementations of this in the appendix??

Resolvers MAY also cache information about the result of a connection attempt based on an SVCB record, for example when a particular transport is indicated as being supported but connection attempts fail. Resolvers MAY choose to implement a back-off for retrying connection attempts in this scenario. For a more detailed analysis of this possible caching logic, see [RFC9539], section 4.

8. Security Considerations

QUESTION: Should the above DNSSEC restriction still apply? If so, we should explain when the two SHOULDs above might not be followed.

9. Operational Considerations

10. Privacy Considerations

11. IANA Considerations

11.1. OOTS EDNS(0) Option

This document defines a new EDNS(0) option, entitled "OOTS", assigned a value of TBD in the "DNS EDNS(0) Option Codes (OPT)" registry.

   +-------+----------------------+----------+----------------------+
   | Value | Name                 | Status   | Reference            |
   +-------+----------------------+----------+----------------------+
   | TBD   | OOTS                 | Standard | ( This document )    |
   +-------+----------------------+----------+----------------------+

Note to the RFC Editor: In this section, please replace occurrences of "(This document)" with a proper reference.

12. Implementation Status

Note to the RFC Editor: Please remove this entire section before publication.

13. Acknowledgments

The idea to use an SVCB "oots" SvcParam for transport signaling originated with the work on [DELEG].

Many people have commented and contributed to this document in different ways. In no particular order and with a significant risk of forgetting someone: The participants of the DELEG Working Group, Peter Thomassen, Christian Elmerot, John Todd, Peter Koch, Willem Toorop, Peter van Dijk.

14. References

14.1. Normative References

[I-D.draft-johani-dnsop-svcb-oots]
Stenstam, J. and P. Homburg, "An SVCB Service Parameter for Opportunistic Operator-led Transport Signaling (oots)", Work in Progress, Internet-Draft, draft-johani-dnsop-svcb-oots-00, , <https://datatracker.ietf.org/doc/html/draft-johani-dnsop-svcb-oots-00>.
[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/rfc/rfc2119>.
[RFC6891]
Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms for DNS (EDNS(0))", STD 75, RFC 6891, DOI 10.17487/RFC6891, , <https://www.rfc-editor.org/rfc/rfc6891>.
[RFC7858]
Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, , <https://www.rfc-editor.org/rfc/rfc7858>.
[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/rfc/rfc8174>.
[RFC8310]
Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles for DNS over TLS and DNS over DTLS", RFC 8310, DOI 10.17487/RFC8310, , <https://www.rfc-editor.org/rfc/rfc8310>.
[RFC8484]
Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10.17487/RFC8484, , <https://www.rfc-editor.org/rfc/rfc8484>.
[RFC9250]
Huitema, C., Dickinson, S., and A. Mankin, "DNS over Dedicated QUIC Connections", RFC 9250, DOI 10.17487/RFC9250, , <https://www.rfc-editor.org/rfc/rfc9250>.
[RFC9460]
Schwartz, B., Bishop, M., and E. Nygren, "Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)", RFC 9460, DOI 10.17487/RFC9460, , <https://www.rfc-editor.org/rfc/rfc9460>.
[RFC9461]
Schwartz, B., "Service Binding Mapping for DNS Servers", RFC 9461, DOI 10.17487/RFC9461, , <https://www.rfc-editor.org/rfc/rfc9461>.
[RFC9499]
Hoffman, P. and K. Fujiwara, "DNS Terminology", BCP 219, RFC 9499, DOI 10.17487/RFC9499, , <https://www.rfc-editor.org/rfc/rfc9499>.
[RFC9539]
Gillmor, D. K., Ed., Salazar, J., Ed., and P. Hoffman, Ed., "Unilateral Opportunistic Deployment of Encrypted Recursive-to-Authoritative DNS", RFC 9539, DOI 10.17487/RFC9539, , <https://www.rfc-editor.org/rfc/rfc9539>.

14.2. Informative References

[DELEG]
Špaček, P., Weber, R., and Lawrence, "Extensible Delegation for DNS", Work in Progress, Internet-Draft, draft-ietf-deleg-13, , <https://datatracker.ietf.org/doc/html/draft-ietf-deleg-13>.
[I-D.draft-ietf-dnsop-ns-revalidation]
Huque, S., Vixie, P. A., and W. Toorop, "Delegation Revalidation by DNS Resolvers", Work in Progress, Internet-Draft, draft-ietf-dnsop-ns-revalidation-14, , <https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-ns-revalidation-14>.

Appendix A. Change History (to be removed before publication)

Appendix B. Rationale for Using the Additional Section

Only DNS nameservers (authoritative or recursive) that are aware of the proposed mechanism will use it. It requires no changes to the existing protocol in order to convey more RR sets in the Additional section.

A downside is that it is not possible to strictly rely on anything specific being present in the Additional section, as it may be stripped off by a middlebox or even by the sending nameserver (eg. due to packet size constraints). For this reason it is not possible to guarantee the presence of the SVCB records even when the signal is explicitly queried for.

This is usually a major issue and the primary reason that data in the Additional section is actively ignored by resolvers. In this particular case, though, even an untrusted transport signal is better than no signal at all. Furthermore, the only effect of a forged or otherwise incorrect transport signal is a, typically failed, connection attempt to an authoritative nameserver that does not support the advertised transport. This will cause immediate fallback to "Do53", i.e. traditional DNS over UDP/TCP and the non-availability of the advertised transport will be remembered by the resolver (for some suitable time).

Hence, using the Additional section for request mode of OOTS has vastly more benefits than drawbacks.

Appendix C. Implementation considerations

C.1. Authoritative Probe mode methodologies

C.1.1. Multiple Server Identities

An authoritative nameserver may be known by multiple FQDNs (e.g., ns1.example.com, dns.customer.org, ns.cdnprovider.net). To facilitate methodology 1 ("Self-Identification"), authoritative server implementations can include a configuration mechanism (e.g., an identities list) where operators can list all FQDNs by which the server is known. This allows the server to correctly identify itself regardless of the specific name used in the NS RRset.

C.1.2. Methodology 1

An authoritative nameserver SHOULD include SVCB records in the Additional section and all of the following conditions are met:

  1. Presence of the OOTS Option: The query includes an EDNS(0) OOTS option from the resolver.

  2. NS RRset Presence: An NS Resource Record Set (RRset) for the queried zone is present in either the Answer section or the Authority section of the DNS response.

  3. Self-Identification: The responding authoritative nameserver's own Fully Qualified Domain Name (FQDN) (or one of its configured aliases/identities) is found within the NS RRset mentioned in condition 1.

  4. Transport Capability: The responding authoritative nameserver supports one or more alternative transport protocols (e.g., DoT, DoH, DoQ) and is configured to advertise these capabilities.

  5. Availability of RRSIG SVCB: If the zone in which the nameserver name is located is signed, only include the SVCB record if it is possible to also include the corresponding RRSIG SVCB. If the zone with the nameserver name is unsigned, then include the SVCB even without the RRSIG.

TODO: Discuss - the requirement for the SVCB record to be included only if it is DNSSEC-signed has the consequence that the DTS transport signal cannot be present for an unsigned zone using vanity names in the zone for its nameservers.

C.1.3. Methodology 2

TODO: Refine the NSD example to be included here.

Authors' Addresses

Johan Stenstam
The Swedish Internet Foundation
Sweden
Leon Fernandez
The Swedish Internet Foundation
Sweden
Erik Bergström
The Swedish Internet Foundation
Sweden
Philip Homberg
NLnet Labs
Netherlands
Sara Dickinson
Sinodun IT
United Kingdom