DNS / Domain Name System
■ ドメイン名 インターネットに接続された企業や団体を 識別するための文字列のこと。 あるホストやサイト等が属するドメイン(領域)を表わす。 数字の羅列であるIPアドレスは人間にとって扱いにくいため、 別名として、アルファベット等を使うことができるようにした。 ■ FQDN。Fully Qualified Domain Name。 完全修飾ドメイン名。 インターネットなどのTCP/IPネットワーク環境で、 ドメイン名、サブドメイン名、ホスト名のすべてを、 省略せずに記述した名前のこと。 たとえばwww.abc.co.jpはFQDNであるが、 ホスト名を省略したabc.co.jpはFQDNではない。 ■ ドメイン名空間の構造 ドメイン名は、 組織や地域ごとに階層構造(ツリー構造)を持ち、 巨大な名前空間(ゾーン)を形成している。 具体的には、トップレベルドメイン、 セカンドレベルドメイン、サブドメインからなり、 各階層ごとに一意に名前を付けることで、 全体として名前が重複することを避けている。 (1) トップレベルドメイン - gTLD。generic Top Level Domain。 com(営利企業)、org(非営利組織)、gov(米政府)… - ccTLD。country codes Top Level Domain。 jp(日本)、uk(英国)、de(ドイツ)、… (2) セカンドレベルドメイン - 属性ドメイン co(企業)、go(行政)、ne(ISP)、… - 地域ドメイン tokyo(東京)、hokkaido(北海道)、shizuoka(静岡)、… - 汎用ドメイン 名前の付け方に制限はない。 漢字、ひらがななどを使用できる。 (3) サブドメイン ユーザの個別の事情に応じて、 サブネット構成ごと、事業拠点ごとに自由に命名する。 ■ ドメイン名空間の管理 ドメイン名の階層構造に準じて、 ドメイン名の管理も階層的に行なわれている。 (1) ICANN。 IPアドレス空間、ドメイン名空間の全体を、 最上位で統括管理している非営利組織。 トップレベルドメインを決めるのがこのICANNである。。 (2) レジストリ。Registry。 ICANNから特定のトップレベルドメインと その配下のドメイン名空間の管理を委託された組織。 日本ではJPRSがレジストリになり、 jpドメインとセカンドレベルドメインを管理している。 (3) レジストラ。Registrar。 レジストリからドメイン登録業務の代行を任命された事業者。 ふつうは各国のISPや専門の業者がレジストラになり、 個々の企業や個人からの登録申請を処理する。 ■ 名前解決。 ドメイン名は憶えやすく便利だが、 最終的に通信するには、相手のドメイン名が どのIPアドレスに対応しているかの情報を得る必要がある。 この作業を名前解決(Name Resolusion)と呼び、 hostsファイルを使用する方法と、 DNS(Domain Name Systen)を使用する方法がある。 ■ hosts ファイルによる方法 インターネットが広く普及する前、 インターネットがARPANETと呼ばれていた頃に使われた、 名前解決の方法。 各ホスト自身が、あらかじめ ドメイン名とIPアドレスの対応付けを記したリストである hosts.txtファイルを保持し、 通信するごとにこれを参照して、IPアドレスを解決するもの。 hosts.txtは、当時SRI-NIC(※)が管理していた。 SRI-NICは、各サイトの管理者からのメール通知により 都度エントリを更新、 ユーザは定期的に最新版をダウンロードする必要があった。 しかし、ホスト数が増大するにつれて、 この運用方式では継続が困難となり、 1984年に分散システムによるDNSが開発された。 ※ SRI-NIC = SRI International Network Information Center ■ DNS。Domain Name System。 ホスト名とIPアドレスの相互変換をする機能。 またはその機能を実装した分散データベースシステム。 ポート番号53を使用し、TCPとUDPの両方で動作する。 DNSでは、組織や企業が自らのネットワーク内に ホスト情報データベースを集中管理するネームサーバを設けて、 それらを用いて効率よく名前解決を行う。 ただし、個々のネームサーバが保持するホスト名の情報は、 自ドメイン内のものに限られ、それ以外のホスト情報ついては、 他のネームサーバに問合せることにより解決する。 DNSを構成するネームサーバは、 世界中に無数に存在ずるが、これらは ルートネームサーバとローカルネームサーバに分類できる。 ■ ルートネームサーバ 最上位に位置するネームサーバ群。 ルートネームサーバは、世界中に13組存在しか存在しない。 13組すべてが同じ情報を同期保持し、負荷分散を行っている。 具体的には、IANA、欧州RIPE-NCC、米PSINet社、米VeriSign社(2台)、 米国防総省、米陸軍研究所、米NASA、米ISI、米ISC、米Maryland大学、 ノルウェーNORDUnet、日本WIDEが管理している。 一般のネームサーバは、 自分の管轄外のドメイン名について問合せを受けた場合、 何はともあれ最初にルートネームサーバに問合せることになっている。 このためルートネームサーバには、 世界中のネームサーバからのアクセスが集中することになる。 するとルートネームサーバは、 該当するトップレベルドメインを管理するネームサーバの情報を返答するので、 一般のネームサーバは今度はここに回答を求める。 ■ ローカルネームサーバ 一般のネームサーバ。 各組織、各企業に設置されるネームサーバ。 ローカルネームサーバは、 WWWやメールなど、多くのサービスの基盤となっている。 このためたいへん負荷が高く、仕様上冗長構成を採ることが決まっている。 したがってどのような企業や組織であっても、 独自ドメインを使用する限り、 プライマリ、セカンダリの2つのネームサーバを運用している。 (1) プライマリネームサーバ。 メインのネームサーバ。 ホスト情報データベースのマスターを管理している。 (2) セカンダリネームサーバ。 2台目以降のネームサーバ。 ホスト情報データベースのコピーを管理している。 ■ リゾルバ。Resolver。 上位アプリケーションの要求に従い、 ネームサーバに名前解決の問合せをするソフトウェアのこと。 通常はOSに実装されている。 リゾルバは、一度調べたドメイン名/IPアドレスは、 しばらくの間テーブルに保管(キャッシュ)しておく。 こうすることで応答の高速化を図ることができる。 ■ DNSの手順。 リゾルバがDNSを使って、 ホスト名からIPアドレスを解決する手順を、 順に追っていく。 (1) ユーザ(リゾルバ)は、 まずローカルネームサーバにアクセスして、名前解決を要求する。 (2) ローカルネームサーバは、 自身のキャッシュを参照して 検索対象ホストの情報が保持されているかどうかを確認し、 保持されていれば、この情報を回答する。 (3) もし検索対象ホストの情報が保持されていなければ、 ローカルネームサーバはルートネームサーバに問合せ、 ホストが所属するトップレベルドメインを管理する 下位ネームサーバのIPアドレスを教えてもらう。 (4) 次にローカルネームサーバは、 教えてもらったネームサーバにアクセスして、 ホストが所属するセカンドレベルドメインを管理する 下位ネームサーバのIPアドレスを教えてもらう。 (5) さらにローカルネームサーバは、 教えてもらったネームサーバにアクセスして、 ホストが所属する企業または組織の運営する ネームサーバのIPアドレスを教えてもらう。 (6) こうしてローカルネームサーバは、 教えてもらったネームサーバに順にアクセスして、 最終的には、正に宛先ホストを定義したネームサーバに到達する。 ここでようやくIPアドレスを解決することができ、 リゾルバに対してこれを回答する。 (7) ローカルネームサーバとリゾルバは、 一旦問い合わせた情報はしばらくの間キャッシュに保存する。 キャッシュは一定時間後には破棄される。 ■ 正引きと逆引き (1) 正引き ドメイン名から対応するIPアドレスを調べること。 DNSのメインの仕事。 これさえ動いていれば、大抵のケースで問題は起こらない。 (2) 逆引き IPアドレスから対応するドメイン名を調べる仕組み。 あまり使わない。 しかしWebサーバ等で、不正IPアドレスをはじくために、 アクセス元のIPアドレスを1つ1つ逆引きする場合がある。 2004/03/09 pm