NAME

        SV_RFC1995_2_IXFR_server_TCP - an IXFR server sends a single SOA record of the server's current version, if the UDP reply does not fit in a single DNS packet.


VERIFICATION POINTS

        Verify that a NUT sends only the differences required to make that version current.


TARGET

        Server (an IXFR server)


SYNOPSIS

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


INITIALIZATION


PRE-TEST SEQUENCE


TEST PROCEDURE

        This test sequence is following.
  DNS Server1 (NUT)              DNS Server2 (TN)
        |                              |
        |<-----------------------------|
        | 1. Standard query            |
        |    (in UDP)                  |
        |  QNAME = sec.example.com     |
        |  QTYPE = IXFR (0x00FB)       |
        |                              |
        |  AUTHORITY Name              |
        |       = sec.example.com      |
        |  AUTHORITY Type              |
        |       = SOA (0x0006)         |
        |  AUTHORITY Serial            |
        |       = 1                    |
        |                              |
        |----------------------------->|
        | 2. Standard query response   |
        |    (in UDP)                  |
        |  QNAME = sec.example.com     |
        |  QTYPE = IXFR (0x00FB)       |
        |                              |
        |  ANSWER Name                 |
        |       = sec.example.com      |
        |  ANSWER Type                 |
        |       = SOA (0x0006)         |
        |  ANSWER Serial               |
        |       = 2                    |
        |                              |
        |<-----------------------------|
        | 3. Standard query            |
        |    (in TCP)                  |
        |  QNAME = sec.example.com     |
        |  QTYPE = IXFR (0x00FB)       |
        |                              |
        |  AUTHORITY Name              |
        |       = sec.example.com      |
        |  AUTHORITY Type              |
        |       = SOA (0x0006)         |
        |  AUTHORITY Serial            |
        |       = 1                    |
        |                              |
        |----------------------------->|
        | 4. Standard query response   |
        |    (in TCP)                  |
        |  QNAME = sec.example.com     |
        |  QTYPE = IXFR (0x00FB)       |
        |                              |
        |  ANSWER Name                 |
        |       = sec.example.com      |
        |  ANSWER Type                 |
        |       = SOA (0x0006)         |
        |  ANSWER Serial               |
        |       = 2                    |
        |                              |
        | [remove]                     |
        |  ANSWER Name                 |
        |       = sec.example.com      |
        |  ANSWER Type                 |
        |       = SOA (0x0006)         |
        |  ANSWER Serial               |
        |       = 1                    |
        |                              |
        | [add]                        |
        |  ANSWER Name                 |
        |       = sec.example.com      |
        |  ANSWER Type                 |
        |       = SOA (0x0006)         |
        |  ANSWER Serial               |
        |       = 2                    |
        |                              |
        |  ANSWER Name                 |
        |       = CL1.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::20|
        |                              |
        |  ANSWER Name                 |
        |       = CL2.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::21|
        |                              |
        |  ANSWER Name                 |
        |       = CL3.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::22|
        |                              |
        |  ANSWER Name                 |
        |       = CL4.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::23|
        |                              |
        |  ANSWER Name                 |
        |       = CL5.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::24|
        |                              |
        |  ANSWER Name                 |
        |       = CL6.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::25|
        |                              |
        |  ANSWER Name                 |
        |       = CL7.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::26|
        |                              |
        |  ANSWER Name                 |
        |       = CL8.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::27|
        |                              |
        |  ANSWER Name                 |
        |       = CL9.sec.example.com  |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::28|
        |                              |
        |  ANSWER Name                 |
        |       = CL10.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::29|
        |                              |
        |  ANSWER Name                 |
        |       = CL11.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::2a|
        |                              |
        |  ANSWER Name                 |
        |       = CL12.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::2b|
        |                              |
        |  ANSWER Name                 |
        |       = CL13.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::2c|
        |                              |
        |  ANSWER Name                 |
        |       = CL14.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::2d|
        |                              |
        |  ANSWER Name                 |
        |       = CL15.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::2e|
        |                              |
        |  ANSWER Name                 |
        |       = CL16.sec.example.com |
        |  ANSWER Type                 |
        |       = AAAA (0x001C)        |
        |  ANSWER Address              |
        |       = 3ffe:501:ffff:100::2f|
        |                              |
        |  ANSWER Name                 |
        |       = sec.example.com      |
        |  ANSWER Type                 |
        |       = SOA (0x0006)         |
        |  ANSWER Serial               |
        |       = 2                    |
        |                              |
        v                              v
        This test sequence is following.
        1. DNS Server2 (TN) sends standard query with QNAME = sec.example.com, Type = IXFR, 
           including Authority Name = sec.example.com, Type = SOA,  serial = 1 using UDP.
        2. DNS Server1 (NUT) transmits standard query responce with QNAME = sec.example.com, Type = IXFR, 
           including 'sec.example.com SOA serial=2' in Answer section using UDP to DNS Server2 (TN). (Judgment *2)
        3. DNS Server2 (TN) sends standard query with QNAME = sec.example.com, Type = IXFR, 
           including Authority Name = sec.example.com, Type = SOA,  serial = 1 using TCP.
        4. DNS Server1 (NUT) transmits standard query responce with QNAME = sec.example.com, Type = IXFR, 
           including 'sec.example.com SOA serial=2',
           'sec.example.com SOA serial=1',
           'sec.example.com SOA serial=2',
           'CL1.sec.example.com AAAA 3ffe:501:ffff:100::20',
           'CL2.sec.example.com AAAA 3ffe:501:ffff:100::21',
           'CL3.sec.example.com AAAA 3ffe:501:ffff:100::22',
           'CL4.sec.example.com AAAA 3ffe:501:ffff:100::23',
           'CL5.sec.example.com AAAA 3ffe:501:ffff:100::24',
           'CL6.sec.example.com AAAA 3ffe:501:ffff:100::25',
           'CL7.sec.example.com AAAA 3ffe:501:ffff:100::26',
           'CL8.sec.example.com AAAA 3ffe:501:ffff:100::27',
           'CL9.sec.example.com AAAA 3ffe:501:ffff:100::28',
           'CL10.sec.example.com AAAA 3ffe:501:ffff:100::29',
           'CL11.sec.example.com AAAA 3ffe:501:ffff:100::2a',
           'CL12.sec.example.com AAAA 3ffe:501:ffff:100::2b',
           'CL13.sec.example.com AAAA 3ffe:501:ffff:100::2c',
           'CL14.sec.example.com AAAA 3ffe:501:ffff:100::2d',
           'CL15.sec.example.com AAAA 3ffe:501:ffff:100::2e',
           'CL16.sec.example.com AAAA 3ffe:501:ffff:100::2f',
           and 'sec.example.com SOA serial=2' in Answer section using TCP to DNS Server2 (TN). (Judgment *4)


