ドメイン名とDNSの関係 | 第3回
上司:これまでに話した内容でドメイン名の基本についてはわかっただろう。ところで、きみはホームページが表示されるまでの流れをきちんと説明できるかな。
部下:教えていただいたように、URL中のドメイン名がインターネット上の住所の役割を果たしているから、目的のホームページまでたどり着けているんですよね。
上司:ドメイン名についてはしっかりと勉強できているようだね。しかし、その答えでは半分正解といったところだ。ドメイン名で通信先が指定できるのは、「DNS(ドメインネームシステム)」という仕組みがあるからなんだ。DNSを理解するためには「IPアドレス」という言葉も知っておく必要があるね。
部下:「IPアドレス」は聞いたことがあります。パソコンやサーバーに付けられる番号のようなもので、確か在庫枯渇がどうとか……。
上司:そう、まさにそれだね。ドメイン名といっしょにDNSの仕組みを知っておくと、何かあった時にシステム担当と調整するにもスムーズだから、簡単に説明しようか。
部下:はい、お願いします!
知っていると一歩差がつくドメイン名のいろはを、それを支えるDNSの仕組みの解説も交えながらお伝えしている本連載。前回まででドメイン名の基本を押さえたところで、今回は「DNS(ドメインネームシステム)」に着目していきます。メールのやり取りやホームページアクセスに欠かせず、まさにインターネットの根底を支えているDNS。仕組みを理解しておくと、有事の際にシステム担当などの関係者と調整するにもスムーズです。Web担当者の目線で、DNSの仕組みをわかりやすく紹介していきます。
ドメイン名の「裏側」にあるもの
メールを送信する際、あるいはホームページにアクセスする際、私たちはメールアドレスやURLという形でドメイン名を使ってインターネット上の通信先を指定しています。
しかし、実はこのドメイン名というのは、「人間が識別・入力しやすいように便宜的に付けられた“別名”」なのです。実際にコンピュータやスマートフォンなどが通信するときには、ドメイン名ではなく「IPアドレス」という数字の羅列で通信先を指定しています。
「どうしてわざわざ別名を付けるんだろう?」と思われた方もいるでしょう。その疑問にお答えするため、ここでIPアドレスの形式を見ておきましょう。
- IPv4アドレス :202.11.16.167
- IPv6アドレス :2001:df0:8:7::80(これでも省略表記)
※これまで主流だったIPv4形式のアドレス在庫がひっ迫していることから、IPv6形式のアドレスに急ピッチで移行が進められています。
いかがでしょうか。IPアドレスの形式によって表記は異なりますが、どちらも入力時の打ち損じが頻発しそうですね。また、数字をぱっと見ただけではどんなホームページなのか識別することが難しいため、ドメイン名と違って正規のWebサイトとフィッシングサイトを区別するにも困りそうです。これが、人間にとって扱いやすいドメイン名という別名を付ける必要性の理由です。
さて、IPアドレスにドメイン名という別名を付けるとなると、それぞれの対応付けを行い、通信時に読み替えを行う仕組みが必要になります。これらの処理を行うのが、今回着目する「DNS」なのです(図1)。
簡単に言うと、「DNS」という住所録を使って、住所地である「ドメイン名」に相当する「IPアドレス」という緯度・経度情報を特定し、目的地に向かうイメージです。
DNSの構造
米国ベリサイン社のレポート『THE DOMAIN NAME INDUSTRY BRIEF(2011年8月版)』によれば、ドメイン名の登録総数は2011年第2四半期末時点で2億1,000万件を超えています。また、インターネットがビジネスや日常生活に欠かせなくなった今、メール送信やホームページアクセスでDNSを利用する回数も爆発的な伸びを示しています。
これほど膨大なデータを管理し、かつ極めて高いアクセス負荷に耐え得るDNSとは、いったいどんな構造になっているのでしょうか。それを読み解くキーワードが「分散管理」です。
前回、「トップレベルドメインが異なればDNSの提供品質も異なる」と伝えたことを覚えているでしょうか。DNSは、ドメイン名の管理やIPアドレスとの読み替え処理を一元集中的に行っているのではなく、「委任」という考え方にもとづいて分散管理しています。その様子を次の図2で見てみましょう。
図2の一番上にある「ルート(root)」を頂点として末広がりの形になっていることが見て取れます。これらの住所録、1つひとつがDNSを形作るサーバー(DNSサーバー)で、それぞれが対応範囲のドメイン名の管理やIPアドレスとの読み替え処理を行っていると考えましょう。図2のイメージは、「jp」「net」「com」エリアを管理するDNSサーバーがあり、「jp」を管理するDNSサーバーの下にはさらに「co」「or」「go」などのエリアを管理するDNSサーバーがあることを示しています。ルートを起点に下層のDNSサーバーに順次問い合わせを行い、通信先のIPアドレスを特定していくのです。
ドメイン名は「.(ドット)」で区切った時に右にいくほど大きなくくりになっており、「.」で区切った1つ右の単位から一部のエリアの管理を委任されているという関係にあります。英語で住所を書く際、日本語の場合とは逆順の「地番→国名」という流れで大きなくくりになるのと同じイメージです。その関係を把握しやすいよう、縦方向に置き換えたのがこの図です。
なお、ルートはすべてのトップレベルドメインの住所録(DNSサーバー)の場所(IPアドレス)を特定するための住所録であることから、私たちが利用するドメイン名の文字列には現れてきません。ルートという名の通り、すべてのインターネットアクセスの起点になる存在です。
一瞬のうちに、DNSではいくつもの処理が行われている
では、実際にユーザーが「http://jprs.jp/」というホームページにアクセスするケースで、DNSを使ってどのように「jprs.jp」のWebサーバーのIPアドレスを特定しているのか見てみましょう(図3)。
ホームページが表示されるまでの一瞬に、これほど多くの処理が行われていることに驚きますよね。一見すると回りくどいようにも思えますが、こうした役割分担と誘導によってこそ、膨大なデータの管理と極めて高いアクセス負荷耐性が効率的に実現されているわけです。
Web担当者として、トラブル対応に差がつくこの一手
Web担当者としてここで意識しておきたいのが、1つ上(ドメイン名で見れば1つ右)の階層にあるDNSサーバーでIPアドレスとの読み替え処理が行えなくなると、その下の階層の全ドメイン名のホームページやメールアドレスに接続できないような事態が生じ得るということです。このため、ルートDNSサーバーは2011年11月現在で250を超える数のサーバーで冗長化されているほどです。
たとえば、インターネット上で自社のホームページが閲覧できないようなトラブルが発生した場合には、Webサーバーなどとともに、DNSサーバーの異常も念頭に置いておくと対応の早さに一歩差がつくかもしれません。ブラウザにURLを入力してもアクセスできないのに、「http://202.11.16.167/」のように、自社のWebサーバーのIPアドレスを直接入力するとアクセスできるようであれば、DNSサーバーに異常が発生している可能性が高まります。これは、DNSの仕組みを知っているからこそできる切り分け方法だと言えます。
最後に、今回の記事のポイントをクイズでおさらいしておきましょう。
問題
Qすべてのトップレベルドメインの住所録(DNSサーバー)の場所(IPアドレス)を特定するための住所録としてDNSの頂点に位置するのは、次のうちどれでしょう。
回答
- ルートDNSサーバー
- ベースDNSサーバー
- ファンダメンタルDNSサーバー
正解は「A」です。
すべてのトップレベルドメインの住所録(DNSサーバー)の場所(IPアドレス)を特定するための住所録としてDNSの頂点に位置するのが「ルートDNSサーバー」です。その重要性から、ルートDNSサーバーは2011年11月現在で250を超える数のサーバーで冗長化されているほどです。
ソーシャルもやってます!