MIPSHOP WG                                                  Gabor Bajko
Internet Draft                                                    Nokia
Intended Status: Standards Track                            August 2007
Expires: February 20, 2007



  Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Options for
                         Mobility Servers (MoS)
                    draft-bajko-mos-dhcp-options-00


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 February 20, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   This document defines a number of Dynamic Host Configuration
   Protocol (DHCP-for-IPv4) options that contain a list of domain names
   or IPv4 addresses that can be mapped to servers providing Mobility
   Services. Mobility Services are used to assist an MN in handover
   preparation (network discovery) and handover decision (network
   selection). The services addressed by this document are the Media
   Independent Handover Services defined in [1].

Conventions used in this document


G. Bajko                   Expires 02/20/08                  [Page 1]


Mobility Services DHCP Options                             August 2007

   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 [1].

Terminology and abbreviations used in this document

   Mobility Support Services: comprises of a set of different services
   provided by the network to mobile nodes to facilitate handover
   preparation and handover decision.

   Mobility Server: a network node providing Mobility Support Services.

   MIH: Media Independent Handover, as defined in [1].

   MIH Service: IS, ES or CS type of service, as defined in [1].

Table of Content

   1. Introduction ...................................................2
   2. Mobility Server DHCPv4 Options..................................3
        2.1 Domain Name List .........................................3
        2.2 IPv4 Address List ........................................5
   3. Mobility Server DHCPv6 Options..................................5
        3.1 Domain Name List .........................................6
        3.2 IPv6 Address List ........................................6
   4. Security Considerations ........................................6
   5. IANA Considerations ............................................7
   6. Acknowledgements ...............................................7
   7. Normative References ...........................................7
   8. Informative References .........................................7
   9. Author's Addresses .............................................8

1. Introduction

   IEEE 802.21 [1] defines three distinct service types to facilitate
   link layer handovers across heterogeneous technologies:

   a) Information Services (IS)
        IS provides a unified framework to the higher layer entities
   across the heterogeneous network environment to facilitate discovery
   and selection of multiple types of networks existing within a
   geographical area, with the objective to help the higher layer
   mobility protocols to acquire a global view of the heterogeneous
   networks and perform seamless handover across these networks.

   b) Event Services (ES)
        Events may indicate changes in state and transmission behavior
   of the physical, data link and logical link layers, or predict state
   changes of these layers. The Event Service may also be used to
   indicate management actions or command status on the part of the
   network or some management entity.


G. Bajko                   Expires 02/20/08                  [Page 2]


Mobility Services DHCP Options                             August 2007

   c) Command Services (CS)
        The command service enables higher layers to control the
   physical, data link, and logical link layers. The higher layers may
   control the reconfiguration or selection of an appropriate link
   through a set of handover commands.

   In IEEE terminology these services are called Media Independent
   Handover (MIH) services.
   While these services may be co-located, the different pattern and
   type of information they provide does not necessitate the co-
   location.

   An MN may make use of any of these MIH service types separately or
   any combination of them.

   It is anticipated that a Mobility Server will not necessarily host
   all three of these MIH services together, thus there is a need to
   discover the MIH services types separately.

   This document defines three dhcp options [4,5] for DHCPv4 and
   DHCPv6, one for each of the services defined in [1], namely IS, ES
   and CS. The options would allow an MN to locate a Mobility Server
   which hosts the desired MIH service type (IS, ES or CS) the MN is
   looking for. This is one of the possible solutions for locating a
   server providing Mobility Services; manual configuration is an
   example of another.

2. Mobility Server DHCPv4 Options

   This section describes three options for DHCPv4.

   The Mobility Server DHCPv4 options carry either a 32-bit (binary)
   IPv4 address or, preferably, a DNS (RFC 1035 [6]) fully-qualified
   domain name to be used by the MN to locate a server hosting either
   an IS, an ES or a CS service.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    MoS code   |    Length     |      enc      | MoS Server  ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ...               domain name or IP address list             ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   MoS code: option codes assigned by IANA (tbd)
   Length: indicates the total number of octets in the option following
   the 'Length' field, including the encoding byte
   enc: one byte indicating the encoding type of the next field

   The options have 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, as described

G. Bajko                   Expires 02/20/08                  [Page 3]


Mobility Services DHCP Options                             August 2007

   below (Section 2.1). If the encoding byte has the value 1, it is
   followed by one or more IPv4 addresses (Section 2.2). All
   implementations MUST support both encodings. The 'Length' field
   indicates the total number of octets in the option following the
   'Length' 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 [7].

   The code for the MIH IS option is XXX. The code for the MIH ES
   option is YYY. The code for the MIH CS option is ZZZ.

2.1 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
   [6], 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 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, applying the
   mechanism described in [8] for each. The client only resolves the
   subsequent domain names if attempts to contact the first one failed
   or yielded no common transport protocols between the MN and the
   server.

   Use of multiple domain names is not meant to replace NAPTR and SRV
   records, but rather to allow a single DHCP server to indicate MIH
   servers operated by multiple providers.

   Clients MUST support compression according to the encoding in
   Section 4.1.4 of "Domain Names - Implementation And Specification"
   [6].

