Internet DRAFT - draft-huang-mobileip-napt
draft-huang-mobileip-napt
Internet Engineering Task Force Ching-Yang Huang
Internet-Draft Jyh-Cheng Chen
Expires: February 2003 Ming-Chia Jiang
Hong-Wei Lin
National Tsing Hua University
Jen-Chi Liu
Industrial Technology Research Institute
September 2002
Guidelines for Integrating Mobile IP with NAPT
<draft-huang-mobileip-napt-00.txt>
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 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 February 28, 2003.
Copyright Notice
Copyright (C) The Internet Society (2002) All Rights Reserved.
Abstract
As the number of mobile terminals increases, Mobile IP[1] potentially
could make users roam around the world while also keep their
connection to the Internet uninterruptedly. In the mean time, many
organizations are using NAPT[2] (Network Address Port Translator) to
isolate private network from public realms. The integration of NAPT
with Mobile IP, however, introduces technical issues that must be
NTHU & ITRI Expires February 2003 [Page 1]
Internet Draft Mobile IP Integrates with NAPT September 2002
resolved before they can function together. Although techniques such
as UDP tunneling[3] and reverse tunneling[4] can be utilized to solve
part of the problem, there are still some scenarios which need more
discussion. This document reviews these mechanisms and presents a
guideline for the integration of Mobile IP and NAPT in various
scenarios.
1. Introduction
Mobile IP introduced mobility to mobile users using tunneling
technology, allowing mobile users to take their notebook PC or PDA
roaming around the world without reconfiguring. In the design
principle of Mobile IP, every node is assumed to have an unique IP
address, but many organizations use NAPT and provide private address
in their network that conflicts with this assumption. There had been
many discussions on this topic, eg. Reverse Tunneling, UDP tunneling.
However, the solutions focused on part of the integration and are not
for all scenarios. This document reviews these mechanisms and will
discuss various scenarios and provides a guideline to the integration
of Mobile IP and NAPT.
2. Terminology
NAT (Network Address Translator)
RFC 2663: " Traditional NAT would allow hosts within a private
network to transparently access hosts in the external network, in
most cases. In a traditional NAT, sessions are uni-directional,
outbound from the private network. This is in contrast with Bi-
directional NAT, which permits sessions in both inbound and
outbound directions."
Basic NAT
RFC 2663: "With Basic NAT, a block of external addresses are set
aside for translating addresses of hosts in a private domain as
they originate sessions to the external domain. For packets
outbound from the private network, the source IP address and
related fields such as IP, TCP, UDP and ICMP header checksums are
translated. For inbound packets, the destination IP address and
the checksums as listed above are translated."
NAPT (Network Address Port Translator)
RFC 2663: " NAPT extends the notion of translation one step
further by also translating transport identifier (e.g., TCP and
UDP port numbers, ICMP query identifiers). This allows the
transport identifiers of a number of private hosts to be
NTHU & ITRI Expires February 2003 [Page 2]
Internet Draft Mobile IP Integrates with NAPT September 2002
multiplexed into the transport identifiers of a single external
address. NAPT allows a set of hosts to share a single external
address. Note that NAPT can be combined with Basic NAT so that a
pool of external addresses are used in conjunction with port
translation."
Home NAPT
The NAPT which located in the home network.
Foreign NAPT
The NAPT which located in the foreign network.
UDP Tunneling
NAT traversal for MIP Draft: "In MIP UDP tunnelling, the mobile
node may use an extension (described below) in its Registration
Request to indicate that it is able to use Mobile IP UDP
tunnelling instead of standard Mobile IP tunnelling if the home
agent sees that the Registration Request seems to have passed
through a NAT. The home agent may then send a registration reply
with an extension indicating acceptance (or denial). After assent
from the home agent, MIP UDP tunnelling will be available for use
for both forward and reverse tunnelling. UDP tunnelled packets
sent by the mobile node use the same ports as the registration
request message. In particular, the source port may vary between
new registrations, but remains the same for all tunnelled data and
re-registrations. The destination port is always 434. UDP
tunnelled packets sent by the home agent uses the same ports, but
in reverse."
Reverse Tunneling
RFC 3024: "A mobile node arrives at a foreign network, listens for
agent advertisements and selects a foreign agent that supports
reverse tunnels. It requests this service when it registers
through the selected foreign agent. At this time, and depending
on how the mobile node wishes to deliver packets to the foreign
agent, it also requests either the Direct or the Encapsulating
Delivery Style (section 5).
In the Direct Delivery Style, the mobile node designates the
foreign agent as its default router and proceeds to send packets
directly to the foreign agent, that is, without encapsulation.
The foreign agent intercepts them, and tunnels them to the home
agent.
In the Encapsulating Delivery Style, the mobile node encapsulates
all its outgoing packets to the foreign agent. The foreign agent
decapsulates and re-tunnels them to the home agent, using the
NTHU & ITRI Expires February 2003 [Page 3]
Internet Draft Mobile IP Integrates with NAPT September 2002
foreign agent's care-of address as the entry-point of this new
tunnel."
3. Problem Statement
When Mobile IP runs on private networks will cause the following
problems:
3.1 Unreachable HA
According to NAPT operation, session can only be initiated from the
inside of NAPT. Thus the path is blocked to be single direction in
session initiation stage. Since MN registers its CoA at foreign
network, the registration is initiated from the outside of NAPT. HA
is not reachable from MN.
3.2 Insufficient Translation Information
NAPT translates packet by checking IP address and port numbers. After
encapsulating by tunneling methods defined in Mobile IP, packets are
not compatible with NAPT. NAPT cannot find port numbers, that is,
NAPT cannot translate them properly.
3.3 Identical Home Address
There may be some MNs with identical private home address come to the
same foreign network. If foreign agent mode is used, these MNs will
use FA's IP as CoA. FA will be conflict when it forward packet to
them.
3.4 Handoff Detection
When MN handoffs from a private foreign network to another, the IP
address of FA may be the same as previous one. The change of IP
address of FA is not sufficient for MN to detect the handover.
3.5 Unknown Home NAPT
Another problem similar to problem1 is Unknown Home NAPT. MN uses
private address in both its home network and foreign network. But the
private address is not routable in the Internet. Registration
messages that MN sent will not be sent back to their home network.
4. Integration Requirements
This section lists the requirements correspond to problems listed in
section 3.
NTHU & ITRI Expires February 2003 [Page 4]
Internet Draft Mobile IP Integrates with NAPT September 2002
4.1 There must exist a direct path between MN and HA, so that
registration and data packets can be initiated from the outside of
NAPT.
4.2 Tunneled packets must be compatible with NAPT so that they can be
preceded by NAPT boxes.
4.3 When there are multiple MNs having identical private home address,
FA must uniquely identify each MN and forward packets to them
correctly.
4.4 When MN handoffs between 2 FAs that have identical private address,
MN should know when it have to re-register again.
4.5 MN should provide information about the NAPT in its home network.
5. Leveraging Exist Technologies
In appendix A of Reverse Tunneling, there is a discussion in
Disparate Address Space Support. But NAT is not considered. The I-D
"NAT traversal for MIP" has discussed the integration of NAPT and
MIP. But it only referred the scenario that only foreign network is
private network with NAPT. The case that Home network is also private
with NAPT is not mentioned. But this case will create more problem
than what is solved or discussed in Reverse Tunneling and NAT
traversal for MIP. In [6], the combination of MIP and NAT is
discussed. NAT box referred in this doc is the "Bi-directional NAT
(or) Two-Way NAT" form as described in 4.2 of [2]. We believe that
NAPT is more popular than the "Two-Way NAT"; in next section we will
discuss different scenarios and use techniques currently available to
integrate MIP and NAPT.
6. Scenarios and Considerations
The permutation of Mobile IP components, HA, FA, MN and CN together
with NAPT box may result in various scenarios. The case that CN is
behind NAPT is not considered, because the location of CN will not
effect the mobility of MN even though it is one part of the operation
of Mobile IP. And MN will always be considered and will not take
count into the permutation. Thus we got 4 scenarios of the
permutation. They are:
6.1. No NAPT is present
This is the original Internet, Mobile IP runs normally.
NTHU & ITRI Expires February 2003 [Page 5]
Internet Draft Mobile IP Integrates with NAPT September 2002
6.2. Only Freign Network is Private, FA is Behind NAPT
Foreign network is private:
Foreign Network1 Home Network
--------------+ +-------------
MN4 | | HA MN1
FA -----NAPT----Internet------+ MN2
| / \ | MN3
--------------+ / \ +-------------
/ \
Foreign Network2 / \
--------------+ / \
MN5 | / CN
DHCP--NAPT
|
--------------+
This scenario will cause the "Insufficient Translation Information
problem" and "Handoff Detection problem". I-D "NAT traversal for MIP"
considered this scenario, and provides a solution that really works.
We needs UDP tunneling runs on FA, HA, MN.
6.3. Only Home Network is Private, HA is Behind NAPT
Home network is private:
Foreign Network1 Home Network
--------------+ +-------------
MN4 FA | | MN1
|------Internet-----NAPT--HA MN2
| / \ | MN3
--------------+ / \ +-------------
/ \
Foreign Network2 / \
--------------+ / \
MN5 DHCP | / CN
---'
|
--------------+
This scenario will cause the "Unreachable HA", "Insufficient
Translation Information", "Identical Home Address" and "Unknown Home
NAPT" problems. If foreign network uses co-located mode, every MN get
a co-located CoA which is unique in foreign network, Identical Home
Address problem will be eliminated. There is no solution currently
designed for this scenario.
NTHU & ITRI Expires February 2003 [Page 6]
Internet Draft Mobile IP Integrates with NAPT September 2002
Since packets that CN replies must be tunneled to MN by HA, but if
triangle routing is used before these packets can arrive HA they will
meet Home NAPT first. This causes an example of "session initiate
from outside of NAPT" which will not be translated by NAPT. These
packets cannot traverse though Home NAPT turns out reach HA.
We need reverse tunneling. MN's packets will be sent back to HA and
forwarded to CN by HA. And replied packet can back HA again then be
tunneled to MN. For tunneled packets to traverse though Home NAPT, we
need UDP tunneling runs on FA, HA and MN, too. But when MN reverse
tunnels packets to home network will be an example of session
initiated outside of NAPT. Because UDP tunneled packets sent from
foreign network to home network will have destination port set to
434, we can simply bind port 434 of HA to port 434 of Home NAPT. Thus
all the packets received from port 434 by Home NAPT will be
redirected to HA and then tunneled to CN.
6.3.1 MN Considerations
When MN first moves out from home network, it have to send RRQ to HA
registering its current location. If MN do not know Home NAPT's IP
address, the RRQ could not reach HA since HA's IP address is private
that is not routable in the Internet. MN must provide Home NAPT's
public IP address, so that packets can be sent back to home network.
The way MN to provide Home NAPT's public IP address could be manually
recorded in the configuration file or use NAI[5] to find out.
If there is a FA in foreign network, MN may tell FA Home NAPT's
public address in the registration message. This may need an
extension in registration message.
6.3.2 FA Considerations
MNs from different home network may have the same private home
address. If they use FA's CoA as CoA, FA may not distinguish them
properly by just check the IP address in packet. FA needs some other
mechanisms to do this. Link layer address could help in distributing
packets to MN. A table mapping from MN's link-layer address to MN's
Home NAPT address and MN's home address maybe useful. When FA
receives a packet form MN's home network, it checks the source IP
both in inner header and outer header to determine the ultimate
destination. Then FA forwards the packet to correspondent link-layer
address. Thus MN will receive what it should receive.
6.3.3 HA Considerations
When HA receives a data packet reverse tunneled from MN, it must
NTHU & ITRI Expires February 2003 [Page 7]
Internet Draft Mobile IP Integrates with NAPT September 2002
decapsulate the packet and then forward this packet to CN. This
packet will traverse through Home NAPT and will trigger Home NAPT to
keep a record in NAPT's mapping table. So that when CN replies,
packets can be translated properly and be tunneled to MN by HA.
6.4. Both Home Network and Foreign Network are Private; FA, HA are
Behind NAPT
Both are private:
Foreign Network1 Home Network
--------------+ +-------------
MN4 | | MN1
FA -----NAPT----Internet------NAPT--HA MN2
| / \ | MN3
--------------+ / \ +-------------
/ \
Foreign Network2 / \
--------------+ / \
MN5 | / CN
DHCP--NAPT
|
--------------+
This scenario will have all the problems list in section 3. We need
all mechanisms used in 6.3: Apply Reverse tunneling, UDP tunneling in
HA, MN, FA; and let MN provide Home NAPT's public IP address and bind
port 434 of NAPT to port 434 of HA.
6.4.1 MN Considerations
MN still have the same problem as 6.3.1, and MN must provide Home
NAPT's public IP address, too.
When MN handoffs to foreign network, it must aware whether this
foreign network is private or not. The same mechanism as what used in
"NAT traversal for MIP"[3] to detect private network could be used.
6.4.2 FA Considerations
If FA CoA is used, a problem like 6.3.2 will occur. FA will need a
table as referred in 6.3.2.
6.4.3 HA Considerations
In this scenario, HA should do the same action as 6.3.3 do.
7. Overall Suggestions
NTHU & ITRI Expires February 2003 [Page 8]
Internet Draft Mobile IP Integrates with NAPT September 2002
Since there will be various scenarios and what we can control is
usually either home network or foreign network. For a most flexible
consideration, we propose the following implementation suggestion:
7.1 Implementation Suggestions
1. Reverse tunneling must be implemented.
2. UDP tunneling must be implemented.
3. MN must provide Home NAPT's public address
4. FA must distinguish MN by link-layer address and maintain a
mapping between MN's Home NAPT's IP, MN's private address and
MN's link-layer address.
5. The destination address in RRQ should be Home NAPT's public
address.
7.2 Usage Suggestion
1. All hosts in a private domain must have unique IP address, include
MNs that moved to foreign domain.
2. If home network uses NAPT, bind port 434 of NAPT to port 434 of
HA.
8. IANA Considerations
This document does not create any new numbers for IANA
administration.
References
[1] C. Perkins, "IP Mobility Support for IPv4", RFC 3220, January 2002.
[2] P. Srisuresh, "IP Network Address Translator (NAT) Terminology and
Considerations", RFC 2663, August 1999.
[3] H. Levkowetz, "Mobile IP NAT/NAPT Traversal using UDP Tunneling",
IETF draft, (draft-ietf-mobileip-nat-traversal-04.txt) May 2002.
[4] G. Montenegro, "Reverse Tunneling for Mobile IP, revised", RFC 3024,
January 2001.
[5] B. Aboba, M. Beadles, "The Network Access Identifier", RFC 2486,
NTHU & ITRI Expires February 2003 [Page 9]
Internet Draft Mobile IP Integrates with NAPT September 2002
January 1999.
[6] Toshihiko Kato, Akira Idoue and Hidetoshi Yokota, "Mobile IP Using
Private Address", Proceedings of IEEE Computer and Communications,
P 491 - P 497, Hammamet, Tunisia, July 2001.
[7] Y. Rekhter, B. Moskowitz , D. Karrenberg , G. J. de Groot, E. Lear,
"Address Allocation for Private Internets", RFC 1918, February 1996.
[8] Douglas E. Comer, "Internetworking with TCP/IP principles,
protocols, and architectures", 4th edition, Prentice Hall, 2000.
[9] C. Perkins, "IP Encapsulation within IP", RFC 2003, October 1996.
[10] T. Li, S. Hanks, D. Meyer, P. Traina, "Generic Routing
Encapsulation (GRE)", RFC 2784, March 2000.
[11] C. Perkins, "Minimal Encapsulation within IP", RFC 2004, October
1996.
[12] J. Postel, "Internet Protocol", STD 5, RFC 791, September 1981.
[13] P. Calhoun, C. Perkins, "Mobile IP Network Access Identifier
Extension for IPv4", RFC 2794, March 2000.
Authors:
Ching-Yang Huang
Institute of Communications Engineering
National Tsing Hua University
101, Section 2 Kuang Fu Road, Hsinchu, Taiwan 300, ROC
Phone: +886-3-5715131 ext.3599
E-mail: g905630@oz.nthu.edu.tw
Jyh-Cheng Chen
Department of Computer Science
National Tsing Hua University
101, Section 2 Kuang Fu Road, Hsinchu, Taiwan 300, ROC
Phone: +886-3-5715131 ext.2961
E-mail: jcchen@cs.nthu.edu.tw
Jen-Chi Liu
Computer & Communications Research Laboratories
Industrial Technology Research Institute
195-11 Sec. 4, Chung Hsing Rd., Chutung, Hsinchu, Taiwan 310, ROC
NTHU & ITRI Expires February 2003 [Page 10]
Internet Draft Mobile IP Integrates with NAPT September 2002
Phone: +886-3-5914663
E-mail: jcliu@itri.org.tw
Ming-Cha Jiang
Department of Computer Science
National Tsing Hua University
101, Section 2 Kuang Fu Road, Hsinchu, Taiwan 300, ROC
Phone: +886-3-5715131 ext.3599
E-mail: jmc@cs.nthu.edu.tw
Hon-Wei Lin
Department of Computer Science
National Tsing Hua University
101, Section 2 Kuang Fu Road, Hsinchu, Taiwan 300, ROC
Phone: +886-3-5715131 ext.3529
E-mail: willie@cs.nthu.edu.tw
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
NTHU & ITRI Expires February 2003 [Page 11]