SV_RFC1123_6_1_3_7_continue_service - Continue to provide service
Verify that a NUT continues to provide service for the reachable part of the name space.
- DNS software may need to operate in environments where the
root servers or other servers are unavailable due to network
connectivity or other problems. In this situation, DNS name
servers and resolvers MUST continue to provide service for
the reachable part of the name space, while giving temporary
failures for the rest.
Caching Server
SV_RFC1123_6_1_3_7_continue_service.seq [-tooloption ...]: KOI tool option
See also DNSConfig.pm
This test sequence is following.
<--------------------- TN -------------------->
DNS Client1 (TN) DNS Server1 (NUT) DNS Server2 DNS Server3 DNS Server4 DNS Server5
| | | | | |
|----------------------------->| | | | |
| 1. Send standard query | | | | |
| QNAME=A.example.org | | | | |
| QTYPE=A | | | | |
| | | | | |
| |-------------------------------->| | | |
| | 2. Recv standard query | | | |
| | QNAME=A.example.org | | | |
| | QTYPE=A | | | |
| | | | | |
| |<--------------------------------| | | |
| | 3. Send standard query response | | | |
| | QNAME=A.example.org | | | |
| | QTYPE=A | | | |
| | AUTHORITY Name=org | | | |
| | AUTHORITY Name Server | | | |
| | =NS3.example.org | | | |
| | ADDITIONAL Name | | | |
| | =NS3.example.org | | | |
| | ADDITIONAL Address | | | |
| | =192.168.1.30 | | | |
| | | | | |
| | v | | |
| | | | |
| |-------------------------------------------->| | |
| | 4. Recv standard query | | |
| | QNAME=A.example.org | | |
| | QTYPE=A | | |
| | | | |
| |<--------------------------------------------| | |
| | 5. Send standard query response | | |
| | QNAME=A.example.org | | |
| | QTYPE=A | | |
| | AUTHORITY Name=example.org | | |
| | AUTHORITY Name Server | | |
| | = NS4.example.org | | |
| | ADDITIONAL Name | | |
| | = NS4.example.org | | |
| | ADDITIONAL Address | | |
| | = 192.168.1.40 | | |
| | | | |
| | v | |
| | | |
| |-------------------------------------------------------->| |
| | 6. Send standard query | |
| | QNAME=A.example.org | |
| | QTYPE=A | |
| | | |
// // // //
| | | |
| |-------------------------------------------------------->| |
| | N. Send standard query | |
| | QNAME=A.example.org | |
| | QTYPE=A | |
| | | |
| |-----------------------------------------------------> X | |
| | N+1. Send standard query | |
| | QNAME=A.example.org | |
| | QTYPE=A | |
| | | |
| | | | |
|----------------------------->| | | |
| N+2. Send standard query | | | |
| QNAME=B.virtual.org | | | |
| QTYPE=A | | | |
| | | | |
| |-------------------------------------------->| | |
| | N+3. Recv standard query | | |
| | QNAME=B.virtual.org | | |
| | QTYPE=A | | |
| | | | |
| |<--------------------------------------------| | |
| | N+4. Send standard query response | | |
| | QNAME=B.virtual.org | | |
| | QTYPE=A | | |
| | AUTHORITY Name=virtual.org | | |
| | AUTHORITY Name Server | | |
| | = NS5.virtual.org | | |
| | ADDITIONAL Name | | |
| | = NS5.virtual.org | | |
| | ADDITIONAL Address | | |
| | = 192.168.1.50 | | |
| | | | |
| | v v |
| | |
| |-------------------------------------------------------------------->|
| | N+5. Send standard query |
| | QNAME=B.virtual.org |
| | QTYPE=A |
| | |
| |<--------------------------------------------------------------------|
| | N+6. Send standard query response|
| | QNAME=B.virtual.org |
| | QTYPE=A |
| | ANSWER Name=B.virtual.org |
| | ANSWER Address=192.168.1.11 |
| | AUTHORITY Name=virtual.org |
| | AUTHORITY Name Server |
| | = NS5.virtual.org |
| | ADDITIONAL Name |
| | = NS5.virtual.org |
| | ADDITIONAL Address |
| | = 192.168.1.50 |
| | |
| | |
| | |
|<-----------------------------| |
| N+7. Standard query response | |
| QNAME= B.virtual.org | |
| QTYPE=A | |
| ANSWER Name=B.virtual.org | |
| ANSWER Address=192.168.1.11 | |
| AUTHORITY Name=virtual.org | |
| AUTHORITY Name Server | |
| = NS5.virtual.org | |
| ADDITIONAL Name | |
| = NS5.virtual.org | |
| ADDITIONAL Address | |
| = 192.168.1.50 | |
| | |
| | |
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)
3. TN send query response to NUT w/ AUTHORITY Name=org, AUTHORITY Name Server=NS3.example.org.
4. NUT transmits standard query QNAME=A.example.org, QTYPE=A to DNS Server3 (TN: NS3.example.org) (Judgment *4)
5. TN send query response to NUT w/ AUTHORITY Name=example.org, AUTHORITY Name Server=NS4.example.org.
6. NUT transmits standard query QNAME=A.example.org, QTYPE=A to DNS Server4 (TN: NS4.example.org) (Judgment *6)
N. NUT transmits standard query QNAME=A.example.org, QTYPE=A to DNS Server4 (TN: NS4.example.org) (Judgment *N)
N+1. NUT transmits standard query QNAME=A.example.org, QTYPE=A to DNS Server4 (TN: NS4.example.org) (Judgment *N+1)
N+2. TN send standard query QNAME=B.virtual.org, QTYPE=A to NUT.
N+3. NUT transmits standard query QNAME=B.virtual.org, QTYPE=A to DNS Server3 (TN: NS3.example.org) (Judgment *N+3)
N+4. TN send query response to NUT w/ AUTHORITY Name=example.org, AUTHORITY Name Server=NS5.virtual.org.
N+5. NUT transmits standard query QNAME=B.virtual.org, QTYPE=A to DNS Server4 (TN: NS4.virtual.org) (Judgment *N+5)
N+6. TN send query response to ANSWER Name=B.virtual.org, ANSWER Address=192.168.1.11.
N+7. NUT transmits query response to DNS Client1 (TN) (Judgment *N+7)
*N means that number of retransmission.
- Packet Description
- 1st packet.
Standard query from DNS Client1 (TN) to Server1 (NUT)
|
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) |
- 2nd packet.
Standard query from DNS Server1 (NUT) to 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 |
0 |
RA |
ANY |
Z |
ANY |
RCODE |
ANY |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
0 |
ARCOUNT |
ANY |
DNS Question section |
QNAME |
A.example.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- 3rd packet.
Standard query response from DNS Server2 (TN) to Server1 (NUT)
|
IP Header |
Source Address |
SV2_NETY |
Destination Address |
NUT_NETZ |
UDP Header |
Src Port |
53 |
Dst Port |
Value that NUT uses |
DNS Header |
ID |
Value that NUT uses |
QR |
1 |
OPCODE |
0 |
AA |
0 |
TC |
0 |
RD |
0 |
RA |
0 |
Z |
0 |
RCODE |
0 |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
1 |
ARCOUNT |
1 |
DNS Question section |
QNAME |
A.example.org
|
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
DNS Authority section |
NAME |
org (Pointer 0xC016) |
TYPE |
NS (0x0002) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
6 |
NSDNAME |
NS3.example.org (NS3 + Pointer 0xC00E) |
DNS Additional section |
NAME |
NS3.example.org (Pointer 0xC02B) |
TYPE
|
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.30 |
- 4th packet.
Standard query from DNS Server1 (NUT) to Server3 (TN)
|
IP Header |
Source Address |
NUT_NETZ |
Destination Address |
SV3_NETY |
UDP Header |
Src Port |
ANY |
Dst Port |
53 |
DNS Header |
ID |
ANY |
QR |
0 |
OPCODE |
0 |
AA |
ANY |
TC |
0 |
RD |
0 |
RA |
ANY |
Z |
ANY |
RCODE |
ANY |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
0 |
ARCOUNT |
ANY |
DNS Question section |
QNAME |
A.example.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- 5th packet.
Standard query response from DNS Server3 (TN) to Server1 (NUT)
|
IP Header |
Source Address |
SV3_NETY |
Destination Address |
NUT_NETZ |
UDP Header |
Src Port |
Value that NUT uses |
Dst Port |
53 |
DNS Header |
ID |
Value that NUT uses |
QR |
1 |
OPCODE |
0 |
AA |
0 |
TC |
0 |
RD |
0 |
RA |
0 |
Z |
0 |
RCODE |
0 |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
1 |
ARCOUNT |
1 |
DNS Question section |
QNAME |
A.example.org
|
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
DNS Authority section |
NAME |
example.org (Pointer 0xC00E) |
TYPE |
NS (0x0002) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
6 |
NSDNAME |
NS4.example.org (NS4 + Pointer 0xC00E) |
DNS Additional section |
NAME |
NS4.example.org (Pointer 0xC02B) |
TYPE
|
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.40 |
- 6th packet.
Standard query from DNS Server1 (NUT) to Server4 (TN)
|
IP Header |
Source Address |
NUT_NETZ |
Destination Address |
SV4_NETY |
UDP Header |
Src Port |
ANY |
Dst Port |
53 |
DNS Header |
ID |
ANY |
QR |
0 |
OPCODE |
0 |
AA |
ANY |
TC |
0 |
RD |
0 |
RA |
ANY |
Z |
ANY |
RCODE |
ANY |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
0 |
ARCOUNT |
ANY |
DNS Question section |
QNAME |
A.example.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- N th packet.
Standard query from DNS Server1 (NUT) to Server4 (TN)
|
IP Header |
Source Address |
NUT_NETZ |
Destination Address |
SV4_NETY |
UDP Header |
Src Port |
ANY |
Dst Port |
53 |
DNS Header |
ID |
ANY |
QR |
0 |
OPCODE |
0 |
AA |
ANY |
TC |
0 |
RD |
0 |
RA |
ANY |
Z |
ANY |
RCODE |
ANY |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
0 |
ARCOUNT |
ANY |
DNS Question section |
QNAME |
A.example.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- N+2 th packet.
Standard query from DNS Client1 (TN) to Server1 (NUT)
|
IP Header |
Source Address |
CL1_NETZ |
Destination Address |
NUT_NETZ |
UDP Header |
Src Port |
2000 |
Dst Port |
53 |
DNS Header |
ID |
0x1001 |
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 |
B.virtual.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- N+3 th packet.
Standard query from DNS Server1 (NUT) to Server3 (TN)
|
IP Header |
Source Address |
NUT_NETZ |
Destination Address |
SV3_NETY |
UDP Header |
Src Port |
ANY |
Dst Port |
53 |
DNS Header |
ID |
ANY |
QR |
0 |
OPCODE |
0 |
AA |
ANY |
TC |
0 |
RD |
0 |
RA |
ANY |
Z |
ANY |
RCODE |
ANY |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
0 |
ARCOUNT |
ANY |
DNS Question section |
QNAME |
B.virtual.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- N+4 th packet.
Standard query response from DNS Server3 (TN) to Server1 (NUT)
|
IP Header |
Source Address |
SV3_NETY |
Destination Address |
NUT_NETZ |
UDP Header |
Src Port |
Value that NUT uses |
Dst Port |
53 |
DNS Header |
ID |
Value that NUT uses |
QR |
1 |
OPCODE |
0 |
AA |
0 |
TC |
0 |
RD |
0 |
RA |
0 |
Z |
0 |
RCODE |
0 |
QDCOUNT |
1 |
ANCOUNT |
1 |
NSCOUNT |
1 |
ARCOUNT |
1 |
DNS Question section |
QNAME |
B.virtual.org
|
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
DNS Authority section |
NAME |
virtual.org (Pointer 0xC00E) |
TYPE |
NS (0x0002) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
6 |
NSDNAME |
NS5.virtual.org (NS5 + Pointer 0xC00E) |
DNS Additional section |
NAME |
NS5.virtual.org (Pointer 0xC02B) |
TYPE
|
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.50 |
- N+5 th packet.
Standard query from DNS Server1 (NUT) to Server5 (TN)
|
IP Header |
Source Address |
NUT_NETZ |
Destination Address |
SV5_NETY |
UDP Header |
Src Port |
ANY |
Dst Port |
53 |
DNS Header |
ID |
ANY |
QR |
0 |
OPCODE |
0 |
AA |
ANY |
TC |
0 |
RD |
0 |
RA |
ANY |
Z |
ANY |
RCODE |
ANY |
QDCOUNT |
1 |
ANCOUNT |
0 |
NSCOUNT |
0 |
ARCOUNT |
ANY |
DNS Question section |
QNAME |
B.virtual.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
- N+6 th packet.
Standard query response from DNS Server5 (TN) to Server1 (NUT)
|
IP Header |
Source Address |
SV5_NETY |
Destination Address |
NUT_NETZ |
UDP Header |
Src Port |
Value that NUT uses |
Dst Port |
53 |
DNS Header |
ID |
Value that NUT uses |
QR |
1 |
OPCODE |
0 |
AA |
1 |
TC |
0 |
RD |
0 |
RA |
0 |
Z |
0 |
RCODE |
0 |
QDCOUNT |
1 |
ANCOUNT |
1 |
NSCOUNT |
1 |
ARCOUNT |
1 |
DNS Question section |
QNAME |
B.virtual.org
|
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
DNS Answer section |
NAME |
B.virtual.org (Pointer 0xC00C)
|
TYPE |
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.11 |
DNS Authority section |
NAME |
virtual.org (Pointer 0xC00E) |
TYPE |
NS (0x0002) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
6 |
NSDNAME |
NS5.virtual.org (NS5 + Pointer 0xC00E) |
DNS Additional section |
NAME |
NS5.virtual.org (Pointer 0xC03B) |
TYPE
|
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.50 |
- N+7 th packet.
Standard query response from DNS Server1 (NUT) to Client1 (TN)
|
IP Header |
Source Address |
NUT_NETZ |
Destination Address |
CL1_NETZ |
UDP Header |
Src Port |
53 |
Dst Port |
2000 |
DNS Header |
ID |
0x1001 |
QR |
1 |
OPCODE |
0 |
AA |
0 |
TC |
0 |
RD |
1 |
RA |
1 |
Z |
0 |
RCODE |
0 |
QDCOUNT |
1 |
ANCOUNT |
1 |
NSCOUNT |
1 |
ARCOUNT |
1 |
DNS Question section |
QNAME |
B.virtual.org |
QTYPE |
A (0x0001) |
QCLASS |
IN (0x0001) |
DNS Answer section |
NAME |
B.virtual.org (Pointer 0xC00C)
|
TYPE |
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.11 |
DNS Authority section |
NAME |
virtual.org (Pointer 0xC00E) |
TYPE |
NS (0x0002) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
6 |
NSDNAME |
NS5.virtual.org (NS5 + Pointer 0xC00E) |
DNS Additional section |
NAME |
NS5.virtual.org (Pointer 0xC03B) |
TYPE
|
A (0x0001) |
CLASS |
IN (0x0001) |
TTL |
1 day (86400) |
RDLENGTH |
4 |
ADDRESS |
192.168.1.50 |
- Exp.
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 |
SV3_NETY |
DNS Server3's (TN) Net-y address |
SV4_NETY |
DNS Server4's (TN) Net-y address |
2. Received standard query including QNAME=A.example.org, QTYPE=A.
4. Received standard query including QNAME=A.example.org, QTYPE=A.
6. Received standard query including QNAME=A.example.org, QTYPE=A.
N. Received standard query including QNAME=A.example.org, QTYPE=A.
N+1. Not received standard query.
N+3. Received standard query including QNAME=B.virtual.org, QTYPE=A.
N+5. Received standard query including QNAME=B.virtual.org, QTYPE=A.
N+7. Received standard query response including correct A resource record for QNAME=B.virtual.org, QTYPE=A.
None
RFC1123 Requirements for internet Hosts -- Application and Support
6.1.3.7 Robustness