CL_RFC2782_SRV_NXDOMAIN - NXDOMAIN
Verify that a NUT handles the reply which isn't NOERROR, ANCOUNT>0
- When the reply isn't NOERROR, ANCOUNT>0 or there isn't at least one
- SRV RR which specifies the requested Service and Protocol in the reply,
- client do a lookup for QNAME=target, QCLASS=IN, QTYPE=A
Client
CL_RFC2782_SRV_NXDOMAIN.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 SRV type(IN class) of _http._tcp.example.com. to the DNS Server1(TN),
NUT start TCP communication (SYN) to _http._tcp.example.com.
This test sequence is following.
DNS Client1 (NUT) DNS Server1 (TN) AP Server1 (TN)
| | |
|--------------------------------------------->| |
| 1. Send standard query | |
| QNAME=_http._tcp.example.com. | |
| QTYPE=SRV | |
| | |
|<---------------------------------------------| |
| 2. Standard query response | |
| RDCODE=3 | |
| QNAME=_http._tcp.example.com. | |
| QTYPE=SRV | |
| | |
|--------------------------------------------->| |
| 3. Send standard query | |
| QNAME=example.com. | |
| QTYPE=A | |
| | |
v v v
1. NUT send standard query to DNS Server1(TN).
Judgment (Check *1)
2. TN send standard query response to NUT.
3. NUT send standard query to DNS Server1(TN).
Judgment (Check *3)
- Packet Description
1st Packet
|
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
|
0
|
NSCOUNT
|
0
|
ARCOUNT
|
any
|
DNS Question section
|
QNAME |
_http._tcp.example.com. |
QTYPE
|
SRV (0x0031)
|
QCLASS
|
IN (0x0001)
|
2nd packet.
|
2. Standard query response from DNS Server1 (TN) to Client1 (NUT)
|
| IP Header |
Source Address |
SV_NETY |
| Destination Address |
NUT_NETZ |
| UDP Header |
Src Port |
53 |
| Dst Port |
Same as 1st Packet's Src Port |
| DNS Header |
ID |
Same as 1st Packet's ID |
| QR |
1 |
| OPCODE |
0 |
| AA |
1 |
| TC |
0 |
| RD |
Same as 1st Packet's RD |
| RA |
0 |
| Z |
0 |
| RCODE |
3 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
0 |
| DNS Question section |
QNAME |
_http._tcp.example.com. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
3rd Packet
|
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
|
0
|
NSCOUNT
|
0
|
ARCOUNT
|
any
|
DNS Question section
|
QNAME |
example.com. |
QTYPE
|
A (0x0001)
|
QCLASS
|
IN (0x0001)
|
Exp.
| NUT_NETZ |
DNS Client1's (NUT) Net-z address |
| SV_NETY |
DNS Server1's (TN) Net-y address |
1. Received standard query QTYPE=SRV QNAME=_http._tcp.example.com. from NUT.
3. Received standard query QTYPE=A QNAME=example.com. from NUT.
If NUT has cache function, clear the cache.
RFC1035 DOMAIN NAMES - CONCEPTS AND FACILITIES
5.2.1. Typical functions RFC2782 DNS SRV RR