【初学者向け】DNS入門
DNS(Domain Name System)の基礎
(超ざっくり)DNSとは
ネットワーク上で特定のサーバと通信したい場合、IPアドレスをもとにして通信を行います。
しかし、数値だけではどれがどのサーバであるか人間側で判別がしづらいので代わりに覚えやすい文字列(ドメイン)とIPアドレスを1対1で関連付けることで覚えやすくします。
このドメインからIPアドレスの情報を取得する処理を名前解決といい、この機能をDNSといいます。
DNSはどこで使われるか
私たちは普段、意識せずとも自身が調べたいことをブラウザで検索をして検索結果の一番上にヒットした(もしくはその周辺の)サイトにアクセスすると思います。
そんな検索バーでの検索時や検索結果に出力されたサイトにアクセスする際にDNSの機能が働いています。
ドメインとは
DNSの機能を説明する前にドメインの構成について説明します。
(以下のドメイン参照)
www.example-mikaru256.co.jp
- www:host名(サーバの名前)
- example-mikaru256:独自に定義したドメイン
- co:第2レベルのドメイン
- jp:第1レベルのドメイン
このようにドット「.」区切りでドメインは構成されています。
ちなみにドメインを省略せずに書いたドメイン名をFQDN(Fully Qualified Domain Name)という。
ここでjpはTLD(Top Level Domain)とも呼ばれており、特定の地域や国別でドメインが管理されています。jpは日本に割り当てられた国別TLDです。(他にもTLDの種類はありますがここでは割愛させていただきます)
DNS名前解決の流れ
図1 DNSの処理の流れ
-
ClientからDNSキャッシュサーバに「www.example-mikaru256.co.jp」のIPアドレス情報がないか問い合わせる
-
DNSキャッシュサーバに「www.example-mikaru256.co.jp」のキャッシュが残っていない場合、DNSルートサーバに問い合わせを行う
-
DNSルートサーバはTLDであるjpのDNSサーバのIPアドレスをレスポンスとしてDNSキャッシュサーバに送信する
-
DNSキャッシュサーバはjpのDNSサーバに問い合わせを行う
-
jpのDNSサーバはco.jpのDNSサーバのIPアドレスをレスポンスとしてキャッシュDNSサーバに送信する
-
DNSキャッシュサーバはco.jpのDNSサーバに問い合わせを行う
-
co.jpのDNSサーバはexample-mikaru256.co.jpのDNSサーバのIPアドレスをレスポンスとしてDNSキャッシュサーバに送信する
-
DNSキャッシュサーバはexample-mikaru256.co.jpのDNSサーバに問い合わせを行う
-
example-mikaru256.co.jpのDNSサーバはwww.example-mikaru256.co.jpのIPアドレスをレスポンスとしてキャッシュDNSサーバに送信する
-
最後にDNSキャッシュサーバはwww.example-mikaru256.co.jpのIPアドレスをClientに送信するとともにDNSキャッシュサーバにwww.example-mikaru256.co.jpとIPアドレスを対応させキャッシュする。
※DNSルートサーバは世界に13箇所あり、そのうちの一つが日本で運用されています
日本で運用されているDNSルートサーバ「M.ROOT-SERVERS.NET(202.12.27.33)」
最後に
ここまで読んでくださりありがとうございます。
自分自身、学んだことを忘れないためにもなるべくアウトプットしていこうと思います。
参考文献
- 徹底攻略ネットワークスペシャリスト教科書令和5年度 (瀬戸美月著 株式会社インプレス出版)
- WIDEプロジェクトとJPRSがRoot DNSサーバの共同運用を開始(https://jprs.co.jp/press/2005/051220.html)
Discussion