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]