SV_RFC1034_4_3_1_NoRecursive - The name server implement non-recursive queries.
Verify that a NUT returns the response contains an error, the answer, or a referral to some other server 'closer' to the answer when server can answer queries using only local information.
Authoritative Server (No-recursive)
SV_RFC1034_4_3_1_NoRecursive.seq [-tooloption ...]: KOI tool option See also DNSConfig.pm
. domain AP Server1 (TN) DNS Server2 |A.example.com | |A.example.org |A.ROOT.NET |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 | | 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 ; A IN A 192.168.1.10
This test sequence is following.
DNS Client1 (TN) DNS Server1 (NUT) | | |----------------------------->| | 1. Send standard query | | QNAME=A.example.com | | QTYPE=A | | | |<-----------------------------| | 2. Standard query response | | RA = 0 | | QNAME=A.example.com | | QTYPE=A | | ANSWER Name | | = A.example.com | | ANSWER Address | | = 192.168.1.10 | | AUTHORITY Name | | = example.com | | AUTHORITY Name Server | | = NS1.example.com | | ADDITIONAL Name | | = NS1.example.com | | ADDITIONAL Address | | = 192.168.0.10 | | | |----------------------------->| | 3. Send standard query | | QNAME = A.example.org | | QTYPE = A | | | |<-----------------------------| | 4. Standard query response | | | | RA = 0 | | RCODE = 0 | | QNAME = A.example.org | | QTYPE = A | | AUTHORITY Name | | = <ROOT> | | AUTHORITY Name Server | | = A.ROOT.NET | | | | or | | | | RA = 0 | | RCODE = 3 | | QNAME = A.example.org | | QTYPE = A | | | v v
This test sequence is following.
1. DNS Client1 (TN) sends standard query QNAME=A.example.com, QTYPE=A to NUT. 2. DNS Server1 (NUT) transmits standard query response to DNS Client1 (TN). (Judgment *2) 3. DNS Client1 (TN) sends standard query QNAME=A.example.org, QTYPE=A to DNS Server1 (NUT). 4. DNS Server1 (NUT) transmits standard query response to DNS Client1 (TN) with AUTHORITY Name=<ROOT>, AUTHORITY Name server A.ROOT.NET. or DNS Server1 (NUT) returns the response contains an error, the answer to DNS Client1 (TN). (Judgment *4)
|
||
IP Header | Source Address | CL1_NETZ |
Destination Address | NUT_NETZ | |
UDP Header | Src Port | 1000 |
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.com |
QTYPE | A (0x0001) | |
QCLASS | IN (0x0001) |
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | CL1_NETZ | |
UDP Header | Src Port | 53 |
Dst Port | 1000 | |
DNS Header | ID | 0x1000 |
QR | 1 | |
OPCODE | 0 | |
AA | 1 | |
TC | 0 | |
RD | 1 | |
RA | 0 | |
Z | ANY | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 1 | |
NSCOUNT | 1 | |
ARCOUNT | 1 | |
DNS Question section | QNAME | A.example.com |
QTYPE | A (0x0001) | |
QCLASS | IN (0x0001) | |
DNS Answer section | NAME | A.example.com (Pointer 0xC00C) |
TYPE | A (0x0001) | |
CLASS | IN (0x0001) | |
TTL | 1 day (86400) | |
RDLENGTH | 4 | |
ADDRESS | 192.168.1.10 | |
DNS Authority section | NAME | example.com (Pointer 0xC00E) |
TYPE | NS (0x0002) | |
CLASS | IN (0x0001) | |
TTL | 1 day (86400) | |
RDLENGTH | 6 | |
NSDNAME | NS1.example.com (NS1 + Pointer 0xC00E) | |
DNS Additional section | NAME | NS1.example.com (Pointer 0xC03B) |
TYPE |
A (0x0001) | |
CLASS | IN (0x0001) | |
TTL | 1 day (86400) | |
RDLENGTH | 4 | |
ADDRESS | 192.168.0.10 |
|
||
IP Header | Source Address | CL1_NETZ |
Destination Address | NUT_NETZ | |
UDP Header | Src Port | 2000 |
Dst Port | 53 | |
DNS Header | ID | 0x2000 |
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 | CL1_NETZ | |
UDP Header | Src Port | 53 |
Dst Port | 2000 | |
DNS Header | ID | 0x2000 |
QR | 1 | |
OPCODE | 0 | |
AA | 0 | |
TC | 0 | |
RD | 1 | |
RA | 0 | |
Z | ANY | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 0 | |
NSCOUNT | 1 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | A.example.org |
QTYPE | A (0x0001) | |
QCLASS | IN (0x0001) | |
DNS Authority section | NAME | . |
TYPE | NS (0x0002) | |
CLASS | IN (0x0001) | |
TTL | 3600000 sec | |
RDLENGTH | 12 | |
NSDNAME | A.ROOT.NET |
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | CL1_NETZ | |
UDP Header | Src Port | 53 |
Dst Port | 2000 | |
DNS Header | ID | 0x2000 |
QR | 1 | |
OPCODE | 0 | |
AA | 0 | |
TC | 0 | |
RD | 1 | |
RA | 0 | |
Z | ANY | |
RCODE | 3 | |
QDCOUNT | 1 | |
ANCOUNT | 0 | |
NSCOUNT | 0 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | A.example.org |
QTYPE | A (0x0001) | |
QCLASS | IN (0x0001) |
NUT_NETZ | DNS Server1's (NUT) Net-z address |
CL1_NETZ | DNS Client1's (TN) Net-z address |
2. Received standard query response with Recursion Available (RA) bit is set 4. Received standard query response containing a referral to other server 'closer' or Received standard query response containing a error (RCODE=3).
None
RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES 4. NAME SERVERS 4.3.1. Queries and responses