(cache) DNSサービスの仕組みについて(中級編) | So-net
DNSサービスの仕組みについて(中級編)
DNSサービスの仕組みについて
DNSサービスは、世界中のDNSサーバと呼ばれるサーバが通信を行ってサービスを提供しています。

たとえば、「www.so-net.ne.jp は 202.213.251.233のグローバルIPアドレスです」という情報を dns.so-net.ne.jp というDNSサーバで管理したとします。
その際、「www.so-net.ne.jpはどこのグローバルIPアドレスですか?」という問い合わせを受けて 検索を行っていき、最終的にdns.so-net.ne.jpが「202.213.251.233ですよ」という答えを返します。
この検索の仕組みがDNSサービスです。

では、どのように検索を行うのかを勉強していきましょう。

その前に、
ここで重要になるのが、「ドメインって何?」編で学習したドメインの構造とWhois情報です。
もう一度おさらいしましょう。
(1)ドメイン名の構造 ドメイン名の構造は「.(ドット)」の区切りで、後ろに行けば行くほど大きなグループで管理されています。
(2)Whois情報 インターネットの世界では、そのドメイン名を誰が管理しているのかを世界中の人が誰でも確認できるしくみがあります。
「ドメインって何?」編ではドメイン名そのものの構造についての説明としてあげましたがDNSサービスにおいても、同様の意味を持っています。
つまり、
(1)「.(ドット)」の区切りで後ろから順番に、管理しているDNSサーバを探していく。
 (2)Whois情報の中にドメイン名を管理しているDNSサーバを登録している。
(Whois(誰が?)という内容の中に「誰が登録した」と言う情報と「誰が管理している」という情報を持っています。)
パソコンからhttp://www.so-net.ne.jp/ というサイトを見る場合を例に挙げましょう。 この際、パソコンは自身が参照しているDNSサーバを介してwww.so-net.ne.jpのグローバルIPアドレス を検索します。
※ ここでは、基本の説明として、http://www.so-net.ne.jp/をはじめて検索するという 想定で説明します。
パソコンが参照しているDNSサーバは、www.so-net.ne.jpの後ろから順番に管理しているDNSサーバを検索していきます。
はじめに、「.(ルート)」と呼ばれるDNSサーバに「.jp」を管理しているDNSサーバがどこにあるのかを問い合わせます。
次に、「.jp」を管理しているDNSサーバに「.ne.jp」を管理しているDNSサーバがどこにあるのかを問い合わせます。*
次に、「.ne.jp」を管理しているDNSサーバに「so-net.ne.jp」を管理しているDNSサーバがどこにあるのかを問い合わせます。
このとき、「.ne.jp」を管理しているDNSサーバはWhois情報に登録されている情報を元に「so-net.ne.jp」を管理しているDNSサーバ(例で言うと、dns.so-net.ne.jp)を返します。*
ここではじめて、so-net.ne.jpを管理しているDNSサーバである、dns.so-net.ne.jpに問い合わせを行い、www.so-net.ne.jpのグローバルIPアドレスが(パソコンが参照しているDNSサーバに)返されます。
* ここでは、基本的な検索の仕組みとして説明しています。実際のJPRSのDNSサーバは(2)と(3)を同時に行います。
この検索を行うことで、パソコンはドメイン名のグローバルIPアドレスを確認し、そのアドレス(URL)に アクセスできるようになります。
ちょっと難しい話
ホームページにアクセスする度に、上記のような検索を毎回行っているのかというと 実際にはそうではありません。
毎回毎回問い合わせをかけていたら時間も掛かるし、上位のDNSサーバの負荷が高くなってしまいます。
そこで、重要になるのが「キャッシュ」という機能です。
DNSサーバは一度検索した内容を一定期間記憶しておきます。これを「キャッシュ」と言います。たとえば、一度www.so-net.ne.jpを検索すると、次にxxx.ne.jpを検索した場合、「.(ルート)」や「.jpのDNSサーバ」に問い合わせをかけず、直接「.ne.jpのDNSサーバ」に問い合わせを行います。
また、www.so-net.ne.jpを検索した後に、再度www.so-net.ne.jpを検索した場合、 パソコンが参照しているDNSサーバは、DNSの問い合わせを行わずに「キャッシュから」前回の検索結果と同じ結果を返します。
この機能により、上位のDNSサーバの負荷を軽減しています。
DNSこぼれ話(1) -TTL-
先ほど、「キャッシュ」の話の中で、「一定期間記憶する」という話がありましたがこの期間 は、ドメイン名を管理するDNSサーバ(上の例で言うとdns.so-net.ne.jp)がドメイン名ごとに自由に設定することができます。
この設定値をTTL(time to live)と言います。
TTLは秒単位で設定します。たとえば、TTL=3600の場合、1時間を意味します。
原則、前の検索からこのTTL値を経過して問い合わせを受けた場合は、キャッシュを使用せずに再度問い合わせを行います。このキャッシュ(TTL)の運用は、DNSサーバの負荷を軽減するために重要な役割を担っていますがその反面、DNSの運用を複雑にしている 側面もあります。その代表例が、DNSの伝播期間と呼ばれるものです。
次は、DNSの伝播について説明します。
DNSこぼれ話(2) -DNSの伝播-
DNSの登録情報を変更しても、キャッシュ(TTL)があるため反映のタイミングが一律には行われません。キャッシュをクリアしてから次回の検索時に新しい情報を伝えることができます。このキャッシュの切り替えが徐々に行われていくことを、DNSの伝播と呼んでいます。

