この記事では、WEB エンジニアを目指して学習をしている初心者向けに、DNS(Domain Name System)の概要と仕組みについて説明します。
DNS とは
DNS とは、Domain Name System の略称で、ドメインと IP アドレスを対応付けて管理するシステムのことを言います。
数字を組み合わせたコンピュータの住所である「IP アドレス」を、人が理解しやすい住所へと変換するための仕組みです。「192.168.1.1」などで示される IP アドレスを、「http://www.hackerdemy.com」のような分かりやすい文字列に置き換えてくれるのです。
この DNS の機能を司るサーバーを「DNS サーバー」と呼びます。DNS サーバーが仲介役になり、特定のコンピュータと通信したり、Web サイトを表示したりできるようにしているのです。
DNS サーバーには、IP アドレスと紐づくドメインは何かといった情報が蓄積されています。
ドメインについてはこちらの記事で解説しています。
DNS の仕組み
利用者が PC のブラウザ上で、Web サイトのドメイン名を入力してから、実際に Web サイトが表示されるまでの動きを例に説明します。メールの場合も基本は一緒です。
-
PC が DNS キャッシュサーバーに、ドメイン名でアクセスする
-
DNS キャッシュサーバーが DNS ルートサーバーに、管理情報 (ドメイン名に対応する IP アドレスは何か) を問い合わせる
-
DNS ルートサーバーが DNS キャッシュサーバーに、管理情報のある DNS サーバーを知らせる
-
DNS キャッシュサーバーが管理情報のある DNS サーバーに、ドメイン名に対応する IP アドレスを問い合わせる
-
管理情報のある DNS サーバーは DNS キャッシュサーバーに、IP アドレスを回答する
-
DNS キャッシュサーバーは PC に、IP アドレスを回答する
-
PC は IP アドレスで Web サイトにアクセスし、ブラウザ上に Web サイトが表示される
まとめ
この記事では、DNS の概要と仕組みについて説明しました。
普段の WEB の開発では特に意識することはありませんが、WEB の基礎知識として抑えておきましょう。