DNSの基礎知識 - Wideプロジェクト

Layer8輪講 詳解TCP/IP
DNS – ドメインネームシステム
~第1部~ DNSの基礎
環境情報学部 1年 三島 和宏
[email protected]
まずはじめに

すいません、原稿落ちちゃいました~
– 仕事の忙しさにあわせて、風邪でダウン。
– おかげで、本は読んだものの、資料が完成し
ていません。

ということで・・・
– 2部構成にさせてください。
– 第1部:DNSの基礎 第2部:DNSのしくみ
誠に申し訳ありません
第1部: DNSの基礎
2
本日のお題

イントロダクション
– そもそも、DNSとは?
– DNSはなぜ必要か?
– レゾルバー、そして実装

DNSの基礎
– DNSの階層構造
– ドメインのあれこれ
– ネームサーバのあれこれ

DNSの特徴
– キャッシング

次回予告・最後に
本日のお題
第1部: DNSの基礎
3
イントロダクション

そもそもDNSとは?
– ドメインネームシステムは、TCPアプリケーショ
ンがホスト名とIPアドレス間をマッピングすると
きや、電子メールのルーティング情報を提供
するときに用いられる分散データベースシステ
ムのこと。

単純に言ってしまえば・・・
– お名前解決システム
イントロダクション
第1部: DNSの基礎
4
DNSはなぜ必要?


IPアドレスはコンピュータのために
ドメイン名は人間のために
– ドメイン名は、人間がそのホストにアクセスする際に、
わかりやすくするためにつけた名前である。ただ、機
械はそれを理解できない。
– IPアドレスは、機械が認識することは出来るが、人間
は、そんな数字の羅列は覚えられない。

そして、それをつなげるのが
– IPアドレスとホスト名間をマッピングするDNS
– だから、DNSは必要なのだ
(HOSTSというファイルはあるけれど・・・)
イントロダクション
第1部: DNSの基礎
5
実際には・・・


アプリケーションがDNSへアクセスするに
は、レゾルバーという仲介役を通して、
DNSサーバへ問い合わせを行う。
レゾルバーは、基本的にアプリケーション
の一部である。
イントロダクション
第1部: DNSの基礎
6
例を挙げてみると・・・
・SFCのホームページを見たい
– ホスト名は、www.sfc.keio.ac.jp だけど、サーバにアク
セスするには、IPアドレスがわからないといけない・・・。
– そんなときに、DNSを使うと、133.27.4.212というIPアド
レスを得ることが出来る。
IPアドレスを知りたい
www.sfc.keio.ac.jpって何番だっけ?
アプリケーション
(ブラウザなど)
レゾルバー
DNS
サーバ
www.sfc.keio.ac.jpの
IPアドレスを聞いてきて
イントロダクション
それはね、133.27.4.212だよ
7
実装

レゾルバーおよびネームサーバを含めた
DNSの最も一般的な実装とは
– BIND (Berkeley Internet Name Domain)
• サーバは、namedと呼ばれる。
• UNIXだけでなく、Windowsにおいても利用するこ
とが出来る。
• ほぼ、標準と言っていいほどのサーバ。
イントロダクション
第1部: DNSの基礎
8
DNSの基礎知識
ヌルラベルを持つノード

DNSは階層構造
第1レベルドメイン arpa
com
net
org
・・
第2レベルドメイン in-addr
・
・
・
jp
ac
yahoo
to
nu
null
cx
・・・
petitcharat
211
keio
www
www www
123
sfc
44
この1つ1つがノード
DNSの基礎知識
226
第1部: DNSの基礎
www
9
DNSの基礎知識
(null)

com


yahoo
www


全てのノードは63文字までのラベルを持つ。
1つ1つの区切りは、ゾーンと呼ばれる。
階層のルート(一番上)は、特定の文字列を持た
ないヌル・ラベルをもつノードが来る。
ツリーに存在するドメイン名は、下から順にさか
のぼって見る。
ノードには固有の名前が必要であるが、ツリーの
異なる場所であれば、同名があってもよい。
DNSの基礎知識
第1部: DNSの基礎
10
ドメインの種類

最後がピリオドで終わるドメイン
(例) wanwan.sfc.wide.ad.jp.
– 絶対ドメイン名または完全指定ドメイン名
– 通常、サーバなどへのアクセス時には、これを用いる。

ピリオドで終わらないとき
(例) wanwan
– この状態では、ドメインは不完全な形
– そのホストの存在する、ローカルのDNSによって固有
のラベル(この場合、sfc.wide.ad.jp. というラベル)を後
ろにつけることにより、絶対ドメインを作る。
DNSの基礎知識
第1部: DNSの基礎
11
第1レベルドメイン:arpa
arpa

