Basci question on iterative vs recursive queries

Discussion in 'DNS Server' started by Marlon Brown, Jan 17, 2007.

  1. Marlon Brown

    Marlon Brown Guest

    Hi, can you help me understand this?
    Following the explanation below from microsoft.com on basic DNS operations,
    I don't understand
    when step1 states that "the DNS server for that client is responsible for
    resolving the name and cannot refer the DNS client to another DNS server".
    Then on step 2, it states that the "DNS server that received the initial
    recursive query checks its zones and finds no zones... then it sends an
    iterative query for www.example.com to a root name server".

    Isn't there a contradicition there on that statement?
    I don't understand well why it states that the "DNS server for that
    client...cannot refer the DNS client to another DNS server". On step 2 you
    see that as soon as the DNS server found out it couldn't resolve it, it did
    refer to another DNS server, right ?




    "
    1.
    The DNS resolver on the DNS client sends a recursive query to its
    configured DNS server, requesting the IP address corresponding to the name
    "www.example.com". The DNS server for that client is responsible for
    resolving the name and cannot refer the DNS client to another DNS server.

    2.
    The DNS server that received the initial recursive query checks its
    zones and finds no zones corresponding to the requested domain name; the DNS
    server is not authoritative for the example.com domain. Because the DNS
    server has no information about the IP addresses of DNS servers that are
    authoritative for example.com. or com., it sends an iterative query for
    www.example.com. to a root name server..."
     
    Marlon Brown, Jan 17, 2007
    #1
    1. Advertisements

  2. Marlon Brown

    Herb Martin Guest

    DNS servers take over the ENTIRE resolution operatin for the client -- all
    or
    nothing.

    Then the DNS Server (NOT the CLIENT) finds the answer by query
    other DNS servers.
    Not at all.
    Clients only use ONE DNS Server (the first that answers). DNS
    servers might use others (through recursion or forwarding to find
    the resolution FOR the client.)
    No, it didn't "refer the client" -- it went and ask itself (the DNS server.)

    Like this example:

    You asked a question (you're the client, I played the role of server)

    I didn't tell you to ask Joe, or Jorge, or Paul etc.

    Had I not known the answer with this example, I would have been
    required to go find someone (Joe, Jorge, or Paul, etc) who did
    know the answer instead of sending YOU to them.

    Were I to send YOU elsewhere this would be referrel. Were I to
    transfer the job to Joe that would be forwarding (and he would
    eventually give me the answer to tell you). Were I to USE Joe
    to find someone else to ask then someone else until *I* found the
    answer this would be recursion.

    The word 'recursion' is DIFFERENT from the phrase "recursive query.

    Recursion is the process of going from top down through a hierarchy
    re-asking the same question until an answer is found OR until an answer
    can be shown to be impossible to find.

    A "recursive query" is when a machine (usually a client but this is true
    for forwarding where the first DNS server becomes a 'client' of the
    forwarder) marks a certain bit that say, "Don't just tell me what YOU
    know, go find the answer if you don't know it."
    Iterative queries are the alternative to recursive queries. In an iterative
    query
    one machine (usually a DNS server) asks another: "Tell me what you know;
    don't bother to go ask anyone else."

    Part of the confusion is that when DOING RECURSION a DNS server
    uses iterative queries at each step.
     
    Herb Martin, Jan 17, 2007
    #2
    1. Advertisements

  3. Marlon Brown

    Marlon Brown Guest

    Nice to have you around.


     
    Marlon Brown, Jan 18, 2007
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.