DNSの仕組みの概要(ドメイン・ネーム・システム)

DNS(ドメイン・ネーム・システム)の仕組みの概要の概要です。

目次

説明 DNS(ドメイン・ネーム・システム)の概要
  ドメイン名からIPアドレスを取得する流れ
  DNSサーバに登録する情報(リソースレコード)
  DNSを使用しない時のファイル(hostsファイル)

DNS(ドメイン・ネーム・システム)の概要

 

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

上記図の流れは以下のとおりです。

1.example.comのサイトを見る場合、ドメイン名のexample.comをDNSサーバに送信します。

2.DNSサーバはドメイン名のexample.comに対応するIPアドレス(10.0.10.9)を問い合わせ元に返します。

3.PCは、受け取ったIPアドレス(10.0.10.9)でexample.comにアクセスします。

 

関連の用語/事項

ドメイン名(FQDN)

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

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

正引き ドメイン名からIPアドレスを取得すること
ブラウザにURLを入力してサイトを見るときは正引きが行われています。
名前解決ともいいます。
逆引き IPアドレスからドメイン名(FQDN)を取得すること
名前解決ともいいます。
リゾルバ DNSサーバに問い合わせするソフト
DNSサーバの別名 ネームサーバ、ドメインネームサーバ
DNSを使用する場合 ドメイン名を使用した通信をする場合は、PCまたはルーターにDNSサーバのIPアドレスを登録しておく必要があります。
DNSフォワーダ DNSが解決できないDNSリクエストを転送する先です。
社内LANのDNSサーバは、DNSフォワーダとしてISPのDNSサーバを指定する等。
BIND DNSサーバのソフトウェアとして有名
TLD Top Level Domain(トップレベルドメイン)の略で
example.comであればcomです。
jpは日本、comは商用、orgは団体というように意味があります。
nslookup DNSサーバーに対して問い合わせを送り、その結果を表示するコマンド。
DNSサーバーと正しく通信ができているか確認できます。
例:nslookup google.co.jp
dig LinuxのDNSサーバーに問い合わせを送るコマンドです。
リソースレコード DNSサーバに登録する情報
hostsファイル DNSを使用しない時のファイル。
ドメイン名とIPアドレスの対応が書かれています。
Windows、Linuxともにあります。

 

ドメイン名からIPアドレスを取得する流れ

「www.example.com」のIPアドレスを問い合わせます。
ルートネームサーバへ問い合わせします。
comのDNSサーバのアドレスを返します。
comのDNSサーバへ問い合わせします。
example.comのDNSサーバのアドレスを返します。
example.comのDNSサーバへ問い合わせします。
「www.example.com」のIPアドレスを返します。
「www.example.com」のIPアドレスを返します。

※毎回このような問い合わせが行われるわけではありません。
PCがすでに接続先のIPアドレスを保持している場合、それを再利用します。
キャッシュサーバも同様に接続先のIPアドレスを保持している場合、それを再利用します。
DNSのキャッシュは、TTL(Time To Live)という値でキャッシュの保持期間を指定できます。
期間が切れると再度問い合わせを行います。

図の右側にある3つのサーバー(ルートネーム,com,example.com)は権威サーバと呼ばれます(NSレコードにより指定される)。

権限委譲(delegation)

上位ドメインは下位ドメインのDNSサーバ情報のみを保持しています。
そのため、その下位ドメイン配下にはどのような下位ドメインでも作成できます。

 

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
ドメインのメールサーバを指定する。

 

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

hostsファイルは、ドメイン名とIPアドレスの対応が書かれたファイルです。

DNSに登録する前にFQDNでサーバにアクセスしたい時や、開発のテスト環境でDNSを利用できない時などに利用します。

hostsファイルの場所

Windows10 C:\Windows\System32\drivers\etc
Linux /etc/hosts

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

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

関連の記事

SMTPとPOPとIMAPの違い(メールのプロトコル)
L2スイッチとL3スイッチとルーターの違い

△上に戻る