NGTRANS Working GroupFred L.F. Templin INTERNET-DRAFT SRI International T. Gleeson Cisco Systems K.K. M. Talwar D. Thaler Microsoft Corporation Expires21 May 2001 21 November 200130 July 2002 30 January 2002 Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)draft-ietf-ngtrans-isatap-02.txtdraft-ietf-ngtrans-isatap-03.txt Abstract This document specifiesan intra-site automatic tunneling protocolthe Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)for connectingthat connects IPv6 hosts and routers (nodes) withinpredominantly IPv4-based networks. This method is based on an IPv6 aggregatable global unicast address format (described herein) that embeds theIPv4address ofsites. ISATAP is anode within the EUI-64 format interface identifier. This document assumes that, during the IPv4 to IPv6 co- existence andtransitionphase, many sites will deploymechanism that enables incremental deployment of IPv6incrementally within their IPv4 interior routing domains; especially those sites which have large and complex pre-existing IPv4 infrastructures. Within such sites,by treating theaddress format and methods described in this document will enable IPv6 deployment for nodes that do not sharesite's IPv4 infrastructure as acommonNon-Broadcast Multiple Access (NBMA) linkwith an IPv6 gateway for their site. While other works in progress in the NGTRANS working group proposelayer. ISATAP mechanismsfor assigning globally-uniqueuse a new IPv6 interface identifier format that embeds an IPv4 addressprefixes to sites and methods for inter-domain routing between such sites, the approach outlined in- thismemoenableslarge-scale incremental deployment of IPv6 for nodesautomatic IPv6-in-IPv4 tunneling within asite's pre-existing IPv4 infrastructure without incurring aggregation scaling issues atsite, whether theborder gateways nor requiring site-wide deployment of specialsite uses globally assigned or private IPv4services such as multicast.addresses. Theapproach proposed bynew interface identifier format can be used with both local and global unicast IPv6 prefixes - thisdocument supportsenables IPv6 routingwithinboththe site-locallocally andglobal IPv6globally. ISATAP mechanisms introduce no impact on routingdomains as well as automatic IPv6 in IPv4 tunneling across portions of a site's IPv4 infrastructure which havetable size and require nonative IPv6 support. Additionally, this approach supports automatic tunneling within sites which use non globally-uniquespecial IPv4address assignments, such as when Network Address Translation [NAT] is used.services (e.g., IPv4 multicast). 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. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. 1. IntroductionThe IETF NGTRANS working group anticipates an heterogeneous IPv4/IPv6 infrastructure in the near future and thus is chartered to develop mechanisms to support IPv4/IPv6 coexistence and transition toward global IPv6 deployment. For the most part, existing NGTRANS approaches focus on inter-domain routing between IPv6 islands using the existing global IPv4 backbone as transit. But, these islands may themselves comprise complex heterogeneous IPv4/IPv6 networks (e.g. large academic or commercial campus intranets) that require intra- domain IPv4 to IPv6 transition mechanisms and strategies as well. In order to address this requirement, thisThis document presents asimple andsimple, scalable approach that enables incremental deployment of IPv6nodeswithinpredominantlyIPv4-basedintranets.sites in a manner that is compatible with inter-domain transition mechanisms, e.g., [6TO4]. We refer to this approach as the Intra-Site Automatic Tunnel Addressing Protocol, or ISATAP (pronounced: "ice-a-tap"). ISATAPis based on an aggregatable global unicast address format that carries a standard 64-bit IPv6 address prefix [ADDR][AGGR] with a specially-constructed 64-bit EUI-64 Interface Identifier [EUI64]. This address format is fully compatible with both native IPv6 and NGTRANS routing practices (e.g. [6to4],[6BONE]). But, the interface identifier in an ISATAP address employs a special construction that encapsulates an IPv4 address suitable for automatic IPv6-in-IPv4 tun- neling. Since tunneling occurs only within the site-level prefix of the ISATAP address, the embedded IPv4 address NEED NOT be globally unique; rather, it need only be topologically correct for (and unique within) the context of the site. ISATAPallows dual-stack nodes that do not share a common link with an IPv6gatewayrouter tojoin the global IPv6 network byautomaticallytun- nelingtunnel packets to the IPv6messagesnext-hop address through IPv4, i.e., the site's IPv4routinginfrastructurewithin their site. Two methodsis treated as an NBMA link layer. This document specifies details forautomatic discoverythe transmission ofanIPv6gateway forpackets over ISATAPaddress autoconfiguration are provided. This approach allows large-scale intra-site deployment without incurring aggrega- tion scaling issues at border gateways, since onlylinks (i.e., automatic IPv6-in-IPv4 tunneling), including asingle global IPv6new EUI-64 [EUI64] based interface identifier [ADDR][AGGR] format that embeds an IPv4 address. This format supports configuration of global, site-local and link-local addresses as specified in [AUTO] as well as simple link-layer addressprefix need be usedmapping. Simple validity checks for received packets are given. Also specified in this document is theentire site. (Multiple pre- fixes are, however, supported and may be usedoperation of IPv6 Neighbor Discovery forsite renumbering and simliar purposes.) Finally, this approach supports networks which use non-globally unique IPv4 addresses, suchISATAP, aswhen private address allocationspermitted for NBMA links by [DISC]. The document finally presents deployment and security considerations for ISATAP. 2. Applicability Statement ISATAP provides the following features: - treats site's IPv4 infrastructure as an NBMA link layer using automatic IPv6-in-IPv4 tunneling (i.e., no configured tunnel state) - enables incremental deployment of IPv6 hosts within IPv4 sites with no aggregation scaling issues at border gateways - requires no special IPv4 services within the site (e.g., multicast) - supports both stateless address autoconfiguration and manual configuration - supports networks that use non-globally unique IPv4 addresses (e.g., when private address allocations [PRIVATE]and/orare used), but does not allow the virtual ISATAP link to span a Network AddressTranslationTranslator [NAT]are used. 2. Changes Major changes from version 01 to version 02:-Cleaned up text and tightened up terminology. Changed "IPv6 destination address" to "IPv6 next-hop address" under "sending rules". Changed definitioncompatible with other NGTRANS mechanisms (e.g., [6TO4]) 3. Terminology The terminology ofISATAP prefix[IPv6] applies toincludethis document. The following additional terms are defined: link: same definition as [AUTO][DISC]. underlying link: a link layer that supports IPv4 (for ISATAP), andsite-local. Changed language in sections 4 and 5 - Updated status of Linux implementation Major changes from version 00 to version 01: - Revised draft to require *different* /64 prefixs forMAY also support IPv6 natively. ISATAP link: one or more underlying links used for IPv4 tunneling. The IPv4 network layer addressesand native IPv6 addresses. Thus,of the underlying links are used as link-layer addresses on the ISATAP link. ISATAP interface: a node's attachment to an ISATAPinterface is assignedlink. ISATAP prefix: a/64prefixthat is distinct fromused to configure an address on theprefixesISATAP interface. This prefix is administratively assigned toany other interfaces attached tothenode -ISATAP link and MUST NOT bethey physical or logical interfaces. This approach eliminates ISATAP-specific sending rules presented in earlier draft versions. - Changed sense of 'u/l' bit in the ISATAP address interface identifier to indicate "local scope", since ISATAP interface identifiers are unique only within the scope of the ISATAP prefix. (See section 4.) Major changes from personal draft to version 00: - Title change to provide higher-level description of field of use addressed by this draft. Removed other extraneous text. - Major new sectionduplicated onautomatic discovery of off-link IPv6 routers when IPv6-IPv4 compatibility addresses are used. 3. Terminology The terminology of [IPv6] applies to this document. Additionally, the following terms are used extensively throughout this document: ISATAP prefix: Any link-local, site-local or globally aggregatable IPv6 prefix declared as such. An ISATAP prefix configures ONLY ISATAP addresses within its scope;native IPv6addresses SHOULD NOT be configured on an ISATAP prefix.links. ISATAP address:Anan IPv6 address with an ISATAP prefix and anIPv4 address embedded in theISATAP format interface identifierin the manner describedconstructed as specified in section4 below. Native IPv6 address: An IPv6 address constructed using a non-ISATAP prefix. ISATAP pseudo-interface:4. ISATAPencapsulation ofrouter: an IPv6packets inside IPv4 packets occurs at a pointnode thatis logically equivalent tohas anIPv6 interface, with the link layer being the IPv4 unicast network. This point is referredISATAP interface over which it forwards packets not explicitly addressed toas a pseudo-interface. Anitself. ISATAPpseudo-interface is assignedhost: any node that has an ISATAPaddress through address autoconfiguration.interface and is not an ISATAProuter: Anrouter. 4. Transmission of IPv6router supporting anPackets on ISATAPpseudo-interface. It is normally an interior router within an heterogeneous IPv6/IPv4 network.Links ISATAPhost: Anlinks transmit IPv6host which haspackets via automatic tunneling using the site's IPv4 infrastructure as an NBMA link layer. Automatic tunneling for ISATAPpseudo-interface. 4. ISATAP Address Format Inuses thefollowing sections, we will motivate our proposed extensions of the existing IEEE OUI reserved by the Internet Assigned Numbers Authority [IANA] to support IEEE EUI-64 format addresses as well assame mechanisms specified in [MECH,3.1-3.6], i.e., IPv6 packets are automatically encapsulated in IPv4 using 'ip- protocol-41' as the payload type number. Specific considerations for ISATAPaddress format itself.links are given below: 4.1.IEEE EUI-64ISATAP InterfaceIdentifiers in IPv6 AddressesIdentifier Construction IPv6aggregatable global and local-useunicast addresses[ADDR][ADDR][AGGR] include a 64-bit interfaceidentifieriden- tifier field in "modified EUI-64 format", based on the IEEE EUI-64 [EUI64] specification. (Modified EUI-64 format[EUI64], which is specified asinverts theconcatenationsense ofa 24-bit company_id value (also known astheOUI) assigned by'u/l' bit from its specification in [EUI64], i.e., 'u/l' = 0 indicates local-use.) ISATAP specifies an [EUI64]-format address con- struction for theIEEE Registration Authority (IEEE/RAC) and a 40-bit extension identifier assignedOrganizationally-Unique Identifier (OUI) owned by theaddress- ing authority for that OUI. (Normally, the addressing authorityInternet Assigned Numbers Authority [IANA]. This format (given below) isthe organizationused towhich the IEEE has allocated the OUI). IEEE EUI- 64construct both native [EUI64] addresses for general use and modified EUI-64 format interface identifiersare formatted as follows:for use in IPv6 unicast addresses: |01|12|2 3|34|43|4 6| |05|63|4 1|27|89|0 3|+----------------+----------------+----------------+----------------+ |ccccccugcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm| +----------------+----------------+----------------+----------------++------------------------+--------+--------+------------------------+ | OUI ("00-00-5E"+u+g) | TYPE | TSE | TSD | +------------------------+--------+--------+------------------------+ Where'c' arethecompany-specificfields are: OUI IANA's OUI: 00-00-5E with 'u' and 'g' bits (3 octets) TYPE Type field; specifies interpretation of (TSE, TSD) (1 octet) TSE Type-Specific Extension (1 octet) TSD Type-Specific Data (3 octets) And theOUI, 'u'following interpretations are specified based on TYPE: TYPE (TSE, TSD) Interpretation ---- ------------------------- 0x00-0xFD RESERVED for future IANA use 0xFE (TSE, TSD) together contain an embedded IPv4 address 0xFF TSD isthe universal/local bit, 'g'interpreted based on TSE as follows: TSE TSD Interpretation --- ------------------ 0x00-0xFD RESERVED for future IANA use 0xFE TSD contains 24-bit EUI-48 intf id 0xFF RESERVED by IEEE/RAC Thus, if TYPE=0xFE, TSE isthe individual/group bit and 'm' are thean extensionidentifier bits. (NOTE: [ADDR] specifies that the 'u' bitof TSD. If TYPE=0xFF, TSE isinverted from its normal sense in the IEEE context; therefore u=1 indicates global scope and u=0 indicates local scope). In order to support encapsulation of legacy IEEE EUI-48 (24-bit)an extensionidentifier values, [EUI64] specifies that the first two octetsofthe EUI-64 40-bit extension identifier (bits 24 through 39TYPE. Other values for TYPE (hence, other interpreta- tions ofthe EUI-64TSE, TSD) are reserved for future IANA use. The above specification is compatible with all aspects of [EUI64], including support for encapsulating legacy EUI-48 interface identif- iers (e.g., an IANA EUI-48 format multicast addressitself) SHALL BE 0xFFFE ifsuch as: '01-00- 5E-01-02-03' is encapsulated as: '01-00-5E-FF-FE-01-02-03'). But, theextension iden- tifier encapsulatesspecification also provides a special TYPE (0xFE) to indicate anEUI-48 value. [EUI64] further specifies thatIPv4 address is embedded. Thus, when the firsttwofour octets ofthe extensiona [ADDR]- compatible IPv6 interface identifierSHALL NOT be 0xFFFF, since this value is reserved byare: '00-00-5E-FE' (note: theIEEE/RAC. However, all other 40-'u/l' bitextension identifier values are available for assignment byMUST be 0) theOUI addressing authority. 4.2. An EUI-64 Interface Identifier Format for IANA The IANA owns IEEE OUI: 00-00-5E, and [IANA] specifies EUI-48 format (24-bit)interface identifierassignments within that OUI. But, [IANA] does not specify how these legacy EUI-48 assignments willis said to bewritteninEUI-64 format, nor does it specify a format for future 40-bit extension identifier assignments. We propose"ISA- TAP format" and thefollowing format for EUI-64next four octets embed an IPv4 address encoded in network byte order (least significant octet first). Addresses con- figured on the ISATAP interface MUST use the ISATAP interface iden- tifier format. 4.2. Stateless Autoconfiguration and Link-Local Addresses ISATAP addresseswithin IANA's OUI reservation: |0 2|2 3|3 3|4 6| |0 3|4 1|2 9|0 3| +------------------------+--------+--------+------------------------+are unicast addresses [ADDR,2.5] that use ISATAP format interface identifiers as follows: |OUI ("00-00-5E"+u+g)64 bits |TYPE32 bits |TSE32 bits |TSD+------------------------------+---------------+----------------+ |+------------------------+--------+--------+------------------------+ Where the fields are: OUI IANA's OUI: 00-00-5E with 'u' and 'g' bits (3 octets) TYPE Type field; indicates how (TSE, TSD) are interpreted (1 octet) TSE Type-Specific Extension (1 octet) TSD Type-Specific Data (3 octets) And the following interpretations are defined based on TYPE: TYPE (TSE, TSD) Interpretation ---- ------------------------- 0x00-0xFD RESERVED for future IANA use 0xFE (TSE, TSD) together contain an embedded IPv4 address 0xFF TSD is interpreted based on TSE as follows: TSE TSD Interpretation --- ------------------ 0x00-0xFD RESERVED for future IANA use 0xFE TSD contains 24-bit EUI-48 intf id 0xFF RESERVED by IEEE/RAC Essentially, if TYPE=0xFE, TSE is treated as an extension of TSD. If TYPE=0xFF, TSE is treated as an extension of TYPE. Other values for TYPE (and hence, other interpretations of TSE, TSD) are reserved for future IANA use. This format conforms to all requirements specified in [EUI64] and supports encapsulation of EUI-48 interface identifiers in the manner described by that document. For example, an existing IANA EUI-48 format multicast address such as: 01-00-5E-01-02-03 would be written in the IANA EUI-64 format as: 01-00-5E-FF-FE-01-02-03 But, this proposed format also provides a special TYPE (0xFE) for embedding IPv4 addresses within the IANA 40-bit extension identifier. This special TYPE forms the basis for the ISATAP address format as described in the following sections. 4.3. ISATAP Address Construction Using the proposed IANA-specific method for interface identifier con- struction discussed in sections 4.1 and 4.2 (with TYPE=0xFE), and with reference to [ADDR], we can construct an ISATAP address as fol- lows: | 3| 13 | 8 | 24 | 16 | 8 | 8 | 8 | 8 | 32 bits | +--+-----+---+--------+--------+---+---+---+---+---+---+---+----+ |FP| TLA |RES| NLAlink-local, site-local or |SLA0000:5EFE |0x| 0x| 0x| 0x|IPv4 Address | | global unicast prefix |ID | | ID | ID | 00| 00| 5E| FE| of Endpoint|+--+-----+---+--------+--------+--------------------------------+ (NOTE: since ISATAP address interface identifiers are interpreted only within the local scopeofthe /64ISATAPprefix, we set the u/l bit in the least significant octet of the OUI to '0' to indicate local scope.) By way of example, an existing node with IPv4 address 140.173.129.8 might be assigned an IPv6 64-bit prefix of 3FFE:1a05:510:200::/64. We can then construct an ISATAP address for this node as: 3FFE:1a05:510:200:0:5EFE:8CAD:8108 or (perhaps more appropriately) written as the alternative form for an IPv6 address with embedded IPv4 address found in [ADDR]: 3FFE:1a05:510:200:0:5EFE:140.173.129.8 Similarly, we can construct the link-locallink | +------------------------------+---------------+----------------+ Link-local, site-local, andsite-local variants (respectively) of the ISATAP address as: FE80::0:5EFE:140.173.129.8 FEC0::200:0:5EFE:140.173.129.8 4.4. Advantages By embedding an IPv4 address in the interface identifier portion of an IPv6 address as described in section 4.3, we can construct aggre- gatableglobalunicast IPv6ISATAP addressesthat can either be routed glo- bally via the IPv6 infrastructurecan be created exactly as specified in [ADDR], (e.g., by auto-configuration [AUTO] orautomatically tunneled locally across portions of a site's IPv4 infrastructure which have no nativemanual configuration). For example, the IPv6support. Additionally,address: 3FFE:1a05:510:1111:0:5EFE:8CAD:8108 has anode with bothprefix of '3FFE:1a05:510:1111::/64' and an ISATAPlinkformat inter- face identifier with embedded IPv4 address: '140.173.129.8'. The address is alternately written as: 3FFE:1a05:510:1111:0:5EFE:140.173.129.8 The link-local anda native IPv6 link could act as a router for nodes that share its native link, since thesite-local variants (respectively) are: FE80::0:5EFE:140.173.129.8 FEC0::1111:0:5EFE:140.173.129.8 4.3. ISATAP Link/Interface Configuration A nodecould automatically tunnel mes- sages across a site'sconfigures an ISATAP link over one or more underlying IPv4domain on behalf oflinks, i.e., thenative IPv6 nodes. An example wouldISATAP link MAY bedeployment of IPv6 on a workgroup LAN. In this case,configured over onehost couldor more link-layer (IPv4) addresses. Each link-layer address 'V4ADDR_LINK' is used to configure a link-local address 'FE80::0:5EFE:V4ADDR_LINK' on an ISATAPaddress and actinterface. ISATAP interfaces MAY be assigned one per link- layer address, or as aroutersingle interface forother hosts which use native IPv6 addresses onmultiple link-layer addresses. In theLAN. An additional advantage for our proposed method of embedding an IPv4 address informer case, theinterface identifier portion of an IPv6addressnot found in other approaches such as [6TO4] is that large numbersof each ISATAPaddresses couldinterface SHOULD beassigned within a common IPv6 routing pre- fix, thus providing maximal aggregation atadded to theborder gateways. For example,Potential Routers List. In thesingle 64-bit IPv6 prefix: 3FFE:1a05:510:2412::/64 could include literally millions of nodes withlatter case, the inter- face will accept ISATAPaddresses. This feature would allow a "sparse mode" IPv6 deployment suchpackets addressed to any of the IPv4 link- layer addresses, but will choose one as its primary address, used for sourcing packets. Only this address need be represented in thedeployment of sparse populations ofPoten- tial Routers List. 4.4. Sending Rules and Address Mapping The IPv6hostsnext-hop address for packets sent onlarge numbers of independent links throughout a large corporate Intranet. A final important advantage is that this method supports both sitesan ISATAP link MUST be an ISATAP address. Packets thatuse globally unique IPv4 address assignmentsdo not satisfy this constraint MUST be discarded andthose that use non-globally unique IPv4 addresses, such as when private address assignments and/or Network Address Translationan ICMP destination unreachable indication with code 3 (Address Unreachable) [ICMPv6] MUST be returned. No other sending rules areused. By way of analogy to the US Postal system, inter-domain transition approaches such as [6TO4] provide meansnecessary. The procedure forrouting messages "cross-country"mapping unicast addresses into link-layer addresses is to simply treat the"street address"last four octets ofa distant site while the approach outlined in this document provides localized routing information to reach a specific (mailstop, apartment number, post office box, etc) WITHIN that site. Thus, the site-level routing information need not have relevance outsidethescope of that site. 5.ISATAPDeployment Considerations Hosts should only useaddress as an IPv4 address (in network byte order). No multicast address mappings are specified. 4.5. Validity Checks for Received Packets ISATAPoninterfaceswhichMUST silently discard any received packets that do notshare a com- mon link withsatisfy ONE OF the following validity checks: - the network-layer (IPv6) source address has anative IPv6 router. Routers may configure bothprefix configured on the ISATAP interface andNative IPv6 links onan ISATAP-format interface identifier that embeds thesame physical interface, butlink-layer (IPv4) source address, i.e., source is on-link - thepre- fixes used will be distinct. Anlink-layer (IPv4) source address is in the Potential Routers List (see section 5.2), i.e., previous hop is an on-link ISATAP routercan5. Neighbor Discovery for ISATAP Links Section 3.2 of [DISC] ("Supported Link Types") provides the following guidelines for non-broadcast multiple access (NBMA) link support: "Redirect, Neighbor Unreachability Detection and next-hop determi- nation should beconfiguredimplemented as described in this document. Address resolution and the mechanism for delivering Router Solicitations and Advertisements onanyNBMA links is not specified in this docu- ment." ISATAPlink to advertiselinks SHOULD implement Redirect, Neighbor Unreachability Detection, and next-hop determination exactly as specified in [DISC]. Address resolution and theprefix(es) administratively assigned tomechanisms for delivering Router Solicita- tions and Advertisements for ISATAP links are not specified by [DISC]; instead, they are specified in this document. (Note thatlink. Sincethese mechanisms MAY potentially apply to other types of NBMA links in the future.) 5.1. Address Resolution Protocol addresses (IPv6) in ISATAPis NBMA, these advertisementsarenot periodically multicastresolved to link-layer addresses (IPv4) by a static computation, i.e., therouter, butlast four octets aresolicited by Rtsols sent by hosts. Hosts will configuretreated as anISATAP pseudo-interface and assign it address(es) based onIPv4 address. Thus theISATAP prefix(es) infunctions and conceptual data structures used by [DISC] for thesolicited Rtadv messages. Following ISATAPpurpose of addressconfiguration, ISATAP hosts communicateresolution are not required. The conceptual "neighbor cache" described in [DISC] is still needed for other functions, such asregular IPv6 peers.neighbor unreachability detection, but it is not used for address resolution. Thesourcelink-layer addressof such packets will beoption used inISATAP format. Replies sent to this[DISC] is not needed. Implemen- tations SHOULD NOT send link-layer addresscan thus be automatically tunneled over the last IPv6 hop,options in any Neighbor Discovery packets, and MUST silently ignore any such options in Neighbor Discovery packets whichoccurs on the ISATAP network. While nodes may optionally use stateful configuration to set an ISA- TAP prefixare received. 5.2. Router anda "default" route that points to an ISATAP router, a greatly preferred alternativePrefix Discovery Since the site's IPv4 infrastructure istotreated as an NBMA link layer, unsolicited Router Advertisements do not providefor automatic intra-site IPv6 router discovery and stateless address autoconfiguration [DIS- CUSS]. The following section presents asufficient means forthe automaticrouter discoveryofon ISATAProuters. 5.1. Automatic Discovery oflinks. Thus, alternate mechan- isms are required and specified below: 5.2.1. Conceptual Data Structures ISATAPRouters As describednodes use the Prefix List and Default Router List conceptual data structures exactly as specified in[AUTO], a node that does not share[DISC,5.1]. ISATAP links add acommon link with an IPv6 router will NOT receive unsolicited Router Advertisements (Rtadv's), nor willnew conceptual data structure "Potential RouterSolicitations (Rtsol's) from that node reach an IPv6 router on the local link. But, the node may still be able to connect to the global IPv6 Internet if an ISATAP router forList" and thesite exists. Hence, a means for ISATAP router discoveryfol- lowing new configuration variable: ResolveInterval Time between name service resolutions. Default and suggested minimum: 1hr A Potential Router List (PRL) isrequired. We present the following procedure for a node to initiateassociated with every ISATAP link. The PRL provides context for router discovery(andand a trust basis for router validation (see security considerations). Each entry in the PRL has an IPv4 address and an associated timer used for polling. The IPv4 address represents a router's ISATAProuterinterface (likely torespond) whenbe anon-link IPv6 router"advertising interface"), and isnot available: - The node constructs anused to construct the ISATAPlinklink- local address foritself (as described in section 4.) as: FE80::0:5EFE:V4ADDR_NODE - The node discoversthat interface. When theIPv4 address for an ISATAP router as: V4ADDR_RTR (**) - Thenodesendsenables anRtsol toISATAP link, it initializes theIPv6 "all-routers-multicast" address tunneledPRL with IPv4 addresses discovered through name service lookups for theIPv4 infrastructureWell- Known Service name "ISATAP" (see "IANA Considerations"). Nodes periodically repeat this process after ResolveInterval to detect additions/deletions for theISATAP router'sPRL. Initialization of the PRL through static IPv4address. The addresses usedaddress assignments and/or an alternate name for lookups is a supported configuration option, but the method described above is preferred. 5.2.2. Validation of Router Advertisement Messages A node MUST silently discard any received Router Advertisement mes- sages that do not satisfy the validity checks in [DISC,6.1.2] as well as theIPv6 and IPv4 headers are: ipv6_src: FE80::0:5EFE:V4ADDR_NODE ipv6_dst: FF02::2 ipv4_src: V4ADDR_NODE ipv4_dst: V4ADDR_RTRfollowing additional validity check for ISATAP: -Upon receivingthetunneled Rtsol,network-layer (IPv6) source address is from the PRL 5.2.3. Router Specification Advertising ISATAP interfaces of routers behave the same as advertis- ing interfaces described in [DISC,6.2]. However, periodic unsolicited multicast Router Advertisements are not required, thus the "interval timer" associated with advertising interfaces is not used for that purpose. When an ISATAP routersendsreceives a valid Router Solicitation on an advertising ISATAP interface, it replies with a unicastRtadvRouter Adver- tisement to theunicastaddress of the node which sent theRtsol; again,Router Solicita- tion. The source address of the Router Advertisement is a link-local unicast address associated with the interface. This MAY be the same as the destination address of the Router Solicitation. By default, ISATAP routers will not receive Router Advertisements from other ISATAP routers. Thus, Router Advertisement consistency verification [DISC,6.2.7] is not supported bytunnelingdefault. Routers MAY OPTIONALLY engage in theRtadv through IPv4. The addresses usedexchange of router advertisements with other members of the PRL to enable this function. 5.2.4. Host Specification Hosts periodically poll each entry in theIPv6 andPRL ("PRL(i)") by sending unicast Router Solicitation messages using the IPv4headers are: ipv6_src: FE80::0:5EFE:V4ADDR_RTR ipv6_dst: FE80::0:5EFE:V4ADDR_NODE ipv4_src: V4ADDR_RTR ipv4_dst: V4ADDR_NODE - Upon receivingaddress ("V4ADDR_PRL(i)") and associated timer in the entry. Hosts add theRtsol,following variable to support theoriginating node performs address autoconfiguration as described in [AUTO]polling process: MinRouterSolicitInterval Minimum time between sending Router Solicitations to any router. Default andconstructs: - a fully-qualified ISATAP address for use as the source address for an ISATAP pseudo-interface - a default route that pointssuggested minimum: 15min When PRL(i) is first added to theISATAP router Note (**) thatlist, theabove procedure assumeshost sets its associated timer to MinRouterSolicitInterval. Entries are polled when they are created (following ameans for discovering V4ADDR_RTR. We present two alternative methodsshort delay as for initial solicitations [ND,6.3.7]), and when theautomatic discoveryassociated timer expires. Polling consists ofV4ADDR_RTR: 5.2. DNS Well-Known Service Name The first method for discovering V4ADDR_RTR employs a new DNS Well- Known Service (WKS) name [DNS1,DNS2]. Withsending Router Solicitations to theestablishment of a new well-known service name (e.g. "ISATAPGW"), administrators could pub- lishISATAP link- local address constructed from the entry's IPv4address of a gateway which implementations could useaddress, i.e., they are sent todiscover V4ADDR_RTR. This method has'FE80::0:5EFE:V4ADDR_PRL(i)' instead of 'All-Routers mul- ticast'. They are otherwise sent in the same manner described in [DISC,6.3.7]. When theadvantagehost receives a valid Router Advertisement (i.e., one thatit can be deployed immediately using existing mechanisms. However, it requires name service lookupssatisfies the validity checks in sections 4.5 andmay not always provide5.2.2) it processes them in theoptimum V4ADDR_RTR resolution for isolated hosts if multiple ISATAP routers are available. 5.3. IPv4 Anycast for ISATAP routers [6TO4ANY] proposes an IPv4 anycast prefix for 6to4 relay routers.same manner described in [DISC,6.3.4]. Theproposal suggests an IPv4 prefix assignment '192.88.99.0/24' wherehost addition- ally resets thesingletimer associated with the PRL entry that matches the network-layer source address'192.88.99.1' is assigned asin the"6to4 IPv6 relay anycast address". We propose analogous assignments forRouter Advertisement. The timer is reset to either 0.5 * (the minimum value in thepur- pose of an "ISATAProuteranycast address". (Whether the reservationlifetime or valid lifetime ofa second /32 assignment from the 6to4 IPv4 anycast prefix proposed in [6TO4ANY] would be possible,any on-link prefixes advertised) ora separate prefix assignment would be requiredMinRouterSoli- citInterval; whichever isa matter of debatelonger. 6. ISATAP Deployment Considerations 6.1. Host And Router Deployment Considerations For hosts, if an underlying link supports both IPv4 (over which ISA- TAP is implemented) andTBD.)also supports IPv6 natively, then ISATAProuters would advertiseMAY be enabled if theISATAPnative IPv6 layer does not receive Router Adver- tisements (i.e., does not have connection with an IPv6 router). After a non-link-local address has been configured and a default routeranycast prefix viaacquired on theintra-domain IPv4 routing infrastructure. Isolated IPv6 nodes would then usenative link, the host MAY discontinue the 'Router Polling Process' process specified in section 5.2.4 and allow exist- ing ISATAProuter anycastaddress configurations to expire as specified in [DISC,5.3][AUTO,5.5.4]. In this way, ISATAP use will gradually dimin- ish as IPv6 routers are widely deployed throughout theV4ADDR_RTR IPv4 destination for off-link Rtsol's. This approach hassite. Routers MAY configure a native link to simultaneously support both native IPv6, and also ISATAP (over IPv4). Routing will operate as usual between these two domains. Note that thesignifi- cant advantages that: - implementations could hard-codeprefixes used on thewell-knownISATAPanycast address, thus avoiding service discovery via DNS - an optimum path toand native IPv6 interfaces will be distinct. When an ISATAP routerwould be ensured by intra-domain IPv4 routing As described above,is configured, the IPv4anycast methodaddress used forlocatingits ISATAProuters provides significant functional advantages over the DNS approach, while the DNS approach caninterface SHOULD beimplemented immediately pend- ingadded (either automatically or manually) to theregistration of a WKSsite's namewith IANA. While either methodservice records for the "ISATAP" Well-Known Ser- vice name (e.g., by adding an A record in DNS), so it willwork,be added to thedecisionISATAP Potential Router list ofwhich to push for standardization is TBD pending discussion at upcoming NGTRANS WG meetings. 6. Sending Rules and Routingall nodes on the link. 6.2. Site Administration ConsiderationsSince each node will be assigned one or moreThe following considerations are noted for sites that deploy ISATAP: - ISATAPprefixes whichlinks are administrativelyreserved for use ONLYdefined by a set of router interfaces, and set of nodes which have those interface addresses in their potential router lists. Thus, ISATAPnodes, no spe- cial sending ruleslinks areneeded.defined by administrative (not physical) boundaries. - ISATAP hosts and routers can be deployed in an ad-hoc and independent fashion. In particular,correspondent nodes that share a commonISATAPprefix will always exchange messages using theirhosts can be deployed with little/no advanced knowledge of existing ISATAPpseudo-interfaces, whereas nodes that do not share a commonrouters, and ISATAPprefix will always exchange messages via standard IPv6 routing. When sending a message on anrouters can deployed with no reconfiguration requirements for hosts. - ISATAPpseudo-interface, an implementation SHOULD verify thatnodes periodically send Router Solicitations to all entries in theIPv6 next-hop address employsPotential Router List. Worst-case control traffic is on theISATAP address construction rules described in section 4 inorderto detect mis-configured addresses. No other sending rules are neces- sary. 7. Address Selection No special address selection rules are necessary. 8. Automatic Deprecationof (M x N), where 'M' is the number of routers in the Potential Router List and 'N' is the total number of nodes on the ISATAPaddresses are intendedlink. The MinRouterSolicitInterval of 15min bounds control traffic foruse only bylarge numbers of nodeswhich do not receive native IPv6 Rtadv's due to not sharing a common linkeven in worst-case scenarios. - Strategic site administration, along withan IPv6 router. When native IPv6 Rtadv's become available (such as when an IPv6robust host and routeris deployed on a node's link), the node should con- structimplementations, can provide significant reductions in control traffic. At anon-ISATAP aggregatable global IPv6 unicast address using address auto-configuration [AUTO]minimum, site administrators SHOULD ensure that name service records fora non-ISATAP IPv6 prefix discovered through normal means [DISC]. Afterthenode's native IPv6 address is populated"ISATAP" Well-Known Service name are well maintained, and represent valid ISATAP routers. 7. IANA considerations We propose that IANA adopt the interface identifier construction specified in section 4.1 for theDNS,existing IANA IEEE OUI registration ('00-00-5E'). Additionally, we request that thenode should eventually cease sending Rtsol's toname "ISATAP" be reserved in theISATAP routerIANA "Protocol anddiscontinue use of its ISA- TAP pseudo-interface.Service Names" assigned numbers document. 8. Security considerations Site administrators are advised that, in addition to possible attacks against IPv6, security attacks against IPv4 MUST also be considered. Many security considerations in [6OVER4,9] apply also to ISATAP. Responsible IPv4 site security management is strongly encouraged. Inthis way, ISATAPparticular, border gateways SHOULD implement filtering to detect spoofed IPv4 source addresseswill gradually (and automatically) disappear as IPv6 routers are widely deployed within sites. 9. Multicast Considerations Other worksat a minimum; ip-protocol-41 filtering SHOULD also be implemented. If IPv4 source address filtering is not correctly implemented, the validity checks inprogress [6TO4MULTI] are currently investigating mul- ticast addressing issuessection 4.7 will not be effective in preventing IPv6 source address spoofing. If filtering for[6TO4]. Theip-protocol-41 is not correctly implemented, IPv6 source addressformat discussed in this documentspoofing isexpected toclearly possible, but this can becompatible with those emerging approaches. 10. IANA considerations In order to support the EUI-64elim- inated if both IPv4 source addressform described in this docu- ment, we propose that IANA adoptfiltering, and theEUI-64 Interface Identifier for- mat specifiedvalidity checks in section4.2 for the existing 00-00-5E OUI owned by IANA. No other actions4.7 arerequiredimplemented. [DISC,6.1.2] implies that nodes trust Router Advertisements they receive from on-link routers, as indicated by a value of 255 in theIANA. 11. Security considerationsIPv6 'hop-limit' field. Since this field is not decremented when ip- protocol-41 packets traverse multiple IPv4 hops [MECH,3.3], ISATAP links require a different trust model. In particular, ONLY those Router Advertisements received from a member of the Potential Routers List are trusted; all others are silently discarded (see section 5.2.2). This trust model is predicated on IPv4 source address filter- ing, as described above. The ISATAP address format does not support privacy extensions for stateless address autoconfiguration [PRIVACY]. However,such privacy extensions are intended primarily to avoid revealing one's MAC address, andsince the ISATAPaddress format described in this document accomplishes this same goal. Additional security issues are called out in [6TO4] and probably apply here as well. 12. Implementation status The author has implemented the mechanisms described in this draft through modifications tointerface identifier is derived from theFreeBSD 3.2-RELEASE [FBSD] operating system withnode's IPv4 address, ISATAP addresses do not have theINRIA [INRIA] IPv6 distribution. Assame level ofNovember 12, 2001, a Linux implementation is now integrated inprivacy concerns as IPv6 addresses that use an interface identifier derived from theUSAGI Linux distribution [USAGI]. Additionally, Windows XP RC1 will implement elementsMAC address. Acknowledgements Some of themechanism proposed in this paper. Acknowledgements The originalideas presented in this draft were derived from work at SRIcon- tractual work. The author recognizes that ideas similar to those in this document may have already been presented by otherswith internal funds andwishes to acknowledge any other such authors. The author also wishes to ack- nowledge the government contract administratorscontractual support. Government sponsors whosponsoredsupported theprojectswork include Monica Farah-Stapleton and Russell Langan fromwhich these works derived as well as his SRI colleagues with whom he has discussedU.S. Army CECOM ASEO, andreviewed this work, including Monica Farah-Stapleton,Dr. Allen Moshfegh from U.S. Office of Naval Research. Within SRI, Dr. Mike Frankel, J. PeterMarcotullio,Mar- cotullio, LouRodri- guez,Rodriguez, and Dr. Ambatipudi Sastry supported the work and helped foster early interest. The following peer reviewers are acknowledged for taking the time to review a pre-release of this document andDr.provide input: Jim Bound, Rich Draves, Cyndi Jung, AmbatipudiSastry.Sastry, Aaron Schrader, Ole Troan, Vlad Yasevich. Theauthor acknowledges valuable input from numerousauthors acknowledge members of the NGTRANS communitywhich has helped guide the direction of the draft. The list of contributors is too long to enumerate, but the input from the community has been vitalwho have made significant contributions tothe draft's evolution. Alain Durand deserves special mention for contributing the title ofthisdraft and the ISATAP acronym. Additionally, Tim Gleenson andeffort, including Rich Draves, Alain Durand, NathanLutchansky numerous helpful suggestions for improvement. The author finally wishes to provide special acknowledgement to Dave Thaler,Lutchansky, Art Shelest,Richard Draves,Margaret Wasserman, andothers at Microsoft Research for their ideas on automatic discovery of off-link IPv6 routers. Much ofBrian Zill. Finally, thetextauthors recognize that ideas similar to those insection on deployment considerations derives directly from discussions with Dave, Art, Richthis document may have already been presented by others andothers.wish to ack- nowledge any other such contributions. Normative References [ADDR] Hinden, R., and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998. (Pending approval of "addr-arch-v3"). [AGGR] Hinden., R, O'Dell, M., and Deering, S., "An IPv6 Aggregatable Global Unicast Address Format", RFC 2374, July 1998.[ADDR] Hinden, R., and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998.[AUTO] Thomson, S., and T. Narten, "IPv6 Stateless Address Autoconfiguration", RFC 2462, December 1998. [DISC] Narten, T., Nordmark, E., and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998.[DNS1] Mockapetris, P. "Domain names - concepts and facilities", STD 13, RFC 1034, November 1987. [DNS2] Mockapetris, P. "Domain names - Implementation and Specif- ication", STD 13, RFC 1035, November 1987. [DNSSRV] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000.[EUI64] IEEE, "Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority", http://standards.ieee.org/regauth/oui/tutorials/EUI64.html, March1997 [IANA] Reynolds, J.,1997. [ICMPv6] Conta, A. andJ. Postel, "Assigned Numbers", STD 2, USC/Information Sciences Institute, October 1994.S. Deering, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 2463, December 1998. [IPV4] Postel, J., "Internet Protocol", RFC791791. [IPV6] Deering, S., and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC2460 [6TO4] Carpenter, B., and K. Moore, "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001. [6TO4ANY] Huitema, C., "An anycast prefix for 6to4 relay routers", RFC 3068, June 2001. [6TO4MULTI] Thaler, D., "Support for Multicast over 6to4 Networks", draft-ietf-ngtrans-6to4-multicast-00.txt (work in pro- gress)2460. [MECH] Gilligan, R., and E. Nordmark, "Transition Mechanisms for IPv6 Hosts and Routers", RFC 2893, August 2000.[SELECT] Draves, R., Default Address Selection for IPv6, draft- ietf- ipngwg-default-addr-select-06.txt (work in progress) [FBSD] http://www.freebsd.org [USAGI] http://www.linux-ipv6.org [INRIA] ftp://ftp.inria.fr/network/ipv6/ [6BONE] Rockell, R.,[NAT] Egevang, K., andR. Fink,P. Francis, "The IP Network Address Translator (NAT)", RFC2772, February 2000.1631, May 1994. [PRIVATE] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot,G. J.,G., and E. Lear, "Address Allocation for Private Internets", RFC1918,1918, February 1996. Informative References [6OVER4] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4 Domains without Explicit Tunnels", RFC 2529. [6TO4] Carpenter, B., and K. Moore, "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February1996.2001. [IANA] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, USC/Information Sciences Institute, October 1994. [PRIVACY] Narten, T., R. Draves, "Privacy Extensions for Stateless Address Autoconfiguration in IPv6", RFC 3041, January 2001.[NAT] Egevang, K., and P. Francis, "The IP Network Address Translator (NAT)", RFC 1631, May 1994. [DISCUSS] private discussions with Dave Thaler, Art Shelest, et al.Authors Addresses Fred L. Templin SRI International 333 Ravenswood Ave. Menlo Park, CA 94025, USA Phone: (650)-859-3144 Email: templin@erg.sri.com Tim Gleeson Cisco Systems K.K. Shinjuku Mitsu Building 2-1-1 Nishishinjuku, Shinjuku-ku Tokyo 163-0409, JAPAN email: tgleeson@cisco.com Mohit Talwar Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 Phone: +1 425 705 3131 EMail: mohitt@microsoft.com Dave Thaler Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 Phone: +1 425 703 8835 EMail: dthaler@microsoft.com APPENDIX A: Major Changes changes from version 02 to version 03: - Added contributing co-authors - RSs are now sent to unicast addresses rather than all-routers-multicast - Brought draft into better alignment with other IPv6 standards-track documents - Added applicability statement changes from version 01 to version 02: - Cleaned up text and tightened up terminology. Changed "IPv6 destination address" to "IPv6 next-hop address" under "sending rules". Changed definition of ISATAP prefix to include link and site-local. Changed language in sections 4 and 5 changes from version 00 to version 01: - Revised draft to require different /64 prefixs for ISATAP addresses and native IPv6 addresses. Thus, a node's ISATAP interface is assigned a /64 prefix that is distinct from the prefixes assigned to any other interfaces attached to the node - be they physical or logical interfaces. This approach eliminates ISATAP-specific sending rules presented in earlier draft versions. - Changed sense of 'u/l' bit in the ISATAP address interface identifier to indicate "local scope", since ISATAP interface identifiers are unique only within the scope of the ISATAP prefix. (See section 4.) changes from personal draft to version 00: - Title change to provide higher-level description of field of use addressed by this draft. Removed other extraneous text. - Major new section on automatic discovery of off-link IPv6 routers when IPv6-IPv4 compatibility addresses are used. Intellectual Property The IETF has been notified of intellectual property rights claimed in regard to some or all of the specification contained in this docu- ment. For more information consult the online list of claimed rights.