MogLog

メモというか日記というか備忘録というか

【ネットワーク】DNS

ネットワークに関する知識が乏しいので、超基礎からやり直す。
DNSに関連する知識は、全てこのページに詰め込んで整理していくつもり。

■概要
『ネットワークの重用語解説』から
TCP/IPネットワークにおいて、ホスト名から対応するIPアドレスを検索して取得するサービスのこと。ネットワーク上のコンピュータには、すべてIPアドレスという識別番号が割り振られている。通信を行う際には、このIPアドレスをもとに相手を指定して情報をやりとりするのだが、IPアドレスは32bitの数値であり、人間にとっては覚えにくい。そこで、人間にとってわかりやすい名前を用いてIPアドレスを指定できるように、名前解決の方法がいくつか用意されている。
DNSはそのサービスのひとつで、このサービスが稼働しているコンピュータをDNSサーバと呼び、サーバ内ではホスト名とIPアドレスとの対応が記されたデータベースを管理している。
クライアントからの問い合わせを受けたDNSサーバはこのデータベースを検索してホスト名に該当するIPアドレスを返却する。これによってクライアントはIPアドレスをもとに通信を開始できるようになる。
DNSは電話帳によく似ている。DNSはいわばネットワーク上の電話帳のようなものだと思えばおk。


『e-Words』から
インターネット上でのコンピュータの名前にあたるドメイン名を、住所に当たるIPアドレスとよばれる4つの数字の列に変換するコンピュータ。
個々のネームサーバは自分が管理するネットワークに接続されたコンピュータのドメイン名とIPアドレスの対応表を持っており、外部からの問い合わせに答える。
インターネットには無数のネームサーバが存在しており、ドメイン名に対応した階層構造になっている。最上位に位置するネームサーバは「ルートサーバ」と呼ばれ、全世界に13台が分散配置されている。
全世界のネームサーバが連携してIPアドレスとドメイン名を対応させるシステムをDNSと呼ぶため、ネームサーバはDNSサーバとも呼ばれる。
例えば、「www.kantei.go.jp」というドメイン名をもったコンピュータのIPアドレスを探す場合、まずルートサーバに問い合わせる。
ルートサーバは「jp」ドメイン全体を管理するネームサーバのアドレスを答えるので、「jp」ドメインのネームサーバに問い合わせを送る。
「jp」ドメインを管理するネームサーバは、さらに「go」ドメインのネームサーバのアドレスを答え、「go」ドメインのネームサーバは「kantei」ドメインのネームサーバを答え、「kantei」ドメインのネームサーバは「www」というコンピュータのIPアドレスを回答する。


wikipedia』から
DNSサーバ(またはネームサーバ)とは、Domain Name Systemでホストの識別子を利用者が理解しやすい形式(ドメイン名)とコンピュータが理解しやすい形式(IPアドレス)を対応づけるコンピュータやサーバーソフトウェアのことである。ドメイン名に対応するIPアドレスを調べることを名前解決という。

ブラウザやメールサーバ等のネットワークアプリケーションは、OSを介してURLに示されたドメイン名のIPアドレスや、メールアドレスに応じた配送先メールサーバなどを知るために、DNSサーバに問い合わせを行う。
DNSサーバに対して問い合わせを行うクライアントを特にリゾルバと呼び、リゾルバはWebブラウザ等の動作しているコンピュータだけでなく、他のDNSサーバへ問い合わせを行うDNSサーバである場合もある。

DNSサーバには二種類ある。
(1) DNSコンテンツサーバ:ドメイン名とIPアドレスなどの対応付けを、ドメイン名空間のゾーンと呼ばれる単位で管理する。
(2) DNSキャッシュサーバ:フルリゾルバと呼ばれ、ドメイン名の検索業務を行い、結果をキャッシュする。


『小悪魔女子大生のサーバエンジニア日記』から
DNSとはDomain Name Systemの略。
ドメイン名はネットワーク上のコンピュータの住所である。
また、これはコンピュータがわかりやすいように数字で書かれたネットワーク上のコンピュータの住所、IPアドレスを人間にわかりやすいようにしたものである。

私たちがホームページを見る時、ドメイン名とその他もろもろを書いたURLを使う。
しかしこのドメイン名、0と1しかわからないコンピュータにはわかりにくい。
そこで、ドメイン名をIPアドレスになおしてコンピュータにわかりやすくしてくれるのがDNS
そしてそのシステムを行うコンピュータやサーバーソフトウェアをDNSサーバと呼ぶ。

