DNSとは/DNSサーバの仕組み(初級)

「DNSとは/DNSサーバの仕組み(初級)」の編集履歴(バックアップ)一覧はこちら

DNSとは/DNSサーバの仕組み(初級)」(2007/12/04 (火) 11:59:03) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

&bold(){DNS(Domain Name Service)}とは&bold(){IPアドレス}を&bold(){ホスト(ドメイン)名}に、&bold(){ホスト名}を&bold(){IPアドレスに変換する}名前解決メカニズムの総称のことです。 つまり、&bold(){DNSを利用する}と&bold(){IPアドレス}をもとに&bold(){ホスト名を求めたり}、&bold(){ホスト名}から&bold(){IPアドレスを求めたり}することが可能になるのです。DNSが登場する前には&bold(){hostsと呼ばれるファイル}によって&bold(){コンピュータごと}に&bold(){アドレス管理}が行われており、&bold(){ローカルネットワーク}だけであればこれでも運用していくことができました。しかし、昨今の&bold(){ネットワークの肥大化}に伴い、ユーザーのコンピュータそれぞれに膨大な名前解決情報を持たせ、接続する機器が増えるたびにそれを書き直していくことは気が遠くなるような作業となってしまいます。このため現在では&bold(){DNS}という簡単に名前を解決できるシステムを&bold(){サイトに設置}して&bold(){コンピュータの名前とIPアドレスの結びつき}を&bold(){一元的に管理する}仕組みが採用されているのです。 &bold(){ドメインネーム}とは&bold(){インターネット上の住所}に相当し、&bold(){IPアドレス同様}、&bold(){世界で重複することのない}たったひとつのものです。例えば日常は「http://www.yahoo.co.jp」とブラウザに入力するだけでYahoo!JapanのWebページを閲覧することができますが、実際は&bold(){「http://211.14.13.66」のような数字の羅列}を入力しなくてはなりません。しかし、それでは不便であると言うことで、人間にもわかりやすい形で表したものが&bold(){「http://www.yahoo.co.jp」}のような&bold(){FQDN(Fully Qualified Domain Name)}と呼ばれるものです。&bold(){FQDN}とは、&bold(){「ホスト名+ドメイン名」}をあわせた識別名称のことです。このように、&bold(){ドメインネーム⇒IPアドレス}、&bold(){IPアドレス⇒ドメインネーム}への変換を実現しているのが&bold(){DNSサーバー}で、&bold(){ホスト名とIPアドレス}の対応を&bold(){アドレステーブルによって管理している}のです。なお、&bold(){ホスト名からIPアドレスを求める}ことを&bold(){「正引き」}、&bold(){IPアドレスよりホスト名を求めること}を&bold(){「逆引き」}といいます(参考:「NSLOOKUPコマンド」。 &bold(){◎名前解決とDNSサーバー} #image(t_dns2.gif) -------------------------------------------------------------------------------- &bold(){■DNSサーバーの構成} &bold(){DNSサーバー}は、&bold(){最上部に世界で約10台運用}されている&bold(){ルートDNSサーバー}があり、その下に&bold(){「jp」}や&bold(){「com」}、&bold(){「net」}などの&bold(){トップレベルドメイン}と呼ばれる&bold(){DNSサーバー}があります。さらにその下には&bold(){「co」}や&bold(){「ac」}&bold(){「ne」}などの&bold(){第2レベルドメイン}と呼ばれる&bold(){DNSサーバー}があり、その下に&bold(){第3レベルドメイン}である&bold(){各組織のDNSサーバー}があります。よって&bold(){特定のコンピュータから名前解決の要求が発生}すると、まず、&bold(){自社内のDNSサーバー}に問い合わせを行い、自社内で名前解決ができないときは、&bold(){自社内のDNSサーバーを介して}、&bold(){自動的に上位のDNSサーバーに問い合わせ}する仕組みが確立されています。ここでいう&bold(){「上位のサーバー」}は一般的には、 (A)ルートDNSサーバー (B)自社のネットワークが接続されている直属のプロバイダのDNSサーバー のいずれかが利用されます。 &bold(){◎DNSツリー構造} #image(t_dns3.gif) &bold(){}DNSによる&bold(){}名前解決は以下の図のような構成になっています。例えば、&bold(){}「xxx.yyy.co.jp」の企業の問い合わせをする例を考えてみましょう。&bold(){}社内のDNSサーバーがわからなければ&bold(){}上位のDNSサーバーに問い合わせを行い、&bold(){}ルートDNSサーバーより&bold(){}「jpドメインですよ」と通知されます。&bold(){}社内のDNSサーバーはさらに&bold(){}jpドメインへと再び名前解決の要求を出し、&bold(){}jpドメインより&bold(){}「co.jpドメインですよ」と通知されます。以上のような名前解決を繰り返し、&bold(){}最終的にはxxx.yyy.co.jp内にあるDNSサーバーより&bold(){}社内にあるDNSサーバーへと名前解決が行われ、&bold(){}DNSクライアントは&bold(){}社内のDNSサーバーより&bold(){}「xxx.yyy.co.jp」のIPアドレスを求めることができるようになっているのです。つまり、どれだけの時間がかかろうとも、結果的には必ず、&bold(){}ホスト名⇔IPアドレスの変換が成立します。しかし、実際にこれらの作業は瞬時に完了してしまうために、これほどまでに複雑なプロセスを経て成り立っていることが利用者には全くわからないでしょう。 &bold(){◎DNSによる名前解決の仕組み} #image(t_dns4.gif) 尚、&bold(){}DNSサーバーはそれぞれの&bold(){}ドメイン(組織)内に1つ以上設置することが義務付けられています。&bold(){}DNSサーバーには&bold(){}プライマリDNSサーバー(管轄するドメインの第1次情報となるサーバー)と&bold(){}セカンダリDNSサーバー(プライマリDNSサーバーのドメイン情報を複製したDNSサーバー)の&bold(){}2つのレベルがあり、&bold(){}セカンダリDNSサーバーについては、&bold(){}組織内外を問わずバックアップ用にいくつでも設置していいことになっています。インターネットに接続しているユーザーならば、大抵はプロバイダから&bold(){}DNSサーバーのIPアドレスを教えられるでしょう。あれは、ユーザー側のコンピュータで常に名前解決が行えるようにするためで、そのためには&bold(){}プロバイダの(つまり、上位の)DNSサーバーを利用しなくてはならないからです。(なお、プロバイダや接続種別によってはDNSサーバーのIPアドレスを入力しなくても自動取得できる場合もあります)。
&bold(){DNS(Domain Name Service)}とは&bold(){IPアドレス}を&bold(){ホスト(ドメイン)名}に、&bold(){ホスト名}を&bold(){IPアドレスに変換する}名前解決メカニズムの総称のことです。 つまり、&bold(){DNSを利用する}と&bold(){IPアドレス}をもとに&bold(){ホスト名を求めたり}、&bold(){ホスト名}から&bold(){IPアドレスを求めたり}することが可能になるのです。DNSが登場する前には&bold(){hostsと呼ばれるファイル}によって&bold(){コンピュータごと}に&bold(){アドレス管理}が行われており、&bold(){ローカルネットワーク}だけであればこれでも運用していくことができました。しかし、昨今の&bold(){ネットワークの肥大化}に伴い、ユーザーのコンピュータそれぞれに膨大な名前解決情報を持たせ、接続する機器が増えるたびにそれを書き直していくことは気が遠くなるような作業となってしまいます。このため現在では&bold(){DNS}という簡単に名前を解決できるシステムを&bold(){サイトに設置}して&bold(){コンピュータの名前とIPアドレスの結びつき}を&bold(){一元的に管理する}仕組みが採用されているのです。 &bold(){ドメインネーム}とは&bold(){インターネット上の住所}に相当し、&bold(){IPアドレス同様}、&bold(){世界で重複することのない}たったひとつのものです。例えば日常は「http://www.yahoo.co.jp」とブラウザに入力するだけでYahoo!JapanのWebページを閲覧することができますが、実際は&bold(){「http://211.14.13.66」のような数字の羅列}を入力しなくてはなりません。しかし、それでは不便であると言うことで、人間にもわかりやすい形で表したものが&bold(){「http://www.yahoo.co.jp」}のような&bold(){FQDN(Fully Qualified Domain Name)}と呼ばれるものです。&bold(){FQDN}とは、&bold(){「ホスト名+ドメイン名」}をあわせた識別名称のことです。このように、&bold(){ドメインネーム⇒IPアドレス}、&bold(){IPアドレス⇒ドメインネーム}への変換を実現しているのが&bold(){DNSサーバー}で、&bold(){ホスト名とIPアドレス}の対応を&bold(){アドレステーブルによって管理している}のです。なお、&bold(){ホスト名からIPアドレスを求める}ことを&bold(){「正引き」}、&bold(){IPアドレスよりホスト名を求めること}を&bold(){「逆引き」}といいます(参考:「NSLOOKUPコマンド」。 &bold(){◎名前解決とDNSサーバー} #image(t_dns2.gif) -------------------------------------------------------------------------------- &bold(){■DNSサーバーの構成} &bold(){DNSサーバー}は、&bold(){最上部に世界で約10台運用}されている&bold(){ルートDNSサーバー}があり、その下に&bold(){「jp」}や&bold(){「com」}、&bold(){「net」}などの&bold(){トップレベルドメイン}と呼ばれる&bold(){DNSサーバー}があります。さらにその下には&bold(){「co」}や&bold(){「ac」}&bold(){「ne」}などの&bold(){第2レベルドメイン}と呼ばれる&bold(){DNSサーバー}があり、その下に&bold(){第3レベルドメイン}である&bold(){各組織のDNSサーバー}があります。よって&bold(){特定のコンピュータから名前解決の要求が発生}すると、まず、&bold(){自社内のDNSサーバー}に問い合わせを行い、自社内で名前解決ができないときは、&bold(){自社内のDNSサーバーを介して}、&bold(){自動的に上位のDNSサーバーに問い合わせ}する仕組みが確立されています。ここでいう&bold(){「上位のサーバー」}は一般的には、 (A)ルートDNSサーバー (B)自社のネットワークが接続されている直属のプロバイダのDNSサーバー のいずれかが利用されます。 &bold(){◎DNSツリー構造} #image(t_dns3.gif) &bold(){DNS}による&bold(){名前解決}は以下の図のような構成になっています。例えば、&bold(){「xxx.yyy.co.jp」}の企業の問い合わせをする例を考えてみましょう。&bold(){社内のDNSサーバー}がわからなければ&bold(){上位のDNSサーバーに問い合わせ}を行い、&bold(){ルートDNSサーバー}より&bold(){「jpドメインですよ」}と通知されます。&bold(){社内のDNSサーバー}はさらに&bold(){jpドメインへ}と再び名前解決の要求を出し、&bold(){jpドメイン}より&bold(){「co.jpドメインですよ」}と通知されます。以上のような名前解決を繰り返し、&bold(){最終的にはxxx.yyy.co.jp内にあるDNSサーバー}より&bold(){社内にあるDNSサーバー}へと名前解決が行われ、&bold(){DNSクライアント}は&bold(){社内のDNSサーバー}より&bold(){「xxx.yyy.co.jp」のIPアドレス}を求めることができるようになっているのです。つまり、どれだけの時間がかかろうとも、結果的には必ず、&bold(){ホスト名⇔IPアドレスの変換}が成立します。しかし、実際にこれらの作業は瞬時に完了してしまうために、これほどまでに複雑なプロセスを経て成り立っていることが利用者には全くわからないでしょう。 &bold(){◎DNSによる名前解決の仕組み} #image(t_dns4.gif) 尚、&bold(){DNSサーバー}はそれぞれの&bold(){ドメイン(組織)内に1つ以上設置}することが義務付けられています。&bold(){DNSサーバー}には&bold(){プライマリDNSサーバー(管轄するドメインの第1次情報となるサーバー)}と&bold(){セカンダリDNSサーバー(プライマリDNSサーバーのドメイン情報を複製したDNSサーバー)}の&bold(){2つのレベル}があり、&bold(){セカンダリDNSサーバー}については、&bold(){組織内外を問わず}バックアップ用にいくつでも設置していいことになっています。インターネットに接続しているユーザーならば、大抵はプロバイダから&bold(){DNSサーバーのIPアドレス}を教えられるでしょう。あれは、ユーザー側のコンピュータで常に名前解決が行えるようにするためで、そのためには&bold(){プロバイダの(つまり、上位の)DNSサーバー}を利用しなくてはならないからです。(なお、プロバイダや接続種別によってはDNSサーバーのIPアドレスを入力しなくても自動取得できる場合もあります)。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。