Funzionamento Domain Name System
Messaggi DNS
I messaggi DNS possono essere di due tipi query (richiesta) e reply (risposta), i
l formato dei messaggi DNS è lo stesso per i due tipi ed è composto da un header
e da quattro sezioni:
- question
- answer
- authority
- additional
L’header dei messaggi DNS è composto da 16 bit (2 byte) con il seguente significato
QR
(1 bit) tipo di messaggio: query (QR=0
) o reply (QR=1
)OPCODE
(4 bit) tipo di operazione: query (OPCODE=0
), inverse query (inverse query, OPCODE=1
), or status (server status request, OPCODE=2
)AA
(1 bit) indica se il DNS server è autoritativo per il nome richiestoTC
(1 bit) TrunCationRD
(1 bit) Recursion DesiredRA
(1 bit) Recursion AvailableZ
(3 bit) riservato ad usi futuri (Z=0
)RCODE
(4 bit) codice di risposta: no error (RCODE=0
), format error (RCODE=1
), server fail (RCODE=2
), nonexistent domain (RCODE=3
)
Body DNS
Come detto sopra il corpo del messaggio DNS è composto di quattro parti, la prima
(question) ha un formato diverso dalle altre tre.
DNS Question
Un messaggio DND di tipo question contiene uno (o più di uno,in casi rari) resource
record con tre campi:
NAME
(dimensione variabile): nome della richiestaTYPE
(2 byte): tipo di RR
CLASS
(2 byte): classe (solitamente IN
per IN
ternet)
DNS Record
Le parti del messaggio DNS answer, authority e additional sono composte di
resource record RR
, ogni record ha tre campi:
NAME
(dimensione variabile): nome della richiestaTYPE
(2 byte): tipo di RR
CLASS
(2 byte): classe (solitamente IN
per IN
ternet)TTL
(4 byte): Time To Live in secondi del RR
RDLENGTH
(2 byte): linghezza del campo RDATA
RDATA
(dimensione RDLENGTH
byte): altre informazioni sul record