draft-ietf-roll-trickle-mcast-07.txt   draft-ietf-roll-trickle-mcast-08.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: August 19, 2014 Silicon Labs Expires: September 29, 2014 Silicon Labs
February 15, 2014 March 28, 2014
Multicast Protocol for Low power and Lossy Networks (MPL) Multicast Protocol for Low power and Lossy Networks (MPL)
draft-ietf-roll-trickle-mcast-07 draft-ietf-roll-trickle-mcast-08
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 August 19, 2014. This Internet-Draft will expire on September 29, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2014 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
skipping to change at page 2, line 17 skipping to change at page 2, line 17
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 . . . . . . . . . . . . . . . . . . . 4 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. Protocol Overview . . . . . . . . . . . . . . . . . . . . 6
4.4. Signaling Overview . . . . . . . . . . . . . . . . . . . 8 4.4. Signaling Overview . . . . . . . . . . . . . . . . . . . 8
5. MPL Parameters and Constants . . . . . . . . . . . . . . . . 8 5. MPL Parameters and Constants . . . . . . . . . . . . . . . . 8
5.1. MPL Multicast Addresses . . . . . . . . . . . . . . . . . 8 5.1. MPL Multicast Addresses . . . . . . . . . . . . . . . . . 8
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 Parameters . . . . . . . . . . . . . . . . . . . . . 9 5.4. MPL Parameters . . . . . . . . . . . . . . . . . . . . . 9
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 . . . . . . . . . . . . . . . . . . . 12 6.2. MPL Control Message . . . . . . . . . . . . . . . . . . . 12
6.3. MPL Seed Info . . . . . . . . . . . . . . . . . . . . . . 13 6.3. MPL Seed Info . . . . . . . . . . . . . . . . . . . . . . 13
skipping to change at page 3, line 13 skipping to change at page 3, line 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24
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 Low
is costly and may not be feasible given the available resources. power and Lossy Networks (LLNs) is costly and may not be feasible
given the available resources.
Memory constraints may limit devices to maintaining links/routes to Memory constraints may limit devices to maintaining links/routes to
one or a few neighbors. For this reason, the Routing Protocol for one or a few neighbors. For this reason, the Routing Protocol for
LLNs (RPL) specifies both storing and non-storing modes [RFC6550]. LLNs (RPL) specifies both storing and non-storing modes [RFC6550].
The latter allows RPL routers to maintain only one or a few default The latter allows RPL routers to maintain only one or a few default
routes towards a LLN Border Router (LBR) and use source routing to routes towards a LLN Border Router (LBR) and use source routing to
forward messages away from the LBR. For the same reasons, a LLN forward messages away from the LBR. For the same reasons, a LLN
device may not be able to maintain a multicast routing topology when device may not be able to maintain a multicast routing topology when
operating with limited memory. operating with limited memory.
skipping to change at page 4, line 5 skipping to change at page 4, line 5
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
[RFC2119]. [RFC2119].
The following terms are used throughout this document: The following terms are used throughout this document:
MPL Forwarder - A router that implements this protocol. An MPL MPL Forwarder - A router that implements MPL. An MPL Forwarder
Forwarder is equipped with at least one MPL is equipped with at least one MPL Interface.
Interface.
MPL Interface - An MPL Forwarder's attachment to a MPL Interface - An MPL Forwarder's attachment to a
communications medium, over which it transmits communications medium, over which it transmits
and receives MPL Data Messages and MPL Control and receives MPL Data Messages and MPL Control
Messages according to this specification. An MPL Messages according to this specification. An MPL
Interface is assigned one or more unicast Interface is assigned one or more unicast
addresses and is subscribed to one or more MPL addresses and is subscribed to one or more MPL
Domain Addresses. Domain Addresses.
MPL Domain Address - A multicast address that identifies the set of MPL Domain Address - A multicast address that identifies the set of
skipping to change at page 4, line 48 skipping to change at page 4, line 47
MPL Seed - An MPL Forwarder that generates MPL Data MPL Seed - An MPL Forwarder that generates MPL Data
Messages and serves as an entry point into an MPL Messages and serves as an entry point into an MPL
Domain. Domain.
MPL Seed Identifier - An unsigned integer that uniquely identifies an MPL Seed Identifier - An unsigned integer that uniquely identifies an
MPL Seed within an MPL Domain. MPL Seed within an MPL Domain.
3. Applicability Statement 3. Applicability Statement
This protocol is an IPv6 multicast forwarding protocol designed for MPL is an IPv6 multicast forwarding protocol designed for the
the communication characteristics and resource constraints of Low- communication characteristics and resource constraints of Low-Power
Power and Lossy Networks. By implementing controlled disseminations and Lossy Networks. By implementing controlled disseminations of
of multicast messages using the Trickle algorithm, this protocol is multicast messages using the Trickle algorithm, MPL is designed for
designed for networks that communicate using low-power and lossy networks that communicate using low-power and lossy links with widely
links with widely varying topologies in both the space and time varying topologies in both the space and time dimensions.
dimensions.
While designed specifically for Low-Power and Lossy Networks, this While designed specifically for Low-Power and Lossy Networks, MPL is
protocol is not limited to use over such networks. This protocol may not limited to use over such networks. MPL may be applicable to any
be applicable to any network where no multicast routing state is network where no multicast routing state is desired. MPL may also be
desired. This protocol may also be used in environments where only a used in environments where only a subset of links are considered Low-
subset of links are considered Low-Power and Lossy links. Power and Lossy links.
A host need not be aware that their multicast is supported by MPL as A host need not be aware that their multicast is supported by MPL as
long as its attachment router forwards multicast messages between the long as its attachment router forwards multicast messages between the
MPL Domain and the host. However, a host may choose to implement MPL MPL Domain and the host. However, a host may choose to implement MPL
so that it can take advantage of the broadcast medium inherent in so that it can take advantage of the broadcast medium inherent in
many Low-Power and Lossy Networks and receive multicast messages many Low-Power and Lossy Networks and receive multicast messages
carried by MPL directly. carried by MPL directly.
4. Protocol Overview 4. Protocol Overview
skipping to change at page 6, line 34 skipping to change at page 6, line 34
o A Buffered Message Set records recently received MPL Data Messages o A Buffered Message Set records recently received MPL Data Messages
from an MPL Seed within an MPL Domain. Each MPL Domain has an from an MPL Seed within an MPL Domain. Each MPL Domain has an
associated Buffered Message Set. MPL Data Messages resident in a associated Buffered Message Set. MPL Data Messages resident in a
Buffered Message Set have sequence numbers that are greater than Buffered Message Set have sequence numbers that are greater than
or equal to the minimum threshold maintained in the corresponding or equal to the minimum threshold maintained in the corresponding
Seed Set. MPL uses Buffered Message Sets to store MPL Data Seed Set. MPL uses Buffered Message Sets to store MPL Data
Messages that may be transmitted by the MPL Forwarder for Messages that may be transmitted by the MPL Forwarder for
forwarding. forwarding.
4.3. Overview 4.3. Protocol Overview
MPL achieves its goal by implementing a controlled flood that MPL achieves its goal by implementing a controlled flood that
attempts to disseminate the multicast data message to all interfaces attempts to disseminate the multicast data message to all interfaces
within an MPL Domain. MPL performs the following tasks to within an MPL Domain. MPL performs the following tasks to
disseminate a multicast message: disseminate a multicast message:
o When having a multicast message to forward into an MPL Domain, the o When having a multicast message to forward into an MPL Domain, the
MPL Seed generates an MPL Data Message that includes the MPL MPL Seed generates an MPL Data Message that includes the MPL
Domain Address as the IPv6 Destination Address, the MPL Seed Domain Address as the IPv6 Destination Address, the MPL Seed
Identifier, a newly generated sequence number, and the multicast Identifier, a newly generated sequence number, and the multicast
skipping to change at page 8, line 9 skipping to change at page 8, line 9
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 Message 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: MPL 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
message across an MPL Domain. The MPL Data Message's source is an message across an MPL Domain. The MPL Data Message's source is an
address in the Local Interface Set of the MPL Seed that generated address in the Local Interface Set of the MPL Seed that generated
the message and is valid within the MPL Domain. The MPL Data the message and is valid within the MPL Domain. The MPL Data
Message's destination is the MPL Domain Address corresponding to Message's destination is the MPL Domain Address corresponding to
the MPL Domain. An MPL Data Message contains: the MPL Domain. An MPL Data Message contains:
* The Seed Identifier of the MPL Seed that generated the MPL Data * The Seed Identifier of the MPL Seed that generated the MPL Data
Message. Message.
skipping to change at page 23, line 32 skipping to change at page 23, line 32
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.ietf-6man-multicast-scopes] [I-D.ietf-6man-multicast-scopes]
Droms, R., "IPv6 Multicast Address Scopes", draft-ietf- Droms, R., "IPv6 Multicast Address Scopes", draft-ietf-
6man-multicast-scopes-02 (work in progress), November 6man-multicast-scopes-03 (work in progress), February
2013. 2014.
[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.
 End of changes. 11 change blocks. 
26 lines changed or deleted 25 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/