DNS とは、(Domain Name System)の略で、TCP/ IP 通信において、ドメイン名から、 対応する IPアドレスを取得できるようにするシステムのことである。
DNSサーバーは、ドメイン名と IP アドレスの対応関係を記述したデータベースを管理しており、通常、ユーザーがWEBサイトにアクセスする際には、ブラウザのアドレス欄にドメイン名込みの URL (例:www.yahoo.co.jp)を打ち込んでアクセスなさる。
しかし実際には、 例えば会社名をドメイン名としているURLや、ユーザーにわかりやすい形のそれらの URL だけでは、目的の Web サイトにアクセスすることはできない。
では、どうやって DNSサーバーは、ドメイン名を元に目的の IP アドレスを知りうるのでしょうか?
インターネット上の DNS サーバーは、巨大なツリー構造をなしており、世界中の DNSサーバーが 協力して1つのデータベースとして機能している。上記の例(www.yahoo.co.jp)を元に解説しよう。
ユーザーが、URL(www.yahoo.co.jp)を要求したとします。そこで DNSサーバーは、ユーザー から要求のあった URL (ドメイン名)をもとに、まずインターネット上の rootDNS サーバーから jpドメインを管理している DNSサーバーを紹介してもらい、jpドメインを管理している DNSサーバーから、今度は、coドメインを管理しているDNSサーバーを紹介してもらう。
coドメインを管理しているDNSサーバーから、今度は、yahooドメインを管理している
DNSサーバーを紹介してもらい、 yahooドメインを管理しているDNSサーバーは、自分の 配下にある IP アドレスを回答することにより、初めて通信が可能になる。
この様に、DNSサーバーがツリー構造を構成することにより、各DNSサーバーは、自分のドメイン配下のDNSサーバーのドメインを管理するだけで、世界中からアクセル可能となっている。
目的のURL(ドメイン名)を管理しているDNSサーバーを探し出して、 IP アドレスを参照可能にし、 アクセス可能にしてくれている。 以上のような役割をはたしているのが、DNSサーバーなのである。