<?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 rfcedstyle="yes"?>
<rfc submissionType="IETF" category="info" consensus="yes" number="6889"
     ipr="trust200902">
  <front>
    <title abbrev="Analysis of 64 Translation">Analysis of Stateful 64
    Translation</title>

    <author fullname="Reinaldo Penno" initials="R." surname="Penno">
      <organization>Cisco Systems, Inc.</organization>

      <address>
        <postal>
          <street>170 West Tasman Drive</street>

          <city>San Jose</city>

          <code>95134</code>

          <region>California</region>

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

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

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

      <address>
        <postal>
          <street>Cessna Business Park</street>
           <city>Bangalore</city>
          
          <country>India</country>
<code>560103</code>
        </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 month="February" year="2013" />

    <area>Transport Area</area>

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

    <keyword>NAT64</keyword>

    <keyword>DNS64</keyword>

    <keyword>NAT-PT</keyword>

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



    <keyword>NAT traversal</keyword>

    <keyword>IPv4-IPv6 interconnection</keyword>

    <keyword>IPv4-IPv6 translation</keyword>






    <abstract>
      <t>Due to specific problems, Network Address Translation - Protocol Translation (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 Network Address Translation - Protocol Translation <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
        Scenarios 1 and 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="RFC6887"></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 RFC 4966">
      <t>Of the set of problems pointed out in <xref target="RFC4966"></xref>,
      the stateful 64 addresses some of them, whereas it 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 that can be solved.</t>

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

      <section title="Problems Impossible to Solve">
        <t>Problems discussed in <xref target="RFC4966"></xref> that 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 is 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="NAT64-HARMFUL"></xref> for an
                early analysis on mobility complications encountered when
                NAT64 is involved.</t>
              </list></t>
          </list></t>
      </section>

      <section title="Problems That Can Be Solved">
        <t>Problems discussed in <xref target="RFC4966"></xref> that 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 Application Layer Gateway (ALG)</xref> or in the FTP client
                (e.g., <xref target="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., Interactive Connectivity Establishment (ICE) <xref target="RFC5245"></xref>, maintain
                SIP-related NAT bindings as per Section 3.4 of <xref
                target="RFC5853"></xref>, media latching <xref
                target="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 Stream Control Transmission Protocol (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 a single point of failure 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 that 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="REFERRAL"></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="ADDR-SELECT"></xref>). These
                techniques may allow one to offload NAT64 resources and prefer
                native communications that 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 that are required to maintain NAT states
                ("always-on" services). An in-depth discussion can be found in
                <xref target="DNS64"></xref>.</t>
              </list></t>
          </list></t>
      </section>

      <section title="Problems Solved">
        <t>Problems identified in <xref target="RFC4966"></xref> that have been
        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 (Denial-of-Service) 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="RFC6887"></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 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="RFC6888"></xref>.</t>

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

            <t>Requirement for applications to use keepalive mechanisms to
      work around connectivity issues caused by premature timeout for
      session table and Binding Information Base entries (Section 2.3 of
<xref target="RFC4966" />).



<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 two hours, so not much keepalive 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 that issue frequent keepalive messages to be
                sure that an active mapping is still maintained by any
                involved NAT64 device even if the NAT64 complies with <xref
                target="RFC4787"> </xref>, <xref target="RFC5382"></xref>, and <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. Therefore, address
                persistence can be easily ensured by the NAT64
                function (which complies with NAT recommendations <xref
                target="RFC4787"></xref> and <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 an 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 that 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> IPSec tunnel mode </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="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>
<?rfc rfcedstyle="no" ?>
    <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"?>

<reference anchor='RFC6887'>
<front>
<title>Port Control Protocol (PCP)</title>

<author initials='D' surname='Wing' fullname='Dan Wing'>
    <organization />
</author>

<author initials='S' surname='Cheshire' fullname='Stuart Cheshire'>
    <organization />
</author>

<author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'>
    <organization />
</author>

<author initials='R' surname='Penno' fullname='Reinaldo Penno'>
    <organization />
</author>

<author initials='P' surname='Selkirk' fullname='Paul Selkirk'>
    <organization />
</author>

<date month='February' year='2013' />

<abstract><t>The Port Control Protocol allows an IPv6 or IPv4 host to control how incoming IPv6 or IPv4 packets are translated and forwarded by a network address translator (NAT) or simple firewall, and also allows a host to optimize its outgoing NAT keepalive messages.</t></abstract>

</front>

<seriesInfo name='RFC' value='6887' />

</reference>

</references>

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




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

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

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

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



<reference anchor='DNS64'>
<front>
<title>IPv6-only and Dual Stack Hosts on the Same Network with DNS64</title>

<author initials='D' surname='Wing' fullname='Dan Wing'>
    <organization />
</author>

<date month='February' day='14' year='2011' />

<abstract><t>Some networks are expected to support IPv4-only, dual-stack, and IPv6-only hosts at the same time.  Such networks also want to IPv6/ IPv4 translation for the IPv6-only host so it can access servers on the IPv4 Internet.  On such a network, the synthesized AAAA responses from a DNS64 can cause traffic to be translated.  This document describes a solution to avoid that translation when the application uses DNS.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />

</reference>


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



<reference anchor='FTP64'>
<front>
<title>FTP consideration for IPv4/IPv6 transition</title>

<author initials='D' surname='Liu' fullname='Dapeng Liu'>
    <organization />
</author>

<author initials='I' surname='Beijnum' fullname='Iljitsch van Beijnum'>
    <organization />
</author>

<author initials='Z' surname='Cao' fullname='Zhen Cao'>
    <organization />
</author>

<date month='January' day='11' year='2012' />

<abstract><t>The File transfer protocol(FTP) has a long histroy,, but still being widely used.  The first concept of FTP was described RFC 114, and then was specified in RFC 354.  FTP can work in IPv4 environment and then was extended to IPv6.  RFC 2428 defines IPv6 extensions of FTP. In the IPv6-IPv4 translation scenario, considerations should be applied to FTP client, server and translation box to ensure FTP protocol work properly.  This document discusses the details for FTP to work in IPv4-IPv6 transitiion scenario.  This document gives recommendation regarding how IPv6 FTP client should behave in 6to4 scenario.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />

</reference>


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



<reference anchor='ADDR-SELECT'>
<front>
<title>Distributing Address Selection Policy using DHCPv6</title>

<author initials='A' surname='Matsumoto' fullname='Arifumi Matsumoto'>
    <organization />
</author>

<author initials='T' surname='Fujisaki' fullname='Tomohiro Fujisaki'>
    <organization />
</author>

<author initials='T' surname='Chown' fullname='Tim Chown'>
    <organization />
</author>

<date month='January' day='15' year='2013' />

<abstract><t>RFC 6724 defines default address selection mechanisms for IPv6 that allow nodes to select an appropriate address when faced with multiple source and/or destination addresses to choose between.  The RFC 6724 allowed for the future definition of methods to administratively configure the address selection policy information.  This document defines a new DHCPv6 option for such configuration, allowing a site administrator to distribute address selection policy overriding the default address selection parameters and policy table, and thus control the address selection behavior of nodes in their site.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />

</reference>


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




<reference anchor='RFC6888'>
<front>
<title>Common Requirements for Carrier-Grade NATs (CGNs)</title>

<author initials='S' surname='Perreault' fullname='Simon Perreault'>
    <organization />
</author>

<author initials='I' surname='Yamagata' fullname='Ikuhei Yamagata'>
    <organization />
</author>

<author initials='S' surname='Miyakawa' fullname='Shin Miyakawa'>
    <organization />
</author>

<author initials='A' surname='Nakagawa' fullname='Akira Nakagawa'>
    <organization />
</author>

<author initials='H' surname='Ashida' fullname='Hiroyuki Ashida'>
    <organization />
</author>

<date month='February'  year='2013' />

<abstract><t>This document defines common requirements for Carrier-Grade NAT (CGN).  It updates RFC 4787.</t></abstract>

</front>

<seriesInfo name='RFC' value='6888' />

</reference>




      <?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'?>; Expired -->



<reference anchor='NAT64-HARMFUL'>
<front>
<title>A Note on NAT64 Interaction with Mobile IPv6</title>

<author initials='W' surname='Haddad' fullname='Wassim Haddad'>
    <organization />
</author>

<author initials='C' surname='Perkins' fullname='Charles Perkins'>
    <organization />
</author>

<date month='March' day='13' year='2011' />

<abstract><t>This memo discusses potential NAT64 technology repercussions for mobile nodes using Mobile IPv6.  An ambiguity is identified related to the use of DNS during bootstrapping, which is likely to inhibit proper signaling between mobile node and home agent.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />

</reference>


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




<reference anchor='MIDDLEBOXES'>
<front>
<title>Analysis of Middlebox Interactions for Signaling Protocol Communication along the Media Path</title>

<author initials='B' surname='Stucker' fullname='Brian Stucker'>
    <organization />
</author>

<author initials='H' surname='Tschofenig' fullname='Hannes Tschofenig'>
    <organization />
</author>

<author initials='G' surname='Salgueiro' fullname='Gonzalo Salgueiro'>
    <organization />
</author>

<date month='January' day='10' year='2013' />

<abstract><t>Middleboxes are defined as any intermediary box performing functions apart from normal, standard functions of an IP router on the data path between a source host and destination host.  Two such functions are network address translation and firewalling.  When Application Layer Gateways, such as SIP entities, interact with NATs and firewalls, as described in the MIDCOM architecture, then problems may occur in the transport of media traffic when signaling protocol interaction takes place along the media path, as it is the case for recent key exchange proposals (such as DTLS-SRTP).  This document highlights problems that may arise.  Unfortunately, it is difficult for the end points to detect or predict problematic behavior and to determine whether the media path is reliably available for packet exchange.  This document aims to summarize the various sources and effects of NAT and firewall control, the reasons that they exist, and possible means of improving their behavior to allow protocols that rely upon signaling along the media path to operate effectively.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />

</reference>


    <!--  <?rfc include='reference.I-D.carpenter-behave-referral-object'?>; Expired -->



<reference anchor='REFERRAL'>
<front>
<title>A Generic Referral Object for Internet Entities</title>

<author initials='B' surname='Carpenter' fullname='Brian Carpenter'>
    <organization />
</author>

<author initials='M' surname='Boucadair' fullname='Mohammed Boucadair'>
    <organization />
</author>

<author initials='J' surname='Halpern' fullname='Joel Halpern'>
    <organization />
</author>

<author initials='S' surname='Jiang' fullname='Sheng Jiang'>
    <organization />
</author>

<author initials='K' surname='Moore' fullname='Keith Moore'>
    <organization />
</author>

<date month='October' day='19' year='2009' />

<abstract><t>The purpose of a referral is to enable a given entity in a multiparty application to pass information to another party.  This memo specifies a Generic Referral Object (GRO) to be used in the context of referrals.  The proposed object is compact and is application- independent.  Both IPv4 and IPv6 schemes are supported, as well as upper layer identifiers.  Additional information to characterise an enclosed reference is also described.  To allow proper interpretation of referrals, a new notion of scope identifiers is introduced.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />

</reference>


    </references>
<?rfc rfcedstyle="yes" ?>
  </back>
</rfc>
