ネットワーク

【ネットワーク】DNSってなーに?【URLはコンピュータに理解できていない?】

DNSとは??

Domain Name Systemの略で、IPアドレスとドメインを紐付けるシステムのことです。

インターネットができたばかりの時は、ホスト名とIPアドレスの対応関係を記録した「hosts」というファイルを作成し、これを全てのコンピュータがコピーして持つことによりIPアドレスの変換を行なっていました。今でもUNIXにおいて「etc/hosts」というファイルに対応関係を保存できます。UDPを使っています。DNSは多数のネームサーバーから構成された分散データベースです。

IPアドレス

インターネット上で通信相手のコンピュタを他から識別するために用いられます。インターネットの住所のようなもの。

ネームサーバー

ドメイン名を管理しているコンピュータ及びそのソフトウェアのことで、自らが所属する階層(ゾーン)のドメイン情報を管理しています。

DNSはなぜ必要か??

ホストネーム(例えば、www.yahoo.com)は人間は扱いやすいがコンピュータには扱いにくい。IPアドレス(例えば164.144.137.100)はコンピュータには扱いやすいが、人間は覚えにくく扱いにくい。なので、IPアドレスとドメインを紐づけて、どちらにも扱いやすいようにしています。

DNSはどのように動作しているのか??

「computer.org」ドメインのクライアント「host」が「www.tomoblog.ac.jp」というホームページへアクセスするとします。

①hostはまずcomputer.orgドメインのネームサーバに対し、www.tomoblog.ac.jpのIPアドレスを知っているかを問い合わせます。

②computer.orgのネームサーバーは、そのIPアドレスを知っていればそれを返しますが、知らない場合にはルートネームサーバーに問い合わせます。

③ルートネームサーバーはjpドメインのネームサーバーのIPアドレスを返される。

④⑤そこで、jpドメインのネームサーバーにwww.tomoblog.ac.jpのIPアドレスを問い合わせると、今度は、ac.jpドメインのネームサーバーのIPアドレスが返される。

⑥⑦さらに、これに問い合わせるとtomoblog.ac.jpドメインのネームサーバーのアドレスが返される。

⑧⑨このネームサーバーはtomoblog.ac.jpドメインに所属するコンピュータをのアドレスを管理しており、これに尋ねるとようやくwww.tomoblog.ac.jpのIPアドレスを知ることができます。

⑩このようにして、computer.orgドメインのネームサーバーはwww.tomoblog.ac.jpのI Pアドレスを知ることができ、computer.orgドメインのhostにこのIPアドレスを返す。

⑪⑫以上の手順によりhostはwww.tomoblog.ac.jpのIPアドレスっを知ることができます。このIPアドレスを使ってホームページアクセスなどの通信を開始します。

nslookup ホスト名+ドメイン名でIPアドレスを手動で取得できる

DNSサーバに問い合わせるのは誰がするか

DNSサーバーに問い合わせるということはDNSクライアント見たいなものが存在しています。それはDNSリゾルバまたはリゾルバと言います。リゾルバの実態は、Socketライブラリに入っている部品化したプログラムになっています。そのライブラリは、OSに組み込まれています。Socketライブラリの中には、データを送受信する時につかう部品がたくさんはいっています。

リゾルバの利用方法

リゾルバは、Socketライブラリの中に入っている部品化されたプログラムなので、アプリケーションから呼び出しできます。C言語などでネットワークアプリケーションを書く場合は gethostbyname(“サーバーのドメイン”) と書けばリゾルバを利用できます。

もっと知りたい方へ