roll                                                              Y. Doi
Internet-Draft                                       TOSHIBA Corporation
Intended status: Standards Track                             M. Gillmore
Expires: September 12, 2014 January 3, 2015                                      Itron, Inc
                                                          March 11,
                                                            July 2, 2014

             MPL Parameter Configuration Option for DHCPv6
             draft-ietf-roll-mpl-parameter-configuration-00
             draft-ietf-roll-mpl-parameter-configuration-01

Abstract

   This draft defines a way to configure MPL parameter set via DHCPv6
   option.  MPL has a set of parameters to control its behavior, and the
   parameter set is often configured as a network-wide parameter because
   the parameter set should be identical for each MPL forwarder in an
   MPL domain.  Using the MPL Parameter Configuration Option defined in
   this document, a network can be configured with a single set of MPL
   parameter easily.

Status of this This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on September 12, 2014. January 3, 2015.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3   2
   2.  MPL Parameter Configuration Option  . . . . . . . . . . . . . . 3   2
     2.1.  Unsigned Short Floating Point . . . . . . . . . . . . . . . 4   3
     2.2.  MPL Parameter Configuration Option Format . . . . . . . . . 5   4
     2.3.  DHCPv6 Client Behavior  . . . . . . . . . . . . . . . . . .   6
     2.4.  MPL Forwarder Behavior  . . . . . . . . . . . . . . . . . .   6
     2.5.  DHCPv6 Server Behavior  . . . . . . . . . . . . . . . . . .   7
     2.6.  DHCPv6 Relay Behavior . . . . . . . . . . . . . . . . . .   7
     2.7.  Operational Considerations  . . . . . . . . . . . . . . .   7
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . .   7
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 8   7
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  Normative References  . . . . . . . . . . . . . . . . . . .   8
     5.2.  Non-Normative References  . . . . . . . . . . . . . . . . .   8
   Appendix A.  Update History . . . . . . . . . . . . . . . . . . . .   8
   Appendix B.  Considerations on Inconsistent Parameter Set . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   Multicast Protocol for Low power and Lossy Networks (MPL)
   [I-D.ietf-roll-trickle-mcast] defines a protocol to make a multicast
   network among low power and lossy network i.e. wireless mesh
   networks.  MPL has a set of parameters to control its behavior and
   tradeoff between end-to-end delay and network utilization.  In most
   environments, the default parameters are acceptable.  However, in
   some environments, the parameter set must be configured carefully in
   order to meet the requirements of each environment.  According to the
   MPL draft section 5.4, each parameter in the set should be same for
   all nodes within an MPL domain.  And the MPL draft does not define a
   method to configure the MPL parameter set.

   Some managed wireless mesh networks may have a DHCP server to
   configure network parameters.  MPL parameter set shall be considered
   as a part of network parameters (nodes in an MPL domain should use an
   identical parameter set).  This document is to define the way to
   distribute parameter sets for MPL forwarders as a simple DHCPv6
   [RFC3315] option.

2.  MPL Parameter Configuration Option
   Per MPL domain, there are following 10 parameters.  An MPL domain is
   defined by an MPL domain address.

   o  PROACTIVE_FORWARDING

   o  SEED_SET_ENTRY_LIFETIME

   o  DATA_MESSAGE_IMIN

   o  DATA_MESSAGE_IMAX

   o  DATA_MESSAGE_K

   o  DATA_MESSAGE_TIMER_EXPIRATIONS

   o  CONTROL_MESSAGE_IMIN

   o  CONTROL_MESSAGE_IMAX

   o  CONTROL_MESSAGE_K

   o  CONTROL_MESSAGE_TIMER_EXPIRATIONS

   One network may have multiple MPL domains with different
   configurations.  To configure more than one MPL domain via DHCP,
   there may be more than one MPL Parameter Configuration Option given
   to DHCP clients from a DHCP server.

2.1.  Unsigned Short Floating Point

   MPL has many timer parameters.  Expected range of the timers depends
   on the network topology or MAC/PHY nature.  To accommodate wide range
   of timer values efficiently, the MPL Parameter Configuration Option
   uses base-10 unsigned short floating point number with 3-bit exponent
   and 13-bit significand defined as follows (exp. stands for exponent).

    0                   1
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | exp.|      significand        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The represented value is (significand) * 10^(exp.).  The minimum
   exponent is 0 (binary 000) and the maximum is 6 (binary 110).  exp=7
   (binary 111) is reserved for future use.  The minimum significand is
   0 (all 0) and the maximum is 8191 (all 1).

   Unlike IEEE754 half precision floating point (binary16), there is no
   sign bit (no negative value for a timer), exponent is not biased (no
   fractional value for a timer), no implicit leading 1 in siginificand,
   and base is 10.  Therefore, there could be more than one
   representation for a value.

   Followings are examples of common timer values represented by unit of
   millisecond.

   One second (1,000 milliseconds):  exp = 3, significand = 1, 0x6001.

   One minute (60,000 milliseconds):  exp = 4, significand = 6, 0x8006.

   One hour (3,600,000 milliseconds):  exp = 5, significand = 36,
      0xa024.

   One day (86,400,000 milliseconds):  exp = 5, significand = 864,
      0xa360

   Maximum timer length represented by an unsigned short floating point
   with millisecond precision is 8191 * 10^6 milliseconds (13 weeks 3
   days 19 hours 16 minutes 40 seconds).

   With exponent and significand, an unsigned short floating point
   (usfp) can be encoded as follows.

   usfp = (exponent << 13)|(0x1fff & significand);

