SV_RFC1996_3_7_slave_NOTIFY_diff_SOA - ANCOUNT>0 and the answer section differs from the slave's local data
Verify that a NUT sends an IXFR message to get a new information about zone.
Server (an IXFR client)
SV_RFC1996_3_7_slave_NOTIFY_diff_SOA.seq [-tooloption ...]: KOI tool option See also DNSConfig.pm
| | sec.example.com domain Router (TN) DNS Server7 |3ffe:501:ffff:100::1 |3ffe:501:ffff:100::31 |192.168.0.1 |192.168.0.31 | | | | Net-z --+--------+---------------+-------+------------------- 3ffe:501:ffff:100::/64 | | 192.168.0/24 | | DNS Server1 (NUT) DNS Client1 (TN) 3ffe:501:ffff:100::10 3ffe:501:ffff:100::20 192.168.0.10 192.168.0.20
$TTL 86400 ; TTL of 1 day @ IN SOA NS7.sec.example.com. root.sec.example.com. ( 1 ; serial 180 ; refresh every 3 min 30 ; retry every 30 sec 360 ; expire after 6 min 30 ; Minimum TTL of 30 sec ) ; IN NS NS7.sec.example.com. IN NS NS1.sec.example.com. IN MX 10 NS7 NS7 IN A 192.168.0.31 IN AAAA 3ffe:501:ffff:100::31 NS1 IN A 192.168.0.10 IN AAAA 3ffe:501:ffff:100::10 ; CL1 IN A 192.168.0.20 CL2 IN A 192.168.0.21
After all zone information are transferred between primary DNS server7 (TN) and slave DNS server1 (NUT), following pre-test sequence is performed.
DNS Client1 (TN) DNS Server1 (NUT) DNS Server7 (TN) | | | |----------------------------->| | | 1. Send standard query | | | RD = 0 | | | QNAME = CL2.sec.example.com | | | QTYPE = A | | | | | |<-----------------------------| | | 2. Standard query response | | | AA = 0 | | | RD = 0 | | | RA = 1 | | | QNAME = CL2.sec.example.com | | | QTYPE = A | | | ANSWER Name | | | = CL2.sec.example.com | | | ANSWER Type | | | = A (0x0001) | | | ANSWER Address | | | = 192.168.0.21 | | | | | v v v
This test sequence is following. NOTE: SOA's parameter and $TTL are same as above sec.example.com zone information. TN includes NS7 and NS1.sub.example.com into Authority section as type = NS. Also TN includes NS7 and NS1.sub.example.com address into Additional section. Thus NUT may reply to answer client with Authority and Additional section including those values.
DNS Client1 (TN) DNS Server1 (NUT) DNS Server7 (TN) | | | | | | | |<-----------------------------| | | 1. A NOTIFY request | | | OPCODE = NOTIFY (4) | | | QNAME = sec.example.com | | | QTYPE = SOA (0x0006) | | | ANSWER Name | | | = sec.example.com | | | ANSWER Type | | | = SOA (0x0006) | | | ANSWER SERIAL | | | = 2 | | | | | |----------------------------->| | | 2. A NOTIFY response | | | OPCODE = NOTIFY (4) | | | QNAME = sec.example.com | | | QTYPE = SOA (0x0006) | | | | | |----------------------------->| | | 3. Standard query | | | QNAME = sec.example.com | | | QTYPE = SOA (0x0006) | | | ANSWER Name | | | = sec.example.com | | | ANSWER Type | | | = SOA (0x0006) | | | ANSWER SERIAL | | | = 1 | | | | | |<-----------------------------| | | 4. Standard query response | | | QNAME = sec.example.com | | | QTYPE = SOA (0x0006) | | | ANSWER Name | | | = sec.example.com | | | ANSWER Type | | | = SOA (0x0006) | | | ANSWER SERIAL | | | = 2 | | | | | |----------------------------->| | | 5. Standard query | | | QNAME = sec.example.com | | | QTYPE = IXFR (0x00FB) or | | | AXFR (0x00FC) | | | AUTHORITY Name | | | = sec.example.com | | | AUTHORITY Type | | | = SOA (0x0006) | | | AUTHORITY SERIAL | | | = 1 | | | | v v v
This test sequence is following.
1. DNS Server7 (TN) sends NOTIFY request to DNS Server1 (NUT).
2. DNS Server1 (NUT) sends NOTIFY request to DNS Server7 (TN). (Judgment *2)
3. DNS Server1 (NUT) sends standard query response with SOA serial = 1 to DNS Server7 (TN). (Judgment *3)
4. DNS Server7 (TN) sends standard query response with "sec.example.com SOA serial=2".
5. DNS Server1 (NUT) transmits standard query with QNAME = sec.example.com, Type = IXFR or AXFR, including Authority Name = sec.example.com, Type = SOA serial = 1 to DNS Server7 (TN). (Judgment *5)
|
||
IP Header | Source Address | SV7_NETZ |
Destination Address | NUT_NETZ | |
UDP Header | Src Port | 2000 |
Dst Port | 53 | |
DNS Header | ID | 0x1000 |
QR | 0 | |
OPCODE | 4 | |
AA | 1 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 1 | |
NSCOUNT | 0 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | sec.example.com |
QTYPE | SOA (0x0006) | |
QCLASS | IN (0x0001) | |
DNS Answer section | NAME | sec.example.com (Pointer 0xC00C) |
TYPE | SOA (0x0006) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 33 | |
MNAME | NS7.sec.example.com (NS7 + Pointer 0xC00C) | |
RNAME | root.sec.example.com (root + Pointer 0xC00C) | |
SERIAL | 2 | |
REFRESH | 180sec | |
RETRY | 30sec | |
EXPIRE | 600sec | |
MINIMUM | 30sec | |
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | SV7_NETZ | |
UDP Header | Src Port | 53 |
Dst Port | 2000 | |
DNS Header | ID | 0x1000 |
QR | 1 | |
OPCODE | 4 | |
AA | 1 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 0 | |
NSCOUNT | 0 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | sec.example.com |
QTYPE | SOA (0x0006) | |
QCLASS | IN (0x0001) |
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | SV7_NETZ | |
UDP Header | Src Port | ANY |
Dst Port | 53 | |
DNS Header | ID | ANY |
QR | 0 | |
OPCODE | 0 | |
AA | 0 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 0 | |
NSCOUNT | 0 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | sec.example.com |
QTYPE | SOA (0x0006) | |
QCLASS | IN (0x0001) |
|
||
IP Header | Source Address | SV7_NETZ |
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 | 1 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 1 | |
NSCOUNT | 2 | |
ARCOUNT | 4 | |
DNS Question section | QNAME | sec.example.com |
QTYPE | SOA (0x0006) | |
QCLASS | IN (0x0001) | |
DNS Answer section | NAME | sec.example.com (Pointer 0xC00C) |
TYPE | SOA (0x0006) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 33 | |
MNAME | NS7.sec.example.com (NS7 + Pointer 0xC00C) | |
RNAME | root.sec.example.com (root + Pointer 0xC00C) | |
SERIAL | 2 | |
REFRESH | 180sec | |
RETRY | 30sec | |
EXPIRE | 600sec | |
MINIMUM | 30sec | |
DNS Authority section | NAME | sec.example.com (Pointer 0xC00C) |
TYPE | NS (0x0002) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 2 | |
NSDNAME | NS1.sec.example.com (NS1 + Pointer 0xC00C) | |
DNS Authority section | NAME | sec.example.com (Pointer 0xC00C) |
TYPE | NS (0x0002) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 2 | |
NSDNAME | NS7.sec.example.com (Pointer 0xC02D) | |
DNS Additional section | NAME | NS1.sec.example.com (Pointer 0xC05A) |
TYPE |
A (0x0001) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 4 | |
ADDRESS | 192.168.0.10 | |
DNS Additional section | NAME | NS1.sec.example.com (Pointer 0xC05A) |
TYPE |
AAAA (0x001C) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 16 | |
ADDRESS | 3ffe:501:ffff:100::10 | |
DNS Additional section | NAME | NS7.sec.example.com (Pointer 0xC02D) |
TYPE |
A (0x0001) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 4 | |
ADDRESS | 192.168.0.31 | |
DNS Additional section | NAME | NS7.sec.example.com (Pointer 0xC02D) |
TYPE |
AAAA (0x001C) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 16 | |
ADDRESS | 3ffe:501:ffff:100::31 |
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | SV7_NETZ | |
UDP Header | Src Port | ANY |
Dst Port | 53 | |
DNS Header | ID | ANY |
QR | 0 | |
OPCODE | 0 | |
AA | 0 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 0 | |
NSCOUNT | >=1 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | sec.example.com |
QTYPE | IXFR (0x00FB) | |
QCLASS | IN (0x0001) | |
DNS Authority section | NAME | sec.example.com (Pointer 0xC00C) |
TYPE | SOA (0x0006) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 33 | |
MNAME | NS7.sec.example.com (NS7 + Pointer 0xC00C) | |
RNAME | root.sec.example.com (root + Pointer 0xC00C) | |
SERIAL | 1 | |
REFRESH | 180sec | |
RETRY | 30sec | |
EXPIRE | 600sec | |
MINIMUM | 30sec |
NUT_NETZ | DNS Server1's (NUT) Net-z address |
CL1_NETZ | DNS Client1's (TN) Net-z address |
SV7_NETZ | DNS Server7's (TN) Net-z address |
2. DNS Server1 (NUT) sends NOTIFY request to DNS Server7 (TN). 3. DNS Server1 (NUT) sends standard query response with SOA serial = 1 to DNS Server7 (TN). 5. DNS Server1 (NUT) transmits standard query with QNAME = sec.example.com, Type = IXFR or AXFR, including Authority Name = sec.example.com, Type = SOA serial = 1 to DNS Server7 (TN).
None
RFC 1996 DNS NOTIFY 3. NOTIFY Message