DNSとは?DNSの仕組みや役割をわかりやすく解説
DNSは、ドメイン名とIPアドレス対応を管理・運用するためのシステムです。インターネットの重要な基盤技術の1つですが、DNSとは一体何なのかわからないという初心者の方も多いのではないでしょうか。今回は、このDNSとはインターネット通信においてどのような役割を果たしているのかを簡単にわかりやすく紹介します。
DNSとは?
DNSとは、「Domain Name System(ドメイン・ネーム・システム)」の略称で、ドメインやホストの名前(DNS名)を管理している分散型データベースのことを指します。DNSでドメイン名とIPアドレスをそれぞれ変換したり、メールの宛先ホストを指示したりすることで、ウェブサイトへ簡単にアクセスすることが可能になります。
DNSの基礎知識を学ぶには、まずはドメイン名やIPアドレスとは何かを理解する必要があります。
- ドメイン名。ドメイン名は、インターネット上でウェブサイトや電子メールアドレスを識別するための識別子です。より具体的に言うと、ドメイン名は、ウェブサイトのアドレスや電子メールの送信先を示すために使用されます。一般的には「nordvpn.com」といった形式で表されます。
- IPアドレス。IPアドレスは、インターネット上のコンピューターやデバイスを一意に識別するための数値的なアドレスで、簡単に言うと「ネットワーク上の住所のようなもの」です。IPアドレスは、インターネットに接続するほとんどの機器に割り当てられ、「123.456.789」という形で表記され、インターネット通信で送信先を特定する際に使用されます。時々、ブラウザでエラーメッセージに表示されるDNSアドレスとは、IPアドレスのことを指しています。
簡単に説明すると、インターネット上のコンピュータが通信する際、相手を識別するためにIPアドレスの数字の羅列を使用しているのですが、人が識別するのは困難なため、文字列からなるドメイン名を使ってそれらを変換しているのです。この変換する行為は、「名前解決」と呼ばれます。
DNSが、ドメイン名とIPアドレスを関連づける役割を果たします。つまり、DNSのおかげで、インターネット検索をする際にブラウザにドメイン名を入力すると、そのIPアドレスが指示するデータやウェブサイトにアクセスすることができます。
DNSは、DHCP「Dynamic Host Configuration Protocol(ダイナミック・ホスト・コンフィギュレーション・プロトコル)」と混同されがちですが、両者の明確な違いは、DNSがドメイン名をIPアドレスに変換するのに対して、DHCPはIPアドレスをデバイスに割り振るという点です。
DNSの仕組み
インターネット通信の際にDNSの仕組みを通して、どのような流れでウェブサイトが表示されるのかを紹介します。
- ユーザーがお手持ちのデバイスをインターネットに接続し、ブラウザ上で例えば「google.com」などのドメイン名を入力します。
- デバイスからキャッシュDNSサーバーへドメイン名のIPアドレスを要求するクエリ(問い合わせ)が送信されます。
- キャッシュDNSサーバーが合致するIPアドレスがあるかを確認し、見つかった場合はそのIPアドレスをブラウザに返信して完了です。ない場合は、ルートDNSサーバーへ「.com」などのトップレベルドメイン(TLD)と呼ばれるIPアドレスを求めるクエリを送信します。
- このクエリはルートDNSサーバー経由で権威DNSサーバーへ送信され、合致する情報を探します。
- 合致したIPアドレスが見つかったらキャッシュDNSサーバーへ送信します。
- キャッシュDNSサーバーがIPアドレスをデバイスへ送信します。
DNSサーバーとは?
DNSサーバーは、ドメイン名とIPアドレスを変換するDNSの機能を提供するサーバーです。DNSは、ドメイン名をIPアドレス(またはその逆)に変換し、通信相手の機器を見つけることができますが、これはDNSサーバーがそれらの情報を保有していることで成り立っています。
DNSサーバーには、以下の2種類があります。
キャッシュDNSサーバー
キャッシュDNSサーバーは、最初に問い合わせを受ける役割を担っています。まず、デバイスで入力されたドメイン名をもとに保有している情報の中に合致するIPアドレスがあれば送信します。もし、情報を持っていない場合は、合致するIPアドレスを探すように権威DNSサーバーに依頼を出します。
権威DNSサーバー
権威DNSサーバーは、IPアドレスとサーバ名などを対応させるためのレコードを保管しています。問い合わせがキャッシュDNSサーバーからルートDNSサーバーを通して送られ、IPアドレスと紐づくサーバーを見つけ出し、情報を提供します。また、権威DNSサーバーは、「DNSコンテンツサーバー」や「ネームサーバー」とも呼ばれることがあります。
DNSサーバーの役割
ここからは、DNSサーバーの特徴や主な役割を紹介します。
- 名前解決を実行する。DNSサーバーは、ドメイン名を対応するIPアドレスに変換する名前解決を行い、ユーザーのコンピュータが適切なサーバーに接続できるようにする責任を持っています。
- DNSレコードを保存する。DNSサーバーは、リクエストされたドメイン名と対応しているIPアドレスを保存することで次回以降に同じクエリ(問い合わせ)があった場合に即解決できるようになり、ネットワーク全体のパフォーマンス向上にも繋がります。
- 通信負荷の集中を避ける。インターネットには天文学的な数の機器が接続されているため、1台のサーバーだけで管理すると通信に負荷がかかってしまいます。DNSは複数のサーバーと連携する分散管理システムで構成されており、それぞれのサーバーが特定の情報のみを所有し、役割を分担することで各サーバーへの負荷を軽減しています。
- 通信速度を向上させる。ユーザーが滞在している場所から物理的に近いサーバーへ優先的に接続させることが通信速度の向上に繋がっています。ただ、DNSの処理が遅い場合、インターネット速度が遅くなるかもしれません。その場合は、DNS設定を変更しましょう。DNS設定はルータやパソコン、スマホで行うことができます。オンラインゲームをプレイする際も通信速度は重要です。ゲーム用のおすすめDNSサーバーは、別記事で解説しています。
DNSクエリの種類
DNSクエリ(問い合わせ)とは、IPアドレスに関連するドメイン名などをDNSサーバーに問い合わせる(またはその逆も)ことです。DNSクエリにはいくつか種類があります。
- 再帰クエリ(Recursive Query)。再帰クエリは、名前解決を要求する問い合わせのこと。DNSクライアントまたはDNSプロキシが、キャッシュDNSサーバーに対して行います。
- 反復クエリ(Iterative Query)。反復クエリは、上位から下位までの権威DNSサーバーに対して、繰り返し行なう問い合わせのこと。受け取ったDNSサーバーは自分が情報を保持している場合のみ提供します。
- 正引きクエリ(Forward Query)。正引きクエリは、ユーザーがDNSサーバーにドメイン名やホスト名から対応するIPアドレスを要求する問い合わせのことで、DNSクエリの中でも最も一般的なタイプです。
- 逆引きクエリ(Reverse Query)。逆引きクエリは、ユーザーが特定のIPアドレスに関連するドメイン名を要求する問い合わせのことで、これによりドメイン名やホスト名から対応するIPアドレスを探し出すことができます。
- ゾーン転送クエリ(Zone Transfer Query)。ゾーン転送クエリは、DNSサーバー間であらゆるDNSレコードを特定のサーバーから別なサーバーに転送する際に使用されます。
- ダイナミックアップデートクエリ(Dynamic Update Query)。IPアドレスは、電源を入れ直したり、一定期間通信しないと別のIPアドレスに変更され、それまでのドメイン名にアクセスできなくなりますが、ダイナミックアップデートクエリはこれを回避し、事前に登録したドメインに接続できます。
まとめ
DNSはインターネットを利用する上で必要不可欠です。DNSの登場で面倒な手動でIPアドレスの数字を入力する手間が省け、一般的にインターネットが普及しました。しかしインターネット上には個人情報を盗んだり、悪だくみを企てる悪者も存在します。サイバー犯罪に巻き込まれないためにも自分自身のオンライン上でのセキュリティ面を強化する必要があります。
VPNはオンライン上での通信を暗号化することで情報漏えいを防ぐ役割を担っており、近年注目されています。なかでもNordVPNのような最先端のテクノロジーを活用しているプレミアムVPNサービスを利用することで、大切な個人情報を保護でき、安心してインターネットを利用できるようになるでしょう。