
今回はウェブ系の仕事をされている以外の方には、ややマニアックな話になりますので、読み流していただいて結構です。
ホームページ(ウェブサイト)ってこうやって見ることができているのかと思っていただけると幸いです。
DNSサーバーは何をしているのか
ドメインの話をしたときに、やや詳細な説明を途中に挟みました。
その部分を要約すると、
家庭用パソコンを含め、インターネットに接続しているPCには、それぞれIPアドレスが割り振られている。
⇒ しかし、IPアドレスは数字の羅列なので人間にはわかりにくい。
⇒ だからアルファベットと記号(日本語のものもある)で、ドメインをつけてわかりやすくしている。
ということでした。
このうち、IPアドレスとドメインを対応付けている仕組みがDNS(Domain Name System)であり、それを実際に行っているのがDNSサーバーです。
DNSの仕組み
2015年、上半期が終わった時点で、約2億9600万のドメイン名が登録されているそうです。
参考URL:Domain Name Industry Brief
⇒ http://www.verisign.com/en_US/innovation/dnib/index.xhtml?inc=www.verisigninc.com
これだけ多くのドメインをIPアドレスと一つひとつ結びつけなければならないわけです。
当然、一台のサーバーで行なっていたら大変なことになります。
ですから、ドメインをグループ分けし、「権限委譲」という考え方を使って、分散管理しています。
上図にある通り、「.」(ドット)で区切られたところでグループ分けしているんですね。
ちなみに、ドメインは右へ行くほど大きなくくりになります。
英語で住所を書くときに、「番地 ⇒ 町名 ⇒ 州 ⇒ 国名」のように日本語とは逆になるのと同じですね。
DNSで行われている処理
実際にどんな処理が行われているか、あるユーザーが『http://sample.jp』にアクセスしたときの一連の流れを見てみましょう。
1. まず、全てのトップレベルドメインのIPアドレスを把握しているルートDNSサーバーに問い合わせを行なう。
2. 「jp」の部分を見たルートDNSサーバーが、「jp」のDNSサーバーのIPを教える。
3. 教えられた「jp」のDNSサーバーに問い合わせる。「jp」のDNSサーバーが「sample」の部分を見て、「sample.jp」のDNSサーバーのIPを返答。
4. 教えられた「sample.jp」のDNSサーバーに問い合わせる。「sample.jp」のDNSサーバーが「123.45.67.890」だと返答。
5. 「sample.jp」のWebサーバーにアクセス。
6. 「sample.jp」のWebサーバーがサイト情報を送ってくるので、ウェブサイトが表示される。
まとめ
これだけの処理がほぼ一瞬で行われていると考えたら、単純にすごいですよね。
世界中からひっきりなしにアクセスがあるでしょうから、ルートDNSサーバーの負荷はかなりのものだと容易に想像できます。
その負荷を軽減させるために、ルートDNSサーバーも分散管理されています。
http://www.root-servers.org/を見ると、2015年10月23日現在、481のルートサーバーが存在しているようです。
ウェブサイトがどうやって見られているかということがわかれば、何かトラブルが起こったときにも慌てず対処できることもあると思います。
自分でホームページを管理している、もしくはこれからそうしたい方は頭の片隅に入れておくといつか役に立つかもしれませんね。
役に立ったとき、気が向いたときに是非シェアしてください。
よろしくお願いします。
LEAVE A REPLY