RFC 2937 - The Name Service Search Option for DHCP
Network Working Group C. Smith Request for Comments: 2937 Sun Microsystems, Inc. Category: Standards Track September 2000 The Name Service Search Option for DHCP Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract This document defines a new Dynamic Host Configuration Protocol (DHCP) option which is passed from the DHCP Server to the DHCP Client to specify the order in which name services should be consulted when resolving hostnames and other information. Introduction The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCP/IP network. RFC 2132  allows DHCP servers to specify configuration information for various kinds of name services to be passed to DHCP clients. Many clients use multiple name services and have crafted their own conventions that allow an individual host to express the order among the various name services with which lookups are done. However, no search order can be specified via DHCP. The purpose of this document is to allow DHCP servers to specify the search order to be used by DHCP clients. To avoid the need for inventing and maintaining a separate name space for this option, we rely on the existence of previously-defined DHCP options that specify the IP address(es) of servers which provide name services whose order we wish to express. Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 . This document also uses the following terms: "DHCP client" DHCP client or "client" is an Internet host using DHCP to obtain configuration parameters such as a network address. "DHCP server" A DHCP server or "server" is an Internet host that returns configuration parameters to DHCP clients. Name Service Search Option Format The code for this option is 117, and its minimum length is 2 bytes. A DHCP server SHOULD return, in its preferred order, the 16-bit, network byte order (big-endian ) integer option code for the name services (the earlier in the list, the more preferred the name service). Code Length Name Service Search Order in Sequence 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 117 | Len | ns1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ns2 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ In the above diagram, ns1 and ns2 are 16-bit integers corresponding to two DHCP options which specify the IP addresses of two different types of name server. The current list of name services and their DHCP option codes, taken from RFC 2132, includes Name Service Value Domain Name Server Option 6 Network Information Servers Option 41 NetBIOS over TCP/IP Name Server Option 44 Network Information Service+ Servers Option 65 A name service option code of 0 is used to indicate that the client should refer to local naming information (e.g., an /etc/hosts file on a UNIX machine). A DHCP server wishing to express that a client should first search DNS, then NIS+, would send 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 117 | 4 | 6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 65 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ DHCP Client Behavior The DHCP client will use this option to create a search list for name resolution. The client may receive name services in this option that it does not support or has not been configured to access. Likewise, a client may receive an option that lists name services for which no corresponding DHCP option was supplied. Clients will interpret this option in a system-specific manner whose specification is outside the scope of this document. Security Considerations DHCP currently provides no authentication or security mechanisms. Potential exposures to attack are discussed in section 7 of the DHCP protocol specification . IANA Considerations IANA has assigned a value of 117 for the DHCP option code described in this document. References  Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997.  Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, March 1997.  Bradner, S., "Key words for use in RFCs to indicate requirement levels", BCP 14, RFC 2119, March 1997.  Cohen, D., "On Holy Wars and a Plea for Peace", Computer, IEEE, October 1981. Author's Address Carl Smith Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94043 EMail: cs@Eng.Sun.COM Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.