IPv6 Conformance Test For DNS Server


Created: 2006/02/13 17:14:46


No. Title

Test Item

Server Test


RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES

3. DOMAIN NAME SPACE AND RESOURCE RECORDS

3.1. Name space specifications and terminology
1 Label length *E
2 Case-insensitive manner
3 Domain Name length *E

3.5. Preferred name syntax
4 Rule for label *E

3.6. Resource Records

NAME

NAME (owner) is tested at TYPE test.

TYPE
5 A type *E
6 CNAME type *E
7 HINFO type *E
8 MX type (A, AAAA) *E
9 NS type (A, AAAA) *E
10 PTR type *E
11 SOA type *E

CLASS
12 IN class *E

CH class *E

TTL

Tested at RFC2181 section 7.2 and RFC1123 section 6.1.2.1

RDATA
13 A resource data (IN class)

A resource data (CH class)
14 CNAME resource data
15 HINFO resource data
16 MX resource data
17 NS resource data
18 PTR resource data
19 SOA resource data

Caching
20 Zero TTL prohibits caching *E

3.6.2. Aliases and canonical names
21 CNAME RR is present at a node, no other data should be present
22 * query should return just the CNAME

3.7. Queries
23 Carried in TCP *E
24 Standard message format *E
25 Opcode(standard query) *E

Opcode(status query) *E

3.7.1. Standard queries
26 Question section format *E

QTYPE
27 * type for query *E
28 * type for response

QCLASS
29 * class (the requestor is seeking data from more than one class) *E

3.7.2. Inverse queries (Obsoleted by RFC3425)

4. NAME SERVERS

4.1. Introduction
30 The name server returns data w/ Authoritative Answer(AA) or not.

4.2. How the database is divided into zone

4.3. Name server internals

4.3.1. Queries and responses
31 No-recursive queries
32 Name server acts in the role of a resolver [ADVANCED]

Recursive mode
33 Recursion Available (RA) bit is set or cleared by a name server in all responses
34 Recursion desired (RD) *E

Recursion is available case
35 The answer with CNAME to the query.
36 A name error indicating that the name does not exist.
37 A temporary error indication.

Recursion is not available case
38 An authoritative name error indicating that the name does not exist.

A temporary error indication [Tested at No-recursive queries]

RRs that answer the question and referral to name servers [REMOVED]

4.3.2. Algorithm

Recursion service is available but not requested via the RD bit in the query.

Search the available zones for the zone which is the nearest ancestor to QNAME.

Such a zone is found.

A. And the whole of QNAME is matched
39 The data at the node is a CNAME, and QTYPE doesn't match CNAME case.
40 The data at the node is except the above-mentioned.

B. A match take QNAME out of the authoritative data, QNAME has a referral.
41 QNAME is found in the cache.
42 QNAME is not found in the cache.

C. At some label, a match is impossible.
43 The "*" label does not exist, the name is original.

The "*" label does exist. #Tested in 4.3.3

Recursion service is available and requested via the RD bit in the query.

Tested at 5.3.3. Algorithm.

4.3.3. Wildcards
44 Caching wildcards queries *E
45 Wildcards is not applied case

4.3.4. Negative response caching (Optional)

Tested in RFC2308

4.3.5. Zone maintenance and transfers
46 Zone maintenance and transfers
47 Zone transfer is not completed case
48 Distribute zone

5. RESOLVERS

5.1 Introduction

5.2. Client-resolver interface

5.2.1. Typical functions
49 Returning of answer *E
50 Returning of name error *E
51 Returning of data not found error *E

5.2.2. Aliases
52 Encounters a CNAME *E
53 Multiple levels of aliases should be avoided, but should not be signaled as an error

5.2.3. Temporary failures

5.3. Resolver internals

5.3.1. Stub resolvers

5.3.2. Resources
54 Cache data vs authoritative data *E

