DNS(Domain Name System)とは
Domain Name System(DNS)は、
インターネット上で
ドメイン名と
IPアドレスを対応付けるシステムです。Webサイトにアクセスする際、ブラウザに入力する「example
.com」のような
ドメイン名を、コンピュータが通信に必要な「192.0.2.1」のような
IPアドレスに変換する役割を担っています。
DNSの仕組み
DNSは、階層的な分散型
データベースとして機能します。
インターネットに接続されたすべてのコンピュータは固有の
IPアドレスを持ちますが、人間が
IPアドレスを覚えるのは困難です。そこで、覚えやすい
ドメイン名が考案されました。DNSは、この
ドメイン名から
IPアドレスを
検索する「正引き」という機能を提供します。
DNSの基本的な動作は以下の通りです。
1. ユーザーがWebブラウザに
ドメイン名(例:ja.wikipedia
.org)を入力します。
2. ブラウザは、OS内のリゾルバAPIに
ドメイン名を渡します。
3. リゾルバAPIは、DNSサーバに
ドメイン名に対応する
IPアドレスを問い合わせます。
4. DNSサーバは、
ドメイン名に対応する
IPアドレスをリゾルバAPIに返します。
5. ブラウザは、受け取った
IPアドレスを使用してWebサーバと通信を開始します。
DNSの
ドメイン名は階層構造を持っています。例えば、「ja.wikipedia
.org」という
ドメイン名は、「ja」「wikipedia」「org」という3つの階層に区切ることができます。この階層構造は、
ドメイン名前空間と呼ばれ、頂点には「.(ルート)」があります。ルートの下には、
.com、
.org、
.jpなどの
トップレベルドメイン(TLD)があり、さらにその下にセカンドレベルドメイン、サードレベルドメインと続きます。
各ドメインは「ゾーン」と呼ばれる管轄に分けられて管理され、それぞれのゾーンは独立したDNSコンテンツサーバによって管理されます。DNSコンテンツサーバは、管理しているゾーンのホスト名と
IPアドレスの組を記述した
データベースを持ち、クライアントからの要求に応じて、ホスト名に対応する
IPアドレスを返します。
DNSサーバの種類
DNSサーバには、主に以下の2種類があります。
権威DNSサーバ(authoritative name server): 自らが担当するドメイン名の名前解決を内部のデータベースを使って行い、その結果のIPアドレスを返します。
キャッシュDNSサーバ: 権威DNSサーバの回答結果を一定期間保存し、代わりに回答する機能を持っています。これにより、権威DNSサーバの負荷を分散させることができます。
DNSの再帰検索
DNSクライアントは、ルートサーバから複数のDNSサーバをたどり、最終的なホスト名の
IPアドレスを得る「再帰
検索」を行います。
例えば、「ja.wikipedia
.org」の
IPアドレスを
検索する場合、まずルートサーバにorgドメインのDNSサーバの
IPアドレスを問い合わせ、次にorgドメインのDNSサーバにwikipedia
.orgドメインのDNSサーバの
IPアドレスを問い合わせ、最後にwikipedia
.orgドメインのDNSサーバにja.wikipedia
.orgの
IPアドレスを問い合わせます。
DNSの重要性
DNSは、普段意識することはありませんが、
インターネットの利用には不可欠なシステムです。DNSサーバが停止してしまうと、そのドメイン内のホストへのアクセスやメールの送受信ができなくなってしまいます。そのため、重要なDNSサーバは二重化されるなど、可用性が確保されています。
DNSのセキュリティ
DNSは、情報を盗聴したり、改ざんしたりするリスクがあります。DNS偽装は、ユーザーを偽のWebサイトに誘導し、個人情報を盗むなどの被害をもたらす可能性があります。このため、DNSSEC(DNS Security Extensions)などのセキュリティ対策が重要です。また、コンテンツサーバのマスタ(プライマリ)は
インターネットから隠匿し、スレーブ(セカンダリ)を公開するなどの構成で、情報漏洩を防ぐ対策が取られています。
DNS over HTTPS (DoH) / DNS over TLS (DoT)
DNSクエリのセキュリティとプライバシーを向上させるため、DNS over
HTTPS (DoH) と DNS over TLS (DoT) が導入されています。
DoH: DNSクエリをHTTPS上でやり取りすることで、盗聴や改ざんを防ぎます。
DoT: DNSクエリをTLSプロトコル上でやり取りすることで、同様にセキュリティを向上させます。
これらのプロトコルは、ユーザーのプライバシー保護に役立ちます。
DNSの関連技術
Dynamic DNS (DDNS): IPアドレスが動的に変化する環境で、ドメイン名を維持するための技術。
DNSラウンドロビン: 複数の
IPアドレスを登録することで、負荷分散を行う技術。
DNSブラックリスト(DNSBL): スパムメール送信などに使われるIPアドレスを登録したリスト。
DNS-Pinning(DNSリバインディング): DNSレコードの書き換えによる攻撃を防ぐ技術。
まとめ
DNSは、
インターネットの根幹を支える重要なシステムであり、
ドメイン名と
IPアドレスを対応付ける役割を担っています。DNSの仕組みやセキュリティ対策を理解することは、安全で快適な
インターネット利用に不可欠です。