DNS 特論

DNS 特論
DNSはアプリケーションプロトコル
今回はアプリケーションプロトコル
の中で特にDNSを扱います
1
インターネットを利用するには
IPアドレスとドメイン名が必要
• IPアドレス(例)
133.90.18.10
192.5.216.4
192.168.0.1
• ドメイン名(例)
waseda.ac.jp
waseda.jp
早稲田大学.jp
サービス名
domain
内容
Domain Name Server
表 6—3 UDPの代表的なウェルノウンポート番号, 教科書 p.228
• 一つのプロトコルがTCPとUDPの両方のポート番号を
持つことがある。その場合には同じ番号。
• 最初の頃のポート番号は奇数の割合が多い。
2
利用者はドメイン名を使う
コンピュータはIPで通信する
• ドメイン名で指定されたWEBも、
メールアドレスで指定された宛先も、
IPアドレスに変換する必要がある。
IPデータグラム
ヘッダ
データ
3
4
1.DNSの必要性
DNSへの問い合わせ(query)
• 利用者はドメイン名を使う
[email protected]
[email protected]
www.goto.cs.waseda.ac.jp
http://133.90.18.50
②, ③, ④は
後に登場
⑤
次の図を参考にして大幅に簡略化した
図5—5 DNSによる問い合わせ, 教科書 p.187
ステップ②, ③, ④を省略している
内容
Domain Name Server
表 6—2 TCPの代表的なウェルノウンポート番号, 教科書 p.227
ポート番号
53
マスタリングTCP/IP入門編 第5版では、DNSを「第5章 IPに関
連した技術」で扱っています。一方で第4版では、DNSを第8章
アプリケーションプロトコル」の最初で扱っていました。
本講義においてDNSをアプリケーションプロトコルとして扱いま
す。その理由は、前回の授業で強調した事柄が関係しています。
利用者のPC
サービス名
domain
どう見ても2つの表の内容は同一
情報ネットワーク講義資料
教科書 p.182~188
リゾルバ
resolver ①
ポート番号
53
www.
ietf.org
p.183
このページの例題は
実際のデータの一部
を変更しています
• 最初はホスト名とIPアドレスの変換表
/etc/hosts
この変換表では収容しきれない
5
6
1
IPアドレスの管理
JPNIC
pp.156
http://www.nic.ad.jp/ja/ip/index.html
• 日本国内のIPアドレスはJPNICが管理
ICANN (IANA)
APNIC
JPNIC
プロバイダ(IPアドレス管理指定事業者)
利用者
参考) 発足時のAPNICは日本で活動をしていました。
7
8
http://www.apnic.net/about-APNIC/organization/history-of-apnic
ドメイン名の管理
JPRS
http://jpshop.jp/info/service/syurui/index.html
p.340
• 日本国内のドメイン名はJPRSが管理
(株)日本レジストリサービス
(2002年4月1日より)
ICANN
JPRS
プロバイダ(JPRS指定事業者)
利用者
http://jprs.co.jp/press/020401.html
9
http://www.nic.ad.jp /ja/topics/2002/20020401-01.html
2.DNSの登場
p.183—184
• 1983年 ARPAnetがNCPからTCP/IPに切替
1984年 ドメイン名の導入
• 背景: 当時のホスト数
08/1981 213
05/1982 235
08/1983 562
10/1984 1,024
10/1985 1,961
02/1986 2,308
11/1986 5,089
11
10
1984年当時のDNSの評判
• スタンフォード大学における変化(利用例)
[email protected][email protected]
• 不評, ブーイング
ドメイン名は長過ぎる
• Martin Frost氏の説得
[問題]
システム管理者のFrost氏は、どのように
して学内の利用者を説得したのでしょうか?
12
2
3.ドメイン名の構造
DNSの階層構造
pp.184~185
p.185
教科書の
図も参照
ルート
• 例: www.cs.waseda.ac.jp
jp トップレベルドメイン (国別) ccTLD
例: cs.stanford.edu
edu トップレベルドメイン gTLD
“ ”
ac
ネームサーバの配置
arpa
ietf
in-addr
info
int
133
…
18
piano
13
ip6
90
goto
10
piano.goto.info.waseda.ac.jp
14
問い合わせ(query)の詳細
p.186—187
• そのネームサーバが設置された階層の
ドメインに関する情報を管理
• ルートネームサーバ(世界に13台(個))
TLDを管理している
• jpネームサーバ
acネームサーバ
wasedaネームサーバ(早稲田大学)
csネームサーバ, infoネームサーバ(学科)
goto ネームサーバ(後藤研)
15
4.DNSの query
org
waseda www
• 注: ccTLDの多くは ISO3166 のcountry
codeを用いているが例外がある (uk, gb)
• サブドメイン
トップレベル以外のドメイン名
jp
…
pp.187~188
②
③
④
リゾルバ
resolver ①
⑤
www.
ietf.org
利用者のPC
次の図を基本にして一部削除した
図5—5 DNSによる問い合わせ, 教科書 p.187
ルートDNSの「ルート」は root です(routeではない)
nslookupの使用例
このページの例題は
実際のデータの一部
を変更しています
> mail.goto.cs.waseda.ac.jp
Server:
ns.cfi.waseda.ac.jp
Address:
2001:2f8:33:1::3#53
• リゾルバ
• アプリケーションに先立って名前解決する
• 意識的に名前解決するツール
nslookup
dig
16
早稲田大学
のサーバ
数字53
mail.goto.info.waseda.ac.jp canonical
name = voice.goto.cs.waseda.ac.jp.
Name: voice.goto.cs.waseda.ac.jp
Address: 133.90.18.110
CNAME
17
別名がある
18
3
dig の使用例
% dig –x 133.90.18.50
;; QUESTION SECTION:
;50.18.90.133.in-addr.arpa.
IN
PTR
このページの例題は
実際のデータの一部
を変更しています
ここでも CNAMEが
使われている
;; ANSWER SECTION:
50.18.90.133.in-addr.arpa. 3600 IN PTR pentagon.goto.cs.waseda.ac.jp.
;; AUTHORITY SECTION:
18.90.133.in-addr.arpa. 3600
18.90.133.in-addr.arpa. 3600
18.90.133.in-addr.arpa. 3600
18.90.133.in-addr.arpa. 3600
18.90.133.in-addr.arpa. 3600
18.90.133.in-addr.arpa. 3600
IN
IN
IN
IN
IN
IN
NS
NS
NS
NS
NS
NS
voice5.goto.cs.waseda.ac.jp.
ns.cfi.waseda.ac.jp.
ns.info.waseda.ac.jp.
ns1.goto.cs.waseda.ac.jp.
ns2.cfi.waseda.ac.jp.
voice3.goto.cs.waseda.ac.jp.
19
CNAMEレコード: 別名を定義
MXレコード: メールサーバを指定
PTRレコード:
IPアドレスからドメイン名を逆引き
するためのデータ
21
逆引きのための構造
jp
…
文字通りに逆引き
する訳ではありま
せん
ac
arpa
ietf
in-addr
waseda www
info
goto
piano
int
org
この説明が
分かりにくい
かもしれませ
ん。ご注意
※) FQDN = Fully Qualified Domain Name
20
…
• DNSの照会(query)でPTR(ポインタ)
を指定すると逆引きができる
10.18.90.133.in-addr.arpa
応答(answer)は
piano.goto.info.waseda.ac.jp
5.分散データベース
22
p.188
• 世界規模で運用されている分散デー
タベース
• DNSのデータはキャッシュされる
90
• セキュリティを強化する提案がある
DNSsec
18
10
10.18.90.133.in-addr.arpa
• DNSの階層構造を、しらみ潰しで調
べるのは現実的でない
• ルートサーバが13台(日本にもある)
なぜルートサーバが必要か [問題]
ip6
133
Aレコード:
ドメイン名に対してIPアドレスを定義
AAAAレコード:
ドメイン名に対してIPv6アドレスを定義
PTRレコードによる「逆引き」
DNSのデータをリソースレコードで記述
“ ”
• DNS = Domain Name System
IPアドレスとドメイン名(FQDN※)の対応
これを覚えておいてください
多様なDNSの機能
ルート
IPアドレスとドメイン名との相互変換
23
24
4
教科書の範囲外
早稲田大学の入り口で測定したルートサーバとの通信
3000
Query
Answer
A/Q
2500
0.8
0.7
2000
0.6
0.5
1500
0.4
1000
割合
パケット数
6.多言語ドメイン名の話題
0.9
0.3
0.2
500
0.1
0
0
A
B
C
D
E
F G H I
ROOT SERVER
J
K
L
M
25
荒井祐一
マスターするべき事項
• ドメイン名に使用して良いのは、英字、数
字、ハイフン(-)である。
• 英字の大文字と小文字の区別はしない
case insensitive
• 日本語ドメイン名、例:早稲田大学.jp
の日本文字は puny codeで表現されている
RFC 3492
• この国際標準化を IETFで推進するについ
ては早稲田大学の大学院生が活躍
26
注意するべき事項
• IPアドレス割り当て機関であるJPNICの役割
• JPドメイン名の登録を受け付けるJPRSの役割
• DNSはアプリケーションプロトコルの一つ
• DNSはドメイン名をIPアドレスに変換する
またDNSはIPアドレスをドメイン名に逆変換する
• DNS機能を提供するサーバを識別するに
は、ドメイン名を使うこともできるし、IPアド
レスで指定することもできる。
• ただしリゾルバがDNSサーバにアクセスす
る場合には、必ずIPアドレスを使う。これは
何故か?
ヒント: リゾルバがDNSサーバを、ドメイン名
で指定する場合に生じる不具合を述べよ。
27
28
DNSサーバの運用
• DNSサーバが停止すると、ドメイン名を使
うことが出来なくなる。事実上はインターネ
ットが停止することになる
• DNSサーバは primary server と secondary
server の2台を運用することが規定されて
いる
• DNSサーバの情報をコピーして保持する
サーバが存在する。興味のある人は調べ
てみてください(anycast)
29
5