DNSはインターネットの電話帳です!
コンピュータは相互に接続して通信し、 番号 ( IP アドレス ) を使用して情報を送受信します。インターネットに接続されている各デバイスは ID として一意のアドレスを持ち、他のデバイスはこれを使用して識別し、通信します。
対照的に、人間は 名前を 使用して相互に通信するため、番号よりも誰かを呼び出すことを覚えておくのがはるかに簡単です。
ドメイン ネーム システム (DNS) は、人間とコンピュータの間のコミュニケーション ギャップを埋めるために導入されました。 DNS は名前を数値に解決し、 人間にわかりやすいドメイン名をコンピュータにわかりやすい IP アドレスに変換します。

ドメイン名とは何ですか?
ドメイン名は、 インターネット上の特定のリソースを認識する一意の文字列です。これは、現在どの Web アプリケーション サーバーがリクエストされているかを示します。ドメイン名について聞いたことはなくても、何億ものドメイン名を使用したことがあるかもしれません。はい! google.com 、 yahoo.com 、 .com などはすべてドメイン名です。

DNS とは何ですか? なぜ必要ですか?
人間は、ブラウザ経由で amazon.com、.com などのドメイン名を使用してオンラインの情報にアクセスします。ただし、Web ブラウザは インターネット プロトコル アドレス (IP アドレス) によってのみ通信します。
DNS は、ブラウザーが要求されたリソースを読み込めるように、提供されたドメイン名をそれぞれの IP アドレスに変換するのに役立ちます。

ここで、DNS の必要性を例証して説明してみましょう。
誰かの電話に電話をかけたい場合は、まず電話を手に取り、保存されている連絡先のリストをスクロールまたは検索して電話をかけます。
電話番号を使用するだけで誰かに電話をかけることはできますが、すべての連絡先を記憶するのは非常に困難です。これが、私たちが電話帳に名前を使用して携帯電話番号を保存する主な理由です。
DNS は、対応するドメイン名を持つ IP アドレスのリストを含むデータベースがあることを前提として、同じメカニズムを使用します。
今日の世界では、World Wide Web 上に約 15 億以上の Web サイトがあります。 私たちはそれらのいくつかを日常生活で使用しています。サイトの IP アドレスをすべて覚えておくことは不可能です。 DNS は私たちの生活を楽にするためにそれらを記憶します。
どのように機能するのでしょうか?
ユーザーがブラウザに URL (ドメイン)、たとえば .com を入力すると、ブラウザは接続するために Google の IP アドレスを見つける必要があります。 指定されたドメイン名から IP アドレスを見つけるこのプロセスは、 DNS 解決として知られています。

コンピュータは、ドメイン名ではなく IP アドレスによって Web サイトの場所を認識します。 .com と入力すると、ブラウザは DNS ルックアップを実行して対応する IP アドレスを取得し、リクエストを サーバーに転送し、 のランディング ページが送り返されます。
DNS ルックアップは Web ブラウザーで バックグラウンド で行われるため、.com と入力したユーザーの操作は必要ありません。
Web サイトの IP アドレスを取得するには、コマンド プロンプトまたはターミナルで次のコマンドを試してください。
nslookup www.example.com
この結果からブラウザに IP アドレスを直接入力できます。ただし、一部の Web サイトでは直接 IP アクセスがブロックされている可能性があり、その場合は期待した結果が得られません。
DNSワークフロー
ここで、ドメイン名を入力するたびに IP アドレスが要求されることがわかりました。このプロセスがどのように起こるかを見てみましょう。
IP アドレスを取得するためにブラウザにドメイン名を入力すると、まず ローカル キャッシュ でそのアドレスが検索されます。このローカル キャッシュ データは、次の 2 つの場所のいずれかで利用できる場合があります。
- Webブラウザのキャッシュ。
- オペレーティング システムのキャッシュ。

IP を見つけるための DNS ルックアップのプロセスで、要求されたドメイン名に使用できる キャッシュ データがない 場合、一連の DNS サーバーが連携して IP アドレスを見つけます。
リモート DNS サーバーとの過剰な通信は時間のかかるプロセスであり、パフォーマンスの低下につながります。これを防ぐために、結果の IP アドレスは OS キャッシュ、ブラウザ キャッシュ、および DNS リゾルバ キャッシュに保存されます。
DNSサーバーの種類
DNS サーバーには次の 4 つのタイプがあります。
- 再帰リゾルバー
- ルートネームサーバー
- トップレベル ドメイン (TLD) ネームサーバー
- 権威ネームサーバー
これらの DNS サーバーが相互に連携してどのように機能するかを例に挙げてみましょう。
本が必要なので、地元の書店に買いに行き、欲しい本を伝えて店のオーナーに連絡します。ここで、あなたは クライアント として機能し、店のオーナーは 再帰リゾルバー です。
次に、所有者は、別のラックのセット ( TLD ) を指すストアのインデックス ( ルート ネームサーバー ) を調べました。
適切なラックを見つけた後、彼はその特定のラック ( TLD ) に行き、書籍が入手可能な完璧な棚 ( 権威ネームサーバー ) を見つけ、クライアントが要求した適切な書籍を見つけようとします。
DNS再帰リゾルバー
IP がローカル キャッシュ データで利用できない場合、要求は DNS Recursor とも呼ばれる DNS Recursive Resolver に転送されます。 IP を検索するために DNS Recursor にリクエストを送信するこの方法は、 DNS クエリ と呼ば れます。
DNS リカーサーは、クライアントの DNS クエリ要求を受信し、必要に応じて、要求されたクライアントを満たすために追加の要求を行うように設計された特別なサーバーです。
通常、これは インターネット サービス プロバイダー (ISP) の DNS サーバーです。

