Internet Engineering Task Force Internet Draft Jordi Palet Document: draft-palet-v6ops-proto41-nat-00.txt Cesar Olvera Consulintel Category: David Fernandez UPM Expires: December 2003 June 2003 Forwarding Protocol 41 in NAT Boxes draft-palet-v6ops-proto41-nat-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 [1]. 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. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 1] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 Abstract Some NAT boxes/routers allow the establishment of IPv6 tunnels from systems in the private LAN (using private IPv4 addresses) to routers or tunnel servers in the public Internet. As far as we know this is not a common way of use IPv6 tunnels; the usual way is to finish the tunnel directly in a device with an IPv4 public address. This behavior provides a big opportunity to rapidly deploy a huge number of IPv6 nodes and networks, without the need of new transition mechanism. This option is very important to facilitate the IPv6 deployment. This document describes this behavior and provides hints that should be applied in the NAT boxes and tunnel brokers to facilitate it. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 2] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [2]. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 3] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 Table of Contents 1. Introduction...................................................4 2. Rationale for this behavior....................................6 3. Behavior of different NAT types................................6 3.1 Basic NAT..................................................6 3.2 NAPT.......................................................6 3.3 Bidirectional (or two-way) NAT.............................7 3.4 ôConfigurableö NAT.........................................7 4. Applicability..................................................7 5. NAT design considerations......................................8 6. Tunnel broker design considerations............................9 7. Security Considerations........................................9 8. References.....................................................9 Acknowledgments..................................................10 Author's Addresses...............................................10 Intellectual Property Statement..................................10 Full Copyright Statement.........................................11 Acknowledgement..................................................11 1. Introduction Some NAT boxes/routers allow the establishment of IPv6 tunnels from systems in the private LAN (using private IPv4 addresses) to routers or tunnel servers in the public Internet. As far as we know [3] this is not a common way of use IPv6 tunnels; the usual way is to finish the tunnel directly in a device with an IPv4 public address. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 4] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 This behavior provides a big opportunity to rapidly deploy a huge number of IPv6 nodes and networks (in the case the node behind the NAT is an IPv6 router), without the need of new transition mechanism. So exploring this option is very important to facilitate the IPv6 deployment. ____ ( ) ( IPv6 ) (____) | +--------+ +--------+ | Tunnel |________| Tunnel | | Broker | | Server | +--------+ +--------+ \ / | \____/ | ( ) | ( IPv4 ) | (____) | IPv6 Tunnel | | Public IPv4 | | +-----+ | | NAT | | | Box | | +-----+ | | | Private IPv4 | | +--------+ | | Tunnel |------ | Client |------> (possible IPv6 or dual stack network) +--------+ This scenario has been tested with several NAT boxes that have successfully established IPv6 tunnels with tunnel servers from three well known Tunnel Broker implementations (BT, Freenet6 and TILAB) as well as with other routers (6Bone, Consulintel, Euro6IX and UPM networks). This can be used also without a tunnel broker, with a manual configuration at the IPv6 router tunnel-end. The IPv6 router side supports the establishment of this tunnel without any additional configuration. However, in some clients with certain operating systems, the tunnel configuration or the tunnel broker scripts have to be modified to reflect the private/public addressing conversion. This should be modified in future versions of the tunnel brokers, in order to properly create the script considering the public and private addresses. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 5] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 2. Rationale for this behavior As described in RFC 2663 [4]: ôAddress translations performed by NAT are session based and would include translation of incoming as well as outgoing packets belonging to that session ... a session is defined as the set of traffic that is managed as a unit for translation. TCP/UDP sessions are uniquely identified by the tuple of (source IP address, source TCP/UDP port, target IP address, target TCP/UDP port). ICMP query sessions are identified by the tuple of (source IP address, ICMP query ID, target IP address). All other sessions are characterized by the tuple of (source IP address, target IP address, IP protocol).ö Basically, what the router does in this case is a NAT for protocol identifier 41 (the one used for IPv6 over IPv4 tunnels). The router considers each tuple of the form [source IP address, target IP address, IP protocol (41)] a different session. 3. Behavior of different NAT types Some NAT boxes donÆt support creating entries for protocol 41, for example, they may be limited to TCP, UDP and ICMP. From now on, this NAT boxes will not be considered in this document, until section 5. In the case the NAT box can create a NAT entry for the protocol 41, we can distinguish different behaviors depending on the NAT type. 3.1 Basic NAT In Basic NATs the sessions are unidirectional. This means that, as IPv6 tunnels are treated as any other NAT dynamic session, the tunnel entries are only added to the table whenever an IPv6 packet is sent from inside, but not with packets coming from the external tunnel endpoint. Usually, an inactivity timer is started when the entry is created, so the entry (and consequently the tunnel) is deleted if no packets are sent for that time. The tunnel will work again if any new packet is sent from inside the private network. 3.2 NAPT In this case, the sessions are also unidirectional. A single shared external address can be configured to translate different transport identifiers (e.g., TCP and UDP port numbers, other protocol draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 6] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 identifiers). At this way, different internal ports are used to receive and forward different traffic flows/sessions (depending on the different transport identifiers). This can also be combined with Basic NATs. The behavior is the same as in the case of Basic NATs. 3.3 Bidirectional (or two-way) NAT With a Bidirectional NAT, sessions can be initiated from hosts in the public network as well as the private network. Private network addresses are bound to globally unique addresses, statically or dynamically as connections are established in either direction. In this case, the IPv6 tunnel will be working even when no internal traffic is generated to the tunnel endpoint. 3.4 ôConfigurableö NAT If the external address or pool of addresses, or different transport identifiers, can be configured in a static way (by means of a configuration file, http interface, CLI, etc.), then the inactivity timer is probably not needed. For example, in the case that one of the external addresses can be configured to forward all the external traffic to a given internal address then, the tunnel will work in a complete bidirectional way, even when no internal traffic is generated, i.e., the NAT behaves as a bidirectional NAT. This will be also possible if the NAT can be configured to forward all the protocol-41 packets to a given internal address. 4. Applicability In the case of Basic NAT and NAPT, the usage of the IPv6 tunnel is limited to inside to outside sessions, and some time to inside to outside, then outside to inside (when the timing is shorter than the inactivity timeout). This fact is only a problem when IPv6 servers or services inside the private network are needed to be accessible from outside. If the traffic is client initiated, the session is created normally as soon as the first packet is sent, allowing IPv6 communication. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 7] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 The only way to maintain the session permanently is to constantly send traffic (for example, with a periodic ping from inside, a router solicitation message, or other means). Some tunnel broker configuration/communication protocol could be developed to extend this support. In the case of Bidirectional and Configurable NATs, both provide means to support also incoming sessions, even when no outgoing sessions had been initiated, but most probably require some type of configuration. This configuration can be a default one. For example a bidirectional NAT that comes factory configured with a private address for both its LAN interface and a pre-defined private address for the host where all the traffic is forwarded. In both cases, the application of this procedure allows the operation of private IPv6 networks connected by means of non-IPv6 aware NAT boxes to tunnel brokers or manual configured tunnels. This document doesnÆt describe the local network(s) connected to the tunnel endpoint located behind the NAT box, when, for example, it becomes and IPv6 router. These can behave as any other IPv6 native network, providing for example the router advertisement, DHCPv6, Home Agent, etc.. The most usual scope of application of this technology seems to be SOHO and home environments, but is not limited to these. 5. NAT design considerations This document has been written following a survey with users/vendors of different NAT boxes, and the conclusion is that most of the manufacturers support protocol-41 forwarding. Nevertheless not all support a bidirectional mode. New firmware/software versions of the NAT implementations should ensure the support of protocol-41 forwarding. In addition, considering that the code changes needed to support a full bidirectional NAT, will be minimum, this option should also be considered, at least as a configurable option, in an easy way by the user (very simple http interface). draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 8] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 6. Tunnel broker design considerations New releases of tunnel brokers should provide means to automatically detect, or at least manually allow the user to input, the address of the NAT box, if this is present. The tunnel broker, according to the existence of the NAT box, must properly create the script that will configure the client tunnel endpoint. 7. Security Considerations Note that, in the case of a tunnel, the restrictions to applications due to NAT traversing do not apply, because NAT is made to IPv4 packets that transport IPv6 ones, not to IPv6 packets. Besides, the protection derived from the unidirectional nature of NAT disappears for IPv6, so some security mechanism (network or personal firewalls) could be necessary to protect IPv6 systems in the private network. A possible security problem is the one related to the DoS Attack than can be created if a host in the local network, behind the NAT sends IPv6 packets (using protocol 41) to the tunnel endpoint, simulating to be the original ôownerö of the tunnel. The behavior of the NAT box will define the success or failure of this attack. In any case, it seems not reasonable that this happens in small networks (SOHO and home environments), where the attacker can be easily identified. 8. References 1 S. Bradner, "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2 S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 3 J. Palet, C. Olvera, D. Fernandez, "IPv6 Tunnels through Routers with NAT", Euro6IX Project, http://www.euro6ix.org/documentation/euro6ix_co_upm- consulintel_wp4_ipv6_tunnels_nat_v1_6.pdf, April 2003. 4 P. Srisuresh. and M. Holdrege, "IP Network Address Translator (NAT) Terminology and Considerations", RFC 2663, August 1999. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 9] Acknowledgments The authorÆs would also like to acknowledge the inputs from Miguel Angel Diaz (Consulintel) and the European Commission support in the co-funding of the Euro6IX project, where this work is being developed. Author's Addresses Jordi Palet Martinez Consulintel San Jose Artesano, 1 28108 - Alcobendas (Madrid û Spain) Phone: +34 91 151 81 99 Fax: +34 91 151 81 98 Email: jordi.palet@consulintel.es Cesar Olvera Morales Consulintel San Jose Artesano, 1 28108 - Alcobendas (Madrid û Spain) Phone: +34 91 151 81 99 Fax: +34 91 151 81 98 Email: cesar.olvera@consulintel.es David Fernandez Technical University of Madrid (UPM) Ciudad Universitaria s/n 28040 û Madrid (Spain) Phone: +34 91 549 57 00 Fax: +34 91 336 73 33 Email: david@dit.upm.es Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property 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; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication 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 draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 1] Internet Draft Forwarding Protocol 41 in NAT Boxes June 2003 proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society (2003). 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 assignees. 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. draft-palet-v6ops-proto41-nat-00.txt Expires - December 2003 [Page 11]