<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-ietf-behave-64-analysis-07"
     ipr="trust200902">
  <front>
    <title abbrev="Analysis of 64 Translation">Analysis of Stateful 64
    Translation</title>

    <author fullname="Reinaldo Penno" initials="R." surname="Penno">
      <organization>Juniper Networks</organization>

      <address>
        <postal>
          <street>1194 N Mathilda Avenue</street>

          <city>Sunnyvale</city>

          <code>94089</code>

          <region>California</region>

          <country>USA</country>
        </postal>

        <email>rpenno@juniper.net</email>
      </address>
    </author>

    <author fullname="Tarun Saxena" initials="T." surname="Saxena">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street></street>

          <country></country>
        </postal>

        <email>tasaxena@cisco.com</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>

    <author fullname="Senthil Sivakumar" initials="S." surname="Sivakumar">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>7100-8 Kit Creek Road</street>

          <city>Research Triangle Park</city>

          <code>27709</code>

          <region>North Carolina</region>

          <country>USA</country>
        </postal>

        <email>ssenthil@cisco.com</email>
      </address>
    </author>

    <date day="2" month="March" year="2012" />

    <area>Transport Area</area>

    <workgroup>Behavior Engineering for Hindrance Avoidance</workgroup>

    <keyword>NAT64</keyword>

    <keyword>DNS64</keyword>

    <keyword>NAT-PT</keyword>

    <keyword>ALG (Application Level Gateway)</keyword>

    <keyword>NAT traversal</keyword>

    <keyword>IPv4-IPv6 interconnection</keyword>

    <keyword>IPv4-IPv6 translation</keyword>

    <abstract>
      <t>Due to specific problems, NAT-PT was deprecated by the IETF as a
      mechanism to perform IPv6-IPv4 translation. Since then, new efforts have
      been undertaken within IETF to standardize alternative mechanisms to
      perform IPv6-IPv4 translation. This document analyzes to what extent the
      new stateful translation mechanisms avoid the problems that caused the
      IETF to deprecate NAT-PT.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t></t>

      <section title="Definition">
        <t>This document uses stateful 64 (or 64 for short) to refer to the
        mechanisms defined in the following documents: <list style="symbols">
            <t><xref target="RFC6145">IP/ICMP Translation Algorithm</xref></t>

            <t><xref target="RFC6146">Stateful NAT64: Network Address and
            Protocol Translation from IPv6 Clients to IPv4 Servers</xref></t>

            <t><xref target="RFC6147">DNS64: DNS extensions for Network
            Address Translation from IPv6 Clients to IPv4 Servers</xref></t>

            <t><xref target="RFC6052">IPv6 Addressing of IPv4/IPv6
            Translators</xref></t>

            <t><xref target="RFC6144">Framework for IPv4/IPv6
            Translation</xref></t>
          </list></t>

        <t></t>
      </section>

      <section title="Context">
        <t>Stateful 64 is widely seen as a major interconnection technique
        designed to enable communications between IPv6-only and IPv4-only
        networks. One of the building blocks of the stateful 64 is decoupling
        the DNS functionality from the protocol translation itself.</t>

        <t>This approach is pragmatic in the sense that there is no dependency
        on DNS implementation for the successful NAT handling. As long as
        there is a function (e.g., DNS64 <xref target="RFC6147"></xref> or
        other means) that can construct an IPv6-embedded IPv4 address with a
        pre-configured IPv6 prefix, an IPv4 address and a suffix (refer to
        <xref target="RFC6052"></xref>), NAT64 will work just fine.</t>

        <t>The focus of the stateful 64 is on the deployment and not the
        implementation details. As long as a NAT64 implementation conforms to
        the expected behavior, as desired in the deployment scenario, the
        details are not very important as mentioned in this excerpt from <xref
        target="RFC6146"></xref>:<list style="empty">
            <t>"A NAT64 MAY perform the steps in a different order, or MAY
            perform different steps, but the externally visible outcome MUST
            be the same as the one described in this document."</t>
          </list></t>
      </section>

      <section title="Scope">
        <t>This document provides an analysis of how the proposed set of
        documents that specify stateful IPv6-only to IPv4-only translation and
        replace <xref target="RFC2766">NAT-PT</xref> address the issues raised
        in <xref target="RFC4966"></xref>.</t>

        <t>As a reminder, it is worth mentioning the analysis is limited in
        the sense that hosts from IPv6 networks can initiate a communication
        to IPv4 network/Internet, but not vice-versa. This corresponds to
        Scenario 1 and Scenario 5 described in <xref target="RFC6144"></xref>.
        Hence, the scenario of servers moving to IPv6 while clients remaining
        IPv4 remains unaddressed. Of course, IPv6 to IPv4 communications can
        also be supported if static or explicit bindings (e.g., <xref
        target="I-D.ietf-pcp-base"></xref>) are configured on the stateful
        NAT64.</t>

        <t>Stateful 64, just like any other technique under development, has
        some positives and some drawbacks. The ups and downs of the proposal
        must be clearly understood while going forward with its future
        development.</t>

        <t>The scope of this document does not include stateless
        translation.</t>
      </section>
    </section>

    <section title="Analysis of 64 Translation Against Concerns of RFC4966">
      <t>Of the set of problems pointed out in <xref target="RFC4966"></xref>,
      the stateful 64 addresses some of them, whereas leaves others
      unaddressed.</t>

      <t>Some issues mentioned in <xref target="RFC4966"></xref> were solved
      by <xref target="RFC4787"></xref>, <xref target="RFC5382"></xref> and
      <xref target="RFC5508"></xref>. At the time when NAT-PT was published
      these recommendations were not in place but they are orthogonal to the
      translation algorithm per se, therefore they could be implemented with
      NAT-PT. On the other hand, NAT64 <xref target="RFC6146"></xref>
      explicitly mentions that these recommendations need to be followed and
      thus should be seen as a complete specification.</t>

      <t>It is also worth pointing out that the scope of the stateful 64 is
      reduced when compared to NAT-PT. Following is a point by point analysis
      of the problems. This document classifies the issues listed in <xref
      target="RFC4966"></xref> into three categories:<list style="numbers">
          <t>Problems impossible to solve.</t>

          <t>Problems which can be solved.</t>

          <t>Problems solved.</t>
        </list></t>

      <section title="Problems Impossible to Solve">
        <t>Problems discussed in <xref target="RFC4966"></xref>, which are
        impossible to solve:</t>

        <t><list style="numbers">
            <t>Inability to redirect traffic for protocols that lack
            de-multiplexing capabilities or are not built on top of specific
            transport-layer protocols for transport address translations
            (<xref target="RFC4966">Section 2.2 of </xref>).<list
                style="empty">
                <t>Analysis: This issue is not specific to 64 but to all
                NAT-based solutions.</t>
              </list></t>

            <t>Loss of information due to incompatible semantics between IPv4
            and IPv6 versions of headers and protocols (<xref
            target="RFC4966">Section 2.4 of</xref>).<list style="empty">
                <t>Analysis: This issue is not specific to 64 but due to the
                design of IPv4 and IPv6.</t>
              </list></t>

            <t>Need for the NAT64-capable device to act as proxy for
            correspondent node when IPv6 node is mobile, with consequent
            restrictions on mobility (<xref target="RFC4966">Section 2.7
            of</xref>).<list style="empty">
                <t>Analysis: This is not specific to NAT64 but to all NAT
                flavors. Refer to <xref
                target="I-D.haddad-mext-nat64-mobility-harmful"></xref> for an
                early analysis on mobility complications encountered when
                NAT64 is involved.</t>
              </list></t>
          </list></t>
      </section>

      <section title="Problems Which Can be Solved">
        <t>Problems discussed in <xref target="RFC4966"></xref>, which can be
        solved:</t>

        <t><list style="numbers">
            <t>Disruption of all protocols that embed IP addresses (and/or
            ports) in packet payloads or apply integrity mechanisms using IP
            addresses (and ports) (<xref target="RFC4966">Section 2.1
            of</xref>). <list style="empty">
                <t>Analysis: In the case of <xref target="RFC0959">FTP</xref>
                this problem can be mitigated in several ways (e.g., use a
                <xref target="RFC6384">FTP64 ALG</xref> or in the FTP client
                (e.g., <xref target="I-D.ietf-ftpext2-ftp64"></xref>)).</t>

                <t>In the case of SIP <xref target="RFC3261"></xref>, no
                specific issue is induced by 64; the same techniques for NAT
                traversal can be used when a NAT64 is involved in the path
                (e.g., ICE <xref target="RFC5245"></xref>, maintain
                SIP-related NAT bindings as per Section 3.4 of <xref
                target="RFC5853"></xref>, media latching <xref
                target="I-D.ietf-mmusic-media-path-middleboxes"></xref>,
                embedded SIP ALGs, etc.). <xref target="RFC6157"></xref>
                provides more discussion on how to establish SIP sessions
                between IPv4 and IPv6 SIP user agents.</t>

                <t>The functioning of other protocols is left for future
                study. Note that the traversal of NAT64 by application
                embedding IP address literal is not specific to NAT64 but
                generic to all NAT-based solutions.</t>
              </list></t>

            <t>Interaction with SCTP <xref target="RFC4960"></xref> and
            multihoming (<xref target="RFC4966">Section 2.6 of</xref>).<list
                style="empty">
                <t>Analysis: Only TCP and UDP transport protocols are within
                the scope of NAT64 <xref target="RFC6146"></xref>. SCTP is out
                of scope of this document.</t>
              </list></t>

            <t>Inability to handle multicast traffic (<xref
            target="RFC4966">Section 2.8 of</xref>).<list style="empty">
                <t>Analysis: This problem is not addressed by the current 64
                specifications.</t>
              </list></t>

            <t>Scalability concerns together with introduction of a single
            point of failure and a security attack nexus (<xref
            target="RFC4966">Section 3.2 of</xref>).<list style="empty">
                <t>Analysis: This is not specific to NAT64 but to all stateful
                NAT flavors. The presence of single point of failures is
                deployment-specific; some service providers may deploy state
                synchronization means while others may only rely on a
                distributed NAT64 model.</t>
              </list></t>

            <t>Restricted validity of translated DNS records: a translated
            record may be forwarded to an application that cannot use it
            (<xref target="RFC4966">Section 4.2 of</xref>).<list style="empty">
                <t>Analysis: If a node on the IPv4 side forwards the address
                of the other endpoint to a node which cannot reach the NAT box
                or is not covered under the endpoint-independent constraint of
                NAT, then the new node will not be able to initiate a
                successful session.</t>

                <t>Actually, this is not a limitation of 64 (or even NAT-PT)
                but a deployment context where IPv4 addresses managed by the
                NAT64 are not globally reachable. The same limitation can be
                encountered when referrals (even without any NAT in the path)
                include reachability information with limited reachability
                scope (See <xref
                target="I-D.carpenter-behave-referral-object"></xref> for more
                discussion about issues related to reachability scope).</t>
              </list></t>

            <t>IPsec traffic using AH (Authentication Header) <xref
            target="RFC4302"></xref> in both transport and tunnel modes cannot
            be carried through NAT-PT without terminating the security
            associations on the NAT-PT, due to the inclusion of IP header
            fields in the scope of AH's cryptographic integrity protection
            <xref target="RFC3715"></xref> (<xref target="RFC4966">Section 2.1
            of</xref>). In addition, IPsec traffic using ESP (Encapsulating
            Security Payload) <xref target="RFC4303"></xref> in transport mode
            generally uses UDP encapsulation <xref target="RFC3948"></xref>
            for NAT traversal (including NAT-PT traversal) in order to avoid
            the problems described in <xref target="RFC3715"></xref> (<xref
            target="RFC4966">Section 2.1 of</xref>).<list style="empty">
                <t>Analysis: This is not specific to NAT64 but to all NAT
                flavors.</t>
              </list></t>

            <t>Address selection issues when either the internal or external
            hosts implement both IPv4 and IPv6 (<xref target="RFC4966">Section
            4.1 of</xref>).<list style="empty">
                <t>Analysis: This is out of scope of 64 since Scenarios 1 and
                5 of <xref target="RFC6144"></xref> assume IPv6-only
                hosts.</t>

                <t>Therefore this issue is not resolved and mitigation
                techniques outside the 64 need to be used (e.g., <xref
                target="I-D.ietf-6man-addr-select-opt"></xref>). These
                techniques may allow to offload NAT64 resources and prefer
                native communications which do not involve address family
                translation. Avoiding NAT devices in the path is encouraged
                for mobile nodes in order to save power consumption due to
                keepalive messages which are required to maintain NAT states
                ("always-on" services). An in-depth discussion can be found in
                <xref target="I-D.wing-behave-dns64-config"></xref>.</t>
              </list></t>
          </list></t>
      </section>

      <section title="Problems Solved">
        <t>Problems, identified in <xref target="RFC4966"></xref>, which are
        solved:</t>

        <t><list style="numbers">
            <t>Constraints on network topology (as it relates to DNS-ALG; see
            Section 3.1 of <xref target="RFC4966"></xref>).<list style="empty">
                <t>Analysis: The severity of this issue has been mitigated by
                the separation of the DNS from the NAT functionality.
                Nevertheless, a minimal coordination may be required to ensure
                that the NAT64 to be crossed (the one to which the
                IPv4-Converted IPv6 address returned to a requesting host)
                must be in the path and has also sufficient resources to
                handle received traffic.</t>
              </list></t>

            <t>Need for additional state and/or packet reconstruction in
            dealing with packet fragmentation. Otherwise, implement no support
            for fragments. (<xref target="RFC4966">Section 2.5 of</xref>)<list
                style="empty">
                <t>Analysis: This issue is not specific to 64 but to all
                NAT-based solutions. <xref target="RFC6146"></xref> specifies
                how to handle fragmentation; appropriate recommendations to
                avoid fragmentation-related DoS attacks are proposed (e.g.,
                limit resources to be dedicated to out of order
                fragments).</t>
              </list></t>

            <t>Inappropriate translation of responses to A queries from IPv6
            nodes (<xref target="RFC4966">Section 4.3 of</xref>).<list
                style="empty">
                <t>Analysis: DNS64 <xref target="RFC6147"></xref> does not
                alter A queries.</t>
              </list></t>

            <t>Address selection issues and resource consumption in a DNS-ALG
            with multi-addressed nodes (<xref target="RFC4966">Section 4.4
            of</xref>).<list style="empty">
                <t>Analysis: Since no DNS-ALG is required to be co-located
                with NAT64, there is no need to maintain temporary states in
                anticipation of connections. Note that explicit bindings (See
                Section 3 of <xref target="I-D.ietf-pcp-base"></xref>) are
                required to allow for communications initiated from an
                IPv4-only client to an IPv6-only server.</t>
              </list></t>

            <t>Limitations on DNS security capabilities when using a DNS-ALG
            (<xref target="RFC4966">Section 2.5 of</xref>).<list style="empty">
                <t>Analysis: A DNSSEC validating stub resolver behind a DNS64
                in server mode is not supported. Therefore if a host wants to
                do its own DNSSEC validation, and it wants to use a NAT64, the
                host has to also perform its own DNS64 synthesis. Refer to
                Section 3 of<xref target="RFC6147"></xref> for more
                details.</t>
              </list></t>

            <t>Creation of a Denial of Service (DoS) threat relating to
            exhaustion of memory and address/port pool resources on the
            translator (<xref target="RFC4966">Section 3.4 of</xref>).<list
                style="empty">
                <t>Analysis: This specific DoS concern on Page 6 of <xref
                target="RFC4966"></xref> is under a DNS-ALG heading in that
                document, and refers to NAT-PT's creation of NAT mapping state
                when a DNS query occurred. With the new IPv6-IPv4 translation
                mechanisms, DNS queries do not create any mapping state in the
                NAT64.</t>

                <t>To mitigate the exhaustion of port pool issue (Section 3.4
                of <xref target="RFC4966"></xref>), 64 must enforce a port
                limit similar to the one defined in <xref
                target="I-D.ietf-behave-lsn-requirements"></xref>.</t>

                <t>Thus, this concern can be fully eliminated in 64.</t>
              </list></t>

            <t>Requirement for applications to use keepalive mechanisms to
            workaround connectivity issues caused by premature timeout for
            session table and BIB entries (<xref target="RFC4966">Section 2.3
            of</xref>).<list style="empty">
                <t>Analysis: Since NAT64 follows some of the <xref
                target="RFC4787"></xref>, <xref target="RFC5382"></xref> and
                <xref target="RFC5508"></xref> requirements, there is a high
                lower bound for the lifetime of sessions. In NAT-PT this was
                unknown and applications needed to assume the worst case. For
                instance, in NAT64, the lifetime for a TCP session is
                approximately 2 hours, so not much keep-alive signaling
                overhead is needed.</t>

                <t>Application clients (e.g., VPN clients) are not aware of
                the timer configured in the NAT device. For unmanaged
                services, a conservative approach would be adopted by
                applications which issue frequent keepalive messages to be
                sure that an active mapping is still be maintained by any
                involved NAT64 device even if the NAT64 complies with <xref
                target="RFC4787"></xref><xref target="RFC5382"></xref><xref
                target="RFC5508"></xref>.</t>

                <t>Note that keepalive messages may be issued by applications
                to ensure that an active entry is maintained by a firewall,
                with or without a NAT in the path, which is located in the
                boundaries of a local domain.</t>
              </list></t>

            <t>Lack of address mapping persistence: Some applications require
            address retention between sessions. The user traffic will be
            disrupted if a different mapping is used. The use of the DNS-ALG
            to create address mappings with limited lifetimes means that
            applications must start using the address shortly after the
            mapping is created, as well as keep it alive once they start using
            it. (<xref target="RFC4966">Section 3.3 of</xref>) <list
                style="empty">
                <t>Analysis: In the following, address persistence is used to
                refer to the support of "IP address pooling" behavior of
                "Paired" <xref target="RFC4787"></xref>.</t>

                <t>In the context of 64, the external IPv4 address
                (representing the IPv6 host in the IPv4 network) is assigned
                by the NAT64 machinery and not the DNS64 function. Address
                persistence can be therefore easily ensured by the NAT64
                function (which complies with NAT recommendations <xref
                target="RFC4787"></xref><xref target="RFC5382"></xref>).
                Address persistence should be guaranteed for both dynamic and
                static bindings.</t>

                <t>In the IPv6 side of the NAT64, the same IPv6 address is
                used to represent an IPv4 host; no issue about address
                persistence is raised in IPv6 network.</t>
              </list></t>
          </list></t>
      </section>
    </section>

    <section title="Conclusions">
      <t>The above analysis of the solutions provided by the stateful 64 shows
      that the majority of the problems that are not directly related to the
      decoupling of NAT and DNS remain unaddressed. Some of these problems are
      not specific to 64 but are generic to all NAT-based solutions.</t>

      <t>This points to several shortcomings of stateful 64 which must be
      addressed if the future network deployments have to move reliably
      towards 64 as a solution to IPv6-IPv4 interconnection.</t>

      <t>Some of the issues, as pointed out in <xref target="RFC4966"></xref>,
      have possible solutions. However these solutions will require
      significant updates to the stateful 64, increasing its complexity.</t>

      <t>The following table summarizes the conclusions based on the analysis
      of stateful 64.</t>

      <texttable anchor="summary_table" style="all"
                 title="Summary of NAT64 analysis">
        <ttcol align="center">Issue</ttcol>

        <ttcol align="center">NAT-PT Specific</ttcol>

        <ttcol align="center">Exists in NAT64</ttcol>

        <ttcol align="center">DNS ALG Specific</ttcol>

        <ttcol align="center">Generic NAT</ttcol>

        <ttcol align="center">Can be solved?</ttcol>

        <c>Protocols embedding addresses</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>Protocols without demux capability</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Binding state decay</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>Loss of information</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>No</c>

        <c>No</c>

        <c>Fragmentation</c>

        <c>No</c>

        <c>No</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>SCTP and Multihoming interaction</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>Proxy correspondent node for MIPv6</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>No</c>

        <c>No</c>

        <c>Multicast</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>Topology constraints with DNS-ALG</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Scale and Single point of failure</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>Lack of address persistence</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>DoS attacks</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>Address selection issues with Dual stack hosts</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Non-global validity of Translated RR records</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Incorrect translation of A responses</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>DNS-ALG and Multi- addressed nodes</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>

        <c>DNSSEC limitations</c>

        <c>No</c>

        <c>Yes</c>

        <c>No</c>

        <c>Yes</c>

        <c>Yes</c>
      </texttable>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document makes no request of IANA.</t>

      <t>Note to RFC Editor: this section may be removed on publication as an
      RFC.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This document does not specify any new protocol or architecture. It
      only analyzes how BEHAVE WG 64 documents mitigate concerns raised in
      <xref target="RFC4966"></xref> and which ones are still unaddressed.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Many thanks to M. Bagnulo, D. Wing, X. Li, D. Anipko and S. Moonesamy
      for their review and comments.</t>

      <t>D. Black provided the IPsec text.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.0959"?>

      <?rfc include="reference.RFC.4787"?>

      <?rfc include="reference.RFC.4966"?>

      <?rfc include="reference.RFC.5382"?>

      <?rfc include="reference.RFC.5508"?>

      <?rfc include='reference.RFC.4960'?>

      <?rfc include='reference.RFC.6052'?>

      <?rfc include='reference.RFC.6145'?>

      <?rfc include="reference.RFC.6146"?>

      <?rfc include="reference.RFC.6147"?>

      <?rfc include='reference.RFC.3261'?>

      <?rfc include='reference.RFC.3948'?>

      <?rfc include='reference.RFC.4302'?>

      <?rfc include='reference.RFC.4303'?>

      <?rfc include="reference.RFC.6144"?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.I-D.ietf-pcp-base'?>

      <?rfc include="reference.RFC.6384"?>

      <?rfc include="reference.RFC.2766"?>

      <?rfc include='reference.RFC.3715'?>

      <?rfc include="reference.I-D.wing-behave-dns64-config"?>

      <?rfc include='reference.I-D.ietf-ftpext2-ftp64'?>

      <?rfc include='reference.I-D.ietf-6man-addr-select-opt'?>

      <?rfc include='reference.I-D.ietf-behave-lsn-requirements'?>

      <?rfc include='reference.RFC.6157'?>

      <?rfc include='reference.RFC.5245'?>

      <?rfc include='reference.RFC.5853'?>

      <?rfc include='reference.I-D.haddad-mext-nat64-mobility-harmful'?>

      <?rfc include='reference.I-D.ietf-mmusic-media-path-middleboxes'?>

      <?rfc include='reference.I-D.carpenter-behave-referral-object'?>
    </references>
  </back>
</rfc>
