CL_RFC2671_4_3_OPT_format - Check OPT RR format
Verify that a NUT transmits correct OPT pseudo-RR format
- 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
Setup
Set the DNS Server1(TN)'s address on NUT as above mentioned Network Topology.
Pre-Sequence
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)
Packet Description
|
1. Standard query from DNS Client1 (NUT) to DNS Server1 (TN)
|
| 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 |
NUT_NETZ : DNS Client1(NUT)'s address
SV_NETY : DNS Server1(TN)'s address
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