RFC 1035 / START HERE
DNS wire, before the details
DNS messages and records
DNS means Domain Name System. This companion to RFC 1034 describes the records and message formats that DNS software exchanges.
The idea in one picture
A resolver encodes a question
A DNS server returns records
The resolver interprets the answer
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
A naming system needs precise wire formats as well as high-level concepts so independently written resolvers and servers can communicate.
A familiar example
A resolver sends a question for a domain's address and reads the records in the server's response.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Read a DNS message envelopeA DNS header carries transaction and control fields plus counts for four following sections.→
- Encode labels and recordsDNS names use length-prefixed labels ending with the zero-length root label.→
- Compress a repeated name suffixA pointer can replace a previously occurring name or suffix within the same DNS message.→
- Switch transport when a response is truncatedOriginal DNS uses UDP and TCP on server port 53. TCP messages have a two-octet length prefix.→
- Load an authoritative zone fileMaster files express records with origins, TTLs, classes, types, and data.→
This introduction explains RFC 1035 (1987). Read the original RFC ↗