Hi All

Kevin Darcy kcd at daimlerchrysler.com
Wed Jun 2 20:02:07 UTC 2004


Jim Reid wrote:

>    Servet> 4- PTR(Domain name Pointer): how different is this from
>    Servet> CNAME?
>
>In simple terms PTR records are for reverse mapping IP addresses to
>hostnames. CNAMEs are a way of aliasing one domain name to another.
>
In _less_ simple terms, PTR and CNAME are *syntactically* identical, and 
in fact PTR records can be used for many purposes other than reverse 
records. CNAMEs, however, have the special property in that they cause a 
"query restart" in the name-resolution algorithm. In other words, if I 
query "foo" and in the course of resolving that name, a resolver 
encounters the record "foo in cname bar", then the query is "restarted" 
as if it had been a query for "bar" in the first place. The CNAME record 
is recorded in the Answer Section of the response so that the client can 
understand the aliasing that occurred. PTR records don't have this 
special aliasing property; they're just plain old "leaf" nodes that 
associate one DNS name with another.

Because of the aliasing property of CNAME records, there are stricter 
semantic restrictions on their use. For instance, a name cannot own 
multiple CNAME records. Also, if a name owns a CNAME record, it cannot 
own any records of any other type. These restrictions do not apply to 
PTR records.

>    Servet> 5- what is "additional section processing"? 
>
>Just what it says. It documents how name servers and resolvers are
>expected to process any data in the Additional Section of a reply.
>
Record types that have names in their RDATA which are usually *expected* 
to resolve to A records, generally trigger Additional Section 
processing, so that the A records are put in the Additional Section of 
the original response, thus obviating subsequent A-record queries by the 
client for that information. Consequently, MX and NS records cause 
Additional Section processing, and Additional Section processing is 
"urged" for SRV records, but PTRs and SOAs do *not* automatically cause 
Additional Section processing -- since clients aren't always interested 
in translating those names in the RDATA into A records. CNAMEs don't 
automatically trigger Additional Section processing either, because the 
A records, if any, will usually (if the responding server was able to 
fully resolve the query) be in the Answer Section if QTYPE=A because of 
the aliasing logic described above, and if QTYPE is not A, then the 
client probably isn't interested in the A records anyway, so why bloat 
the response packet with them?

                                                                         
                                                   - Kevin



More information about the bind-users mailing list