<?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">
]>
<?rfc rfcedstyle="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<rfc category="std" docName="draft-vinapamula-softwire-dslite-prefix-binding-00"
     ipr="trust200902">
  <front>
    <title abbrev="Prefix Binding for DS-Lite">Recommendation for Prefix
    Binding in the Softwire DS-Lite Context</title>

    <author fullname="Suresh Vinapamula" initials="S." surname="Vinapamula">
      <organization abbrev="Juniper Networks">Juniper Networks</organization>

      <address>
        <postal>
          <street>1194 North Mathilda Avenue</street>

          <city>Sunnyvale</city>

          <region>CA</region>

          <code>94089</code>

          <country>USA</country>
        </postal>

        <phone>+1 408 936 5441</phone>

        <email>sureshk@juniper.net</email>
      </address>
    </author>

    <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
      <organization>France Telecom</organization>

      <address>
        <postal>
          <street></street>

          <city>Rennes</city>

          <code>35000</code>

          <country>France</country>
        </postal>

        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>

    <date year="2013" />

    <area>Internet</area>

    <abstract>
      <t>This document describes possible issues induced by the change of the
      B4 IPv6 address and sketches a set of recommendations.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>IPv6 deployment models assumes IPv6 prefixes are delegated by Service
      Providers to the connected CPEs (Customer Premise Equipments) or hosts,
      which in their turn derive IPv6 addresses out of that prefix. In the
      case of DS-Lite <xref target="RFC6333"></xref>, the B4 element derives
      an address for the softwire setup purposes. </t>

      <t>A B4 element might obtain a new external IPv6 address, for a variety of
      reasons including a reboot of the CPE, power outage, DHCP lease expiry,
      or other action undertaken by the Service Provider. If this occurs,
      traffic forwarded to a B4's previous address might be delivered to
      another B4 that now acquired that address. This affects all mapping
      types, whether implicit (e.g., by sending a TCP SYN) or explicit (e.g.,
      using PCP <xref target="RFC6887"></xref>). </t>

      <t>The main goal of this document is to propose a recommendation to
      soften the impact of such renumbering issues. </t>

      <t>Note that in some deployments, CPE renumbering may be require to
      accommodate some privacy-related requirements to avoid the same prefix
      be assigned to the same customers. It is out of scope of this document
      to discuss such contexts.</t>

      <t>This document complements <xref target="RFC6908"></xref>.</t>
    </section>

    <section title="Terminology">
      <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"></xref>.</t>
    </section>

    <section anchor="problem" title="The Problem">
      <t>Since the network behind B4 can be overlapping across multiple CPEs,
      B4 address plays a key role in identifying associated resources assigned
      for each of the connections. These resources maintain state of EIM, EIF,
      APP, and PCP mappings and flows.</t>

      <t>However, there can be change in B4 address for any reason, may be
      because of change in CPE device or may be because of security extensions
      enabled in generating the IPv6 address. When the address change, the
      associated mappings created in the AFTR are no more valid. This may
      result in creation of new set of mappings.</t>

      <t>ISPs may want to limit the usage of these resources on per subscriber
      basis for fair usage of resources. To do so, a subscriber is identified
      by an IPv6 prefix mask (i.e., the length of the prefixes assigned to
      customers, for example /56 or /48). These policies are used for
      dimensioning purposes and also to ensure that AFTR resources are not
      exhausted. However, this policy doesn't resolve stale mappings hanging
      around in the system, consuming not only system resources, but also
      reducing the available quota of resources per subscriber.</t>

      <t>When services are hosted behind B4 element, these services has to
      advertise about their change, when ever there is a change of the B4
      address. Means to discover the change of B4 address are therefore
      required. </t>

      <t>Clearing those mappings can be envisaged, but that will causes a lot
      of churn in the AFTR, and it doesn't address the latency issue where a
      service has to advertise its new assigned external IP address and port
      and the clients have to consume and re-initiate connections.</t>

      <t>PCP-specific failure scenarios are discussed in <xref
      target="I-D.boucadair-pcp-failure"></xref>.</t>
    </section>

    <section title="Recommendations">
      <t>In order to mitigate the issues discussed in <xref
      target="problem"></xref>, the following recommendations are made:<list
          style="numbers">
          <t>A policy SHOULD enforced at the AFTR level to limit the amount of
          active softwires per subscriber. The default value MUST be 1.</t>

          <t>Resource contexts created at the AFTR level SHOULD be based on
          the prefix mask (or the prefix if it is explicitly configured), and
          not based on the derived B4 address. Administrators SHOULD configure
          per prefix limits of resource usage, instead of per tunnel limits.
          These resources include, number of flows, mappings including PCP,
          NAT pool resources, etc.</t>

          <t>In the event a new IPv6 address is assigned to B4, the AFTR
          SHOULD migrate existing state to be bound to the new B4's IP
          address. This ensures the traffic destined to the previous IPv6
          address will redirected to the new IPv6 address. The destination
          address for tunneling return traffic SHOULD be the last seen address
          from the CPE. The source address of the tunnel would remain same as
          AFTR.</t>

          <t>In the event of change of the CPE WAN IPv6 prefix, unsolicited
          PCP ANNOUNCE messages SHOULD be sent by the B4 element to internal
          hosts to update their mappings.</t>

          <t>When a new prefix is assigned to the CPE, stale mappings may
          exist in the AFTR. This will consume both implicit and explicit
          resources. In order to avoid such issues, stable IPv6 prefix are
          RECOMMENDED.</t>

          <t>In case for any reason a prefix has to be reassigned, it is
          RECOMMENDED to reassign a prefix only when all the resources in use
          associated with that prefix are cleared from the AFTR.</t>
        </list></t>

      <t></t>
    </section>

    <section anchor="sec-security" title="Security Considerations">
      <t>Security considerations related to DS-Lite are discussed in <xref
      target="RFC6333"></xref>.</t>
    </section>

    <section anchor="sec-IANA" title="IANA Considerations">
      <t>This document does not require any action from IANA.</t>
    </section>
    <section anchor="sec-Ack" title ="Acknowledgements">
      <t>G. Krishna reviewed document and provided useful comments</t>
    </section>
  </middle>

  <back>
    <references title="Normative references">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include='reference.RFC.6887'?>

      <?rfc include='reference.RFC.6333'?>
    </references>

    <references title="Informative references">
      <?rfc include='reference.I-D.boucadair-pcp-failure'?>

      <?rfc include='reference.RFC.6908'?>
    </references>
  </back>
</rfc>
