<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">

<!ENTITY RFC6085 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6085.xml">

<!ENTITY RFC3810 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3810.xml">

<!ENTITY RFC4861 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml">

<!ENTITY RFC4541 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4541.xml">


]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc updates="" category="std" docName="draft-smith-mldv2-link-unicast-00" ipr="trust200902">

  <front>

    <title abbrev="MLDv2 Procedures for Link-Layer Unicast">MLDv2 Procedures for Link-Layer Unicast Delivery of Multicast IPv6</title>

    <author fullname="Mark Smith" initials="M.R." surname="Smith">
      <organization abbrev="IMOT">In My Own Time</organization>

      <address>
        <postal>
          <street>PO BOX 521</street>

          <city>HEIDELBERG</city>

          <region>VIC</region>

          <code>3084</code>

          <country>AU</country>
        </postal>

        <email>markzzzsmith@yahoo.com.au</email>

      </address>
    </author>

    <date year="2013" />

    <area>General</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>ipv6</keyword>
    <keyword>multicast</keyword>
    <keyword>link-layer</keyword>
    <keyword>unicast</keyword>
    <keyword>mldv2</keyword>

    <abstract>
	<t>Some multi-access link-layer technologies typically not provide good IPv6 multicast performance, using link-layer multicasts, when the volume of multicast traffic is significant. It would be possible to replicate and then link-layer unicast multicast IPv6 traffic to interested listeners to overcome these link-layer performance limitations. This memo describes MLDv2 and IPv6 neighbor discovery procedures to support link-layer unicast delivery of multicast IPv6 traffic.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">

	<t>Some multi-access link-layer technologies, such as IEEE 802.11, typically do not provide good IPv6 multicast performance when the volume of multicast traffic is significant. Additionally, unicast performance of the link may also be impacted while significant multicast traffic is present. To overcome link-layer multicast performance problems, it could be useful to use packet replication and link-layer unicasting of the IPv6 multicast traffic when the node's capacity to do so exceeds the link-layer's multicast capacity and/or performance. It could also be useful to use unicast transmission of multicast IPv6 traffic to reduce power consumption on battery powered devices attached to the link.</t>

	<t>This link-layer unicast transmission of IPv6 multicast traffic would be an alternative option to using link-layer multicast transmission. Where necessary, such as when the link-layer unicast information for the destination(s) cannot or cannot easily be determined, link-layer multicast would continue to be used.</t>

	<t><xref target="RFC6085" /> updates the operation of IPv6 over Ethernet to support link-layer unicast delivery of IPv6 multicast traffic. This is possible as the destination link-layer address used for frames carrying IPv6 multicast packets does not have to be a link-layer multicast address. This technique could be applied to other multi-access link-layer technologies that support IPv6, including point-to-point link-layers, where the outgoing link-layer interface is the required link-layer information.</t>

	<t><xref target="RFC6085" /> does not specify how the IPv6 multicast traffic sender learns and maintains link-layer unicast destination information for multicast IPv6 traffic delivery. This memo proposes these procedures, using a combination of the functionality of IPv6 Multicast Listener Discovery protocol, version 2 (MLDv2) <xref target="RFC3810" /> and IPv6 Neighbor Discovery <xref target="RFC4861" />. MLDv2 is necessary as it supports tracking of individual listeners.</t>

	<t>These procedures are primarily applicable to multicast routers. Hosts may also use these procedures if they are willing to act as a passive observer of the operation of MLDv2 on the link, and perform link-layer unicast replication of IPv6 multicast traffic for groups for which they are sources.</t>

      <section title="Requirements Language">
        <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 <xref
        target="RFC2119">RFC 2119</xref>.</t>
      </section>
    </section>

    <section title="Requirements">

	<t>To support unicast link-layer delivery of multicast traffic, in addition to the existing MLDv2 procedures, the following will need to be achieved:</t>

	<t>
	<list style="symbols">
		<t>determination of the link-layer information of the multicast listeners for which unicast link-layer delivery will be used,</t>
		<t>determination of when an individual multicast listener becomes unreachable, so that delivery of multicast traffic using unicast link-layer delivery to that listener can cease.</t>
	</list>	
	</t>

    </section>

    <section title="Procedures">

	    <section title="Unicast Link-Layer Information Determination">
		<t>MLDv2 listeners express their interest in receiving traffic destined to one or more groups by issuing one or more Multicast Listener Reports.</t>
		<t>The source address used for a Multicast Listener Report must either be the unspecified address (::) or a valid link-local address <xref target="RFC3810" />.</t>

		<t>The unspecified address is used when a valid link-local address has not been acquired, and is used during IPv6 Neighbor Discovery Duplicate Address Detection (DAD) <xref target="RFC4861" />. These Reports are to be discarded by multicast routers, as their purpose is to inform MLDv2 snooping switches of group membership for groups used during DAD. In the context of this memo, they do not provide the information necessary to determine the unicast link-layer information for a multicast listener.</t>

		<t>A link-local address is used as the source address for all other Multicast Listener Reports. <xref target="RFC3810" /> specifies that Multicast Listener Reports without valid link-local addresses must be silently discarded, and that a valid link-local address is one that the router has determined to belong to the link on which the Report was received on. This requirement implies that for the Multicast Listener Report to be accepted, the link-local source address must be already be present in the multicast router's neighbor cache, and the link-layer address resolved for link-layers that require it. Alternatively, it implies that the Report should trigger neighbor presence discovery for the Report's link-local source address. Note that in this latter case it is not clear whether the Report should be stored until neighbor presence discovery is complete and then processed or discarded, or immediately discarded after neighbor presence discovery is started. It may be useful to store the Multicast Listener Report for processing after neighbor presence discovery is complete, however it would be an optimisation, as Multicast Listener Reports are not inherently reliable, and therefore will be retransmitted.</t>

		<t>If the Multicast Listener Report link-local source address has been determined to be valid using neighbor discovery, the link-layer information necessary for link-layer unicast delivery of IPv6 multicast has also been determined. Multicast traffic towards this listener can now be delivered using unicast link-layer transmission.</t>

	    </section>

	    <section title="Determining When a Multicast Listener Becomes Unreachable">

		<t>IPv6 Neighbor Unreachability Discovery (NUD) <xref target="RFC4861" /> actively tracks the reachability of the unicast neighbors, or more specifically the unicast IPv6 addresses(es) of the neighbors, that traffic is being sent to.</t>

		<t>MLDv2 supports per-host tracking of multicast listener status on an interface. Hosts will be individually identified using the link-local addresses they use as their Multicast Listener Report source addresses.</t>

		<t>If NUD detects that the link-local address of a multicast listener has become unreachable, link-layer unicast transmission of multicast IPv6 traffic should cease. This should occur as soon as possible, as some link-layer technologies will resort to flooding traffic to all link nodes if a unicast destination becomes unknown.</t>

		<t>NUD's detection of the disappearance of the neighbor should be considered the equivalent of receiving a Multicast Listener Report from the link-local address owner, leaving all joined groups.</t>

	    </section>

    </section>

    <section title="Operating Models">

	<t>For a particular multicast interface on a router (or host), there are two possible modes of operation for link-layer unicast transmission of multicast traffic:</t>

	<t>
	<list style="symbols">
		<t>all groups on the interface,</t>
		<t>specific groups on the interface.</t>
	</list>	
	</t>

    	<section title="All Groups on an Interface">

	<t>In this mode of operation, all multicast groups available on the interface are candidates for the use of link-layer unicast transmission of multicast traffic. When possible, link-layer unicast of multicast traffic should be used.</t>

	<t>This mode of operation might be most useful when the hosts on the link are or are likely to be battery powered. This would ensure that the hosts are only receiving link-layer multicast traffic, perhaps for groups they are not interested in, only when it is not possible to use link-layer unicasts. This should improve the hosts' battery life.</t>

    	</section>

    	<section title="Specific Groups on an Interface">

	<t>Alternatively, link-layer unicast transmission of multicast traffic is only used for specific multicast groups. These groups will need to be specified via some mechanism that is outside of the scope of this memo. Examples of these mechanisms might be a list of groups configured by a system operator, or via an automated and distributed configuration protocol, that nominates specific multicast groups for link-layer unicast transmission.</t>

	<t>An example scenario might be one where low volume multicast traffic, such as IPv6 neighbor discovery traffic, continues to be sent using link-layer multicasts. High volume multicast traffic, carrying video, is link-layer unicast to the subset of hosts that are interested in it.</t>

    	</section>

    </section>

    <section anchor="acknowledgements" title="Acknowledgements">

	<t>Review and comments were provided by YOUR NAME HERE!</t>

	<t>This memo was prepared using the xml2rfc tool.</t>

    </section>

    <section anchor="Security" title="Security Considerations">

	<t>The procedures described in this memo use a combination of the existing functionality of MLDv2 and IPv6 Neighbor Discovery. Consequently, the security considerations include those of both MLDv2 <xref target="RFC3810" /> and IPv6 Neighbor Discovery <xref target="RFC4861" />.</t>

	<t>Link-layer multicasts of multicast IPv6 traffic will typically be sent to all link-layer nodes, unless a technique such as MLD snooping <xref target="RFC4541" /> is used to more selectively forward link-layer multicasts to likely interested nodes. It is possible that multicast IPv6 traffic will be sent to nodes that are not interested in it, and for which it would be beneficial for data confidentially reasons for them not to receive it.</t>

	<t>Link-layer unicast delivery of IPv6 multicast traffic provides an improvement in data confidentiality for the multicast IPv6 traffic that is unicast and successfully delivered to its destination. If the link-layer unicast destination has disappeared, some link-layer technologies will resort to flooding the unicast traffic to all nodes. In this case, the data confidentially benefits of link-layer unicast of multicast IPv6 traffic will have disappeared. Data confidentiality will have returned to the level provided by conventional link-layer multicast of multicast IPv6 traffic, when MLD snooping or similar techniques are not in use.</t>


<t>The level of data confidentiality improvement is dependent on the operating model of the interface sending the traffic (all groups or specific groups), and whether it is necessary to resort to link-layer multicasts when it is not or not easily possible to determine the required link-layer unicast information. For example, for a multicast group carrying video traffic, it is likely to be possible to determine the link-layer unicast information for all interested listeners, and therefore all multicast video traffic can be link-layer unicast. Alternatively, if this technique is applied to IPv6 Neighbor Discovery, some functions of neighbor discovery cannot be performed without link-layer multicasts, meaning that the data confidentiality improvements will be lower.</t> 

    </section>

    <section title="Change Log [RFC Editor please remove]">
	
	<t>draft-smith-mldv2-link-unicast-00, initial version, 2013-03-29</t>

    </section>

  </middle>

  <back>

    <references title="Normative References">

      &RFC2119;

    </references>

    <references title="Informative References">

	&RFC6085;

	&RFC3810;

	&RFC4541;

	&RFC4861;
	
    </references>

  </back>
</rfc>
