人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

DNSがインターネット全体に反映する動作について。

以前、あるレジストラ.comを取得しました。そのドメインがインターネット全体に反映されるプロセスについて疑問があるのですが、.comの権限を持っているサーバを管理しているのはVeriSignというレジストリ(会社)だと思います。
ということは、登録した.comドメイン(例えば、samplehogehoge.com)のAレコードはそのレジストラのDNSサーバに記述されて、VeriSignのDNSサーバにsamplehogehoge.comのNSレコードが記述される、ということになるのでしょうか?

また、そうだとすると、そのレジストラに登録したらすぐネット全体(というよりVeriSign?)反映されそうに思いますが、なぜ数時間(数十時間?)かかるのでしょうか?

●質問者: koime_ryokutya
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● munyaX
ベストアンサー

bindなど、DNSサーバについて調べられるとわかると思うのですが、

DNS & BIND 第5版

DNS & BIND 第5版




簡単に言うとDNSは以下のようなツリー状になってまして、

. (ルート)
↓ ↓ ↓
.com .jp .net

.hoge


原則として、特定のドメインの名前解決をする場合、ルートサーバから順番にたどっていきます。ただルートサーバは世界中に限られた数しかありませんので、全ネットユーザーが毎回問い
合わせると

・システムが破錠する(負荷的に)
・最終的に結果を得るまで時間がかかりすぎる

といった問題が発生します。


そこで、それぞれのDNSサーバが一度問い合わせた情報を、特定の時間キャッシュしています。
特定の時間を超えるか、人為的にDNSサーバの管理者がキャッシュをクリアすると、最新の情報を
上位サーバに取得しに行きます。



で、このキャッシュする時間はドメインを登録する際に設定することができます。
ゾーンファイルと呼ばれています。

下記の例だとTTLが86400秒と指定されていますので、1日の間キャッシュされることに
なります。

■第2回 すべての基礎、マスター・ゾーンサーバの設定
http://www.atmarkit.co.jp/flinux/rensai/bind902/bind902b.html
example.zoneは、自身で管理しているドメインの正引き用ゾーンファイルになります。ここは皆さんの環境に合わせて修正を加えてください。

$TTL 86400 (1)
@ IN SOA dns.example.jp. root.example.jp. ( (2)
2002122001 ; serial (3)
3600 ; refresh 1hr (3)
900 ; retry 15min (3)
604800 ; expire 1w (3)
86400 ; min 24hr (3)
) (4)
IN NS dns.example.jp. (5)
dns IN A 192.168.10.1 (6)
pc1 IN A 192.168.10.11
pc2 IN A 192.168.10.12
pc3 IN A 192.168.10.13
pc4 IN A 192.168.10.14
pc5 IN A 192.168.10.15
(以下省略)
/var/named/example.zone
(1) TTLに86400秒(1日)を指定
(2) ここからSOAレコード
(3) これらの値はマスター・ゾーンサーバとスレーブ・ゾーンサーバ間でやりとりする際に使用される。次回以降に説明
(4) ここまでがSOAレコード
(5) NSレコード
(6) Aレコード



あと、DNSサーバだけではなく、クライアント(お使いのWindowsやMacOS)もキャッシュをします。
DNSが更新されつくしても、クライアントに残っている場合もあります。


koime_ryokutyaさんのコメント
回答ありがとうございます。 キャッシュについて、もう1度勉強します。

2 ● nanaumi

dnsにはキャッシュと呼ばれる一時的にデータを保管する機構があります。
それは全てのドメインの要求をこなすのは一台では困難であるため分散して処理しています。
そのキャッシュの有効期限がきれて更新されるまでの時間が差異となっています。


koime_ryokutyaさんのコメント
回答ありがとうございます。

3 ● JULY

理由は、他の方の回答の通り、一度問い合わせた結果をキャッシュしていて、その有効期限が切れるまでは、キャッシュされた結果を使うから、なのですが、それを緩和する方法として、munyaX の回答ので言及されている TTL という値を、事前に短くしておく、という方法があります。

ただし、短い TTL は DNS キャッシュポイズニングという、セキュリティ上の問題を引き起こしやすくするので、短い TTL を設定する期間は、例えば切り替え前日に設定して、切り替え後は通常の TTL に戻す、といった事が必要です。

この辺に関して、下記のページが詳しいので、参考になると思います。

Geekなぺーじ:なぜ「DNSの浸透」は問題視されるのか


koime_ryokutyaさんのコメント
回答ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