そして、ドメイン名とIPアドレスを対応付ける仕事のことを名前解決という。
DNSサーバは自分が管理する範囲というものを持っている。その範囲をゾーンと呼ぶ。
理論的には、1台のDNSサーバがあれば名前解決はできるのだが、サーバの負荷を軽減するためにゾーンにわけて管理ができるようになっている。
DNSサーバは基本的に上位のDNSサーバから権限移譲された範囲を管理する。

          • -

DNSには3つの働きがある。以下の3つ。
(1) コンテンツサーバ
情報の有無を答える
(2) スタブリゾルバ
再帰問い合わせするクライアントが持つ
(3) フルサービスリゾルバ(キャッシュサーバとも言われる)
 反復問い合わせをする

スタブリゾルバが、ドメイン名に対応するIPアドレスがあるかを、自分のDNSサーバ内のフルサービスリゾルバがキャッシュしていないか、コンテンツサーバが情報を持っているかを尋ねる。これを再帰問い合わせという。

対応付けができなければ、今度はフルサービスリゾルバが他のDNSサーバのコンテンツサーバに尋ねていく。これは対応付けができるまで続けられるので、反復問い合わせという。

IPアドレスとの対応付けができるコンテンツサーバを見つけたら、その情報をフルサービスリゾルバがキャッシュする。その働きにより、フルサービスリゾルバはキャッシュサーバとも呼ばれる。
このようにして、DNSサーバはIPアドレスとドメイン名の対応付けをしている。


■TLD(Top Level Domain)とは
インターネットで使われるドメイン名は「.」で区切られた階層構造をしているが、「com」や「jp」などの最後尾のコードをTLDという。
※参考:http://e-words.jp/w/TLD.html


■ドメインは誰がどうやって管理しているのか
ドメイン名は登録制で運用されており、住所同様に、同じ物は2つと存在しない。
既に登録されているドメインとおなじものを他人が登録することはできない。

TLDには、「国や地域に属するもの」と「属さないもの」の大きく2つに分類することができる。
前者の例としては「.jp」や「.us」などがあり、後者の例としては「.com」や「.net」などがあり、両者を合わせると、270以上もある。これらのドメイン名の管理はTLDごとにレジストリと呼ばれる会社が行なっている。例えば、「.com」を管理するのは、アメリカのベリサインという会社。そして日本の「.jp」ドメインを管理するのは、日本レジストリサービスという会社である。

そして、全てのTLDとその管理会社を管理しているのが、ICANN(アイ・キャン)という組織である。ICANNはドメイン名だけでなく、IPアドレスなどのインターネット資源を一元的に管理している非営利の国際組織である。

ドメイン名の登録管理とは具体的には、この「ドメイン名を誰が登録しているか」という情報を適正に管理することが主な仕事となる。
しかし、私たちが実際にドメイン名を登録する場合、レジストリと呼ばれる管理会社に直接申請することはなく、管理会社との間にプロバイダやホスティング事業者などの代理店が入り、手続きが行なわれる(ここに該当するのが「お名前ドットコム」を運営するGMOなどかな?)。

ひとつの代理店を通して様々なTLDを登録することができるが、どの代理店がどのTLDを扱えるのかについは、TLDごとに条件がある。例えば、「jp」ドメインは日本国内に住所がある人しか登録できない。そのため、日本の代理店でしか扱っていない。このため、「jp」ドメインを見れば、日本というイメージがぱっと浮かぶ。逆に「com」や「net」は海外のドメイン名であるが、せかいじゅうから登録を受け付けているため、日本の代理店でも登録することができる。

覚えておきたいのは、同じ代理店の窓口で登録できるドメイン名であっても、その向こうの管理会社はTLDによって全く別物ということ。TLDの違いはただの文字列の違いにとどまらず、管理会社も違う、全く別のサービスを利用しているということをぜひ思い出したい。
※参考:http://xn--u8j7eobcu7j2kyg7f.jp/special/registrar/index.html?category=advanced


■BINDとは何か
Berkeley Internet Name Domainの略称。
DNSサーバの事実上の標準ソフトウェア。カリフォルニア大学バークリー校で開発された。
現在、世界のDNSサーバのほとんどは、これをもとに作られたものとなっている。
※参考:http://itpro.nikkeibp.co.jp/word/page/10008924/


DNSルートサーバの運営組織
VeriSign, Inc.
Information Sceiences Institute
Cogent Communications
University of Maryland
NASA Ames Research Center
Internet Systems Consortium, Inc.
U.S. DOD Network Information Center
U.S. Army Research Lab
Netnod
VariSign, Inc.
RIPE NCC
ICANN
WIDE Project
※参考(http://www.root-servers.org/


■ドメイン関連で参考になるウェブサイト
ドメインまるわかり.jp(http://xn--u8j7eobcu7j2kyg7f.jp/index.html