in-addr
211
123
44
226
arpa (階層構造の図の一番左)
– IPアドレスからホスト名を解決する時に使う
– アドレスの逆引き
– 左の図の場合
• 211.123.44.226というIPアドレスから、ホスト名を割
り出すために用いられる。
• これは、私の勤め先のDNSサーバです(^-^;;
DNSの基礎知識
第1部: DNSの基礎
12
第1レベルドメイン:汎用ドメイン
com

yahoo
www
汎用ドメイン
– 7つの3キャラクタドメイン
(com, net, org, edu, int, mil, gov)
– 組織ドメインと呼ばれる場合もある。
– gov, milは、米国組織のみが利用できる。
– gTLD (generic Top Level Domain)
• このうち、com, net, orgは、全世界の誰でもが取得する権利を
持っている。ドメイン名の管理は、ICANNが行う。
DNSの基礎知識
第1部: DNSの基礎
13
第1レベルドメイン:国ドメイン
jp

ccTLD (country code Top Level Domain)
–
–
–
–
ac
keio
sfc
www
2キャラクタドメインは、すべてこれに当たる。
国ごとにわりあてられた第1レベルドメイン
国ドメインや地域ドメインと呼ばれる。
ISO3166で定義された国コードがベース。
– 国コードの下に置かれる第2レベルドメインは、
汎用ドメインと似た分類になっている。
DNSの基礎知識
第1部: DNSの基礎
14
階層構造をとる理由

階層構造をとることによって、各ゾーンごとに管
理を分散することが出来るようになる。
– ツリーの一部のレベルについては、それぞれの国の
NIC (Network Information Center)が管理をする。
(汎用ドメインの場合)第1レベルドメイン
(国ドメインの場合)第1・2レベルドメイン
– それ以外については、そのドメインを割り当てられた
組織によって管理される。
DNSの基礎知識
第1部: DNSの基礎
15
管理の委任

各国のNICは、あるドメインを割り当てたそ
れぞれの組織に、管理を委任する。

したがって、各ゾーンのネットワーク管理者
は、第2(あるいは3)レベル以下のドメイン
を管理することになる。
DNSの基礎知識
第1部: DNSの基礎
16
ネームサーバの設置

ドメインを割り当てられた各組織は、その
ゾーンに対応する複数のネームサーバを
設置する必要がある。
– 1つのゾーンには、基本的に1台の1次(プラ
イマリ)ネームサーバと、1台以上の2次(セカ
ンダリ)ネームサーバを設置しないといけない。
DNSの基礎知識
第1部: DNSの基礎
17
1次ネームサーバ




そのゾーンのドメイン名に関してのメイン
データベース
通常、ドメインの問い合わせに対して、適
切な答えを返すのが仕事。
設定は、ファイルからロードする。
変更があった場合、2次ネームサーバに対
して変更内容を伝える。(ゾーン転送)
DNSの基礎知識
第1部: DNSの基礎
18
設定ファイルの例
[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" {
type master;
file "203.178.143.0..24.rev";
};
[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
emma
panda
lapis
zelda
dokidoki
xevious
IN
IN
IN
IN
IN
IN
IN
IN
IN
A
203.178.143.56
MX 5 jam
CNAME jam
CNAME jam
CNAME jam
A
203.178.143.59
MX 5 zelda
CNAME zelda
A
203.178.143.60
19
2次ネームサーバ



そのゾーンのドメイン名に関してのサブ
データベース
1次サーバの障害時に代わりに名前の解
決を行う。
設定は、1次ネームサーバから情報を受け
取る。また、定期的に(通常3時間ごと)1
次サーバにアクセスし、新しい情報を受け
取る。(ゾーン転送)
DNSの基礎知識
第1部: DNSの基礎
20
2次ネームサーバの意義

通常は、1次ネームサーバのみを利用す
るが、障害などで1次サーバが利用できな
いときに2次サーバを用いることになる。

だから、同じ内容をもったバックアップサー
バが1台以上必要なのである。
DNSの基礎知識
第1部: DNSの基礎
21
整理してみよう

1次ネームサーバ
– そのゾーンのドメイン名に
関してのメインデータベース
– 設定は、ファイルからロード
– 変更があった場合、
2次ネームサーバに対して
変更内容を伝える。
(ゾーン転送)

2次ネームサーバ
– そのゾーンのドメイン名に
関してのサブデータベース
– 1次サーバの障害時に代わ
りに名前の解決を行う。
– 設定は、1次ネームサーバ
から情報を受け取る。
(ゾーン転送)
– 定期的に(通常3時間ごと)
1次サーバにアクセスし、新
しい情報を受け取る。
2次ネームサーバ
1次ネームサーバ
DNSの基礎知識
ゾーン転送
22
ゾーン外のドメインへの対応

もし、知らないドメイン名を聞かれたら・・・
– ルートネームサーバに問い合わせる。
– それによって、最適なネームサーバの場所を
得て、それを利用し、名前を解決する。
DNSの基礎知識
第1部: DNSの基礎
23
ルートサーバとは?


ルートネームサーバとは、ネームサーバの
親玉のような存在
ルートネームサーバは、そのドメイン名解
決のために必要なネームサーバの場所を
教えてくれる。
– 全世界に13台存在
DNSの基礎知識
第1部: DNSの基礎
24
ルートサーバはどこにある
(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の基礎
25
キャッシング


DNSの特徴の1つ
使用頻度の高いアドレス情報や直前に処
理した情報を蓄積する。
DNSの特徴
第1部: DNSの基礎
26
キャッシング

なぜ、そんなことをするのか
– 名前解決処理の高速化
– Internet上のDNSトラフィックを軽減させるため。
– 自分のゾーン以外のドメインについては、ルートサー
バに問い合わせるなどネットワークを利用する。同じ
情報を何度も何度も問い合わせるのは、結構無駄。

詳しい動作などについては、次回に。
DNSの特徴
第1部: DNSの基礎
27
次回、第2部は・・・

DNSのしくみ
–
–
–
–
DNSのデータのやり取りの流れ
リソースレコードについて
ポインタ照会について
DNSにおけるUDPとTCP
などなど、少し細かいところについても説明します。
次回、第2部は・・・
第1部: DNSの基礎
28
第1部おわり
第1部: DNSの基礎
29