<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<rfc category="std" ipr="trust200902" docName="draft-ramki-igmp-ssm-ranges-00">

<?rfc toc="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>

<front>
    <title abbrev="SSM range distribution for L2 multicast networks.">Source specific multicast range distribution for L2 multicast networks </title>
  <author initials="R" surname="Chokkanathapuram Sundaram" fullname="Ramakrishnan Chokkanathapuram Sundaram">
      <organization>Cisco Systems, Inc.</organization>
      <address>
  <postal>
    <street>Tasman Drive</street>
    <city>San Jose</city>
    <code>CA 95134</code>
    <country>USA</country>
  </postal>
  <email>ramaksun@cisco.com</email>
      </address>      
    </author>
  <author initials="S" surname="Venaas" fullname="Stig Venaas">
      <organization>Cisco Systems, Inc.</organization>
      <address>
  <postal>
    <street>Tasman Drive</street>
    <city>San Jose</city>
    <code>CA 95134</code>
    <country>USA</country>
  </postal>
  <email>stig@cisco.com</email>
      </address>      
    </author>
    <date/>
    <area>Routing</area>
    <keyword>Multicast</keyword>

    <abstract>
	<t>
In an IGMP snooping multicast network with version 3 (v3) enabled on the routers, when a v2 join/leave is received for a multicast group  the router operates on V2 compatible mode. For SSM ranges a (*,G)v2 or v3 report should be ignored by the router/switch. The  IGMP snooping switches may not have knowledge about the user configured SSM range in the network to correctly discard/ignore the v2 join/leave. Accepting (*,G) v2 or v3 will cause SSM operations to fail.
This draft discusses distribution of SSM ranges in the L2 multicast network so that L2 snooping switches can  learn about the configured SSM ranges and discard any (*,G) v2/v3 reports for the said ranges.

	</t>
    </abstract>

</front>
<middle>
    <section title="Introduction">
      <t>
IGMP v2 join and leaves and IGMP v3 (*,G) group records should be discarded for Source specific multicast group ranges. The default SSM range is 232/8 but changing the range is possible. In a L2 multicast network the Snooping switches are unaware of the user configured SSM ranges in the network. Methods are needed to distribute  user configured SSM ranges so that all snooping switches in the L2 domain knows about the same. Thus the snooping switches can discard the Version 2 joins/leaves falling in the SSM range. If the v2 joins/leaves for the SSM ranges  are not discarded then the router/ querier start operating in v2 mode. This will result in outages. The same problem is applicable for MLD as well.
      </t>
      <section title="Conventions Used in This Document">
        <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
        NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
        "OPTIONAL" in this document are to be interpreted as described
        in RFC 2119 <xref target='RFC2119'/>.
        </t>
      </section>
          <section title="Terminology">
      <t>
  <list style='hanging'>
    <t hangText='DR:'>
      Designated Router
    </t>
    <t hangText='SSM:'>
      Source Specific Multicast
    </t>
  </list>
      </t>
    </section>
    </section>

  <section title="L2 network with a PIM router">
    <t>
     In a LAN if a PIM router is detected the LAN segment should use the PIM SSM range configured on the PIM router which is the DR on the LAN.
Snooping switches typically process PIM Hello packets already to detect routers.  A new PIM Hello Option will carry the current (default or configured) SSM group ranges. The PIM Hello Option can be used by the snooping switches to learn the SSM ranges used in the network. Thus an IGMP message for a group in the SSM range in a v3 enabled network can correctly be discarded/ignored. Preventing hosts (whether by accident or a DoS attack) from disrupting the SSM service.

Routers could  be statically configured with the SSM group range. In case there are multiple routers on the LAN it is possible that routers are configured with different ranges. In that case, switches should use the range announced by the DR. The option allows for detecting configuration mistakes. A PIM router can log a message if it sees a neighbor announcing a different SSM range. Also, switches can log a message if they are statically configured with ranges that differ from what what is announced by the DR.
There is no hold time for the config. The config is removed if the router sends a hello without the option, or the DR expires. If a new DR is elected, the config will be replaced by what the new DR is announcing.

     <figure>
    <artwork>Figure 1: PIM SSM range hello option.
      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Type = TBD           |      Length = Variable.       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Group Address 1 (Encoded-Group format)               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                     
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Group Address N (Encoded-Group format)               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

</artwork>
     </figure>
</t>
  </section>

  <section title="L2 multicast network with no PIM router">
    <t>

 In a pure L2 only network a new IGMP message is sent from querier  to learn the SSM ranges. The SSM range used should be configured on the querier and the querier will distribute it with a new message type so that all L2 switches can learn about the SSM range. 
     
       <figure>

    <artwork>Figure 2: IGMP SSM range message.
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Type = TBD   |    Reserved   |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Reserved            |  Num SSM ranges               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    SSM range 1                                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       ....                                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    SSM range N                                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       
      SSM range is an IP address plus a length octet.
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   SSM  Prefix address                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Prefix length |
      +-+-+-+-+-+-+-+-+
</artwork>
       </figure>
    </t>
</section>
   
  <section title="IANA Considerations">
    <t>
        This document requires the assignment of a PIM hello option  and an IGMP message type.  
     </t>
  </section>
  <section title="Acknowledgments">
    <t>

    </t>
  </section>
</middle>
<back>
  <references title='Normative References'>
	  <?rfc include='reference.RFC.2119' ?>
	  <?rfc include='reference.RFC.4607' ?>
	  <?rfc include='reference.RFC.4604' ?>
	  <?rfc include='reference.RFC.3376' ?>
  </references>
  
  <references title='Informative References'>
	  <?rfc include='reference.RFC.3973' ?>
	    </references>
</back>

</rfc>
