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

                              Creating 100m^2 grid automatically using QGIS?Creating grid constrained within polygon in QGIS?Createing polygon layer from point data using QGIS?Creating vector grid using QGIS?Creating grid polygons from coordinates using R or PythonCreating grid from spatio temporal point data?Creating fields in attributes table using other layers using QGISCreate .shp vector grid in QGISQGIS Creating 4km point grid within polygonsCreate a vector grid over a raster layerVector Grid Creates just one grid

                              What is this called? Old film camera viewer?What makes a good film camera?What to do with an old film camera?What should one look for when buying a used film camera?What is the value and age of this pre-1967 Ricoh 35 mm camera?DSLR recommendation, question about old Canon 35mm film Camera & lensesCan anyone identify the silver rangefinder-style camera in this advertisement?What kind of a Polaroid 600-camera is this?Will an old film camera still work even when not used in a very long time?What is this camera / Can I develop the film?How to fit an action camera into antique (bellows) housing?What to check when buying used and old film bodies?

                              Why is this plane circling around the Lucknow airport every day?Why do aircraft on Flight Radar 24 jump around randomly sometimes?What airport has this walkway over a taxiway?How does Chicago O'Hare's tower sequence aircraft at peak capacity?Which airport is featured in this Delta commercial?After a crash, for how long is the airport closed?Can a passenger plane stand still in the air, or hover at a fixed location above a ground?What are those trucks towing around, and why?What is this airport outside of Cairo, Egypt?Which US airport has the lowest circling MDH?What is this airport video?