たとえば、
 www.so-net.ne.jpのグローバルIPアドレスを変更  
 so-net.ne.jp のTTLが3600秒(1時間)と設定
というような場合、
変更前に問い合わせに来たDNSサーバに変更が反映されるのは、数分から1時間後となり、変更後に問い合わせに来たDNSサーバへは変更がすぐに反映される、というように、反映のタイミングがまちまちとなります。

また、悩ましいのが、負荷軽減のためにこのTTLを無視するDNSが存在することです。 TTLの設定値はあくまで、ドメイン名を管理する(参照される)DNSサーバ側の要求であって、参照側のDNSサーバはそれを無視して運用することができます。
(上記の例でいうと、3600秒(1時間)に設定しても、参照側のDNSサーバが86,400秒(24時間)経過しないと、キャッシュをクリアしない設定の場合、そのDNSサーバを参照しているパソコンには、最大24時間、新しい情報は伝わりません。)
これにより、 大多数のDNSサーバへの伝播はTTLの時間で終了するものの、インターネット上の全てのDNSサーバへの伝播の終了となると、その期間が読めない状況となっています(また、伝播完了の確認もできません)。
こういった現状から、So-netでは、DNSの登録情報を変更した場合の伝播終了の目安とし て、「安定するまで最大2週間程度」と案内しています。
DNSこぼれ話(3) -Aレコード・MXレコード・CNAME-
先述の、「www.so-net.ne.jp は 202.213.251.233のグローバルIPアドレスです」という情報はDNSサーバに登録するする必要がありますが、その登録情報をDNSレコードといいます。

~ Aレコード ~
ホームページなどを開設する際にアクセスするサーバ(グローバルIPアドレス)の位置を登録する際のレコードを「Aレコード」といいます。

~ MXレコード ~
メールの配送先のサーバ(グローバルIPアドレス)の位置を登録する際のレコードを「MXレコード」といいます。
MXレコードはプライオリティ(優先順位)を設定でき、プライオリティの高い順にメールを配送します。配送先のメールサーバがアクセスできない場合、次の優先順位のメールサーバ に配送を行います。

~ CNAME ~
CNAMEとは、通常、「www.so-net.ne.jp は 202.213.251.233のグローバルIPアドレス です」と登録するところを、「www.so-net.ne.jp は so-net.ne.jpと同じグローバルIPアド レスです」と登録することをいいます。

たとえば、202.213.251.233というグローバルIPアドレスに設置しているサーバでso-net.ne.jpもwww.so-net.ne.jpもwww2.so-net.ne.jpもメールも運営したとします。
引越し等でグローバルIPアドレスが変わった場合など、DNSレコードも変更することになりますが、グローバルIPアドレスで登録した場合は全てのレコードを変更する必要があります。
そこで、so-net.ne.jpの登録だけ「202.213.251.233のグローバルIPアドレスです」と登録しておき、それ以外のwwwやwww2、MXレコード(メール)に関しては「so-net.ne.jpと同じグローバルIPアドレスです」と登録しておけば、DNSレコードを変更する際に、so-net.ne.jpのレコードだけを変更することで全ての設定に変更をかけることができます。
このように、DNSの運用を楽にするために利用されるのがCNAMEです。
So-netではお客様が取得したドメイン名を一覧管理でき、DNSサーバをWeb画面で簡単に管理できるドメイン管理(DNS)サービスをご提供しております。
システム管理者不要!
取りたいドメイン名を決めたら後はSo-netにおまかせ!
So-netの経験豊富な専門スタッフがお客様をサポートいたします。
ドメイン管理(DNS)サービスこちら
大変お疲れ様でした!
DNSに関して僕が教えられることはもうありません。
これ以上は、ご自身で学習ください!

さて、ここまできたら、後はもう一息です!

次は、オリジナルのドメインを利用するメリット・デメリットについて学習しましょう。
ページトップ