3 Minutes NetWorking
No.63

3Minutes NetWorking

第63回DNS(2) ゾーンとリソースレコード

■ ネームサーバ

インター博士

さて、前回ドメイン名前空間を説明したな。

ネット助手

木構造ですね。

インター博士

うむ、木構造を使ったインターネットに接続されたホストの名前の空間だ。

ネット助手

根(root)からたどればすべてのホストの名前がわかるって奴ですよね。

インター博士

その通り。
言い忘れていたが例外もある、例えインターネットに接続されていたとしても名前をつけていないものはドメイン名前空間にない

ネット助手

名前をつけていない?

インター博士

URIやメールアドレスなどで使用されるドメイン名だが。そういうものに使用されないホストならば、わざわざ名前をつける必要がないだろう? 名前をつけるのはIPアドレスを覚えやすくするためなのだから。

ネット助手

サーバのIPアドレスを覚えやすく文字にしたのがDNSでしたっけ。
覚える必要がないなら、名前は確かに必要ないですね。

インター博士

うむ。そういうことだな。
さて、この名前空間だが。

ドメイン名前空間

[Figure63-01:ドメイン名前空間]

インター博士

この名前空間を管理するものが必要だ。これをネームサーバという。

ネット助手

ねーむさーば。名前のサーバ?

インター博士

そうだ。ドメイン名前空間を管理し、名前に対する問い合わせに答えるサーバだ。

ネット助手

名前対する問い合わせ?

インター博士

おいおい。DNSとは何だ?

ネット助手

覚えやすい英数字のホスト名とそのホストのIPアドレスを対応させるものです。
ってこれ前回も言ったような。

インター博士

では、名前に対する問い合わせってのは?

ネット助手

…その名前に対するIPアドレスを教えてもらうってことですか?

インター博士

そういうことだ。ネット君、知識は流れるものではなく、積み重ねるものだぞ。

ネット助手

それはわかってますけど。

インター博士

ふむ。河を流れる石に苔はつかないとはこのことか。

ネット助手

いや、それ違うと思います。

■ ゾーン

インター博士

さて、ドメイン名前空間を管理するものがネームサーバだが。
ネームサーバは各節(node)に配置される

ネット助手

節に? 根に1つ置くわけではなくて?

インター博士

根にも配置されるが、節、つまりドメインに配置されるということだな。

ネームサーバの配置

[Figure63-02:ネームサーバの配置]

インター博士

この形だな。
この各ネームサーバは名前空間全体を知っているわけではない

ネット助手

じゃあ、何処を知っているんですか?

インター博士

それぞれの子だけを知っている。
つまり、自分の直下にあるサーバ又はホストの名前とIPアドレスを知っているということだな。

ネット助手

自分の直下。
じゃあ、上の例で言えば、「3min.co.jp」のネームサーバは、その隣の「30min.ne.jp」のことは知らないんですか?

インター博士

そうだ。
あくまでも自分の直下だ。その上も知らない。

ネット助手

自分の上も知らないんですか?

インター博士

うむ。このそれぞれのネームサーバが管理する範囲のことをゾーンという。

ゾーン

[Figure63-03:ゾーン]

インター博士

ネームサーバは、自分とその直下というドメイン名前空間の部分木をゾーンとして管理する、というわけだ。

ネット助手

ぞーん。
範囲とか、地域とかそういう意味ですよね。

インター博士

そうだ。まあ「管理範囲」と訳すのが適当かな。

ネット助手

管理範囲。そのまんまですね。

■ 基本的な問い合わせ

インター博士

さて。このようにドメイン名前空間の部分部分を分散してネームサーバが管理している。
では、インターネット上のホストのIPアドレスを知りたい場合、どのように調べるかと言うと。基本的にはこう。

[Figure63-04:問い合わせ]

インター博士

まぁ、細かい話はまた説明するが、簡単にいうとこの方式だな。

ネット助手

ははぁ。順番に下っていくんですね。

インター博士

そうだ。ドメイン名の後ろからの順番で調べていくわけだな。

ネット助手

ドメイン名の後ろから…。
「www.3min.co.jp」なら、「jp」、「co.jp」、「3min.co.jp」ときて「www.3min.co.jp」と。

インター博士

そういうことだ。
ちなみに根を管理するサーバのことをルートサーバという。

ネット助手

根(root)のサーバだから、ルートサーバですか。

インター博士

各ネームサーバは先ほども説明したように直下しか管理しない。ルートサーバの場合、直下のTLDのドメインとネームサーバだな。

ネット助手

jpとかukとかcomとかですね。

インター博士

なので問い合わせにいった場合、まずTLDのネームサーバへ。次はSLDのネームサーバへ。そして「3min」のドメインへ、ということになるわけだ。

ネット助手

は〜。

インター博士

インターネットに接続される膨大な数のホストの名前を管理するため、分散して管理している、ということがわかったかな。

ネット助手

DNSは「分散型データベース」だ、っておっしゃってましたよね。納得。

■ リソースレコード

インター博士

さて、そのネームサーバだが。
自分が管理するゾーンの情報を持っているデータベースサーバなわけだ。

ネット助手

