5186
INFORMATIONAL

Internet Group Management Protocol Version 3 (IGMPv3) / Multicast Listener Discovery Version 2 (MLDv2) and Multicast Routing Protocol Interaction

Authors: B. Haberman, J. Martin
Date: May 2008
Area: int
Working Group: magma
Stream: IETF

Abstract

The definitions of the Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Version 2 (MLDv2) require new behavior within the multicast routing protocols. The additional source information contained in IGMPv3 and MLDv2 messages necessitates that multicast routing protocols manage and utilize the information. This document describes how multicast routing protocols will interact with these source-filtering group management protocols. This memo provides information for the Internet community.

RFC 5186: Internet Group Management Protocol Version 3 (IGMPv3) / Multicast Listener Discovery Version 2 (MLDv2) and Multicast Routing Protocol Interaction [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

INFORMATIONAL
Network Working Group                                        B. Haberman
Request for Comments: 5186                      Johns Hopkins University
Category: Informational                                        J. Martin
                                                           Woven Systems
                                                                May 2008


        <span class="h1">Internet Group Management Protocol Version 3 (IGMPv3) /</span>
          <span class="h1">Multicast Listener Discovery Version 2 (MLDv2) and</span>
                 <span class="h1">Multicast Routing Protocol Interaction</span>

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Abstract

   The definitions of the Internet Group Management Protocol Version 3
   (IGMPv3) and Multicast Listener Discovery Version 2 (MLDv2) require
   new behavior within the multicast routing protocols.  The additional
   source information contained in IGMPv3 and MLDv2 messages
   necessitates that multicast routing protocols manage and utilize the
   information.  This document describes how multicast routing protocols
   will interact with these source-filtering group management protocols.

<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   The definitions of IGMPv3 [<a href="#ref-IGMP3" title=""Internet Group Management Protocol, Version 3"">IGMP3</a>] and MLDv2 [<a href="#ref-MLDv2" title=""Multicast Listener Discovery Version 2 (MLDv2) for IPv6"">MLDv2</a>] require new
   behavior within the multicast routing protocols.  The additional
   source information contained in IGMPv3 and MLDv2 messages
   necessitates that multicast routing protocols manage and utilize the
   information.  This document will describe how multicast routing
   protocols will interpret information learned from these source-
   filtering group management protocols.

<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Multicast Forwarding State</span>

   Existing multicast routing protocols utilize the group management
   database in determining if local members exist for a particular
   multicast group.  With previous group management protocols, this
   database had one type of record indicating the group for which there
   was interest and the associated local interfaces.







<span class="grey">Haberman & Martin            Informational                      [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc5186">RFC 5186</a>          IGMPv3/MLDv2 and Multicast Protocols          May 2008</span>


   In the case of IGMPv3 and MLDv2, these routing protocols may now
   build multicast forwarding state based on the source filter
   information available for each multicast group that has local
   membership.  This requires that the group management database have
   four record types.  Only one record may exist for a given interface
   and a given multicast group.

      1. EXCLUDE <>
         The EXCLUDE <> record indicates interest in all sources
         destined to this group address for a set of local interfaces.
         It is equivalent to the single record type existing in previous
         versions of the group management protocols.

      2. INCLUDE <>
         The INCLUDE <> record indicates that there is no interest in
         any sources destined to this group address for a set of local
         interfaces.

      3. EXCLUDE <list>
         The EXCLUDE <list> record indicates that there is interest in
         all sources other than the specifically listed sources for a
         set of local interfaces.

      4. INCLUDE <list>
         The INCLUDE <list> record indicates that there is interest in
         only the specifically listed sources for a set of local
         interfaces.

   The records in the group management database should be utilized when
   generating forwarding state for a multicast group.  If the source
   address in the multicast packet exists in the database for the
   specified multicast group and is in an INCLUDE list or is not listed
   in an EXCLUDE list, the multicast routing protocol should add the
   interface to the list of downstream interfaces; otherwise, it should
   not be added based on local group membership.

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  DVMRP Interaction</span>

   The Distance Vector Multicast Routing Protocol (DVMRP) [<a href="#ref-DVMRP" title=""Distance Vector Multicast Routing Protocol"">DVMRP</a>] does
   not incorporate any knowledge of the multicast group's senders.
   Therefore, DVMRP will act only on the multicast group address
   contained in an IGMPv3 or MLDv2 report.

   Future standardized versions of DVMRP may incorporate pruning and
   grafting messages similar to PIM-DM (discussed in <a href="#section-5">Section 5</a>).  The
   rules defined in <a href="#section-5">Section 5</a> can be applied in this situation.





<span class="grey">Haberman & Martin            Informational                      [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc5186">RFC 5186</a>          IGMPv3/MLDv2 and Multicast Protocols          May 2008</span>


<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  MOSPF Interaction</span>

   In Multicast Extensions to OSPF (MOSPF) [<a href="#ref-MOSPF" title=""Multicast Extensions to OSPF"">MOSPF</a>], the consideration of
   source filter information in the group management database is limited
   to the building of forwarding state (discussed above).  This is due
   to the flooding of group-membership-LSAs within MOSPF.

<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  PIM-DM Interaction</span>

   The PIM-DM protocol [<a href="#ref-PIMDM" title=""Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification (Revised)"">PIMDM</a>] interaction with a source-filtering group
   management protocol is important in two areas: multicast distribution
   tree pruning and multicast distribution tree grafting.  The following
   sections will describe the behavior needed in PIM-DM to interoperate
   with IGMPv3 and MLDv2.

<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>.  PIM-DM Prunes</span>

   PIM-DM prune messages are initiated when a PIM-DM router determines
   that there are no entities interested in the data flowing on the
   (S,G) forwarding state.  If the multicast router is running IGMPv3 or
   MLDv2, this is determined by the source S being in EXCLUDE state in
   the source filter for the destination G, or all interest in G being
   terminated for an existing (S,G) forwarding entry.

<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>.  PIM-DM Grafts</span>

   PIM-DM graft messages are sent in order to override an existing PIM-
   DM prune.  In the case of IGMPv3 or MLDv2, this occurs when prune
   state exists for (S,G) and a state change occurs in which the source
   filter state for S changes to INCLUDE for the specified G.

<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  PIM-SM Interaction</span>

   A PIM-SM interaction takes place when a PM-SM [<a href="#ref-PIMSM" title=""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"">PIMSM</a>] router receives
   an IGMP or MLD message regarding a group address that is in the Any
   Source Multicast (ASM) range.  This range is defined as the entire
   multicast address space excluding the global SSM range [<a href="#ref-SSM" title=""Source-Specific Multicast for IP"">SSM</a>] and any
   locally defined Source Specific space.













<span class="grey">Haberman & Martin            Informational                      [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc5186">RFC 5186</a>          IGMPv3/MLDv2 and Multicast Protocols          May 2008</span>


<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>.  PIM-SM Joins (ASM Behavior)</span>

   PIM-SM join messages are initiated when a PIM-SM router determines
   that there are entities interested in a specific group or a specific
   source sending to the group.  If this is due to an IGMPv3 or MLDv2
   report with a zero-length EXCLUDE list, then the join is sent as a
   (*,G) join towards the RP.

   If the join is triggered by an IGMPv3 or MLDv2 state change that
   affects source information, the PIM-SM join is sent as a (S,G) join
   towards the specific source.  This behavior optimizes the join
   process, as well as facilitates the adoption of the SSM model.  The
   generation of this (S,G) join can cause failures in architectures
   where leaf routers do not have global reachability, and thus, can be
   overridden by local policy.  If this is the case, then all triggered
   joins are sent towards the RP as (*,G) joins.  The router sending the
   (*,G) join is responsible for filtering the data as per the IGMPv3
   database before forwarding.

<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>.  PIM-SM Prunes (ASM Behavior)</span>

   PIM-SM prune messages are initiated when a PIM-SM router determines
   that there are no entities interested in a specific group, or a
   specific source sending to the group.  If this is triggered by either
   receiving a report with an EXCLUDE or if a specific Source/Group
   times out, then an (S,G) prune is sent towards the upstream router.
   If all of the IGMPv3 or MLDv2 derived requests for a group time out,
   then (S,G) and (*,G) prunes are sent upstream as needed to stop all
   flow of traffic for that group.

<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  PIM-SSM Interaction</span>

   A PIM-SSM interaction takes place when a PIM-SM router receives an
   IGMPv3 or MLDv2 message regarding a group address that is in the
   Source Specific Multicast range.  This behavior is not defined in
   this document, but rather in [<a href="#ref-PIMSM" title=""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"">PIMSM</a>].

<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>.  Security Considerations</span>

   This document does not introduce any additional security issues above
   and beyond those already discussed in [<a href="#ref-PIMDM" title=""Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification (Revised)"">PIMDM</a>], [<a href="#ref-PIMSM" title=""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"">PIMSM</a>], [<a href="#ref-IGMP3" title=""Internet Group Management Protocol, Version 3"">IGMP3</a>], and
   [<a href="#ref-MLDv2" title=""Multicast Listener Discovery Version 2 (MLDv2) for IPv6"">MLDv2</a>].

<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>.  Acknowledgements</span>

   The authors would like to thank Murali Brahmadesam, Leonard Giuliano,
   and Hal Sandick for their feedback and suggestions.




<span class="grey">Haberman & Martin            Informational                      [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc5186">RFC 5186</a>          IGMPv3/MLDv2 and Multicast Protocols          May 2008</span>


<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>.  Normative References</span>

   [<a id="ref-IGMP3">IGMP3</a>] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
           Thyagarajan, "Internet Group Management Protocol, Version 3",
           <a href="./rfc3376">RFC 3376</a>, October 2002.

   [<a id="ref-MLDv2">MLDv2</a>] Vida, R., Ed., and L. Costa, Ed., "Multicast Listener
           Discovery Version 2 (MLDv2) for IPv6", <a href="./rfc3810">RFC 3810</a>, June 2004.

   [<a id="ref-DVMRP">DVMRP</a>] Waitzman, D., Partridge, C., and S. Deering, "Distance Vector
           Multicast Routing Protocol", <a href="./rfc1075">RFC 1075</a>, November 1988.

   [<a id="ref-MOSPF">MOSPF</a>] Moy, J., "Multicast Extensions to OSPF", <a href="./rfc1584">RFC 1584</a>, March
           1994.

   [<a id="ref-PIMDM">PIMDM</a>] Adams, A., Nicholas, J., and W. Siadak, "Protocol Independent
           Multicast - Dense Mode (PIM-DM): Protocol Specification
           (Revised)", <a href="./rfc3973">RFC 3973</a>, January 2005.

   [<a id="ref-PIMSM">PIMSM</a>] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
           "Protocol Independent Multicast - Sparse Mode (PIM-SM):
           Protocol Specification (Revised)", <a href="./rfc4601">RFC 4601</a>, August 2006.

   [<a id="ref-SSM">SSM</a>]   Holbrook, H. and B. Cain, "Source-Specific Multicast for IP",
           <a href="./rfc4607">RFC 4607</a>, August 2006.

Authors' Addresses

   Brian Haberman
   The Johns Hopkins University Applied Physics Laboratory
   11100 Johns Hopkins Road
   Laurel, MD  20723-6099
   US

   Phone: +1 443 778 1319
   EMail: [email protected]

   Jim Martin
   Woven Systems
   2455 Augustine Drive, Suite 211
   Santa Clara, CA  95054
   US

   Phone: +1 408 654-8143
   EMail: [email protected]






<span class="grey">Haberman & Martin            Informational                      [Page 5]</span>

<span id="page-6" ></span>
<span class="grey"><a href="./rfc5186">RFC 5186</a>          IGMPv3/MLDv2 and Multicast Protocols          May 2008</span>


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   <a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   [email protected].












Haberman & Martin            Informational                      [Page 6]

Additional Resources