5.3.3. Algorithm
55 Answer in local information *E
56 Sending query to server *E
57 Analyze the response(delegation) *E
58 Analyze the response(caching delegation) *E
59 Analyze the response(caching CNAME) *E
60 Analyze the response(answer is invalid) *E
61 Analyze the response(delegation is invalid) *E

6. A SCENARIO

6.1. C.ISI.EDU name server

6.2. Example standard queries

6.2.1. QNAME=SRI-NIC.ARPA, QTYPE=A

6.2.2. QNAME=SRI-NIC.ARPA, QTYPE=*

6.2.3. QNAME=SRI-NIC.ARPA, QTYPE=MX

6.2.4. QNAME=SRI-NIC.ARPA, QTYPE=NS

6.2.5. QNAME=SIR-NIC.ARPA, QTYPE=A

6.2.6. QNAME=BRL.MIL, QTYPE=A

6.2.7. QNAME=USC-ISIC.ARPA, QTYPE=A

6.2.8. QNAME=USC-ISIC.ARPA, QTYPE=CNAME

6.3. Example resolution

6.3.1. Resolve MX for ISI.EDU.

6.3.2. Get the host name for address 26.6.0.65

6.3.3. Get the host address of poneria.ISI.EDU

RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION

2.3.1. Preferred name syntax

2.3.2. Data Transmission Order
62 Order of transmission of octets and bits *E

2.3.3. Character Case

2.3.4. Size limits

3. DOMAIN NAME SPACE AND RR DEFINITIONS

3.1. Name space definitions
63 Label format *E
64 Label of root *E

3.2. RR definitions

3.2.1. Format

3.2.2. TYPE values

MB type (EXPERIMENTAL) *E

MG type (EXPERIMENTAL) *E

MR type (EXPERIMENTAL) *E

NULL type (EXPERIMENTAL) *E
65 WKS type *E

MINFO type (EXPERIMENTAL) *E
66 TXT type *E

3.2.3. QTYPE values

Tested at RFC1034 3.7.1. Standard queries

MAILB type (EXPERIMENTAL) *E

3.2.4. CLASS values

HS class *E

3.2.5. QCLASS values

Tested at RFC1034 3.7.1. Standard queries

3.3. Standard RRs

Tested at 3.2.2. TYPE values

3.3.1. CNAME RDATA format

Tested at RFC1034 3.6. Resource Records

3.3.2. HINFO RDATA format

Tested at RFC1034 3.6. Resource Records

3.3.3. MB RDATA format (EXPERIMENTAL)

3.3.4. MD RDATA format (Obsolete)

3.3.5. MF RDATA format (Obsolete)

3.3.6. MG RDATA format (EXPERIMENTAL)

3.3.7. MINFO RDATA format (EXPERIMENTAL)

3.3.8. MR RDATA format (EXPERIMENTAL)

3.3.9. MX RDATA format

Tested at RFC1034 3.6. Resource Records

3.3.10. NULL RDATA format (EXPERIMENTAL)

3.3.11. NS RDATA format

Tested at RFC1034 3.6. Resource Records

3.3.12. PTR RDATA format

Tested at RFC1034 3.6. Resource Records

3.3.13. SOA RDATA format

Tested at RFC1034 3.6. Resource Records

3.3.14. TXT RDATA format
67 TXT resource data

3.4. Internet specific RRs

3.4.1. A RDATA format

Tested at RFC1034 3.6. Resource Records

3.4.2. WKS RDATA format
68 WKS resource data

3.5. IN-ADDR.ARPA domain

IN-ADDR.ARPA domain (Host address) Tested at RFC1034 3.6

IN-ADDR.ARPA domain (Network address) [May be not used]

4. MESSAGES

4.1. Format

4.1.1. Header section format
69 Header section format(query) *E
70 Header section format(response) *E
71 Format error(RCODE=1)
72 Server failure(RCODE=2)
73 Not Implemented(RCODE=4)
74 Refused(RCODE=5) for query
75 Refused(RCODE=5) for zone transfer

