Network Working Group H. Schulzrinne
Internet-Draft Columbia U.
Intended status: Standards Track J. Polk
Expires: March 4, 2007 Cisco
H. Tschofenig
Siemens
August 31, 2006
A Dynamic Host Configuration Protocol (DHCP) based Location-to-Service
Translation Protocol (LoST) Discovery Procedure
draft-polk-ecrit-dhc-lost-discovery-00.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 March 4, 2007.
Copyright Notice
Copyright (C) The Internet Society (2006).
Schulzrinne, et al. Expires March 4, 2007 [Page 1]
Internet-Draft DHCP-based LoST Discovery August 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 Servers Domain Name List . . . . . . . . . . . . . . 5
3.2. LoST Servers IPv4 Address List . . . . . . . . . . . . . . 6
4. LoST Server DHCPv6 Option . . . . . . . . . . . . . . . . . . 8
4.1. LoST Servers Domain Name List . . . . . . . . . . . . . . 8
4.2. LoST Servers IPv6 Address List . . . . . . . . . . . . . . 9
4.3. Client Operation . . . . . . . . . . . . . . . . . . . . . 10
4.4. Server Operation . . . . . . . . . . . . . . . . . . . . . 10
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . . 14
8.2. Informative References . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
Intellectual Property and Copyright Statements . . . . . . . . . . 17
Schulzrinne, et al. Expires March 4, 2007 [Page 2]
Internet-Draft DHCP-based LoST Discovery August 2006
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 to query the LoST server, the LoST client needs to know its
address. Several mechanisms can be used to learn this address,
including manual configuration. In some environments where DHCP is
used and the local access networks either deploys a LoST server or
knows the address or host name of a third party provided LoST server,
DHCP can provide the end host with this information.
This document specifies a DHCPv4 and a DHCPv6 option that allows LoST
clients to discover local LoST servers.
Section 2 provides terminology. Section 3 describes the DHCPv4
option while Section 4 describes the DHCPv6 option, with the same
functionality. IANA and Security Considerations complete the
document in Section 5 and Section 6.
Schulzrinne, et al. Expires March 4, 2007 [Page 3]
Internet-Draft DHCP-based LoST Discovery August 2006
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].
Schulzrinne, et al. Expires March 4, 2007 [Page 4]
Internet-Draft DHCP-based LoST Discovery August 2006
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.
This option has two encodings, specified by the encoding byte ('enc')
that follows the code byte. If the encoding byte has the value 0, it
is followed by a list of domain 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
indicates the total number of octets in the option following the
'Len' field, including the encoding byte.
A DHCP server MUST NOT mix the two encodings in the same DHCP
message, even if it sends two different instances of the same option.
Attempts to do so would result in incorrect client behavior as DHCP
processing rules call for the concatenation of multiple instances of
an option into a single option prior to processing the option
[RFC3396].
The code for this option is TBD.
3.1. LoST Servers Domain Name List
If the 'enc' byte has a value of 0, the encoding byte 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 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
Schulzrinne, et al. Expires March 4, 2007 [Page 5]
Internet-Draft DHCP-based LoST Discovery August 2006
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.
If the length of the domain list exceeds the maximum permissible
within a single option (254 octets), then the domain list 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: LoST FQDN DHCPv4 Option
As 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 a LoST FQDN DHCPv4 Option
3.2. LoST Servers IPv4 Address List
If the 'enc' byte has a value of 1, the encoding byte is followed by
a list of IPv4 addresses indicating LoST servers available to the
client. Servers MUST be listed in order of preference.
Schulzrinne, et al. Expires March 4, 2007 [Page 6]
Internet-Draft DHCP-based LoST Discovery August 2006
Its minimum length is 5, and the length MUST be a multiple of 4 plus
one. The offset is measured from the beginning of the option.
The DHCP option for this encoding has the following format:
Code Len enc Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| TBD | n | 1 | a1 | a2 | a3 | a4 | a1 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
Figure 3: LoST IP Address(es) DHCPv4 Option
Schulzrinne, et al. Expires March 4, 2007 [Page 7]
Internet-Draft DHCP-based LoST Discovery August 2006
4. LoST Server DHCPv6 Option
This document defines two DHCPv6 options that describe a local LoST
server: one carries a list of domain names (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 shortage of option codes, we
avoid the encoding byte found in the IPv4 DHCP option for LoST
servers (see Section 3). This makes the option shorter, easier to
parse, simplifies appropriate word alignment for the numeric
addresses and allows the client to request 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 List
The option 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 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 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. Domain names MUST be listed in order of preference.
Use of multiple domain names is not meant to replace NAPTR or SRV
records, but rather to allow a single DHCP server to indicate LoST
servers operated by multiple providers.
The DHCPv6 option has the format shown in Figure 4.
Schulzrinne, et al. Expires March 4, 2007 [Page 8]
Internet-Draft DHCP-based LoST Discovery August 2006
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_D | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LoST Server Domain Name List |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: DHCPv6 Option for LoST Server Domain Name List
option-code: OPTION_LOST_SERVER_D (TBD)
option-length: Length of the 'LoST Server Domain Name List' field
in octets; variable.
LoST server Domain Name List: The domain names 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) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Schulzrinne, et al. Expires March 4, 2007 [Page 9]
Internet-Draft DHCP-based LoST Discovery August 2006
Figure 6: DHCPv6 Option for LoST Server IPv6 Address List
option-code: OPTION_LOST_SERVER_A (TBD)
option-length: Length of the 'options' field in octets; must be a
multiple of 16.
LoST server: IPv6 address of a LoST server for the client to use.
The servers are listed in the order of preference for
use by the client.
4.3. Client Operation
A client may request either or both of the LoST Servers Domain Name
List and LoST IPv6 Address List options 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 the LoST Servers
Domain Name List option. Only if no server in the LoST Servers
Domain Name List can be resolved or reached, the client MAY use the
LoST Servers IPv6 Address List option.
4.4. Server Operation
A server MAY send a client one or both of the LoST Servers Domain
Name List and LoST Servers IPv6 Address List options.
If a client requests both options and the server is configured for
both, the server MAY send a client only one of these options and
SHOULD send the LoST Servers Domain Name List.
A server configured with the LoST Servers IPv6 Address List option
MUST send a client the LoST Servers IPv6 Address List option if that
client requested the LoST Servers IPv6 Address List option and not
the LoST Servers Domain Name List option in an ORO (see [RFC3315]).
The following table summarizes the server's response:
Client sends in ORO Domain Name List IPv6 Address List
__________________________________________________________________
Neither option SHOULD MAY
LoST Servers Domain Name List SHOULD MAY
LoST Servers IPv6 Address List MAY MUST
Both options SHOULD MAY
Schulzrinne, et al. Expires March 4, 2007 [Page 10]
Internet-Draft DHCP-based LoST Discovery August 2006
5. IANA Considerations
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 Section 3
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_A TBD Section 4.2
Schulzrinne, et al. Expires March 4, 2007 [Page 11]
Internet-Draft DHCP-based LoST Discovery August 2006
6. 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.
Schulzrinne, et al. Expires March 4, 2007 [Page 12]
Internet-Draft DHCP-based LoST Discovery August 2006
7. Acknowledgements
This document copies a lot of text from [RFC3361] and from [RFC3319].
The authors would therefore like to thank Henning Schulzrinne,
Jonathan Rosenberg and Bernie Volz for their work on these two RFCs.
Furthermore, the authors would like to thank Christian Dickmann and
Mayutan Arumaithurai for their draft review.
Schulzrinne, et al. Expires March 4, 2007 [Page 13]
Internet-Draft DHCP-based LoST Discovery August 2006
8. References
8.1. Normative References
[I-D.ietf-ecrit-lost]
Hardie, T., "LoST: A Location-to-Service Translation
Protocol", draft-ietf-ecrit-lost-00 (work in progress),
June 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. Informative References
[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
Schulzrinne, et al. Expires March 4, 2007 [Page 14]
Internet-Draft DHCP-based LoST Discovery August 2006
Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
November 2002.
Schulzrinne, et al. Expires March 4, 2007 [Page 15]
Internet-Draft DHCP-based LoST Discovery August 2006
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
Schulzrinne, et al. Expires March 4, 2007 [Page 16]
Internet-Draft DHCP-based LoST Discovery August 2006
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).
Schulzrinne, et al. Expires March 4, 2007 [Page 17]