Index: [Article Count Order] [Thread]

Date: Tue, 29 Nov 2005 15:56:52 +0900
From: Hideshi Enokihara <Hideshi.Enokihara@jp.yokogawa.com>
Subject: [dnstest:00010] Question about some bits in DNS header
To: namedroppers@ops.ietf.org, dnstest@tahi.org
Message-Id: <20051129155652.23526ed0.Hideshi.Enokihara@jp.yokogawa.com>
X-Mail-Count: 00010

Hi all,

I have two questions about treatment of DNS header format.

-------------------------------------------------
1.Treatment of the AA bit in response

For example, the following topologys are assumed. 

        AP Server1              DNS Server2
          |A.example.org           |example.org
          |3ffe:501:ffff:101::10   |3ffe:501:fffff:101::20
          |192.168.1.10            |192.168.1.20
          |                        | 
Net-y   --+--------+---------------+---------------------- 3ffe:501:ffff:101::/64
                   |                                       192.168.1/24
                   |
                   |
                 Router
                   |3ffe:501:ffff:100::1
                   |192.168.0.1
                   |
                   |
Net-z   --+--------+-----------------+-------------------- 3ffe:501:ffff:100::/64
          |                          |                     192.168.0/24
          |                          |
        DNS Server1               DNS Cient1
           3ffe:501:ffff:100::XXXX    3ffe:501:fffff:100::20
           192.168.0.10               192.168.0.20

	
In this topology, 1.DNS Client1 send query for QNAME=A.example.org,QTYPE=A to DNS Server1.
And 2.DNS Server1 send (recursive) query to DNS Server2 that is Authority of "example.com".
3. DNS Server2 send response with AA bit=1 to DNS Server1.
I have the question about next response(4). 

   DNS Client1                    DNS Server1                      DNS Server2
        |                              |                                 |
        |----------------------------->|                                 |
        | 1. Send standard query       |                                 |
        |    QNAME=A.example.org       |                                 |
        |    QTYPE=A                   |                                 |
        |                              |                                 |
        |                              |-------------------------------->|
        |                              | 2. Send standard query          |
        |                              |  QNAME=A.example.org            |
        |                              |  QTYPE=A                        |
        |                              |                                 |
        |                              |<--------------------------------|
        |                              | 3. Send standard response       |
        |                              |  QNAME=A.example.org            |
        |                              |  QTYPE=A                        |
        |                              |  ANSWER Name=A.example.org      |
        |                              |  ANSWER Address=192.168.1.10    |
        |                              |  AUTHORITY Name=example.org     |
        |                              |  AUTHORITY Name Server          |
        |                              |            =NS2.example.org     |
        |                              |  ADDITIONAL Name=NS2.example.org|
        |                              |  ADDITIONAL Address=192.168.1.20|
        |                              |                                 |
        |<-----------------------------|                                 |
        | 4. Standard query response   |                                 | 
        |  QNAME=A.example.org         |                                 |
        |  QTYPE=A                     |                                 |
        |  ANSWER Name=A.example.org   |                                 |
        |  ANSWER Address=192.168.1.10 |                                 |
        |  Authority Name=example.org  |                                 |
        |  Authority Name Server       |                                 |
        |            =NS2.example.org  |                                 |
        v                              v                                 v 

In this response(4), should DNS Server1 set AA bit to 1 or 0?
Which behavior is correct as DNS Server in accordance with RFC?

-------------------------------------------------
2.Treatment of the AA, RA bits in query

RFC1035 says,
-----------
AA              Authoritative Answer - this bit is valid in responses,
                and specifies that the responding name server is an
                authority for the domain name in question section.
-----------
and,
-----------
RA              Recursion Available - this be is set or cleared in a
                response, and denotes whether recursive query support is
                available in the name server.
-----------

These two bits(AA,RA) is valid in response.
How should I treat this bit in query?

If I want to check these bits in query,
should I assume these values to be 0?
Or, should not I assume any value?


How do you think?
Any comment are welcome.

Best Regards,

-- 
*************************************
Hideshi Enokihara
IPv6 Business
Network & Software Development Dept.
Yokogawa Electric Corporation