ダウンロード サンプルファイル(C#) (86.8 KB)
ダウンロード サンプルファイル(VB) (104.9 KB)
ネームサーバ
前項で少し触れましたが、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の主要な概念についての解説が終わりましたので、具体的な説明へと話を進めます。
この記事は参考になりましたか?
- 仮想ネットワークの実装で学ぶTCP/IP連載記事一覧
-
- 仮想ネットワーク実装でTCP/IPを学ぼう(7) ― GDI+と独自プロトコルの定義
- 仮想ネットワーク実装でTCP/IPを学ぼう(6) ― セキュリティの基礎と仮想ネットワーク...
- 仮想ネットワーク実装でTCP/IPを学ぼう(5) ― アプリケーション層の勘所
- この記事の著者
-
インドリ(インドリ)
分析・設計・実装なんでもありのフリーエンジニア。ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。座右の銘は温故知新で、新旧関係なく必要だと考えたものは全て学...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
