Passa al contenuto principale

6.1.2. Wire Format (Formato wire)

6.1.2. Wire Format (Formato wire)

Un RR OPT ha una parte fissa e un insieme variabile di opzioni espresse come coppie {attributo, valore}. La parte fissa contiene alcuni metadati DNS, nonché una piccola raccolta di elementi di estensione di base che prevediamo siano così popolari che sarebbe uno spreco di spazio wire codificarli come coppie {attributo, valore}.

La parte fissa di un RR OPT è strutturata come segue:

    +------------+--------------+------------------------------+
| Field Name | Field Type | Description |
+------------+--------------+------------------------------+
| NAME | domain name | MUST be 0 (root domain) |
| TYPE | u_int16_t | OPT (41) |
| CLASS | u_int16_t | requestor's UDP payload size |
| TTL | u_int32_t | extended RCODE and flags |
| RDLEN | u_int16_t | length of all RDATA |
| RDATA | octet stream | {attribute,value} pairs |
+------------+--------------+------------------------------+

La parte variabile di un RR OPT può contenere zero o più opzioni negli RDATA. Ogni opzione DEVE essere trattata come un campo di bit. Ogni opzione è codificata come:

                +0 (MSB)                            +1 (LSB)
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: | OPTION-CODE |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: | OPTION-LENGTH |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4: | |
/ OPTION-DATA /
/ /
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

OPTION-CODE : Assegnato dal processo di revisione degli esperti come definito dal gruppo di lavoro DNSEXT e dall'IESG.

OPTION-LENGTH : Dimensione (in ottetti) di OPTION-DATA.

OPTION-DATA : Varia per OPTION-CODE. DEVE essere trattato come un campo di bit.

L'ordine di apparizione delle tuple di opzioni non è definito. Se un'opzione modifica il comportamento di un'altra o più opzioni sono correlate tra loro in qualche modo, hanno lo stesso effetto indipendentemente dall'ordine nella codifica wire RDATA.

Qualsiasi valore OPTION-CODE non compreso da un risponditore o richiedente DEVE essere ignorato. Le specifiche di tali opzioni potrebbero voler includere una sorta di riconoscimento segnalato. Ad esempio, una specifica di opzione potrebbe dire che se un risponditore vede e supporta l'opzione XYZ, DEVE includere l'opzione XYZ nella sua risposta.