3. 用語 (Terminology)
本書では、キーワード "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、 "SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY"、"OPTIONAL" は RFC 2119 [RFC2119] に記述されたとおりに解釈されます。
本書では以下の定義を使用します:
名前 (Name): 名前はラベルの並びです。DNS ツリーのルートは「ルート (the root)」と呼ばれ、 長さゼロのラベル ("") として書かれます。DNS 内のノードの完全修飾ドメイン名 (FQDN) は、そのノードからルートまでのパス上のすべてのラベルをドット (".") で 区切って連結したもので、ルート自体は名前の末尾のドットで示されます。「連結」 とは、ラベルが (葉からルートへと) ルートからノードへのパスをたどるラベルの 順序とは逆順に並べられることを意味します。FQDN が (ラベルの並びではなく) 文字の並びとして書かれる場合、すべてのラベルは同じ大文字または小文字で表され ます。
ラベル (Label): ラベルはドメイン名の個別の構成要素です。ドメイン名のドット区切り文字列表記 では、ラベルはドットで区切られた文字列です。なお、この文脈ではラベルの長さは 文字数 (バイトやオクテットではない) で測られます。ラベルの最大長は 63 文字です。 ラベルのテキスト表現は、それを表す文字列です。ラベルには 2 種類あります。 第 11 節で定義される「データ」ラベルと、RFC1035 の 4.1.4 節で説明される 「圧縮」ラベルです。
ドメイン名 (Domain Name): ドメイン名はドメインネームシステムにおける名前です。ドメイン名はラベルの並び であり、ドットで区切られたラベルの並びとして書かれます。ドメイン名がルート ラベルを含む (つまりドットで終わる) 場合、「絶対的」(または「完全修飾」) である と言われます。ルートラベルを含まない場合は「相対的」と言われます。
リソースレコード (RR, Resource Record): リソースレコードは、RFC1035 で定義される特定の構造を持ち、ゾーンファイル (または DNS) に含まれるデータ構造の一類です。RR は NAME、TYPE、CLASS、TTL、 RDLENGTH、RDATA の各フィールドから構成されます。
リソースレコードセット (RRSet, Resource Record Set): RRSet は、同じ NAME、CLASS、TYPE を持つ 1 つ以上の RR の集合です。RRSet 内の すべての RR の TTL は同じでなければなりません (第 5.2 節参照)。
ゾーン (Zone): ゾーンはドメインの集合であり、特定のデータファイルに実装され、特定のネーム サーバーによって管理されます。ゾーンは (多くの場合そうですが) 単一のドメイン であり得ますし、ドメインの集合であり得ます。本書の目的において重要なのは、 ゾーンが管理制御の単位であるという点です。すなわち、ゾーンは変更が単一の主体に よって制御される最小のドメイン集合です。これはまた、転送の単位 (RFC1034 第 6 節参照) およびキャッシュの単位でもあります。
権威 (Authoritative): ゾーンの権威サーバーとは、そのゾーンのデータを持つサーバーです。応答がその ゾーンの権威サーバーから来た場合、その応答は権威的です。応答がそのゾーンの権威 サーバー以外のサーバーから来た場合、あるいはキャッシュから来た場合、その応答は 権威的ではありません。
キャッシュ (Cache): キャッシュは DNS の一部のローカルコピーであり、リゾルバによって維持され、頻繁に 使用される可能性のあるデータに対する DNS への問い合わせを排除することで DNS の 負荷を軽減するために使用されます。キャッシュには権威データは含まれません。
リゾルバ (Resolver): リゾルバは DNS から情報を取り出すために使用されるプログラムです。リゾルバは スタブリゾルバ (すべての問い合わせを再帰リゾルバに転送する) であることも、再帰 リゾルバ (自ら問い合わせを実行する) であることもあります。