Документ взят из кэша поисковой машины. Адрес оригинального документа : http://mirror.msu.net/pub/rfc-editor/rfc-ed-all/pdfrfc/rfc1464.txt.pdf
Дата изменения: Wed Mar 27 23:11:02 2002
Дата индексирования: Tue Oct 2 18:37:57 2012
Кодировка:
Network Working Group Request for Comments: 1464

R. Rosenbaum 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. 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. This paper describes a simple information (ASCII text) with by the DNS. It uses DNS TXT information. It requires no 1. Introduction 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. This paper proposes in STD 13, RFC 1035) principal advantage to most existing DNS process by which new 2. the use of the DNS TXT resource record (defined to contain new types of information. The of such an approach is that it requires no change servers. It is not intended to replace the resource records are defined and implemented. means to associate arbitrary string attributes that have not been defined resource records to store the change to current DNS implementations.

Format of TXT record To store new format in its name followed separated by types of information, the TXT record uses a structured TXT-DATA field. The format consists of the attribute by the value of the attribute. The name and value are an equals sign (=).

Rosenbaum

[Page 1]


RFC 1464

Storing Arbitrary Attributes in DNS

May 1993

For example, the following TXT records contain attributes specified in this fashion: host.widgets.com sam.widgets.com The general syntax is: TXT "=" Attribute Names Any printable ASCII character If an equals sign is embedded quoted with a preceding grave backquote must also be quoted 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". 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. Leading and trailing whitespace (spaces and tabs) in the attribute name are ignored unless they are quoted (with a "`"). For example, "abc" matches " abc" but does not match "` 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 "\\\\"). Attribute Values All printable ASCII characters are permitted in No characters need to be quoted with a "`". In first unquoted equals sign in the TXT record is delimiter. All subsequent characters are part the attribute value. other words, the the name/value of the value. is permitted for the attribute name. in the attribute name, it must be accent (or backquote: "`"). A with an additional "`". IN IN TXT TXT "printer=lpr5" "favorite drink=orange juice"

Once again, note that in most implementations the backslash character is an active quoting character (and must, itself, be quoted).

Rosenbaum

[Page 2]


RFC 1464

Storing Arbitrary Attributes in DNS

May 1993

All whitespace in the attribute value is returned to the requestor (it is up to the application to decide if it is significant.) Examples indicates a space character. Attribute Name color equation a=a a\=a false = string string2 novalue ab abc 3. Attribute Value blue a=4 true \= "Cat" `abc` cd 123 Internal Form (server to resolver) External Form (TXT record)

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

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

Application Usage 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: getattributebyname(objectname, attributename, attributevalue, attributevaluelen) name of name of pointer length object attribute to buffer 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 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.

Rosenbaum

[Page 3]


RFC 1464

Storing Arbitrary Attributes in DNS

May 1993

5.

Restrictions 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.

6.

REFERENCES and BIBLIOGRAPHY [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 Security issues are not discussed in this memo.

8. Author's Address Rich Rosenbaum Digital Equipment Corporation 550 King Street, LKG2-2/Z7 Littleton, MA 01460-1289 Phone: 508-486-5922 Email: rosenbaum@lkg.dec.com

Rosenbaum

[Page 4]