INTERNET DRAFT Joo-Chul Lee Expires: December 2003 Myung-Ki Shin ETRI June 2003 Considerations for Mobility Support in NAT-PT Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and 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 obsolete by other documents at anytime. 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. Abstract The document specifies considerations for mobility support in NAT- PT (RFC-2766) [1]. 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]. Lee Expires December 2003 [Page 1] INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT June 2003 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 controls such as RR (Return Routability), BU (Binding Update), etc. +---------+ +------------------------>| IPv4 CN | | +---------+ V IPv4 domain +----------+ /--------------| NAT-PT |-----------\ / +----------+ \ | / | | | /-----/ | | | / | | | : +-------+ | | : | R1 | | | / +-------+ | | +-------+ / \ | | | HA | / +-------+ | | +-------+ : | R2 | | | | : +-------+ | | | | | | +-------+ | | | |IPv6 MN|- - - + ------+---+- | | +-------+ | | | | . +-------+ | | +- - - - -> |IPv6 MN| | | Movement +-------+ | \ / \-------------------------------------/ 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 Lee Expires December 2003 [Page 2] INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT June 2003 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 is in home network and it communicates with like general NAT-PT outbound session. | | | | |======>|======>| | - sends IPv6 packet [src | | | | (P1::xxxx/64),dst(PREFIX::a.b.c.d)] | | | | to . | | | | | | |------->| - translates IPv6 packet | | | | into IPv4 packet[src(w.x.y.z), | | | | dst(a.b.c.d)] and sends it to | | | | . | | | | | | |<-------| - sends IPv4 packet[src | | | | (a.b.c.d),dst(w.x.y.z)] to | | | | . | | | | |<======|<======| | - translates IPv4 packet | | | | into IPv6 packet[src(PREFIX:: | | | | a.b.c.d),dst(P1::xxxx/64)] * 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 Lee Expires December 2003 [Page 3] INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT June 2003 3.1.2 RR procedure After 's moving from home network to other subnet, tries RR procedure to check reachability of before sending BU. | | | | | |===========>|======>| | - sends CoTI message | | | | | to . | | | | | |++++++>|===========>| | - sends HoTI message | | | | | to through HA. | | | | | |<===========|<======| | - intercepts CoTI | | | | | message and return CoT message | | | | | to . Before sending | | | | | CoT message, must | | | | | save kcn and care-of nonce | | | | | index for | | | | | |<++++++|<===========| | - intercepts HoTI | | | | | message and return HoT message | | | | | to . Before sending | | | | | HoT message, must | | | | | save kcn and home nonce index | | | | | for * 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] = {} 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 Lee Expires December 2003 [Page 4] INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT June 2003 After finishing RR procedure makes authenticator and sends BU message to for route optimization. | | | | | |===========>|======>| | - sends BU message to | | | | | | | | | | |<===========|<======| | - interceptes BU | | | | | message and returns BA to | | | | | . Before sending BA | | | | | 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 } * IPv4 CN a.b.c.d 3.2 General Data Transimission | | | | | |===========>|======>| | - sends IPv6 packet | | | | | with HAO to . | | | | | | | | |------->| - intercepts IPv6 | | | | | packet with HAO. To translate | | | | | packet with HAO | | | | | searches connection {src(HA), | | | | | dst(PREFIX::a.b.c.d)} which | | | | | has mapping information. Lee Expires December 2003 [Page 5] INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT June 2003 | | | | | | | | |<-------| - sends IPv4 packet | | | | | [src(a.b.c.d), dst(w.x.y.z)] | | | | | to . | | | | | |<===========|<======| | - translates IPv4 | | | | | packet and forwards it. Before | | | | | sending translated IPv6 packet | | | | | must check whether | | | | | there is binding cache entry | | | | | corresponding to P1::xxxx/64 | | | | | or not. | | | | | If there is binding cache | | | | | entry, 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, 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 Lee Expires December 2003 [Page 6] INTERNET-DRAFTConsiderations for Mobility Support in NAT-PT June 2003 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. References [1] Tsirtsis, G. and P. Srisuresh, "Network Address Translation - Protocol 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", draft-ietf-mobileip-ipv6-21, February 2003 (Work-in-Progress). [5] C. Perkins, Ed., "IP Mobility Support for IPv4", RFC 3344, August 2002 Authors' Addresses Joo-Chul Lee 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 2003 [Page 7]