IPv6 Conformance Test For DNS


No.Title

Server Test

RFC 1034: Domain Concepts and Facilities

3. DOMAIN NAME SPACE AND RESOURCE RECORDS

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

3.5. Preferred name syntax
4Rule for label

3.6. Resource Records

NAME

NAME (owner) is tested at TYPE test.

TYPE
5A type
6CNAME type
7HINFO type
8MX type
9NS type
10PTR type
11SOA type

CLASS
12IN class

CH class

TTL

RDATA
13A resource data (IN class)

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

Caching
20Zero TTL prohibits caching

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

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

Opcode (status query)

3.7.1. Standard queries
26Question section format

QTYPE
27* type for query
28* type for response

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

3.7.2. Inverse queries (Obsoleted by RFC3425)

4. NAME SERVERS

4.1. Introduction
30The 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
31No-recursive queries
32Name server acts in the role of a resolver

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

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

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

A temporary error indication

(Tested at 4.3.1. No-recursive queries)

4.3.2. Algorithm

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

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

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

The "*" label does exist.

(Tested at 4.3.3. Wildcards)

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

(Tested at 5.3.3. Algorithm.)

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

4.3.4. Negative response caching (Optional)

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

5. RESOLVERS

5.1 Introduction

5.2. Client-resolver interface

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

5.2.2. Aliases
52Encounters a CNAME
53Multiple 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
54Cache data vs authoritative data

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

RFC 1035: Domain Implementation and Specification

2.3.1. Preferred name syntax

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

2.3.3. Character Case

2.3.4. Size limits

3. DOMAIN NAME SPACE AND RR DEFINITIONS

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

3.2. RR definitions

3.2.1. Format

3.2.2. TYPE values
65WKS type
66TXT type

3.3. Standard RRs

(Tested at 3.2.2. TYPE values)

3.3.14. TXT RDATA format
67TXT resource data

3.4. Internet specific RRs

3.4.1. A RDATA format

3.4.2. WKS RDATA format
68WKS resource data

3.5. IN-ADDR.ARPA domain

(Tested at 3.3.12. PTR RDATA format)

4. MESSAGES

4.1. Format

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

4.1.2. Question section format

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

4.1.4. Message compression
79Message compression
80Message compression format

4.2. Transport

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

4.2.2. TCP usage
83TCP connection management check

6. NAME SERVER IMPLEMENTATION

6.1. Architecture

6.1.1. Control
84Accept UDP while server waits TCP connecting

6.1.2. Database

6.1.3. Time

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

6.3. Zone refresh and reload processing

6.4. Inverse queries (Optional)

Obsoleted by RFC3425

7. RESOLVER IMPLEMENTATION

7.1. Transforming a user request into a query

7.2. Sending the queries

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

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

RFC 1123: Requirements for Internet Hosts -- Application and Support

6. SUPPORT SERVICES

6.1. DOMAIN NAME TRANSACTION

6.1.1. INTRODUCTION

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.

6.1.2.2. QCLASS Values: RFC-1035 Section 3.2.5

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

Unused fields in a query.

6.1.2.4. Compression: RFC-1035 Section 4.1.4

Message compression.

6.1.2.5. Misusing Configuration Info: RFC-1035 Section 6.1.2

6.1.3. SPECIFC ISSUES

6.1.3.1 Resolver Implementation
95Multiplex concurrent requests

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

(B) Stub Resolver

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

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

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
105Continue 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. Efficient Resource Usage)

RFC 1995: Incremental Zone Transfer in DNS

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

RFC 1996: 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
122An IXFR client sends an IXFR message through NOTIFY mechanism

3. NOTIFY Message

3.1

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

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

3.4
126Primary Master sends a NOTIFY query

3.5

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

3.6

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

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

3.8

3.9

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

3.11

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

RFC 2181: Clarifications to the DNS Specification

4.1. UDP Source Address Selection
136UDP Source Address Selection

4.2. Port Number Selection
137Port number selection

5. Resource Record Sets

5.1 Sending RRs from an RRSet
138Sending RRs from an RRSet

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

5.3. DNSSEC Special Cases

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

5.4.1. Ranking data
145Server 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)
146Server 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)
147Server 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)
148Server 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)
149Server 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)
150Server 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)
151Least reliability data should not return as answer (Additional section from an authoritative answer)
152Least reliability data should not return as answer (Authority section from a non-authoritative answer)
153Least reliability data should not return as answer (Additional section from a non-authoritative answer)

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

