3 Minutes NetWorking
No.64

3Minutes NetWorking

第64回DNS(3) リソースレコードタイプ

■ Aレコード

インター博士

さてさてネット君。リソースレコードの話の続きだ。

ネット助手

ネームサーバが持つ情報でしたっけ。

インター博士

うむ、それぞれのネームサーバが持つホストの情報だな。
リソースレコードには以下の種類がある。

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

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

インター博士

今回はこれを順番に説明していこう。
まず、Aレコード

ネット助手

Aってどういう意味です?

インター博士

アドレスだ。
これはもっとも基本となるリソースレコードだ。

ネット助手

基本となる…。

インター博士

Aレコードはドメイン名とIPアドレスの対応を記述する。
例えば…。

ホストとIPアドレス

[Figure64-01:ホストとIPアドレス]

インター博士

このような3つのホストを持つ3min.co.jpがある場合、3min.co.jpのネームサーバは以下の3つのレコードを持つ。

名前タイプクラスRDATA
wwwAIN192.168.0.1
ftpAIN192.168.0.2
mailAIN192.168.0.3

[Table64-01:Aレコードの記述]

ネット助手

wwwは192.168.0.1、ftpは192.168.0.2、mailは192.168.0.3。
そのまま、このホスト名はこのIPアドレスですよ、って書いてあるわけですね。

インター博士

その通り。
ネームサーバはドメイン名の問い合わせに対してこのレコードを使用するわけだな。

ネット助手

ははぁ。じゃあ一番使われるレコードなんですね。

インター博士

そういうことだ。

■ NSレコード

インター博士

次はNSレコード。
そのドメインとそのドメインの下のドメインを管理するネームサーバだ。

ネット助手

ドメインとそのドメインの下のドメイン?
そのドメインだけでなく?

インター博士

そう、ちなみにNSはネームサーバの意味だ。
つまり、下の図のような…。

ドメインとサブドメイン

[Figure64-02:ドメインとサブドメイン]

インター博士

3min.co.jpの下に、さらにexというドメインがある場合。

ネット助手

え〜っと、下にあるから前に記述するので、「ex.3min.co.jp」ですよね。

インター博士

そうだ。
このex.3min.co.jpの例えば「web」のIPアドレスを検索したい場合、どうする?

ネット助手

上から順番に調べていくんですよね。ルートに「jp」のネームサーバを聞いて、「jp」に「co」のネームサーバを聞いて、「co」のネームサーバに「3min」のネームサーバを聞いて…。

インター博士

そう、3min.co.jpの次は、その下のexのネームサーバの場所を問い合わせなければならないこの時使用するのがNSレコードだ。

ネット助手

ははぁ。下のネームサーバの場所を聞くために存在する、と。

インター博士

まぁ、そうだな。
先ほどの例で言えばこう。

ドメイン

[Figure64-03:ドメイン]

名前タイプクラスRDATA
3min.co.jpNSINns.3min.co.jp
exNSINns.ex.3min.co.jp

[Table64-02:NSレコードの記述]

ネット助手

ん? んん?
ネームサーバのIPアドレスじゃないんですね?

インター博士

うむ、そのゾーンのネームサーバを記述するのだ。
例えば、上の行ならば「3min.co.jp」を管理するのは「ns.3min.co.jp」だ、と。

ネット助手

下の行は?
「ex」を管理するのは、「ns.ex.3min.co.jp」?

インター博士

そうだ。「ex」は「3min.co.jp」の中にあるからFQDNでは「ex.3min.co.jp」になる。
「ex.3min.co.jp」のネームサーバは「ns.ex.3min.co.jp」という意味になるな。

ネット助手

ん〜っと、でも「ns.3min.co.jp」はドメイン名ですよね?
IPアドレスじゃないとデータ転送できないじゃないですか。

インター博士

うむうむ、その通り。
なので必ずネームサーバのドメイン名のAレコードが必要だ。

名前タイプクラスRDATA
nsAIN192.168.0.100
ns.exAIN192.168.1.100

[Table64-03:NSレコード用Aレコード]

インター博士

つまりNSレコードとAレコードの2つがネームサーバを記述するために必要、ということだな。

ネット助手

セットのお値段なんですね。

■ CNAMEレコード

インター博士

