1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID | Intestazione +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z | RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| | Domande / QNAME /
/ / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QTYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QCLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| | Risposta: RR / / RR assoluti / NAME / RR addizionali | |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| CLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TTL | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| RDLENGTH | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
/ RDATA / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
ID: identificativo QR: domanda o risposta
Opcode: tipo di query (0=standard, 1=inverso; 2=server status) AA: risposta assoluta (booleano)
TC: truncation. Messaggio spezzato causa lunghezza > canale trasmissione RD: recursion desired (query)
RA: recursion available (risposta)
RCODE: risposta (0=nessun errore; 1=errore formato query; 2=fallimento server;
3=errore nel nome, assoluto; 4=non sopportato dal server; 5=rifiutato9) QDCOUNT: numero voci nella sezione query
ANCOUNT: numero RR nella sezione risposta NSCOUNT: numero RR assoluti
ARCOUNT: numero RR addizionali QNAME: nome di dominio
QTYPE: tipo di query (oltre quelli noti dei tipi di RR):
AXFR: richiesta per trasferimento di un’intera zona
*: richiesta per tutti i record QCLASS: classe della query (IN)
UDP per risposte a resolver
TCP per zone-transfer