<?xml version="1.0" encoding="US-ASCII"?>
<?rfc toc="yes" ?>
<?rfc tocompact="yes" ?>
<?rfc compact="yes" ?>
<?rfc tocdepth="4" ?>
<?rfc rfcedstyle="yes" ?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2765 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2765.xml">
<!ENTITY rfc2766 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2766.xml">
<!ENTITY rfc2663 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2663.xml">
<!ENTITY rfc3027 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3027.xml">
<!ENTITY rfc3314 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3314.xml">
<!ENTITY rfc3484 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3484.xml">
<!ENTITY rfc1035 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY rfc4294 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4294.xml">
<!ENTITY rfc4215 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4215.xml">
<!ENTITY rfc4033 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4033.xml">
<!ENTITY rfc1858 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1858.xml">
<!ENTITY rfc3128 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3128.xml">
<!ENTITY rfc2960 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2960.xml">
<!ENTITY rfc3498 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3498.xml">
]>
<rfc number="4966" category="info" obsoletes="2766">
  <front>
    <title abbrev="NAT-PT Issues Analysis">Reasons to Move the Network
    Address Translator - Protocol Translator (NAT-PT) to Historic
    Status</title>

    <author fullname="Cedric Aoun" initials="C." surname="Aoun">
      <organization abbrev="Energize Urnet">Energize Urnet</organization>

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

          <city>Paris</city>

          <code></code>

          <country>France</country>
        </postal>

        <email>ietf@energizeurnet.com</email>
      </address>
    </author>

    <author fullname="Elwyn B. Davies" initials="E.B." surname="Davies">
      <organization>Folly Consulting</organization>

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

          <city>Soham</city>

          <region>Cambs</region>

          <code></code>

          <country>UK</country>
        </postal>

        <phone>+44 7889 488 335</phone>

        <email>elwynd@dial.pipex.com</email>
      </address>
    </author>

    <date month="June" year="2007" />

    <area>Operations</area>

    <workgroup>v6ops Working Group</workgroup>

