This illustration uses a series of bars to represent and explain the various fields in a DNS message. These bars are labeled according to what they contain, and are stacked one on top of the other. From top to bottom, we see:

The header section, denoted as comprising 12 bytes.

Identification Flags
Number of questions Number of answer RRs
Number of authority RRs Number of additional RRs

The question section, denoted as containing "Name, type fields for a query."

Questions
(variable number of questions)

The answer section, denoted as containing "RRs in response to query."

Answers
(variable number of resource records)

The authority section, denoted as containing "Records for authoritative servers."

Authority
(variable number of resource records)

The additional section, denoted as containing "Additional 'helpful' info that may be used."

Additional information
(variable number of resource records)