次はCNAMEレコードだ。

ネット助手

きゃのにかる?

インター博士

「Canonical」は「正典の」「教会法の」とかいう意味がある。the canonical bookで「聖書の正典」とかな。
ここから派生して「標準」という意味がある。

ネット助手

ははぁ、さすがアッチの人間が作ったものですね。そんな名前つけるなんて。
「標準」なら素直に「Standard」とかつけりゃいいじゃないですか。

インター博士

私に言うな。
ともかく、「Canonical NAME」つまり「標準名」だな。

ネット助手

標準名…標準の名前?

インター博士

ん〜、これはちょっとややこしいのだが。
2つのドメイン名を持つホストがある。

ネット助手

2つのドメイン名を持つホスト?
なんで2つも持ってるんですか?

インター博士

それは2つの役割を1つのサーバでこなすことが少なくないからだ。
例えば、「Web」と「FTP」などだな。

ネット助手

ははぁ。「Webサーバ」兼「FTPサーバ」ですか?

インター博士

そうなる。そのようなサーバは、Webによるアクセスなら「www」という名前を使い、FTPによるアクセスなら「ftp」という名前を使う。
このような複数の名前を設定するのがCNAMEレコードだ。

ネット助手

それだったら、「複数名」じゃないですか?
なんで「標準名」なんです?

インター博士

つまり、そのホストには1つの正式な「標準名」を持ち、他の名前は別名となる。
この「別名の標準名はこれ」と設定するのがCNAMEレコードだ。

名前タイプクラスRDATA
wwwAIN192.168.0.1
ftpCNAMEINwww.3min.co.jp

[Table64-04:CNAMEレコードの記述]

ネット助手

え〜っと。「ftpの標準名はwww.3min.co.jp」である、という意味でいいんですか?

インター博士

そういうことだな。

ネット助手

必ず「www」が標準名になるんですか?

インター博士

いや、これはドメインの管理者が決定する。
このCNAMEレコードもやはり標準名のAレコードが必要だ。

ネット助手

またまたセットのお値段ですね。

■ SOAレコード

インター博士

次はSOAレコード。

ネット助手

すたーとおぶおーそりてぃ?
オーソリティのスタート? オーソリティ?

インター博士

オーソリティはゾーンの情報をすべて持つホストという意味だが、まぁ簡単にゾーンと同じ意味と思ってくれればいい。

ネット助手

ゾーンと同じ意味…。ゾーンの開始?

インター博士

ゾーン情報の管理パラメータを示すレコードだ。
これはSOAレコードの中身を見てもらった方が早い。

名前(Name)可変長そのドメインの名前
タイプ(Type)16ビットSOA
クラス(class)16ビットIN
TTL32ビットキャッシュ時間(秒)
RD長(RDLength)16ビットRDATAの長さ
RDATA可変長MNameネームサーバ名
RNameドメインの管理者
Serialゾーン情報のシリアル番号
Refresh更新までの時間
Retry更新の再試行間隔
Expire更新の終了時間
Minimum TTLリソースレコードの最小TTL

[Table64-05:SOAレコードの記述]

ネット助手

しりある? りふれっしゅ? りとらい? 何に使うんですか、これ?

インター博士

これはセカンダリネームサーバとのゾーン情報の交換に使うのだ。

ネット助手

インター博士

まぁ、これは先で説明するが、簡単に言えばゾーン情報のバックアップのためのパラメータなのだ。
バックアップの間隔、再試行時間……、まぁ、そういうことだ。

ネット助手

ゾーン情報をバックアップするために必要、そのためのレコード、ということですか?

インター博士

そうそう、そのために必要な管理レコードだ。

■ PTRレコード

インター博士

ドメイン名からIPアドレスを調べるのを正引きという。

ネット助手

正引き。正しい引き?
じゃあ、正しくない引きもあるってことですか?

インター博士

ある。IPアドレスからドメイン名を調べるのが逆引きだ。

ネット助手

いんばーすくえりー。
逆のクエリー。

インター博士

正引きにはAレコードを使うが、逆引きに使うのがPTRレコードだ。

ネット助手

逆引き用のレコード、ぽいんた。

インター博士

そうだ。
例えばレコードの中身はこうなる。

