Difference between revisions of "RFC4214"

From RFC-Wiki
 
Line 10: Line 10:
 
     Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)
 
     Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)
  
Status of This Memo
+
'''Status of This Memo'''
  
 
This memo defines an Experimental Protocol for the Internet
 
This memo defines an Experimental Protocol for the Internet
Line 17: Line 17:
 
Distribution of this memo is unlimited.
 
Distribution of this memo is unlimited.
  
Copyright Notice
+
'''Copyright Notice'''
  
 
Copyright (C) The Internet Society (2005).
 
Copyright (C) The Internet Society (2005).
Line 33: Line 33:
 
document at its discretion.  Readers of this RFC should exercise
 
document at its discretion.  Readers of this RFC should exercise
 
caution in evaluating its value for implementation and deployment.
 
caution in evaluating its value for implementation and deployment.
See RFC 3932 for more information.
+
See [[RFC3932|RFC 3932]] for more information.
  
Abstract
+
'''Abstract'''
  
 
The Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) connects
 
The Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) connects
Line 55: Line 55:
 
ISATAP enables automatic tunneling whether global or private IPv4
 
ISATAP enables automatic tunneling whether global or private IPv4
 
addresses are used, and presents a Non-Broadcast Multiple Access
 
addresses are used, and presents a Non-Broadcast Multiple Access
(NBMA) abstraction similar to [RFC2491][RFC2492][RFC2529][RFC3056].
+
(NBMA) abstraction similar to [[RFC2491]][[RFC2492]][[RFC2529]][[RFC3056]].
  
 
The main objectives of this document are to: 1) describe the domain
 
The main objectives of this document are to: 1) describe the domain
Line 80: Line 80:
 
== Terminology ==
 
== Terminology ==
  
The terminology of [RFC2460][RFC2461] applies to this document.  The
+
The terminology of [[RFC2460]][[RFC2461]] applies to this document.  The
 
following additional terms are defined:
 
following additional terms are defined:
  
Line 134: Line 134:
  
 
ISATAP interface identifiers are constructed in Modified EUI-64
 
ISATAP interface identifiers are constructed in Modified EUI-64
format ([RFC3513], Section 2.5.1 and Appendix A) by concatenating the
+
format ([[RFC3513]], Section 2.5.1 and Appendix A) by concatenating the
 
24-bit IANA OUI (00-00-5E), the 8-bit hexadecimal value 0xFE, and a
 
24-bit IANA OUI (00-00-5E), the 8-bit hexadecimal value 0xFE, and a
 
32-bit IPv4 address in network byte order as follows:
 
32-bit IPv4 address in network byte order as follows:
Line 162: Line 162:
 
ISATAP interfaces form ISATAP interface identifiers from IPv4
 
ISATAP interfaces form ISATAP interface identifiers from IPv4
 
addresses in their locator set and use them to create link-local
 
addresses in their locator set and use them to create link-local
ISATAP addresses ([RFC2462], Section 5.3).
+
ISATAP addresses ([[RFC2462]], Section 5.3).
  
 
=== Multicast/Anycast ===
 
=== Multicast/Anycast ===
  
 
It is not possible to assume the general availability of wide-area
 
It is not possible to assume the general availability of wide-area
IPv4 multicast, so (unlike 6over4 [RFC2529]) ISATAP must assume that
+
IPv4 multicast, so (unlike 6over4 [[RFC2529]]) ISATAP must assume that
 
its underlying IPv4 carrier network only has unicast capability.
 
its underlying IPv4 carrier network only has unicast capability.
 
Support for IPv6 multicast over ISATAP interfaces is not described in
 
Support for IPv6 multicast over ISATAP interfaces is not described in
Line 191: Line 191:
 
ISATAP interfaces SHOULD process ARP failures and persistent ICMPv4
 
ISATAP interfaces SHOULD process ARP failures and persistent ICMPv4
 
errors as link-specific information indicating that a path to a
 
errors as link-specific information indicating that a path to a
neighbor may have failed ([RFC2461], Section 7.3.3).
+
neighbor may have failed ([[RFC2461]], Section 7.3.3).
  
 
=== Decapsulation ===
 
=== Decapsulation ===
Line 229: Line 229:
  
 
ISATAP interfaces use the neighbor discovery mechanisms specified in
 
ISATAP interfaces use the neighbor discovery mechanisms specified in
[RFC2461].  The following sub-sections describe specifications that
+
[[RFC2461]].  The following sub-sections describe specifications that
 
