Ederor

これがわからないとエンジニアにはなれないシリーズ。DNSとは?

これがわからないとエンジニアにはなれないシリーズ。DNSとは?

DNS という言葉を聞いたことがあるでしょうか?
ブログを運営している方ならご存知かもしれませんが、一般的には全く知られていない言葉かと思います。
しかし、知られていないのとは裏腹に、DNS は web にアクセスしたりメールを送信したりするときに、必ず使っている技術です。
この記事では、そんな DNS の解説をしていますので、どうぞ最後まで読んでみてください。

  • DNS とは
  • DNS の動作
  • 具体的な DNS の動作
  • まとめ

DNS とは

DNS (Domain Name System) とは、一言で表すと「IP アドレス」と「ドメイン」を紐づける仕組みのことです。
簡単に「IP アドレス」と「ドメイン」について、おさらいすると

  • IP アドレス … ネットワーク上のデバイスの位置を表す情報。リアルな世界の座標のようなもの。
  • ドメイン … ネットワーク上のデバイスの位置を表す情報。リアルな世界の住所のようなもの。

でした。
詳しく知りたい方は、それぞれの記事をぜひ読んでみてください。

「IP アドレス」も「ドメイン」も、それぞれ同じネットワーク上の位置を表す情報ではありますが、「IP アドレス」はコンピュータが理解するための情報なので、人間が読んでも何がある位置なのかわからないという欠点がありました。
そこで、ネットワーク上の位置を表す情報を人間でも理解できるようにして、ネットワークを使いやすくするために作られたのが「ドメイン」でした。
ただ、あくまで「ドメイン」は人間が理解するための情報なので、コンピュータはそれを取り込んでも、何の情報なのかわかりません。
そのため、コンピュータ用の「IP アドレス」と人間用の「ドメイン」を変換する必要があります。
DNS は、この「IP アドレス」と「ドメイン」を変換するというシステムのことです。

DNS の動作

DNS が何かわかったところで、DNS がどのように「IP アドレス」と「ドメイン」を変換するかご紹介します。
DNS の動作をご紹介する前に、「サーバー」と「クライアント」という単語について説明します。
「サーバー」というのはサービスを提供する側のデバイスのことで、「クライアント」はサービスを利用する側のデバイスのことです。
例えば、web サーバーというのは、アクセスしてきたデバイスに対して、ブラウザで web ページが見られるように、web ページの情報を提供しています。
ちなみに、この時のアクセスしてきたデバイスが「クライアント」です。
web 以外にも、FTP や DNS など様々なサービスで、「サーバー」と「クライアント」が存在しています。

DNS では、DNS サーバーが「IP アドレス」と「ドメイン」の対応表を持っています。
DNS クライアントは、「IP アドレス」を知りたい「ドメイン」があれば、「このドメインが表している IP アドレスを教えて欲しい」と DNS サーバーに問い合わせます。
すると、DNS サーバーは対応表から「ドメイン」に対応する「IP アドレス」を調べて、DNS クライアントに回答します。
簡単な流れではありますが、DNS はこういった動作をしています。

DNS では、「サーバー」は役割によって呼び名があります。
「キャッシュ DNS サーバー」は DNS クライアントからの DNS 要求を処理するサーバーで、「権威 DNS サーバー」は実際に「IP アドレス」と「ドメイン」の対応情報を持っているサーバーです。
おそらく、言葉だけだと意味がわからないと思うので、実際の通信の流れを見ながら、DNS がどういう風に使われているのかを見ていきましょう。

具体的な DNS の動作

DNS が何かわかったところで、具体的にどうやって使われているかご紹介します。
例として、ブラウザで「https://ederor.com」にアクセスする場合の通信の流れを確認してみましょう。

  1. ブラウザに「https://ederor.com」を入力すると、ブラウザを使っているパソコンやスマートフォンなどのデバイス (DNS クライアント) は、DNS を使って「ederor.com」の位置を知ろうとします。
  2. デバイスは、デバイスに設定されているキャッシュ DNS サーバーへ「ederor.com」の IP アドレスが何かを聞きます。
  3. 問い合わせを受けたキャッシュ DNS サーバーは、自分がその情報を知っているか確認します。知っていたら、そのままデバイスに教えてあげますが、知らない場合は、ルート DNS サーバーへ「ederor.com」の IP アドレスを聞きます。ルート DNS サーバーは、DNS の親玉だと思ってください。
  4. 問い合わせを受けたルート DNS サーバーは、「ederor.com」が「.com」に所属しているので、「.com」の権威 DNS サーバーへ聞いてくださいと回答します。
  5. 回答を受けたキャッシュ DNS サーバーは、「.com」の権威 DNS サーバーへ同じように質問をします。
  6. すると今度は、「.com」の権威 DNS サーバーから、「ederor.com」の権威 DNS サーバーへ聞いてくださいと回答をもらいます。
  7. 回答を受けたキャッシュ DNS サーバーは、今度は「ederor.com」の権威 DNS サーバーへ同じように質問をします。
  8. 「ederor.com」の権威 DNS サーバーは「ederor.com」の「IP アドレス」を知っているので、キャッシュ DNS サーバーへ回答します。
  9. 「ederor.com」の「IP アドレス」を入手したキャッシュ DNS サーバーは、ブラウザに「ederor.com」の「IP アドレス」を教えます。
  10. ここまで来てやっと「ederor.com」の「IP アドレス」がわかったので、ブラウザはその情報を使って、web ページにアクセスしにいきます。

少し工程が多いですが、普段いろいろな web ページへアクセスするときに、実は裏でこのようなシステムが動いています。

まとめ

いかがだったでしょうか?
web ページにアクセスしようとすると、現実世界ではボタンを 1 クリックするだけで移動できますが、実は裏でこんなにも多くの通信が行われていることがわかったかと思います。
DNS は、web ページへのアクセスやメールを送るときには、必須になる技術ですが、表に出る技術ではないので、全く知らなかった人の方が多いかと思います。

DNS も IP アドレスやドメインと同じように、ネットワーク技術の基礎中の基礎技術です。
基礎ではありますが、非常に重要な技術ですので、これを機に理解を深めておきましょう。
DNS には、今回ご紹介したように単純な IP アドレスとドメインの対応を回答するだけでなく、ドメインに別名をつけて通信の宛先を変えたり、メールの送信元が正しいかチェックしたりと、他にもいくつか機能があります。
また機会があれば説明しますので、ぜひ楽しみにしていてください。

Leave A Reply

*
*
* (公開されません)

Share / Subscribe
Facebook Likes
Tweets
Hatena Bookmarks
Pinterest
Pocket
Evernote
Feedly
Send to LINE
03-6869-9610
UA-177436415-1