Network Working Group H. Schulzrinne Internet-Draft Columbia U. Intended status: Standards Track J. Polk Expires: March4,31, 2007 Cisco H. Tschofenig SiemensAugust 31,September 27, 2006 A Dynamic Host Configuration Protocol (DHCP) based Location-to-Service Translation Protocol (LoST) Discovery Proceduredraft-polk-ecrit-dhc-lost-discovery-00.txtdraft-polk-ecrit-dhc-lost-discovery-01.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March4,31, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Abstract The Location-to-Service Translation Protocol (LoST) describes an XML- based protocol for mapping service identifiers and geospatial or civic location information to service contact Uniform Resource Locators (URLs). LoST servers can be located anywhere but a placement closer to the end host, e.g., in the access network, is desireable. Such a LoST server placement provides benefits in disaster situations with intermittent network connectivity regarding the resiliency of emergency service communication. This document describes how a LoST client can discover a LoST server using the Dynamic Host Configuration Protocol (DHCP). Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . .4 3. LoST Server DHCPv4 Option . . . . . . . . . . . . . . . . ..5 3.1. LoST Servers3 3. Domain NameList . . . . . . .Encoding . . . . . . .5 3.2. LoST Servers IPv4 Address List. . . . . . . . . . . . . .63 4. LoST ServerDHCPv6DHCPv4 Option . . . . . . . . . . . . . . . . . .8 4.1. LoST Servers Domain Name List. 4 5. LoST Server DHCPv6 Option . . . . . . . . . . . . .8 4.2. LoST Servers IPv6 Address List. . . . . . 4 6. Example . . . . . . . .9 4.3. Client Operation. . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations .10 4.4. Server Operation. . . . . . . . . . . . . . . . . . . . .10 5.5 7.1. IANAConsiderationsConsideration for DHCPv4 Option . . . . . . . . . . . 6 7.2. IANA Consideration for DHCPv6 Option . . . . . . . . . . .11 6.6 8. Security Considerations . . . . . . . . . . . . . . . . . . .12 7.. 6 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .13 8.6 10. References . . . . . . . . . . . . . . . . . . . . . . . . . .14 8.1.6 10.1. Normative References . . . . . . . . . . . . . . . . . . .14 8.2.6 10.2. Informative References . . . . . . . . . . . . . . . . . .147 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .168 Intellectual Property and Copyright Statements . . . . . . . . . .179 1. Introduction The Location-to-Service Translation Protocol (LoST) [I-D.ietf-ecrit-lost] describes an XML-based protocol for mapping service identifiers and geospatial or civic location information to service contact Uniform Resource Locators (URLs). In order toquery theinteract with a LoST server, the LoST client finally needs to know its IP address. Several mechanisms can be used to learn this address, including manual configuration. Insomeenvironments whereDHCP is used andthelocalaccessnetworksnetwork itself either deploys a LoST server or knowsthe address or host name ofa third partyprovidedthat operates a LoSTserver,server DHCP can provide the end host withthis information.a domain name. This domain name is then used as input to the DNS-based resolution mechanism described in LoST [I-D.ietf-ecrit-lost] that reuses the URI-enabled NAPTR specification (see [I-D.daigle-unaptr]). This document specifies a DHCPv4 and a DHCPv6 option that allows LoST clients to discover local LoST servers. Section 2 provides terminology. Section34 describes the DHCPv4 option while Section45 describes the DHCPv6 option, with the same functionality. IANA and Security Considerations complete the document in Section57 and Section6.8. 2. Terminology In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [RFC2119]. Within this document, we use terminology from [I-D.ietf-ecrit-requirements] and [I-D.ietf-ecrit-lost]. 3.LoST Server DHCPv4 Option The LoST server DHCP option carries either a 32-bit (binary) IPv4 address or, preferably, a DNS (RFC 1035 [RFC1035]) fully-qualified domain name to be used by the LoST client to locate a LoST server.Domain Name Encoding Thisoption has two encodings, specified by the encoding byte ('enc') that follows the code byte. Ifsection describes the encodingbyte has the value 0, it is followed by a listofdomain names. If the encoding byte has the value 1, it is followed by one or more IPv4 addresses (Section 3.2). All implementations MUST support both encodings. The 'Len' field indicatesthetotal number of octetsdomain name used in the DHCPv4 optionfollowing the 'Len' field, including the encoding byte. A DHCP server MUST NOT mix the two encodingsshown inthe same DHCP message, even if it sends two different instances of the same option. Attempts to do so would resultSection 4 and also used inincorrect client behavior as DHCP processing rules call for the concatenation of multiple instances of an option into a single option prior to processingthe DHCPv6 option[RFC3396].shown in Section 5. Thecode for this option is TBD. 3.1. LoST Servers Domain Name List If the 'enc' byte has a value of 0, the encoding bytedomain name isfollowed by a sequence of labels,encoded according to Section 3.1 of RFC 1035[RFC1035], quoted below: Domain names in messages are expressed in terms of a sequence of labels. Each[RFC1035] whereby each label is represented as a one octet length field followed by that number of octets.Since everyThe domain name ends with the null label of the root, a domain name is terminated by a length byte of zero. The high order two bits of every length octet must be zero, and the remaining six bits of the length field limit the label to 63 octets or less. To simplify implementations, the total length of a domain name (i.e., label octets and label length octets) is restricted to 255 octets or less. RFC 1035 [RFC1035] encoding was chosen to accommodate future internationalized domain name mechanisms.The minimum length for this encoding is 3. The option MAY contain multiple domain names, but these SHOULD refer to different NAPTR records, rather than different A records. The client MUST try the records in the order listed. The client only resolves the subsequent domain names if attempts to contact the first one failed or yielded no common transport protocols between client and server or denote a domain administratively prohibited by client policy. Use of multiple domain names is not meant to replace NAPTR (?TBD?) and SRV records, but rather to allow a single DHCP server to indicate LoST servers operated by multiple providers. Clients MUST support compression according to the encoding in Section 4.1.4 ("Domain Names - Implementation And Specification") of [RFC1035]. Since the domain names are supposed to be different domains, compression will likely have little effect, however.For DHCPv4 only: If the length of the domainlistname exceeds the maximum permissible within a single option(254(i.e., 254 octets), then the domainlistname MUST be represented in the DHCP message as specified in [RFC3396].The DHCP option for this encoding has the following format: Code Len enc DNS name of LoST server +-----+-----+-----+-----+-----+-----+-----+-----+-- | TBD | n | 0 | s1 | s2 | s3 | s4 | s5 | ... +-----+-----+-----+-----+-----+-----+-----+-----+-- Figure 1:4. LoSTFQDNServer DHCPv4 OptionAs an example, consider the case where the server wants to offer two LoST servers, "example.com" and "example.net". These would be encoded as follows: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ |TBD|27 | 0 | 7 |'e'|'x'|'a'|'m'|'p'|'l'|'e'| 3 |'c'|'o'|'m'| 0 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+ | 7 |'e'|'x'|'a'|'m'|'p'|'l'|'e'| 3 |'n'|'e'|'t'| 0 | +---+---+---+---+---+---+---+---+---+---+---+---+---+ Figure 2: Example for aThe LoSTFQDNserver DHCPv4Option 3.2. LoST Servers IPv4 Address List If the 'enc' byte has a value of 1, the encoding byte is followed byoption carries alist of IPv4 addresses indicating LoST servers availableDNS (RFC 1035 [RFC1035]) fully-qualified domain name tothe client. Servers MUSTbelisted in order of preference. Its minimum length is 5, andused by thelength MUST beLoST client to locate amultiple of 4 plus one. The offset is measured from the beginning of the option.LoST server. The DHCP option for this encoding has the following format: Code Lenenc Address 1 Address 2 +-----+-----+-----+-----+-----+-----+-----+-----+--LoST Server Domain Name +-----+-----+-----+-----+-----+-----+-----+---- | TBD | n |1 | a1s1 |a2s2 |a3s3 |a4s4 |a1s5 | ...+-----+-----+-----+-----+-----+-----+-----+-----+--+-----+-----+-----+-----+-----+-----+-----+---- Figure3:1: LoSTIP Address(es)FQDN DHCPv4 Option4. LoSTCode: OPTION_LOST (TBD1) Len: Length of the 'LoST ServerDHCPv6 Option This document defines two DHCPv6 options that describe a localDomain Name' field in octets; variable. LoSTserver: one carries a list ofserver Domain Name: The domainnames (see Section 4.1), the other a list of 128-bit (binary) IPv6 addresses (see Section 4.2). Since DHCPv6 does not suffer from a shortagename ofoption codes, we avoidtheencoding byte found in the IPv4 DHCP option forLoSTservers (see Section 3). This makes the option shorter, easier to parse, simplifies appropriate word alignmentserver for thenumeric addresses and allows theclient torequest either numeric or domain name options using the "option request option". An implementation implementing this specification MUST support both options described in Section 4.1 and in Section 4.2. 4.1. LoST Servers Domain Name Listuse. Theoption length is followed by a sequence of labels, encoded according to Section 3.1 of RFC 1035 [RFC1035], quoted below: "Domain names in messages are expressed in terms of a sequence of labels. Each label is represented as a one octet length field followed by that number of octets. Since every domain name ends with the null labelencoding of theroot, adomain name isterminated by a length byte of zero. The high order two bits of every length octet must be zero, and the remaining six bits of the length field limit the label to 63 octets or less. To simplify implementations, the total length ofdescribed in Section 3. Only a single domain name(i.e., label octets and label length octets) is restricted to 255 octets or less." RFC 1035 [RFC1035] encoding was chosen to accommodate future internationalized domain name mechanisms. The option MAY contain multiple domain names, but these SHOULD refer to different NAPTR records, rather than different A records. The clientMUSTtry the recordsbe present in theorder listed. The client only resolves the subsequent domain names if attempts to contact the first one failed or yielded no common transport protocols between client and server or denoteDHCPv4 option. 5. LoST Server DHCPv6 Option This document defines adomain administratively prohibited by client policy. Domain names MUST be listed in order of preference. Use of multiple domain names is not meant to replace NAPTR or SRV records, but ratherDHCPv6 options toallowcarry asingle DHCP server to indicate LoST servers operated by multiple providers.domain name. The DHCPv6 option has the format shown in Figure4.3. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OPTION_LOST_SERVER_DOPTION_LOST | option-length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LoST Server Domain NameList| | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure4:3: DHCPv6 Option for LoST Server Domain Name List option-code:OPTION_LOST_SERVER_D (TBD)OPTION_LOST (TBD2) option-length: Length of the 'LoST Server DomainName List'Name' field in octets; variable. LoST server DomainName List:Name: The domainnames of LoST servers for the client to use. The domain names are encoded as specified in Section 8 ("Representation and use of domain names") of the DHCPv6 specification [RFC3315]. 4.2. LoST Servers IPv6 Address List This option specifies a list of IPv6 addresses indicating LoST servers available to the client. Servers MUST be listed in order of preference. The DHCPv6 option has the format shown in Figure 6. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_LOST_SERVER_A | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | LoST server (IP address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | LoST server (IP address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6: DHCPv6 Option for LoST Server IPv6 Address List option-code: OPTION_LOST_SERVER_A (TBD) option-length: Lengthname of the'options' field in octets; must be a multiple of 16. LoST server: IPv6 address of aLoST server for the client to use.The servers are listed in the order of preference for use by the client. 4.3. Client OperationA DHCPv6 client may requesteither or both of the LoST Servers Domain Name List anda LoSTIPv6 Address List optionsserver domain name in an Options Request Option (ORO) as described in[RFC3315], If a client receives both the LoST Servers Domain Name List and LoST Servers IPv6 Address List options, it SHOULD use[RFC3315]. The encoding of theLoST Servers Domain Name List option. Only if no serverdomain name is described inthe LoST Servers Domain Name List canSection 3. Only a single domain name MUST beresolved or reached, the client MAY usepresent in theLoST Servers IPv6 Address ListDHCPv6 option.4.4. Server Operation A server MAY send a client one or both6. Example This section shows an example ofthe LoST Servers Domain Name List and LoST Servers IPv6 Address List options. Ifaclient requests both options and the server is configured for both, the server MAY send a client only one of these options and SHOULD sendDHCPv4 option where theLoST Servers Domain Name List. ADHCP serverconfigured withwants to offer theLoST Servers IPv6 Address List option MUST send a client"example.com" domain name to theLoST Servers IPv6 Address List option if thatclientrequested the LoST Servers IPv6 Address List option and not the LoST Servers Domain Name List option in an ORO (see [RFC3315]). The following table summarizesas input to theserver's response: Client sends in ORO Domain Name List IPv6 Address List __________________________________________________________________ Neither option SHOULD MAYU-NAPTR LoSTServers Domain Name List SHOULD MAYdiscovery procedure. This domain name would be encoded as follows: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ |TBD|13 | 7 |'e'|'x'|'a'|'m'|'p'|'l'|'e'| 3 |'c'|'o'|'m'| 0 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ Figure 5: Example for a LoSTServers IPv6 Address List MAY MUST Both options SHOULD MAY 5.FQDN DHCPv4 Option 7. IANA Considerations 7.1. IANA Consideration for DHCPv4 Option The following DHCPv4 option code for the Location-to-Service Translation Protocol (LoST) server option must be assigned by IANA: Option Name Value Described in ----------------------------------------------- OPTION_LOST TBD Section34 7.2. IANA Consideration for DHCPv6 Option IANA is requested to assign the following DHCPv6 option codes for the Location-to-Service Translation Protocol (LoST) options: Option Name Value Described in ------------------------------------------------OPTION_LOST_SERVER_D TBD Section 4.1 OPTION_LOST_SERVER_AOPTION_LOST TBD Section4.2 6.5 8. Security Considerations If an adversary manages to modify the response from a DHCP server or insert its own response, a LoST client could be led to contact a rogue LoST server under the control of the adversary or be given an invalid address. These threats are documented in [I-D.ietf-ecrit-security-threats]. The security considerations in [RFC2131], [RFC2132] and [RFC3315] are applicable to this document.7.9. AcknowledgementsThis document copies a lot of text from [RFC3361] and from [RFC3319].The authors wouldthereforelike to thankHenning Schulzrinne, Jonathan RosenbergAndrew Newton andBernie VolzLeslie Daigle for theirwork on these two RFCs. Furthermore, the authorsdraft review. We would like to particularly thankChristian Dickmann and Mayutan ArumaithuraiAndrew Newton fortheir draft review. 8.the simplifications he proposed. 10. References8.1.10.1. Normative References [I-D.ietf-ecrit-lost] Hardie, T., "LoST: A Location-to-Service Translation Protocol",draft-ietf-ecrit-lost-00draft-ietf-ecrit-lost-01 (work in progress),JuneSeptember 2006. [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, March 1997. [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003.8.2.10.2. Informative References [I-D.daigle-unaptr] Daigle, L., "Domain-based Application Service Location Using URIs and the Dynamic Delegation Discovery Service (DDDS)", draft-daigle-unaptr-00 (work in progress), June 2006. [I-D.ietf-ecrit-requirements] Schulzrinne, H. and R. Marshall, "Requirements for Emergency Context Resolution with Internet Technologies", draft-ietf-ecrit-requirements-12 (work in progress), August 2006. [I-D.ietf-ecrit-security-threats] Taylor, T., "Security Threats and Requirements for Emergency Call Marking and Mapping", draft-ietf-ecrit-security-threats-03 (work in progress), July 2006. [RFC3319] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers", RFC 3319, July 2003. [RFC3361] Schulzrinne, H., "Dynamic Host Configuration Protocol (DHCP-for-IPv4) Option for Session Initiation Protocol (SIP) Servers", RFC 3361, August 2002. [RFC3396] Lemon, T. and S. Cheshire, "Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396, November 2002. Authors' Addresses Henning Schulzrinne Columbia University Department of Computer Science 450 Computer Science Building New York, NY 10027 US Phone: +1 212 939 7004 Email: hgs+ecrit@cs.columbia.edu URI: http://www.cs.columbia.edu James Polk Cisco 2200 East President George Bush Turnpike Richardson, Texas 75082 US Email: jmpolk@cisco.com Hannes Tschofenig Siemens Otto-Hahn-Ring 6 Munich, Bavaria 81739 Germany Phone: +49 89 636 40390 Email: Hannes.Tschofenig@siemens.com URI: http://www.tschofenig.com Full Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).