DNSとは|ドメイン名をIPアドレスへ変換する仕組み

当ページは検証・整備中のドラフトです。
内容は実環境での検証や追加調査により変更される予定です。
参照:ページ公開・更新ポリシー

DNSとは

DNS(Domain Name System)は、ドメイン名をIPアドレスへ変換する仕組みである。

コンピューターは「192.0.2.10」のようなIPアドレスを利用して通信を行う。
一方、人間は「example.com」のようなドメイン名の方が覚えやすい。

DNSはこの両者を結び付ける役割を担っており、利用者が入力したドメイン名に対応するIPアドレスをDNSサーバへ問い合わせることで、目的のサーバへ接続できるようにしている。この処理は「名前解決」と呼ばれる。

そのためDNSはインターネットの電話帳に例えられることもあるが、実際には通信相手を見つけるための重要な基盤技術である。

DNSで通信が始まる流れ

Webサイトへアクセスする際、最初にDNSによる名前解決が行われる。

通信の基本的な流れ

  1. ブラウザへドメイン名を入力する
  2. DNSサーバへ問い合わせる
  3. IPアドレスが返される
  4. 取得したIPアドレスへ通信する
  5. Webサイトが表示される

DNSはWebページそのものを配信しているわけではなく、通信相手を見つける役割を担っている。

DNSを構成する主な要素

DNSは複数の要素によって構成され、これらが連携することで、ドメイン名を利用した通信が実現されている。

要素役割
ドメイン名人が利用する名前
IPアドレス通信先を識別する住所
DNSサーバ名前解決を行うサーバ
DNSレコードドメイン名とIPアドレスなどの対応情報

DNSサーバの種類

DNSサーバには役割や形態が異なる種類が存在する。代表的なものは以下のとおり。

役割

  • 権威DNSサーバ
  • キャッシュDNSサーバ

提供形態

  • ISPが提供するDNS
  • パブリックDNS
  • 組織内DNS

これらは単独で動作するのではなく、役割を分担しながら連携して名前解決を行っている。
なお、パブリックDNSとは、一般利用者へ公開されたキャッシュDNSサーバ(再帰DNS)のサービスである。

DNSが利用される主な通信

DNSはWebサイトの閲覧だけで利用される技術ではない。

例えば、

  • Webサイトの閲覧
  • メールの送受信
  • クラウドサービスへの接続
  • VPN接続
  • オンライン会議
  • ソフトウェア更新

など、多くの通信で最初に利用される。

そのためDNSに障害が発生すると、多くのサービスで通信先を特定できなくなるため、インターネットそのものが利用できなくなったように見えることもある(実際にはIPアドレスを直接指定することで通信できる場合もある)。

DNSに対する主な攻撃と対策

DNSはインターネットの多くの通信で利用される重要な仕組みであり、その重要性から攻撃の対象にもなっている。

攻撃者はDNSを悪用して利用者を偽サイトへ誘導したり、通信を妨害したり、組織内の情報を外部へ持ち出したりすることがある。

また、こうした攻撃への対策として、DNSの安全性や通信の秘匿性を高める技術も利用されている。

代表的なものを以下に示す。

区分種類概要
攻撃DNSキャッシュポイズニングDNSサーバのキャッシュへ偽の情報を登録し、利用者を偽サイトへ誘導する攻撃
攻撃DNSリフレクション攻撃DNSサーバを踏み台として大量の通信を送り付けるDoS・DDoS攻撃
攻撃DNSトンネリングDNS通信へデータを埋め込み、情報を外部へ送信する手法
対策DNSSECDNS情報の改竄を検知するための仕組み
対策DNS over HTTPS(DoH)DNS通信をHTTPSで暗号化し、盗聴や改竄を防ぐ技術
対策DNS over TLS(DoT)DNS通信をTLSで暗号化し、安全性を高める技術

DNSに関連する用語

DNS関連の用語として以下も頻出する。

  • ドメイン名
  • IPアドレス
  • 名前解決
  • DNSサーバ
  • パブリックDNSサーバ
  • DNSレコード
  • DNSキャッシュ
  • DNSフィルタリング
  • DNSSEC
  • DNS over HTTPS(DoH)
  • DNS over TLS(DoT)

まとめ

  • DNSはドメイン名をIPアドレスへ変換する仕組みである
  • 通信を始める前に名前解決を行い、接続先を特定する
  • DNSはWebだけでなく、多くのインターネット通信で利用される
  • DNSには役割の異なる複数のサーバが存在する
  • DNSは多くの通信の基盤であり、セキュリティを理解するうえでも重要な技術である