Solaris ネーミングの管理

XFN リファレンス用 DNS 文書レコードの書式

Solaris の環境は、DNS 内で広域ネーミングシステムをフェデレートさせるための XFN 規格に準拠しています。DNS でネーミングシステムをフェデレートさせるには、DNS TXT リソースレコードに情報を入力する必要があります。この情報は、従属ネーミングシステム用に XFN リファレンスを作成するために使用されます。この付録では、これらの DNS TXT レコードの書式について説明します。

XFN リファレンスのリファレンスタイプは、XFNREF というタグで始まる TXT レコードから作成します。書式は以下の通りです。


TXT "XFNREF rformat  reftype"

TXT の後に続く文字列の中にスペースが存在する場合、そのスペースを削除するか、文字列全体を引用符 (" ") で囲む必要があります。XFNREFrformatreftype という 3 つのフィールドは、スペース (スペースとタブ) で区切ります。rformat は、リファレンスタイプの識別子の書式を指定します。種類は次のとおりです。

reftype は、リファレンスタイプの識別子の内容を指定します。

XFNREF レコードが存在しない場合、リファレンスタイプはデフォルト設定により FN_ID_STRING を持つ XFN_SERVICE 識別子になります。2 つ以上の XFNREF TXT レコードが存在する場合、どのレコードが処理されるかは不定です。以下の TXT レコードはデフォルト設定の XFNREF と同じ働きをします。


TXT "XFNREF STRING XFN_SERVICE"

XFN リファレンスのアドレス情報は、XFN 文字列を接頭語にしたタグを持つ TXT レコードを使用して作成します。1 つのリファレンスに複数のアドレスを指定することもできます。同じタグを持つレコードはグループにまとめられ、グループごとにハンドラに渡されます。各ハンドラは渡された TXT レコードからアドレス (複数あるいは、ない場合もある) を作成し、リファレンスに付加します。XFNREF タグの場合は特別で、リファレンスタイプを作成するためにだけ使用されるため、アドレス作成の過程からは除外されます。

TXT レコードのアドレスを指定する構文は次のとおりです。


XFNaddress_type_tag   address_specific_data

XFN_address_type_tagaddress_specific_data という 2 つのフィールドは、スペース (スペースとタブ) で区切ります。address_type_tag は、address_specific_data に使用するハンドラを指定します。

TXT レコードには 1 レコードにつき 2 K バイトという文字の制限があります。特定のアドレスのデータが長すぎて 1 つの TXT レコードに格納できない場合は、以下のように複数の TXT レコードを使用できます。


TXT "XFNaddress_type_tag address_specific_data1"
TXT "XFNaddress_type_tag address_specific_data2"  

特定のタグのハンドラが呼び出され、両方のデータが渡されます。ハンドラはこれら 2 行を解釈する順番を決定します。

TXT レコードの順番はあまり重要ではありません。異なるタグを持つ行がある場合、特定のタグのハンドラが呼び出される前に、同じタグを持つ行はグループにまとめられます。以下の例では、tag1 のハンドラは 2 つの文書行で呼び出され、tag2 のハンドラは 3 つの文書行で呼出されます。


TXT "XFNtag1 address_specific_data1"
TXT "XFNtag2 address_specific_data2"
TXT "XFNtag1 address_specific_data3"
TXT "XFNtag2 address_specific_data4"
TXT "XFNtag2 address_specific_data5"

XFN リファレンスに使用できる TXT レコードの例を以下に示します。

「例 1」


TXT "XFNREF STRING XFN_SERVICE"
TXT "XFNNISPLUS doc.com. nismaster 129.144.40.23"

「例 2」


TXT "XFNREF OID 1.3.22.1.6.1.3"
TXT "XFNDCE (1 fd33328c4-2a4b-11ca-af85-09002b1c89bb...)"

以下は、従属ネーミングシステムがバインドされた DNS テーブルの例です。


$ORIGIN test.doc.com
@      IN SOA foo root.eng.doc.com          (
                    100    ;; Serial
                    3600   ;; Refresh
                    3600   ;; Retry
                    3600   ;; Expire
                    3600   ;; Minimum
            )
         NS    nshost
         TXT   "XFNREF STRING XFN_SERVICE"
         TXT   "XFNNISPLUS doc.com. nismaster 129.144.40.23"
nshost IN  A 129.144.40.21