| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||