Respect optional replies and size limits
05Requesting NSID does not guarantee an identifier. Its optional response data also consumes part of the message size budget.
Example: 504 + 4 + 5 = 513 exceeds budget 512. This server omits optional NSID and keeps its 504-byte response; ordinary DNS truncation rules stay unchanged.
Source for this drawing: RFC 5001 · Read RFC section 3.4 ↗
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.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
An understanding server chooses whether to honor each NSID request. It MUST NOT return unsolicited NSID; omission is not proof of a failed DNS lookup or a particular backend identity (RFC5001 §2.2).
- An understanding server chooses whether to honor each NSID request. It MUST NOT return unsolicited NSID; omission is not proof of a failed DNS lookup or a particular backend identity (RFC5001 §2.2).
- NSID never requires a server to truncate a response. DNS truncation rules are unchanged. The EDNS UDP payload-size advertisement can help make truncation unlikely; it does not guarantee delivery.
- Illustrative choice: a504-byte response already including OPT has a512-byte budget. NSID with four payload bytes adds4+4=8bytes and fits; five adds9 and exceeds it. The example server omits optional NSID rather than forcing truncation. This is a512-byte example, consistent with RFC6891 §6.2.3: advertised values below512 are treated as512.
- The arithmetic is a bounded budget illustration, not a complete DNS serializer, transport PMTU calculation or truncation implementation.
Fictional identifiers and documentation addresses. NSID is an optional, opaque, hop-by-hop debugging signal, not authentication or a DNS transaction ID. Diagrams are schematic; the byte model is not a complete DNS implementation.
Read the RFC section ↗