6. Zone Cuts

6.1. Zone Authority
155A 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
156SOA records are to be placed in the authority section

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

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

10. Naming issues

10.1. CNAME resource records

10.2. PTR records
160RRSet for PTR record

RFC 2308: DNS NCACHE

2. Negative Response

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

2.1.1. Special Handling of Name Error

2.2. No Data
162No Data

3. Negative Answers from Authoritative Servers

(Related to DNSSEC)

4. SOA Minimum Field

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

NXT record is stored

(Related to DNSSEC)

NXT record has the same owner name

(Related to DNSSEC)
169Negative responses without SOA records

6. Negative answers from the cache

NXT record is added to the authority section

(Related to DNSSEC)

SIG record is added to the authority section

(Related to DNSSEC)
170Negative answer should have an implicit referral built into the answer (NXDOMAIN)
171Negative answer should have an implicit referral built into the answer (NODATA)

7. Other Negative Responses

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

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

8. Changes from RFC1034

Resolver cache a server failure response

(Tested at 7.1. Server Failure)
178Caching of SOA record

Caching of name error (NXDOMAIN)

(Tested at 5. Caching Negative Answers)

Caching of no data (NODATA)

(Tested at 5. Caching Negative Answers)

Negative answers from the cache

(Tested at 6. Negative answers from the cache)

$TTL directive define default TTL

(Tested at 4. SOA Minimum Field)

RFC 2671: Extension Mechanisms for DNS (EDNS0)

4. OPT pseudo-RR
179OPT pseudo-RR
180OPT pseudo-RR (recursive)

5. Transport Consideration

5.1.
181The presence of an OPT pseuduo-RR

5.2.
182The lack of an OPT pseuduo-RR

5.3.
183Responders don't understand OPT RR

RFC 2782: DNS SRV RR
184SRV type
185SRV resource record

RFC 3401: DDDS - The Comprehensive DDDS
RFC 3402: DDDS - The Algorithm
RFC 3403: DDDS DNS Database
RFC 3404: DDDS Based URI Resolution
RFC 3405: URI.ARPA Assignment Procedures

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
186NAPTR type
187Caching NAPTR resource record
188NAPTR resource record
189Multiple NAPTR resource records with several ORDER and PREFERENCE
190Invalid 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
191Flag in NAPTR resource record (empty)
192Flag in NAPTR resource record (P flag)
193Flag in NAPTR resource record (A flag)
194Flag in NAPTR resource record (S flag)
195Multiple Flags in NAPTR resource record (X,Y flag)

4.5 Valid Databases
196Additional Section Processing for NAPTR resource record (A flag)
197Additional Section Processing for NAPTR resource record (S flag)

RFC3405 Part Five: URI.ARPA Assignment Procedures

RFC 3425: Obsoleting IQUERY

3 - Effect on RFC 1035
198Returning Not Implemented error

RFC 3596: DNS Extensions to Support IPv6

2. New resource record definition and domain

2.1. AAAA record type

2.2. AAAA data format

2.3. AAAA query
199AAAA type
200AAAA resource record

2.4. Textual format of AAAA records

2.5. IP6.ARPA Domain
201PTR type
202PTR resource data

Client Test

RFC 1034: Domain Concepts and Facilities

3. DOMAIN NAME SPACE AND RESOURCE RECORDS

Name syntax
203Label length
204Domain Name length
205Rule for label

3.6. Resource Records

type
206A record
207CNAME record
208HINFO record
209MX record
210NS record
211PTR record (A)
212PTR record (AAAA)
213SOA record

class
214IN class
215CH class

Caching
216Zero TTL prohibits caching

3.7.Queries
217Carried in TCP
218Standard message format
219Opcode (standard query)
220Opcode (status query)

3.7.1. Standard queries
221Question section format

QTYPE
222AXFR record
223* record

QCLASS
224* class

4.3.1. Queries and responses
225Recursion desired (RD)

4.3.3. Wildcards
226Caching wildcards response

5. RESOLVERS

5.2. Client-resolver interface
227Returning of answer
228Returning of name error
229Returning of data not found error

5.2.2. Aliases
230Encounters a CNAME

5.2.3. Temporary failures

5.3. Resolver internals

5.3.2. Resources
231Cache data vs authoritative data

5.3.3. Algorithm
232Answer in local information
233Sending query to servers
234Analyze the response (delegation)
235Analyze the response (caching delegation)
236Analyze the response (caching CNAME)
237Analyze the response (answer is invalid for recursive)
238Analyze the response (answer is invalid for caching)
239Analyze the response (delegation is invalid)

