DNSの仕組みの概要の概要です。
目次
- DNS (Domain Name System)
- ドメイン名(FQDN)とは?
- ドメイン名からIPアドレスを取得する流れ
- DNSサーバ
- TLD
- リソースレコード
- nslookup/digコマンド
- hostsファイル
DNS (Domain Name System)

DNSは、ドメイン名(FQDN)とIPアドレスの対応関係を管理するシステムで、ドメイン名(FQDN)からIPアドレスを取得、またはIPアドレスからドメイン名(FQDN)を取得できます。
前者を正引き、後者を逆引きと言います。
ブラウザにURLを入力してサイトを見るときは正引きが行われています。
ドメイン名(FQDN)とは?

上記は、ドメイン名とFQDNの関係を表しています。
FQDNは、Fully Qualified Domain Nameの略で、Fully Qualifiedは完全修飾という意味です。
FQDNには、ホスト名であるwwwも含まれます。
ちなみに「http://」はプロトコルです。
参考:http://www.atmarkit.co.jp/aig/06network/fqdn.html
ドメイン名からIPアドレスを取得する流れ
PCのブラウザでサイトを見るときに行われるドメイン名からIPアドレスを取得する流れです。

- ① 「www.example.jp」のIPアドレスを問い合わせます。
- ② ルートネームサーバへ問い合わせします。
- ③ jpのDNSサーバのアドレスを返します。
- ④ jpのDNSサーバへ問い合わせします。
- ⑤ example.jpのDNSサーバのアドレスを返します。
- ⑥ example.jpのDNSサーバへ問い合わせします。
- ⑦ 「www.example.jp」のIPアドレスを返します。
- ⑧ 「www.example.jp」のIPアドレスを返します。
※毎回このような問い合わせが行われるわけではありません。
PCがすでに接続先のIPアドレスを保持している場合、それを再利用します。
キャッシュサーバも同様に接続先のIPアドレスを保持している場合、それを再利用します。
図の右側にある3つのサーバー(ルートネーム,jp,example.jp)は権威サーバと呼ばれます。
DNSサーバ
- DNSサーバに問い合わせするソフトをリゾルバといいます。
- DNSサーバは、ネームサーバとも呼ばれます。
- ドメイン名を使用した通信をする場合は、PCまたはルーターにDNSサーバのIPアドレスを登録しておく必要があります。
- DNSサーバのソフトウェアとしては、BINDが有名です。
https://ja.wikipedia.org/wiki/BIND
TLD
TLDは、Top Level Domain(トップレベルドメイン)の略でexample.jpのjp、example.comであればcomのことです。jpは日本、comは商用、orgは団体というように意味があります。
以下は、wikipediaのトップレベルドメインのリンクです。
トップレベルドメイン
リソースレコード
リソースレコードとは、DNSサーバに登録する情報のことです。
ゾーンファイルというテキストファイルにリソースレコードが記述されています。
以下は主なリソースレコードです。
| リソースレコード | 説明 |
|---|---|
| SOAレコード | Start of Authority record 最初に記述されるリソースレコード。 自分が管理しているゾーン(ドメイン)の情報。 DNSサーバの各種管理情報あり。 |
| NSレコード | Name Server record 自分が管理しているゾーン(ドメイン)のネームサーバを指定する。 プライマリ、セカンダリのDNSサーバを記述。 |
| Aレコード | Address record ドメイン名に対するIPアドレスを指定する。 正引きで使用する。 |
| PTRレコード | PoinTeR record IPアドレスに対するドメイン名を指定する。 逆引きで使用する。 |
| CNAMEレコード | Canonical NAME record ホストの別名を指定する。 |
| MXレコード | Mail exchange record ドメインのメールサーバを指定する。 |
以下は、JPNICのDNSキャッシュのリンクです。
https://www.nic.ad.jp/ja/newsletter/No51/0800.html
nslookup/digコマンド
nslookupコマンドは、DNSサーバーに対して問い合わせを送り、その結果を表示します。
DNSサーバーと正しく通信ができているか確認できます。
例:nslookup google.co.jp
LinuxのdigコマンドもDNSサーバーに問い合わせを送るコマンドです。
hostsファイル
- FQDNとIPアドレスの対応が書かれたファイルです。
- Windows10の場合、hostsファイルは以下の場所にあります。
C:\Windows\System32\drivers\etc - DNSに登録する前にFQDNでサーバにアクセスしたい時や、テスト環境でDNSを利用できない時などに利用できます。
- hostsファイルの中身です。

- hostsファイルを更新して保存する方法は以下をご覧下さい。
Windows10 hostsファイルを更新して保存する方法
関連の記事
メールを送受信するプロトコル (SMTP/POP/IMAP)
ネットワークのアドレス変換 (NATとNAPTの違い)
L2スイッチとL3スイッチの違い
MACアドレスを取得するプロトコル (ARP)
インターネットVPNとIP-VPNと広域イーサネットの違い
プロキシサーバとリバースプロキシサーバの違い
「HTTPリクエスト」と「HTTPレスポンス」