are also implemented.
 
are also implemented.
  
 
=== Conceptual Model of a Host ===
 
=== Conceptual Model of a Host ===
  
To the list of Conceptual Data Structures ([RFC2461], Section 5.1),
+
To the list of Conceptual Data Structures ([[RFC2461]], Section 5.1),
 
ISATAP interfaces add the following:
 
ISATAP interfaces add the following:
  
Line 246: Line 246:
  
 
Advertising ISATAP interfaces send Solicited Router Advertisement
 
Advertising ISATAP interfaces send Solicited Router Advertisement
messages as specified in ([RFC2461], Section 6.2.6) except that the
+
messages as specified in ([[RFC2461]], Section 6.2.6) except that the
 
messages are sent directly to the soliciting node; i.e., they might
 
messages are sent directly to the soliciting node; i.e., they might
 
not be received by other nodes on the link.
 
not be received by other nodes on the link.
Line 252: Line 252:
 
=== Router and Prefix Discovery - Host Specification ===
 
=== Router and Prefix Discovery - Host Specification ===
  
The Host Specification in ([RFC2461], Section 6.3) is used.  The
+
The Host Specification in ([[RFC2461]], Section 6.3) is used.  The
 
following sub-sections describe specifications added by ISATAP
 
following sub-sections describe specifications added by ISATAP
 
interfaces.
 
interfaces.
Line 258: Line 258:
 
==== Host Variables ====
 
==== Host Variables ====
  
To the list of host variables ([RFC2461], Section 6.3.2), ISATAP
+
To the list of host variables ([[RFC2461]], Section 6.3.2), ISATAP
 
interfaces add the following:
 
interfaces add the following:
  
Line 297: Line 297:
  
 
To the list of checks for validating Router Advertisement messages
 
To the list of checks for validating Router Advertisement messages
([RFC2461], Section 6.1.1), ISATAP interfaces add the following:
+
([[RFC2461]], Section 6.1.1), ISATAP interfaces add the following:
  
 
   -  IP Source Address is a link-local ISATAP address that embeds
 
   -  IP Source Address is a link-local ISATAP address that embeds
Line 303: Line 303:
  
 
Valid Router Advertisements received on an ISATAP interface are
 
Valid Router Advertisements received on an ISATAP interface are
processed as specified in ([RFC2461], Section 6.3.4).
+
processed as specified in ([[RFC2461]], Section 6.3.4).
  
 
==== Sending Router Solicitations ====
 
==== Sending Router Solicitations ====
  
 
To the list of events after which Router Solicitation messages may be
 
To the list of events after which Router Solicitation messages may be
sent ([RFC2461], Section 6.3.7), ISATAP interfaces add the following:
+
sent ([[RFC2461]], Section 6.3.7), ISATAP interfaces add the following:
  
 
   -  TIMER(i) for some PRL(i) expires.
 
   -  TIMER(i) for some PRL(i) expires.
Line 326: Line 326:
  
 
When TIMER(i) expires, the node sends Router Solicitation messages as
 
When TIMER(i) expires, the node sends Router Solicitation messages as
specified in ([RFC2461], Section 6.3.7) except that the messages are
+
specified in ([[RFC2461]], Section 6.3.7) except that the messages are
 
sent directly to PRL(i); i.e., they might not be received by other
 
sent directly to PRL(i); i.e., they might not be received by other
 
routers.  While the node continues to require periodic Router
 
routers.  While the node continues to require periodic Router
Line 336: Line 336:
 
=== Neighbor Unreachability Detection ===
 
=== Neighbor Unreachability Detection ===
  
Hosts SHOULD perform Neighbor Unreachability Detection ([RFC2461],
+
Hosts SHOULD perform Neighbor Unreachability Detection ([[RFC2461]],
 
Section 7.3).  Routers MAY perform neighbor unreachability detection,
 
Section 7.3).  Routers MAY perform neighbor unreachability detection,
 
but this might not scale in all environments.
 
but this might not scale in all environments.
Line 375: Line 375:
  
 
The threats associated with IPv6 Neighbor Discovery are described in
 
The threats associated with IPv6 Neighbor Discovery are described in
[RFC3756].
+
[[RFC3756]].
  
 
There is a possible spoofing attack in which spurious ip-protocol-41
 
There is a possible spoofing attack in which spurious ip-protocol-41
Line 392: Line 392:
 
(see Section 9) cannot be subverted.
 
