ホスト名は,「.」(ドット)で区切られた英数字またはハイフンで構成される。それ以外の文字を使うことは,仕様上許されていない。また,大文字小文字は区別されない決まりで,「WWW.NikkeiBP.CO.JP」と「www.nikkeibp.co.jp」は,まったく同じ通信相手を意味する。DNSでは,このドットとドットで区切られた文字列を一つの単位として管理する。この管理単位をドメインと呼ぶ。
DNSでは,ドメインごとにサーバーを立ち上げ,すべてのサーバーが階層的につながりあって,ホスト名とIPアドレスの対応関係を分散して管理している。例えばwww.nikkeibp.co.jpというホスト名は,jpドメインを管理するDNSサーバーとco.jpドメインを管理するDNSサーバー,そしてnikkeibp.co.jpドメインを管理するサーバーが連係して,IPアドレスを調べる。
階層は,ホスト名の右側にくるドメインが上位で,左側に行くほど下位になる。上位ドメインを管理するDNSサーバーは,下位ドメインがどのDNSサーバーで管理されているかを知っている。下位ドメインのDNSサーバーの位置を教えるのが上位ドメインのDNSサーバーの仕事だ。
人間からホスト名を打ち込まれたパソコンは,「スタブ・リゾルバ」と呼ばれるサーバーに問い合わせを送る。スタブ・リゾルバとは,ホスト名に対応するIPアドレスが見つかるまでDNSサーバーを階層に沿って順番に探索していく役割を果たすサーバーである。
スタブ・リゾルバは,最上位に位置するドメイン(根を意味するルートと呼ぶ)を管理するルートDNSサーバーに問い合わせを送る。ルートDNSサーバーはDNSの根幹をなす存在。最初にルートDNSサーバーに問い合わせる理由は,階層構造の最上位のルートDNSサーバーに問い合わせれば,必ず目的のホスト名のIPアドレス情報を持つDNSサーバーにたどり着けるからだ。あとは階層に沿って,目的の情報を持つDNSサーバーを見つけだす。