What happens in a recursive dns query, if ttl = 0? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Community Moderator Election Results Why I closed the “Why is Kali so hard” questionWhat is a “recursive DNS query”?Verbose DNS query to see DNS query order?Looking up a local domain name without specifying the local DNS serverHow to verify hosts are being denied access to nameserver?How to understand TTL values in dig command output?Configure Bind to use specific server as starting point for recursive query?Override TTL Setting External DNS RecordsWhy is BIND not automatically trying all nameservers, especially when an IPv6 nameserver is unreachable?BIND / old DNS entries in Google cacheWeird DNS problem with Ubuntu 18.04

How to find all the available tools in macOS terminal?

Fundamental Solution of the Pell Equation

prime numbers and expressing non-prime numbers

How to tell that you are a giant?

Using et al. for a last / senior author rather than for a first author

Why is my conclusion inconsistent with the van't Hoff equation?

If a contract sometimes uses the wrong name, is it still valid?

How to deal with a team lead who never gives me credit?

Short Story with Cinderella as a Voo-doo Witch

What does an IRS interview request entail when called in to verify expenses for a sole proprietor small business?

Why did the IBM 650 use bi-quinary?

Are two submodules (where one is contained in the other) isomorphic if their quotientmodules are isomorphic?

3 doors, three guards, one stone

How to bypass password on Windows XP account?

Echoing a tail command produces unexpected output?

Can a USB port passively 'listen only'?

Why are Kinder Surprise Eggs illegal in the USA?

Should I discuss the type of campaign with my players?

Apollo command module space walk?

Why was the term "discrete" used in discrete logarithm?

Identify plant with long narrow paired leaves and reddish stems

Is the Standard Deduction better than Itemized when both are the same amount?

Book where humans were engineered with genes from animal species to survive hostile planets

How would the world control an invulnerable immortal mass murderer?



What happens in a recursive dns query, if ttl = 0?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionWhat is a “recursive DNS query”?Verbose DNS query to see DNS query order?Looking up a local domain name without specifying the local DNS serverHow to verify hosts are being denied access to nameserver?How to understand TTL values in dig command output?Configure Bind to use specific server as starting point for recursive query?Override TTL Setting External DNS RecordsWhy is BIND not automatically trying all nameservers, especially when an IPv6 nameserver is unreachable?BIND / old DNS entries in Google cacheWeird DNS problem with Ubuntu 18.04



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















In name resolution (current version of bind), what happens when a recursive answer reaches ttl 0 on the return trip?