ISP が提供するこれらの DNS サーバーのデータベースにもキャッシュがあります。指定されたドメインの予期される IP がキャッシュ メモリ内にある場合、要求されたクライアントにそれが提供されるだけです。
それ以外の場合は、IP を見つける際に次の手順が実行されます。
- DNS Recursor はリクエストをルート ネームサーバーに送信します。 ( DNS リカーサー → ルート ネームサーバー )
- ルート ネームサーバーはドメイン名の IP 情報を持ちませんが、対応する TLD サーバーの情報を提供してくれるので、それを見つけるのに役立ちます。 ( ルートネームサーバー → DNS リカーサー )
- ここで、リカーサーは TLD サーバーに、指定されたドメインの IP を要求します。 ( DNS リカーサー → TLD サーバー )
- TLD サーバーは、IP を持つ対応する 権威ネームサーバー の情報を提供し、DNS クエリの最終地点となります。 ( TLD サーバー → DNS リカーサー )
- このとき、リカーサーは権威サーバーにドメイン名の IP アドレスを問い合わせます。 ( DNS リカーサー → 権威ネームサーバー )
- 最後に、権威ネームサーバーは、指定されたドメイン名の IP アドレスを見つけて、それをリカーサーに送信します。 ( 権威ネームサーバー → DNS リカーサー )
- 最後に、リカーサーは結果をキャッシュ データベースに保存し、要求されたクライアントに IP アドレスを送り返します。 ( DNS リカーサー → クライアント )
ルートネームサーバー
ルート ネームサーバー (別名 「.」ネームサーバー ) は、ドメイン変換プロセスの最初のステップです。受信したリクエストが www.google.com であると仮定します。 ルート ネームサーバーは適切な .com TLD サーバーを検索し、その TLD サーバー IP をリカーサーに送信します。
ルート ネームサーバーはドメイン階層の最上位にあります。再帰リゾルバーは、リクエストをルート サーバーにディスパッチする方法を知りません。
このため、すべての再帰リゾルバーには 13 個の IP ルート サーバー アドレスのリストが構成されています。 DNS ルックアップが発生するたびに、再帰リゾルバの最初の通信はこれら 13 個のアドレスのいずれかと行われます。

世界中で 1,300 を超えるルート サーバーが利用可能であり、12 の異なる組織によって運用されています。ただし、これらの 13 個の数値アドレスによってのみアクセスできます。
ルート サーバーの IP アドレスは 13 個しかないため、いつでも 1 つの場所からは 13 個のルート ネームサーバーのみが表示されます。
TLDネームサーバー
トップレベル ドメインのネームサーバーは、共通の拡張子を共有するすべてのドメイン名の情報を保持します。これは、IP アドレスを見つけるための 2 番目のステップです。
その後、TLD サーバーは、DNS リカーサーから受信したドメイン名 ( google.com ) を確認し、適切な 権限のあるネームサーバーを検索します。
google.com の権限のあるサーバーを見つけた後、その IP アドレスを DNS リカーサーに送り返します。

さまざまな種類の TLD があり、その一部は次のとおりです。
- gTLD – 汎用 TLD (.com、.net、.org など)
- ccTLD – 国コード TLD (.in、.us、.uk など)
- sTLD – スポンサー付き TLD (.edu、.gov など)
権威ネームサーバー
権威ネームサーバーには、特定のドメインに固有の情報が含まれています。そして、これは DNS クエリの旅の最終目的地です。
権威サーバーは、Web サイトがホストされているサーバーの IP アドレスを含むドメインの A レコード (「アドレス」レコードの略) を要求されます。
要求されたドメイン レコードの情報がある場合は、その IP アドレスをリカーサーに返し、リカーサーはさらにその IP アドレスを要求されたクライアントに返します。
結論
ドメイン ネーム システムは、インターネットの重要な側面の 1 つです。これは、インターネットに接続するための最初のステップです。これにより、インターネットがユーザーフレンドリーになるだけでなく、要求されたコンテンツを効率的にロードできるようになります。
DNS がなければ、私たちは無数の Web サイトが存在するインターネットの世界に住んでおり、私たち全員にとって大きな負担となるでしょう。