Visual RFC.
ALL RFCs / RFC 7858
Read the RFC ↗
RFC 7858 / PROTOCOL MECHANISMS

Frame DNS messages inside the stream

03

DoT uses the two-octet DNS-over-TCP length prefix inside TLS.

Related RFCs and changes

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

DIAGRAM§ 3.3 ↗
RFC 7858 · § 3.3EXAMPLE
3 / 3
Frame DNS messages inside the streamDoT uses the two-octet DNS-over-TCP length prefix inside TLS.DNS FRAMING INSIDE THE TLS STREAM2 bytesDNS message bytesTLS record ATLS record Bread declared lengthone complete DNS messageTLS-record boundaries need not equal DNS-message boundaries
03
The receiver reads the length, then that complete DNS message.

The receiver reads the length, then that complete DNS message.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

TLS records and DNS message boundaries need not coincide.

  • TLS records and DNS message boundaries need not coincide.
  • Clients and servers should support pipelining and match responses using the DNS rules.
DETAILS

The drawing is a simplified worked example. Follow the linked RFC and its updates for implementation requirements.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Open a dedicated TLS transport
  2. Authenticate the intended resolver
  3. Frame DNS messages inside the stream
  4. Reuse a connection for multiple queries
  5. Distinguish transport privacy from DNS data trust
RFC 9700 / CHAPTERS

Chapters

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

RFC status and corrections ↗