<?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 comments="yes"?>
<?rfc inline="yes"?>
<rfc category="info" number="4966" 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>

    <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 a translator 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>IPv6 extension headers provide flexibility for
            future 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.</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 state information derived from the
        first fragment until all fragments of the packet have transited the
        NAPT-PT. 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 many forms of stateful packet inspection applied to
        IPv6 packets. 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 similar
        techniques can be used when translating SCTP packets.</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 the
        translated address returned by the DNS query is used for
        communications 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 binding
        lifetimes 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 more likely than
            for queries not passing through a DNS ALG 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"></xref>. 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"></xref></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></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 fullname="Alain Durand" initials="A" surname="Durand">
            <organization></organization>
          </author>

          <date day="20" month="February" year="2002" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-durand-natpt-dns-alg-issues-00.txt"
                type="TXT" />
      </reference>

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

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

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

          <date day="25" month="July" year="2002" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-hallin-natpt-dns-alg-solutions-01.txt"
                type="TXT" />
      </reference>

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

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

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

          <date day="19" month="July" 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 target="http://www.ietf.org/internet-drafts/draft-lee-v6ops-natpt-mobility-01.txt"
                type="TXT" />
      </reference>

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

          <author fullname="Satomi Okazaki" initials="S" surname="Okazaki">
             

            <organization />

             NNN
          </author>

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

          <date day="12" month="June" year="2003" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-okazaki-v6ops-natpt-security-00.txt"
                type="TXT" />
      </reference>

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

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

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

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

          <date day="28" month="January" year="2003" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-vanderpol-v6ops-translation-issues-00.txt"
                type="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 fullname="Karim El Malki" initials="K" surname="Malki">
            <organization></organization>
          </author>

          <date day="4" month="December" year="2003" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-elmalki-sipping-3gpp-translator-00.txt"
                type="TXT" />
      </reference>

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

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

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

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

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

          <date day="20" month="February" year="2003" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-tsuchiya-mtp-01.txt"
                type="TXT" />
      </reference>

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

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

          <date day="26" month="February" year="2003" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-venaas-mboned-v4v6mcastgw-00.txt"
                type="TXT" />
      </reference>

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

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

          <date day="15" month="May" year="2003" />
        </front>

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

        <format target="http://www.ietf.org/internet-drafts/draft-park-scalable-multi-natpt-00.txt"
                type="TXT" />
      </reference>
    </references>
  </back>
</rfc>
