Link to home
Start Free TrialLog in
Avatar of wuitsung
wuitsungFlag for Canada

asked on

recursive DNS and forwarder DNS, Same??

Just wondering recursive DNS and forwarder DNS are the same thing?

Also in windows 2003 server (see the screenshot below).
I am forwarding other request to 10.0.1.2 and I also checked the "Do not use recursion for this doamin" ..... does this mean if I don't chekc the box, when the forwarding fail, my DNS will try to contact root server in the internet?
dns.JPG
SOLUTION
Avatar of Rajith Enchiparambil
Rajith Enchiparambil
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Yes.

In your case, anything that your DNS server does know gets forwarded to 10.0.1.2
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Chris Dent

> With recursive queries the DNS server doesn't attempt to contact another DNS server
> to get the information a client is asking for.

You really meant "doesn't" there? Because it does.

The Server effectively performs an Iterative Query on behalf of a client if the client has requested Recursion. For the server to resolve like that it must first contact the Root Servers, then the Top Level Domain Servers, then, hopefully, the Authoritative Servers for the domain.

As a side-note to all this:

The client, if it's Windows, cannot perform an Iterative Query. The MS DNS Resolver is a Stub Resolver, it's not capable of name resolution without a DNS server.

Chris

Oh and aside from the minor note about the Stub Resolver the articles originally posted by Rajith_Enchiparambil contain a very good description of how all this works. You could do far worse than have those as descriptions :)

Chris
Avatar of wuitsung

ASKER

Thanx mkaustubh. And just to make sure.. does it mean Recursive query is from client side to DNS and Iterative query is from DNS to other DNS or root hint? and do you think my local DNS can nerver be client?

To Chris-Dent: "You really meant "doesn't" there? Because it does." You mean it's not true? Can you explain more in detail? Thank you.
I found a good article http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/cnet/cncc_dns_eqhi.mspx?mfr=true

But I still don't understand some poitns in the article.
"With a recursive name query , the DNS client requires that the DNS server respond to the client with either the requested resource record or an error message"

"An iterative name query is one in which a DNS client allows the DNS server to return the best answer it can give based on its cache or zone data."

In this 2 phrase, what is the difference??? recursive name query also use cache as well.

The DNS Client will generally perform one of two types of query. Recursive or Iterative.

When a DNS Client requests Recursion it means it's asking a DNS server to do work for it.

When the request is Iterative it means the DNS Server should give the best response it can (either from cache or because of authority) then the client will take it from there.

We bump into a little difficultly because the Windows DNS Resolver is a Stub Resolver. It is completely incapable of performing an Iterative query. It must have the support of a DNS Server.

As administrators this is probably a good thing. It would make our naming environments extremely difficult to troubleshoot if the client might go off and do things on it's own.

If you take a look at the picture in the first article posted above it shows:

1. A DNS client making a request to a DNS Server
2. The DNS Server performing a Recursive query, starting with the Root Servers and working its way down.

For that to make sense, think of DNS as a Tree. The root servers are represened by the trunk, the Top Level Domain server (that's .com and such) are the main branches, then all the domains and sub-domains make up minor branches and twigs (the host records can be the leaves). You can't get from the base of the tree to a leaf without passing through the trunk, the main branches and all the twigs inbetween.

That links back to this statement:

> Recursive queries are not forwarded to other DNS servers.
> With recursive queries the DNS server doesn't attempt to contact another DNS server to get the
> information a client is asking for.

The first part is correct. Recursive queries are not Forwarded, they are resolved recursively.

However, when the server itself is performing a recursive query it will contact each DNS server down the chain, beginning with the Root Servers. Just like climbing the tree to get to the leaf, or whatever metaphor makes most sense.

The DNS Server can never be a DNS Client because it lacks one component. The ability to talk with programs outside of it's immediate area of interest. DNS only talks to other DNS servers or DNS clients. Programs, applications, etc, those talk to the DNS Client.

Chris
Just an update.. after I see the example in the article. I think in windows environment. The recursive is only etween client and my local DNS server.
And the Iterative queries takes place only between my local DNS server, ONLY if I enabled my root hint.

Please point me out if I say somethign wrong

>  recursive name query also use cache as well.

Absolutely. But if it doesn't have a cached record it will go and find an answer (whether positive or negative).

With the Iterative query it doesn't. It stops there and it's down to the client to figure it all out.

Chris
Thank you Chris-Dent. "Windows DNS Resolver is a Stub Resolver. It is completely incapable of performing an Iterative query. It must have the support of a DNS Server."

So it mean that my xp client not able to do a Iterative query... so who is able to do it? linux ex: Ubuntu?

Second question. "1. A DNS client making a request to a DNS Server
2. The DNS Server performing a Recursive query, starting with the Root Servers and working its way down."

But from the article I posted(see the screenshot). I think for the 2 step here, it should be Iterative query, not Recursive query.
CNCC03.gif
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi Chris-Dent, just want to make sure 1 more thing.. for te 1st screenshot I posted at top. I checked the "Do not use recursion for this doamin". What does this really mean? mean not to contact root or something else?

If means if the forwarder is not available it should return a negative response instead of heading off to the public servers to try and resolve the name.

Chris
Than you!! when you say "public servers "... do you mean root servers?