Network Working Group F. Templin, Ed. Internet-Draft Boeing Phantom Works Intended status: Informational December 10, 2008 Expires: June 13, 2009 Transmission of IPv4 Packets over ISATAP Interfaces draft-templin-isatapv4-00.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 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 June 13, 2009. Abstract The Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) specifies a Non-Broadcast, Multiple Access (NBMA) interface type for the transmission of IPv6 packets over IPv4 networks using automatic IPv6-in-IPv4 encapsulation. The original specifications make no provisions for the encapsulation and transmission of IPv4 packets, however. This document specifies a method for transmitting IPv4 packets over ISATAP interfaces. Templin Expires June 13, 2009 [Page 1] Internet-Draft IPv4 over ISATAP Interfaces December 2008 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. ISATAP Interface Model . . . . . . . . . . . . . . . . . . . . 3 4. ISATAP Interface MTU . . . . . . . . . . . . . . . . . . . . . 4 5. IPv6 Operation . . . . . . . . . . . . . . . . . . . . . . . . 4 6. IPv4 Operation . . . . . . . . . . . . . . . . . . . . . . . . 4 6.1. ISATAPv4 Address Format . . . . . . . . . . . . . . . . . . 4 6.2. IPv4 Address Configuration . . . . . . . . . . . . . . . . 5 6.3. IPv4 Route Configuration . . . . . . . . . . . . . . . . . 5 6.4. ISATAP Interface Addressing Parameters . . . . . . . . . . 5 6.5. Next Hop Resolution and ISATAP Interface Determination . . 6 6.6. Underlying IPv4 Interface Determination . . . . . . . . . . 6 6.7. Encapsulation and Transmission . . . . . . . . . . . . . . 7 6.8. Recursive Encapsulation Avoidance . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 10.1. Normative References . . . . . . . . . . . . . . . . . . . 7 10.2. Informative References . . . . . . . . . . . . . . . . . . 8 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8 Intellectual Property and Copyright Statements . . . . . . . . . . 9 Templin Expires June 13, 2009 [Page 2] Internet-Draft IPv4 over ISATAP Interfaces December 2008 1. Introduction The Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) [RFC5214] specifies a Non-Broadcast, Multiple Access (NBMA) interface type for the transmission of IPv6 packets over IPv4 networks using automatic IPv6-in-IPv4 encapsulation. ISATAP interfaces therefore typically configure IPv6 addresses and prefixes, but they do not configure IPv4 addresses and prefixes. Indeed, in typical implementations and deployments, an ISATAP interface appears as an ordinary interface configured for IPv6 operation but with a null IPv4 configuration. This places an unnecessary limitation on the ISATAP domain of applicability. ISATAP interfaces perform automatic IPv6-in-IPv4 encapsulation over a virtual IPv6 overlay that spans an IPv4 routing region comprising ordinary IPv4 routers. ISATAP router and host interfaces configure IPv6 link-local addresses that encapsulate an IPv4 address assigned to an underlying IPv4 interface within the IPv6 link-local prefix 'fe80::/10' as specified in [RFC5214], Sections 6 and 7. ISATAP host interfaces additionally configure IPv6 non-link-local addresses that encapsulate an IPv4 address from an underlying IPv4 interface in a non-link-local IPv6 prefix in exactly the same fashion. As a result, [RFC5214] extends the basic transition mechanisms specified in [RFC4213]. This document specifies mechanisms and operational practices that enable automatic IPv4-in-IPv4 encapsulation over ISATAP interfaces in the same manner as for IPv6-in-IPv4 encapsulation. As a result, this document also extends the IPv4-in-IPv4 tunneling mechanisms specified in [RFC2003]. The following sections specify IPv4 operation over ISATAP interfaces. A working knowledge of the IPv4 and IPv6 protocols [RFC0791] [RFC2460], IPv4-in-IPv4 encapsulation [RFC2003], and IPv6-in-IPv4 encapsulation [RFC4213][RFC5214] is assumed. 2. Terminology The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [RFC2119]. 3. ISATAP Interface Model ISATAP interfaces use automatic IPv6-in-IPv4 encapsulation to span a connected IPv4 routing region in a single IPv6 hop. That is to say Templin Expires June 13, 2009 [Page 3] Internet-Draft IPv4 over ISATAP Interfaces December 2008 that the routing region comprises border nodes with ISATAP interfaces that send IPv6-in-IPv4 packets across the IPv4 routing region in a single IPv6 hop, and ordinary IPv4 routers between the border nodes that decrement the TTL in the outer IPv4 header. This specification simply extends the ISATAP interface model to also support IPv4-in-IPv4 encapsulation. When IPv4-in-IPv4 encapsulation is used, the ISATAP interface spans exactly the same connected underlying IPv4 topology as for IPv6-in-IPv4 encapsulation. 4. ISATAP Interface MTU ISATAP interface MTU considerations are exactly as specified in [RFC4213], Section 3.2, and apply equally for both IPv6 and IPv4 operation. 5. IPv6 Operation IPv6 operations over ISATAP interfaces are exactly as specified in [RFC5214]. 6. IPv4 Operation 6.1. ISATAPv4 Address Format This document defines an imaginary 64-bit address format (i.e., the "ISATAPv4 address" format) that is the concatenation of a 32 bit IPv4 link-local or global address as the prefix with the 32 bit IPv4 address of an underlying IPv4 interface as the suffix. The ISATAPv4 address format is shown in Figure 1: |0 3|3 6| |0 1|2 3| +---------------------------------+--------------------------------+ | ISATAP Interface IPv4 Address | Underlying Interface IPv4 Addr.| +---------------------------------+--------------------------------+ Figure 1: ISATAPv4 Address Format Since IPv4 address are only 32 bits in length, however, ISATAPv4 addresses never appear as the source or destination addresses of packets on the wire. Indeed, under normal circumstances they need not be represented in any physical manifestation in routing protocols, protocol stack implementations, documentation, etc. Templin Expires June 13, 2009 [Page 4] Internet-Draft IPv4 over ISATAP Interfaces December 2008 Instead, the 32-bit prefix part of the imaginary ISATAPv4 address is used for IPv4 address configuration on ISATAP interfaces while the 32-bit suffix part is used for address resolution and next hop determination. In the future, ISATAPv4 addresses may be specified for inclusion in the Domain Name System (DNS) [RFC1035], e.g., as "AA" ("double-A") resource records. 6.2. IPv4 Address Configuration ISATAP intefaces configure an IPv4 address taken from the prefix portion of an ISATAPv4 address (see: Section 6.1). ISATAP router interfaces that implement this specification configure an IPv4 link-local address per [RFC3927] as a minimal configuration to enable IPv4 operation. The IPv4 link-local address must be unique among the addresses assigned to all of the node's interfaces, but it is not used as the source/destination address of IPv4 packets nor as a Router ID in a dynamic routing protocol therefore it need not be checked for uniqueness among all nodes connected over the ISATAP interface. ISATAP host interfaces (and ISATAP router interfaces that must also support host operations) instead configure a non-link-local IPv4 address taken from an IPv4 prefix assigned to the ISATAP interface. Unlike IPv4 link-local addresses, however, non-link-local IPv4 addresses must be managed for uniqueness among all nodes connected over the ISATAP interface. 6.3. IPv4 Route Configuration As for any IPv4 interface, IPv4 Forwarding Information Base (FIB) entries (i.e., IPv4 routes) with an interface identifier corresponding to an ISATAP interface are configured via either administrative or dynamic mechanisms. Next hop addresses in FIB entries with an interface identifier corresponding to an ISATAP interface use the suffix from the ISATAPv4 address (see: Section 6.1), i.e., the next hop address is taken from the IPv4 address of an underlying IPv4 interface of the next hop node. 6.4. ISATAP Interface Addressing Parameters For each IPv4 packet transmitted over an ISATAP interface, the node must determine: Templin Expires June 13, 2009 [Page 5] Internet-Draft IPv4 over ISATAP Interfaces December 2008 o 'SRC-IP' - the IPv4 source address of the packet. o 'DST-IP' - the IPv4 destination address of the packet. o 'IS-ID' - the ID of the ISATAP interface via which 'DST-IP' is reached. o 'IS-NH' - the IPv4 address of the next hop toward 'DST-IP' via 'IS-ID'. o 'UI-ID' - the ID of the underlying IPv4 interface via which 'IS-NH' is reached. o 'UI-IP' - the IPv4 address assigned to the underlying IPv4 interface. o 'UI-NH' - the L2 address for 'IS-NH' when 'IS-NH' is on-link on 'UI-ID'; otherwise, the IPv4 address of the next hop toward 'IS-NH'. Determination of these addressing parameters is discussed in the following sections. 6.5. Next Hop Resolution and ISATAP Interface Determination When the node's IPv4 layer has a packet to send, it performs an IPv4 FIB lookup on 'DST-IP' to determine 'IS-ID' and 'IS-NH'. The node then checks the packet length against the MTU configured on the ISATAP interface indicated by 'IS-ID'. If the packet is no larger than the MTU, the node admits it into the ISATAP interface without fragmentation. If the packet is larger than the MTU, the node examines the "Don't Fragment (DF)" flag in the IPv4 header. If DF=1, it drops the packet and returns an ICMPv4 "fragmentation needed" message to 'SRC-IP' [RFC1191]; otherwise it fragments the packet using IPv4 fragmentation and admits each fragment into the ISATAP interface. 6.6. Underlying IPv4 Interface Determination After the node admits an IPv4 packet/fragment into the ISATAP interface, it performs an IPv4 FIB lookup on 'IS-NH' to determine a FIB table entry containing 'UI-ID', 'UI-IP' and 'UI-NH' for the underlying IPv4 interface. If the lookup fails, the node drops the packet and returns an ICMPv4 "Destination Unreachable" message to 'SRC-IP' [RFC0792]; otherwise, it encapsulates the packet and submits it to the IPv4 layer as described below. Templin Expires June 13, 2009 [Page 6] Internet-Draft IPv4 over ISATAP Interfaces December 2008 6.7. Encapsulation and Transmission After performing the IPv4 FIB lookup on 'IS-NH' (see Section 6.6), if 'IS-NH' is not on-link on the underlying interface identified by 'UD-ID', the node encapsulates the packet as specified in [RFC2003] with (src='UI-IP'; dst = 'IS-NH') in the outer IPv4 header and sets the DF flag in the outer IPv4 header according to Section 3.2 of [RFC4213]. If 'IS-NH' is on-link on the underlying interface, however, the node omits this encapsulation. The node then submits the packet to the IPv4 layer with a pointer to the FIB table entry containing 'UI-ID', 'UI-IP' and 'UI-NH'. The IPv4 layer fragments the encapsulated packet if necessary, then forwards each fragment to the underlying IPv4 interface. The underlying IPv4 interface then performs address resolution to determine the L2 address for 'UI-NH', then forwards the packet to the L2 address via the underlying link layer. 6.8. Recursive Encapsulation Avoidance The node must take care in managing its IPv4 FIB table entries in order to avoid looping through recursive encapsulations. 7. IANA Considerations There are no IANA considerations for this document. 8. Security Considerations Security considerations for tunneling are found in the normative references. 9. Acknowledgements This work extends the ISATAP interface model, which has evolved through the insights of many contributers over the course of many decades. 10. References 10.1. Normative References [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981. Templin Expires June 13, 2009 [Page 7] Internet-Draft IPv4 over ISATAP Interfaces December 2008 [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981. [RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, November 1990. [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, October 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. [RFC3927] Cheshire, S., Aboba, B., and E. Guttman, "Dynamic Configuration of IPv4 Link-Local Addresses", RFC 3927, May 2005. [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms for IPv6 Hosts and Routers", RFC 4213, October 2005. [RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214, March 2008. 10.2. Informative References [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. Author's Address Fred L. Templin (editor) Boeing Phantom Works P.O. Box 3707 MC 7L-49 Seattle, WA 98124 USA Email: fltemplin@acm.org Templin Expires June 13, 2009 [Page 8] Internet-Draft IPv4 over ISATAP Interfaces December 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). 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. 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, THE IETF TRUST 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. Intellectual Property 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. Templin Expires June 13, 2009 [Page 9]