CL_RFC1034_5_3_3_sending_query - Sending query to servers
Verify that a NUT transmits standard query to multiple servers.
- Send out queries until a response is received. The strategy is
- to cycle around all of the addresses for all of the servers with a
- timeout between each transmission.Searches the cache for the desired data.
- The client should try other servers and server addresses
- before repeating a query to a specific address of a server.
- At a minimum, the stub resolver MUST be capable of
- directing its requests to redundant recursive name servers.
Client
CL_RFC1034_5_3_3_sending_query.seq [-tooloption ...]: KOI tool option
See also DNSConfig.pm
AP Server1(TN):A.example.com DNS Server1(TN) DNS Server2(TN)
|3ffe:501:ffff:101::10 |3ffe:501:ffff:101::20 |3ffe:501:ffff:101::30
|192.168.1.10 |192.168.1.20 |192.168.1.30
| | |
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) and DNS Server2's address on NUT as above mentioned Network Topology.
Pre-Sequence
In order to send the query for A type(IN class) of AP Server1(TN):A.example.com to the DNS Server1(TN),
NUT is configured.
This test sequence is following.
DNS Client1 (NUT) DNS Server1 (TN) DNS Server2 (TN)
| | |
|--------------------------------------------->| |
| 1. Send standard query | |
| QNAME=A.example.com | |
| | |
| X <------------------------------------------| |
| 2. Standard query response | |
| | |
|----------------------------------------------|--------------------------------------------->|
| 3. Send standard query | |
| QNAME=A.example.com | |
v v v
1. NUT send standard query to DNS Server1(TN).
Judgment (Check *1)
2. TN doesn't send standard query response to NUT.
3. NUT send standard query to DNS Server2(TN).*Don't specify the DNS Server2. *Send query automatically.
Judgment (Check *3)
*The order of 1. and 3. might become opposite.
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 |
A.example.com
|
QTYPE
|
A (0x0001)
|
QCLASS
|
IN (0x0001)
|
3rd Packet
|
3. Standard query from DNS Client1 (NUT) to DNS Server2 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
SV2_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 |
A.example.com
|
QTYPE
|
A (0x0001)
|
QCLASS
|
IN (0x0001)
|
NUT_NETZ : DNS Client1(NUT)'s address
SV_NETY : DNS Server1(TN)'s address
SV2_NETY : DNS Server2(TN)'s address
1. Received standard query QNAME=A.example.com from NUT to Server1(TN).
3. Received standard query QNAME=A.example.com from NUT to Server2(TN)
*The order of 1. and 3. might become opposite.
If NUT has cache function, clear the cache.
RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES
5.3.3. Algorithm
RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
4.2.1. UDP usage
RFC1123 Requirements for Internet Hosts -- Application and Support
6.1.3.1 Resolver Implementation