目次
DNSとは
DNS(Domain Name System)は、人間が分かりやすい文字列(例:www.yahoo.co.jp)を、コンピュータが通信に使うIPアドレス(例:203.216.xxx.xxx)に変換する仕組みです。
この仕組みにより、私たちは複雑な数字のアドレスを覚える必要がなく、Webサイトやメールを簡単に利用できます。
ドメイン名の構造
ドメイン名は階層構造になっています。右から左へ向かって「トップレベルドメイン」「第2レベルドメイン」「第3レベルドメイン」「第4レベルドメイン」と分かれています。
こちらが表形式にしたものです👇
| ドメインレベル | 説明 | 例 |
|---|---|---|
| トップレベルドメイン(TLD) | 国や種類を表す | .jp(日本)、.com(商用)、.org(非営利) |
| 第2レベルドメイン(SLD) | 組織の種類を表す | co(企業)、ac(教育機関)、go(政府機関) |
| 第3レベルドメイン | 企業名や組織名を表す | yahoo、keio、ntt |
| 第4レベルドメイン | ホスト名(WebやFTPなど)を表す | www、ftp |
例:www.example.co.jp → これはFQDN(完全修飾ドメイン名)と呼ばれます。
DNSの構成要素
DNSは「DNSサーバ」と「リゾルバ」によって構成されています。
| 構成要素 | 役割 | 使用される機器 |
|---|---|---|
| DNSサーバ | ドメイン名とIPアドレスの対応表を管理する | Windowsサーバ、Linuxサーバなど |
| リゾルバ(DNSクライアント) | DNSサーバに問い合わせを行う | PC、スマートフォンなど |
DNSサーバには次のような種類があります。
- プライマリDNSサーバ:ゾーン情報を管理するメインのサーバ
- セカンダリDNSサーバ:バックアップ用。プライマリからゾーン転送で情報をコピー
- 権威DNSサーバ:ゾーン情報を持ち、正しい応答を返せるサーバ
- キャッシュDNSサーバ:過去の問い合わせ結果を一時保存して効率化するサーバ
DNSの通信方式
- 名前解決(問い合わせ):UDPの53番ポートを使用
- ゾーン転送(サーバ間の情報共有):TCPの53番ポートを使用
512バイトを超える応答の場合は、問い合わせでもTCPが使われることがあります。
名前解決の仕組み
- ブラウザに「www.infraexpert.com」を入力
- PCのリゾルバがローカルのDNSサーバに問い合わせ
- ローカルDNSサーバに情報がなければルートDNSサーバへ問い合わせ
- ルートからTLD(.com)、さらに下位DNSサーバへと順番にたどり、最終的に対象のIPアドレスを取得
- PCに結果を返し、ブラウザがWebサイトにアクセス
※ 実際にはキャッシュが活用されるため、毎回ルートから問い合わせるわけではありません。
初心者向けイメージ
DNSは「インターネットの電話帳」のような存在です。
- 名前(ドメイン名) → 番号(IPアドレス)に変換してくれる
- 電話帳がなければ、相手の電話番号をすべて暗記していないと電話できないのと同じ