(see Section 9) cannot be subverted.
  
The use of temporary addresses [RFC3041] and Cryptographically
+
The use of temporary addresses [[RFC3041]] and Cryptographically
 
Generated Addresses [CGA] on ISATAP interfaces is outside the scope
 
Generated Addresses [CGA] on ISATAP interfaces is outside the scope
 
of this specification.
 
of this specification.
Line 399: Line 399:
  
 
The IANA has specified the format for Modified EUI-64 address
 
The IANA has specified the format for Modified EUI-64 address
construction ([RFC3513], Appendix A) in the IANA Ethernet Address
+
construction ([[RFC3513]], Appendix A) in the IANA Ethernet Address
 
Block.  The text in Appendix A of this document has been offered as
 
Block.  The text in Appendix A of this document has been offered as
 
an example specification.  The current version of the IANA registry
 
an example specification.  The current version of the IANA registry
Line 434: Line 434:
 
           Block
 
           Block
  
Modified EUI-64 addresses ([RFC3513], Section 2.5.1 and Appendix A)
+
Modified EUI-64 addresses ([[RFC3513]], Section 2.5.1 and Appendix A)
 
in the IANA Ethernet Address Block are formed by concatenating the
 
in the IANA Ethernet Address Block are formed by concatenating the
 
24-bit IANA OUI (00-00-5E) with a 40-bit extension identifier and
 
24-bit IANA OUI (00-00-5E) with a 40-bit extension identifier and
Line 467: Line 467:
  
 
[BCP14]    Bradner, S., "Key words for use in RFCs to Indicate
 
[BCP14]    Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.
+
           Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997.
  
 
[STD13]    Mockapetris, P., "Domain names - implementation and
 
[STD13]    Mockapetris, P., "Domain names - implementation and
           specification", STD 13, RFC 1035, November 1987.
+
           specification", [[STD13|STD 13]], [[RFC1035|RFC 1035]], November 1987.
  
[RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
+
[[RFC2460]]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
           (IPv6) Specification", RFC 2460, December 1998.
+
           (IPv6) Specification", [[RFC2460|RFC 2460]], December 1998.
  
[RFC2461]  Narten, T., Nordmark, E., and W. Simpson, "Neighbor
+
[[RFC2461]]  Narten, T., Nordmark, E., and W. Simpson, "Neighbor
           Discovery for IP Version 6 (IPv6)", RFC 2461, December
+
           Discovery for IP Version 6 (IPv6)", [[RFC2461|RFC 2461]], December
 
           1998.
 
           1998.
  
[RFC2462]  Thomson, S. and T. Narten, "IPv6 Stateless Address
+
[[RFC2462]]  Thomson, S. and T. Narten, "IPv6 Stateless Address
           Autoconfiguration", RFC 2462, December 1998.
+
           Autoconfiguration", [[RFC2462|RFC 2462]], December 1998.
  
[RFC3513]  Hinden, R. and S. Deering, "Internet Protocol Version 6
+
[[RFC3513]]  Hinden, R. and S. Deering, "Internet Protocol Version 6
           (IPv6) Addressing Architecture", RFC 3513, April 2003.
+
           (IPv6) Addressing Architecture", [[RFC3513|RFC 3513]], April 2003.
  
 
[MECH]    Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
 
[MECH]    Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
           for IPv6 Hosts and Routers", RFC 4213, October 2005.
+
           for IPv6 Hosts and Routers", [[RFC4213|RFC 4213]], October 2005.
  
 
Informative References
 
Informative References
  
[RFC2491]  Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6
+
[[RFC2491]]  Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6
 
           over Non-Broadcast Multiple Access (NBMA) networks", RFC
 
           over Non-Broadcast Multiple Access (NBMA) networks", RFC
 
           2491, January 1999.
 
           2491, January 1999.
  
[RFC2492]  Armitage, G., Schulter, P., and M. Jork, "IPv6 over ATM
+
[[RFC2492]]  Armitage, G., Schulter, P., and M. Jork, "IPv6 over ATM
           Networks", RFC 2492, January 1999.
+
           Networks", [[RFC2492|RFC 2492]], January 1999.
  
[RFC2529]  Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
+
[[RFC2529]]  Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
           Domains without Explicit Tunnels", RFC 2529, March 1999.
+
           Domains without Explicit Tunnels", [[RFC2529|RFC 2529]], March 1999.
  
[RFC3041]  Narten, T. and R. Draves, "Privacy Extensions for
+
[[RFC3041]]  Narten, T. and R. Draves, "Privacy Extensions for
           Stateless Address Autoconfiguration in IPv6", RFC 3041,
+
           Stateless Address Autoconfiguration in IPv6", [[RFC3041|RFC 3041]],
 
           January 2001.
 
           January 2001.
  
[RFC3056]  Carpenter, B. and K. Moore, "Connection of IPv6 Domains
+
[[RFC3056]]  Carpenter, B. and K. Moore, "Connection of IPv6 Domains
           via IPv4 Clouds", RFC 3056, February 2001.
+
           via IPv4 Clouds", [[RFC3056|RFC 3056]], February 2001.
  
[RFC3756]  Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor
+
[[RFC3756]]  Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor
           Discovery (ND) Trust Models and Threats", RFC 3756, May
+
           Discovery (ND) Trust Models and Threats", [[RFC3756|RFC 3756]], May
 
           2004.
 
           2004.
  
 
[CGA]      Aura, T., "Cryptographically Generated Addresses (CGA)",
 
[CGA]      Aura, T., "Cryptographically Generated Addresses (CGA)",
           RFC 3972, March 2005.
+
           [[RFC3972|RFC 3972]], March 2005.
  
 
[DEFLT]    Draves, R. and D. Thaler, "Default Router Preferences and
 
[DEFLT]    Draves, R. and D. Thaler, "Default Router Preferences and
Line 562: Line 562:
  
 
This document is subject to the rights, licenses and restrictions
 
This document is subject to the rights, licenses and restrictions
contained in BCP 78 and at www.rfc-editor.org/copyright.html, and
+
contained in [[BCP78|BCP 78]] and at www.rfc-editor.org/copyright.html, and
 
except as set forth therein, the authors retain all their rights.
 
except as set forth therein, the authors retain all their rights.
  
Line 582: Line 582:
 
made any independent effort to identify any such rights.  Information
 
made any independent effort to identify any such rights.  Information
 
on the procedures with respect to rights in RFC documents can be
 
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
+
found in [[BCP78|BCP 78]] and [[BCP79|BCP 79]].
  
 
Copies of IPR disclosures made to the IETF Secretariat and any
 
Copies of IPR disclosures made to the IETF Secretariat and any
Line 601: Line 601:
 
Funding for the RFC Editor function is currently provided by the
 
Funding for the RFC Editor function is currently provided by the
 
Internet Society.
 
Internet Society.
 +
 +
[[Category:Experimental]]

Latest revision as of 17:11, 4 October 2020

Network Working Group F. Templin Request for Comments: 4214 Nokia Category: Experimental T. Gleeson

                                                  Cisco Systems K.K.
                                                           M. Talwar
                                                           D. Thaler
                                               Microsoft Corporation
                                                        October 2005
    Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)

Status of This Memo

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (2005).

IESG Note

The content of this RFC was at one time considered by the IETF, and therefore it may resemble a current IETF work in progress or a published IETF work. This RFC is not a candidate for any level of Internet Standard. The IETF disclaims any knowledge of the fitness of this RFC for any purpose, and in particular notes that the decision to publish is not based on IETF review for such things as security, congestion control or inappropriate interaction with deployed protocols. The RFC Editor has chosen to publish this document at its discretion. Readers of this RFC should exercise caution in evaluating its value for implementation and deployment. See RFC 3932 for more information.

Abstract

The Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) connects IPv6 hosts/routers over IPv4 networks. ISATAP views the IPv4 network as a link layer for IPv6 and views other nodes on the network as potential IPv6 hosts/routers. ISATAP supports an automatic tunneling abstraction similar to the Non-Broadcast Multiple Access (NBMA) model.

Introduction

This document specifies a simple mechanism called the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) that connects IPv6 hosts/routers over IPv4 networks. Dual-stack (IPv6/IPv4) nodes use ISATAP to automatically tunnel IPv6 packets in IPv4, i.e., ISATAP views the IPv4 network as a link layer for IPv6 and views other nodes on the network as potential IPv6 hosts/routers.

ISATAP enables automatic tunneling whether global or private IPv4 addresses are used, and presents a Non-Broadcast Multiple Access (NBMA) abstraction similar to RFC2491RFC2492RFC2529RFC3056.

The main objectives of this document are to: 1) describe the domain of applicability, 2) specify addressing requirements, 3) specify automatic tunneling using ISATAP, 4) specify the operation of IPv6 Neighbor Discovery over ISATAP interfaces, and 5) discuss Site Administration, Security, and IANA considerations.