RFC 1035: Domain Implementation and Specification

2.3.2 Data Transmission Order
240Order of transmission of octets and bits

3.1 Name space definitions
241Label format
242Label of root

3.2.1 Format

3.2.2 TYPE values
243MB record
244MG record
245MR record
246NULL record
247WKS record
248MINFO record
249TXT record

3.2.3 QTYPE values
250MAILB record

3.2.4 CLASS values
251HS class

4.1 Format
252Header section format

4.1.4 Message compression
253Message compression

4.2.1 UDP usage
254Not depend on response in order

7.3 UDP Processing responses
255Invalid response (Query is returned)
256Invalid response (RRs are incorrectly formatted)
257Invalid response (Long TTL) (optional)
258Invalid response (ID does not match)
259Invalid response (Invalid question section)

7.4 Using the cache
260Caching several RRs of same type

RFC 1123: Requirements for Internet Hosts -- Application and Support

6. SUPPORT SERVICES

6.1 DOMAIN NAME TRANSLATION

6.1.2 PROTOCOL WALK-THROUGH

6.1.2.3 Unused Fields: RFC-1035 Section 4.1.1
261Unused fields in a query

6.1.3.1 Resolver Implementation
262Multiplex concurrent requests

Full-Service Resolver
263Time out of cache

6.1.3.2 Transport Protocols
264Caching truncated responses
265Multicast query

6.1.3.3 Efficient Resource Usage
266Retransmission control
267Caching of temporary failure

RFC 2181: Clarifications to the DNS Specification

5.2 TTLs of RRs in an RRSet
268Differing TTLs from non-authoritative source
269Differing TTLs from authoritative source

8. Time to Live (TTL)
270Received with most significant bit is set

RFC 2308: DNS NCACHE

5. Caching Negative Answers
271Caching of name error (NXDOMAIN)
272TTL expired negative cache MUST NOT be used (NXDOMAIN)
273Caching of name error (NXDOMAIN) for query tuple
274Caching of no data (NODATA)
275TTL expired negative cache MUST NOT be used (NODATA)
276Caching of no data (NODATA) for query tuple
277Negative responses without SOA records

7.1 Server Failure (OPTIONAL)
278Resolver cache a server failure response
279Resolver cache a server failure response for query tuple
280Limit of time (5 minutes) for caching (Server Failure)

7.2 Dead / Unreachable Server (OPTIONAL)
281Caching of dead server indication
282Caching of dead server indication for query tuple
283Limit of time (5 minutes) for caching (Dead/Unreachable Server)

8 Changes from RFC1034
284Caching of SOA record

RFC 2671: Extension Mechanisms for DNS (EDNS0)

4 - OPT pseudo-RR
285OPT pseudo-RR
286The quantity of OPT pseudo-RRs
287Check OPT RR format
288Check Sender's UDP payload size

5 - Transport Considerations
289Responders don't understand OPT RR

RFC 2782: DNS SRV RR
290SRV record
291Returning of answer
292Returning of answer (w/o Additional Data section)
293Priority comparison
294Priority comparison (round-robin)
295Weight comparison
296NXDOMAIN

RFC 3401: DDDS - The Comprehensive DDDS
RFC 3402: DDDS - The Algorithm
RFC 3403: DDDS DNS Database
RFC 3404: DDDS Based URI Resolution
RFC 3405: DDDS URI.ARPA Assignment Procedures


RFC3402 Part Two: The Domain Name System (DNS) Database


RFC3403 Part Three: The Domain Name System (DNS) Database
297NAPTR resource record query

4. NAPTR RR Format

4.1 Packet Format
298Order comparison
299Preference comparison
300Flag "" to control rewriting and interpretation
301Flag "A" to control rewriting and interpretation
302Flag "S" to control rewriting and interpretation
303Selection of services
304Encounter Unknown flag
305Both REGEXP and REPLACEMENT fields exist.

6. Example
306E164 to Uniform Resource Identifiers (URI)

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

5. Examples
307URN resolution

RFC3405 Part Five: URI.ARPA Assignment Procedures

RFC3425 Obsoleting IQUERY

3 - Effect on RFC 1035
308Obsoleting IQUERY

RFC3596 DNS Extensions to Support IP Version 6

2 New resource record definition and domain

2.1 AAAA record type
309AAAA record