MPL Parameter Configuration Option for DHCPv6TOSHIBA CorporationKomukai Toshiba Cho 1Saiwai-KuKawasakiKanagawa2128582JAPAN+81-45-342-7230yusuke.doi@toshiba.co.jpItron, Inc2111 N Molter Rd.Liberty LakeWA99019USAmatthew.gillmore@itron.com
rtg
rollMPL, DHCPv6
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.
Multicast Protocol for Low power and Lossy Networks
(MPL) 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 option.
Per MPL domain, there are following 10 parameters. An MPL domain is
defined by an MPL domain address.
PROACTIVE_FORWARDING
SEED_SET_ENTRY_LIFETIME
DATA_MESSAGE_IMIN
DATA_MESSAGE_IMAX
DATA_MESSAGE_K
DATA_MESSAGE_TIMER_EXPIRATIONS
CONTROL_MESSAGE_IMIN
CONTROL_MESSAGE_IMAX
CONTROL_MESSAGE_K
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.
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).
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.
exp = 3, significand = 1, 0x6001.
exp = 4, significand = 6, 0x8006.
exp = 5, significand = 36, 0xa024.
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.
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.
DHCPv6 option identifier (not yet assigned).
Length of the option. It SHOULD be 16 (without MPL domain
address) or 32 (with MPL domain address)
A flag to indicate PROACTIVE_FORWARDING
Reserved. Should be 0.
CONTROL_MESSAGE_K.
Reserved. Should be all 0.
DATA_MESSAGE_K.
SEED_SET_ENTRY_LIFETIME. The unit is millisecond and the
type is unsigned short floating point.
DATA_MESSAGE_IMIN. The unit is millisecond and the type is
unsigned short floating point.
DATA_MESSAGE_IMAX. The unit is millisecond and the type is
unsigned short floating point.
DATA_MESSAGE_TIMER_EXPIRATIONS. The unit is millisecond and
the type is unsigned short floating point.
CONTROL_MESSAGE_IMIN. The unit is millisecond and the type
is unsigned short floating point.
CONTROL_MESSAGE_IMAX. The unit is millisecond and the type
is unsigned short floating point.
CONTROL_MESSAGE_TIMER_EXPIRATIONS. The unit is millisecond
and the type is unsigned short floating point.
Clients MAY request MPL Parameter Configuration Option, as
described in 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).
If a DHCPv6 client requests and receives MPL Parameter
Configuration Option, the node SHOULD join the MPL domain given by
the option and act as an MPL forwarder. Each 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).
Specific MPL Parameter Configuration to the MPL Domain
(optlen=32)
Wildcard MPL Parameter Configuration (optlen=16)
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
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,
may be used (if approved).
Sections 17.2.2 and 18.2 of 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 ignore incoming MPL Parameter Configuration Option.
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.
A DHCPv6 option code for MPL Parameter Configuration Option needs to
be assigned from IANA.
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.
Dynamic Host Configuration Protocol for IPv6 (DHCPv6)Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)This document describes a Dynamic Host Configuration Protocol for IPv6 (DHCPv6) option for specifying an upper bound for how long a client should wait before refreshing information retrieved from DHCPv6. It is used with stateless DHCPv6 as there are no addresses or other entities with lifetimes that can tell the client when to contact the DHCPv6 server to refresh its configuration. [STANDARDS-TRACK]Multicast Forwarding Using Trickle This document specifies the Multicast Protocol for Low power and Lossy Networks (MPL) that provides IPv6 multicast forwarding in constrained networks. MPL avoids the need to construct or maintain any multicast forwarding topology, disseminating messages to all MPL Forwarders in an MPL Domain. MPL uses the Trickle algorithm to manage message transmissions for both control and data-plane messages. Different Trickle parameter configurations allow MPL to trade between dissemination latency and transmission efficiency. Stateless Reconfiguration in Dynamic Host Configuration Protocol for IPv6 (DHCPv6)This document defines a mechanism to propagate reconfigure messages towards stateless configured DHCPv6 clients.Guidelines for Creating New DHCPv6 OptionsThis document provides guidance to prospective DHCPv6 Option developers to help them creating option formats that are easily adoptable by existing DHCPv6 software. It also provides guidelines for expert reviewers to evaluate new registrations. This document updates RFC3315.
Updates on 04 to 05:
Editorial fix and some clarification (thanks to Ted Lemon and
folks in IESG/RFC-Editor Language Editing Session)
Added reference to RFC4242 and corrected renewal descriptions on
MPL forwarder behavior (thanks to Tatsuya Jinmei for pointing it
out)
Updates on 03 to 04:
Added more sections according to dhc-options-guidelines
Removed 'no update' requirement on MPL forwarder behavior
Added reference to I-D.jiang-dhc-stateless-reconfiguration
Updates on 02 to 03:
C flag is removed and wildcard shall be identified by optlen
Added some description on update of MPL parameters
Clearly stated there shall not be two or more configuration for
an MPL domain and option order is not significant.
Updates on 01 to 02:
Added co-author
Updates on 00 to 01:
Corrected target area, track, etc.
The authors thank Richard Kelsey and Yoshi Ohba for technical
advices to improve this draft.