Requirements

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 [BCP14].

This document also uses internal conceptual variables to describe protocol behavior and external variables that an implementation must allow system administrators to change. The specific variable names, how their values change, and how their settings influence protocol behavior are provided in order to demonstrate protocol behavior. An implementation is not required to have them in the exact form described here, as long as its external behavior is consistent with that described in this document.

Terminology

The terminology of RFC2460RFC2461 applies to this document. The following additional terms are defined:

ISATAP node:

  A node that implements the specifications in this document.

ISATAP interface:

  An ISATAP node's Non-Broadcast Multi-Access (NBMA) IPv6 interface,
  used for automatic tunneling of IPv6 packets in IPv4.

ISATAP interface identifier:

  An IPv6 interface identifier with an embedded IPv4 address
  constructed as specified in Section 6.1.

ISATAP address:

  An IPv6 unicast address that matches an on-link prefix on an
  ISATAP interface of the node, and that includes an ISATAP
  interface identifier.

locator:

  An IPv4 address-to-interface mapping; i.e., a node's IPv4 address
  and its associated interface.

locator set:

  A set of locators associated with an ISATAP interface.  Each
  locator in the set belongs to the same site.

Domain of Applicability

The domain of applicability for this technical specification is automatic tunneling of IPv6 packets in IPv4 for ISATAP nodes within sites that observe the security considerations found in this document, including host-to-router, router-to-host, and host-to-host automatic tunneling in certain enterprise networks and 3GPP/3GPP2 wireless operator networks. (Other scenarios with a sufficient trust basis ensured by the mechanisms specified in this document also fall within this domain of applicability.)

Extensions to the above domain of applicability (e.g., by combining the mechanisms in this document with those in other technical specifications) are out of the scope of this document.

Node Requirements

ISATAP nodes observe the common functionality requirements for IPv6 nodes found in [NODEREQ] and the requirements for dual IP layer operation found in ([MECH], Section 2). They also implement the additional features specified in this document.

Addressing Requirements

ISATAP Interface Identifiers

ISATAP interface identifiers are constructed in Modified EUI-64 format (RFC3513, Section 2.5.1 and Appendix A) by concatenating the 24-bit IANA OUI (00-00-5E), the 8-bit hexadecimal value 0xFE, and a 32-bit IPv4 address in network byte order as follows:

|0 1|1 3|3 6| |0 5|6 1|2 3| +----------------+----------------+--------------------------------+ |000000ug00000000|0101111011111110|mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm| +----------------+----------------+--------------------------------+

When the IPv4 address is known to be globally unique, the "u" bit (universal/local) is set to 1; otherwise, the "u" bit is set to 0. "g" is the individual/group bit, and "m" are the bits of the IPv4 address.

ISATAP Interface Address Configuration

Each ISATAP interface configures a set of locators consisting of IPv4 address-to-interface mappings from a single site; i.e., an ISATAP interface's locator set MUST NOT span multiple sites.

When an IPv4 address is removed from an interface, the corresponding locator SHOULD be removed from its associated locator set(s). When a new IPv4 address is assigned to an interface, the corresponding locator MAY be added to the appropriate locator set(s).

ISATAP interfaces form ISATAP interface identifiers from IPv4 addresses in their locator set and use them to create link-local ISATAP addresses (RFC2462, Section 5.3).

Multicast/Anycast

It is not possible to assume the general availability of wide-area IPv4 multicast, so (unlike 6over4 RFC2529) ISATAP must assume that its underlying IPv4 carrier network only has unicast capability. Support for IPv6 multicast over ISATAP interfaces is not described in this document.

Similarly, support for Reserved IPv6 Subnet Anycast Addresses is not described in this document.

Automatic Tunneling

ISATAP interfaces use the basic tunneling mechanisms specified in ([MECH], Section 3). The following sub-sections describe additional specifications.

Encapsulation

ISATAP addresses are mapped to a link-layer address by a static computation; i.e., the last four octets are treated as an IPv4 address.

Handling ICMPv4 Errors

ISATAP interfaces SHOULD process ARP failures and persistent ICMPv4 errors as link-specific information indicating that a path to a neighbor may have failed (RFC2461, Section 7.3.3).

Decapsulation

