One document matched: draft-huang-behave-pnat-00.txt




Network Working Group                                           B. Huang
Internet-Draft                                                   H. Deng
Intended status: Standards Track                            China Mobile
Expires: April 21, 2010                                 October 18, 2009


                Prefix NAT: Host based IPv6 translation
                       draft-huang-behave-pnat-00

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.  This document may contain material
   from IETF Documents or IETF Contributions published or made publicly
   available before November 10, 2008.  The person(s) controlling the
   copyright in some of this material may not have granted the IETF
   Trust the right to allow modifications of such material outside the
   IETF Standards Process.  Without obtaining an adequate license from
   the person(s) controlling the copyright in such materials, this
   document may not be modified outside the IETF Standards Process, and
   derivative works of it may not be created outside the IETF Standards
   Process, except to format it for publication as an RFC or to
   translate it into languages other than English.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 21, 2010.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal



Huang & Deng             Expires April 21, 2010                 [Page 1]

Internet-Draft                    PNAT                      October 2009


   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.















































Huang & Deng             Expires April 21, 2010                 [Page 2]

Internet-Draft                    PNAT                      October 2009


Abstract

   Host based translation such as BIA, BIS could support conventional
   IPv4 applications talk with IPv6 applications in the dual stack
   network, and BIAbis and BISbis propose to extend this two solutions
   support IPv6 and IPv4 only network which consequently support IPv6
   applications as well.  This document describes a mechanism called
   "PNAT" which could guarantee the IPv4 or IPv6 applications in the two
   hosts communicate with each other directly through host based
   translation technologies, or by together with a network translator
   such as NAT64.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Network Scenarios  . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Signaling procedure of PNAT44COM . . . . . . . . . . . . . . .  7
     3.1.  Signaling procedure of PNAT44COM Internet  . . . . . . . .  7
     3.2.  Signaling procedure of PNAT44COM Network . . . . . . . . .  9
   4.  Signaling procedure of PNAT46COM . . . . . . . . . . . . . . . 11
   5.  Signaling procedure of PNAT64COM . . . . . . . . . . . . . . . 12
   6.  Signaling procedure of PNAT66COM Network . . . . . . . . . . . 15
   7.  Operation of PNAT64 Gateway  . . . . . . . . . . . . . . . . . 17
   8.  Source and Destination address Consideration about PNAT  . . . 18
   9.  Comparision with NAT64 . . . . . . . . . . . . . . . . . . . . 19
   10. Roaming consideration of PNAT  . . . . . . . . . . . . . . . . 20
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 21
   12. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 22
   13. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 23
   14. Normative References . . . . . . . . . . . . . . . . . . . . . 24
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25



















Huang & Deng             Expires April 21, 2010                 [Page 3]

Internet-Draft                    PNAT                      October 2009


1.  Introduction

   IETF has several host based translation solutions such as BIA
   [RFC3338], BIS [RFC2767], and v4-mapped prefix [RFC3493].  BIA and
   BIS haven't been widely supported and also both of them don't have
   any description regarding how they could run in IPv6 or IPv4 only
   network, it also not touch IPv6 application.  BIAbis [BIAbis] and
   BISbis [BISbis] have been proposed to overcome those limitations.
   [RFC3493] has been implemented by the major OSs, but it don't have
   the detail description about each different scenarios.

   This document assume the host which already support host based
   translation mechanism such as BIAbis or BISbis is called PNAT host
   for the purpose of simple description.  Host based translation itself
   could work in the IPv6, IPv4 or dual stack network, but it will
   behave differently when it connect to each different network.
   Furthermore BIA(BIAbis) could transparently communicate with
   BIS(BISbis), but they have different implementation requirement.
   BIA(BIAbis) may need update the network stack of kernel, BIS(BISbis)
   could be implemented just by updating the driver.  Either of them
   will rely on extended name resolver which could also be implemented
   in the user plane.  One advantage of BIAbis or BISbis is that the
   developers could write IPv6 only applications because BIAbis BISbis
   would ensure the communication to IPv4.

   Recently, more and more operators have customized their terminal
   (mobile or fixed) which makes it feasible to do PNAT implementation,
   sometime it could be the kernel level support like BIA(BIAbis),
   sometime it could be just user plane like BIS(BISbis).

   Application-layer developers are not familiar with network-layer
   technologies, and they are hesitating to migrate their well-developed
   applications to support IPv6.  It's also not easy for them to change
   their experienced network interface API to support dual stack API.
   Even many legacy applications might be upgradable to IPv6, but it
   takes time and may not be cost effective.  Considering such real
   situation, this document proposes a host-based IPv6 translation
   PNAT(Prefix NAT) solution which extend BIA and BIS solution to
   guarantee the IPv4 or IPv6 applications in the two hosts communicate
   with each other directly through host based translation technologies,
   or by together with a network translator such as NAT64[NAT64].










