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レスポンス」