G. Bajko                   Expires 02/20/08                  [Page 4]


Mobility Services DHCP Options                             August 2007


        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 [7].

   The DHCP option for this encoding has the following format:

           Code  Len   enc   DNS name of MoS server
         +-----+-----+-----+-----+-----+-----+-----+-----+--
         | XXX |  n  |  0  |  s1 |  s2 |  s3 |  s4 | s5  |  ...
         +-----+-----+-----+-----+-----+-----+-----+-----+--

   As an example, consider the case where the server wants to offer two
   MIH IS servers, "example.com" and "example.net".  These would be
   encoded as follows:

   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |XXX|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 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+

2.2 IPv4 Address List

   If the 'enc' byte has a value of 1, the encoding byte is followed by
   a list of IPv4 addresses indicating appropriate MIH servers
   available to the MN. Servers MUST be listed in order of preference.

   Its minimum length is 5, and the length MUST be a multiple of 4 plus
   one. The DHCP option for this encoding has the following format:

          Code   Len   enc  IPv4 Address 1          IPv4 Address 2
         +-----+-----+-----+-----+-----+-----+-----+-----+--
         | XXX |  n  |  1  | a1  | a2  | a3  | a4  | a1  |  ...
         +-----+-----+-----+-----+-----+-----+-----+-----+--

3. Mobility Server DHCPv6 Options

   This section defines a DHCP for IPv6 (DHCPv6) option for the
   discovery of a list of domain names or IPv6 addresses of Mobility
   Servers.

   The Mobility Server DHCPv6 options carry either a 128-bit (binary)
   IPv6 address or, preferably, a DNS (RFC 1035 [6]) fully-qualified
   domain name to be used by the MN to locate a server hosting either
   an IS, an ES or a CS service.



G. Bajko                   Expires 02/20/08                  [Page 5]


Mobility Services DHCP Options                             August 2007

   The DHCPv6 option for this parameter is similarly formatted to the
   DHCPv4 option.
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    MoS code   |    Length     |      enc      | MoS Server  ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  domain name or IP address list             ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   MoS code: option codes assigned by IANA (tbd)
   Length: indicates the total number of octets in the option following
   the 'Length' field, including the encoding byte
   enc: one byte indicating the encoding type of the next field

   The options have 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, as described
   below (Section 2.1). If the encoding byte has the value 1, it is
   followed by one or more IPv4 addresses (Section 2.2). All
   implementations MUST support both encodings. The 'Length' field
   indicates the total number of octets in the option following the
   'Length' 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 [7].

   The code for the MIH IS dhcpv6 option is XXX. The code for the MIH
   ES dhcpv6 option is YYY. The code for the MIH CS dhcpv6 option is
   ZZZ.

3.1 Domain Name List

   If the 'enc' byte has a value of 0, the encoding byte is followed by
   a sequence of labels, as described in section 2.1

3.2 IPv6 address list

   If the 'enc' byte has a value of 1, the encoding byte is followed by
   a list of IPv6 addresses indicating appropriate MoS servers
   available to the MN. Servers MUST be listed in order of preference.

4. Security Considerations

   The security considerations in RFC 2131 [5]. If an adversary manages
   to modify the response from a DHCP server or insert its own
   response, an MN could be led to contact a rogue Mobility Server,


G. Bajko                   Expires 02/20/08                  [Page 6]


Mobility Services DHCP Options                             August 2007

   possibly one that then would provide wrong information, event or
   command for handover.

5. IANA Considerations

   This document registers the following dhcpv4 options with IANA:

   MIH IS dhcpv4 option
   MIH ES dhcpv4 option
   MIH CS dhcpv4 option

   This document also registers the following dhcpv6 options with IANA:

   MIH IS dhcpv6 option
   MIH ES dhcpv6 option
   MIH CS dhcpv6 option


5. Acknowledgements

   Acknowledgements to the DT members.


6. Normative References

   [1] IEEE 802.21 Standard for Local and Metropolitan Area Networks:
      Media Independent Handover Services
   [4] Alexander, S. and R. Droms, "DHCP options and BOOTP Vendor
      Extensions", RFC 2132, March 1997.
   [5] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
      March 1997.
   [6] Mockapetris, P., "Domain names - implementation and
      specification", STD 13, RFC 1035, November 1987.
   [7] Lemon, T. and S. Cheshire, "Encoding Long DHCP Options",
      RFC3396, November 2002.
   [8] Bajko, G. " Locating Mobility Servers", draft-bajko-mos-dns-
      discovery-00.txt


7. Informative References


8. Author's Addresses

   Gabor Bajko
   Nokia
   gabor.bajko@nokia.com






G. Bajko                   Expires 02/20/08                  [Page 7]


Mobility Services DHCP Options                             August 2007

Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   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, THE
   IETF TRUST 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).






G. Bajko                   Expires 02/20/08                  [Page 8]