NAME

        SV_RFC2308_5_expire_cache_NXDOMAIN - TTL expired negative cache MUST NOT be used(NXDOMAIN)


VERIFICATION POINTS

        Verify that a NUT does not use the TTL expired negative cache.


TARGET

        Caching Server


SYNOPSIS

	SV_RFC2308_5_expire_cache_NXDOMAIN.seq [-tooloption ...]: KOI tool option
	See also DNSConfig.pm


INITIALIZATION


TEST PROCEDURE

        This test sequence is following.
                                                                    <-------------- TN --------------->
    DNS Client1 (TN)             DNS Server1 (NUT)                  DNS Server2 DNS Server3 DNS Server4
        |                              |                                 |           |           |
        |----------------------------->|                                 |           |           |
        | 1. Send standard query       |                                 |           |           |
        |  QNAME=B.example.org         |                                 |           |           |
        |  QTYPE=A                     |                                 |           |           |
        |                              |                                 |           |           |
        |                              |-------------------------------->|           |           |
        |                              | 2. Recv standard query          |           |           |
        |                              |  QNAME=B.example.org            |           |           |
        |                              |  QTYPE=A                        |           |           |
        |                              |                                 |           |           |
        |                              |<--------------------------------|           |           |
        |                              | 3. Send standard query response |           |           |
        |                              |  QNAME=B.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=B.example.org            |           |
        |                              |              QTYPE=A                        |           |
        |                              |                                             |           |
        |                              |<--------------------------------------------|           |
        |                              |             5. Send standard query response |           |
        |                              |              QNAME=B.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=B.example.org           |
        |                              |                           QTYPE=A                       |
        |                              |                                                         |
        |                              |<--------------------------------------------------------|
        |                              |                          7. Send standard query response|
        |                              |                           RCODE=3(NXDOMIN)              |
        |                              |                           QNAME=B.example.org           |
        |                              |                           QTYPE=A                       |
        |                              |                           AUTHORITY Name=example.org    |
        |                              |                           AUTHORITY Type=SOA            |
        |                              |                           AUTHORITY Minimum=15          |
        |                              |                                                         |
        |                              |                                                         |
        |<-----------------------------|                                                         |
        | 8. Standard query response   |                                                         |
        |  RCODE= 3(NXDOMIN)           |                                                         |
        |  QNAME= B.example.org        |                                                         |
        |  QTYPE=A                     |                                                         |
        |  AUTHORITY Name=example.org  |                                                         |
        |  AUTHORITY Type=SOA          |                                                         |
        |  AUTHORITY Minimum=15        |                                                         |
        |                              |                                                         |
        //    wait 15 seconds          //                                                        //
        |                              |                                                         |
        |----------------------------->|                                                         |
        | 9. Send standard query       |                                                         |
        |  QNAME=B.example.org         |                                                         |
        |  QTYPE=A                     |                                                         |
        |                              |                                                         |
        |                              |-------------------------------------------------------->|
        |                              |                         10. Send standard query         |
        |                              |                           QNAME=B.example.org           |
        |                              |                           QTYPE=A                       |
        v                              v                                                         v
        1. TN send standard query QNAME=B.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=B.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=B.example.org, QTYPE=A to DNS Server4 (TN: NS4.example.org) (Judgment *6)
        7. TN send query response(NXDOMAIN) to  AUTHORITY Name=example.org, AUTHORITY Type=SOA.
        8. NUT transmits query response(NXDOMAIN) to DNS Client1 (TN) (Judgment *8)
        9. TN send standard query QNAME=B.example.org, QTYPE=A to NUT.
        10. NUT transmits standard query QNAME=B.example.org, QTYPE=A to DNS Server4 (TN: NS4.example.org) (Judgment *10)


JUDGMENT

        2. Received standard query including QNAME=B.example.org, QTYPE=A.
        4. Received standard query including QNAME=B.example.org, QTYPE=A.
        6. Received standard query including QNAME=B.example.org, QTYPE=A.
        8. Received standard query response(NXDOMAIN).
        10. Received standard query including QNAME=B.example.org, QTYPE=A.


TERMINATION

        None


REFERENCE

        RFC2308 Negative Caching of DNS Queries (DNS NCACHE)
        5 - Caching Negative Answers