<!-- [rfced] Please insert any additional keywords (beyond those that
appear in the title) for use on http://www.rfc-editor.org/search.html. --> 
<keyword>example</keyword>

    <keyword>RFC</keyword>

    <keyword>Request for Comments</keyword>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <keyword>v6ops</keyword>

    <keyword>NAT-PT</keyword>

    <abstract>
      <t>This document discusses issues with the specific form of IPv6-IPv4
      protocol translation mechanism implemented by the Network Address
      Translator - Protocol Translator (NAT-PT) defined in RFC 2766. These
      issues are sufficiently serious that recommending RFC 2766 as a general
      purpose transition mechanism is no longer desirable, and this document
      recommends that the IETF should reclassify RFC 2766 from Proposed
      Standard to Historic status.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>The Network Address Translator - Protocol Translator (NAT-PT)
      document <xref target="RFC2766"></xref> defines a set of network-layer
      translation mechanisms designed to allow nodes that only support IPv4 to
      communicate with nodes that only support IPv6, during the transition to
      the use of IPv6 in the Internet.</t>

      <t><xref target="RFC2766"></xref> specifies the basic NAT-PT, in which
      only addresses are translated, and the Network Address Port Translator -
      Protocol Translator (NAPT-PT), which also translates transport
      identifiers, allowing for greater economy of scarce IPv4 addresses.
      Protocol translation is performed using the Stateless IP/ICMP
      Translation Algorithm (SIIT) defined in <xref target="RFC2765"></xref>.
      In the following discussion, where the term "NAT-PT" is used
      unqualified, the discussion applies to both basic NAT-PT and NAPT-PT.
      "Basic NAT-PT" will be used if points apply to the basic address-only
      translator.</t>

      <t>A number of previous documents have raised issues with NAT-PT. This
      document will summarize these issues, note several other issues carried
      over from traditional IPv4 NATs, and identify some additional issues
      that have not been discussed elsewhere. Proposed solutions to
      the issues are mentioned and any resulting need for
      changes to the specification is identified.</t>

      <t>Whereas NAT is seen as an ongoing capability that is needed to work
      around the limited availability of globally unique IPv4 addresses,
      NAT-PT has a different status as a transition mechanism for IPv6. As
      such, NAT-PT should not be allowed to constrain the development of IPv6
      applications or impose limitations on future developments of IPv6.</t>

      <t>This document draws the conclusion that the technical and operational
      difficulties resulting from these issues, especially the possible future
      constraints on the development of IPv6 networks (see <xref
      target="app_assumptions"></xref>), make it undesirable to recommend
      NAT-PT as described in <xref target="RFC2766"></xref> as a general
      purpose transition mechanism for intercommunication between IPv6
      networks and IPv4 networks.</t>

      <t>Although the <xref target="RFC2766"></xref> form of packet
      translation is not generally applicable, it is likely that in some
      circumstances a node that can only support IPv4 will need to communicate
      with a node that can only support IPv6; this needs a translation
      mechanism of some kind. Although this may be better carried out by an
      application-level proxy or transport-layer translator, there may still
      be scenarios in which a revised, possibly restricted version of NAT-PT
      can be a suitable solution; accordingly, this document recommends that
      the IETF should reclassify RFC 2766 from Proposed Standard to Historic
      status to avoid it from being used in inappropriate scenarios while
      any replacement is developed.</t>

      <t>The following documents relating directly to NAT-PT have been
      reviewed while drafting this document: <vspace blankLines="1" /> <list
          style="symbols">
          <t>Network Address Translation - Protocol Translation (NAT-PT) <xref
          target="RFC2766"></xref></t>

          <t>Stateless IP/ICMP Translation Algorithm (SIIT) <xref
          target="RFC2765"></xref></t>

          <t>NAT-PT Applicability Statement <xref
          target="NATP-APP"></xref></t>

          <t>Issues with NAT-PT DNS ALG (Application
   Layer Gateway) in RFC 2766 <xref
          target="DNS-ALG-ISSUES"></xref></t>

          <t>NAT-PT DNS ALG Solutions <xref
          target="DNS-ALG-SOL"></xref></t>

          <t>NAT-PT Security Considerations <xref
          target="NATPT-SEC"></xref></t>

          <t>Issues when Translating between IPv4 and IPv6 <xref
          target="TRANS-ISSUES"></xref></t>

          <t>IPv6-IPv4 Translation Mechanism for SIP-Based Services in Third
          Generation Partnership Project (3GPP) Networks <xref
          target="3GPP-TRANS"></xref></t>

          <t>Analysis on IPv6 Transition in 3GPP Networks <xref
          target="RFC4215"></xref></t>

          <t>Considerations for Mobile IP Support in NAT-PT <xref
          target="NATPT-MOB"></xref></t>

          <t>An IPv6-IPv4 Multicast Translator based on Internet Group
          Management Protocol / Multicast Listener Discovery (IGMP/MLD)
          Proxying (mtp) <xref target="MTP"></xref></t>

          <t>An IPv4-IPv6 Multicast Gateway <xref
          target="MCASTGW"></xref></t>

          <t>Scalable mNAT-PT Solution <xref
          target="MUL-NATPT"></xref></t>
        </list></t>

      <t>Because the majority of the documents containing discussions of the
      issues are documents that are unlikely to become RFCs, the issues
      are summarized here to avoid the need for normative references.</t>

      <t>Some additional issues can be inferred from corresponding issues
      known to exist in 'traditional' IPv4 NATs. The following documents are
      relevant: <vspace blankLines="1" /> <list style="symbols">
          <t>Protocol Complications with the IP Network Address Translator
          <xref target="RFC3027"></xref></t>

          <t>IP Network Address Translator (NAT) Terminology and
          Considerations <xref target="RFC2663"></xref></t>
        </list></t>

      <t>There is some ambiguity in <xref target="RFC2766"></xref> about
      whether the Application Layer Gateway (ALG) for DNS (referred to as
      DNS-ALG in this document) is an integral and mandatory part of the
      specification. The ambiguity arises mainly from the first section of the
      applicability section (Section 8), which appears to imply that 'simple'
      use of NAT-PT could avoid the use of the DNS-ALG.</t>

      <t>This is important because a number of the major issues arise from the
      interactions between DNS and NAT-PT. However, detailed inspection of
      <xref target="RFC2766"></xref> shows that the 'simple' case has not been
      worked out and it is unclear how information about the address
      translation could be passed to the hosts in the absence of the DNS-ALG.
      Therefore, this document assumes that the DNS-ALG is an integral part of
      NAT-PT; accordingly, issues with the DNS-ALG must be considered as
      issues for the whole specification.</t>

      <t>Note that issues not specifically related to the use of the DNS-ALG
      will apply to any network-layer translation scheme, including any based
      on the SIIT algorithm <xref target="RFC2765"></xref>. In the event that
      new forms of translation are developed as alternatives to NAT-PT, the
      generic issues relevant to all IPv6-IPv4 translators should be borne in
      mind.</t>

      <t>Issues raised with IPv6-IPv4 translators in general and NAT-PT in
      particular can be categorized as follows: <vspace blankLines="1" />
      <list style="symbols">
          <t>Issues that are independent of the use of a DNS-ALG and are,
          therefore, applicable to any form of an IPv6-IPv4 translator: <list
              style="symbols">
              <t>Disruption of all protocols that embed IP addresses (and/or
              ports) in packet payloads or apply integrity mechanisms using IP
              addresses (and ports).</t>

              <t>Inability to redirect traffic for protocols that lack
              demultiplexing capabilities or are not built on top of specific
              transport-layer protocols in situations where one NAPT-PT is
              translating for multiple IPv6 hosts.</t>

              <t>Requirement for applications to use keepalive mechanisms to
              workaround connectivity issues caused by premature NAT-PT state
              timeout.</t>

              <t>Loss of information due to incompatible semantics between
              IPv4 and IPv6 versions of headers and protocols.</t>

              <t>Need for additional state and/or packet reconstruction in
              NAPT-PT translators dealing with packet fragmentation.</t>

              <t>Interaction with SCTP and multihoming.</t>

              <t>Need for NAT-PT to act as proxy for correspondent node when
              IPv6 node is mobile, with consequent restrictions on
              mobility.</t>

              <t>NAT-PT not being able to handle multicast traffic.</t>
            </list> <vspace blankLines="1" /></t>

          <t>Issues that are exacerbated by the use of a DNS-ALG and are,
          therefore, also applicable to any form of an IPv6-IPv4 translator:
          <list style="symbols">
              <t>Constraints on network topology.</t>

              <t>Scalability concerns together with introduction of a single
              point of failure and a security attack nexus.</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.</t>

              <t>Creation of a DoS (Denial of Service) threat relating to exhaustion of memory and
              address/port pool resources on the translator.</t>
            </list> <vspace blankLines="1" /></t>

          <t>Issues that result from the use of a DNS-ALG and are, therefore,
          specific to NAT-PT as defined in <xref target="RFC2766"></xref>:
          <list style="symbols">
              <t>Address selection issues when either the internal or external
              hosts implement both IPv4 and IPv6.</t>

              <t>Restricted validity of translated DNS records: a translated
              record may be forwarded to an application that cannot use
              it.</t>

              <t>Inappropriate translation of responses to A queries from IPv6
              nodes.</t>

              <t>Address selection issues and resource consumption in
              a DNS-ALG
              with multi-addressed nodes.</t>

              <t>Limitations on DNS security capabilities when using a 
              DNS-ALG.</t>
            </list></t>
        </list></t>

      <t><xref target="independent"></xref>, <xref
      target="exacerbated"></xref> and <xref target="dns"></xref> discuss
      these groups of issues. <xref target="app_assumptions"></xref> examines
      the consequences of deploying NAT-PT for application developers and the
      long term effects of NAT-PT (or any form of generally deployed IPv6-IPv4
      translator) on the further development of IPv6.</t>

      <t>The terminology used in this document is defined in <xref
      target="RFC2663"></xref>, <xref target="RFC2766"></xref>, and <xref
      target="RFC3314"></xref>.</t>
    </section>

    <section anchor="independent" title="Issues Unrelated to an DNS-ALG">
      <section anchor="embedded"
               title="Issues with Protocols Embedding IP Addresses">
        <t>It is well known from work on IPv4 NATs (see Section 8 of <xref
        target="RFC2663"></xref> and <xref target="RFC3027"></xref>) that the
        large class of protocols that embed numeric IP addresses in their
        payloads either cannot work through NATs or require specific ALGs as
        helpers to translate the payloads in line with the address and port
        translations. The same set of protocols cannot pass through NAT-PT.
        The problem is exacerbated because the IPv6 and IPv4 addresses are of
        different lengths, so that packet lengths as well as packet
        contents are altered. <xref target="RFC2766"></xref> describes the consequences as
        part of the description of the FTP ALG. Similar workarounds are needed
        for all protocols with embedded IP addresses that run over TCP
        transports.</t>

        <!--Maybe worth while to let the newbies know that UDP is also impacted -->

        <t>The issues raised in Sections 2 and 3 of <xref
        target="RFC2663"></xref>, relating to the authentication and encryption
        with NAT, are also applicable to NAT-PT.</t>

        <t>Implementing a suite of ALGs requires that NAT-PT equipment
        includes the logic for each of the relevant protocols. Most of these
        protocols are continuously evolving, requiring continual and
        coordinated updates of the ALGs to keep them in step.</t>

        <t>Assuming that the NAT-PT contains a colocated ALG for one of the
        relevant protocols, the ALG could replace the embedded IP addresses
        and ports. However, this replacement can only happen if no
        cryptographic integrity mechanism is used and the protocol messages
        are sent in the clear (i.e., not encrypted).</t>

        <t>A possible workaround relies on the NAT-PT being party to the
        security association used to provide authentication and/or encryption.
        NAT-PT would then be aware of the cryptographic algorithms and keys
        used to secure the traffic. It could then modify and re-secure the
        packets; this would certainly complicate network operations and
        provide additional points of security vulnerability.</t>

        <t>Unless UDP encapsulation is used for IPsec <xref
        target="RFC3498"></xref>, traffic using IPsec AH
        (Authentication Header), in transport and
        tunnel mode, and IPsec ESP (Encapsulating Security Payload), in transport mode, is unable to be carried
        through NAT-PT without terminating the security associations on the
        NAT-PT, due to their usage of cryptographic integrity protection.</t>

        <t>A related issue with DNS security is discussed in <xref
        target="dnssec"></xref>.</t>
      </section>

      <section anchor="demultiplexing" title="NAPT-PT Redirection Issues">
        <t>Section 4.2 of <xref target="RFC3027"></xref> discusses problems
        specific to RSVP and NATs, one of which is actually a more generic
        problem for all port translators. When several end-hosts are using a
        single NAPT-PT box, protocols that do not have a demultiplexing
        capability similar to transport-layer port numbers may be unable to
        work through NAPT-PT (and any other port translator) because there is
        nothing for NAPT-PT to use to identify the correct binding.</t>

        <t>This type of issue affects IPsec encrypted packets where the
        transport port is not visible (although it might be possible to use
        the Security Parameter Index (SPI) as an alternative demultiplexer),
        and protocols, such as RSVP, which are carried directly in IP
        datagrams rather than using a standard transport-layer protocol such
        as TCP or UDP. In the case of RSVP, packets going from the IPv4 domain
        to the IPv6 domain do not necessarily carry a suitable demultiplexing
        field, because the port fields in the flow identifier and traffic
        specifications are optional.</t>

        <t>Several ad hoc workarounds could be used to solve the
        demultiplexing issues, however in most cases these solutions are not
        documented anywhere, which could lead to non-deterministic and
        undesirable behavior (for example, such workarounds often assume
        particular network topologies, etc., in order to function correctly;
        if the assumptions are not met in a deployment, the workaround may not
        work as expected).</t>

        <t>This issue is closely related to the fragmentation issue described
        in <xref target="fragment"></xref>.</t>
      </section>

      <section anchor="keepalive" title="NAT-PT Binding State Decay">
        <t>NAT-PT will generally use dynamically created bindings to reduce
        the need for IPv4 addresses both for basic NAT-PT and NAPT-PT. Both
        basic NAT-PT and NAPT-PT use soft state mechanisms to manage the
        address and, in the case of NAPT-PT, port pools are used for dynamically
        created address bindings. This allows all types of NAT-PT boxes to
        operate autonomously without requiring clients to signal, either
        implicitly or explicitly, that a binding is no longer required. In any
        case, without soft state timeouts, network and application
        unreliability would inevitably lead to leaks, eventually causing
        address or port pool exhaustion.</t>

        <t>For a dynamic binding to persist for longer than the soft state
        timeout, packets must be sent periodically from one side of the NAT-PT
        to the other (the direction is not specified by the NAT-PT
        specification). If no packets are sent in the proper direction, the
        NAT-PT binding will not be refreshed and the application connection
        will be broken. Hence, all applications need to maintain their NAT-PT
        bindings during long idle periods by incorporating a keepalive
        mechanism, which may not be possible for legacy systems.</t>

        <t>Also, <xref target="RFC2766"></xref> does not specify how to choose
        timeouts for bindings. As discussed in <xref
        target="RFC2663"></xref> for traditional NATs, selecting suitable
        values is a matter of heuristics, and coordinating with application
        expectations may be impossible.</t>
      </section>

      <section anchor="loss"
               title="Loss of Information through Incompatible Semantics">
        <t>NAT-PT reuses the SIIT header and protocol translations defined in
        <xref target="RFC2765"></xref>. Mismatches in semantics between IPv4
        and IPv6 versions can lead to loss of information when packets are
        translated. Three issues arising from this are: <vspace
        blankLines="1" /> <list style="symbols">
            <t>There is no equivalent in IPv4 for the flow label field of the
            IPv6 header. Hence, any special treatment of packets based on flow
            label patterns cannot be propagated into the IPv4 domain.</t>

            <t>In the future, IPv6 extension headers provide flexibility for improvements in
            the IP protocol suite and new headers that do not have
            equivalents in IPv4 may be defined. In practice, some
            existing extensions such as routing headers and mobility
            extensions are not translatable.</t>

            <t>As described in Section 2.2 of <xref
            target="NATP-APP"></xref>, there are
            no equivalents in IPv6 for some ICMP(v4) messages, while for
            others (notably the 'Parameter Problem' messages) the semantics
            are not equivalent. Translation of such messages may lead
            to the loss
            of information. However, this issue may not be very severe because
            the error messages relate to packets that have been translated by
            NAT-PT rather than by arbitrary packets. If the NAT-PT is functioning
            correctly, there is, for example, no reason why IPv6 packets with
            unusual extension headers or options should be generated. This
            case is cited in <xref
            target="NATP-APP"></xref> as an
            example where the IPv6 error has no equivalent in IPv4, resulting
            in lost information.</t>
          </list></t>

        <t>Loss of information in any of these cases could be a constraint to
        certain applications.</t>

        <t>A related matter concerns the propagation of the Differentiated
        Services Code Point (DSCP). NAT-PT and SIIT simply copy the DSCP field
        when translating packets. Accordingly, the IPv4 and IPv6 domains must
        have equivalent Per-Hop Behaviors for the same code point, or
        alternative means must be in place to translate the DSCP between
        domains.</t>
      </section>

      <section anchor="fragment" title="NAT-PT and Fragmentation">
        <t>As mentioned in <xref target="RFC3027"></xref>, simple port
        translators are unable to translate packet fragments, other than the
        first, from a fragmented packet, because subsequent fragments do not
        contain the port number information.</t>

        <t>This means that, in general, fragmentation cannot be allowed for any
        traffic that traverses a NAPT-PT. One attempted workaround requires
        the NAPT-PT to maintain the state of fragmented packets in transit.
        This is not a complete solution because fragment misordering could
        lead to the first fragment appearing at the NAPT-PT after later
        fragments. Consequently, the NAPT-PT would not have the information needed to
        translate the fragments received before the first.</t>

        <t>Although it would not be expected in normal operation, NAPT-PT
        needs to be proofed against receiving short first fragments that don't
        contain the transport port numbers. Note that such packets are a
        problem for IPv6's stateful packet inspection. The current
        specifications of IPv6 do not mandate (1) any minimum packet size
        beyond the need to carry the unfragmentable part (which doesn't
        include the transport port numbers) or (2) reassembly rules to
        minimize the effects of overlapping fragments. Thus, IPv6 is open to
        the sort of attacks described in <xref target="RFC1858"></xref> and
        <xref target="RFC3128"></xref>.</t>

        <t>An additional concern arises when a fragmented IPv4 UDP packet,
        which does not have a transport-layer checksum, traverses any type of
        NAT-PT box. As described in <xref target="RFC2766"></xref>, the NAT-PT
        has to reconstruct the whole packet so that it can calculate the
        checksum needed for the translated IPv6 packet. This can
        result in a
        significant delay to the packet, especially if it has to be
        re-fragmented before transmission on the IPv6 side.</t>

        <t>If NAT-PT boxes reassembled all incoming fragmented packets (both
        from the IPv4 and IPv6 directions) in the same way they have to
        for unchecksummed IPv4 UDP packets, this would be a solution to the
        first problem. The resource cost would be considerable apart from the
        potential delay problem if the outgoing packet has to be
        re-fragmented. In any case, fragmentation would mean that the NAT-PT
        would consume extra memory and CPU resources, making the NAT-PT even
        less scalable (see <xref target="scalability"></xref>).</t>

        <t>Packet reassembly in a NAT-PT box also opens up the possibility of
        various fragment-related security attacks. Some of these are analogous
        to attacks identified for IPv4. Of particular concern is a DoS attack
        based on sending large numbers of small fragments without a
        terminating last fragment, which would potentially overload the
        reconstruction buffers and consume large amounts of CPU resources.</t>
      </section>

      <section anchor="sctp"
               title="NAT-PT Interaction with SCTP and Multihoming">
        <t>The Stream Control Transmission Protocol (SCTP) <xref
        target="RFC2960"></xref> is a transport protocol, which has been
        standardized since SIIT was specified. SIIT does not explicitly cover
        the translation of SCTP, but SCTP uses transport port numbers in the same
        way that UDP and TCP do, so these similar techniques can be used.</t>

        <t>However, SCTP also supports multihoming. During connection setup,
        SCTP control packets carry embedded addresses that would have to be
        translated. This would also require that the types of the options
        fields in the SCTP control packets be changed with consequent changes
        to packet length; the transport checksum would also have to be
        recalculated. The ramifications of multihoming as it might interact
        with NAT-PT have not been fully explored. Because of the 'chunked'
        nature of data transfer, it does not appear that that state would have to
        be maintained to relate packets transmitted using the different IP
        addresses associated with the connection.</t>

        <t>Even if these technical issues can be overcome, using SCTP in a
        NAT-PT environment may effectively nullify the multihoming advantages
        of SCTP if all the connections run through the same NAT-PT. The
        consequences of running a multihomed network with separate NAT-PT
        boxes associated with each of the 'homes' have not been fully
        explored, but one issue that will arise is described in <xref
        target="multiaddress"></xref>. SCTP will need an associated ALG --
        actually a Transport Layer Gateway -- to handle the packet payload
        modifications. If it turns out that that state is required, the state would
        have to be distributed and synchronized across several NAT-PT boxes in a
        multihomed environment.</t>

        <t>SCTP running through NAT-PT in a multihomed environment is also
        incompatible with IPsec as described in <xref
        target="embedded"></xref>.</t>
      </section>

      <section anchor="mipv6"
               title="NAT-PT as a Proxy Correspondent Node for MIPv6">
        <t>As discussed in <xref
        target="NATPT-MOB"></xref>, it is not possible to
        propagate Mobile IPv6 (MIPv6) control messages into the IPv4 domain. According
        to the IPv6 Node Requirements <xref target="RFC4294"></xref>, IPv6
        nodes should normally be prepared to support the route optimization
        mechanisms needed in a correspondent node. If communications from an
        IPv6 mobile node are traversing a NAT-PT, the destination IPv4 node
        will certainly not be able to support the correspondent node features
        needed for route optimization.</t>

        <t>This can be resolved in two ways: <vspace blankLines="1" /> <list
            style="symbols">
            <t>The NAT-PT can discard messages and headers relating to changes
            of care-of addresses, including reverse routing checks.
            Communications with the mobile node will continue through the home
            agent without route optimization. This is clearly sub-optimal, but
            communication should remain possible.</t>

            <t>Additional functionality could be implemented in the NAT-PT to
            allow it to function as a proxy correspondent node for all IPv4
            nodes for which it has bindings. This scheme adds considerably to
            the complexity of NAT-PT. Depending on the routability of the IPv6
            PREFIX used for translated IPv4 addresses, it may also limit the
            extent of mobility of the mobile node: all communications to the
            IPv4 destination have to go through the same NAT-PT, even if the
            mobile node moves to a network that does not have direct IPv6
            connectivity with the NAT-PT.</t>
          </list></t>

        <t>In both cases, the existing NAT-PT specification would need to be
        extended to deal with IPv6 mobile nodes, and neither is a fully
        satisfactory solution.</t>
      </section>

      <section anchor="multicast" title="NAT-PT and Multicast">
        <t>SIIT <xref target="RFC2765"></xref> cannot handle the translation of
        multicast packets and NAT-PT does not discuss a way to map multicast
        addresses between IPv4 and IPv6. Some separate work has been done to
        provide an alternative mechanism to handle multicast. This work uses a
        separate gateway that understands some or all of the relevant
        multicast control and routing protocols in each domain. It has
        not yet been carried through into standards.</t>

        <t>A basic mechanism, which involves only IGMP on the IPv4 side and
        MLD on the IPv6 side, is described in 'An IPv6-IPv4 Multicast
        Translator based on IGMP/MLD Proxying (mtp)' <xref
        target="MTP"></xref>. A more comprehensive approach,
        which includes proxying of the multicast routing protocols, is
        described in 'An IPv4 - IPv6 multicast gateway' <xref
        target="MCASTGW"></xref>. Both approaches have
        several of the issues described in this section, notably issues with
        embedded addresses.</t>

        <t><xref target="NATPT-SEC"></xref> identifies
        the possibility of a multiplicative reflection attack if the NAT-PT
        can be spoofed into creating a binding for a multicast address. This
        attack would be very hard to mount because routers should not forward
        packets with multicast addresses in the source address field. However,
        it highlights the possibility that a naively implemented DNS-ALG could
        create such bindings from spoofed DNS responses since <xref
        target="RFC2766"></xref> does not mention the need for checks on the
        types of addresses in these responses.</t>

        <t>The issues for NAT-PT and multicast reflect the fact that NAT-PT is
        at best a partial solution. Completing the translation solution to
        cater for multicast traffic is likely to carry a similar set of issues
        to the current unicast NAT-PT and may open up significant additional
        security risks.</t>
      </section>
    </section>

    <section anchor="exacerbated"
             title="Issues Exacerbated by the Use of DNS-ALG">
      <section anchor="topology"
               title="Network Topology Constraints Implied by NAT-PT">
        <t>Traffic flow initiators in a NAT-PT environment are dependent on
        the DNS-ALG in the NAT-PT to provide the mapped address needed to
        communicate with the flow destination on the other side of the NAT-PT.
        Whether used for flows initiated in the IPv4 domain or the IPv6
        domain, the NAT-PT has to be on the path taken by the DNS query sent
        by the flow initiator to the relevant DNS server; otherwise, the DNS
        query will not be modified and the response type will not be
        appropriate.</t>

        <t>The implication is that the NAT-PT box also has to be the default
        IPv6 router for the site so that the DNS-ALG is able to examine all
        DNS requests made over IPv6. On sites with both IPv6 and dual-stack
        nodes, this will result in all traffic flowing through the NAT-PT with
        consequent scalability concerns.</t>

        <t>These constraints are described in more detail in <xref
        target="DNS-ALG-ISSUES"></xref>.</t>

        <t><xref target="DNS-ALG-SOL"></xref> proposes
        a solution for flows initiated from the IPv6 domain, but it appears
        that this solution still has issues.</t>

        <t>For IPv6-only clients, the solution requires the use of a DNS
        server in the IPv4 domain, accessed via an IPv6 address which uses the
        NAT-PT PREFIX (see <xref target="RFC2766"></xref>). Queries to this
        server would necessarily pass through the NAT-PT. Dual-stack hosts
        would use a separate DNS server accessed through a normal IPv6
        address. This removes the need for the NAT-PT box to be the default
        IPv6 gateway for the domain.</t>

        <t>The primary proposal suggests that the IPv6-only clients should use
        this DNS server for all queries. This is expensive on NAT-PT resources
        because requests relating to hosts with native IPv6 addresses would
        also use the NAT-PT DNS-ALG.</t>

        <t>The alternate suggestion to reduce this burden appears to be
        flawed: if IPv6-only clients are provided with a list of DNS servers
        including both the server accessed via NAT-PT and server(s) accessed
        natively via IPv6, the proposal suggests that the client could avoid
        using NAT-PT for hosts that have native IPv6 addresses.</t>

        <t>Unfortunately, for the alternate suggestion, there is no a priori
        way in which the initiator can decide which DNS server to use for a
        particular query. In the event that the initiator makes the wrong
        choice, the DNS query will return an empty list rather than failing to
        respond. With standard DNS logic, the initiator will not try
        alternative DNS servers because it has received a response. This means
        that the solution would consist of always using DNS servers having the
        NAT-PT PREFIX. This imposes the burden of always requiring the
        DNS RR (Resource Record) <xref target="RFC1035"></xref> translation.</t>

        <t>For flows initiated from the IPv4 network, the proposal recommends
        that the advertised DNS servers for the IPv6 network would have the
        IPv4 address of the NAT-PT. Again there is no deterministic way to
        choose the correct DNS server for each query resulting in the same
        issues as were raised for flows initiated from the IPv6 domain.</t>

        <t>Although the engineering workaround, just described, provides a
        partial solution to the topology constraints issue, it mandates that
        DNS queries and responses should still go through a NAT-PT even if
        there would normally be no reason to do so. This mandatory passage
        through the NAT-PT for all DNS requests will exacerbate the other
        DNS-related issues discussed in <xref target="DoS"></xref> and <xref
        target="selection"></xref>.</t>
      </section>

      <section anchor="scalability"
               title="Scalability and Single Point of Failure Concerns">
        <t>As with traditional NAT, NAT-PT is a bottleneck in the network with
        significant scalability concerns. Furthermore, the anchoring of flows to a
        particular NAT-PT makes the NAT-PT a potential single point of failure
        in the network. The addition of the DNS-ALG in NAT-PT further
        increases the scalability concerns.</t>

        <t>Solutions to both problems have been envisaged using collections of
        cooperating NAT-PT boxes, but such solutions require coordination and
        state synchronization, which has not yet been standardized and again
        adds to the functional and operational complexity of NAT-PT. One such
        solution is described in <xref
        target="MUL-NATPT"></xref>.</t>

        <t>As with traditional NAT, the concentration of flows through NAT-PT
        and the legitimate modification of packets in the NAT-PT make NAT-PTs
        enticing targets for security attacks.</t>
      </section>

      <section anchor="persistence"
               title="Issues with Lack of Address Persistence">
        <t>Using the DNS-ALG to create address bindings requires that
        application use the translated address returned by the DNS query
        before the NAT-PT binding state is timed out (see <xref
        target="keepalive"></xref>). Applications will not normally be aware
        of this constraint, which may be different from the existing lifetime
        of DNS query responses. This could lead to "difficult to diagnose"
        problems with applications.</t>

        <t>Additionally, the DNS-ALG needs to determine the initial lifetime
        of bindings that it creates. As noted in <xref
        target="keepalive"></xref>, this may need to be determined
        heuristically. The DNS-ALG does not know which protocol the mapping is
        to be used for, and so needs another way to determine the initial
        lifetime. This could be tied to the DNS response lifetime, but that
        might open up additional DoS attack possibilities if very long
        validities <!-- [rfced] AQ: Validities of response lifetimes?
        Please clarify.  --> are allowed. Also, the lifetime should be adjusted once the
        NAT-PT determines which protocol is being used with the binding.</t>

        <t>As with traditional NATs (see Section 2.5 of <xref
        target="RFC3027"></xref>), NAT-PT will most likely break applications
        that require address mapping to be retained across contiguous
        sessions. These applications require the IPv4 to IPv6 address mapping
        to be retained between sessions so the same mapped address may be
        reused for subsequent session interactions. NAT-PT cannot know this
        requirement and may reassign the previously used mapped address to
        different hosts between sessions.</t>

        <t>Trying to keep NAT-PT from discarding an address mapping would
        require either a NAT-PT extension protocol that would allow the
        application to request the NAT-PT device to retain the mappings, or an
        extended ALG (which has all the issues discussed in <xref
        target="embedded"></xref>) that can interact with NAT-PT to keep the
        address mapping from being discarded after a session.</t>
      </section>

      <section anchor="DoS"
               title="DoS Attacks on Memory and Address/Port Pools">
        <t>As discussed in <xref target="keepalive"></xref>, a NAT-PT may
        create dynamic NAT bindings, each of which consumes memory resources
        as well as an address (or port if NAPT-PT is used) from an address (or
        port) pool. A number of documents, including <xref
        target="RFC2766"></xref> and <xref
        target="NATPT-SEC"></xref> discuss the possible
        denial of service (DoS) attacks on basic NAT-PT and NAPT-PT
        that would
        result in a resource depletion associated with address and port pools.
        NAT-PT does not specify any authentication mechanisms; thus, an
        attacker may be able to create spurious bindings by spoofing addresses
        in packets sent through NAT-PT. The attack is more damaging if the
        attacker is able to spoof protocols with long binding timeouts
        (typically used for TCP).</t>

        <t>The use of the DNS-ALG in NAT-PT introduces another vulnerability
        that can result in resource depletion. The attack identified in <xref
        target="DNS-ALG-ISSUES"></xref> exploits the use of
        DNS queries traversing NAT-PT to create dynamic bindings. Every time a
        DNS query is sent through the NAT-PT, the NAT-PT may create a new
        basic NAT-PT or NAPT-PT binding without any end-host authentication or
        authorization mechanisms. This behavior could lead to a serious DoS
        attack on both memory and address or port pools. Address spoofing is
        not required for this attack to be successful.</t>

        <t><xref target="DNS-ALG-SOL"></xref> proposes
        to mitigate the DoS attack by using Access Control Lists (ACLs) and
        static binds, which increases the operational cost and may not always
        be practical.</t>

        <t>The ideal mitigation solution would be to disallow dynamically
        created binds until authentication and authorization of the end-host
        needing the protocol translation has been carried out. This would
        require that the proper security infrastructure be in place to support
        the authentication and authorization, which increases the network
        operational complexity.</t>
      </section>
    </section>

    <section anchor="dns" title="Issues Directly Related to Use of DNS-ALG">
      <section anchor="selection"
               title="Address Selection Issues when Communicating with Dual-Stack End-Hosts">
        <t><xref target="DNS-ALG-ISSUES"></xref> discusses
        NAT-PT DNS-ALG issues with regard to address selection. As specified
        in <xref target="RFC2766"></xref>, the DNS-ALG returns AAAA Resource
        Records (RRs) from two possible sources, to the IPv6 host that has made
        an AAAA DNS query.</t>

        <t>If the query relates to a dual-stack host, the query will return
        both the native IPv6 address(es) and the translated IPv4 address(es)
        in AAAA RRs. Without additional information, the IPv6 host address
        selection may pick a translated IPv4 address instead of selecting the
        more appropriate native IPv6 address. Under some circumstances, the
        address selection algorithms <xref target="RFC3484"></xref> will
        always prefer the translated address over the native IPv6 address;
        this is obviously undesirable.</t>

        <t><xref target="DNS-ALG-SOL"></xref> proposes
        a solution that involves modification to the NAT-PT specification
        intended to return only the most appropriate address(es) to an IPv6
        capable host as described below: <vspace blankLines="1" /> <list style="symbols">
            <t>When a DNS AAAA query traverses the NAT-PT DNS-ALG, the NAT-PT
            will forward the query to the DNS server in the IPv4 domain
            unchanged, but using IPv4 transport. The following two
            results can occur: <list style="symbols">
                <t>If the authoritative DNS server has one or more AAAA
                records, it returns them. The DNS-ALG then forwards this
                response to the IPv6 host and does not send an A query as the
                standard NAT-PT would do.</t>

                <t>Otherwise, if the DNS server does not understand the AAAA
                query or has no AAAA entry for the host, it will return an
                error. The NAT-PT DNS-ALG will intercept the error or empty
                return and send an A query for the same host. If this query
                returns an IPv4 address, the ALG creates a binding and
                synthesizes a corresponding AAAA record, which it sends back
                to the IPv6 host.</t>
              </list> <vspace blankLines="1" /></t>

            <t>The NAT-PT thus forwards the result of the first successful DNS
            response back to the end-host or an error if neither succeeds.
            Consequently, only AAAA RRs from one source will be provided
            instead of two as specified in <xref target="RFC2766"></xref>, and
            it will contain the most appropriate address for a dual-stack or
            IPv6-only querier.</t>
          </list></t>

        <t>There is, however, still an issue with the proposed solution:
        <vspace blankLines="1" /> <list style="symbols">
            <t>The DNS client may timeout the query if it doesn't receive a
            response in time. This is likely because the NAT-PT may have
            to make two separate, sequential queries of which the client is
            not aware. It may be possible to reduce the response time by
            sending the two queries in parallel and ignoring the result of the
            A query if the AAAA returns one or more addresses. However, it is
            still necessary to delay after receiving the first response to
            determine if a second is coming, which may still trigger the DNS
            client timeout.</t>
          </list></t>

        <t>Unfortunately, the two queries cannot be combined in a single DNS
        request (all known DNS servers only process a single DNS query per
        request message because of difficulties expressing authoritativeness
        for arbitrary combinations of requests).</t>

        <t>An alternative solution would be to allow the IPv6 host to use
        the NAT-PT PREFIX <xref target="RFC2766"></xref> within its
        address selection policies and to assign it a low selection
        priority. This solution requires an automatic configuration of the
        NAT-PT PREFIX as well as its integration within the address selection
        policies. The simplest way to integrate this automatic configuration
        would be through a configuration file download (in case the host or
        Dynamic Host Configuration Protocol for IPv6 (DHCPv6) server did not
        support vendor options and to avoid a standardization effort on the NAT-PT
        PREFIX option). This solution does not require any modification to the
        NAT-PT specification.</t>

        <t>Neither of these solutions resolves a second issue related to
        address selection that is identified in <xref
        target="DNS-ALG-ISSUES"></xref>. Applications have no
        way of knowing that the IPv6 address returned from the DNS-ALG is not
        a 'real' IPv6 address, but a translated IPv4 address. The application
        may therefore, be led to believe that it has end-to-end IPv6
        connectivity with the destination. As a result, the application may
        use IPv6-specific options that are not supported by NAT-PT. This issue
        is closely related to the issue described in <xref
        target="restriction"></xref> and the discussion in <xref
        target="app_assumptions"></xref>.</t>
      </section>

      <section anchor="restriction"
               title="Non-Global Validity of Translated RR Records">
        <t>Some applications propagate information records retrieved from DNS
        to other applications. The published semantics of DNS imply that the
        results will be consistent to any user for the duration of the
        attached lifetime. RR records translated by NAT-PT violate these
        semantics because the retrieved addresses are only usable for
        communications through the translating NAT-PT.</t>

        <t>Applications that pass on retrieved DNS records to other
        applications will generally assume that they can rely on the passed on
        addresses to be usable by the receiving application. This may not be
        the case if the receiving application is on another node, especially
        if it is not in the domain served by the NAT-PT that generated the
        translation.</t>
      </section>

      <section anchor="inappropriate"
               title="Inappropriate Translation of Responses to A Queries">
        <t>Some applications running on dual-stack nodes may wish to query the
        IPv4 address of a destination. If the resulting A query passes through
        the NAT-PT DNS-ALG, the DNS-ALG will translate the response
        inappropriately into a AAAA record using a translated address. This
        happens because the DNS-ALG specified in <xref
        target="RFC2766"></xref> operates statelessly and hence has no memory
        of the IPv6 query that induced the A request on the IPv4 side. The default
        action is to translate the response.</t>

        <t>The specification of NAT-PT could be modified to maintain a minimal
        state about queries passed through the DNS-ALG, and hence to respond
        correctly to A queries as well as AAAA queries.</t>
      </section>

      <section anchor="multiaddress" title="DNS-ALG and Multi-Addressed Nodes">
        <t>Many IPv6 nodes, especially in multihomed situations but also in
        single homed deployments, can expect to have multiple global
        addresses. The same may be true for multihomed IPv4 nodes. Responses
        to DNS queries for these nodes will normally contain all these
        addresses. Since the DNS-ALG in the NAT-PT has no knowledge which of
        the addresses can or will be used by the application issuing the
        query, it is obliged to translate all of them.</t>

        <t>This could be a significant drain on resources in both basic NAT-PT
        and NAPT-PT, as bindings will have to be created for each address.</t>

        <t>When using SCTP in a multihomed network, the problem is exacerbated
        if multiple NAT-PTs translate multiple addresses. Also, it is not
        clear that SCTP will actually look up all the destination IP addresses
        via DNS, so that bindings may not be in place when packets arrive.</t>
      </section>

      <section anchor="dnssec"
               title="Limitations on Deployment of DNS Security Capabilities">
        <t>Secure DNS (DNSSEC) <xref target="RFC4033"></xref> uses public key
        cryptographic signing to authenticate DNS responses. The DNS-ALG
        modifies DNS query responses traversing the NAT-PT in both directions,
        which would invalidate the signatures as (partially) described in
        Section 7.5 of <xref target="RFC2766"></xref>.</t>

        <t>Workarounds have been proposed, such as making the DNS-ALG behave
        like a secure DNS server. This would need to be done separately for
        both the IPv6 and IPv4 domains. This is operationally very complex and
        there is a risk that the server could be mistaken for a conventional
        DNS server. The NAT-PT specification would have to be altered to
        implement any such workaround.</t>

        <t>Hence, DNSSEC is not deployable in domains that use NAT-PT as
        currently specified. Widespread deployment of NAT-PT would become a
        serious obstacle to the large scale deployment of DNSSEC.</t>
      </section>
    </section>

    <section anchor="app_assumptions"
             title="Impact on IPv6 Application Development">
      <t>One of the major design goals for IPv6 is to restore the end-to-end
      transparency of the Internet. Therefore, because IPv6 may be expected to
      remove the need for NATs and similar impediments to transparency,
      developers creating applications to work with IPv6 may be tempted to
      assume that the complex expedients that might have been needed to make
      the application work in a 'NATted' IPv4 environment are not
      required.</t>

      <t>Consequently, some classes of applications (e.g., peer-to-peer) that
      would need special measures to manage NAT traversal, including special
      encapsulations, attention to binding lifetime, and provision of
      keepalives, may build in assumptions on whether IPv6 is being used or
      not. Developers would also like to exploit additional capabilities of
      IPv6 not available in IPv4.</t>

      <t>NAT-PT as specified in <xref target="RFC2766"></xref> is intended to
      work autonomously and be transparent to applications. Therefore, there
      is no way for application developers to discover that a path contains a
      NAT-PT.</t>

      <t>If NAT-PT is deployed, applications that have assumed a NAT-free IPv6
      environment may break when the traffic passes through a NAT-PT. This is
      bad enough, but requiring developers to include special capabilities to
      work around what is supposed to be a temporary transition 'aid' is even
      worse. Finally, deployment of NAT-PT is likely to inhibit the
      development and use of additional IPv6 capabilities enabled by the
      flexible extension header system in IPv6 packets.</t>

      <t>Some of these deleterious effects could possibly be alleviated if
      applications could discover the presence of NAT-PT boxes on paths in
      use, allowing the applications to take steps to workaround the problems.
      However, requiring applications to incorporate extra code to workaround
      problems with a transition aid still seems to be a very bad idea: the
      behavior of the application in native IPv6 and NAT-PT environments would
      be likely to be significantly different.</t>
    </section>

    <section anchor="sec" title="Security Considerations">
      <t>This document summarizes security issues related to the NAT-PT <xref
      target="RFC2766"></xref> specification. Security issues are discussed in
      various sections: <list style="symbols">
          <t><xref target="embedded"></xref> discusses how IPsec AH (transport
          and tunnel mode) and IPsec ESP transport mode are broken by NAT-PT
          (when IPsec UDP encapsulation is not used <xref
          target="RFC3498"></xref>) and authentication and encryption are
          generally incompatible with NAT-PT.</t>

          <t><xref target="fragment"></xref> discusses possible fragmentation
          related security attacks on NAT-PT.</t>

          <t><xref target="multicast"></xref> discusses security issues
          related to multicast addresses and NAT-PT.</t>

          <t><xref target="persistence"></xref> highlights that NAT-PT is an
          enticing nexus for security attacks.</t>

          <t><xref target="DoS"></xref> discusses possible NAT-PT DoS attacks
          on both memory and address/port pools.</t>

          <t><xref target="dnssec"></xref> discusses why NAT-PT is
          incompatible with DNSSEC <xref target="RFC4033"></xref> and how
          deployment of NAT-PT may inhibit deployment of DNSSEC.</t>
        </list></t>
    </section>

    <section anchor="conclusion" title="Conclusion">
      <t>This document has discussed a number of significant issues with
      NAT-PT as defined in <xref target="RFC2766"></xref>. From a deployment
      perspective, 3GPP networks are currently the only 'standardised'
      scenario where NAT-PT is envisaged as a potential mechanism to
      allow communication between an IPv6-only host and an IPv4-only
      host as discussed in the 3GPP IPv6 transition analysis
      <xref target="RFC4215"/>. But RFC 4215 recommends that the
      generic form of NAT-PT should not be used and that
      modified forms should only be used under strict
      conditions. Moreover, it documents a number of caveats and security issues specific to
      3GPP. In addition, NAT-PT has seen some limited usage for other purposes.</t>

      <t>Although some of the issues identified with NAT-PT appear to have
      solutions, many of the solutions proposed require significant
      alterations to the existing specification and would likely 
      increase operational complexity. Even if these solutions were applied,
      we have shown that NAT-PT still has significant, irresolvable issues and
      appears to have limited applicability. The potential constraints on the
      development of IPv6 applications described in <xref
      target="app_assumptions"></xref> are particularly undesirable. It
      appears that alternatives to NAT-PT exist to cover the circumstances
      where NAT-PT has been suggested as a solution, such as the use of
      application proxies in 3GPP scenarios <xref target="RFC4215"/></t>

      <t>However, it is clear that in some circumstances an IPv6-IPv4 protocol
      translation solution may be a useful transitional solution, particularly
      in more constrained situations where the translator is not required to
      deal with traffic for a wide variety of protocols that are not
      determined in advance. Therefore, it is possible that a more limited
      form of NAT-PT could be defined for use in specific situations.</t>

      <t>Accordingly, we recommend that: <list style="symbols">
          <t>the IETF no longer suggest its usage as a general IPv4-IPv6
          transition mechanism in the Internet, and</t>

          <t>RFC 2766 is moved to Historic status to limit the possibility of
          it being deployed inappropriately.</t>
        </list></t>
    </section>

    <section title="Acknowledgments">
      <t>This work builds on a large body of existing work examining the
      issues and applicability of NAT-PT: the work of the authors of the
      documents referred to in <xref target="intro"></xref> has been extremely
      useful in creating this document. Particular thanks are due to Pekka
      Savola for rapid and thorough review of the document.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &rfc2765;

      &rfc2766;

      &rfc2663;

      &rfc3027;

      &rfc3314;

      &rfc3484;

      &rfc1035;

      &rfc4294;

      &rfc4215;

      &rfc4033;
    </references>

    <references title="Informative References">
      &rfc1858;

      &rfc3128;

      &rfc2960;

      &rfc3498;

