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