この文書はRFC1464の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。


Network Working Group                                       R. Rosenbaum
Request for Comments: 1464                 Digital Equipment Corporation
                                                                May 1993


                     Using the Domain Name System
                  To Store Arbitrary String Attributes
                    任意の文字列属性を記憶するための
                      ドメインネームシステムの使用


Status of this Memo
この文書の状態


   This memo defines an Experimental Protocol for the Internet
   community.  Discussion and suggestions for improvement are requested.
   Please refer to the current edition of the "IAB Official Protocol
   Standards" for the standardization state and status of this protocol.
   Distribution of this memo is unlimited.
   このメモはインターネット共同体のための実験的なプロトコルを定義します。
   論議と改良点のための提案が求められます。標準化状態とこのプロトコル状
   態は「IAB公式プロトコル標準」を参照してください。このメモの配布は
   無制限です。


Abstract
概要


   While the Domain Name System (DNS) [2,3] is generally used to store
   predefined types of information (e.g., addresses of hosts), it is
   possible to use it to store information that has not been previously
   classified.
   ドメインネームシステム(DNS)[2,3]が前もって定められた種類の情報
   (例えば、ホストのアドレス)を登録するために一般的に使われているが、
   前もって分別していない情報を登録するためにこれを使うことも可能です。

   This paper describes a simple means to associate arbitrary string
   information (ASCII text) with attributes that have not been defined
   by the DNS.  It uses DNS TXT resource records to store the
   information.  It requires no change to current DNS implementations.
   この文書は任意の文字列情報(ASCIIテキスト)をDNSで定義されな
   かった属性と結び付ける単純な手段を記述します。これは情報を登録するた
   めにDNSのTXT資源レコードを使います。それは現在のDNS実装に対
   する変更を必要としません。

1.  Introduction
1.  はじめに

   The Domain Name System is designed to store information that has both
   a predefined type and structure.  Examples include IP addresses of
   hosts and names of mail exchangers.  It would be useful to take
   advantage of the widespread use and scaleability of the DNS to store
   information that has not been previously defined.
   ドメインネームシステムは前もって定められたタイプと構造の情報を登録す
   るよう意図されます。例えばホストのIPアドレスと、メール交換を含みま
   す。前もって定義されていない情報を登録するためのDNSの広範囲にわた
   る使用とスケーラビリティを利用することは有用であるでしょう。

   This paper proposes the use of the DNS TXT resource record (defined
   in STD 13, RFC 1035) to contain new types of information.  The
   principal advantage of such an approach is that it requires no change
   to most existing DNS servers.  It is not intended to replace the
   process by which new resource records are defined and implemented.
   この文書は新しいタイプの情報を含めるための(STD13、 RFC1035で定
   義された)DNSのTXT資源レコードの使い方を提案します。このような
   アプローチの主な利点は、これがたいていの既存のDNSサーバーに対する
   変更を必要としないということです。新しい資源レコードの定義や、それに
   よるプロセス変更は意図されません。

2.  Format of TXT record
2.  TXTレコードのフォーマット


   To store new types of information, the TXT record uses a structured
   format in its TXT-DATA field.  The format consists of the attribute
   name followed by the value of the attribute.  The name and value are
   separated by an equals sign (=).
   新しいタイプの情報を登録するために、TXTレコードはTXT−DATA
   フィールドで構造化されたフォーマットを使います。フォーマットは属性名
   と続く特質値から成り立ちます。名前と値は等号( = )で分離されます。

   For example, the following TXT records contain attributes specified
   in this fashion:
   例えば、次のTXTレコードはこの様式で指定された属性を含んでいます:

        host.widgets.com   IN   TXT   "printer=lpr5"
        sam.widgets.com    IN   TXT   "favorite drink=orange juice"

   The general syntax is:
   一般的な構文論は以下です:

        <owner> <class> <ttl> TXT "<attribute name>=<attribute value>"

   Attribute Names
   属性名


   Any printable ASCII character is permitted for the attribute name.
   If an equals sign is embedded in the attribute name, it must be
   quoted with a preceding grave accent (or backquote: "`").  A
   backquote must also be quoted with an additional "`".
   属性名に任意の印刷可能文字が認められます。もし等号が特質名に埋め困れ
   るなら、アクセント記号(あるいはバッククォート:"`")で引用されなくて
   はなりません。バッククォートも追加の"`"で引用されなくてはなりません。

   Attribute Name Matching Rules
   属性名一致規則

   The attribute name is considered case-insensitive.  For example, a
   lookup of the attribute "Favorite Drink" would match a TXT record
   containing "favorite drink=Earl Grey tea".
   属性名は大文字小文字の違いを無視すると思われます。例えば、属性
   "Favorite Drink"の検索は、"favorite drink=Earl Grey tea"を含むTXT
   レコードと一致するでしょう。

   During lookups, TXT records that do not contain an unquoted "=" are
   ignored.  TXT records that seem to contain a null attribute name,
   that is, the TXT-DATA starts with the character "=", are also
   ignored.
   検索の間、引用でない"="を含まないTXTレコードは無視します。ヌル属性
   名を含んでいるように思われるTXTレコード、すなわち、"="文字で始まる
   TXT−DATAも無視します。

   Leading and trailing whitespace (spaces and tabs) in the attribute
   name are ignored unless they are quoted (with a "`").  For example,
   "abc" matches " abc<tab>" but does not match "` abc".
   属性名の先頭と末尾の空白は("`"で)引用されていなければ無視します。例
   えば、"abc"が" abc<tab>"と一致しますが、"` abc"と一致しません。

   Note that most DNS server implementations require a backslash (\) or
   double quote (") in a text string to be quoted with a preceding
   backslash.  Accent grave ("`") was chosen as a quoting character in
   this syntax to avoid confusion with "\" (and remove the need for
   confusing strings that include sequences like "\\\\").
   たいていのDNSサーバ実装が引用テキスト文字列内のバックスラッシュ
   (\)やダブルクォートの前にバックスラッシュを必要とすることを指摘しま
   す。この文法でアクセント("`")を引用文字に選んでいるのは、"\"の混乱
   を避けるためです(紛らわしい"\\\\"の様な文字列を避けるためです)。

   Attribute Values
   属性値

   All printable ASCII characters are permitted in the attribute value.
   No characters need to be quoted with a "`".  In other words, the
   first unquoted equals sign in the TXT record is the name/value
   delimiter.  All subsequent characters are part of the value.
   すべての印字可能ASCII文字が属性値で認められます。"`"で引用される
   べき文字がありません。換言すれば、TXTレコードの最初の引用されてい
   ない等号は名前と値の区切りです。すべての続く文字は値の一部です。

   Once again, note that in most implementations the backslash character
   is an active quoting character (and must, itself, be quoted).
   もう1度、たいていの実装でバックスラッシュ文字が能動引用文字(そして、
   それ自身引用されなくてはならない)ことをを指摘します。

   All whitespace in the attribute value is returned to the requestor
   (it is up to the application to decide if it is significant.)
   すべての属性値の空白が要求者に返されます(それが重要かどうかはアプリ
   ケーションが決めます)。

   Examples


   <sp> indicates a space character.
   <sp>が空白文字を示します。

   Attribute    Attribute       Internal Form           External Form
   Name         Value           (server to resolver)    (TXT record)
   属性名       属性値          内部表                  外部表現
                               (サーバからリゾルバ)   (TXTレコード)

   color        blue            color=blue              "color=blue"
   equation     a=4             equation=a=4            "equation=a=4"
   a=a          true            a`=a=true               "a`=a=true"
   a\=a         false           a\`=a=false             "a\\`=a=false"
   =            \=              `==\=                   "`==\\="
   string       "Cat"           string="Cat"            "string=\"Cat\""
   string2      `abc`           string2=``abc``         "string2=``abc``"
   novalue                      novalue=                "novalue="
   a b          c d             a b=c d                 "a b=c d"
   abc<sp>      123<sp>         abc` =123<sp>           "abc` =123 "