share|improve this question






























    3















    In name resolution (current version of bind), what happens when a recursive answer reaches ttl 0 on the return trip?










    share|improve this question


























      3












      3








      3


      1






      In name resolution (current version of bind), what happens when a recursive answer reaches ttl 0 on the return trip?










      share|improve this question
















      In name resolution (current version of bind), what happens when a recursive answer reaches ttl 0 on the return trip?







      dns bind






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jul 9 '18 at 11:06









      peterh

      4,524113461




      4,524113461










      asked Dec 17 '12 at 8:49









      8Mhz8Mhz

      1612




      1612




















          2 Answers
          2






          active

          oldest

          votes


















          2














          Do you mix up IP and DNS Time-To-Live's?



          An IP packet's TTL...




          is set by the sender of the datagram, and reduced by every router on the route to its destination. If the TTL field reaches zero before the datagram arrives at its destination, then the datagram is discarded and an ICMP error datagram (11 - Time Exceeded) is sent back to the sender.




          The TTL of DNS records




          are set by an authoritative name server for a particular resource record. When a caching (recursive) nameserver queries the authoritative nameserver for a resource record, it will cache that record for the time (in seconds) specified by the TTL.




          Thus a DNS record's TTL never reaches zero; whereas the IP packet that is used to request a DNS record might reach TTL=0, what would result in the sender receiving the mentioned ICMP error.






          share|improve this answer






























            2














            The TTL value is the time (usually in secs) a cached dns entry is kept in cache before it is refreshed. So once the TTL value reaches zero, it will go query the authoritative nameserver again for an up-to-date dns entry.



            You can see this refreshing of dns entries with the dig command.
            Here's an example of dig querying the google.com domain (I chose this domain because of its small TTL value so I don't need to wait so long for the dns entry to be refreshed):



            $ dig google.com

            ; <<>> DiG 9.8.1-P1 <<>> google.com
            ;; global options: +cmd
            ;; Got answer:
            ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39327
            ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0

            ;; QUESTION SECTION:
            ;google.com. IN A

            ;; ANSWER SECTION:
            google.com. 154 IN A 74.125.237.33 <== '154 is the TTL value'
            ... (ANSWERS TRUNCATED)

            ;; Query time: 16 msec <== notice that the query took 16ms to complete
            ;; SERVER: 127.0.0.1#53(127.0.0.1)
            ;; WHEN: Mon Dec 17 21:04:56 2012
            ;; MSG SIZE rcvd: 204


            Now check the Query time again...



            $ dig google.com

            ... (HEADER TRUNCATED)

            ;; QUESTION SECTION:
            ;google.com. IN A

            ;; ANSWER SECTION:
            google.com. 103 IN A 74.125.237.35 <== TTL value gradually decreases over time
            ... (ANSWERS TRUNCATED)

            ;; Query time: 2 msec <== query time is much smaller!
            ;; SERVER: 127.0.0.1#53(127.0.0.1)
            ;; WHEN: Mon Dec 17 21:05:48 2012
            ;; MSG SIZE rcvd: 204


            Query time is smaller because the locally cached value of google.com is being returned.



            Now let's wait for the TTL value to decrease to zero...



            $ dig google.com @localhost

            ... (HEADER TRUNCATED)

            ;; QUESTION SECTION:
            ;google.com. IN A

            ;; ANSWER SECTION:
            google.com. 5 IN A 74.125.237.34
            ... (ANSWERS TRUNCATED)

            ;; Query time: 2 msec
            ;; SERVER: 127.0.0.1#53(127.0.0.1)
            ;; WHEN: Mon Dec 17 21:07:26 2012
            ;; MSG SIZE rcvd: 204


            almost there...



            $ dig google.com @localhost

            ... (HEADER TRUNCATED)

            ;; QUESTION SECTION:
            ;google.com. IN A

            ;; ANSWER SECTION:
            google.com. 1 IN A 74.125.237.39
            ... (ANSWERS TRUNCATED)

            ;; Query time: 2 msec
            ;; SERVER: 127.0.0.1#53(127.0.0.1)
            ;; WHEN: Mon Dec 17 21:07:30 2012
            ;; MSG SIZE rcvd: 204


            Now the cached dns value is refreshed; TTL value starts counting down again...



            $ dig google.com @localhost

            ... (HEADER TRUNCATED)

            ;; QUESTION SECTION:
            ;google.com. IN A

            ;; ANSWER SECTION:
            google.com. 291 IN A 74.125.237.131
            ... (ANSWERS TRUNCATED)

            ;; Query time: 16 msec <== Notice the longer Query time again.
            ;; SERVER: 127.0.0.1#53(127.0.0.1)
            ;; WHEN: Mon Dec 17 21:07:32 2012
            ;; MSG SIZE rcvd: 204





            share|improve this answer

























              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "106"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f58672%2fwhat-happens-in-a-recursive-dns-query-if-ttl-0%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              Do you mix up IP and DNS Time-To-Live's?



              An IP packet's TTL...




              is set by the sender of the datagram, and reduced by every router on the route to its destination. If the TTL field reaches zero before the datagram arrives at its destination, then the datagram is discarded and an ICMP error datagram (11 - Time Exceeded) is sent back to the sender.




              The TTL of DNS records




              are set by an authoritative name server for a particular resource record. When a caching (recursive) nameserver queries the authoritative nameserver for a resource record, it will cache that record for the time (in seconds) specified by the TTL.




              Thus a DNS record's TTL never reaches zero; whereas the IP packet that is used to request a DNS record might reach TTL=0, what would result in the sender receiving the mentioned ICMP error.






              share|improve this answer



























                2














                Do you mix up IP and DNS Time-To-Live's?



                An IP packet's TTL...




                is set by the sender of the datagram, and reduced by every router on the route to its destination. If the TTL field reaches zero before the datagram arrives at its destination, then the datagram is discarded and an ICMP error datagram (11 - Time Exceeded) is sent back to the sender.




                The TTL of DNS records




                are set by an authoritative name server for a particular resource record. When a caching (recursive) nameserver queries the authoritative nameserver for a resource record, it will cache that record for the time (in seconds) specified by the TTL.




                Thus a DNS record's TTL never reaches zero; whereas the IP packet that is used to request a DNS record might reach TTL=0, what would result in the sender receiving the mentioned ICMP error.






                share|improve this answer

























                  2












                  2








                  2







                  Do you mix up IP and DNS Time-To-Live's?



                  An IP packet's TTL...




                  is set by the sender of the datagram, and reduced by every router on the route to its destination. If the TTL field reaches zero before the datagram arrives at its destination, then the datagram is discarded and an ICMP error datagram (11 - Time Exceeded) is sent back to the sender.




                  The TTL of DNS records




                  are set by an authoritative name server for a particular resource record. When a caching (recursive) nameserver queries the authoritative nameserver for a resource record, it will cache that record for the time (in seconds) specified by the TTL.




                  Thus a DNS record's TTL never reaches zero; whereas the IP packet that is used to request a DNS record might reach TTL=0, what would result in the sender receiving the mentioned ICMP error.






                  share|improve this answer













                  Do you mix up IP and DNS Time-To-Live's?



                  An IP packet's TTL...




                  is set by the sender of the datagram, and reduced by every router on the route to its destination. If the TTL field reaches zero before the datagram arrives at its destination, then the datagram is discarded and an ICMP error datagram (11 - Time Exceeded) is sent back to the sender.




                  The TTL of DNS records




                  are set by an authoritative name server for a particular resource record. When a caching (recursive) nameserver queries the authoritative nameserver for a resource record, it will cache that record for the time (in seconds) specified by the TTL.




                  Thus a DNS record's TTL never reaches zero; whereas the IP packet that is used to request a DNS record might reach TTL=0, what would result in the sender receiving the mentioned ICMP error.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Dec 17 '12 at 10:18









                  sr_sr_

                  13.2k3545




                  13.2k3545























                      2














                      The TTL value is the time (usually in secs) a cached dns entry is kept in cache before it is refreshed. So once the TTL value reaches zero, it will go query the authoritative nameserver again for an up-to-date dns entry.



                      You can see this refreshing of dns entries with the dig command.
                      Here's an example of dig querying the google.com domain (I chose this domain because of its small TTL value so I don't need to wait so long for the dns entry to be refreshed):



                      $ dig google.com

                      ; <<>> DiG 9.8.1-P1 <<>> google.com
                      ;; global options: +cmd
                      ;; Got answer:
                      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39327
                      ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0

                      ;; QUESTION SECTION:
                      ;google.com. IN A

                      ;; ANSWER SECTION:
                      google.com. 154 IN A 74.125.237.33 <== '154 is the TTL value'
                      ... (ANSWERS TRUNCATED)

                      ;; Query time: 16 msec <== notice that the query took 16ms to complete
                      ;; SERVER: 127.0.0.1#53(127.0.0.1)
                      ;; WHEN: Mon Dec 17 21:04:56 2012
                      ;; MSG SIZE rcvd: 204


                      Now check the Query time again...



                      $ dig google.com

                      ... (HEADER TRUNCATED)

                      ;; QUESTION SECTION:
                      ;google.com. IN A

                      ;; ANSWER SECTION:
                      google.com. 103 IN A 74.125.237.35 <== TTL value gradually decreases over time
                      ... (ANSWERS TRUNCATED)

                      ;; Query time: 2 msec <== query time is much smaller!
                      ;; SERVER: 127.0.0.1#53(127.0.0.1)
                      ;; WHEN: Mon Dec 17 21:05:48 2012
                      ;; MSG SIZE rcvd: 204


                      Query time is smaller because the locally cached value of google.com is being returned.



                      Now let's wait for the TTL value to decrease to zero...



                      $ dig google.com @localhost

                      ... (HEADER TRUNCATED)

                      ;; QUESTION SECTION:
                      ;google.com. IN A

                      ;; ANSWER SECTION:
                      google.com. 5 IN A 74.125.237.34
                      ... (ANSWERS TRUNCATED)

                      ;; Query time: 2 msec
                      ;; SERVER: 127.0.0.1#53(127.0.0.1)
                      ;; WHEN: Mon Dec 17 21:07:26 2012
                      ;; MSG SIZE rcvd: 204


                      almost there...



                      $ dig google.com @localhost

                      ... (HEADER TRUNCATED)

                      ;; QUESTION SECTION:
                      ;google.com. IN A

                      ;; ANSWER SECTION:
                      google.com. 1 IN A 74.125.237.39
                      ... (ANSWERS TRUNCATED)

                      ;; Query time: 2 msec
                      ;; SERVER: 127.0.0.1#53(127.0.0.1)
                      ;; WHEN: Mon Dec 17 21:07:30 2012
                      ;; MSG SIZE rcvd: 204


                      Now the cached dns value is refreshed; TTL value starts counting down again...



                      $ dig google.com @localhost

                      ... (HEADER TRUNCATED)

                      ;; QUESTION SECTION:
                      ;google.com. IN A

                      ;; ANSWER SECTION:
                      google.com. 291 IN A 74.125.237.131
                      ... (ANSWERS TRUNCATED)

                      ;; Query time: 16 msec <== Notice the longer Query time again.
                      ;; SERVER: 127.0.0.1#53(127.0.0.1)
                      ;; WHEN: Mon Dec 17 21:07:32 2012
                      ;; MSG SIZE rcvd: 204





                      share|improve this answer





























                        2














                        The TTL value is the time (usually in secs) a cached dns entry is kept in cache before it is refreshed. So once the TTL value reaches zero, it will go query the authoritative nameserver again for an up-to-date dns entry.



                        You can see this refreshing of dns entries with the dig command.
                        Here's an example of dig querying the google.com domain (I chose this domain because of its small TTL value so I don't need to wait so long for the dns entry to be refreshed):



                        $ dig google.com

                        ; <<>> DiG 9.8.1-P1 <<>> google.com
                        ;; global options: +cmd
                        ;; Got answer:
                        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39327
                        ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0

                        ;; QUESTION SECTION:
                        ;google.com. IN A

                        ;; ANSWER SECTION:
                        google.com. 154 IN A 74.125.237.33 <== '154 is the TTL value'
                        ... (ANSWERS TRUNCATED)

                        ;; Query time: 16 msec <== notice that the query took 16ms to complete
                        ;; SERVER: 127.0.0.1#53(127.0.0.1)
                        ;; WHEN: Mon Dec 17 21:04:56 2012
                        ;; MSG SIZE rcvd: 204


                        Now check the Query time again...



                        $ dig google.com

                        ... (HEADER TRUNCATED)

                        ;; QUESTION SECTION:
                        ;google.com. IN A

                        ;; ANSWER SECTION:
                        google.com. 103 IN A 74.125.237.35 <== TTL value gradually decreases over time
                        ... (ANSWERS TRUNCATED)

                        ;; Query time: 2 msec <== query time is much smaller!
                        ;; SERVER: 127.0.0.1#53(127.0.0.1)
                        ;; WHEN: Mon Dec 17 21:05:48 2012
                        ;; MSG SIZE rcvd: 204


                        Query time is smaller because the locally cached value of google.com is being returned.



                        Now let's wait for the TTL value to decrease to zero...



                        $ dig google.com @localhost

                        ... (HEADER TRUNCATED)

                        ;; QUESTION SECTION:
                        ;google.com. IN A

                        ;; ANSWER SECTION:
                        google.com. 5 IN A 74.125.237.34
                        ... (ANSWERS TRUNCATED)

                        ;; Query time: 2 msec
                        ;; SERVER: 127.0.0.1#53(127.0.0.1)
                        ;; WHEN: Mon Dec 17 21:07:26 2012
                        ;; MSG SIZE rcvd: 204


                        almost there...



                        $ dig google.com @localhost

                        ... (HEADER TRUNCATED)

                        ;; QUESTION SECTION:
                        ;google.com. IN A

                        ;; ANSWER SECTION:
                        google.com. 1 IN A 74.125.237.39
                        ... (ANSWERS TRUNCATED)

                        ;; Query time: 2 msec
                        ;; SERVER: 127.0.0.1#53(127.0.0.1)
                        ;; WHEN: Mon Dec 17 21:07:30 2012
                        ;; MSG SIZE rcvd: 204


                        Now the cached dns value is refreshed; TTL value starts counting down again...



                        $ dig google.com @localhost

                        ... (HEADER TRUNCATED)

                        ;; QUESTION SECTION:
                        ;google.com. IN A

                        ;; ANSWER SECTION:
                        google.com. 291 IN A 74.125.237.131
                        ... (ANSWERS TRUNCATED)

                        ;; Query time: 16 msec <== Notice the longer Query time again.
                        ;; SERVER: 127.0.0.1#53(127.0.0.1)
                        ;; WHEN: Mon Dec 17 21:07:32 2012
                        ;; MSG SIZE rcvd: 204





                        share|improve this answer



























                          2












                          2








                          2







                          The TTL value is the time (usually in secs) a cached dns entry is kept in cache before it is refreshed. So once the TTL value reaches zero, it will go query the authoritative nameserver again for an up-to-date dns entry.



                          You can see this refreshing of dns entries with the dig command.
                          Here's an example of dig querying the google.com domain (I chose this domain because of its small TTL value so I don't need to wait so long for the dns entry to be refreshed):



                          $ dig google.com

                          ; <<>> DiG 9.8.1-P1 <<>> google.com
                          ;; global options: +cmd
                          ;; Got answer:
                          ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39327
                          ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 154 IN A 74.125.237.33 <== '154 is the TTL value'
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 16 msec <== notice that the query took 16ms to complete
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:04:56 2012
                          ;; MSG SIZE rcvd: 204


                          Now check the Query time again...



                          $ dig google.com

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 103 IN A 74.125.237.35 <== TTL value gradually decreases over time
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 2 msec <== query time is much smaller!
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:05:48 2012
                          ;; MSG SIZE rcvd: 204


                          Query time is smaller because the locally cached value of google.com is being returned.



                          Now let's wait for the TTL value to decrease to zero...



                          $ dig google.com @localhost

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 5 IN A 74.125.237.34
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 2 msec
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:07:26 2012
                          ;; MSG SIZE rcvd: 204


                          almost there...



                          $ dig google.com @localhost

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 1 IN A 74.125.237.39
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 2 msec
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:07:30 2012
                          ;; MSG SIZE rcvd: 204


                          Now the cached dns value is refreshed; TTL value starts counting down again...



                          $ dig google.com @localhost

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 291 IN A 74.125.237.131
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 16 msec <== Notice the longer Query time again.
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:07:32 2012
                          ;; MSG SIZE rcvd: 204





                          share|improve this answer















                          The TTL value is the time (usually in secs) a cached dns entry is kept in cache before it is refreshed. So once the TTL value reaches zero, it will go query the authoritative nameserver again for an up-to-date dns entry.



                          You can see this refreshing of dns entries with the dig command.
                          Here's an example of dig querying the google.com domain (I chose this domain because of its small TTL value so I don't need to wait so long for the dns entry to be refreshed):



                          $ dig google.com

                          ; <<>> DiG 9.8.1-P1 <<>> google.com
                          ;; global options: +cmd
                          ;; Got answer:
                          ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39327
                          ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 154 IN A 74.125.237.33 <== '154 is the TTL value'
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 16 msec <== notice that the query took 16ms to complete
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:04:56 2012
                          ;; MSG SIZE rcvd: 204


                          Now check the Query time again...



                          $ dig google.com

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 103 IN A 74.125.237.35 <== TTL value gradually decreases over time
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 2 msec <== query time is much smaller!
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:05:48 2012
                          ;; MSG SIZE rcvd: 204


                          Query time is smaller because the locally cached value of google.com is being returned.



                          Now let's wait for the TTL value to decrease to zero...



                          $ dig google.com @localhost

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 5 IN A 74.125.237.34
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 2 msec
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:07:26 2012
                          ;; MSG SIZE rcvd: 204


                          almost there...



                          $ dig google.com @localhost

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 1 IN A 74.125.237.39
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 2 msec
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:07:30 2012
                          ;; MSG SIZE rcvd: 204


                          Now the cached dns value is refreshed; TTL value starts counting down again...



                          $ dig google.com @localhost

                          ... (HEADER TRUNCATED)

                          ;; QUESTION SECTION:
                          ;google.com. IN A

                          ;; ANSWER SECTION:
                          google.com. 291 IN A 74.125.237.131
                          ... (ANSWERS TRUNCATED)

                          ;; Query time: 16 msec <== Notice the longer Query time again.
                          ;; SERVER: 127.0.0.1#53(127.0.0.1)
                          ;; WHEN: Mon Dec 17 21:07:32 2012
                          ;; MSG SIZE rcvd: 204






                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited 9 hours ago









                          Rui F Ribeiro

                          42.1k1484142




                          42.1k1484142










                          answered Dec 17 '12 at 10:39









                          hqthqt

                          814




                          814



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Unix & Linux Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f58672%2fwhat-happens-in-a-recursive-dns-query-if-ttl-0%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              -bind, dns

                              Popular posts from this blog

                              Word for a person who has no opinion about whether god existsWord for having a definite opinion while simultaneously withholding judgment?What's the opposite of “newcomer? Is ”veteran" OK?What do you call an “atheist” who might believe in an afterlife?What's a word for someone who wants to voice opinions but not have them challenged?Word for someone who dismisses contrary opinions as irrational?Somone who thinks they are overly special/out of the ordinaryIs there a word, phrase or idiom for “a person who is incapable of thinking about the future”?The belief that a god is human-likeA word for a non-famous person/thing you have heard a lot aboutAdjective for a person who enjoys taking care of their appearance

                              What was this official D&D 3.5e Lovecraft-flavored rulebook?What was this set of RPG tools called?As a first-time DM should I let my players play complex character classes and roles?Nymph's Kiss and the RelationshipWhat was the name of this Cleric Prestige Class that shapes metal with its bare hands?Are the 3.5e Dragonlance books third party or official works?What's up with the domain Vile Darkness?What was this 80s book about RPGs?What was the name of this Werewolf band?What book had Rituals to “upgrade” animal companions to keep them viable at higher levels?What was this RPG that had rules for player-owned businesses?

                              2017 IndyCar Series Contents Series news Teams and drivers Schedule Season summary Footnotes References External links Navigation menu"INDYCAR: Initial 2018 bodywork concepts unveiled"the original"IndyCar confirms switch to Performance Friction brakes in 2017""AJ Foyt Racing will switch to Chevy"the original"Carlos Munoz, Conor Daly will drive for AJ Foyt Racing""Zach Veach's Indy 500 Debut Confirmed with Foyt""No mass exodus from Honda after Ganassi switch""Ex-F1 driver Sato joins Andretti Autosport for 2017 IndyCar season""IndyCar's Ryan Hunter-Reay, sponsor DHL paired through 2020""hhgregg and Andretti Autosport announce partnership for key races in 2016""INDYCAR: Rossi re-signs with Andretti"the original"McLaren Formula 1 - Fernando Alonso to race at Indy 500 with McLaren, Honda and Andretti Autosport""Shank will finally take part in Indy 500 with Harvey, Andretti | MotorSportsTalk""Andretti adds Jack Harvey to Indy 500 field""Ganassi switches to Honda power for 2017""INDYCAR: Chilton returns to Ganassi"the original"IndyCar silly season: Who's going where in 2017?""INDYCAR: Kanaan, NTT Data return to Ganassi"the original"Kimball to remain at Ganassi for 2017""Coyne confirms Bourdais for 2017 IndyCar season""Davison to sub for Bourdais in Indy 500"the original"Gutierrez confirmed for Detroit IndyCar debut""Gutierrez returns with Coyne for rest of 2017 season""Vautier to drive for Coyne at Texas"the original"INDYCAR: Coyne confirms Jones for 2017"the original"Pippa Mann returns to Coyne for Indy 500""Karam, Dreyer & Reinbold teaming up again for Indianapolis 500""Pigot to return to Ed Carpenter Racing""Hildebrand confirmed as full-time Ed Carpenter driver""Veach to replace injured Hildebrand at Barber"the originalNew Team Harding Racing Enters Chaves for 101st Indianapolis 500"Juncos Racing Announces Entry in 101st Running of the Indianapolis 500 :: Juncos Racing""Juncos confirms Pigot for Indy 500""Saavedra confirmed in Juncos' second 500 entry"the original"Lazier confirms Indy 500 run after son's USF2000 debut"the original"Claman DeMelo to race for RLLR at Sonoma"the original"Rahal signs Servia and ace engineer for 2017""IndyCar: Aleshin returns with Schmidt"the original"Aleshin replaced by Saavedra for Toronto""Jack Harvey will pilot SPM No. 7 car at Watkins Glen, Sonoma""Jay Howard confirmed in Tony Stewart's supported SPM Indy entry""INDYCAR: Newgarden to wave the flag at Penske"the original"Pagenaud opts for No. 1 in 2017"the original"Penske confirms Newgarden for 2017""Montoya to stay with Team Penske in 2017""Target leaving IndyCar after 27 seasons with Chip Ganassi""Cavin: IndyCar could see complete driver/team shakeup in 2017""End of the road for KV Racing?""KV Racing confirms closure, equipment sold to Juncos""Juncos confirms IndyCar Series entry"the original"Juncos readies IndyCar program, aims for '17 500"the original"Harding Racing to add Texas, Pocono to schedule"the original"Sato signs with Andretti Autosport for 2017""INDYCAR: Aleshin in Doubt at SPM"the original"Long Beach notebook: JR Hildebrand breaks hand""Hildebrand cleared to return at Phoenix"the original"Bourdais to undergo surgery on multiple fractures""Aleshin loses Schmidt Peterson IndyCar ride""Saavedra in at SPM for Pocono, Gateway"the original"Bourdais to make return at Gateway"the original"The IndyCar Grand Prix no longer is sponsored by Angie's List""2017 IndyCar Series rulebook""2017 Verizon IndyCar Series Official Rulebook"Official websiteeeeee