2020-07-11T00:00+09:00
DNSとは?
DNS(Domain Name System)の役割はローマ字とピリオドを使ったアドレスからIPアドレスへと変換を行うことです。
「172.217.175.3」とみて、皆さんはすぐに何のサイトかわかるでしょうか?
これはwww.google.co.jp のIPアドレスです。
DNSはこのように、人間にはわかりにくいIPアドレスを
人間にわかりやすいドメイン に変換します。
つまり、コンピュータ同士の通信ではIPアドレス同士の通信が行われるのですが、
そのままのIPアドレスでは人間は覚えにくため、「www.google.co.jp」 などの文字列が与えられるわけです。
こうしたドメイン名とIPアドレスを結びつける仕組みをDNSといいます。
ネームサーバー
ネームサーバーとはこれまで説明した「www.google.com」 などのドメイン名から「172.217.175.3」などのIPアドレスに変換する名前解決 を行うサーバーです。
ネームサーバーは全世界に分散して設置されています。
全てのドメイン名とIPアドレスを紐付ける情報は膨大な量になります。
これらの膨大な情報を一つのサーバーによって一元管理することは現実的ではないため、
階層的な分散型データベースを形成しています。
ルートつまり、階層のトップに設置されているネームサーバーのことをルートネームサーバーと言います。
ルートネームサーバーにはその次の階層、すなわち、1つ下の階層のネームサーバーのIPアドレスが登録されています。
例えば、「space-english.jp」のドメインを名前解決する場合、
ルートネームサーバーにIPアドレスを尋ねる
↓
ルートネームサーバーは「jp」のネームサーバーが管理していることを返答する
↓
「jp」のネームサーバーにIPアドレスを尋ねる
↓
「jp」のネームサーバーは「ns1.webhosting.jp」のネームサーバーが管理していることを返答する
↓
「ns1.webhosting.jp」のネームサーバーにIPアドレスを尋ねる
↓
「ns1.webhosting.jp」のネームサーバーはIPアドレスを返答する
以上のようなやり取りが発生します。
リゾルバ
WebブラウザがIPアドレスを問い合わせるときに使用するプログラムがリゾルバというものです。
これまで見てきたネームサーバーに名前解決のリクエストをする際に使用するプログラムです。
まとめ
DNSとはドメインをIPアドレスに変換するシステムのことです。
DNSには、ネームサーバーというものがあり、
ネームサーバーが人間にとってわかりやすいローマ字表記のドメインから、
人間ととってはわかりにくいIPアドレスへと変換してくれます。
» Rintaro@Space (@Space____Tech) | Twitter
参考文献
マスタリングTCP/IP入門編第5版