ドメイン名とIPアドレスの対応を行うデータベースですね。

インター博士

ドメイン名とIPアドレスの対応以外にも、管理情報を持っている。
これらのネームサーバが持つ情報のことをリソースレコードという。

ネット助手

りそーすれこーど?
リソースは「資源」。レコードは「記録」。資源の記録?

インター博士

まぁ、そうなるな。ネームサーバが管理するホストという資源の記録だな。

[Figure63-05:リソースレコード]

ネット助手

データベースに保存されているデータを、リソースレコードと。

インター博士

そういうことだ。
リソースレコードは以下の形のデータだ。

所有者(Owner)---そのドメインの名前
名前(Name)可変長リソースレコードの名前
タイプ(Type)16ビットリソースのタイプ
クラス(class)16ビットクラス。通常は0x0001の値をとる
TTL32ビットリソースレコードのキャッシュ時間(秒)
RD長(RDLength)16ビットRDATAの長さ(オクテット)
RDATA可変長リソースの中身

[Table63-01:リソースレコードの形]

ネット助手

ん〜?

インター博士

例えば、「3min.co.jp」のネームサーバのデータベースにある「www」のリソースレコードはこんな形だ。

3min.co.jp
www
0001
0001
86400
4
192.168.0.1

[Table63-02:リソースレコード・例]

ネット助手

え、え〜っと。所有者が「3min.co.jp」。名前が「www」。タイプが「0001」。クラスが「0001」。TTLが「86400」。RD長が「4」。RDATAが「192.168.0.1」?

インター博士

ネット君。理解できるところだけでいいから言ってみたまえ。

ネット助手

「3min.co.jp」の「www」という名前のホストは「192.168.0.1」である。

インター博士

そうだ。

ネット助手

え? あってるんですか?

インター博士

なんだその鳩が豆まきしたような顔は。

ネット助手

どんな顔ですか、それは。「鳩が豆鉄砲」です。
いや、あってるとは思わなくて。

インター博士

他にわかるところは?

ネット助手

TTLが「84600」。キャッシュって何をキャッシュするかわからないですけど、ともかくキャッシュの時間が86400秒。
あとは……?

インター博士

よしよし。なかなかいいぞ。
他のは今から説明しよう。まずタイプだが、代表的なタイプとしては以下のものがある。

コード名前意味
1Aホストのアドレス
2NSそのドメインが管理するネームサーバ
5CNAMEホストの別名(エイリアス)
6SOAゾーンの情報
12PTRポインタ。逆引きに使用する
15MXそのドメインのメールサーバ

[Table63-03:リソースレコードタイプ]

インター博士

他にもあるが、よく使われるのはこれぐらいだ。

ネット助手

さっきの例のはタイプが「0001」だから、タイプAですね。

インター博士

そういう場合「Aレコード」と言うのだ。

ネット助手

えーれこーど。
じゃあ、タイプSOAは「SOAレコード」ですね。

インター博士

そうなる。このリソースレコードのタイプについては重要なので先で詳しく説明する。
次はクラス。

ネット助手

先ほどの例では0001でした。説明では通常は0001だとか。

インター博士

うむ。ここにはそのリソースレコードのクラスというか、使用プロトコルが入るのだが。
現在では「0x0001 = Internet(in)」しか使われない。

ネット助手

ははぁ。じゃあここは「in(0x0001)」が入る、と覚えておけばいいですね。

インター博士

あとは、RD長と、RDATAだな。
RDATAはタイプによって変わるので一概にこれといいがたい。

ネット助手

さっきの例ですと、「192.168.0.1」というIPアドレスが入ってましたね。

インター博士

うむ、Aレコードの場合はIPアドレスが入る。
RD長はRDATAの長さが入る。単位がオクテットだから、32bitなので4オクテットだから、4だ。

ネット助手

ふむふむ。

インター博士

よし、今回はここまでとしよう。
次回はそのリソースレコードのタイプについて説明しよう。

ネット助手

はい。

インター博士

ではまた次回。

ネット助手

了解です。
3分間ネットワーキングでした〜♪

ネームサーバ
[Name Server]
DNSサーバとも呼ばれる。
ゾーン
[Zone]
ルートサーバ
[root server]
全世界の13台存在し、A.ROOT-SERVER.NET 〜 M.ROOT-SERVER.NETという名前がついている。
ちなみにM.ROOT-SERVER.NETは日本に存在する。
リソースレコード
[Resource Record]
他にもある
HINFO、NULL、TXT、WKSなど。
Win2000 ActiveDirectory環境だとSRVをよく見るかな。
現在では
他にはカオスシステム(ch)、ヘシオド(hs)などがあります。
ネット助手ネット君の今日のポイント
  • 名前空間を管理し、ホスト名の問い合わせを受けるサーバをネームサーバという。
  • ネームサーバは各ドメインに設置される。
  • ネームサーバは直下の子のみを知っている。この範囲をゾーンという。
  • DNSの問い合わせは根から順に下っていく方式である。
  • ネームサーバが持つ情報をリソースレコードという。

3 Minutes NetWorking No.63

管理人:aji-ssz(at)selene.is.dream.jp