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 is to define a way to configure MPL parameter via DHCPv6 option.
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 various parameters to
control its behavior and tradeoff between end-to-end delay and
network utilization. In some environments, the parameters shall be
configured carefully to meet each environment and requirement.
According to the MPL draft section 5.4, the parameter should be same
for all nodes within an MPL domain. And the MPL draft does not
define a method to configure it.
Some managed wireless mesh networks may have a DHCP server to
configure network parameters with DHCP relay in each node. MPL
parameters shall be considered as a part of network parameters
(parameter shall match within an MPL domain). This document is to
define the way to distribute parameters 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
configuration. To configure plural of MPL domains 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.). Minimum
exponent is 0 (binary 000) and maximum is 6 (binary 110). exp=7
(binary 111) is reserved for future use. Minimum significand is 0
(all 0) and 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 milliseconds.
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 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.
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.
Value of CONTROL_MESSAGE_K.
Reserved. Should be all 0.
Value of DATA_MESSAGE_K.
SEED_SET_ENTRY_LIFETIME. The value is milliseconds in
unsigned short floating point.
Value of DATA_MESSAGE_IMIN. The value is milliseconds in
unsigned short floating point.
Value of DATA_MESSAGE_IMAX. The value is milliseconds in
unsigned short floating point.
Value of DATA_MESSAGE_TIMER_EXPIRATIONS. The value is
milliseconds in unsigned short floating point.
Value of CONTROL_MESSAGE_IMIN. The value is milliseconds in
unsigned short floating point.
Value of CONTROL_MESSAGE_IMAX. The value is milliseconds in
unsigned short floating point.
Value of CONTROL_MESSAGE_TIMER_EXPIRATIONS. The value is
milliseconds in unsigned short floating point.
As a node receives MPL parameter configuration option, the node
SHOULD join the MPL domain given by the option and act as an MPL
forwarder. Nodes SHOULD configure MPL forwarders when it joins to
the MPL domain with the given parameters.
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 option
in the packet has no effect on precedence.
The MPL parameters given in this option is only applicable for new
MPL domains. Existing active MPL forwarder instances SHOULD NOT be
updated.
A node MAY leave from an MPL domain if the node is attached to the
MPL domain according to previously received MPL parameter
configuration option, and, the node received updated MPL parameter
configuration option without specific configuration option for the
MPL domain.
A DHCPv6 option code for MPL Parameter Configuration Option needs to
be assigned from IANA.
Forged option may cause too many MAC broadcasting. Reasonable bound
of parameters (not too high K, not too low IMIN) may be defined by
implementations or 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)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.
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.
The authors thank Richard Kelsey and Yoshi Ohba for technical
advices to improve this draft.