2.2.  MPL Parameter Configuration Option Format

   To distribute a configuration of an MPL domain or a default value for
   all MPL domains (wildcard) under the network managed by the DHCP
   server, this document defines a DHCPv6 option format as follows.
   Short floating point format is used to describe wide range of timer
   values.

    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_MPL_PARAMETERS      |          option_len           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |P| Z |   C_K   | Z2  |  DM_K   |         SE_LIFETIME           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         DM_IMIN               |          DM_IMAX              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         DM_T_EXP              |          C_IMIN               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         C_IMAX                |          C_T_EXP              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   (if option_len = 32 )
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          MPL Domain Address  (128bits)                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          (cont'ed)                                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          (cont'ed)                                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          (cont'ed)                                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   OPTION_MPL_PARAMETERS:  DHCPv6 option identifier (not yet assigned).

   option_len:  Length of the option.  It SHOULD be 16 (without MPL
      domain address) or 32 (with MPL domain address)

   P (1 bit):  A flag to indicate PROACTIVE_FORWARDING

   Z (1 bit)  Reserved.  Should be 0.

   C_K (5 bits):  CONTROL_MESSAGE_K.

   Z2 (3 bits)  Reserved.  Should be all 0.

   DM_K (5 bits):  DATA_MESSAGE_K.

   SE_LIFETIME:  SEED_SET_ENTRY_LIFETIME.  The unit is millisecond and
      the type is unsigned short floating point.

   DM_IMIN:  DATA_MESSAGE_IMIN.  The unit is millisecond and the type is
      unsigned short floating point.

   DM_IMAX:  DATA_MESSAGE_IMAX.  The unit is millisecond and the type is
      unsigned short floating point.

   DM_T_EXP:  DATA_MESSAGE_TIMER_EXPIRATIONS.  The unit is millisecond
      and the type is unsigned short floating point.

   C_IMIN:  CONTROL_MESSAGE_IMIN.  The unit is millisecond and the type
      is unsigned short floating point.

   C_IMAX:  CONTROL_MESSAGE_IMAX.  The unit is millisecond and the type
      is unsigned short floating point.

   C_T_EXP:  CONTROL_MESSAGE_TIMER_EXPIRATIONS.  The unit is millisecond
      and the type is unsigned short floating point.

2.3.  DHCPv6 Client Behavior

   Clients MAY request MPL Parameter Configuration Option, as described
   in RFC3315 [RFC3315], sections 17.1.1, 18.1.1, 18.1.3, 18.1.4, 18.1.5
   and 22.7.  As a convenience to the reader, we mention here that the
   client includes requested option codes in Option Request Option.

   Clients MUST discard MPL Parameter Configuration Option if it is
   invalid (i.e. it sets reserved bits or it has timers with reserved
   exp=7 in Unsigned Short Floating Point).

2.4.  MPL Forwarder Behavior

   If a DHCPv6 client requests and receives MPL Parameter Configuration
   Option, the node SHOULD MAY join the MPL domain given by the option and act
   as an MPL forwarder.  Each joining node SHOULD configure its MPL
   forwarder with the given parameter set for the MPL domain.

   The priority of MPL Parameter Configuration applied for an MPL Domain
   is as follows (high to low).

   o  Specific MPL Parameter Configuration to the MPL Domain (optlen=32)

   o  Wildcard MPL Parameter Configuration (optlen=16)

   o  Default configuration given in the MPL specification.

   There SHALL be no more than one MPL Parameter Configuration Option
   for a MPL domain or the wildcard.  Thus, the order of DHCPv6 options
   in the packet has no effect on precedence.

   A node MAY leave from an MPL domain if the following two conditions
   are satisfied. 1) The MPL domain is configured by a DHCPv6 option
   from a DHCPv6 server previously. 2) The node has received an updated
   MPL Parameter Configuration Option without a configuration for the
   MPL domain.

   MPL parameter may be updated occasionally.  With stateful DHCPv6,
   updates can be done when the renewal timer expires.  Information
   Refresh Time Option [RFC4242] shall be used to keep each forwarders
   updated.

   To reduce periodical update traffic a node may try to use very long
   interval between updates.  In the case, reconfigure shall be used to
   keep forwarder parameter sets synchronized.  For stateless DHCPv6,
   [I-D.jiang-dhc-stateless-reconfiguration] may be used (if approved).

