DNSの反映で数日間かかるのが普通となっていますが、そもそもDNSの反映にそこまで時間がかかるのはなぜでしょうか?
どなたか、わかりやすく教えて下さい。m(_ _)m
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3066...
ここに似たような質問がありましたが
ようするに各DNSサーバーがキャッシュを書き換えるタイミングに依存するからのようです
1. DNSの有効期限
DNSにはSOAに更新間隔(Refresh),無効期間(Expire)が
定義されています。
http://www.atmarkit.co.jp/fnetwork/dnstips/014.html
2. DNSの構造
DNSは階層構造でドメイン名を管理を行っています。
http://ics.incl.ne.jp/news/clrin/dns.html
3. DNSのキャシュ
それぞれのDNSサーバは、SOAを持っています。
階層構造の場合、それぞれのDNSサーバは個別に
管理されています。 DNSサーバは、SOAのデータ
を元に常に管理するサーバから情報を問い合わせを
しなくてもよいようなキャシュ機能があります。
=================================================
DNSサーバがキャシュを書き換えた場合、
管理するドメインサーバは即時に反映されます。
しかし、他のDNSサーバにより3. DNSのキャシュに
保存されているデータは、最小 Refresh の期間、
最大 Expireの期間は有効なデータとしてDNSサーバに
保存されています。
又、2. DNSの構造により自分より上位のDNSサーバが
変更された情報も同様にキャシュされているため、
上位サーバの影響も受けます。
DNSサーバはそれぞれ個別に管理されているので
変更されるタイミングは一定ではないため、
一箇所のDNSサーバーの変更がすべてのDNS
サーバ上のキャシュに反映される迄は、最悪値
はDNSサーバの全階層の変更にかかる時間となります。
DNSサーバも障害で通信が不可能な場合、
SOAのEXPIREに記述されている時間が
整合性がとれないことが発生します。
>DNSの反映で数日間かかるのが普通となっていますが
最近はあまりありませんがDNSサーバ等の障害を考慮すると
最悪値は1週間程度となります。
(SOAのEXPIREの規定値 604800秒)
詳しい解説ありがとうございます!
http://ja.wikipedia.org/wiki/Domain_Name_System
DNSサーバーは厳密にはコンテンツサーバーとキャッシュサーバーに別れます。
大本のデータを持ち管理対象になるのがコンテンツサーバー。
プロバイダーに接続するしたときに指定しているのがキャッシュサーバーと考えて問題ありません。
キャッシュサーバーは原理上は存在しなくても動作しますが、毎回コンテンツサーバーに問い合わせが行くとコンテンツサーバーの負荷が大変なことになりますし、ユーザーからみたレスポンス(Webページの表示等)が遅くなってしまう為、よく使うレコードをキャッシュする為に存在します。
DNS更新時にはコンテンツサーバーは通常即時更新されますが、キャッシュサーバーに古いデータが残ってしまう為全体として反映に時間がかかるのが通常です。
キャッシュサーバーの更新は各サーバーの設定やプログラム自体の挙動に依存する為、目安としての更新時刻は指定できますが必ずしもそのとうりに動いてくれるとは限りません。
そのため目安として数日から1週間と表現するのが通例となっています。
例外としてキャッシュに残っていない新規ドメインやサーバー名を指定した場合は即時更新(というよりデータがないので取りにいく)されます。
キャッシュの関係なんですね、、、わかりました。ありがとうございます!
わかりやすいです!ありがとうございます!!