/例 |
Contents
1. DNS/検索してみよう
2. web を見るまで
ブラウザで https://moin.qmail.jp を見るまでのDNSに関係する働きを題材にしよう。
- インターネット上の通信ではIPアドレスを使って通信相手を識別する。(パケットによる通信とかは省略)
- 人間にはIPアドレスは使いづらい。人間はドメイン名を使い、DNSを利用して、IPアドレスを管理する。
/ドメイン名(空間)についての説明
- moin.qmail.jp というドメイン名がどういう形式と意味をもつか。(構造)
/ドメイン名空間全体の話、DNSがなかったころはどうしていたかにも少し触れる。
moin.qmail.jp の IPアドレスつまりA /レコードの探しかた
ブラウザなどは(外部または同一ホスト上の)/リゾルバー(キャッシュサーバ)に問い合わせる。
DNS /キャッシュサーバはDNS/ゾーンサーバ(実際は分散データベース)に問い合わせる。
- これらの問い合わせかたには違いがある。[問い合わせの道具、演習問題]
- 目的のデータ(分散管理されている)をどう探すか。探せた結果をどう使うか。
- DNS サーバと言う呼び方は間違い。以下のように機能に分かれている。
/ゾーンサーバ(分散データベース)の仕組みの説明
NSレコードによる delegation(/委譲、委任)、DNSツリーのゾーンへの分割、/ゾーンの管理 委譲されなくても、データは存在するし、使うことも可能である。 DNS/グルーレコード
DNS/IW2012/ランチセミナー も前半は参考になる。
- 原則として、ルートからたどる。TTL時間はキャッシュしてよい。
3. dnsq を使ってみよう
digでも同様のことは出きるが、分かりづらい。
djbdnsをインストールせよ。(daemontoolsなどはいれなくてよい。)
4. moin.qmail.jp のIPアドレス(A レコード)を入手するまで
5. まずはrootサーバに問い合わせる
#dnsq a moin.qmail.jp a.root-servers.net
1 moin.qmail.jp: 427 bytes, 1+0+7+13 records, response, noerror query: 1 moin.qmail.jp authority: jp 172800 NS a.dns.jp authority: jp 172800 NS b.dns.jp authority: jp 172800 NS c.dns.jp authority: jp 172800 NS d.dns.jp authority: jp 172800 NS e.dns.jp authority: jp 172800 NS f.dns.jp authority: jp 172800 NS g.dns.jp additional: a.dns.jp 172800 A 203.119.1.1 additional: b.dns.jp 172800 A 202.12.30.131 ... (略)
a.root-servers.net でいいのかと思ったひとは有望だ。
6. JPサーバに問い合わせる
$ dnsq a moin.qmail.jp a.dns.jp
1 moin.qmail.jp: 82 bytes, 1+0+1+2 records, response, noerror query: 1 moin.qmail.jp authority: qmail.jp 86400 NS a.ns.qmail.jp additional: a.ns.qmail.jp 86400 A 14.192.44.5 additional: a.ns.qmail.jp 86400 A 49.212.139.194
7. qmail.jp のNSに問い合わせる
$ dnsq a moin.qmail.jp a.ns.qmail.jp
1 moin.qmail.jp: 47 bytes, 1+1+0+0 records, response, authoritative, noerror query: 1 moin.qmail.jp answer: moin.qmail.jp 86400 A 14.192.44.5