Layer8輪講 詳解TCP/IP DNS – ドメインネームシステム ~第1部~ DNSの基礎 環境情報学部 1年 三島 和宏 three@sfc.wide.ad.jp
まずはじめに すいません、原稿落ちちゃいました~ ということで・・・ 仕事の忙しさにあわせて、風邪でダウン。 おかげで、本は読んだものの、資料が完成していません。 ということで・・・ 2部構成にさせてください。 第1部:DNSの基礎 第2部:DNSのしくみ 誠に申し訳ありません 第1部: DNSの基礎
本日のお題 イントロダクション DNSの基礎 DNSの特徴 次回予告・最後に そもそも、DNSとは? DNSはなぜ必要か? レゾルバー、そして実装 DNSの基礎 DNSの階層構造 ドメインのあれこれ ネームサーバのあれこれ DNSの特徴 キャッシング 次回予告・最後に 本日のお題 第1部: DNSの基礎
イントロダクション そもそもDNSとは? 単純に言ってしまえば・・・ ドメインネームシステムは、TCPアプリケーションがホスト名とIPアドレス間をマッピングするときや、電子メールのルーティング情報を提供するときに用いられる分散データベースシステムのこと。 単純に言ってしまえば・・・ お名前解決システム イントロダクション 第1部: DNSの基礎
DNSはなぜ必要? IPアドレスはコンピュータのために ドメイン名は人間のために そして、それをつなげるのが ドメイン名は、人間がそのホストにアクセスする際に、わかりやすくするためにつけた名前である。ただ、機械はそれを理解できない。 IPアドレスは、機械が認識することは出来るが、人間は、そんな数字の羅列は覚えられない。 そして、それをつなげるのが IPアドレスとホスト名間をマッピングするDNS だから、DNSは必要なのだ (HOSTSというファイルはあるけれど・・・) イントロダクション 第1部: DNSの基礎
実際には・・・ アプリケーションがDNSへアクセスするには、レゾルバーという仲介役を通して、DNSサーバへ問い合わせを行う。 レゾルバーは、基本的にアプリケーションの一部である。 イントロダクション 第1部: DNSの基礎
例を挙げてみると・・・ ・SFCのホームページを見たい ホスト名は、www.sfc.keio.ac.jp だけど、サーバにアクセスするには、IPアドレスがわからないといけない・・・。 そんなときに、DNSを使うと、133.27.4.212というIPアドレスを得ることが出来る。 IPアドレスを知りたい www.sfc.keio.ac.jpって何番だっけ? アプリケーション (ブラウザなど) www.sfc.keio.ac.jpの IPアドレスを聞いてきて レゾルバー DNS サーバ それはね、133.27.4.212だよ イントロダクション
実装 レゾルバーおよびネームサーバを含めたDNSの最も一般的な実装とは BIND (Berkeley Internet Name Domain) サーバは、namedと呼ばれる。 UNIXだけでなく、Windowsにおいても利用することが出来る。 ほぼ、標準と言っていいほどのサーバ。 イントロダクション 第1部: DNSの基礎
DNSの基礎知識 DNSは階層構造 ・・ ・・・ ヌルラベルを持つノード net com arpa to jp org nu cx 第1レベルドメイン in-addr 211 123 44 226 yahoo www ac keio sfc null petit- charat この1つ1つがノード 第2レベルドメイン ・ DNSの基礎知識 第1部: DNSの基礎
DNSの基礎知識 全てのノードは63文字までのラベルを持つ。 1つ1つの区切りは、ゾーンと呼ばれる。 (null) 全てのノードは63文字までのラベルを持つ。 1つ1つの区切りは、ゾーンと呼ばれる。 階層のルート(一番上)は、特定の文字列を持たないヌル・ラベルをもつノードが来る。 ツリーに存在するドメイン名は、下から順にさかのぼって見る。 ノードには固有の名前が必要であるが、ツリーの異なる場所であれば、同名があってもよい。 com yahoo www DNSの基礎知識 第1部: DNSの基礎
ドメインの種類 最後がピリオドで終わるドメイン ピリオドで終わらないとき (例) wanwan.sfc.wide.ad.jp. 絶対ドメイン名または完全指定ドメイン名 通常、サーバなどへのアクセス時には、これを用いる。 ピリオドで終わらないとき (例) wanwan この状態では、ドメインは不完全な形 そのホストの存在する、ローカルのDNSによって固有のラベル(この場合、sfc.wide.ad.jp. というラベル)を後ろにつけることにより、絶対ドメインを作る。 DNSの基礎知識 第1部: DNSの基礎
第1レベルドメイン:arpa arpa (階層構造の図の一番左) IPアドレスからホスト名を解決する時に使う アドレスの逆引き 左の図の場合 これは、私の勤め先のDNSサーバです(^-^;; in-addr 211 123 44 226 DNSの基礎知識 第1部: DNSの基礎
第1レベルドメイン:汎用ドメイン 汎用ドメイン com 汎用ドメイン 7つの3キャラクタドメイン (com, net, org, edu, int, mil, gov) 組織ドメインと呼ばれる場合もある。 gov, milは、米国組織のみが利用できる。 gTLD (generic Top Level Domain) このうち、com, net, orgは、全世界の誰でもが取得する権利を持っている。ドメイン名の管理は、ICANNが行う。 yahoo www DNSの基礎知識 第1部: DNSの基礎
第1レベルドメイン:国ドメイン ccTLD (country code Top Level Domain) jp ccTLD (country code Top Level Domain) 2キャラクタドメインは、すべてこれに当たる。 国ごとにわりあてられた第1レベルドメイン 国ドメインや地域ドメインと呼ばれる。 ISO3166で定義された国コードがベース。 国コードの下に置かれる第2レベルドメインは、汎用ドメインと似た分類になっている。 ac keio sfc www DNSの基礎知識 第1部: DNSの基礎
階層構造をとる理由 階層構造をとることによって、各ゾーンごとに管理を分散することが出来るようになる。 ツリーの一部のレベルについては、それぞれの国のNIC (Network Information Center)が管理をする。 (汎用ドメインの場合)第1レベルドメイン (国ドメインの場合)第1・2レベルドメイン それ以外については、そのドメインを割り当てられた組織によって管理される。 DNSの基礎知識 第1部: DNSの基礎
管理の委任 各国のNICは、あるドメインを割り当てたそれぞれの組織に、管理を委任する。 したがって、各ゾーンのネットワーク管理者は、第2(あるいは3)レベル以下のドメインを管理することになる。 DNSの基礎知識 第1部: DNSの基礎
ネームサーバの設置 ドメインを割り当てられた各組織は、そのゾーンに対応する複数のネームサーバを設置する必要がある。 1つのゾーンには、基本的に1台の1次(プライマリ)ネームサーバと、1台以上の2次(セカンダリ)ネームサーバを設置しないといけない。 DNSの基礎知識 第1部: DNSの基礎
1次ネームサーバ そのゾーンのドメイン名に関してのメインデータベース 通常、ドメインの問い合わせに対して、適切な答えを返すのが仕事。 設定は、ファイルからロードする。 変更があった場合、2次ネームサーバに対して変更内容を伝える。(ゾーン転送) DNSの基礎知識 第1部: DNSの基礎
設定ファイルの例 [sfc.wide.zone] $TTL 10800 @ IN SOA shonan.sfc.wide.ad.jp. root.sfc.wide.ad.jp. ( 2000111045 ; Serial 1800 ; Refresh 900 ; Retry 604800 ; Expire 43200 ; TTL ) IN NS shonan.sfc.wide.ad.jp. IN NS endo.wide.ad.jp. IN MX 0 shonan jam IN A 203.178.143.56 IN MX 5 jam emma IN CNAME jam panda IN CNAME jam lapis IN CNAME jam zelda IN A 203.178.143.59 IN MX 5 zelda dokidoki IN CNAME zelda xevious IN A 203.178.143.60 [named.conf] options { directory "/etc/ns"; notify no; }; zone "." { type hint; file "root.cache"; // sfc.wide.ad.jp zone "sfc.wide.ad.jp" { type master; file "sfc.wide.zone"; // minna no segment zone "143.178.203.in-addr.arpa" { file "203.178.143.0..24.rev";
2次ネームサーバ そのゾーンのドメイン名に関してのサブデータベース 1次サーバの障害時に代わりに名前の解決を行う。 設定は、1次ネームサーバから情報を受け取る。また、定期的に(通常3時間ごと)1次サーバにアクセスし、新しい情報を受け取る。(ゾーン転送) DNSの基礎知識 第1部: DNSの基礎
2次ネームサーバの意義 通常は、1次ネームサーバのみを利用するが、障害などで1次サーバが利用できないときに2次サーバを用いることになる。 だから、同じ内容をもったバックアップサーバが1台以上必要なのである。 DNSの基礎知識 第1部: DNSの基礎
整理してみよう 1次ネームサーバ 2次ネームサーバ ゾーン転送 そのゾーンのドメイン名に関してのメインデータベース 設定は、ファイルからロード 変更があった場合、 2次ネームサーバに対して 変更内容を伝える。 (ゾーン転送) 2次ネームサーバ そのゾーンのドメイン名に関してのサブデータベース 1次サーバの障害時に代わりに名前の解決を行う。 設定は、1次ネームサーバから情報を受け取る。 (ゾーン転送) 定期的に(通常3時間ごと)1次サーバにアクセスし、新しい情報を受け取る。 1次ネームサーバ 2次ネームサーバ ゾーン転送 DNSの基礎知識
ゾーン外のドメインへの対応 もし、知らないドメイン名を聞かれたら・・・ ルートネームサーバに問い合わせる。 それによって、最適なネームサーバの場所を得て、それを利用し、名前を解決する。 DNSの基礎知識 第1部: DNSの基礎
ルートサーバとは? ルートネームサーバとは、ネームサーバの親玉のような存在 ルートネームサーバは、そのドメイン名解決のために必要なネームサーバの場所を教えてくれる。 全世界に13台存在 DNSの基礎知識 第1部: DNSの基礎
ルートサーバはどこにある (2台)・米Network Solutions社 (1台)・ネットワーク管理団体IANA ・ヨーロッパのネットワーク管理団体RIPE-NCC ・米PSINet社 ・米ISI(Information Sciences Institute) ・米ISC(Information Software Consortium) ・米Maryland大学 ・米航空宇宙局(NASA) ・米国防総省 ・米陸軍研究所 ・ノルウェーのNORDUnet ・日本のWIDEプロジェクト by 情報・通信字典 e-Words DNSの基礎知識 第1部: DNSの基礎
キャッシング DNSの特徴の1つ 使用頻度の高いアドレス情報や直前に処理した情報を蓄積する。 DNSの特徴 第1部: DNSの基礎
キャッシング なぜ、そんなことをするのか 詳しい動作などについては、次回に。 名前解決処理の高速化 Internet上のDNSトラフィックを軽減させるため。 自分のゾーン以外のドメインについては、ルートサーバに問い合わせるなどネットワークを利用する。同じ情報を何度も何度も問い合わせるのは、結構無駄。 詳しい動作などについては、次回に。 DNSの特徴 第1部: DNSの基礎
次回、第2部は・・・ DNSのしくみ DNSのデータのやり取りの流れ リソースレコードについて ポインタ照会について DNSにおけるUDPとTCP などなど、少し細かいところについても説明します。 次回、第2部は・・・ 第1部: DNSの基礎
第1部おわり 第1部: DNSの基礎