The specification in ([MECH], Section 3.6) is used. Additionally, when an ISATAP node receives an IPv4 protocol 41 datagram that does not belong to a configured tunnel interface, it determines whether the packet's IPv4 destination address and arrival interface match a locator configured in an ISATAP interface's locator set.

If an ISATAP interface that configures a matching locator is found, the decapsulator MUST verify that the packet's IPv4 source address is correct for the encapsulated IPv6 source address. The IPv4 source address is correct if:

  -  the IPv6 source address is an ISATAP address that embeds the
     IPv4 source address in its interface identifier, or
  -  the IPv4 source address is a member of the Potential Router
     List (see Section 8.1).

Packets for which the IPv4 source address is incorrect for this ISATAP interface are checked to determine whether they belong to another tunnel interface.

Link-Local Addresses

ISATAP interfaces use link-local addresses constructed as specified in Section 6 of this document.

Neighbor Discovery over Tunnels

ISATAP interfaces use the specifications for neighbor discovery found in the following section of this document.

Neighbor Discovery for ISATAP Interfaces

ISATAP interfaces use the neighbor discovery mechanisms specified in RFC2461. The following sub-sections describe specifications that are also implemented.

Conceptual Model of a Host

To the list of Conceptual Data Structures (RFC2461, Section 5.1), ISATAP interfaces add the following:

  Potential Router List (PRL)
  A set of entries about potential routers; used to support router
  and prefix discovery.  Each entry ("PRL(i)") has an associated
  timer ("TIMER(i)"), and an IPv4 address ("V4ADDR(i)") that
  represents a router's advertising ISATAP interface.

Router and Prefix Discovery - Router Specification

Advertising ISATAP interfaces send Solicited Router Advertisement messages as specified in (RFC2461, Section 6.2.6) except that the messages are sent directly to the soliciting node; i.e., they might not be received by other nodes on the link.

Router and Prefix Discovery - Host Specification

The Host Specification in (RFC2461, Section 6.3) is used. The following sub-sections describe specifications added by ISATAP interfaces.

Host Variables

To the list of host variables (RFC2461, Section 6.3.2), ISATAP interfaces add the following:

PrlRefreshInterval

  Time in seconds between successive refreshments of the PRL after
  initialization.  The designated value of all ones (0xffffffff)
  represents infinity.
  Default: 3600 seconds

MinRouterSolicitInterval

  Minimum time in seconds between successive solicitations of the
  same advertising ISATAP interface.  The designated value of all
  ones (0xffffffff) represents infinity.

Potential Router List Initialization

ISATAP nodes initialize an ISATAP interface's PRL with IPv4 addresses discovered via manual configuration, a DNS Fully Qualified Domain Name (FQDN) [STD13], a DHCPv4 option, a DHCPv4 vendor-specific option, or an unspecified alternate method. FQDNs are established via manual configuration or an unspecified alternate method. FQDNs are resolved into IPv4 addresses through a static host file lookup,

querying the DNS service, querying a site-specific name service, or with an unspecified alternate method.

After initializing an ISATAP interface's PRL, the node sets a timer for the interface to PrlRefreshInterval seconds and re-initializes the interface's PRL as specified above when the timer expires. When an FQDN is used, and when it is resolved via a service that includes TTLs with the IPv4 addresses returned (e.g., DNS 'A' resource records [STD13]), the timer SHOULD be set to the minimum of PrlRefreshInterval and the minimum TTL returned. (Zero-valued TTLs are interpreted to mean that the PRL is re-initialized before each Router Solicitation event; see Section 8.3.4.)

Processing Received Router Advertisements

To the list of checks for validating Router Advertisement messages (RFC2461, Section 6.1.1), ISATAP interfaces add the following:

  -  IP Source Address is a link-local ISATAP address that embeds
     V4ADDR(i) for some PRL(i).

Valid Router Advertisements received on an ISATAP interface are processed as specified in (RFC2461, Section 6.3.4).

Sending Router Solicitations

To the list of events after which Router Solicitation messages may be sent (RFC2461, Section 6.3.7), ISATAP interfaces add the following:

  -  TIMER(i) for some PRL(i) expires.

Since unsolicited Router Advertisements may be incomplete and/or absent, ISATAP nodes MAY schedule periodic Router Solicitation events for certain PRL(i)s by setting the corresponding TIMER(i).