4.1.2. Question section format

Tested ad RFC1034 3.7.1. Standard queries

4.1.3. Resource record format
76 Answer section format
77 Authority section format
78 Additional section format

4.1.4. Message compression
79 Message compression *E
80 Message compression format

4.2. Transport

Tested at RFC1123 6.1.3.2. Transport Protocols

4.2.1. UDP usage
81 Messages carried by UDP are restricted to 512 bytes
82 Not depend on response in order *E

4.2.2. TCP usage
83 TCP connection management check

6. NAME SERVER IMPLEMENTATION

6.1. Architecture

6.1.1. Control
84 Accept UDP while server waits TCP connecting

6.1.2. Database

6.1.3. Time

6.2. Standard query processing
85 Processing queries with QCLASS=*
86 Duplicate answer is omitted from the additional section
87 Authority section guarantee uniqueness of the answer

6.3. Zone refresh and reload processing

6.4. Inverse queries (Optional)

Obsoleted by RFC3425

6.5. Completion queries and response

7. RESOLVER IMPLEMENTATION

7.1. Transforming a user request into a query

7.2. Sending the queries

7.3. Processing response
88 Invalid response (query is returned) *E
89 Invalid response (RRs are incorrectly formatted) *E
90 Invalid response (long TTL) (optional) *E
91 Invalid response (ID does not match) *E
92 invalid response(invalid question section) *E

7.4. Using the cache
93 Caching several RRs of same type *E

RFC1123 Requirements for Internet Host -- Application and Support

2. GENERAL ISSUES

2.1. Host Names and Numbers

Rule for label (Tested at RFC1034 3.1)

Label length (Tested at RFC1034 3.1)

Domain Name length (Tested at RFC1034 3.1)

2.2. Using Domain Name Service

A type (Tested at RFC1034 3.6. Resource Records)

2.3. Application on Multihomed hosts

Tested at RFC1035 4.2.1

2.4. Type-of-Service

2.5. GENERAL APPLICATION REQUIREMENTS SUMMARY

6. SUPPORT SERVICES

6.1. DOMAIN NAME TRANSACTION

6.1.1. INTRODUCTION

Tested at RFC1034, 1035

6.1.2. PROTOCOL WALK-THROUGH

6.1.2.1. Resource Records with Zero TTL: RFC-1035 Section 3.2.1

Resource Records with Zero. Tested at RFC1035 3.2.1

6.1.2.2. QCLASS Values: RFC-1035 Section 3.2.5

6.1.2.3. Unused Fields: RFC-1035 Section 4.1.1
94 Unused fields in a query *E

Unused fields in a query. Tested at RFC1035 4.1.1

6.1.2.4. Compression: RFC-1035 Section 4.1.4

Message compression. Tested at RFC1035 4.1.4

6.1.2.5. Misusing Configuration Info: RFC-1035 Section 6.1.2

6.1.3. SPECIFC ISSUES

6.1.3.1 Resolver Implementation
95 Multiplex concurrent requests *E

(A) Full-Service Resolver
96 Time out of cache *E

(B) Stub Resolver

6.1.3.2 Transport Protocols
97 Not refuse TCP query(query)
98 Not refuse TCP query(response)
99 Caching truncated responses *E
100 Processing UDP query while zone transfering
101 Broadcast/Multicast query *E
102 Server ignores queries via broadcast or multicast address

6.1.3.3 Efficient Resource Usage
103 Retransmission control *E
104 Caching of temporary failure *E

6.1.3.4 Multihomed Hosts

6.1.3.5 Extensibility

6.1.3.6 Status of RR Types

Server loads zone files without obsolete RR types

6.1.3.7 Robustness
105 Continue to provide service

6.1.3.8 Local Host Table

6.1.4. DNS USER INTERFACE

6.1.4.1 DNS Administration

6.1.4.2 DNS User Interface

