draft-ietf-roll-trickle-mcast-05.txt   draft-ietf-roll-trickle-mcast-06.txt 
ROLL J. Hui ROLL J. Hui
Internet-Draft Cisco Internet-Draft Cisco
Intended status: Standards Track R. Kelsey Intended status: Standards Track R. Kelsey
Expires: March 02, 2014 Silicon Labs Expires: July 25, 2014 Silicon Labs
August 29, 2013 January 21, 2014
Multicast Protocol for Low power and Lossy Networks (MPL) Multicast Protocol for Low power and Lossy Networks (MPL)
draft-ietf-roll-trickle-mcast-05 draft-ietf-roll-trickle-mcast-06
Abstract Abstract
This document specifies the Multicast Protocol for Low power and This document specifies the Multicast Protocol for Low power and
Lossy Networks (MPL) that provides IPv6 multicast forwarding in Lossy Networks (MPL) that provides IPv6 multicast forwarding in
constrained networks. MPL avoids the need to construct or maintain constrained networks. MPL avoids the need to construct or maintain
any multicast forwarding topology, disseminating messages to all MPL any multicast forwarding topology, disseminating messages to all MPL
Forwarders in an MPL Domain. MPL uses the Trickle algorithm to Forwarders in an MPL Domain. MPL uses the Trickle algorithm to
manage message transmissions for both control and data-plane manage message transmissions for both control and data-plane
messages. Different Trickle parameter configurations allow MPL to messages. Different Trickle parameter configurations allow MPL to
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 02, 2014. This Internet-Draft will expire on July 25, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Applicability Statement . . . . . . . . . . . . . . . . . . . 5 3. Applicability Statement . . . . . . . . . . . . . . . . . . . 4
4. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 5 4. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 5
4.1. MPL Domains . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. MPL Domains . . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Information Base Overview . . . . . . . . . . . . . . . . 6 4.2. Information Base Overview . . . . . . . . . . . . . . . . 6
4.3. Overview . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3. Overview . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4. Signaling Overview . . . . . . . . . . . . . . . . . . . 8 4.4. Signaling Overview . . . . . . . . . . . . . . . . . . . 8
5. MPL Parameters and Constants . . . . . . . . . . . . . . . . 9 5. MPL Parameters and Constants . . . . . . . . . . . . . . . . 8
5.1. MPL Multicast Addresses . . . . . . . . . . . . . . . . . 9 5.1. MPL Multicast Addresses . . . . . . . . . . . . . . . . . 9
5.2. MPL Message Types . . . . . . . . . . . . . . . . . . . . 9 5.2. MPL Message Types . . . . . . . . . . . . . . . . . . . . 9
5.3. MPL Seed Identifiers . . . . . . . . . . . . . . . . . . 9 5.3. MPL Seed Identifiers . . . . . . . . . . . . . . . . . . 9
5.4. MPL Forwarder Parameters . . . . . . . . . . . . . . . . 9 5.4. MPL Forwarder Parameters . . . . . . . . . . . . . . . . 9
5.5. MPL Trickle Parameters . . . . . . . . . . . . . . . . . 10
6. Protocol Message Formats . . . . . . . . . . . . . . . . . . 11 6. Protocol Message Formats . . . . . . . . . . . . . . . . . . 11
6.1. MPL Option . . . . . . . . . . . . . . . . . . . . . . . 11 6.1. MPL Option . . . . . . . . . . . . . . . . . . . . . . . 11
6.2. MPL Control Message . . . . . . . . . . . . . . . . . . . 13 6.2. MPL Control Message . . . . . . . . . . . . . . . . . . . 13
6.3. MPL Seed Info . . . . . . . . . . . . . . . . . . . . . . 14 6.3. MPL Seed Info . . . . . . . . . . . . . . . . . . . . . . 14
7. Information Base . . . . . . . . . . . . . . . . . . . . . . 15 7. Information Base . . . . . . . . . . . . . . . . . . . . . . 15
7.1. Local Interface Set . . . . . . . . . . . . . . . . . . . 15 7.1. Local Interface Set . . . . . . . . . . . . . . . . . . . 15
7.2. Domain Set . . . . . . . . . . . . . . . . . . . . . . . 15 7.2. Domain Set . . . . . . . . . . . . . . . . . . . . . . . 15
7.3. Seed Set . . . . . . . . . . . . . . . . . . . . . . . . 15 7.3. Seed Set . . . . . . . . . . . . . . . . . . . . . . . . 15
7.4. Buffered Message Set . . . . . . . . . . . . . . . . . . 16 7.4. Buffered Message Set . . . . . . . . . . . . . . . . . . 15
8. MPL Seed Sequence Numbers . . . . . . . . . . . . . . . . . . 16 8. MPL Seed Sequence Numbers . . . . . . . . . . . . . . . . . . 16
9. MPL Data Messages . . . . . . . . . . . . . . . . . . . . . . 17 9. MPL Data Messages . . . . . . . . . . . . . . . . . . . . . . 16
9.1. MPL Data Message Generation . . . . . . . . . . . . . . . 17 9.1. MPL Data Message Generation . . . . . . . . . . . . . . . 16
9.2. MPL Data Message Transmission . . . . . . . . . . . . . . 17 9.2. MPL Data Message Transmission . . . . . . . . . . . . . . 17
9.3. MPL Data Message Processing . . . . . . . . . . . . . . . 18 9.3. MPL Data Message Processing . . . . . . . . . . . . . . . 18
10. MPL Control Messages . . . . . . . . . . . . . . . . . . . . 19 10. MPL Control Messages . . . . . . . . . . . . . . . . . . . . 19
10.1. MPL Control Message Generation . . . . . . . . . . . . . 19 10.1. MPL Control Message Generation . . . . . . . . . . . . . 19
10.2. MPL Control Message Transmission . . . . . . . . . . . . 20 10.2. MPL Control Message Transmission . . . . . . . . . . . . 19
10.3. MPL Control Message Processing . . . . . . . . . . . . . 20 10.3. MPL Control Message Processing . . . . . . . . . . . . . 20
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
12.1. MPL Option Type . . . . . . . . . . . . . . . . . . . . 22 12.1. MPL Option Type . . . . . . . . . . . . . . . . . . . . 22
12.2. MPL ICMPv6 Type . . . . . . . . . . . . . . . . . . . . 22 12.2. MPL ICMPv6 Type . . . . . . . . . . . . . . . . . . . . 22
12.3. Well-known Multicast Addresses . . . . . . . . . . . . . 23 12.3. Well-known Multicast Addresses . . . . . . . . . . . . . 22
13. Security Considerations . . . . . . . . . . . . . . . . . . . 23 13. Security Considerations . . . . . . . . . . . . . . . . . . . 22
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 23
14.1. Normative References . . . . . . . . . . . . . . . . . . 23 14.1. Normative References . . . . . . . . . . . . . . . . . . 23
14.2. Informative References . . . . . . . . . . . . . . . . . 24 14.2. Informative References . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction 1. Introduction
Low power and Lossy Networks typically operate with strict resource Low power and Lossy Networks typically operate with strict resource
constraints in communication, computation, memory, and energy. Such constraints in communication, computation, memory, and energy. Such
resource constraints may preclude the use of existing IPv6 multicast resource constraints may preclude the use of existing IPv6 multicast
routing and forwarding mechanisms. Traditional IP multicast delivery routing and forwarding mechanisms. Traditional IP multicast delivery
typically relies on topology maintenance mechanisms to discover and typically relies on topology maintenance mechanisms to discover and
maintain routes to all subscribers of a multicast group (e.g. maintain routes to all subscribers of a multicast group (e.g.
[RFC3973] [RFC4601]). However, maintaining such topologies in LLNs [RFC3973] [RFC4601]). However, maintaining such topologies in LLNs
skipping to change at page 5, line 47 skipping to change at page 5, line 39
an MPL Domain. an MPL Domain.
4.1. MPL Domains 4.1. MPL Domains
An MPL Domain is a scope zone, as defined in [RFC4007], in which MPL An MPL Domain is a scope zone, as defined in [RFC4007], in which MPL
Interfaces subscribe to the same MPL Domain Address and participate Interfaces subscribe to the same MPL Domain Address and participate
in disseminating MPL Data Messages. in disseminating MPL Data Messages.
By default, an MPL Forwarder SHOULD participate in an MPL Domain By default, an MPL Forwarder SHOULD participate in an MPL Domain
identified by the ALL_MPL_FORWARDERS multicast address with a scope identified by the ALL_MPL_FORWARDERS multicast address with a scope
value of 3 (Realm-Local) [I-D.droms-6man-multicast-scopes]. When value of 3 (Realm-Local) [I-D.ietf-6man-multicast-scopes].
used with MPL, Realm-Local scope is administratively defined and used
to define the boundaries of multicast message dissemination by MPL. When MPL is used in deployments that use administratively defined
scopes that cover, for example, multiple subnets based on different
underlying network technologies, Admin-Local scope (scop value 4) and
/or Site-Local scope (scop value 5) SHOULD be used.
An MPL Forwarder MAY participate in additional MPL Domains identified An MPL Forwarder MAY participate in additional MPL Domains identified
by other multicast addresses. An MPL Interface MUST subscribe to the by other multicast addresses. An MPL Interface MUST subscribe to the
MPL Domain Addresses for the MPL Domains that it participates in. MPL Domain Addresses for the MPL Domains that it participates in.
The assignment of other multicast addresses is out of scope. The assignment of other multicast addresses is out of scope.
For each MPL Domain Address that an MPL Interface subscribes to, the For each MPL Domain Address that an MPL Interface subscribes to, the
MPL Interface MUST also subscribe to the same MPL Domain Address with MPL Interface MUST also subscribe to the same MPL Domain Address with
a scope value of 2 (link-local) when reactive forwarding is in use a scope value of 2 (link-local) when reactive forwarding is in use
(i.e. when communicating MPL Control Messages). (i.e. when communicating MPL Control Messages).
skipping to change at page 7, line 37 skipping to change at page 7, line 35
o Each MPL Forwarder may periodically link-local multicast MPL o Each MPL Forwarder may periodically link-local multicast MPL
Control Messages on MPL Interfaces to communicate information Control Messages on MPL Interfaces to communicate information
contained in an MPL Domain's Seed Set and Buffered Message Set. contained in an MPL Domain's Seed Set and Buffered Message Set.
o Upon receiving an MPL Control Message, an MPL Forwarder determines o Upon receiving an MPL Control Message, an MPL Forwarder determines
whether there are any new MPL Data Messages that have yet to be whether there are any new MPL Data Messages that have yet to be
received by the MPL Control Message's source and multicasts those received by the MPL Control Message's source and multicasts those
MPL Data Messages. MPL Data Messages.
MPL's configuration parameters allow two forwarding strategies for MPL's configuration parameters allow two forwarding strategies for
disseminating MPL Data Messages. disseminating MPL Data Messages via MPL Interfaces.
Proactive Forwarding - With proactive forwarding, an MPL Forwarder Proactive Forwarding - With proactive forwarding, an MPL Forwarder
schedules transmissions of MPL Data Messages using the Trickle schedules transmissions of MPL Data Messages using the Trickle
algorithm, without any prior indication that neighboring nodes algorithm, without any prior indication that neighboring nodes
have yet to receive the message. After transmitting the MPL Data have yet to receive the message. After transmitting the MPL Data
Message a limited number of times, the MPL Forwarder may terminate Message a limited number of times, the MPL Forwarder may terminate
proactive forwarding for the MPL Data Message message. proactive forwarding for the MPL Data Message.
Reactive Forwarding - With reactive forwarding, an MPL Forwarder Reactive Forwarding - With reactive forwarding, an MPL Forwarder
link-local multicasts MPL Control Messages using the Trickle link-local multicasts MPL Control Messages using the Trickle
algorithm [RFC6206]. MPL Forwarders use MPL Control Messages to algorithm [RFC6206]. MPL Forwarders use MPL Control Messages to
discover new MPL Data Messages that have not yet been received. discover new MPL Data Messages that have not yet been received.
When discovering that a neighboring MPL Forwarder has not yet When discovering that a neighboring MPL Forwarder has not yet
received an MPL Data Message, the MPL Forwarder schedules those received an MPL Data Message, the MPL Forwarder schedules those
MPL Data Messages for transmission using the Trickle algorithm. MPL Data Messages for transmission using the Trickle algorithm.
Note that the use of proactive and reactive forwarding strategies Note that the use of proactive and reactive forwarding strategies
within the same MPL Domain are not mutually exclusive and may be used within the same MPL Domain are not mutually exclusive and may be used
simultaneously. For example, upon receiving a new MPL Data messages simultaneously. For example, upon receiving a new MPL Data Message
when both proactive and reactive forwarding techniques are enabled, when both proactive and reactive forwarding techniques are enabled,
an MPL Forwarder will proactively retransmit the MPL Data Message a an MPL Forwarder will proactively retransmit the MPL Data Message a
limited number of times and schedule further transmissions upon limited number of times and schedule further transmissions upon
receiving MPL Control Messages. receiving MPL Control Messages.
4.4. Signaling Overview 4.4. Signaling Overview
This protocol generates and processes the following messages: This protocol generates and processes the following messages:
MPL Data Message - Generated by an MPL Seed to deliver a multicast MPL Data Message - Generated by an MPL Seed to deliver a multicast
skipping to change at page 9, line 17 skipping to change at page 9, line 10
5. MPL Parameters and Constants 5. MPL Parameters and Constants
This section describes various program and networking parameters and This section describes various program and networking parameters and
constants used by MPL. constants used by MPL.
5.1. MPL Multicast Addresses 5.1. MPL Multicast Addresses
MPL makes use of MPL Domain Addresses to identify MPL Interfaces of MPL makes use of MPL Domain Addresses to identify MPL Interfaces of
an MPL Domain. By default, MPL Forwarders subscribe to the an MPL Domain. By default, MPL Forwarders subscribe to the
ALL_MPL_FORWARDERS multicast address with a scope value of 3 ALL_MPL_FORWARDERS multicast address with a scope value of 3
[I-D.droms-6man-multicast-scopes]. [I-D.ietf-6man-multicast-scopes].
For each MPL Domain Address that an MPL Interface subscribes to, the For each MPL Domain Address that an MPL Interface subscribes to, the
MPL Interface MUST also subscribe to the MPL Domain Address with a MPL Interface MUST also subscribe to the MPL Domain Address with a
scope value of 2 (link-local) when reactive forwarding is in use. scope value of 2 (link-local) when reactive forwarding is in use.
MPL Forwarders use the link-scoped MPL Domain Address to communicate MPL Forwarders use the link-scoped MPL Domain Address to communicate
MPL Control Messages to neighboring (i.e. on-link) MPL Forwarders. MPL Control Messages to neighboring (i.e. on-link) MPL Forwarders.
5.2. MPL Message Types 5.2. MPL Message Types
MPL defines an IPv6 Option for carrying an MPL Seed Identifier and a MPL defines an IPv6 Option for carrying an MPL Seed Identifier and a
skipping to change at page 9, line 50 skipping to change at page 9, line 43
an MPL Seed, the MPL Forwarder MUST have an associated MPL Seed an MPL Seed, the MPL Forwarder MUST have an associated MPL Seed
Identifier. An MPL Forwarder MAY use the same MPL Seed Identifier Identifier. An MPL Forwarder MAY use the same MPL Seed Identifier
across multiple MPL Domains, but the MPL Seed Identifier MUST be across multiple MPL Domains, but the MPL Seed Identifier MUST be
unique within each MPL Domain. The mechanism for assigning and unique within each MPL Domain. The mechanism for assigning and
verifying uniqueness of MPL Seed Identifiers is not specified in this verifying uniqueness of MPL Seed Identifiers is not specified in this
document. document.
5.4. MPL Forwarder Parameters 5.4. MPL Forwarder Parameters
PROACTIVE_FORWARDING A boolean value that indicates whether the MPL PROACTIVE_FORWARDING A boolean value that indicates whether the MPL
Forwarder should schedule MPL Data Message transmissions after Forwarder schedules MPL Data Message transmissions after receiving
receiving them for the first time. PROACTIVE_FORWARDING has a them for the first time. It is RECOMMENDED that all MPL
default value of TRUE. Interfaces attached to the same link of a given MPL Domain use the
same value for PROACTIVE_FORWARDING and has a default value of
TRUE. The mechanism for setting PROACTIVE_FORWARDING is not
specified within this document.
SEED_SET_ENTRY_LIFETIME The minimum lifetime for an entry in the SEED_SET_ENTRY_LIFETIME The minimum lifetime for an entry in the
Seed Set. SEED_SET_ENTRY_LIFETIME has a default value of 30 Seed Set. SEED_SET_ENTRY_LIFETIME has a default value of 30
minutes. minutes. It is RECOMMENDED that all MPL Forwarders use the same
value for SEED_SET_ENTRY_LIFETIME for a given MPL Domain and has a
It is RECOMMENDED that all MPL Forwarders use the same values for the default value of 30 minutes. The mechanism for setting
MPL Forwarder Parameters above for a given MPL Domain. The mechanism SEED_SET_ENTRY_LIFETIME is not specified within this document.
for setting the MPL Forwarder Parameters is not specified within this
document.
5.5. MPL Trickle Parameters
As specified in [RFC6206], a Trickle timer runs for a defined As specified in [RFC6206], a Trickle timer runs for a defined
interval and has three configuration parameters: the minimum interval interval and has three configuration parameters: the minimum interval
size Imin, the maximum interval size Imax, and a redundancy constant size Imin, the maximum interval size Imax, and a redundancy constant
k. k.
This specification defines a fourth Trickle configuration parameter, This specification defines a fourth Trickle configuration parameter,
TimerExpirations, which indicates the number of Trickle timer TimerExpirations, which indicates the number of Trickle timer
expiration events that occur before terminating the Trickle algorithm expiration events that occur before terminating the Trickle algorithm
for a given MPL Data Message or MPL Control Message. for a given MPL Data Message or MPL Control Message.
Each MPL Forwarder uses the following Trickle parameters for MPL Data Each MPL Interface uses the following Trickle parameters for MPL Data
Message and MPL Control Message transmissions. Message and MPL Control Message transmissions.
DATA_MESSAGE_IMIN The minimum Trickle timer interval, as defined in DATA_MESSAGE_IMIN The minimum Trickle timer interval, as defined in
[RFC6206], for MPL Data Message transmissions. DATA_MESSAGE_IMIN [RFC6206], for MPL Data Message transmissions. DATA_MESSAGE_IMIN
has a default value of 10 times the expected link-layer latency. has a default value of 10 times the expected link-layer latency.
DATA MESSAGE_IMAX The maximum Trickle timer interval, as defined in DATA MESSAGE_IMAX The maximum Trickle timer interval, as defined in
[RFC6206], for MPL Data Message transmissions. DATA_MESSAGE_IMAX [RFC6206], for MPL Data Message transmissions. DATA_MESSAGE_IMAX
has a default value equal to DATA_MESSAGE_IMIN. has a default value equal to DATA_MESSAGE_IMIN.
skipping to change at page 11, line 18 skipping to change at page 11, line 10
CONTROL_MESSAGE_K The redundancy constant, as defined in [RFC6206], CONTROL_MESSAGE_K The redundancy constant, as defined in [RFC6206],
for MPL Control Message transmissions. CONTROL_MESSAGE_K has a for MPL Control Message transmissions. CONTROL_MESSAGE_K has a
default value of 1. default value of 1.
CONTROL_MESSAGE_TIMER_EXPIRATIONS The number of Trickle timer CONTROL_MESSAGE_TIMER_EXPIRATIONS The number of Trickle timer
expirations that occur before terminating the Trickle algorithm expirations that occur before terminating the Trickle algorithm
for MPL Control Message transmissions. for MPL Control Message transmissions.
CONTROL_MESSAGE_TIMER_EXPIRATIONS has a default value of 10. CONTROL_MESSAGE_TIMER_EXPIRATIONS has a default value of 10.
Following [RFC6206], it is RECOMMENDED that all MPL Forwarders use Following [RFC6206], it is RECOMMENDED that all MPL Interfaces
the same values for the Trickle Parameters above for a given MPL attached to the same link of a given MPL Domain use the same values
Domain. The mechanism for setting the Trickle Parameters is not for the Trickle Parameters above for a given MPL Domain. The
specified within this document. mechanism for setting the Trickle Parameters is not specified within
this document.
The default Trickle parameter values above combined with the default The default Trickle parameter values above combined with the default
MPL Forwarder parameters in the prior section specify a forwarding MPL Forwarder parameters in the prior section specify a forwarding
strategy that utilizes both proactive and reactive techniques. Using strategy that utilizes both proactive and reactive techniques. Using
these default values, an MPL Forwarder proactively transmits any new these default values, an MPL Forwarder proactively transmits any new
MPL Data Messages it receives then uses MPL Control Messages to MPL Data Messages it receives then uses MPL Control Messages to
trigger additional MPL Data Message retransmissions where message trigger additional MPL Data Message retransmissions where message
drops are detected. Setting DATA_MESSAGE_IMAX to the same as drops are detected. Setting DATA_MESSAGE_IMAX to the same as
DATA_MESSAGE_IMIN in this case is acceptable since subsequent MPL DATA_MESSAGE_IMIN in this case is acceptable since subsequent MPL
Data Message retransmissions are triggered by MPL Control Messages, Data Message retransmissions are triggered by MPL Control Messages,
skipping to change at page 22, line 28 skipping to change at page 22, line 11
This document registers two well-known multicast addresses from the This document registers two well-known multicast addresses from the
IPv6 multicast address space. IPv6 multicast address space.
12.1. MPL Option Type 12.1. MPL Option Type
IANA is requested to allocate an IPv6 Option Type from the IPv6 IANA is requested to allocate an IPv6 Option Type from the IPv6
"Destination Options and Hop-by-Hop Options" registry of [RFC2780], "Destination Options and Hop-by-Hop Options" registry of [RFC2780],
as specified in Table 1 below: as specified in Table 1 below:
+--------------+-------+-----+------------+-------------+-----------+ +--------------+-----+-----+--------------+-------------+-----------+
| Mnemonic | act | chg | rest | Description | Reference | | Mnemonic | act | chg | rest | Description | Reference |
+--------------+-------+-----+------------+-------------+-----------+ +--------------+-----+-----+--------------+-------------+-----------+
| MPL_OPT_TYPE | 01 | 1 | TBD | MPL Option | This | | MPL_OPT_TYPE | 01 | 1 | TBD | MPL Option | This |
| | | | (suggested | | Document | | | | | (suggested | | Document |
| | | | value | | | | | | | value 01101) | | |
| | | | 01101) | | | +--------------+-----+-----+--------------+-------------+-----------+
+--------------+-------+-----+------------+-------------+-----------+
Table 1: IPv6 Option Type Allocation Table 1: IPv6 Option Type Allocation
12.2. MPL ICMPv6 Type 12.2. MPL ICMPv6 Type
IANA is requested to allocate an ICMPv6 Type from the "ICMPv6 "type" IANA is requested to allocate an ICMPv6 Type from the "ICMPv6 "type"
Numbers" registry of [RFC4443], as specified in Table 2 below: Numbers" registry of [RFC4443], as specified in Table 2 below:
+---------------+------+---------------------+---------------+ +---------------+------+---------------------+---------------+
| Mnemonic | Type | Name | Reference | | Mnemonic | Type | Name | Reference |
skipping to change at page 23, line 10 skipping to change at page 22, line 39
| MPL_ICMP_TYPE | TBD | MPL Control Message | This Document | | MPL_ICMP_TYPE | TBD | MPL Control Message | This Document |
+---------------+------+---------------------+---------------+ +---------------+------+---------------------+---------------+
Table 2: IPv6 Option Type Allocation Table 2: IPv6 Option Type Allocation
12.3. Well-known Multicast Addresses 12.3. Well-known Multicast Addresses
IANA is requested to allocate an IPv6 multicast address, with Group IANA is requested to allocate an IPv6 multicast address, with Group
ID in the range [0x01,0xFF] for 6LoWPAN compression [RFC6282], ID in the range [0x01,0xFF] for 6LoWPAN compression [RFC6282],
"ALL_MPL_FORWARDERS" from the "Variable Scope Multicast Addresses" "ALL_MPL_FORWARDERS" from the "Variable Scope Multicast Addresses"
sub-registry of the "INTERNET PROTOCOL VERSION 6 MULTICAST ADDRESSES" sub-registry of the "IPv6 Multicast Address Space" registry
registry. [RFC3307].
13. Security Considerations 13. Security Considerations
MPL uses sequence numbers to maintain a total ordering of MPL Data MPL uses sequence numbers to maintain a total ordering of MPL Data
Messages from an MPL Seed. The use of sequence numbers allows a Messages from an MPL Seed. The use of sequence numbers allows a
denial-of-service attack where an attacker can spoof a message with a denial-of-service attack where an attacker can spoof a message with a
sufficiently large sequence number to: (i) flush messages from the sufficiently large sequence number to: (i) flush messages from the
Buffered Message List and (ii) increase the MinSequence value for an Buffered Message List and (ii) increase the MinSequence value for an
MPL Seed in the corresponding Seed Set. The former side effect MPL Seed in the corresponding Seed Set. The former side effect
allows an attacker to halt the forwarding process of any MPL Data allows an attacker to halt the forwarding process of any MPL Data
skipping to change at page 23, line 45 skipping to change at page 23, line 25
communication interface that does not subscribe to the MPL Domain communication interface that does not subscribe to the MPL Domain
Address identified in message's destination address. Address identified in message's destination address.
MPL uses the Trickle algorithm to manage message transmissions and MPL uses the Trickle algorithm to manage message transmissions and
the security considerations described in [RFC6206] apply. the security considerations described in [RFC6206] apply.
14. References 14. References
14.1. Normative References 14.1. Normative References
[I-D.droms-6man-multicast-scopes] [I-D.ietf-6man-multicast-scopes]
Droms, R., "IPv6 Multicast Address Scopes", draft-droms- Droms, R., "IPv6 Multicast Address Scopes", draft-ietf-
6man-multicast-scopes-02 (work in progress), July 2013. 6man-multicast-scopes-02 (work in progress), November
2013.
[RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, [RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982,
August 1996. August 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998. (IPv6) Specification", RFC 2460, December 1998.
[RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in
IPv6 Specification", RFC 2473, December 1998. IPv6 Specification", RFC 2473, December 1998.
[RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For
Values In the Internet Protocol and Related Headers", BCP Values In the Internet Protocol and Related Headers", BCP
37, RFC 2780, March 2000. 37, RFC 2780, March 2000.
[RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast
Addresses", RFC 3307, August 2002.
[RFC4007] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and [RFC4007] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and
B. Zill, "IPv6 Scoped Address Architecture", RFC 4007, B. Zill, "IPv6 Scoped Address Architecture", RFC 4007,
March 2005. March 2005.
[RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control
Message Protocol (ICMPv6) for the Internet Protocol Message Protocol (ICMPv6) for the Internet Protocol
Version 6 (IPv6) Specification", RFC 4443, March 2006. Version 6 (IPv6) Specification", RFC 4443, March 2006.
[RFC6206] Levis, P., Clausen, T., Hui, J., Gnawali, O., and J. Ko, [RFC6206] Levis, P., Clausen, T., Hui, J., Gnawali, O., and J. Ko,
"The Trickle Algorithm", RFC 6206, March 2011. "The Trickle Algorithm", RFC 6206, March 2011.
 End of changes. 26 change blocks. 
53 lines changed or deleted 57 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/