■ Aレコード
さてさてネット君。リソースレコードの話の続きだ。
ネームサーバが持つ情報でしたっけ。
うむ、それぞれのネームサーバが持つホストの情報だな。
リソースレコードには以下の種類がある。
コード | 名前 | 意味 |
---|---|---|
1 | A | ホストのアドレス |
2 | NS | そのドメインが管理するネームサーバ |
5 | CNAME | ホストの別名(エイリアス) |
6 | SOA | ゾーンの情報 |
12 | PTR | ポインタ。逆引きに使用する |
15 | MX | そのドメインのメールサーバ |
[Table63-03:リソースレコードタイプ]
今回はこれを順番に説明していこう。
まず、Aレコード。
Aってどういう意味です?
アドレスだ。
これはもっとも基本となるリソースレコードだ。
基本となる…。
Aレコードはドメイン名とIPアドレスの対応を記述する。
例えば…。
[Figure64-01:ホストとIPアドレス]
このような3つのホストを持つ3min.co.jpがある場合、3min.co.jpのネームサーバは以下の3つのレコードを持つ。
名前 | タイプ | クラス | RDATA |
---|---|---|---|
www | A | IN | 192.168.0.1 |
ftp | A | IN | 192.168.0.2 |
A | IN | 192.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.jp | NS | IN | ns.3min.co.jp |
ex | NS | IN | ns.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 |
---|---|---|---|
ns | A | IN | 192.168.0.100 |
ns.ex | A | IN | 192.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 |
---|---|---|---|
www | A | IN | 192.168.0.1 |
ftp | CNAME | IN | www.3min.co.jp |
[Table64-04:CNAMEレコードの記述]
え〜っと。「ftpの標準名はwww.3min.co.jp」である、という意味でいいんですか?
そういうことだな。
必ず「www」が標準名になるんですか?
いや、これはドメインの管理者が決定する。
このCNAMEレコードもやはり標準名のAレコードが必要だ。
またまたセットのお値段ですね。
■ SOAレコード
次はSOAレコード。
すたーとおぶおーそりてぃ?
オーソリティのスタート? オーソリティ?
オーソリティはゾーンの情報をすべて持つホストという意味だが、まぁ簡単にゾーンと同じ意味と思ってくれればいい。
ゾーンと同じ意味…。ゾーンの開始?
ゾーン情報の管理パラメータを示すレコードだ。
これはSOAレコードの中身を見てもらった方が早い。
名前(Name) | 可変長 | そのドメインの名前 | |
タイプ(Type) | 16ビット | SOA | |
クラス(class) | 16ビット | IN | |
TTL | 32ビット | キャッシュ時間(秒) | |
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.arpa | PTR | IN | www.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.jp | MX | IN | 10 mail.3min.co.jp |
3min.co.jp | MX | IN | 30 mail2.3min.co.jp |
A | IN | 192.168.0.3 | |
mail2 | A | IN | 192.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レコードはそのドメインのメールサーバを記述する。