When periodic Router Solicitation events are scheduled, the node SHOULD set TIMER(i) so that the next event will refresh remaining lifetimes stored for PRL(i) before they expire, including the Router Lifetime, Valid Lifetimes received in Prefix Information Options, and Route Lifetimes received in Route Information Options [DEFLT]. TIMER(i) MUST be set to no less than MinRouterSolicitInterval seconds where MinRouterSolicitInterval is configurable for the node, or for a specific PRL(i), with a conservative default value (e.g., 2 minutes).

When TIMER(i) expires, the node sends Router Solicitation messages as specified in (RFC2461, Section 6.3.7) except that the messages are sent directly to PRL(i); i.e., they might not be received by other routers. While the node continues to require periodic Router

Solicitation events for PRL(i), and while PRL(i) continues to act as a router, the node resets TIMER(i) after each expiration event as described above.

Neighbor Unreachability Detection

Hosts SHOULD perform Neighbor Unreachability Detection (RFC2461, Section 7.3). Routers MAY perform neighbor unreachability detection, but this might not scale in all environments.

After address resolution, hosts SHOULD perform an initial reachability confirmation by sending Neighbor Solicitation messages and receiving a Neighbor Advertisement message. Routers MAY perform this initial reachability confirmation, but this might not scale in all environments.

Site Administration Considerations

Site administrators maintain a Potential Router List (PRL) of IPv4 addresses representing advertising ISATAP interfaces of routers.

The PRL is commonly maintained as an FQDN for the ISATAP service in the site's name service (see Section 8.3.2). There are no mandatory rules for the selection of the FQDN, but site administrators are encouraged to use the convention "isatap.domainname" (e.g., isatap.example.com).

When the site's name service includes TTLs with the IPv4 addresses returned, site administrators SHOULD configure the TTLs with conservative values to minimize control traffic.

10. Security Considerations

Implementors should be aware that, in addition to possible attacks against IPv6, security attacks against IPv4 must also be considered. Use of IP security at both IPv4 and IPv6 levels should nevertheless be avoided, for efficiency reasons. For example, if IPv6 is running encrypted, encryption of IPv4 would be redundant unless traffic analysis is felt to be a threat. If IPv6 is running authenticated, then authentication of IPv4 will add little. Conversely, IPv4 security will not protect IPv6 traffic once it leaves the ISATAP domain. Therefore, implementing IPv6 security is required even if IPv4 security is available.

The threats associated with IPv6 Neighbor Discovery are described in RFC3756.

There is a possible spoofing attack in which spurious ip-protocol-41 packets are injected into an ISATAP link from outside. Since an ISATAP link spans an entire IPv4 site, restricting access to the link can be achieved by restricting access to the site; i.e., by having site border routers implement IPv4 ingress filtering and ip- protocol-41 filtering.

Another possible spoofing attack involves spurious ip-protocol-41 packets injected from within an ISATAP link by a node pretending to be a router. The Potential Router List (PRL) provides a list of IPv4 addresses representing advertising ISATAP interfaces of routers that hosts use in filtering decisions. Site administrators should ensure that the PRL is kept up to date, and that the resolution mechanism (see Section 9) cannot be subverted.

The use of temporary addresses RFC3041 and Cryptographically Generated Addresses [CGA] on ISATAP interfaces is outside the scope of this specification.

11. IANA Considerations

The IANA has specified the format for Modified EUI-64 address construction (RFC3513, Appendix A) in the IANA Ethernet Address Block. The text in Appendix A of this document has been offered as an example specification. The current version of the IANA registry for Ether Types can be accessed at:

  http://www.iana.org/assignments/ethernet-numbers

12. Acknowledgements

The ideas in this document are not original, and the authors acknowledge the original architects. Portions of this work were sponsored through SRI International internal projects and government contracts. Government sponsors include Monica Farah-Stapleton and Russell Langan (U.S. Army CECOM ASEO), and Dr. Allen Moshfegh (U.S. Office of Naval Research). SRI International sponsors include Dr. Mike Frankel, J. Peter Marcotullio, Lou Rodriguez, and Dr. Ambatipudi Sastry.

The following are acknowledged for providing peer review input: Jim Bound, Rich Draves, Cyndi Jung, Ambatipudi Sastry, Aaron Schrader, Ole Troan, and Vlad Yasevich.

The following are acknowledged for their significant contributions: Alain Durand, Hannu Flinck, Jason Goldschmidt, Nathan Lutchansky, Karen Nielsen, Mohan Parthasarathy, Chirayu Patel, Art Shelest, Markku Savela, Pekka Savola, Margaret Wasserman, and Brian Zill.

