DNSサーバ
サービスを提供するコンピュータだよ
IPアドレスとドメイン名の紐付けを管理するよ
IPアドレスとドメイン名の変換をするよ
簡単に書くよ
DNSサーバ(読:ディーエヌエスサーバ 英:DNS server)とは
ネットワーク上の住所表記に関して、人間様とコンピュータさんの仲立ちをしてくれるコンピュータのこと。
もう少し具体的に書くと
サービスを提供するのが仕事のコンピュータ(サーバ)の分類のひとつ
であり
IPアドレス
(インターネットをするときにコンピュータに割り当てられる住所)とドメイン名
(IPアドレスに付けた人間様向けの名前)の紐付けを管理したり、IPアドレスとドメイン名の変換をやってくれるコンピュータのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・IPアドレス
・ドメイン名
・DNS
・サーバ
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
IPアドレスは「コンピュータさん向けのネットワーク上の住所」です。
インターネットっぽい通信において、送信先を特定するときとかに使う情報です。
「198.51.100.2」のような形式になっています。
ドメイン名は「IPアドレスに付けた人間様向けの名前」です。
インターネットやメールなどで使われる住所です。
「i-3-i.info」のような形式になっています。
DNSは「IPアドレスとドメイン名を紐付けしまっせシステム」です。
コンピュータさんはIPアドレスしか分かりません。
ドメイン名を見せられても「う~ん、どこの住所だろう」と困ってしまいます。
一方、人間様はIPアドレスがピンときません。
「198.51.100.1」と「198.51.100.10」と「198.51.100.11」の違いなんて、パッと見で分かりませんよね。
うっかりミスも増えそうです。
そのため、コンピュータさんはコンピュータさんが分かりやすい形式の住所(IPアドレス)を、人間様は人間様が分かりやすい形式の住所(ドメイン名)を使えるようにするための仕組みがあります。
具体的には、事前にIPアドレスとドメイン名を対応付けておいて、必要に応じて変換するのです。
この「IPアドレスとドメイン名の対応を管理する仕組み」を「DNS」と言います。
サーバは「サービスや機能を提供する側のコンピュータ」です。
「○○サーバ」と出てきたら「○○関連のサービスを提供しているコンピュータ」と読み替えてみてください。
よく分からない人は、単に「コンピュータ」と読み替えてしまっても かまいません。
それでも雰囲気は感じ取れるはずです。
以上を踏まえて
DNSのお仕事を実際にしてくれているコンピュータさん
が「DNSサーバ」です。
おっと、突然ですが、ピヨ太君がホームページを見ようとしているようです。
それを ちょっと盗み見しつつ、DNSサーバさんのお仕事を見てみましょう。
まずピヨ太君が、見たいホームページの住所を人間様が分かりやすい形式(ドメイン名)で指定します。
「i-3-i.info」とかそんなんです。
パソコンさんは「i-3-i.info」と言われても「はぁ?」な感じです。
ピヨ太君が指定した住所がどこなのか、さっぱり分かりません。
そこでパソコンさんは、そこら辺の事情に詳しいコンピュータさんに「こんなん言われたんだけど、どういうこと?」と問い合わせします。
この問い合わせ先のコンピュータさんがDNSサーバです。
DNSサーバさんは、問い合わせに対して「あー、それは人間語(ドメイン名)だね。うちらの知ってる言葉(IPアドレス)で言うと、こんなんだよ」とお返事します。
ドメイン名に対応するIPアドレスを教えてあげるのです。
DNSサーバさんの手によってドメイン名はIPアドレスに変換されました。
これでパソコンさんは、ピヨ太君がどこの住所を指定したのかが分かります。
あとは、そのIPアドレスのコンピュータさんに行って、ホームページのファイルを受け取ってくれば、画面にホームページの内容が表示されます。
めでたし、めでたし。
これがDNSの基本的な仕組みであり、DNSサーバさんの一番メインのお仕事です。
さて、ここで1つ疑問が出てきます。
DNSサーバさんは、パソコンさんの「このドメイン名に対応するIPアドレスって何?」な問い合わせに対して「そのドメイン名に対応するIPアドレスは、これだよ」と答えてあげました。
もしDNSサーバさんが答えを知らなかったら、どうなるのでしょうね?
DNSサーバさんは全世界のドメイン名とIPアドレスの関係性を覚えているのでしょうか?
もちろん、そんなことは ありません。
実は、ですね。
DNSサーバさんは、答えが分からないときはカンニングをするのです。
偉いDNSサーバさんに答えを教えてもらいます。
せっかくなので、ドメイン名「i-3-i.info」を例にして、DNSサーバさんがカンニングする流れを見ておきましょう。
ちょっとややこしいので、DNSの仕組みにあまり興味のない方は読み飛ばしてください。
まず予備知識として、ドメイン名
i-3-i.info
は
「info」にある「i-3-i」
を意味します。
これが
wa3.i-3-i.info
になると
「info」にある「i-3-i」にある「wa3」
の意味になります。
書く順番が左右逆ですが、構造自体は普通の住所と一緒です。
パソコンさんから「『i-3-i.info』のIPアドレスは何?」と聞かれたDNSサーバさんですが、答えを知りませんでした。
そこでDNSサーバさんは、一番偉い長老DNSサーバ(DNSルートサーバ)に、お伺いを立てます。
しかし、長老は多忙な上に高齢です。
そんな細かいことを、いちいち覚えていません。
そこで長老は「『.info』のことなら、あやつに聞け!」と、次に誰に聞けば良いか教えてあげました。
ヒントをもらったDNSサーバさんは、次に「.info」に関する情報を管理している偉いDNSサーバ(権威DNSサーバ)さんに「『i-3-i.info』のIPアドレスをご存じありませんか?」と尋ねます。
おっと、どうやら「.info」に関する情報を管理している偉いDNSサーバさんは、ドメイン名「i-3-i.info」に対応するIPアドレスを知っていたようです。
「そのドメイン名に対応するIPアドレスは、これだよ」と教えてくれました。
さて、これでドメイン名に対応するIPアドレスが分かりました。
パソコンさんから問い合わせを受けたDNSサーバさんはホッと一安心です。
パソコンさんに「『i-3-i.info』のIPアドレスは、これだよ~」と答えてあげます。
これで、ひとまず仕事は終わりです。
いや~、面倒くさかったですね。
何度も偉いDNSサーバさんたちのお手をわずらわせるのも恐縮です。
そこでDNSサーバさんは今回分かったドメイン名とIPアドレスの組み合わせを自分の中にメモっておきます。
次に同じ問い合わせが来た時に、ささっと答えられるように備えておくのです。
この自分の中にメモっておく仕組みは「キャッシュ」と言います。
気が向いたら、覚えてあげてください。
これがDNSサーバさんがカンニングするときの流れです。
今回の例では「.info」を管理している偉いDNSサーバさんが対応するIPアドレスを知っていましたが、知らない場合も あります。
「.info」を管理している偉いDNSサーバさんは確かに「.info」に関する情報をすべて管理していますが、実際には全部を自分で管理しているとは限りません。
例えば「『i-3-i.info』に関する管理は、おまえがしてよ」のように、他のDNSサーバさんに管理を委託している場合があるのです。
委託している場合は、委託先のDNSサーバを紹介してくれます。
「あとはお前の方で勝手に聞け」と言いたいわけです。
あとは、これの繰り返しです。
委託先の紹介を繰り返すことで、最終的には問い合わせたドメイン名と対応するIPアドレスを知っている偉いDNSサーバさんに行きあたるってな理屈です。
ここまでの話で気付いたかもしれませんが、一口に「DNSサーバ」と言っても、役割の違う2種類のDNSサーバさんがいます。
1.どんな手を使おうともお問い合わせに答えてあげるのがお仕事のDNSサーバさん
2.自分の管理している情報を教えてあげるのがお仕事のDNSサーバさん
の2つです。
どんな手を使おうともお問い合わせに答えてあげるのがお仕事のDNSサーバさんは「フルサービスリゾルバ」という名前です。
問い合わせに対して(キャッシュを見て)答えが分かれば答えてあげます。
答えが分からなければ偉いDNSサーバさんに問い合わせてくれます。
偉いDNSサーバさんに問い合わせて分かったことを自分の中に記録しておくので「DNSキャッシュサーバ」と呼ばれる場合も あります。
自分の管理している情報を教えてあげるのがお仕事のDNSサーバさんは「権威DNSサーバ」や「DNSコンテンツサーバ」という名前です。
問い合わせに対して、自分の管理している情報を教えてあげます。
自分の管理している情報にドメイン名とIPアドレスの対応が書いてあればそれを教えてあげますし、自分では管理していないけど委託していれば、委託先を教えてあげます。
全然分からんちんな問い合わせであれば「知らない」と答えます。
お仕事自体はIPアドレスとドメイン名の対応を管理して問い合わせに答えるだけですけどね。
実際の仕組みは中々に複雑です。
一言でまとめるよ
まぁ「DNSサーバ」って単語が出てきたら「IPアドレス
(インターネットをするときにコンピュータに割り当てられる住所)とドメイン名
(IPアドレスに付けた人間様向けの名前)の対応を管理するのが仕事のコンピュータなんだな~」と お考えください。
おまけ
■訳してみるよ
「DNS」は「Domain Name System(ドメイン・ネーム・システム)」の略です。
「domain(ドメイン)」の意味は「領域」とか「区域」とか「領土」とかです。
「name(ネーム)」の意味は「名前」とかです。
「system(システム)」はカタカナで「システム」と解釈してください。
「server(サーバ)」の意味は「仕える人」とか「給仕人」とかです。
何となく くっつけると
領域名システムの給仕人
となります。
■検索してみる?