<!--      &satapati-v6ops-natpt-applicability; -->
<reference anchor="NATP-APP">
        <front>
            <title>NAT-PT Applicability</title>
            <author initials="S" surname="Satapati"> 
		<organization />
	    </author>
            <date month="October" year="2003" />
        </front>
        <seriesInfo name="Work in" value="Progress" />
    </reference>


<reference anchor="DNS-ALG-ISSUES">
<front>
<title>Issues with NAT-PT DNS ALG in RFC2766</title>

<author initials='A' surname='Durand' fullname='Alain Durand'>
    <organization />
</author>

<date month='February' day='20' year='2002' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-durand-natpt-dns-alg-issues-00.txt' />
</reference>


<reference anchor="DNS-ALG-SOL">
<front>
<title>NAT-PT DNS ALG solutions</title>

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

<author initials='S' surname='Satapati' fullname='Suresh Satapati'>
    <organization />
</author>

<date month='July' day='25' year='2002' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-hallin-natpt-dns-alg-solutions-01.txt' />
</reference>


<reference anchor="NATPT-MOB">
<front>
<title>Considerations for Mobility Support in NAT-PT</title>

<author initials='M' surname='Shin' fullname='Myung-Ki Shin'>
    <organization />
</author>

<author initials='J' surname='Lee' fullname='Jon Lee'>
    <organization />