2.5.  DHCPv6 Server Behavior

   Sections 17.2.2 and 18.2 of RFC3315 [RFC3315] govern server operation
   in regards to option assignment.  As a convenience to the reader, we
   mention here that the server will send MPL Parameter Configuration
   Option only if configured with specific value for MPL Parameter
   Configuration Option and the client requested it.

   Servers MUST SHALL ignore incoming MPL Parameter Configuration Option.

2.6.  DHCPv6 Relay Behavior

   It's never appropriate for a relay agent to add options to a message
   heading toward the client, and relay agents don't actually construct
   Relay-Reply messages anyway.  There are no additional requirements
   for relays.

2.7.  Operational Considerations

   A parameter set for an MPL domain SHOULD NOT updated more often than
   two times of expected refresh interval.

   If a node with MPL forwarder configured by MPL Parameter
   configuration Option failed to refresh the option for two times of
   information refresh time, it SHALL suspend the MPL forwarders of MPL
   domains configured by the option.  MPL forwarders configured by other
   methods such as static configuration file SHALL NOT be suspended.

3.  IANA Considerations

   A DHCPv6 option code for MPL Parameter Configuration Option needs to
   be assigned from IANA.

4.  Security Considerations

   A forged option may cause excessive layer-2 broadcasting.
   Implementations should set reasonable bounds for each parameter.  For
   example, not too high K, not too low IMIN, etc.  These may be
   implementation dependent or may be derived from MAC/PHY
   specifications.  DHCP server or the network itself shall be trusted
   by some means including network access control or DHCP
   authentications.

5.  References

5.1.  Normative References

   [I-D.ietf-roll-trickle-mcast]
              Hui, J. and R. Kelsey, "Multicast Forwarding Using
              Trickle", draft-ietf-roll-trickle-mcast-07 (work in
              progress), Feburary 2014.

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

   [RFC4242]  Venaas, S., Chown, T., and B. Volz, "Information Refresh
              Time Option for Dynamic Host Configuration Protocol for
              IPv6 (DHCPv6)", RFC 4242, November 2005.

5.2.  Non-Normative References

   [I-D.ietf-dhc-option-guidelines]
              Hankins, D., Mrugalski, T., Siodelski, M., Jiang, S., and
              S. Krishnan, "Guidelines for Creating New DHCPv6 Options",
              draft-ietf-dhc-option-guidelines-17 (work in progress),
              January 2014.

   [I-D.jiang-dhc-stateless-reconfiguration]
              Jiang, S. and B. Liu, "Stateless Reconfiguration in
              Dynamic Host Configuration Protocol for IPv6 (DHCPv6)",
              draft-jiang-dhc-stateless-reconfiguration-01 (work in
              progress), February 2014.

Appendix A.  Update History

   Updates on draft-doi-roll-mpl-configuration-05 to
   draft-ietf-roll-mpl-configuration-00: draft-ietf-roll-
   mpl-configuration-01:

   o  Operational considerations (normative) and appendix considerations
      (non-normative) are added (Issue #157)

   o  More control on nodes / allow constrained nodes to ignore the
      configuration: "the node s/SHOULD/MAY/ join the MPL domain given
      by the option" (Issue #158)

   Updates on draft-doi-roll-mpl-configuration-05 to draft-ietf-roll-
   mpl-configuration-00:

   o  I-D renamed.

Appendix B.  Considerations on Inconsistent Parameter Set

   This draft introduces dynamic update of MPL parameters.  Because the
   update process is not synchronized, nodes may have inconsistent
   parameter set.

   Inconsistent parameter may reduce performance.  On the other hand, it
   shall work as long as both parameter set are reasonable parameter set
   for a given communication load.  As motivations for parameter update
   are update on environment, node density, or communication load,
   operators of MPL networks shall be aware of unupdated nodes and make
   sure old and new parameter sets are reasonable for expected refresh
   intervals.

Authors' Addresses

   Yusuke Doi
   TOSHIBA Corporation
   Komukai Toshiba Cho 1
   Saiwai-Ku
   Kawasaki, Kanagawa  2128582
   JAPAN

   Phone: +81-45-342-7230
   Email: yusuke.doi@toshiba.co.jp
   URI:

   Matthew Gillmore
   Itron, Inc
   2111 N Molter Rd.
   Liberty Lake, WA  99019
   USA

   Email: matthew.gillmore@itron.com