ietf-corpus

rfc-9471

DNS Glue Requirements in Referral Responses

M. Andrews, S. Huque, P. Wouters, D. Wessels
date2023-09 streamIETF areaops wgdnsop statusPROPOSED STANDARD pages9 canonicalhttps://www.rfc-editor.org/rfc/rfc9471 doi10.17487/RFC9471
The DNS uses glue records to allow iterative clients to find the addresses of name servers that are contained within a delegated zone. Authoritative servers are expected to return all available glue records for in-domain name servers in a referral response. If message size constraints prevent the inclusion of all glue records for in-domain name servers, the server must set the TC (Truncated) flag to inform the client that the response is incomplete and that the client should use another transport to retrieve the full response. This document updates RFC 1034 to clarify correct server behavior.

updates

Extracted elements (15)

design-rationale §1

In-domain glue records are not optional additional data; they are required for resolution. This is in contrast to other additional-section data which may be omitted freely. The document clarifies that the TC flag must be set rather than silently truncating required glue.

dns

design-rationale §2.3

Sibling domain glue is treated as optional (SHOULD rather than MUST) because resolvers can make follow-on queries to resolve sibling name server addresses. The exception is cyclic sibling dependencies, which cannot be resolved without glue; however, such delegations are rare (222 out of ~209,000,000 total in a 2021 analysis).

dns

design-rationale §1

This document only clarifies requirements for name server software implementations and does not introduce requirements for data placed in DNS zones or registries. The presence of glue in a zone is out of scope; only the behavior when glue is available is addressed.

dns

interoperability-note §5

At the time of writing, most DNS server implementations set TC only if none of the available glue records fit in a UDP response. The updated requirements may increase the fraction of UDP responses with TC=1 and consequently increase TCP query volume.

dns

interoperability-note §2.4

Real-world examples of missing glue with TC=0 have been observed and confirmed to cause resolution failures. An example from June 2020 shows a DNSSEC-signed referral where no glue fit in the UDP response but TC was not set.

dns

interoperability-note §3.1

UDP responses are generally limited to between 1232 and 4096 bytes due to values commonly used for the EDNS0 UDP Message Size field (RFC 6891); TCP responses are limited to 65,535 bytes.

dns

normative-requirement §3.2 MAY

If, after adding glue for all in-domain name servers, glue for sibling domain name servers does not fit due to message size constraints, the name server MAY set TC=1 but is not obligated to do so.

dns

normative-requirement §1 SHOULD

Upon receiving a response with TC flag set, the client SHOULD use another transport (e.g., TCP) to retrieve the full response.

dns

normative-requirement §3.2 SHOULD

When a name server generates a referral response, it SHOULD include all available glue records (including sibling domain name servers) in the additional section.

dns

protocol-element §2.3

Cyclic sibling domain name servers occur when two sibling zones each reference the other's name servers. Cyclic dependencies can only be resolved when the delegating name server includes glue for the sibling domain in the referral response.

dns

protocol-element §1

Glue records are A or AAAA address records for delegation name servers placed in the additional section of a referral response. At the time of writing, addresses (A or AAAA records) for a delegation's authoritative name servers are the only type of glue defined for the DNS.

dns

protocol-element §2.1

In-domain name servers are NS records whose names fall below the delegation point (within the delegated zone itself). Their glue records are not optional in referral responses.

dns

protocol-element §3.3

RFC 1034 step 3.b is updated to require that if all glue RRs for in-domain name servers do not fit in the referral response, TC=1 must be set in the header before proceeding to step 4.

dns

protocol-element §2.2

Sibling domain name servers are NS records not in the delegated zone but in another zone delegated from the same parent. Glue for sibling name servers is generally optional but provided as an optimization.

dns

security-consideration §4

This document clarifies correct DNS server behavior and does not introduce any changes or new security considerations.

dns, security