6.1.4.3 Interface Abbreviation Facilities

Caching of negative response. Tested at 6.1.3.3

6.1.5. DOMAIN NAME SYSTEM REQUIREMENTS SUMMARY

RFC1982 Serial Number Arithmetic

2. Serial Number Arithmetic

Serial Number Arithmetic #Tested at 7.

3. Operations upon the serial number

3.1. Addition

Addition of serial number #Tested at 7.

3.2. Comparison

Comparison of serial number #Tested at 7.

7. The DNS SOA serial number

DNS SOA serial number
106 Maximum DNS SOA serial number

DNS SOA serial number not be incremented #Tested at above

RFC1995 Incremental Zone Transfer in DNS

2. Brief Description of the Protocol
107 an IXFR client sends an IXFR message
108 an IXFR client receive an IXFR response with the full zone transfer message
109 an IXFR client receive an IXFR response with the incremental message (add)
110 an IXFR client receive an IXFR response with the incremental message (remove)
111 an IXFR client receive an IXFR response with the incremental message (change)
112 an IXFR client receive an IXFR response with the incremental message (remove/add/change)
113 an IXFR client tries an AXFR, if the query type is not recognized by the server.
114 an IXFR client tries to use TCP, if the reply does not fit in a single DNS packet.
115 an IXFR server transmits an IXFR response with the incremental message (add).
116 an IXFR server transmits an IXFR response with the incremental message (remove).
117 an IXFR server transmits an IXFR response with the incremental message (change).
118 an IXFR server received an IXFR request with an older version number.
119 an IXFR server received an IXFR request with a same version number.
120 an IXFR server received an IXFR request with a newer version number.
121 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.

4. Response Format

5. Purging Strategy

6. Optional Condensation of Multiple Versions
122 an IXFR client receive an IXFR response with the condensed incremental message

RFC1996 A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)

1. Rationale and Scope

1.1

1.2 The DNS NOTIFY transaction allows master servers to inform salve servers when the zone has changed
123 an IXFR client sends an IXFR messsage through NOTIFY mechanizm

1.3

2. Definitions and Invariants

2.1

2.2

3. NOTIFY Message

3.1

3.2
124 a master ignores message if fields are not to be filled with binary zero(0).
125 a slave ignores message if fields are not to be filled with binary zero(0).

3.3
126 Slave server sends a NOTIFY response back to the NOTIFY request's source.

3.4
127 Primary Master sends a NOTIFY query

3.5

TCP
128 a master continue to offer name service during the NOTIFY transaction.
129 a slave sends a once a NOTIFY request until timeout

3.6

UDP
130 a master periodically sends a NOTIFY request to a slave until timeout.
131 a master periodically sends a NOTIFY request to a slave until ICMP message indicating.
132 a master periodically sends a NOTIFY request to a slave until a NOTIFY response is received.

3.7
133 ANCOUNT=0 and the answer section differs from the slave's local data
134 ANCOUNT>0 and the answer section differs from the slave's local data

3.8

3.9

3.10
135 a slave ignores a NOTIFY request from a unknown master for the zone.

3.11

3.12
136 a master receives a NOTIMP (unimplemented feature error) message.

4. Details and Examples

RFC2181 Clarifications to the DNS Specification

4.1. UDP Source Address Selection
137 UDP Source Address Selection

4.2. Port Number Selection
138 Port number selection

5. Resource Record Sets

5.1 Sending RRs from an RRSet
139 Sending RRs from an RRSet

5.2. TTLs of RRs in an RRSet
140 TTLs of all RRs in an RRSet must be the same
141 Treat Differing TTLs from non-authoritative source as error
142 Differing TTLs from non-authoritative source
143 Differing TTLs from authoritative source

5.3. DNSSEC Special Cases

5.3.1. SIG records and RRSets

5.3.2. NXT RRs

5.4. Receiving RRSets
144 Never merge RRs from response with RRs in cache
145 Update the TTL in cache with the TTL of the received answer

