SV_RFC1034_3_7_Opcode_Standard - Opcode(standard query)
Verify that a NUT transmits correct Opcode in standard query
1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ID | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ |QR| Opcode |AA|TC|RD|RA| Z | RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | QDCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ANCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | NSCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ARCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+Opcode : a standard query(QUERY) (0)
Caching Server
SV_RFC1034_3_7_Opcode_Standard.seq [-tooloption ...]: KOI tool option See also DNSConfig.pm
. domain org domain example.org domain
AP Server1 (TN) DNS Server2 DNS Server3 DNS Server4
|A.example.org |A.ROOT.NET |NS3.example.org |NS4.example.org
|3ffe:501:ffff:101::10 |3ffe:501:ffff:101::20 |3ffe:501:ffff:101::30 |3ffe:501:ffff:101::40
|192.168.1.10 |192.168.1.20 |192.168.1.30 |192.168.1.40
| | | |
Net-y --+--------+---------------+------------------------+------------------------+-- 3ffe:501:ffff:101::/64
| 192.168.1/24
|
|
Router (TN)
|3ffe:501:ffff:100::1
|192.168.0.1
|
|
Net-z --+--------+-----------------+-------- 3ffe:501:ffff:100::/64
| | 192.168.0/24
| |
DNS Server1 (NUT) DNS Client1 (TN)
3ffe:501:ffff:100::XXXX 3ffe:501:ffff:100::20
192.168.0.10 192.168.0.20
XXXX: EUI64
. 3600000 IN NS A.ROOT.NET. A.ROOT.NET. 3600000 A 192.168.1.20
. 3600000 IN NS A.ROOT.NET. A.ROOT.NET. 3600000 AAAA 3ffe:501:ffff:101::20
$TTL 86400 ; TTL of 1 day @ IN SOA NS1.example.com. root.example.com. ( 2005081600 ; serial 3600 ; refresh every 1 hr 900 ; retry every 15 min 604800 ; expire after a week 3600 ; Minimum TTL of a 1 hr ) ; IN NS NS1.example.com. NS1 IN A 192.168.0.10 ;
This test sequence is following.
Client1 (TN) DNS Server1 (NUT) DNS Server2 (TN)
| | |
|----------------------------->| |
| 1. Send standard query | |
| QNAME=A.example.org | |
| QTYPE=A | |
| | |
| |-------------------------------->|
| | 2. Send standard query |
| | QNAME=A.example.org |
| | QTYPE=A |
| | |
v v v
1. TN send standard query QNAME=A.example.org, QTYPE=A to NUT.
2. NUT transmits standard query to DNS Server2 (TN: root name server) (Judgment *2)
|
|
||
| IP Header | Source Address | CL1_NETZ |
| Destination Address | NUT_NETZ | |
| UDP Header | Src Port | 2000 |
| Dst Port | 53 | |
| DNS Header | ID | 0x1000 |
| QR | 0 | |
| OPCODE | 0 | |
| AA | 0 | |
| TC | 0 | |
| RD | 1 | |
| RA | 0 | |
| Z | 0 | |
| RCODE | 0 | |
| QDCOUNT | 1 | |
| ANCOUNT | 0 | |
| NSCOUNT | 0 | |
| ARCOUNT | 0 | |
| DNS Question section | QNAME | A.example.org |
| QTYPE | A (0x0001) | |
| QCLASS | IN (0x0001) | |
|
|
||
| IP Header | Source Address | NUT_NETZ |
| Destination Address | SV2_NETY | |
| UDP Header | Src Port | any |
| Dst Port | 53 | |
| DNS Header | ID | any |
| QR | any | |
| OPCODE | 0 | |
| AA | any | |
| TC | any | |
| RD | any | |
| RA | any | |
| Z | any | |
| RCODE | any | |
| QDCOUNT | 1 | |
| ANCOUNT | 0 | |
| NSCOUNT | 0 | |
| ARCOUNT | any | |
| DNS Question section | QNAME | any |
| QTYPE | any | |
| QCLASS | any | |
| NUT_NETZ | DNS Server1's (NUT) Net-z address |
| CL1_NETZ | DNS Client1's (TN) Net-z address |
| SV2_NETY | DNS Server2's (TN) Net-y address |
2. Standard query must be based on above Verification Points.
None
RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES
3.7. Queries
RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
4.1.1. Header section format