DNSとは〜名前解決の仕組み

ドメインネームとDNS(ドメインネームシステム)

郵便で手紙を送る時に送付先の住所が必要であるのと同様に、インターネットでは、電子メールを送信したりWebサイトを閲覧するために、通信相手がインターネット上のどこにいるのかを特定する必要があります。
インターネットに接続されているコンピュータには「IPアドレス(例:59.103.153.11)」という識別番号が割り当てられていて、その番号によって互いを認識しています。

ですが、数字のみからなるIPアドレスは人間にとっては覚えにくく、IPアドレスからでは通信先がどのようなWebサイトなのかも見当がつきません。そこで、インターネット上にあるコンピュータに覚えやすい名前を付けるために考え出されたのが「ドメインネーム」です。

この「ドメインネーム」と、実際の通信に使用されるコンピュータ固有の「IPアドレス」を相互に変換する仕組みが『DNS(Domain Name System)』です。

  • 変換作業を行うコンピュータを『DNSサーバー』または『ネームサーバー』と呼びます。
  • 「ドメインネーム」を「IPアドレス」に変換する処理(またはその逆)を『名前解決』といいます。

DNSによる名前解決の仕組み

現在ドメインネームの登録件数は2億5000万を超えたといわれており、今後も新gTLDの普及により増え続けることが予想されます。インターネットでは、これら膨大な量のすべてのドメインネームとIPアドレスの関連を、1台のコンピュータによって一元的に管理することは現実的ではないため、世界中に分散した多数のDNSが連携して管理をする、階層的な「分散型データベース」を形成しています。

ドメインからIPアドレスを引き出すまでには、以下の図のように、複数のDNSサーバーに対して反復検索を繰り返し、名前解決が行われます。

  • ドメインネームはドットで区切られたラベルという単位で構成されており、反復検索は右端のラベルから順に行われます。

下記のように、ユーザーはブラウザのアドレスバーにURLを入力したり、リンクをクリックするだけですが、内部ではこのような名前解決が行われた結果、目的のWebサイトにつながっています。

Webサイト「http://domainname.jp」に接続するまでの流れ
  1. ①ユーザーがブラウザにURLを入力すると、パソコンの「リゾルバ」というプログラムが「キャッシュDNS」に対し名前解決要求を行います
  2. ②「キャッシュDNS」は、まず最上位層の「ルートDNS」に対し問い合わせを行います
  3. ③「ルートDNS」は『jp』ドメインを管理する「JP DNS」の情報を返します
  4. ④これを受け、「キャッシュDNS」は「JP DNS」に対し問い合わせを行います
  5. ⑤「JP DNS」は「domainname.jp」を管理する権威サーバーである「ns1.webhosting.jp」の情報を返します
  6. ⑥これを受け、「キャッシュDNS」は「ns1.webhosting.jp」に対し問い合わせを行います
  7. ⑦「ns1.webhosting.jp」は「domainname.jp」のIPアドレスを返します
  8. ⑧「キャッシュDNS」は得られた情報を「リゾルバ」に回答し、名前解決が終了します

DNSの仕組み〜キャッシュと浸透