CL_RFC2671_4_3_OPT_format - Check OPT RR format
Verify that a NUT transmits correct OPT pseudo-RR format
1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | / / / NAME(root) / | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | TYPE(OPT) | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | CLASS(UDP payload size) | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -- | EXTENDED-RCODE | VERSION | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ TTL | Z | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -- | RDLENGTH(describes RDATA) | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--| / RDATA / / ({attribute,value} pairs) / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
NAME(root) : root domain (0x00) TYPE(OPT) : EDNS0 option(0x0029) CLASS(UDP payload size) : any EXTENDED-RCODE : 0x00 VERSION : 0x00 Z : 0x0000 RDLENGTH(describes RDATA) : 0x0 RDATA({attribute,value} pairs) : empty
Client
CL_RFC2671_4_3_OPT_format.seq [-tooloption ...]: KOI tool option See also DNSConfig.pm
AP Server1(TN):A.example.com DNS Server1(TN) |3ffe:501:ffff:101::10 |3ffe:501:ffff:101::20 |192.168.1.10 |192.168.1.20 | | Net-y --+--------+-----------------------+-------- 3ffe:501:ffff:101::/64 | 192.168.1/24 | | ROUTER1(TN) |3ffe:501:ffff:100::1 |192.168.0.1 | Net-z --+--------+-------------------------------- 3ffe:501:ffff:100::/64 | 192.168.0/24 DNS Client1(NUT) 3ffe:501:ffff:100:XXXX 192.168.0.10
XXXX: EUI64 address
Set the DNS Server1(TN)'s address on NUT as above mentioned Network Topology.
In order to send the query for A type of AP Server1(TN):A.example.com to the DNS Server1(TN) with OPT RR(1024 bytes), NUT is configured.
This test sequence is following.
DNS Client1 (NUT) DNS Server1 (TN) | | |--------------------------------------------->| | 1. Send standard query | | | v v
1. NUT send standard query with OPT RR to TN. Judgment (Check *1)
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | SV_NETY | |
UDP Header | Src Port | any |
Dst Port | 53 | |
DNS Header | ID | any |
QR | 0 | |
OPCODE | 0 | |
AA | any | |
TC | 0 | |
RD | any | |
RA | any | |
Z | any | |
RCODE | any | |
QDCOUNT | 1 | |
ANCOUNT | 1 | |
NSCOUNT | 0 | |
ARCOUNT | any | |
DNS Question section | QNAME | A.example.com |
QTYPE | A (0x0001) | |
QCLASS | any | |
DNS Additional section | NAME(root) | empty (root domain 0x00) |
TYPE(OPT) | EDNS0 option(0x0029) | |
CLASS(UDP payload size) | any | |
TTL(EXTENDED-RCODE) | 0x00 | |
TTL(VERSION) | 0x00 | |
TTL(Z) | 0x0000 | |
RDLENGTH (describes RDATA) | 0x0 | |
RDATA {attribute,value} pairs | empty |
1. Standard query for A type with OPT RR must be based on above Verification Points.
If NUT has cache function, clear the cache.
RFC2671 Extension Mechanisms for DNS (EDNS0) 4 - OPT pseudo-RR