idnits 2.17.1 draft-doi-roll-mpl-parameter-configuration-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 205: '... the option. It SHOULD be 16 (without...' RFC 2119 keyword, line 241: '... Clients MAY request MPL Parameter C...' RFC 2119 keyword, line 246: '... Clients MUST discard MPL Parameter ...' RFC 2119 keyword, line 253: '...Option, the node SHOULD join the MPL d...' RFC 2119 keyword, line 254: '...rder. Each node SHOULD configure its ...' (3 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 5, 2014) is 3704 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-dhc-option-guidelines' is defined on line 337, but no explicit reference was found in the text == Outdated reference: A later version (-12) exists of draft-ietf-roll-trickle-mcast-07 ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) ** Obsolete normative reference: RFC 4242 (Obsoleted by RFC 8415) Summary: 3 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 roll Y. Doi 3 Internet-Draft TOSHIBA Corporation 4 Intended status: Standards Track M. Gillmore 5 Expires: September 6, 2014 Itron, Inc 6 March 5, 2014 8 MPL Parameter Configuration Option for DHCPv6 9 draft-doi-roll-mpl-parameter-configuration-05 11 Abstract 13 This draft defines a way to configure MPL parameter set via DHCPv6 14 option. MPL has a set of parameters to control its behavior, and the 15 parameter set is often configured as a network-wide parameter because 16 the parameter set should be identical for each MPL forwarder in an 17 MPL domain. Using the MPL Parameter Configuration Option defined in 18 this document, a network can be configured with a single set of MPL 19 parameter easily. 21 Status of this Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on September 6, 2014. 38 Copyright Notice 40 Copyright (c) 2014 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. MPL Parameter Configuration Option . . . . . . . . . . . . . . 3 57 2.1. Unsigned Short Floating Point . . . . . . . . . . . . . . . 4 58 2.2. MPL Parameter Configuration Option Format . . . . . . . . . 5 59 2.3. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . 6 60 2.4. MPL Forwarder Behavior . . . . . . . . . . . . . . . . . . 6 61 2.5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . 7 62 2.6. DHCPv6 Relay Behavior . . . . . . . . . . . . . . . . . . . 7 63 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 64 4. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 65 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 66 5.1. Normative References . . . . . . . . . . . . . . . . . . . 8 67 5.2. Non-Normative References . . . . . . . . . . . . . . . . . 8 68 Appendix A. Update History . . . . . . . . . . . . . . . . . . . . 8 69 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . . 9 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 72 1. Introduction 74 Multicast Protocol for Low power and Lossy Networks (MPL) 75 [I-D.ietf-roll-trickle-mcast] defines a protocol to make a multicast 76 network among low power and lossy network i.e. wireless mesh 77 networks. MPL has a set of parameters to control its behavior and 78 tradeoff between end-to-end delay and network utilization. In most 79 environments, the default parameters are acceptable. However, in 80 some environments, the parameter set must be configured carefully in 81 order to meet the requirements of each environment. According to the 82 MPL draft section 5.4, each parameter in the set should be same for 83 all nodes within an MPL domain. And the MPL draft does not define a 84 method to configure the MPL parameter set. 86 Some managed wireless mesh networks may have a DHCP server to 87 configure network parameters. MPL parameter set shall be considered 88 as a part of network parameters (nodes in an MPL domain should use an 89 identical parameter set). This document is to define the way to 90 distribute parameter sets for MPL forwarders as a simple DHCPv6 91 [RFC3315] option. 93 2. MPL Parameter Configuration Option 95 Per MPL domain, there are following 10 parameters. An MPL domain is 96 defined by an MPL domain address. 98 o PROACTIVE_FORWARDING 100 o SEED_SET_ENTRY_LIFETIME 102 o DATA_MESSAGE_IMIN 104 o DATA_MESSAGE_IMAX 106 o DATA_MESSAGE_K 108 o DATA_MESSAGE_TIMER_EXPIRATIONS 110 o CONTROL_MESSAGE_IMIN 112 o CONTROL_MESSAGE_IMAX 114 o CONTROL_MESSAGE_K 116 o CONTROL_MESSAGE_TIMER_EXPIRATIONS 118 One network may have multiple MPL domains with different 119 configurations. To configure more than one MPL domain via DHCP, 120 there may be more than one MPL Parameter Configuration Option given 121 to DHCP clients from a DHCP server. 123 2.1. Unsigned Short Floating Point 125 MPL has many timer parameters. Expected range of the timers depends 126 on the network topology or MAC/PHY nature. To accommodate wide range 127 of timer values efficiently, the MPL Parameter Configuration Option 128 uses base-10 unsigned short floating point number with 3-bit exponent 129 and 13-bit significand defined as follows (exp. stands for exponent). 131 0 1 132 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 134 | exp.| significand | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 The represented value is (significand) * 10^(exp.). The minimum 138 exponent is 0 (binary 000) and the maximum is 6 (binary 110). exp=7 139 (binary 111) is reserved for future use. The minimum significand is 140 0 (all 0) and the maximum is 8191 (all 1). 142 Unlike IEEE754 half precision floating point (binary16), there is no 143 sign bit (no negative value for a timer), exponent is not biased (no 144 fractional value for a timer), no implicit leading 1 in siginificand, 145 and base is 10. Therefore, there could be more than one 146 representation for a value. 148 Followings are examples of common timer values represented by unit of 149 millisecond. 151 One second (1,000 milliseconds): exp = 3, significand = 1, 0x6001. 153 One minute (60,000 milliseconds): exp = 4, significand = 6, 0x8006. 155 One hour (3,600,000 milliseconds): exp = 5, significand = 36, 156 0xa024. 158 One day (86,400,000 milliseconds): exp = 5, significand = 864, 159 0xa360 161 Maximum timer length represented by an unsigned short floating point 162 with millisecond precision is 8191 * 10^6 milliseconds (13 weeks 3 163 days 19 hours 16 minutes 40 seconds). 165 With exponent and significand, an unsigned short floating point 166 (usfp) can be encoded as follows. 168 usfp = (exponent << 13)|(0x1fff & significand); 170 2.2. MPL Parameter Configuration Option Format 172 To distribute a configuration of an MPL domain or a default value for 173 all MPL domains (wildcard) under the network managed by the DHCP 174 server, this document defines a DHCPv6 option format as follows. 175 Short floating point format is used to describe wide range of timer 176 values. 178 0 1 2 3 179 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 180 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 181 | OPTION_MPL_PARAMETERS | option_len | 182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 183 |P| Z | C_K | Z2 | DM_K | SE_LIFETIME | 184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 185 | DM_IMIN | DM_IMAX | 186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 187 | DM_T_EXP | C_IMIN | 188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 189 | C_IMAX | C_T_EXP | 190 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 192 (if option_len = 32 ) 193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 194 | MPL Domain Address (128bits) | 195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 196 | (cont'ed) | 197 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 198 | (cont'ed) | 199 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 200 | (cont'ed) | 201 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 203 OPTION_MPL_PARAMETERS: DHCPv6 option identifier (not yet assigned). 205 option_len: Length of the option. It SHOULD be 16 (without MPL 206 domain address) or 32 (with MPL domain address) 208 P (1 bit): A flag to indicate PROACTIVE_FORWARDING 210 Z (1 bit) Reserved. Should be 0. 212 C_K (5 bits): CONTROL_MESSAGE_K. 214 Z2 (3 bits) Reserved. Should be all 0. 216 DM_K (5 bits): DATA_MESSAGE_K. 218 SE_LIFETIME: SEED_SET_ENTRY_LIFETIME. The unit is millisecond and 219 the type is unsigned short floating point. 221 DM_IMIN: DATA_MESSAGE_IMIN. The unit is millisecond and the type is 222 unsigned short floating point. 224 DM_IMAX: DATA_MESSAGE_IMAX. The unit is millisecond and the type is 225 unsigned short floating point. 227 DM_T_EXP: DATA_MESSAGE_TIMER_EXPIRATIONS. The unit is millisecond 228 and the type is unsigned short floating point. 230 C_IMIN: CONTROL_MESSAGE_IMIN. The unit is millisecond and the type 231 is unsigned short floating point. 233 C_IMAX: CONTROL_MESSAGE_IMAX. The unit is millisecond and the type 234 is unsigned short floating point. 236 C_T_EXP: CONTROL_MESSAGE_TIMER_EXPIRATIONS. The unit is millisecond 237 and the type is unsigned short floating point. 239 2.3. DHCPv6 Client Behavior 241 Clients MAY request MPL Parameter Configuration Option, as described 242 in RFC3315 [RFC3315], sections 17.1.1, 18.1.1, 18.1.3, 18.1.4, 18.1.5 243 and 22.7. As a convenience to the reader, we mention here that the 244 client includes requested option codes in Option Request Option. 246 Clients MUST discard MPL Parameter Configuration Option if it is 247 invalid (i.e. it sets reserved bits or it has timers with reserved 248 exp=7 in Unsigned Short Floating Point). 250 2.4. MPL Forwarder Behavior 252 If a DHCPv6 client requests and receives MPL Parameter Configuration 253 Option, the node SHOULD join the MPL domain given by the option and 254 act as an MPL forwarder. Each node SHOULD configure its MPL 255 forwarder with the given parameter set for the MPL domain. 257 The priority of MPL Parameter Configuration applied for an MPL Domain 258 is as follows (high to low). 260 o Specific MPL Parameter Configuration to the MPL Domain (optlen=32) 262 o Wildcard MPL Parameter Configuration (optlen=16) 264 o Default configuration given in the MPL specification. 266 There SHALL be no more than one MPL Parameter Configuration Option 267 for a MPL domain or the wildcard. Thus, the order of DHCPv6 options 268 in the packet has no effect on precedence. 270 A node MAY leave from an MPL domain if the following two conditions 271 are satisfied. 1) The MPL domain is configured by a DHCPv6 option 272 from a DHCPv6 server previously. 2) The node has received an updated 273 MPL Parameter Configuration Option without a configuration for the 274 MPL domain. 276 MPL parameter may be updated occasionally. With stateful DHCPv6, 277 updates can be done when the renewal timer expires. Information 278 Refresh Time Option [RFC4242] shall be used to keep each forwarders 279 updated. 281 To reduce periodical update traffic a node may try to use very long 282 interval between updates. In the case, reconfigure shall be used to 283 keep forwarder parameter sets synchronized. For stateless DHCPv6, 284 [I-D.jiang-dhc-stateless-reconfiguration] may be used (if approved). 286 2.5. DHCPv6 Server Behavior 288 Sections 17.2.2 and 18.2 of RFC3315 [RFC3315] govern server operation 289 in regards to option assignment. As a convenience to the reader, we 290 mention here that the server will send MPL Parameter Configuration 291 Option only if configured with specific value for MPL Parameter 292 Configuration Option and the client requested it. 294 Servers MUST ignore incoming MPL Parameter Configuration Option. 296 2.6. DHCPv6 Relay Behavior 298 It's never appropriate for a relay agent to add options to a message 299 heading toward the client, and relay agents don't actually construct 300 Relay-Reply messages anyway. There are no additional requirements 301 for relays. 303 3. IANA Considerations 305 A DHCPv6 option code for MPL Parameter Configuration Option needs to 306 be assigned from IANA. 308 4. Security Considerations 310 A forged option may cause excessive layer-2 broadcasting. 311 Implementations should set reasonable bounds for each parameter. For 312 example, not too high K, not too low IMIN, etc. These may be 313 implementation dependent or may be derived from MAC/PHY 314 specifications. DHCP server or the network itself shall be trusted 315 by some means including network access control or DHCP 316 authentications. 318 5. References 320 5.1. Normative References 322 [I-D.ietf-roll-trickle-mcast] 323 Hui, J. and R. Kelsey, "Multicast Forwarding Using 324 Trickle", draft-ietf-roll-trickle-mcast-07 (work in 325 progress), Feburary 2014. 327 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 328 and M. Carney, "Dynamic Host Configuration Protocol for 329 IPv6 (DHCPv6)", RFC 3315, July 2003. 331 [RFC4242] Venaas, S., Chown, T., and B. Volz, "Information Refresh 332 Time Option for Dynamic Host Configuration Protocol for 333 IPv6 (DHCPv6)", RFC 4242, November 2005. 335 5.2. Non-Normative References 337 [I-D.ietf-dhc-option-guidelines] 338 Hankins, D., Mrugalski, T., Siodelski, M., Jiang, S., and 339 S. Krishnan, "Guidelines for Creating New DHCPv6 Options", 340 draft-ietf-dhc-option-guidelines-17 (work in progress), 341 January 2014. 343 [I-D.jiang-dhc-stateless-reconfiguration] 344 Jiang, S. and B. Liu, "Stateless Reconfiguration in 345 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", 346 draft-jiang-dhc-stateless-reconfiguration-01 (work in 347 progress), February 2014. 349 Appendix A. Update History 351 Updates on 04 to 05: 353 o Editorial fix and some clarification (thanks to Ted Lemon and 354 folks in IESG/RFC-Editor Language Editing Session) 356 o Added reference to RFC4242 and corrected renewal descriptions on 357 MPL forwarder behavior (thanks to Tatsuya Jinmei for pointing it 358 out) 360 Updates on 03 to 04: 362 o Added more sections according to dhc-options-guidelines 364 o Removed 'no update' requirement on MPL forwarder behavior 366 o Added reference to I-D.jiang-dhc-stateless-reconfiguration 368 Updates on 02 to 03: 370 o C flag is removed and wildcard shall be identified by optlen 372 o Added some description on update of MPL parameters 374 o Clearly stated there shall not be two or more configuration for an 375 MPL domain and option order is not significant. 377 Updates on 01 to 02: 379 o Added co-author 381 Updates on 00 to 01: 383 o Corrected target area, track, etc. 385 Appendix B. Acknowledgements 387 The authors thank Richard Kelsey and Yoshi Ohba for technical advices 388 to improve this draft. 390 Authors' Addresses 392 Yusuke Doi 393 TOSHIBA Corporation 394 Komukai Toshiba Cho 1 395 Saiwai-Ku 396 Kawasaki, Kanagawa 2128582 397 JAPAN 399 Phone: +81-45-342-7230 400 Email: yusuke.doi@toshiba.co.jp 401 URI: 403 Matthew Gillmore 404 Itron, Inc 405 2111 N Molter Rd. 406 Liberty Lake, WA 99019 407 USA 409 Email: matthew.gillmore@itron.com