5.4.1. Ranking data
146 Server makes a judgment by the reliability of data (Data from the answer section of an authoritative answer v.s. Data from the authority section of an authoritative answer)
147 Server makes a judgment by the reliability of data (Data from the answer section of an authoritative answer v.s. Non-authoritative data from the answer section of an authoritative answer)
148 Server makes a judgment by the reliability of data (Data from the answer section of an authoritative answer v.s. Data from the additional section of an authoritative answer)
149 Server makes a judgment by the reliability of data (Data from the authority section of an authoritative answer v.s. Data from the answer section of a non-authoritative answer) 
150 Server makes a judgment by the reliability of data (Data from the authority section of an authoritative answer v.s. Data from the authority section of a non-authoritative answer)
151 Server makes a judgment by the reliability of data (Data from the answer section of an non-authoritative answer v.s. Data from the additional section of a authoritative answer)
152 Least reliability data should not return as answer (Additional section from an authoritative answer)
153 Least reliability data should not return as answer (Authority section from a non-authoritative answer)
154 Least reliability data should not return as answer (Additional section from a non-authoritative answer)

5.5. Sending RRSets (reprise)
155 A Resource Record Set should only be included once in any DNS reply

6. Zone Cuts

6.1. Zone Authority
156 A server for a zone should not return authoritative answer for queries related to names in another name

6.2. DNSSEC issues

7. SOA RRs

7.1. Placement of SOA RRs in authoritative answers
157 SOA records are to be placed in the authority section

7.2. TTLs on SOA RRs

7.3. The SOA MNAME field

8. Time to Live (TTL)
158 Time to live
159 Received with the most significant bit is set *E

9. The TC(truncated) header bit
160 Case of the TC header bit is not set

10. Naming issues

10.1. CNAME resource records

10.1.1. CNAME terminology

10.2. PTR records
161 RRSet for PTR record

10.3. MX and NS records

TBD

11. Name syntax

Label lengthTested at RFC1034 3.1 Name syntax

Domain Name lengthTested at RFC1034 3.1 Name syntax

RFC2308 Negative Caching of DNS Queries (DNS NCACHE)

2. Negative Response

2.1. Name Error
162 Name error (RCODE=NXDOMAIN)

2.1.1. Special Handling of Name Error

2.2. No Data
163 No Data

2.2.1. Special Handling of No Data

3. Negative Answers from Authoritative Servers

TTL SIG record associated with the SOA record should be trimmed (Tested at DNSSEC)

SOA and appropriate NXT and SIG records MUST be added (Tested at DNSSEC)

4. SOA Minimum Field

5. Caching Negative Answers
164 TTL expired negative cache MUST NOT be used(NXDOMAIN)
165 TTL expired negative cache MUST NOT be used(NODATA)
166 Caching of name error (NXDOMAIN) *E [MODIFY]
167 Caching of name error (NXDOMAIN) for query tuple
168 Caching of no data (NODATA) *E [MODIFY]
169 Caching of no data (NODATA) for query tuple

NXT record is stored (Tested at DNSSEC)

NXT record has the same owner name (Tested at DNSSEC)
170 Negative responses without SOA records *E

6. Negative answers from the cache

NXT record is added to the authority section (Tested at DNSSEC)

SIG record is added to the authority section (Tested at DNSSEC)
171 Negative answer should have an implicit referral built into the answer (NXDOMAIN)
172 Negative answer should have an implicit referral built into the answer (NODATA)

7. Other Negative Responses

7.1. Server Failure (OPTIONAL)
173 Resolver cache a server failure response *E
174 Resolver cache a server failure response for query tuple *E
175 Limit of time (5 minutes) for caching (Server Failure) *E

7.2. Dead / Unreachable Server (OPTIONAL)
176 Caching of dead server indication *E
177 Caching of dead server indication for query tuple
178 Limit of time (5 minutes) for caching (Dead/Unreachable Server) *E