名前タイプクラスRDATA
1.0.168.192.in-addr.arpaPTRINwww.3min.co.jp

[Table64-06:PTRレコードの記述]

ネット助手

1.0.168.192.in-addr.arpa?
なんですか、それ?

インター博士

逆引きに使う専用のドメイン名だ。これについては先で説明しよう。
ともかく、上のレコードは「192.168.0.1はwww.3min.co.jpです」という意味になる。

ネット助手

あ〜、1.0.168.192.in-addr.arpaってIPアドレスが逆になってるんですね。

インター博士

そういうことだ。
さて、1つ覚えておいて欲しいのは逆引きはできなくてもよいということだ。

ネット助手

できなくてもよい?

インター博士

うむ、ネームサーバとして正引きは必須サービスだが、逆引きはそうではない。オプションのサービスということだな。
なので、PTRレコードは絶対必要というわけではない、ということを覚えておきたまえ。

ネット助手

ははぁ。PTRレコードはもっていなくてもいいんですね。

■ MXレコード

インター博士

さて、最後のレコードは、MXレコードだ。

ネット助手

めーるえくすちぇんじ?
メール交換? メールに何か関係が?

インター博士

うむ。そのドメインのメールサーバを定義するためのレコードだ。
これには優先値が設定されている。

ネット助手

優先値?
なんの優先値ですか?

インター博士

使用するメールサーバの優先値だ。優先値の低いメールサーバを最初に使用する

ネット助手

えぇ〜っと。
例えば、2つのメールサーバがあったとしたら、低い方を使うってことですか?

インター博士

そういうことだな。優先値が低い方が使えない場合、次に低いメールサーバを使うわけだ。
MXレコードはこうなる。

名前タイプクラスRDATA
3min.co.jpMXIN10 mail.3min.co.jp
3min.co.jpMXIN30 mail2.3min.co.jp
mailAIN192.168.0.3
mail2AIN192.168.0.13

[Table64-07:MXレコードの記述]

ネット助手

「3min.co.jpのメールサーバはmail.3min.co.jpですよ。優先値は10ですよ。」

インター博士

そう、その通り。メールアドレスの@の後ろ側を見てそのドメインのメールサーバを問い合わせるわけだ。

ネット助手

ん〜っと、例えば「net@3min.co.jp」宛だとした場合はどうなるんです?

インター博士

そう、例えばネット君にメールを送りたいなどという奇特な人がいた場合。

ネット助手

奇特じゃないですよ、メル友多いんですよ、僕。

インター博士

前も言ったとおり未承諾広告を送ってくる奴はメル友ではない
ともかく、「net@3min.co.jp」の「3min.co.jp」を見て3min.co.jpのMXレコードをネームサーバに問い合わせるわけだ。

ネット助手

3min.co.jpにはさっきの例だと2つのMXレコードがありますよね。
で、優先値の低い方を返す?

インター博士

そういうことだ。この場合、「mail.3min.co.jp」だな。

ネット助手

ははぁ。

インター博士

さて、これで代表的なリソースレコードの説明をしたわけだ。
他にもリソースレコードはあるが、よく使われるのはこれぐらいだな。

ネット助手

A、NS、CNAME、SOA、PTR、MXですね。

インター博士

そうだ。リソースレコードはネームサーバを知る上で非常に重要だ。忘れないように。

ネット助手

了解です。

インター博士

では今回はこれで終わり。
また次回にしよう。

ネット助手

はい。
3分間ネットワーキングでした〜♪

CNAME
[Canonical NAME]
別名
[Alias]
エイリアス。
SOA
[Start Of Authority]
オーソリティ開始位置。
正引き
[Standard Query]
逆引き
[Inverse Query]
PTR
[PoinTeR]
MX
[Mail eXchange]
優先値
[Preference]
プリファレンス。16ビットの値。
ネット助手ネット君の今日のポイント
  • Aレコードはホスト名とIPアドレスの対応を記述する。
  • NSレコードはそのゾーンのネームサーバを記述する。
  • CNAMEレコードは1つのホストで複数の名前を持つときに使用する。
  • SOAレコードはゾーン情報のバックアップ用の情報を記述する。
  • PTRレコードは逆引き用のレコード。
  • MXレコードはそのドメインのメールサーバを記述する。

3 Minutes NetWorking No.64

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