6. DNSサーバ

 
6.1 歴史みたいな話 6.2 仕組みに関する簡単な説明 6.3 コンテンツサーバとキャッシュサーバ

6.1 歴史みたいな話

 DNSサーバの DNS とは Domain Name System の略です。ドメイン名、わかりますか?ここにアクセスしているなら、ブラウザのアドレスバーに「http://freebsd.sing.ne.jp/ymo/06/」か、それに近い文字が出力されているはずです。  「http://」は、プロトコル を示すもので  「freebsd.sing.ne.jp」がフルドメイン名  「/ymo/06/」の部分はサイトのツリーを表すもので、「sing.ne.jp」がいわるるドメイン名になります。  ドメイン名はネットワークを示し、フルドメイン名はネットワーク内の特定のマシンを示します。  ネットワークを示すには本来は、IPアドレスというものが存在し、IPアドレスは少なくとも同一のネットワークで一意になるもので、マシン間の通信の双方向性を保証します。  IPアドレスとマシンを指し示すものとして hosts というファイルがあります。少しコンピュータに詳しい人であれば触ったことがあるかと思います。  Windows 系では「C:¥Windows¥System32¥drivers¥etc」に配置され、Unix 系では「/etc」に配置されています。  昔々、インターネットが世に出る前、ARPANET で実験を行っていた初期の頃は、ネットワークにつながるマシンが1台増えるごとに hosts ファイルを書き換えていたそうです。  それが爆発的に増え始めたときにこの方式のままでは破たんすることに気付いた人がいたわけです。  あるネットワーク内を管理するマシンは、それ以外のネットワークを管理するマシンと通信して IPアドレスとマシンをお互いに結びつける方法を考えたわけです。  それが Domain Name System です。

6.2 仕組みに関する簡単な説明

 hogehoge.ne.jp というネットワークを管理していて、管理を実行しているマシンが ns.hogehoge.ne.jp というフルドメイン名を持っているとします。  ns.hogehoge.ne.jp はそれを管理してくれるマシンがあります。  これをたどっていくと、ne.jp を管理しているマシンがあります。さらにたどると ne.jp を管理している jp の権威をもったマシンがあります。  検索をかけると検索をかけるマシンは、自分のキャッシュの中にドメイン名と IPアドレスを結びつける情報があればそれを返しますし、なければ、上位のマシンに問い合わせを行います。  上位のマシンでは同じ仕組みでキャッシュにあればそれを返すし、なければさらに上位のマシンに問い合わせを行います。  hogehoge.ne.jp が hogehoge.co.jp を探そうとすると (ne と co が違うところに注目!)  おっそろしく単純な言い方をすれば、下図のように上位へ上位へとたどっていき、jp の最上位からまた下にたどっていって、応答があったところから返していくということになります。
 途中で、自分のキャッシュに情報があればルートの途中から応答を返します。  これを網の目のようにはりめぐらせているので、世界中のドメインを検索することができるのです。

6.3 コンテンツサーバとキャッシュサーバ