ドメインは、例えば、ホームページのアドレス「https://wepicks.net」やメールアドレス「info@wepicks.net」などで使用されます。この場合、「wepicks.net」の部分がドメインです。
インターネット上では、このドメインによってホームページやメールアドレスを管理しているコンピューターの場所が判別できるようになっています。
因みに、ドメインは ICANN(アイキャン)という非営利の国際的な組織によって管理されています。
例えば、日本大学のドメイン名「nihon-u.ac.jp」の場合、「jp(日本)」は国を識別するためのドメイン名です。「ac(大学などの高等教育機関のためのドメイン名)」は組織を識別するためのドメイン名です。「nihon-u」はホスト(個々のコンピューター)を識別するためのドメイン名です。また小分類は大分類にとってのサブドメイン名になります。「jp」ドメイン名のサブドメイン名は「ac」であり、「ac」ドメイン名のサブドメイン名は「nihon-u」です。
つまりこのドメイン「nihon-u.ac.jp」が意味するのは、jp(日本) の ac(教育機関) の nihon-u(ホスト) というコンピューター ということを表しています。
このように多くの場合、ドメイン名はその左側の小分類に1つまたは複数のサブドメイン名を連ねています。階層構造の一番右はトップレベル登録ドメインです。これはTLD(トップ・レベル・ドメイン)と言い、「.com」や「.jp」などです。左側に移行するに従って、セカンドレベル、サードレベル、フォースレベルとなります。
また、インターネット上では「ドメイン名」と「ホスト名」は同義の意味で使用されることがあります。
例えば、「yahoo.co.jp」というドメイン名に対応するIPアドレスは「203.216.243.240」です。試しに、Webブラウザのアドレス欄に「http://203.216.243.240/」と入力してエンターキーを押してみて下さい。Yahoo! のホームページへジャンプします。
では、なぜ同じ場所を示すのに2通りの記述方法があるのでしょうか。それは、人間とコンピューターでは扱いやすい形式が異なるからです。文字列の羅列であるドメイン名は人間にとって分かり易い形式ですが、コンピューターにとっては都合が悪く、逆に数値の羅列であるIPアドレスは、コンピューターにとって都合がよく人間にとっては認識し辛い形式だからです。
そしてこの2つの異なる形式を紐付けているのがDNS(Domain Name System)になります。このDNS機能を備え、インターネット上でドメイン名とIPアドレスを紐付ける処理を行っているのがDNSサーバーです。
例えば、ドメイン名「aiueo.com」に対応するIPアドレスは「123.45」だとします。この場合、ユーザーがドメイン名「aiueo.com」と検索したものが、「123.45」というIPアドレスに対応します。そして、ドメイン名「aiueo.com」とIPアドレス「123.45」が同一機器を指し示しているという情報を保持し、「aiueo.com」と検索したユーザーが「123.45」というIPアドレスの機器にたどり着けるように関連付ける処理を行うのがDNSサーバーになります。ドメイン名に対するIPアドレスを関連付けることを名前解決と呼びます。DNSサーバーは自身が所属するネットワークに接続されているコンピューターのドメイン名とIPアドレスの対応表が保存されており、外部ネットワークからの問い合わせに応じて名前解決を行います。
ドメイン名は、人間が分かりやすいように「文字列」形式で表現されたものであり、IPアドレスはコンピュータにとって都合が良い、「数字の羅列をピリオドでつなげた形式」で作られたものです。数字の羅列であるIPアドレスは、人間にとっては覚えにくくとても不便なものなのですが、コンピューターには都合が良い識別形式になります。逆に文字列の羅列は人間にとって都合が良く、コンピューターにとっては不都合なものになります。これらの2つの異なる形式を繋ぎ合わせるDNSサーバーは、インターネットの世界を作るのになくてはならない大切なシステムです。
DNSサーバーは障害対策や負荷分散のために、通常主系統と副系統の2系統、或いはそれ以上を用意します。主系統をプライマリDNS、副系統をセカンダリDNSと言います。セカンダリDNSはプライマリDNSのゾーン情報(ドメイン名空間情報)をコピーして保持しています。主に稼動するのはプライマリDNSですが、プライマリDNSにトラブルなどが発生した場合は即座にセカンダリDNSがその役目を担います。また、このような可用性(連続して稼動する能力)向上のためだけでなく、大規模なドメイン管理を行うDNSサーバーでは、付加分散のために複数のセカンダリDNSを用意するケースもあります。
現在インターネット上にて運用されているほとんどのDNSサーバーが、BIND(バインド)【Berkeley Internet Name Domain】というサーバーソフトウェアで構築されており、このソフトはUCB(カリフォルニア大学バークリー校)で開発されたものです。