50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
|
EDNS
|
||
|
====
|
||
|
Extension Mechanisms for DNS
|
||
|
|
||
|
This document will give some hints to litterature about edns
|
||
|
and how it's done in this project.
|
||
|
|
||
|
* https://tools.ietf.org/html/rfc6891
|
||
|
* https://en.wikipedia.org/wiki/Extension_mechanisms_for_DNS
|
||
|
|
||
|
|
||
|
|
||
|
OPT RR, 41/0x29
|
||
|
---------------
|
||
|
OPT RR MAY be placed anywhere in the additional data section,
|
||
|
it MUST be the only OPT RR in that message.
|
||
|
|
||
|
###Wireformat
|
||
|
Wireformat is described in section 6.1.2 of RFC6891
|
||
|
|
||
|
Fixed part
|
||
|
```
|
||
|
+------------+--------------+------------------------------+
|
||
|
| 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 |
|
||
|
+------------+--------------+------------------------------+
|
||
|
```
|
||
|
|
||
|
Varable part
|
||
|
```
|
||
|
+0 (MSB) +1 (LSB)
|
||
|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
|
0: | OPTION-CODE |
|
||
|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
|
2: | OPTION-LENGTH |
|
||
|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
|
4: | |
|
||
|
/ OPTION-DATA /
|
||
|
/ /
|
||
|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
|
```
|
||
|
|
||
|
|