3.  Application Usage
3.  アプリケーション使用法

   The attributes can be accessed by the standard resolver library, but
   it is recommended that a library routine designed specially for this
   attribute format be used.  Such a routine might provide an analogue
   to gethostbyname:
   属性は標準リゾルバライブラリでアクセスできますが、特別にこの属性フォー
   マットのために設計されたライブラリルーチンが使われることが勧められま
   す。このようなルーチンはgethostbynameと類似かもしれません:


         getattributebyname(objectname,          name of object
                                                 オブジェクト名
                            attributename,       name of attribute
                                                 属性名
                            attributevalue,      pointer to buffer
                                                 バッファへのポインタ
                            attributevaluelen)   length of buffer
                                                 バッファ長

   This routine would remove all quoting characters before returning the
   information to the caller.  A more complex routine could return
   attributes with multiple values, or several different attributes.
   このルーチンは呼び出し人に情報を返す前に引用文字をすべてを取り去るで
   しょう。より複雑なルーチンが多数の値を持っている属性や、複数の異なっ
   た属性を返せます。

4.  Attribute Name Registration
4.  属性名前登録

   To permit ease of interoperability and to reduce the chance of naming
   conflicts, a registration process for well known attribute names
   might be established.  This could be a periodically updated list of
   names and/or adherence to other name registration mechanisms such as
   published object identifiers.
   互換性の容易さを認めて、競合する命名を減らすため、よく知られている属
   性名の登録プロセスが確立されるかもしれません。これは周期的に更新され
   るリスト化、公的オブジェクト識別子のような名前登録メカニズムかもしれ
   ません。

   This paper does not address attribute name registration.
   この文章は属性名の登録を扱いません。

5.  Restrictions
5.  制限

   Some DNS server implementations place limits on the size or number of
   TXT records associated with a particular owner.  Certain
   implementations may not support TXT records at all.
   あるDNSサーバ実装が特定の所有者と結び付いたTXTレコードの大きさ
   か数に制限をします。ある特定の実装がまったくTXTレコードをサポート
   しないかもしれません。


6.  REFERENCES and BIBLIOGRAPHY
6.  参考文献と文献目録

   [1] Stahl, M., "Domain Administrators Guide", RFC 1032, Network
       Information Center, SRI International, November 1987.

   [2] Mockapetris, P., "Domain Names - Concepts and Facilities", STD
       13, RFC 1034, USC/Information Sciences Institute, November 1987.

   [3] Mockapetris, P., "Domain Names - Implementation and
       Specification", STD 13, RFC 1035, USC/Information Sciences
       Institute, November 1987.

   [4] Mockapetris, P., "DNS Encoding of Network Names and Other Types",
       RFC 1101, USC/Information Sciences Institute, April 1989.

7.  Security Considerations
7.  セキュリティの考察

   Security issues are not discussed in this memo.
   セキュリティ問題がこのメモで論じられません。

8. Author's Address
8. 著者のアドレス

   Rich Rosenbaum
   Digital Equipment Corporation
   550 King Street, LKG2-2/Z7
   Littleton, MA  01460-1289

   Phone: 508-486-5922
   Email: rosenbaum@lkg.dec.com

Japanese translation by Ishida So