Apply the request and response rules
04A padded request, an EDNS-only request and a request without EDNS impose different response rules.
Only three bytes remain. The exception permits no Padding option; it does not erase the query’s capability or force another wire error.
Source for this drawing: RFC 7830 · Read RFC section 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.
Response padding depends on request capabilities, encryption and space, not echoing the request’s padding length.
- These cases assume encrypted transport throughout; otherwise the security rule forbids Padding. When the query included Padding, responders MUST pad the response unless doing so would violate the maximum UDP payload size. A query option with zero data bytes still counts as included. The responder chooses its own padding amount rather than echoing the query’s length (§§3–4,6).
- When the query indicated EDNS(0) support but did not include Padding, responders MAY pad the response. This is permission, not a requirement to insert padding into every EDNS exchange, and all encryption and size conditions still apply (§4).
- When the query did not indicate EDNS(0) support, responders MUST NOT pad the response (§4). The diagram stops the padding branch; it does not say that the responder cannot return an ordinary answer.
- When a query included Padding but fewer than four octets remain in the effective payload budget, the mandatory-response rule’s size exception applies. Zero data length cannot make its four-byte header disappear. A selected block target exceeding the budget is a different case: a smaller amount may still fit. The helper distinguishes no-room from policy-target failure (§4; RFC 8467 Appendix A.1).
- The helper returns required/optional/forbidden/size-exception classifications for selected valid request inputs. It does not send DNS packets, implement all DNS errors or decide the rest of a response’s EDNS content. The request’s advertised size is not cached as a permanent peer capability (RFC 6891 §6.2.3).
Fictional offline DNS messages, local bounded parsing and chosen padding policies. Length figures describe DNS messages before transport overhead. No DNS traffic, encryption, anonymity measurement or production protocol stack is implemented.
Read the RFC section ↗