</author>

<date month='July' day='19' year='2005' />

<abstract><t>The document specifies considerations for mobility support in NAT- PT (RFC-2766) [1].</t></abstract>

</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-lee-v6ops-natpt-mobility-01.txt' />
</reference>


<reference anchor="NATPT-SEC">
<front>
<title>NAT-PT Security Considerations</title>

<author initials='S' surname='Okazaki' fullname='Satomi Okazaki'>
    <organization />
NNN</author>

<author initials='A' surname='Desai' fullname='Anand Desai'>
    <organization />
</author>

<date month='June' day='12' year='2003' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-okazaki-v6ops-natpt-security-00.txt' />
</reference>


<reference anchor="TRANS-ISSUES">
<front>
<title>Issues when translating between IPv4 and IPv6</title>

<author initials='R' surname='Pol' fullname='Ronald van der Pol'>
    <organization />
</author>

<author initials='S' surname='Satapati' fullname='Suresh  Satapati'>
    <organization />
</author>

<author initials='S' surname='Sivakumar' fullname='Senthil Sivakumar'>
    <organization />
</author>

<date month='January' day='28' year='2003' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-vanderpol-v6ops-translation-issues-00.txt' />
</reference>


<reference anchor="3GPP-TRANS">
<front>
<title>IPv6-IPv4 Translation mechanism for SIP-based services in Third Generation Partnership Project (3GPP) Networks</title>