8. Changes from RFC1034

Resolver cache a server failure response Tested at 7.1
179 Caching of SOA record *E

Caching of name error (NXDOMAIN) Tested at 5.

Caching of no data (NODATA) Tested at 5.

Negative answers from the cache Tested at 6.

$TTL directive define default TTL Tested at 4.

RFC2671 Extension Mechanisms for DNS (EDNS0)

3. Extended Label Types

3.1.
180 The "0 1" label type [ADVANCED]

3.2.
181 The "1 1 1 1 1 1" extended label type [ADVANCED]

4. OPT pseudo-RR

4.1.
182 OPT pseudo-RR *E [ADVANCED]
183 OPT pseudo-RR (recursive) [ADVANCED]
184 OPT RRs shall never be cached, forwarded, or stored [ADVANCED]
185 The quantity of OPT pseudo-RRs *E [ADVANCED]

4.2.

OPT RRs format of a fixed part (Tested at 4.1.) [ADVANCED]

OPT RRs format of a variable set (Tested at 4.1.) [ADVANCED]

4.3.

OPT RR format *E? (Tested at 4.1.) [ADVANCED]

4.4.

OPT RRs format of a variable set [ADVANCED] (Tested at 4.2.)

4.5.
186 Sender's UDP payload size *E? [ADVANCED]

4.5.1.

4.5.2.
187 Take account of the path's discovered MTU [ADVANCED]

4.5.3.
188 Requestor's maximum payload size change each transaction [ADVANCED]

4.5.4.

4.5.5.

4.6.

OPT RRs format of a fixed part [ADVANCED] (Tested at 4.2.)
189 OPT RRs format of a fixed part (Responder does not implement the VERSION level of the request [ADVANCED]

5. Transport Consideration

5.1.
190 The presence of an OPT pseuduo-RR [ADVANCED]

5.2.
191 The lack of an OPT pseuduo-RR [ADVANCED]

5.3.
192 Responders don't understand OPT RR *E [ADVANCED]
193 Requester probe responder's capability

RFC3596 DNS Extensions to Support IP Version 6

2. New resource record definition and domain
194 AAAA type [ADVANCED]
195 AAAA resource record [ADVANCED]

2.1. AAAA record type

2.2. AAAA data format

2.3. AAAA query

2.4. Textual format of AAAA records

2.5. IP6.ARPA Domain
196 PTR type [ADVANCED]
197 PTR resource data [ADVANCED]

3. Modification to existing query types

This test is already defined at RFC1034 section 3.6.

RFC2782 A DNS RR for specifying the location of services (DNS SRV)
198 SRV type [ADVANCED]
199 SRV resource record [ADVANCED]

RFC3401-3405 Dynamic Deligation Discovery System (DDDS)

RFC3401 Part One: The Comprehensive DDDS

RFC3402 Part Two: The Algorithm

RFC3403 Part Three: The Domain Name System (DNS) Database

4. NAPTR RR Format

4.1 Packet Format
200 NAPTR type
201 Caching NAPTR resource record
202 NAPTR resource record
203 Multiple NAPTR resource records with several ORDER and PREFERENCE
204 Invalid NAPTR resource record format

RFC3404 Part Four: The Uniform Resource Identifiers (URI) Resolution Application

4. The URI and URN Resolution Application Specifications

4.3 Flags
205 Flag in NAPTR resource record (empty)
206 Flag in NAPTR resource record (P flag)
207 Flag in NAPTR resource record (A flag)
208 Flag in NAPTR resource record (S flag)
209 Multiple Flags in NAPTR resource record (X,Y flag)

4.5 Valid Databases
210 Additional Section Processing for NAPTR resource record (A flag)
211 Additional Section Processing for NAPTR resource record (S flag)

RFC3405 Part Five: URI.ARPA Assignment Procedures



Terminology
Index
This Report was generated by TAHI IPv6 Conformance Test Suite