<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->

<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->

<rfc category="info"
    xmlns:xi="http://www.w3.org/2001/XInclude"
    docName="draft-vgovindan-lisp-multicast-deploy-00"
    updates=""
    consensus="true"
    submissionType="IETF"
    ipr="trust200902"
    tocInclude="true"
    tocDepth="4"
    symRefs="true"
    sortRefs="true">

 <!-- ***** FRONT MATTER ***** -->

 <front>
   <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->
    <title abbrev="LISP Deployments">Experiences with LISP Multicast deployments</title>
    <seriesInfo name="Internet-Draft" value="draft-vgovindan-lisp-multicast-deploy-00"/>

    <author initials="V." surname="Govindan" fullname="Vengada Prasad Govindan">
      <organization>Cisco</organization>
      <address>
        <email>venggovi@cisco.com</email>
      </address>
    </author>

    <author initials="M." surname="Hamroz" fullname="Marcin Hamroz">
      <organization>Cisco</organization>
      <address>
        <email>mhamroz@cisco.com</email>
      </address>
    </author>

    <author initials="J." surname="Gawron" fullname="Jaroslaw Gawron">
      <organization>Cisco</organization>
      <address>
        <email>jagawron@cisco.com</email>
      </address>
    </author>



   <date year="2025" />

   <!-- Meta-data Declarations -->
   <area>Routing</area>
   <workgroup>LISP Working Group</workgroup>

    <abstract>
    <t> We present our experiences in supporting deployments of LISP Multicast
     using unicast and multicast underlays. This document details design
     considerationsi that can be useful for anyone interested in deploying 
     LISP multicast services over IP networks.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
      <t> This document describes deployment experiences of inter domain
      multicast routing function in a network where Locator/ID Separation is
      deployed using the Locator/ID Separation Protocol (LISP) architecture as
      described in <xref target="RFC6831" format="default"/> and 
      <xref target = "I-D.ietf-lisp-rfc6831bis" format="default"/></t>
    </section>

    
    <section>
      <name> Terminology </name>
      <t> All of the terminology used in this document comes from 
      <xref target="RFC6831"/> and 
         <xref target="I-D.ietf-lisp-rfc6831bis"/>.</t>
    </section>
    <section>
    <name> Scope of this document</name>
    <t> This document covers the following aspects: </t>
     <ul spacing="compact">
         <li>Deployments based on the procedures of 
             <xref target="RFC6831"/> and 
             <xref target="I-D.ietf-lisp-rfc6831bis"/>.</li>
         <li>When using a multicast based underlay, LISP sites can provide
         support to forward Layer-2 Broadcast, Unknown Unicast and 
         Multicast packets. </li>
         <li>Layer3 routed multicast services (ASM, SSM and BiDir) are
         provided by such LISP sites.</li>
         <li> Both IPv4 and IPv6 overlays are covered by this document. 
         Similarly, both IPv4 and IPv6 underlays are covered.</li>
     </ul>
    </section>
    <section>
    <name> Scope not covered by this document</name>
    <t> This document does not cover the following aspects: </t>
     <ul spacing="compact">
       <li>This document does not cover L3 routed Unicast forwarding or L2
       forwarding between LISP sites.</li>
       <li>This document does not address services implemented using underlays
       such as BIER.</li>
       <li>Procedures and considerations required for migrating non-LISP based
       networks to LISP based networks are not covered here.</li>
       <li>Extranet Multicast (Route Leaking) is not covered in this 
       document </li>
     </ul>
    </section>

  <section anchor="sect-2" numbered="true" toc="default">
     <name>Industry segments/ use-cases covered</name>
     <t>The deployment experiences outlined in this document capture learnings
        from various industry segments listed below (not exhaustive:)</t>
     <ul spacing="compact">
             <li> Educational Institutions (e.g. Universities with multiple 
                  campuses, school districts)</li>
             <li> Public Utilities like Airports, Stadiums and Ports</li>
             <li> Hospitals and Healthcare providers</li>
             <li> Enterprises including Financial Institutions spread 
              across continents and large geographical regions</li>
             <li> Technology vendors and factories</li>
             <li> Events like Expos, Tradeshows, Sporting events</li>
     </ul>
   </section>
  <section anchor="sect-21" numbered="true" toc="default">
     <name>Advantages and Cost of using "PIM-over-PIM"</name>
     <t> There are both advantages and costs in using a "PIM-over-PIM"
     design outlined in <xref target="I-D.ietf-lisp-rfc6831bis"/>:</t>
     <ul spacing="compact">
     <li> PIM <xref target="RFC7761"/> is a well-understood and deployed 
     protocol in many types of networks (Enterprise, Global Internet etc.).
     </li>
     <li> For the specific case of deploying PIM in the overlay in a LISP
     network, merely encapsulating the PIM protocol packet into a Unicast
     LISP packet and directing it towards the xTR that is chosen as the
     Upstream Multicast NH worked very well.</li>
     <li> Usage of  PIM Join Attributes for LISP is a very useful method
     for the receiver ETR to signal underlay transport attributes to the ITR
     <xref target="RFC8059"/>.  The motivations for doing so are explained in 
     the later sections of this document.</li>
     <li> The PIM neighborship was not fully established as exchange of PIM
     hellos were considered chatty.</li>
     <li>A simple but powerful optimization was done to use only SSM in the 
     underlay for supporting overlay Layer-3 multicast routing. </li>
    </ul>
   </section>

         <section anchor="sect-3.2.0" numbered="true" toc="default">
          <name>Underlay Deployment considerations</name>
             <section anchor="sect-3.2.0.1" numbered="true" toc="default">
              <name>Ingress Replication </name>
              <t>A small but significant subset of deployments have been 
              observed using the Ingress Replication (Unicast). This is 
              primarily done for low-volume multicast or for deployments 
              where there are restrictions in implementations for supporting 
              an underlay with native multicast.</t>
              <t> Another category of the deployments were early adopters of
              the technology when the software releases were limited to unicast
              underlay.</t>
              <t> The primary characteristic of such networks is the presence
              of a limited number of LISP sites in which receivers are 
              present. Please note that this does not necessarily mean
              that only a limited number of hosts receive the multicast.</t>
              <t> Since the ASICs that form the data plane have very 
              efficient methods to replicate multicast packets to local 
              receivers, any deployment that has a good localization of
              receivers to a limited number of LISP sites can still use
              a unicast underlay with high efficiency. </t>
              <t> On the positive side, there are widely deployed mechanisms
              for both traffic-engineering (e.g. Load balancing) and 
              fast convergence due to link/ node failures in unicast that can
              be reused for overlay routed multicast when using a unicast 
              underlay. </t>
              <t> Another very important use-case for considering a unicast
              underlay is to have migration done from (say) IPv4 to IPv6.</t>
             </section>
             <section anchor="sect-3.2.0.2" numbered="true" toc="default">
              <name>Native Multicast Underlay </name>
              <t>Native multicast underlay presents notable advantages over
                ingress replication, particularly in network topologies where
                traffic replication occurs at multiple layers between the Last
                Hop Router (LHR) and First Hop Router (FHR). Despite 
                advancements in modern ASICs designed for high-performance 
                multicast packet replication at ingress, bandwidth 
                consumption remains a critical factor favoring the adoption of
                native multicast underlay. </t>
                <t> An essential consideration when selecting an underlay 
                multicast mode is the placement of sources and receivers. If 
                the source is external to the LISP domain, the majority of 
                traffic is typically North-South. </t>
                <t> Given the transport capabilities, it may be practical to 
                implement native multicast in the underlay between xTRs and 
                ITRs.</t>
                <t> In native multicast mode, there is a mapping between the 
                overlay multicast group address and the underlay multicast 
                group. This mapping must be consistent across network devices 
                within a LISP domain to ensure uniformity. The conventional 
                method involves a 1:1 mapping between the overlay LISP group 
                address and the underlay multicast group address. To maintain
                uniqueness in this mapping process, implementations may 
                incorporate additional parameters, such as the source IP 
                address and LISP instance ID, providing sufficient entropy to
                ensure uniqueness across LISP instances.</t>

              <t>This forms the majority of the deployments known.</t>
              <ul spacing="compact">
                 <li> Underlays in most deployments were homogenous e.g. IPv6 
                  Unicast based underlay.</li>
                 <li> Upgrading from one underlay to another is a process that
                 requires a lot of planning. This is not covered in this 
                 document.</li>
              </ul>

             </section>
         </section>

     <section anchor="sect-3.1" numbered="true" toc="default">
     <name>Layer-2 BUM overlay deployment considerations
     </name>
     <t>There are three deployment options that can be considered here for
     deployment:</t>
     <ul spacing="compact">
     <li>Ingress Replication: Each L2 BUM packet is replicated by the ITR so
     each ETR receives a copy of the L2 packet encapsulated as unicast in the
     underlay.</li> 
     <li>Use ASM underlay: Since any xTR does not know the list of ITRs that
     can potentially send L2 BUM packets, it subscribes to an underlay multicast
     group based on the L2 LISP instance. There can be a m:n mapping of 'm' LISP
     instances to 'n' Underlay Multicast groups with m>n or m>>n. We have also
     seen many customers use n=1.</li>
     <li>Use BIDIR underlay: Since BIDIR is a commonly supported mode we can
     simply reduce the multicast state in the underlay to O(n) instead of 
     O(n*no.of ITRs) by choosing BIDIR over ASM. This mode is particularly
     popular when IPv6 underlay is used as the forwarding path resources
     (e.g. TCAM entries) required to support IPv6 multicast routing is double
     that of IPv4. </li>
     </ul>
        <section anchor="sect-3.2.0.2.1" numbered="true" toc="default">
         <name>RP for Layer-2 BUM Multicast Underlay </name>
          <ul spacing="compact">
            <li>When using a Multicast underlay for L2 BUM, we use ASM
            based underlay or a BIDIR based underlay. </li> 
            <li> This can be achieved by having an m LISP L2 
            service instances are mapped to n multicast groups where 
            m > n or m >> n since the number of LISP L2 instances are
            larger than the number of designated multicast groups to carry
            BUM traffic. </li>
            <li> Since this is done flexibly, heavy users of BUM
            can be allocated separate underlay groups for isolation.</li>
            <li> One of the most critical design element is the choice of 
             the RP Design. We have the following options:
               <ul spacing="compact">
               <li>Configuring static RPs: Use of anycast IP addresses with
               static RP is a popular choice observed in deployments. </li>
               <li>Electing RPs through mechanisms like PIM-BSR 
               <xref target="RFC5059"/> has been adopted by customers as 
               well.</li>
               </ul>
            </li>
           </ul>
        </section>
     </section>


     <section anchor="sect-3.2" numbered="true" toc="default">
      <name>Layer-3 overlay Multicast deployment considerations</name>
           <section anchor="sect-3.2.1" numbered="true" toc="default">
            <name>Layer-3 Routed Any-Source Multicast (ASM) services</name>
             <t> LISP overlays extend ASM to networks lacking native
             multicast support traditionally. Native multicast in the core
             boosts ASM resilience and optimizes traffic distribution.</t>
             <t>Head-end replication requires tuning to avoid ITR overload
             with many receivers or high traffic. LISP overlays enable ASM
             resilience by rerouting around underlay failures dynamically.</t>
             <t>ASM deployments scale receiver counts flexibly without 
             requiring underlay redesigns. Troubleshooting ASM demands 
             monitoring both LISP overlay and underlay states concurrently.</t>
             <t> Pre-validating underlay multicast capabilities ensures 
             reliable ASM performance consistently. Using native multicast 
             complicates failure diagnosis despite enhancing overall 
             resilience.</t>
              <section anchor="sect-3.2.1.1" numbered="true" toc="default">
               <name>Layer-3 overlay ASM RP placement and redundancy </name>
                <t>In a Layer-3 overlay, the placement of RPs is critical for
                 ensuring robust multicast service delivery.  Unlike 
                 traditional PIM-ASM, LISP multicast relies on static 
                 Rendezvous Point (RP) configurations due to the lack of
                 support for dynamic RP discovery mechanisms like Auto-RP
                 or Bootstrap Router (BSR).</t>
                 <t> RPs can be positioned both inside and outside the 
                 LISP domain. The typical configuration involves static RP 
                 setup and redundancy through the Anycast RP concept, 
                 which allows multiple RPs to share the same IP address, 
                 providing load balancing and fault tolerance. This setup 
                 requires synchronization between RPs using the MSDP to 
                 exchange information about active sources. </t>
                 <t>In some deployments, RP placements are a combination of 
                 RPs placed inside together with RPs placed outside the LISP 
                 domains. This configuration leverages advanced MSDP peering 
                 or group mesh peering to enhance multicast service resilience
                 and efficiency.</t>
                 <t>The RP placement significantly affects the convergence 
                 between the shared and source trees. It is essential that all 
                 xTRs within a given LISP instance use a consistent address 
                 scheme with identical mapping to ensure efficient multicast 
                 routing. The RP facilitates the initial setup of the sharedi
                 tree, allowing sources and receivers to establish direct 
                 multicast data flows.</t>
                 <!--<t>TODO: (S,G, RPT-prune) of receivers.</t>]-->
              </section>
              <section anchor="sect-3.2.1.2" numbered="true" toc="default">
               <name>Optimisation for short-lived streams </name>
               <t> When working with short lived streams (e.g. PA systems
               for airports) it was observed that using the shared tree was
               optimal. The cost of switching to the shortest-path tree
               can be avoided in such scenarios. However such choices
               are better done on a case-by-case basis e.g. based on the range
               of group addresses.</t>
              </section>
           </section>

           <section anchor="sect-3.2.2" numbered="true" toc="default">
            <name>Layer-3 Routed SSM services</name>
             <t>SSM services over a Layer-3 LISP domain connect multicast 
             sources and receivers via the overlay. Receivers join source trees
             (S,G) by signalling IGMPv3, which then is transported as PIM 
             packets over the LISP overlay. The typical SSM services would be 
             represented by Financial Data, IPTV and Live streaming. </t>
             <t>The traffic within a LISP domain, similar to the ASM would be 
             subject to encapsulation and depending on the multicast mode it 
             would be either head-end replication or native (overlay to 
             underlay multicast mapping).</t>
             <t>The sources and receivers can be connected to the LISP site or
             be located outside of the LISP domain. LISP overlay provides a 
             resiliency by rerouting traffic dynamically.</t>
             <t> SSM services eliminate RPs and shared trees, simplifying tree
              management. Direct (S,G) trees enhance scalability and reduce 
             latency for one-to-many uses.</t>
             <t> Receivers must support IGMPv3 (or MLDv2) to specify sources, 
             avoiding ASM fallback. Replication strategies need tuning to 
             balance ITR load and underlay bandwidth.</t>
           </section>
     </section>


  <section anchor="sect-4" numbered="true" toc="default">
     <name>Mobility considerations for LISP multicast</name>
     <t>TBD</t>
   </section>

  <section anchor="sect-5" numbered="true" toc="default">
     <name>Multicast flows spanning multiple LISP domains</name>
      <t>One of the primary deployment use cases involves delivering multicast
      services across multiple LISP domains. There are several
      methods for routing multicast packets when sources and recievers are 
      connected to LISP sites that are connected through VPNs.
      Two most common methods are given below:</t>
      <ul spacing="compact">
      <li>Forwarding the traffic natively, without any encapsulation,
      which typically results in extending the VRF segmentation beyond
      a specific LISP site</li> 
      <li> Implementing an overlay across the transit network.</li> </ul>
      <t> Choosing between these options has significant
      design implications for both unicast and multicast flows.
      In the native forwarding approach, traffic leaving a LISP domain
      is decapsulated at the xTRs and placed into the appropriate VRF.
      This scenario creates considerable overhead in deploying
      multicast configurations across multiple sites, as each LISP
      instance must be mapped to an individual VRF in transit. The
      overlay scenario, which involves an overlay between LISP
      domains, offers advantages by extending the LISP overlay between
      different LISP domains. In this case, xTRs in each LISP domain
      are responsible for encapsulating and decapsulating traffic
      between overlays (transit and intra-site). Similar to intra-domain
      multicast communication, multicast traffic spanning multiple
      LISP domains requires mapping between the overlay and underlay
      multicast groups.</t>

      <t> In a scenario with two separate LISP domains, where the multicast source
      is connected to LISP domain #1 and the receiver is at LISP domain #2, the
      multicast traffic traverses over the LISP transit overlay. The mapping
      from the overlay to the underlay group occurs at the ingress of LISP
      domain #1, where the xTR decapsulates the traffic and re-encapsulates it
      for transit, creating a separate mapping.
      This mapping might utilize the same input parameters to determine the
      underlay group; however, this could lead to undesired behavior within
      the transit. Specifically, it might cause multiple LISP instances to map
      to the same underlay multicast group, resulting in a loop between the
      individual xTRs of LISP domains #1 and #2. This can be mitigated by using
      disjoint underlay multicast groups in the different domains and can be
      signaled using the PIM Join/ Prune attributes described in 
      <xref target="RFC8059"/></t>

      <t>To mitigate potential issues in transit, a new group mapping should be
      introduced that provides a unique overlay-to-underlay mapping for
      intra-LISP domain communication and transit between LISP domains.
      There are scenarios where a LISP domain extends across a transport
      network that is unable to handle multicast. In such cases, similar to
      intra-domain communication, head-end replication would be necessary to
      replicate multicast packets on the xTRs as they exit a given LISP domain.
      Another design consideration involves the placement of the Rendezvous
      Point (RP) in a multidomain environment. For multicast traffic confined to
      a LISP domain, the RP can be positioned within the domain either as a
      standalone role or co-located on a LISP site xTR. Depending on the LISP
      multidomain architecture, there may also be a dedicated LISP site
      aggregating multiple LISP sites, serving as an exit point from the
      entire domain. In this scenario, xTRs within the aggregation LISP site
      could be suitable candidates for RP placement. There is also a common
      scenario of implementing a set of additional, redundant RPs within LISP
      domain (in addition to the external RPs). In such a scenario, there
      needs to be an appropriate MSDP configuration in order to exchange
      information about multicast sources. If the multicast source flow
      originates from outside the LISP domain, considering an external RP for
      the entire LISP domain could also be a viable option.</t>
</section>

  <section anchor="sect-6" numbered="true" toc="default">
     <name>Extranet Multicast (Route leaking)</name>
     <t>This feature is beyond the scope of this document.</t>
   </section>

    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>
    
    <section anchor="Security">
      <name>Security Considerations</name>
      <t> This informational document does not introduce any new 
          security considerations.
          <!--TBD: Should we talk about Best Practices here?-->
      </t>
    </section>
 
  </middle>


  <back>
    <references title="Normative References">
        <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5059.xml"/>
        <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6831.xml"/>
        <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7761.xml"/>
        <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8059.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lisp-rfc6831bis.xml"/>
    </references>

    <references title="Informative References">
    </references>

    <section anchor="Acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>The authors would like to acknowledge Stig Venaas for his review.
      Many individuals also contributed to the discussions for the material
      of this draft including Arunkumar Nandakumar, Aswin Kuppusami, 
      Rajavel Ganesamoorthy, Sankar S and Sundara Moorthy. All contributions
      are gratefully acknowledged.</t>
    </section>
    
    <section anchor="Contributors" numbered="false">
      <name>Contributors</name>
      <t>TBD</t>
    </section>

 </back>
</rfc>