<author initials='K' surname='Malki' fullname='Karim El Malki'>
    <organization />
</author>

<date month='December' day='4' year='2003' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-elmalki-sipping-3gpp-translator-00.txt' />
</reference>


<reference anchor="MTP">
<front>
<title>An IPv6/IPv4 Multicast Translator based on IGMP/MLD Proxying (mtp)</title>

<author initials='K' surname='Tsuchiya' fullname='Kazuaki Tsuchiya'>
    <organization />
</author>

<author initials='H' surname='Higuchi' fullname='Hidemitsu Higuchi'>
    <organization />
</author>

<author initials='S' surname='Sawada' fullname='Sunao Sawada'>
    <organization />
</author>

<author initials='S' surname='Nozaki' fullname='Shinji Nozaki'>
    <organization />
</author>

<date month='February' day='20' year='2003' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-tsuchiya-mtp-01.txt' />
</reference>


<reference anchor="MCASTGW">
<front>
<title>An IPv4 - IPv6 multicast gateway</title>

<author initials='S' surname='Venaas' fullname='Stig Venaas'>
    <organization />
</author>

<date month='February' day='26' year='2003' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-venaas-mboned-v4v6mcastgw-00.txt' />
</reference>


<reference anchor="MUL-NATPT">
<front>
<title>Scalable mNAT-PT Solution</title>

<author initials='S' surname='Park' fullname='Soohong Park'>
    <organization />
</author>

<date month='May' day='15' year='2003' />
</front>
        <seriesInfo name="Work in" value="Progress" />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-park-scalable-multi-natpt-00.txt' />
</reference>

    </references>
  </back>
</rfc>
