Visual RFC.
ALL RFCs / RFC 9471
Read the RFC ↗
RFC 9471 / DNS REFERRAL GLUE

Distinguish sibling glue and its optional truncation

03

Glue type is relative to the delegated child selected by the question, not a permanent label on an address.

RFC 9471 · § 3.2EXAMPLE
4 / 4
Distinguish sibling glue and its optional truncationIn a separate noncyclic arrangement, a follow-on query for the bar.test delegation returns its own available in-domain glue for ns1.bar.test. The resolver can then use that address for the foo.test lookup. The closed sibling cycle is a different case.Sibling glue has a different TC choiceResolvertest parentFind the bar.test delegationIts in-domain glue gives ns1.bar addressfoo server: ns1.barContinue the foo.test lookupSeparate noncyclic example · an address path existsRFC 9471 · chapter 3 · state 4 · fictional DNS example
04
Use a noncyclic sibling path

In this separate noncyclic example, following the bar.test referral supplies its own available in-domain address glue for ns1.bar.test. The resolver can then use that address for the foo.test lookup; this is not a promise about every sibling arrangement.

Source for this drawing: RFC 9471 · Read RFC section 3.2 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

A sibling name server lies inside a different zone delegated from the same parent. For a foo.test referral, ns1.bar.test. is sibling glue when bar.test is also delegated from test. For a bar.test referral, that same name is in-domain (§§2,2.2). The helper uses whole labels and explicit parent delegation cuts, not a raw text suffix.

  • A sibling name server lies inside a different zone delegated from the same parent. For a foo.test referral, ns1.bar.test. is sibling glue when bar.test is also delegated from test. For a bar.test referral, that same name is in-domain (§§2,2.2). The helper uses whole labels and explicit parent delegation cuts, not a raw text suffix.
  • A server SHOULD include all available sibling-domain glue. After adding glue for all in-domain name servers, if all sibling glue cannot fit, the server MAY set TC=1 but is not obligated to do so (§3.2). This MAY must not weaken the separate MUST when in-domain glue cannot fit.
  • In the selected packing policy, in-domain blocks are considered before sibling blocks and each supplied block stays whole. The policy is an illustration, not a mandated DNS record ordering or an optimal compression algorithm. A remaining budget of 80 fits in-domain 28+40 but not a sibling 28 block.
  • When only sibling glue is omitted for space, both TC=0 and TC=1 can satisfy the stated sibling truncation choice. TC=0 therefore does not prove that every sibling address was included. Conversely, available sibling glue is recommended, not arbitrarily declared useless (§3.2).
  • An ordinary sibling referral can allow follow-on address queries through the sibling’s delegation (§2.2). The next chapter separately examines the cyclic case. Names directly covered by parent authoritative data and names outside these delegated zones are not reclassified as sibling glue merely because they share a text ending.
DETAILS

Fictional DNS examples use documentation names and addresses. Record blocks and remaining budgets are schematic supplied costs, not a DNS wire encoder or a complete resolver.

Read the RFC section ↗

All chapters in RFC 9471

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