CodeZine(コードジン)

特集ページ一覧

仮想ネットワーク実装でTCP/IPを学ぼう(5)
― アプリケーション層の勘所

仮想ネットワーク実装でTCP/IPを学ぼう(5)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/04/20 14:00
目次

ネームサーバ

 前項で少し触れましたが、DNSは一か所ですべてのドメイン名とIPアドレスの対応付けを管理しているのではなく、複数の場所で分散管理しています。管理はネームサーバと呼ばれるホストを使用して行います。

 ネームサーバはDNSプロトコルに基づいて、クライアントからの質問に回答します。例えば、「codezine.jp」のIPアドレスについて質問されれば、IPアドレスを回答します。最も基本的な質問はIPアドレスですが、その他にもホスト情報、メールボックスあるいはメールリスト情報、メールの経路制御情報などがあります。

 ネームサーバは自分が管理する範囲の情報しか知りませんので、該当する情報がない場合は、他のネームサーバに問い合わせ、クライアントに回答します。

 なお、ネームサーバが管理する範囲のことを「ゾーン」と呼びます。この仕組みにより、DNSは一つの場所に情報を保存せず、個々のネームサーバに情報を分散して管理できます。この方式のメリットは、柔軟にドメインを管理できることです。個々のネームサーバは独立して管理していますので、ドメインの追加/削除が容易に行えます。

 ネームサーバは障害に備えて、複数用意できます。メインとなるネームサーバをプライマリサーバ、予備のネームサーバをセカンダリサーバと呼びます。

 また、既存のネームサーバとして、jpを管理するネームサーバ、comを管理するネームサーバなどがあります。これらのネームサーバがあるお陰でドメイン名を基にサーバーに接続することができます。例えば、shoeisha.co.jpに接続したい場合、「.jpを管理しているネームサーバ」「.co.jpを管理しているネームサーバ」と、順次問い合わせることによりIPアドレスを取得することができます。

 ここで、これらTLDのネームサーバのIPアドレスをどうやって知るのかという疑問が湧くと思います。その答えは、「ルートネームサーバに問い合わせする」です。TLDのIPアドレスはルートネームサーバが知っています。 

リゾルバ

 クライアントからの要求に従い、ネームサーバに問い合わせをするプログラムをリゾルバと呼びます。リゾルバは、少なくとも一つのネームサーバにアクセスして、問い合わせに対する回答を得るか、複数のネームサーバに問い合わしをして回答を得ます。リゾルバがあることにより、アプリケーションはDNSの細部に煩わされることなくIPアドレスなどの情報を取得できます。

 これでDNSの主要な概念についての解説が終わりましたので、具体的な説明へと話を進めます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:仮想ネットワークの実装で学ぶTCP/IP

著者プロフィール

  • インドリ(インドリ)

    分析・設計・実装なんでもありのフリーエンジニア。 ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。 アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。 座右の銘は温故知新で、新旧関係なく必要だと考えた...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5