Huang & Deng             Expires April 21, 2010                 [Page 4]

Internet-Draft                    PNAT                      October 2009


2.  Network Scenarios

   The network scenario PNAT going to support is shown in the figure 1:
   PNAT host is a dual stack host and which may have IPv4 or IPv6
   application running over it, the network which it connect could be
   IPv4 only, IPv6 only, or dual stack network.  PNAT host has
   implemented at least one host based translation mechanism like BIAbis
   or BISbis.

   This PNAT host (H1) need to communicate with the following node:

      H1 -- PNAT host.

      H2 -- IPv4 host which is running IPv4 application.

      H3 -- PNAT host.

      H4 -- IPv6 only host which don't implement PNAT.


     +----------------------------------+       +----------------------+
     |IPv6 only network,                |       | IPv4 Internet        |
     |or IPv4 only Network,             |       |                      |
     |or dual stack Network             |       |                      |
     |      6 only      4/6 P           |       |                      |
     |    +--------+  +--------+        |       |                      |
     |    |   H4   |  |   H3   |        |       |                      |
     |    +--------+  +--------+        |       |                      |
     |            \        |            |       |                      |
     |             \  +--------+        |       |                      |
     |  +----+      \ | Access |   +-------+    |+----------+  +-----+ |
     |  | H1 |------- | Router |-- | PNAT64|----|| Internet |--| H2  | |
     |  +----+        +--------+   +-------+    |+----------+  +-----+ |
     |  4/6 P              |            |       |     |        4 only  |
     |                +--------+        |       | +--------+           |
     |                | DNSv4v6|        |       | |  DNSv4 |           |
     |                +--------+        |       | +--------+           |
     |                 AAAA/A           |       |     A/AAAA           |
     +----------------------------------+       +----------------------+

                        Figure 1: Network Scenario

   In Figure 1, DNSv4v6 is a dual stack DNS server which has both AAAA
   and A records, and DNSv4 locates in the IPv4 Internet.  The PNAT64 is
   used for IPv4 Internet connection.

   There are four major scenarios PNAT would like to support
   simultaneously illustrated below, here network means two host stay in



Huang & Deng             Expires April 21, 2010                 [Page 5]

Internet-Draft                    PNAT                      October 2009


   the same network, Internet means two host stay in the different
   network:

      PNAT44COM communication -- When a v4 application on the H1 needs
      to communicate with a v4 application on H2(Internet) or
      H3(network).  H1 stay in the IPv6 only network.

      PNAT46COM communication -- When a v4 application on H1 needs to
      communicate with a v6 application on H3(network) or H4(network).
      H1 stay in the IPv6 only or dual stack network.

      PNAT64COM communication -- When a v6 application on H1 needs to
      communicate with a v4 application on H2(Internet) or H3(network).
      H1 stay in the IPv4 only, IPv6 only or dual stack network.

      PNAT66COM communication -- When a v6 application on H1 needs to
      communicate with a v6 application on H3(network) or H4(network).
      H1 stay in the IPv4 only network.

   There are other scenarios which BIA, BIS, BIAbis, and BISbis have
   already supported such as PNAT44COM communication in the IPv4 only
   and dual stack network, PNAT66COM communication in the IPv6 only and
   dual stack network.  There are also many dual-stack appliations, in
   this case it could directly communicate with IPv4 and IPv6 only
   peers.


























Huang & Deng             Expires April 21, 2010                 [Page 6]

Internet-Draft                    PNAT                      October 2009


3.  Signaling procedure of PNAT44COM

   The scenario of the PNAT44COM could have two types:

      PNAT44COM Internet -- One host stay in the network, the peer host
      stay in the Internet.

      PNAT44COM Network -- Both two hosts stay in the same network.

3.1.  Signaling procedure of PNAT44COM Internet

   Because the peer host stay in the Internet, so it need NAT64 for
   translating back to the IPv4, The call flow of the PNAT44COM Internet
   is shown below.

   +----------------------+                              +-------------+
   |     (Host Side)      |                              | (Peer Side) |
   | IPv4 Appl  [ PNAT ]  |  DNS(4/6)    Access   PNAT64 | IPv4 Appl   |
   | ication    [Module]  |   Server     Router     GW   | ication     |
   +----------------------+                              +-------------+
        |          |       Address Request  |        |          |
   (1)  |          |----------------------->|        |          |
        |            DHCPv6[v6 Prefix + DNS]|        |          |
   (2)  |          |<-----------------------|        |          |
        | DNS4[A]  |            |           |        |          |
   (3)  |--------->|            |           |        |          |
        |          |send A and AAAA         |        |          |
   (4)  |          |----------->|           |        |          |
        |          |return A or AAAA        |        |          |
   (5)  |          |<-----------|           |        |          |
        | DNS4[A]  |            |           |        |          |
   (6)  |<---------|            |           |        |          |
        |Packet    |            |           |        |          |
   (7)  |--------->|            |           |        |          |
        |          |D:(WKP/PNAT64 prefix+Dest.IPv4   |          |
   (8)  |          |-------------------------------->|          |
   (9)  |          |            |           |        |--------->|
   (10) |          |            |           |        |<---------|
   (11) |          |<--------------------------------|          |
        |Packet    |            |           |        |          |
   (12) |<---------|            |           |        |          |

            Figure 2: Signaling procedure of PNAT44COM Internet

   (1) The host requests the basic configuration such as IP address and
   DNS server.

   (2) The network access router assigns both IPv6 prefix and DNS Server



Huang & Deng             Expires April 21, 2010                 [Page 7]

Internet-Draft                    PNAT                      October 2009


   address to the host, sometime PNAT64 prefix will also be assigned to
   the host.

   (3) IPv4 application would like to start the communication with the
   peer application, it sends name resolver by invoking gethostbyname
   call.

   (4) After the PNAT received this A record query, the PNAT module will
   make both A and AAAA record, then send this resolver request to the
   dual stack DNS server which has been detail described in the BIAbis
   and BISbis document.

   (5) The host may get A or AAAA record resolver result back from dual
   stack DNS server.

   (6) PNAT module will process this returned record according to the
   BIAbis or BISbis document, then send DNS4 query resolver back to the
   IPv4 application.

   (7) IPv4 application starts sending packet.

   (8) PNAT module processes it accordingly based on the BIAbis and
   BISbis document, then forwards them to the PNAT64 GW, PNAT module
   create the destination address by combine either WKP or PNAT64 prefix
   together with 32 bit IPv4 address.  The source address will be
   network assigned IPv6 prefix concatenate with 32 bit all 1 or 0 and
   IPv4 address.  IPv4 address could be any pre-defined IPv4 address for
   private IPv4 address, then 65-96 bit will be set to all 0, and this
   IPv4 address could be public IPv4 address if the operator could
   assign this address to the host, then 65-96 bit will be all 1.

   (9) Depending on the destination, in the case of PNAT44COM Internet,
   the host will translate the source IPv4 address to a network-assigned
   IPv6 prefix+32 bit all 0 + IPv4 private address or IPv6 prefix+32 bit
   all 1 + IPv4 public address, then forwards the IPv6 packet to PNAT64.
   PNAT64 will process the packet differently, if the IPv4 address is
   the private address.  It will do like normal NAT64, but if the host
   gets a public IPv4 address, it will get rid of prefix only.  This
   mechanism still is a stateful work, because PNAT64 has to record
   which IPv4 public address is matching to which IPv6 prefix.  (In this
   case, ALG is not needed.  But if it is private IPv4 address, then an
   ALG is still needed.)  PNAT64 forwards the IPv4 packet to the peer
   IPv4 node.

   (10) The peer IPv4 sends a response IPv4 packet to PNAT64.

   (11) This packet is received by a PNAT64 which forwards the
   translated IPv6 packet back to the host based on the network-assigned



Huang & Deng             Expires April 21, 2010                 [Page 8]

Internet-Draft                    PNAT                      October 2009


   IPv6 prefix, socket translation module translates IPv6 packet to IPv4
   packet.

   (12) The IPv4 packet is forwarded back to the IPv4 application.

3.2.  Signaling procedure of PNAT44COM Network

   Because the peer host stay in the Internet, so it need NAT64 for
   translating back to the IPv4, The call flow of the PNAT44COM Network
   is shown below.

    +----------------------+                       +-------------+
    |     (Host Side)      |                       | (Peer Side) |
    | IPv4 Appl  [ PNAT ]  |  DNS(4/6)    Access   | IPv4 Appl   |
    | ication    [Module]  |   Server     Router   | ication     |
    +----------------------+                       +-------------+
         |          |       Address Request  |           |
    (1)  |          |----------------------->|           |
         |            DHCPv6[v6 Prefix + DNS]|           |
    (2)  |          |<-----------------------|           |
         | DNS4[A]  |            |           |           |
    (3)  |--------->|            |           |           |
         |          |send A and AAAA         |           |
    (4)  |          |----------->|           |           |
         |          |return A andAAAA        |           |
    (5)  |          |<-----------|           |           |
         | DNS4[A]  |            |           |           |
    (6)  |<---------|            |           |           |
         |Packet    |            |           |           |
    (7)  |--------->|            |           |           |
         |          |S: D: AAAA IPv6 address |           |
    (8)  |          |----------------------------------->|
         |          |            |           |           |
    (9)  |          |<-----------------------------------|
         |Packet    |            |           |           |
    (10) |<---------|            |           |           |

            Figure 3: Signaling procedure of PNAT44COM Network

   (1) The host requests the basic configuration such as IP address and
   DNS server.

   (2) The network access router assigns both IPv6 prefix and DNS Server
   address to the host.

   (3) IPv4 application would like to start the communication with the
   peer application, it sends name resolver by invoking gethostbyname
   call.



Huang & Deng             Expires April 21, 2010                 [Page 9]

Internet-Draft                    PNAT                      October 2009


   (4) After the PNAT received this A record query, the PNAT module will
   make both A and AAAA record, then send this resolver request to the
   dual stack DNS server which has been detail described in the BIAbis
   and BISbis document.

   (5) The host may get A or AAAA record resolver result back from dual
   stack DNS server.

   (6) PNAT module will process this record according to the BIAbis or
   BISbis document, then send DNS4 query resolver back to the IPv4
   application.

   (7) IPv4 application starts sending packet.

   (8) PNAT module processes it accordingly based on the BIAbis and
   BISbis document, then forwards them to the PNAT64 GW.

   (9) The peer IPv4 sends a response IPv4 packet to PNAT module.

   (10) The IPv4 packet is forwarded back to the IPv4 application.































Huang & Deng             Expires April 21, 2010                [Page 10]

Internet-Draft                    PNAT                      October 2009


4.  Signaling procedure of PNAT46COM

   Because the H1 either in the IPv6 only or dual stack network, it's
   IPv4 application may need to communicate with IPv6 application in the
   H3 or H4.  Both these two cases have been covered by BIAbis or BISbis
   document.













































Huang & Deng             Expires April 21, 2010                [Page 11]

Internet-Draft                    PNAT                      October 2009


5.  Signaling procedure of PNAT64COM

   When H1 stay in the IPv4 only or dual stack network, after the PNAT
   module received an A record, it will translate IPv4 into IPv4, then
   send them out as the regular BIAbis and BISbis does.

   When H1 stay in the IPv6 only network, there are two cases which H1
   need to talk: H2 stay in IPv4 Internet and H3 stay in the IPv6 only
   network.

   In the case of H3 stay in the IPv6 only network, if the PNAT module
   in H1 received only an A record, this type of communication is not
   validate, it should report the wrong message to the IPv4 application.
   Only if the PNAT module receive both A and AAAA record, it will use
   the result of AAAA record, then IPv6 packet to H3 host, PNAT module
   in H3 host will translate IPv6 packet back to IPv4 packet.  This also
   has been covered by BIAbis and BISbis document as well.

   In the case of H2 stay in the IPv4 only network, if the PNAT module
   in H1 received an A record, this indicate the peer host stay in the
   IPv4 only Internet, then PNAT module will rely on PNAT64 GW prefix to
   make the destination address. then send the IPv6 packet to the PNAT64
   Gw.  PNAT64 GW will translate those IPv6 packet to the IPv4 packet
   and send to the H2 host.  The call flow of the PNAT64COM Internet is
   shown below.


























Huang & Deng             Expires April 21, 2010                [Page 12]

Internet-Draft                    PNAT                      October 2009


   +----------------------+                              +-------------+
   |     (Host Side)      |                              | (Peer Side) |
   | IPv6 Appl  [ PNAT ]  |  DNS(4/6)    Access   PNAT64 | IPv4 Appl   |
   | ication    [Module]  |   Server     Router     GW   | ication     |
   +----------------------+                              +-------------+
        |          |       Address Request  |        |          |
   (1)  |          |----------------------->|        |          |
        |            DHCPv6[v6 Prefix + DNS]|        |          |
   (2)  |          |<-----------------------|        |          |
        |DNS[AAAA] |            |           |        |          |
   (3)  |--------->|            |           |        |          |
        |          |send A and AAAA         |        |          |
   (4)  |          |----------->|           |        |          |
        |          |return A                |        |          |
   (5)  |          |<-----------|           |        |          |
        |DNS[AAAA] |            |           |        |          |
   (6)  |<---------|            |           |        |          |
        |Packet    |            |           |        |          |
   (7)  |--------->|            |           |        |          |
        |          |S: D: AAAA IPv6 address |        |          |
   (8)  |          |-------------------------------->|          |
   (9)  |          |            |           |        |--------->|
   (10) |          |            |           |        |<---------|
   (11) |          |<--------------------------------|          |
        |Packet    |            |           |        |          |
   (12) |<---------|            |           |        |          |

            Figure 4: Signaling procedure of PNAT64COM Internet

   (1) The host requests the basic configuration such as IP address and
   DNS server.

   (2) The network access router assigns both IPv6 prefix and DNS Server
   address to the host.

   (3) IPv6 application would like to start the communication with the
   peer application, it sends name resolver by invoking getaddrinfo
   call.

   (4) After the PNAT received this AAAA record query, the PNAT module
   will make both A and AAAA record, then send this resolver request to
   the dual stack DNS server which has been detail described in the
   BIAbis and BISbis document.

   (5) The host may get A record only resolver result back from dual
   stack DNS server.

   (6) PNAT module will process this record according to the BIAbis or



Huang & Deng             Expires April 21, 2010                [Page 13]

Internet-Draft                    PNAT                      October 2009


   BISbis document, then send DNS AAAA query resolver back to the IPv6
   application.

   (7) IPv6 application starts sending packet.

   (8) PNAT module processes it accordingly based on the BIAbis and
   BISbis document, then forwards them to the PNAT64 GW, PNAT module
   create the destination address by combine either WKP or PNAT64 prefix
   together with 32 bit IPv4 address.  The source address will be
   network assigned IPv6 prefix concatenate with 32 bit all 1 or 0 and
   IPv4 address.  IPv4 address could be any pre-defined IPv4 address for
   private IPv4 address, then 65-96 bit will be set to all 0, and this
   IPv4 address could be public IPv4 address if the operator could
   assign this address to the host, then 65-96 bit will be all 1.

   (9) Depending on the destination, in the case of PNAT44COM, the host
   will translate the source IPv4 address to a network-assigned IPv6
   prefix+32 all zero + IPv4 private address or IPv6 prefix+32 all one +
   IPv4 public address, then forwards the IPv6 packet to PNAT64.  PNAT64
   will process the packet differently, if the IPv4 address is the
   private address.  It will do like normal NAT64, but if the host gets
   a public IPv4 address, it will get rid of prefix only.  This
   mechanism still is a stateful work, because PNAT64 has to record
   which IPv4 public address is matching to which IPv6 prefix.  (In this
   case, ALG is not needed.  But if it is private IPv4 address, then an
   ALG is still needed.)  PNAT64 forwards the IPv4 packet to the peer
   IPv4 node.

   (10) The peer IPv4 sends a response IPv4 packet to PNAT64.

   (11) This packet is received by a PNAT64 which forwards the
   translated IPv6 packet back to the host based on the network-assigned
   IPv6 prefix, PNAT module will send those packet to the IPv6
   application.

   (12) The PNAT module will forward IPv6 packet back to the IPv6
   application.














Huang & Deng             Expires April 21, 2010                [Page 14]

Internet-Draft                    PNAT                      October 2009


6.  Signaling procedure of PNAT66COM Network

   Because H1 stay in the IPv4 only network, it works like the
   combination PNAT64 and PNAT46, the call flow of the PNAT66COM Network
   is shown below.

  +----------------------+                       +---------------------+
  |     (Host Side)      |                       |     (Peer Side)     |
  | IPv6 Appl  [ PNAT ]  |  DNS(4/6)    Access   | [ PNAT ]  IPv6 Appl |
  | ication    [Module]  |   Server     Router   | [Module]   ication  |
  +----------------------+                       +---------------------+
       |          |       Address Request  |           |         |
  (1)  |          |----------------------->|           |         |
       |           DHCPv6[DNS]             |           |         |
  (2)  |          |<-----------------------|           |         |
       |DNS[AAAA] |            |           |           |         |
  (3)  |--------->|            |           |           |         |
       |          |send A and AAAA         |           |         |
  (4)  |          |----------->|           |           |         |
       |          |return AAAA             |           |         |
  (5)  |          |<-----------|           |           |         |
       |DNS[AAAA] |            |           |           |         |
  (6)  |<---------|            |           |           |         |
       |Packet    |            |           |           |         |
  (7)  |--------->|            |           |           |         |
       |          |S: D: WKP+Dest.IP       |        v4 |         |
  (8)  |          |----------------------------------->|  v6     |
  (9)  |          |            |           |           |-------->|
       |          |            |           |           |  v6     |
  (10) |          |            |           |        v4 |<--------|
  (11) |          |<-----------------------------------|         |
       |Packet    |            |           |           |         |
  (12) |<---------|            |           |           |         |

            Figure 5: Signaling procedure of PNAT66COM Network

   (1) The host requests the basic configuration such as IP address and
   DNS server.

   (2) The network access router assigns both IPv6 prefix and DNS Server
   address to the host.

   (3) IPv6 application would like to start the communication with the
   peer application, it sends name resolver by invoking getaddrinfo
   call.

   (4) After the PNAT received this AAAA record query, the PNAT module
   will make both A and AAAA record, then send this resolver request to



Huang & Deng             Expires April 21, 2010                [Page 15]

Internet-Draft                    PNAT                      October 2009


   the dual stack DNS server which has been detail described in the
   BIAbis and BISbis document.

   (5) The host may get A or AAAA record resolver result back from dual
   stack DNS server.

   (6) PNAT module will process this record according to the BIAbis or
   BISbis document, then send DNS4 query resolver back to the IPv4
   application.

   (7) IPv6 application starts sending packet.

   (8) PNAT module processes it accordingly based on the BIAbis and
   BISbis document, then forwards them to the peer side.

   (9) The peer side PNAT module forward translate those packet into
   IPv6 packet, then forward to IPv6 applications.

   (10) The response IPv6 packet is forwarded to the PNAT module.

   (11) The PNAT module translate those IPv6 packet into IPv4 packet,
   then forward them back to source PNAT module.

   (12) PNAT module will translate them back to the IPv6 packet, then
   those IPv6 packets are forwarded back to the IPv6 application.


























Huang & Deng             Expires April 21, 2010                [Page 16]

Internet-Draft                    PNAT                      October 2009


7.  Operation of PNAT64 Gateway

   When PNAT64 receives a IPv6 packet, it will decide based on the
   destination address firstly, if it is WKP prefix it could be judged
   that this is a translation operation.

   After that, PNAT64 will analyze its source address, there are 3
   possibilities for the last 32 bit: public IPv4 address, private IPv4
   address, or normal IPv6 address.

   If the 65-96 bit is all zero, and the last 32 bits is a private IPv4
   address, then it is the scenario of PNAT44COM Internet, PNAT64 will
   act as the normal NAT64 procedure.

   If the 65-96 bit is all one, and the last 32 bits is a public IPv4
   address, then it is the scenario of PNAT44COM Internet, PNAT64 will
   simply get rid of prefix, record the relationship between public IPv4
   address and IPv6 prefix, and send out the packet.

   If the 65-96 bit is neither all zero nor all one, then it is the
   scenario of PNAT64COM, PNAT64 will act as the normal NAT64 procedure.

   When PNAT64 receives a DNS IPv6 packet, it will not do DNS ALG, it
   will only translate IPv6 header to IPv4 header, then forward it to
   IPv4 DNS server.


























Huang & Deng             Expires April 21, 2010                [Page 17]

Internet-Draft                    PNAT                      October 2009


8.  Source and Destination address Consideration about PNAT

         0                                              127
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
         |       PREFIX64        |  all 0/1  | IPv4 addr |
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                    Figure 6: Design of source address

   For the source address deisgn, bit 65 to 96 should be designated to
   all zero or all one depends on IPv4 address is private or public
   address.  For the private IPv4 address, this could be any special
   IPv4 address.

   If the public IPv4 address has been used, then prefix 64 could be
   common for all IPv4 public address, because the whole identifier will
   be 128 bit IPv6 address, and public IPv4 addresses already have been
   used to diffrentiate the different IPv6 address.

         0                                              127
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
         |       PREFIX64        |     0     | IPv4 addr |
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                  Figure 7: Design of destination address

   This destination address mean when PNAT module got A record, for
   normal IPv6 communication, regular IPv6 address will be used for
   destination address.  For the peer host locating in the IPv4
   Internet, then the destination address will be prefix concatenate
   with IPv4 address, this prefix could be 64 bit prefix or longer which
   could be either WKP or PNAT64 prefix.

   All IP devices between PNAT client and PNAT64 should support it or at
   least know how to route PNAT64's Prefix to PNAT64 GW.
















Huang & Deng             Expires April 21, 2010                [Page 18]

Internet-Draft                    PNAT                      October 2009


9.  Comparision with NAT64

   The major difference between PNAT and NAT64 will be listed below:

      PNAT64 doesn't rely on DNS64, PNAT module will give A record
      result back to the IPv4 application and AAAA record to the IPv6
      application.

      PNAT64 will always send both A and AAAA record, but DNS64 behave
      differently.

      PNAT64 is targetting multiple scenarios, but NAT64 only give the
      solution for IPv6 only application visiting to IPv4 peer.






































Huang & Deng             Expires April 21, 2010                [Page 19]

Internet-Draft                    PNAT                      October 2009


10.  Roaming consideration of PNAT

   Non-PNAT based IPv4/IPv6/Dual stack devices roam to PNAT based
   network:

      PNAT IPv4 only network: Don't need additional signaling, it works
      smoothly

      PNAT IPv6 only network: It's IPv6 application could work, but IPv4
      application couldn't work, but this is a rare case, because if the
      oepartor deploy a IPv6 only network, he must consider some special
      APN for IPv4 access at least.

      PNAT Dual Stack network: Don't need additional signaling, it works
      smoothly

   PNAT based IPv6 devices roam to non-PNAT based IPv4/IPv6 network
   Don't need additional signaling, it works smoothly.

































Huang & Deng             Expires April 21, 2010                [Page 20]

Internet-Draft                    PNAT                      October 2009


11.  Security Considerations

   It needs to be further identified.
















































Huang & Deng             Expires April 21, 2010                [Page 21]

Internet-Draft                    PNAT                      October 2009


12.  IANA Consideration

   This document makes no requests to IANA.
















































Huang & Deng             Expires April 21, 2010                [Page 22]

Internet-Draft                    PNAT                      October 2009


13.  Acknowledgments

   The author thanks the discussion from Gang Chen, Bo Zhou, Dapeng Liu,
   Hong Liu, Tao Sun, Teemu Savolainen, Sri Gundave, Suresh Krishnan et
   al. in the development of this document.

   The efforts of BARI, FAROOQ, Kalyani Bogineni, Mohamed Boucadair, Yiu
   L. Lee, Christian Vogt, Jan Melen, James Woodyatt, Lorenzo Colitti,
   Qibo Niu, Pierrick Seite, Dean Cheng in reviewing this document are
   gratefully acknowledged.

   The authors thanks Dan Wing and Dave Thaler's advice how to process
   this document.






































Huang & Deng             Expires April 21, 2010                [Page 23]

Internet-Draft                    PNAT                      October 2009


14.  Normative References

   [BIAbis]   Huang, Bill., "Dual Stack Hosts Using "Bump-in-the-API"
              (BIA)", draft-huang-behave-rfc3338bis-00 (work in
              progress), Oct. 2009.

   [BISbis]   Huang, Bill., "Dual Stack Hosts using the "Bump-In-the-
              Stack" Technique (BIS)", draft-huang-behave-rfc2767bis-00
              (work in progress), Oct. 2009.

   [DS-Lite]  Durand, A., "Dual-stack lite broadband deployments post
              IPv4 exhaustion", draft-ietf-softwire-dual-stack-lite-01
              (work in progress), July 2009.

   [NAT64]    Bagnulo, M., "NAT64: Network Address and Protocol
              Translation from IPv6 Clients to IPv4 Servers",
              draft-ietf-behave-v6v4-xlate-stateful-02 (work in
              progress), Oct. 2009.

   [RFC2767]  Tsuchiya, K., HIGUCHI, H., and Y. Atarashi, "Dual Stack
              Hosts using the "Bump-In-the-Stack" Technique (BIS)",
              RFC 2767, February 2000.

   [RFC3338]  Lee, S., Shin, M-K., Kim, Y-J., Nordmark, E., and A.
              Durand, "Dual Stack Hosts Using "Bump-in-the-API" (BIA)",
              RFC 3338, October 2002.

   [RFC3484]  Draves, R., "Default Address Selection for Internet
              Protocol version 6 (IPv6)", RFC 3484, February 2003.

   [RFC3493]  Gilligan, R., Thomson, S., Bound, J., McCann, J., and W.
              Stevens, "Basic Socket Interface Extensions for IPv6",
              RFC 3493, February 2003.


















Huang & Deng             Expires April 21, 2010                [Page 24]

Internet-Draft                    PNAT                      October 2009


Authors' Addresses

   Bill Huang
   China Mobile
   53A,Xibianmennei Ave.,
   Xuanwu District,
   Beijing  100053
   China

   Email: bill.huang@chinamobile.com


   Hui Deng
   China Mobile
   53A,Xibianmennei Ave.,
   Xuanwu District,
   Beijing  100053
   China

   Email: denghui02@gmail.com































Huang & Deng             Expires April 21, 2010                [Page 25]



PAFTECH AB 2003-20262026-04-24 22:27:29