The authors acknowledge the work of Quang Nguyen on "Virtual Ethernet", under the guidance of Dr. Lixia Zhang, that proposed very similar ideas to those that appear in this document. This work was first brought to the authors' attention on September 20, 2002.

Appendix A. Modified EUI-64 Addresses in the IANA Ethernet Address

         Block

Modified EUI-64 addresses (RFC3513, Section 2.5.1 and Appendix A) in the IANA Ethernet Address Block are formed by concatenating the 24-bit IANA OUI (00-00-5E) with a 40-bit extension identifier and inverting the "u" bit; i.e., the "u" bit is set to one (1) to indicate universal scope and set to zero (0) to indicate local scope.

Modified EUI-64 addresses have the following appearance in memory (bits transmitted right-to-left within octets, octets transmitted left-to-right):

0 23 63 | OUI | extension identifier | 000000ug00000000 01011110xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx

When the first two octets of the extension identifier encode the hexadecimal value 0xFFFE, the remainder of the extension identifier encodes a 24-bit vendor-supplied id as follows:

0 23 39 63 | OUI | 0xFFFE | vendor-supplied id | 000000ug00000000 0101111011111111 11111110xxxxxxxx xxxxxxxxxxxxxxxx

When the first octet of the extension identifier encodes the hexadecimal value 0xFE, the remainder of the extension identifier encodes a 32-bit IPv4 address as follows:

0 23 31 63 | OUI | 0xFE | IPv4 address | 000000ug00000000 0101111011111110 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx

Normative References

[BCP14] Bradner, S., "Key words for use in RFCs to Indicate

          Requirement Levels", BCP 14, RFC 2119, March 1997.

[STD13] Mockapetris, P., "Domain names - implementation and

          specification", STD 13, RFC 1035, November 1987.

RFC2460 Deering, S. and R. Hinden, "Internet Protocol, Version 6

          (IPv6) Specification", RFC 2460, December 1998.

RFC2461 Narten, T., Nordmark, E., and W. Simpson, "Neighbor

          Discovery for IP Version 6 (IPv6)", RFC 2461, December
          1998.

RFC2462 Thomson, S. and T. Narten, "IPv6 Stateless Address

          Autoconfiguration", RFC 2462, December 1998.

RFC3513 Hinden, R. and S. Deering, "Internet Protocol Version 6

          (IPv6) Addressing Architecture", RFC 3513, April 2003.

[MECH] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms

          for IPv6 Hosts and Routers", RFC 4213, October 2005.

Informative References

RFC2491 Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6

          over Non-Broadcast Multiple Access (NBMA) networks", RFC
          2491, January 1999.

RFC2492 Armitage, G., Schulter, P., and M. Jork, "IPv6 over ATM

          Networks", RFC 2492, January 1999.

RFC2529 Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4

          Domains without Explicit Tunnels", RFC 2529, March 1999.

RFC3041 Narten, T. and R. Draves, "Privacy Extensions for

          Stateless Address Autoconfiguration in IPv6", RFC 3041,
          January 2001.

RFC3056 Carpenter, B. and K. Moore, "Connection of IPv6 Domains

          via IPv4 Clouds", RFC 3056, February 2001.

RFC3756 Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor

          Discovery (ND) Trust Models and Threats", RFC 3756, May
          2004.

[CGA] Aura, T., "Cryptographically Generated Addresses (CGA)",

          RFC 3972, March 2005.

[DEFLT] Draves, R. and D. Thaler, "Default Router Preferences and

          More-Specific Routes", Work in Progress, December 2003.

[NODEREQ] Loughney, J., Ed., "IPv6 Node Requirements", Work in

          Progress, May 2004.

Authors' Addresses

Fred L. Templin Nokia 313 Fairchild Drive Mountain View, CA 94110 US

EMail: [email protected]

Tim Gleeson Cisco Systems K.K. Shinjuku Mitsui Building 2-1-1 Nishishinjuku, Shinjuku-ku Tokyo 163-0409 Japan

EMail: [email protected]

Mohit Talwar Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 US

Phone: +1 425 705 3131 EMail: [email protected]

Dave Thaler Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 US

Phone: +1 425 703 8835 EMail: [email protected]

Full Copyright Statement

Copyright (C) The Internet Society (2005).

This document is subject to the rights, licenses and restrictions contained in BCP 78 and at www.rfc-editor.org/copyright.html, 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 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- [email protected].

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.