名前解決(バインドの現在のバージョン)で、戻りパスで再帰応答がttl 0に達するとどうなりますか?
ベストアンサー1
TTL値は、キャッシュされたDNSエントリがフラッシュされる前にキャッシュに残った時間(通常は秒単位)です。したがって、TTL値が0に達すると、特権ネームサーバーに再クエリして最新のDNSエントリを取得します。
dig コマンドを使用して、更新された DNS エントリを確認できます。以下は、google.comドメインを照会するdigの例です。このドメインは、TTL が小さく、DNS エントリが更新されるまで待つ必要がないために選択しました。
$ 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
それでは、クエリ時間をもう一度確認してください。
$ 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
google.com のローカルキャッシュ値が返されるため、クエリ時間が短くなります。
それでは、TTL値が0に減少するのを待ちます。
$ 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
そこに…
$ 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
これで、キャッシュされたDNS値が更新され、TTL値が再度カウントダウンを開始します。
$ 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