goto piano arpa ietf www in-addr 133 90 18 10 int ip6

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