DNS(Domain Name System)とは? 仕組みと名前解決の流れをわかりやすく解説

IT用語

ブラウザにドメインを入力した際、一瞬で目的のWebサイトが表示されるのは、裏側で「DNS」が休むことなく働いているからです。DNSは、人間が使う「名前」を、コンピュータが理解できる「数字(IPアドレス)」に変換する、インターネットの電話帳のような役割を担っています。

実務でのドメイン設定やサーバーの運用、さらにはネットワークトラブルの解消において、DNSの仕組みを正しく理解しておくことはエンジニアの必須教養です。試験(FE/AP)でも頻出の「名前解決」のプロセスを詳しく見ていきましょう。

DNSの役割は「名前解決」

DNS(Domain Name System)の主な役割は、ドメイン名(例:example.com)から対応するIPアドレス(例:192.0.2.1)を導き出すことです。この工程を「名前解決(Name Resolution)」と呼びます。

IPアドレスについては、こちらの記事で詳しく解説しています。

もしDNSが停止してしまうと、私たちはブラウザに直接数字の羅列(IPアドレス)を打ち込まない限り、どのサイトにもアクセスできなくなってしまいます。

世界中に分散する「階層構造」の仕組み

世界中のすべてのドメイン情報を1台のサーバーで管理するのは不可能です。そのため、DNSは情報を分散して管理する「階層構造」をとっています。

  1. ルートサーバー: 階層の最上位に位置し、全てのDNSの起点となります。
  2. トップレベルドメイン(TLD)サーバー: .jp.com.net などの種類ごとに情報を管理します。
  3. 権威DNSサーバー(コンテンツサーバー): そのドメインの具体的なIPアドレス情報を保持している最終的な回答者です。

この階層を順に辿っていくことで、世界中の膨大なドメインの中から、目的のIPアドレスを特定できる仕組みになっています。

名前解決のステップ:再帰的問い合わせ

あなたがブラウザにURLを入力したとき、裏側では以下のようなリレー形式の問い合わせが行われています。

  1. キャッシュサーバーへの問い合わせ: まず、プロバイダなどが提供する「DNSキャッシュサーバー(フルサービスリゾルバ)」に尋ねます。
  2. ルートへの照会: キャッシュサーバーに答えがなければ、ルートサーバーに「.jpはどこ?」と聞きます。
  3. TLDへの照会: 次にTLDサーバーに「example.jpはどこ?」と聞きます。
  4. 権威サーバーからの回答: 最後に、そのドメインを管理する権威サーバーが「IPアドレスは 192.0.2.1 です」と答えます。

この結果がブラウザに返され、ようやく目的のサーバーとの通信が始まります。この名前解決の結果は一時的に保存されます。これが「DNSキャッシュ」です。キャッシュの概念については、以下の記事も参考にしてください。

実務で扱う「DNSレコード」の種類

エンジニアがサーバーの設定を行う際、具体的に操作するのが「DNSレコード」です。以下の代表的な種類は必ず覚えておきましょう。

  • Aレコード: ドメイン名をIPv4アドレスに紐付ける(最も基本)。
  • AAAAレコード: ドメイン名をIPv6アドレスに紐付ける。
  • CNAMEレコード: ドメイン名に「別名」を付ける(例:www なしを www ありに向ける)。
  • MXレコード: メールサーバーの配送先を指定する。
  • TXTレコード: 任意のテキスト情報を記述する(ドメイン所有権の確認などに使用)。

試験(FE/AP)で狙われるセキュリティリスク

DNSはその重要性ゆえに、攻撃の対象にもなりやすい仕組みです。

  • DNSキャッシュポイズニング: キャッシュサーバーに偽のIPアドレス情報を注入し、ユーザーを偽サイトへ誘導する攻撃です。
  • DNSアンプ攻撃: DNSの応答パケットが増幅される性質を悪用したDDoS攻撃の一種です。
  • 対策(DNSSEC): 応答データにデジタル署名を付与し、情報の正当性を確認する技術です。

まとめ

DNSは、私たちが普段意識することのない「インターネットのインフラ」です。

  • 名前解決によってドメインをIPアドレスに変換する。
  • 階層構造によって世界中の情報を分散管理している。
  • 実務では各種レコード設定が運用の肝となる。

これらを理解することで、ネットワークの設定やトラブルシューティング、そしてセキュリティ対策の土台が完成します。

コメント