CL_RFC1034_5_3_3_cache_CNAME - Analyze the response (caching CNAME)
Verify that a NUT caches the query when it encounters a CNAME
Client (with Caching function and recursive function)
CL_RFC1034_5_3_3_cache_CNAME.seq [-tooloption ...]: KOI tool option See also DNSConfig.pm
AP Server1(TN) 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
Set the DNS Server1(TN)'s address on NUT as above mentioned Network Topology.
In order to send the query for A type(IN class) of AP Server1(TN):B.example.com(CNAME) with RD=0 to the DNS Server1(TN), NUT is configured.
This test sequence is following.
DNS Client1 (NUT) DNS Server1 (TN) | | |--------------------------------------------->| | 1. Send standard query | | QNAME=B.example.com | | | |<---------------------------------------------| | 2. Standard query response | | CNAME=A.example.com | | | |--------------------------------------------->| | 3. Send standard query | | QNAME=A.example.com | | | |<---------------------------------------------| | 4. Standard query response | | | |------------------------------------------> X | | 5. Send standard query | | QNAME=B.example.com | v v
1. NUT send standard query to TN. Judgment (Check *1) 2. TN send standard query response to NUT. 3. NUT send standard query to TN.*Send query automatically. Judgment (Check *3) 4. TN send standard query response to NUT. 5. NUT send standard query to TN. Judgment (Check *5)
|
||
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 | 0 | |
RA |
any |
|
Z |
any |
|
RCODE |
any |
|
QDCOUNT |
1 |
|
ANCOUNT |
0 |
|
NSCOUNT |
0 |
|
ARCOUNT |
any |
|
DNS Question section |
QNAME | B.example.com |
QTYPE |
A (0x0001) |
|
QCLASS |
IN (0x0001) |
|
||
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 | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 1 | |
NSCOUNT | 1 | |
ARCOUNT | 1 | |
DNS Question section | QNAME | B.example.com |
QTYPE | A (0x0001) | |
QCLASS | IN (0x0001) | |
DNS Answer section | NAME | B.example.com (Pointer 0xC00C) |
TYPE | CNAME (0x0005) | |
CLASS | IN (0x0001) | |
TTL | 1 day (86400) | |
RDLENGTH | 4 | |
CNAME | A.example.com (A + Pointer 0xC00E) | |
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 | 0 | |
RDLENGTH | 4 | |
ADDRESS | 192.168.1.20 |
|
||
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) |
|
||
IP Header | Source Address | SV_NETY |
Destination Address | NUT_NETZ | |
UDP Header | Src Port | 53 |
Dst Port | Same as 3rd Packet's Src Port | |
DNS Header | ID | Same as 3rd Packet's ID |
QR | 1 | |
OPCODE | 0 | |
AA | 1 | |
TC | 0 | |
RD | Same as 3rd Packet's RD | |
RA | 0 | |
Z | 0 | |
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 | 0 | |
RDLENGTH | 4 | |
ADDRESS | 192.168.1.20 |
1. Received standard query QNAME=B.example.com from NUT. 3. Received standard query QNAME=A.example.com from NUT. 5. Not Received standard query QNAME=B.example.com from NUT.
If NUT has cache function, clear the cache.
RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES 5.3.3. Algorithm