SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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


ネームサーバ

 前項で少し触れましたが、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の主要な概念についての解説が終わりましたので、具体的な説明へと話を進めます。

次のページ
DNSメッセージのフォーマット

この記事は参考になりましたか?

仮想ネットワークの実装で学ぶTCP/IP連載記事一覧

もっと読む

この記事の著者

インドリ(インドリ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5034 2010/04/27 12:07

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー