Internet DRAFT - draft-lee-v6ops-natpt-mobility

draft-lee-v6ops-natpt-mobility









INTERNET DRAFT                                              Joo-Chul Lee
Expires: December 2005                                     Myung-Ki Shin
                                                                    ETRI
                                                               June 2005



             Considerations for Mobility Support in NAT-PT
                <draft-lee-v6ops-natpt-mobility-01.txt>


Status of this Memo


     By submitting this Internet-Draft, each author represents that any
     applicable patent or other IPR claims of which he or she is aware
     have been or will be disclosed, and any of which he or she becomes
     aware will be disclosed, in accordance with Section 6 of BCP 79.

     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 docu-
     ments at any time.  It is inappropriate to use Internet-Drafts as
     reference material or to cite them other than as "work in pro-
     gress."

     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 December, 2005.


Copyright Notice

     Copyright (C) The Internet Society (2005).


Abstract

     The document specifies considerations for mobility support in NAT-
     PT (RFC-2766) [1].








Lee                       Expires December 2005                 [Page 1]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


1. Introduction

     NAT-PT (RFC-2766) enables end-nodes in IPv6 realm to communicate
     with end-nodes in IPv4 realm and vice versa.  RFC-2766 [1] needs
     some fixes and/or applicability statements.  Among them, there
     exists considerations in NAT-PT [1] when IPv6 end-nodes move.  3GPP
     drafts [2, 3] mention that there is a need for transltors, such as
     NAT-PT, but in this case, current RFC-2766 [1] does not support
     IPv6 mobile nodes.  The document specifies considerations for
     mobility support in NAT-PT (RFC-2766)[1].





2. Issues with mobility support in NAT-PT


2.1 Movement of end-nodes in IPv6 realm (IPv6-MNs)

     When IPv6 end-nodes move, there are issues should be considered in
     RFC-2766. Basically, since mobile IPv6 (MIPv6) [4] provides route
     optimization, NAT-PT box must update its associated address mapping
     entries.  As well, NAT-PT box needs appropriate handling of con-
     trols such as RR (Return Routability), BU (Binding Update), etc.

                                                     +---------+
                           +------------------------>| IPv4 CN |
                           |                         +---------+
                           V                         IPv4 domain
                       +----------+
        /--------------|  NAT-PT  |-----------\
       /               +----------+            \
      |                  /     |                |
      |           /-----/      |                |
      |          /             |                |
      |         :          +-------+            |
      |         :          |  R1   |            |
      |        /           +-------+            |
      | +-------+           /     \             |
      | |  HA   |          /     +-------+      |
      | +-------+         :      |  R2   |      |
      |    |             :       +-------+      |
      |    |                          |         |
      | +-------+                     |         |
      | |IPv6 MN|- - - +        ------+---+-    |
      | +-------+      |                  |     |
      |                .             +-------+  |
      |                +- - - - ->   |IPv6 MN|  |
      |                 Movement     +-------+  |
       \                                       /
        \-------------------------------------/




Lee                       Expires December 2005                 [Page 2]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


                        IPv6 realm


2.2 Movement of end-nodes in IPv4 realm (IPv4-MNs)

     Obviously, there is no issue when IPv4 end-nodes move, since mobile
     IPv4 (MIPv4) ][5] uses tunneling.


3. Mobility support in NAT-PT box

     This section describes the case that an IPv6-MN moves from home
     network to other network in the same IPv6 island.

     Main consideration is that NAT-PT box does all of MIPv6
     functionalities on behalf of IPv4-CNs. Following subsections show
     how NAT-PT box works in this situation.

     In the example below, the following notations will be used.

      ==>    means IPv6 packet.
      -->    means IPv4 packet.
      ++>    means IPv6 over IPv6 tunnel.


3.1 Control Sessions


3.1.1 Initial state

     In initial state <IPv6 MN> is in home network and it communicates
     with <IPv4 CN> like general NAT-PT outbound session.

     <IPv6 MN> <HA>  <NAT-PT> <IPv4 CN>
        |       |       |        |
        |======>|======>|        | - <IPv6 MN> sends IPv6 packet [src
        |       |       |        |   (P1::xxxx/64),dst(PREFIX::a.b.c.d)]
        |       |       |        |   to <IPv4 CN>.
        |       |       |        |
        |       |       |------->| - <NAT-PT> translates IPv6 packet
        |       |       |        |   into IPv4 packet[src(w.x.y.z),
        |       |       |        |   dst(a.b.c.d)] and sends it to
        |       |       |        |   <IPv4 CN>.
        |       |       |        |
        |       |       |<-------| - <IPv4 CN> sends IPv4 packet[src
        |       |       |        |   (a.b.c.d),dst(w.x.y.z)] to
        |       |       |        |   <NAT-PT>.
        |       |       |        |
        |<======|<======|        | - <NAT-PT> translates IPv4 packet
        |       |       |        |   into IPv6 packet[src(PREFIX::
        |       |       |        |   a.b.c.d),dst(P1::xxxx/64)]





Lee                       Expires December 2005                 [Page 3]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


      * IPv6 MN
           P1::xxxx/64 (Home Address)
      * HA
           advertises P1::/64
      * NAT-PT
           advertises PREFIX::/64
           Mapping Table:
                  mapping_entry[0] = {P1::xxxx/64, w.x.y.z}
           Binding Cache Table:
                  binding_cache_entry[0] = {}
           Kcn/nonce Table:
                  kcn_entry[0] = {}
      * IPv4 CN
            a.b.c.d



3.1.2 RR procedure

     After <IPv6 MN>'s moving from home network to other subnet, <IPv6
     MN> tries RR procedure to check reachability of <IPv4 CN> before
     sending BU.

     <IPv6 MN> <HA> <R1>  <NAT-PT> <IPv4 CN>
        |       |    |       |        |
        |===========>|======>|        | - <IPv6 MN> sends CoTI message
        |       |    |       |        |   to <IPv4 CN>.
        |       |    |       |        |
        |++++++>|===========>|        | - <IPv6 MN> sends HoTI message
        |       |    |       |        |   to <IPv4 CN> through HA.
        |       |    |       |        |
        |<===========|<======|        | - <NAT-PT> intercepts CoTI
        |       |    |       |        |   message and return CoT message
        |       |    |       |        |   to <IPv6 MN>. Before sending
        |       |    |       |        |   CoT message, <NAT-PT> must
        |       |    |       |        |   save kcn and care-of nonce
        |       |    |       |        |   index for <IPv4 CN>
        |       |    |       |        |
        |<++++++|<===========|        | - <NAT-PT> intercepts HoTI
        |       |    |       |        |   message and return HoT message
        |       |    |       |        |   to <IPv6 MN>. Before sending
        |       |    |       |        |   HoT message, <NAT-PT> must
        |       |    |       |        |   save kcn and home nonce index
        |       |    |       |        |   for <IPv4 CN>

      * IPv6 MN
          P1::xxxx/64 (Home Address)
          P2::xxxx/64 (Care of Address)
      * HA
          advertises P1::/64
      * R1
          advertises P2::/64




Lee                       Expires December 2005                 [Page 4]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


      * NAT-PT
          advertises PREFIX::/64
          Mapping Table:
              mapping_entry[0] = { P1::xxxx/64, w.x.y.z }
          Binding Cache Table:
              binding_cache_entry[0] = {}
          Kcn/nonce Table:
              kcn_entry[0] = { HA: P1::xxxx/64, COA: P2::xxxx/64,
                               CN: a.b.c.d, Kcn: nnn,
                               Home Nonce index: nnn,
                               Care-of Nonce Index: nnn }
      * IPv4 CN
          a.b.c.d


3.1.3 Binding Update/Acknowledge

     After finishing RR procedure <IPv6 MN> makes authenticator and
     sends BU message to <IPv4 CN> for route optimization.

     <IPv6 MN> <HA> <R1>  <NAT-PT> <IPv4 CN>
        |       |    |       |        |
        |===========>|======>|        | - <IPv6 MN> sends BU message to
        |       |    |       |        |   <IPv4 CN>
        |       |    |       |        |
        |<===========|<======|        | - <NAT-PT> interceptes BU
        |       |    |       |        |   message and returns BA to
        |       |    |       |        |   <IPv6 MN>. Before sending BA
        |       |    |       |        |   <NAT-PT> must add new binding
        |       |    |       |        |   cache entry.

      * IPv6 MN
          P1::xxxx/64 (Home Address)
          P2::xxxx/64 (Care of Address)
      * HA
          advertises P1::/64
      * R1
          advertises P2::/64
      * NAT-PT
          advertises PREFIX::/64
          Mapping Table:
              mapping_entry[0] = { P1::xxxx/64, w.x.y.z }
          Binding Cache Table:
              binding_cache_entry[0] = { HA: P1::xxxx/64,
                                         COA: P2::xxxx/64,
                                         Lifetime: nnn, Flag: 0,
                                         Seq no: nnn, Usage info: nnn}
          Kcn/nonce Table:
              kcn_entry[0] = { HA: P1::xxxx/64, COA: P2::xxxx/64,
                               CN: a.b.c.d, Kcn: nnn,
                               Home Nonce index: nnn,
                               Care-of Nonce Index: nnn }




Lee                       Expires December 2005                 [Page 5]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


      * IPv4 CN
          a.b.c.d


3.2 General Data Transimission

     <IPv6 MN> <HA> <R1>  <NAT-PT> <IPv4 CN>
        |       |    |       |        |
        |===========>|======>|        | - <IPv6 MN> sends IPv6 packet
        |       |    |       |        |   with HAO to <IPv4 CN>.
        |       |    |       |        |
        |       |    |       |------->| - <NAT-PT> intercepts IPv6
        |       |    |       |        |   packet with HAO. To translate
        |       |    |       |        |   packet with HAO <NAT-PT>
        |       |    |       |        |   searches connection {src(HA),
        |       |    |       |        |   dst(PREFIX::a.b.c.d)} which
        |       |    |       |        |   has mapping information.
        |       |    |       |        |
        |       |    |       |<-------| - <IPv4 CN> sends IPv4 packet
        |       |    |       |        |   [src(a.b.c.d), dst(w.x.y.z)]
        |       |    |       |        |   to <NAT-PT>.
        |       |    |       |        |
        |<===========|<======|        | - <NAT-PT> translates IPv4
        |       |    |       |        |   packet and forwards it. Before
        |       |    |       |        |   sending translated IPv6 packet
        |       |    |       |        |   <NAT-PT> must check whether
        |       |    |       |        |   there is binding cache entry
        |       |    |       |        |   corresponding to P1::xxxx/64
        |       |    |       |        |   or not.
        |       |    |       |        |   If there is binding cache
        |       |    |       |        |   entry, <NAT-PT> changes
        |       |    |       |        |   destination address into COA
        |       |    |       |        |   (P2::xxxx/64) and adds routing
        |       |    |       |        |   option header including HA
        |       |    |       |        |   (P1::xxxx/64) to basic IPv6
        |       |    |       |        |   header.

      * IPv6 MN
          P1::xxxx/64 (Home Address)
          P2::xxxx/64 (Care of Address)
      * HA
          advertises P1::/64
      * R1
          advertises P2::/64
      * NAT-PT
          advertises PREFIX::/64
          Mapping Table:
             mapping_entry[0] = { P1::xxxx/64, w.x.y.z }
          Binding Cache Table:
             binding_cache_entry[0] = { HA: P1::xxxx/64,
                                        COA: P2::xxxx/64,
                                        Lifetime: nnn, Flag: 0,




Lee                       Expires December 2005                 [Page 6]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


                                        Seq no: nnn, Usage info: nnn}
          Kcn/nonce Table:
             kcn_entry[0] = { HA: P1::xxxx/64, COA: P2::xxxx/64,
                              CN: a.b.c.d, Kcn: nnn,
                              Home Nonce index: nnn,
                              Care-of Nonce Index: nnn }
      * IPv4 CN
             a.b.c.d


4. IPv6-MNs move from one island to another island

     This issue should be also considered.  This version of the draft is
     not mentioned yet.


5. Security Considerations

     Security consideration is not studied yet.


8. Acknowledgments

     Authors would like to acknowledge the idea sharing contributions by
     Hee Cheol Lee and for detailed comments by KyeongJin Lee on this
     document.



Normative References


[1]  Tsirtsis, G. and P. Srisuresh, "Network Address Translation - Pro-
     tocol Translation (NAT-PT)", RFC 2766, February 2000.

[2]  J. Soininen (ed.), "Transition Scenarios for 3GPP Networks", draft-
     ietf-v6ops-3gpp-cases-03, March 2003 (Work-in-Progress).

[3]  J. Wiljakka (ed.), "Analysis on IPv6 Transition in 3GPP Networks",
     draft-ietf-v6ops-3gpp-analysis-03, March 2003 (Work-in-Progress).

[4]  D. Johnson, C. Perkins and J. Arkko, "Mobility Support in IPv6",
     RFC-3775, June 2004.

[5]  C. Perkins, Ed., "IP Mobility Support for IPv4", RFC 3344, August
     2002



Authors' Addresses

  Joo-Chul Lee




Lee                       Expires December 2005                 [Page 7]


INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005


  ETRI PEC
  161 Kajong-Dong, Yusong-Gu, Taejon 305-350, Korea
  Tel : +82 42 860 1080
  Fax : +82 42 861 5404
  E-mail : rune@etri.re.kr

  Myung-Ki Shin
  ETRI PEC
  161 Kajong-Dong, Yusong-Gu, Taejon 305-350, Korea
  Tel : +82 42 860 4847
  Fax : +82 42 861 5404
  E-mail : mkshin@pec.etri.re.kr












































Lee                       Expires December 2005                 [Page 8]
INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT    June 2005

Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.