DNSの仕組みの概要

DNSの仕組みの概要の概要です。

目次

説明 DNSとは (Domain Name System)
  ドメイン名からIPアドレスを取得する流れ
  DNSサーバに登録する情報(リソースレコード)
  DNSサーバ関連のコマンド(nslookup/digコマンド)
  DNSを使用しない時のファイル(hostsファイル)

DNSとは (Domain Name System)

DNSは、ドメイン名(FQDN)とIPアドレスの対応関係を管理するシステムです。

 

ドメイン名(FQDN)とは?

上記のexample.comの箇所がドメイン名で、wwwがホスト名です。
ホスト名とドメイン名をあわせてFQDNといいます。

FQDNは、Fully Qualified Domain Nameの略で、Fully Qualifiedは完全修飾という意味です。
httpはプロトコルです。

 

正引きと逆引き

ドメイン名(FQDN)からIPアドレスを取得することを正引きといいます。
IPアドレスからドメイン名(FQDN)を取得することを逆引きといいます。

ブラウザにURLを入力してウェブページを見るときは正引きが行われています。

 

ドメイン名から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は団体というように意味があります。

DNSサーバに登録する情報(リソースレコード)

リソースレコードとは、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

DNSサーバ関連のコマンド(nslookup/digコマンド)

nslookupコマンドは、DNSサーバーに対して問い合わせを送り、その結果を表示します。
DNSサーバーと正しく通信ができているか確認できます。

例:nslookup google.co.jp

LinuxのdigコマンドもDNSサーバーに問い合わせを送るコマンドです。

DNSを使用しない時のファイル(hostsファイル)

  • hostsファイルは、FQDNとIPアドレスの対応が書かれたファイルです。
  • Windows10のhostsファイルは以下の場所にあります。
    C:\Windows\System32\drivers\etc
  • Linuxは、/etc/hostsです。
  • DNSに登録する前にFQDNでサーバにアクセスしたい時や、開発のテスト環境でDNSを利用できない時などに利用します。

以下は、hostsファイルの中身です。

hostsファイルを更新して保存する方法は以下を参照下さい。
Windows10 hostsファイルを更新して保存する方法

関連の記事

SMTPとPOPとIMAPの違い(メールのプロトコル)
ネットワークのアドレス変換 (NATとNAPTの違い)
L2スイッチとL3スイッチとルーターの違い
ARPプロトコル(MACアドレスを取得する)
VPNの概要(インターネットVPNとIP-VPNの違い)
プロキシサーバとリバースプロキシサーバの違い
「HTTPリクエスト」と「HTTPレスポンス」

△上に戻る