JUDGMENT

        2. DNS Server1 (NUT) transmits standard query responce with QNAME = sec.example.com, Type = IXFR, 
           including 'sec.example.com SOA serial=2' in Answer section using UDP to DNS Server2 (TN).
        4. DNS Server1 (NUT) transmits standard query responce with QNAME = sec.example.com, Type = IXFR, 
           including 'sec.example.com SOA serial=2',
           'sec.example.com SOA serial=1',
           'sec.example.com SOA serial=2',
           'CL1.sec.example.com AAAA 3ffe:501:ffff:100::20',
           'CL2.sec.example.com AAAA 3ffe:501:ffff:100::21',
           'CL3.sec.example.com AAAA 3ffe:501:ffff:100::22',
           'CL4.sec.example.com AAAA 3ffe:501:ffff:100::23',
           'CL5.sec.example.com AAAA 3ffe:501:ffff:100::24',
           'CL6.sec.example.com AAAA 3ffe:501:ffff:100::25',
           'CL7.sec.example.com AAAA 3ffe:501:ffff:100::26',
           'CL8.sec.example.com AAAA 3ffe:501:ffff:100::27',
           'CL9.sec.example.com AAAA 3ffe:501:ffff:100::28',
           'CL10.sec.example.com AAAA 3ffe:501:ffff:100::29',
           'CL11.sec.example.com AAAA 3ffe:501:ffff:100::2a',
           'CL12.sec.example.com AAAA 3ffe:501:ffff:100::2b',
           'CL13.sec.example.com AAAA 3ffe:501:ffff:100::2c',
           'CL14.sec.example.com AAAA 3ffe:501:ffff:100::2d',
           'CL15.sec.example.com AAAA 3ffe:501:ffff:100::2e',
           'CL16.sec.example.com AAAA 3ffe:501:ffff:100::2f',
           and 'sec.example.com SOA serial=2' in Answer section using TCP to DNS Server2 (TN).


TERMINATION

        None


REFERENCE

        RFC1995 Incremental Zone Transfer in DNS
        2. Brief Description of the Protocol
        4. Response Format