One document matched: draft-templin-intarea-vet-05.txt
Differences from draft-templin-intarea-vet-04.txt
Network Working Group F. Templin, Ed.
Internet-Draft Boeing Research & Technology
Intended status: Standards Track December 23, 2009
Expires: June 26, 2010
Virtual Enterprise Traversal (VET)
draft-templin-intarea-vet-05.txt
Abstract
Enterprise networks connect hosts and routers over various link
types, and may also connect to provider networks and/or the global
Internet. Enterprise network nodes require a means to automatically
provision IP addresses/prefixes and support internetworking operation
in a wide variety of use cases including Small Office, Home Office
(SOHO) networks, Mobile Ad hoc Networks (MANETs), ISP networks,
multi-organizational corporate networks and the interdomain core of
the global Internet itself. This document specifies a Virtual
Enterprise Traversal (VET) abstraction for autoconfiguration and
operation of nodes in enterprise networks. VET can also be
considered as version 2 of the Intra-Site Automatic Tunnel Addressing
Protocol (i.e., "ISATAPv2").
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and 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 26, 2010.
Copyright Notice
Templin Expires June 26, 2010 [Page 1]
Internet-Draft VET December 2009
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the BSD License.
Templin Expires June 26, 2010 [Page 2]
Internet-Draft VET December 2009
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Enterprise Characteristics . . . . . . . . . . . . . . . . . . 11
4. Autoconfiguration . . . . . . . . . . . . . . . . . . . . . . 12
4.1. Enterprise Router (ER) Autoconfiguration . . . . . . . . . 12
4.2. Enterprise Border Router (EBR) Autoconfiguration . . . . . 14
4.2.1. VET Interface Autoconfiguration . . . . . . . . . . . 14
4.2.2. Provider-Aggregated (PA) EID Prefix
Autoconfiguration . . . . . . . . . . . . . . . . . . 16
4.2.3. Provider-Independent (PI) EID Prefix
Autoconfiguration . . . . . . . . . . . . . . . . . . 17
4.3. Enterprise Border Gateway (EBG) Autoconfiguration . . . . 18
4.4. VET Host Autoconfiguration . . . . . . . . . . . . . . . . 18
5. Internetworking Operation . . . . . . . . . . . . . . . . . . 19
5.1. Prefix Registration . . . . . . . . . . . . . . . . . . . 19
5.2. Routing Protocol Participation . . . . . . . . . . . . . . 20
5.3. Address Selection . . . . . . . . . . . . . . . . . . . . 20
5.4. Neighbor Discovery . . . . . . . . . . . . . . . . . . . . 20
5.4.1. Router and Prefix Discovery . . . . . . . . . . . . . 21
5.4.2. Next Hop Determination . . . . . . . . . . . . . . . . 23
5.4.3. Redirect Function . . . . . . . . . . . . . . . . . . 24
5.4.4. Reverse Path Forwarding Checks . . . . . . . . . . . . 25
5.4.5. IPv4 Neighbor Discovery . . . . . . . . . . . . . . . 25
5.5. Generating Errors . . . . . . . . . . . . . . . . . . . . 25
5.6. Processing Errors . . . . . . . . . . . . . . . . . . . . 26
5.7. Mobility and Multihoming Considerations . . . . . . . . . 27
5.8. Multicast . . . . . . . . . . . . . . . . . . . . . . . . 28
5.9. Service Discovery . . . . . . . . . . . . . . . . . . . . 29
5.10. Enterprise Partitioning . . . . . . . . . . . . . . . . . 29
5.11. EBG Prefix State Recovery . . . . . . . . . . . . . . . . 29
5.12. Support for Legacy ISATAP Services . . . . . . . . . . . . 29
5.13. SEAL Encapsulation . . . . . . . . . . . . . . . . . . . . 29
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30
7. Security Considerations . . . . . . . . . . . . . . . . . . . 30
8. Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 31
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 32
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 32
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.1. Normative References . . . . . . . . . . . . . . . . . . . 33
11.2. Informative References . . . . . . . . . . . . . . . . . . 34
Appendix A. Duplicate Address Detection (DAD) Considerations . . 38
Appendix B. Link-Layer Multiplexing and Traffic Engineering . . . 39
Appendix C. Anycast Services . . . . . . . . . . . . . . . . . . 41
Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 42
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 43
Templin Expires June 26, 2010 [Page 3]
Internet-Draft VET December 2009
1. Introduction
Enterprise networks [RFC4852] connect hosts and routers over various
link types (see [RFC4861], Section 2.2). The term "enterprise
network" in this context extends to a wide variety of use cases and
deployment scenarios. For example, an "enterprise" can be as small
as a SOHO network, as complex as a multi-organizational corporation,
or as large as the global Internet itself. ISP networks are another
example use case that fits well with the VET enterprise network
model. Mobile Ad hoc Networks (MANETs) [RFC2501] can also be
considered as a challenging example of an enterprise network, in that
their topologies may change dynamically over time and that they may
employ little/no active management by a centralized network
administrative authority. These specialized characteristics for
MANETs require careful consideration, but the same principles apply
equally to other enterprise network scenarios.
This document specifies a Virtual Enterprise Traversal (VET)
abstraction for autoconfiguration and internetworking operation,
where addresses of different scopes may be assigned on various types
of interfaces with diverse properties. Both IPv4 [RFC0791] and IPv6
[RFC2460] are discussed within this context. The use of standard
DHCP [RFC2131] [RFC3315] and neighbor discovery [RFC0826] [RFC1256]
[RFC4861] mechanisms is assumed unless otherwise specified.
Templin Expires June 26, 2010 [Page 4]
Internet-Draft VET December 2009
Provider-Edge Interfaces
x x x
| | |
+--------------------+---+--------+----------+ E
| | | | | n
| I | | .... | | t
| n +---+---+--------+---+ | e
| t | +--------+ /| | r
| e I x----+ | Host | I /*+------+--< p I
| r n | |Function| n|**| | r n
| n t | +--------+ t|**| | i t
| a e x----+ V e|**+------+--< s e
| l r . | E r|**| . | e r
| f . | T f|**| . | f
| V a . | +--------+ a|**| . | I a
| i c . | | Router | c|**| . | n c
| r e x----+ |Function| e \*+------+--< t e
| t s | +--------+ \| | e s
| u +---+---+--------+---+ | r
| a | | .... | | i
| l | | | | o
+--------------------+---+--------+----------+ r
| | |
x x x
Enterprise-Edge Interfaces
Figure 1: Enterprise Router (ER) Architecture
Figure 1 above depicts the architectural model for an Enterprise
Router (ER). As shown in the figure, an ER may have a variety of
interface types including enterprise-edge, enterprise-interior,
provider-edge, internal-virtual, as well as VET interfaces used for
IP in IP encapsulation. The different types of interfaces are
defined, and the autoconfiguration mechanisms used for each type are
specified. This architecture applies equally for MANET routers, in
which enterprise-interior interfaces correspond to the wireless
multihop radio interfaces typically associated with MANETs. Out of
scope for this document is the autoconfiguration of provider
interfaces, which must be coordinated in a manner specific to the
service provider's network.
Enterprise networks must have a means for supporting both Provider-
Independent (PI) and Provider-Aggregated (PA) addressing. This is
especially true for enterprise scenarios that involve mobility and
multihoming. Also in scope are ingress filtering for multihomed
sites, adaptation based on authenticated ICMP feedback from on-path
routers, effective tunnel path MTU mitigations, and routing scaling
suppression as required in many enterprise network scenarios. The
Templin Expires June 26, 2010 [Page 5]
Internet-Draft VET December 2009
VET specification provides adaptable mechanisms that address these
and other issues in a wide variety of enterprise network use cases.
VET represents a functional superset of 6over4 [RFC2529] and the
Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) [RFC5214],
and can be considered as version 2 of the ISATAP protocol (i.e.,
"ISATAPv2"). VET works in conjunction with the Subnetwork
Encapsulation and Adaptation Layer (SEAL) [I-D.templin-intarea-seal],
and also supports additional encapsulations such as IPsec [RFC4301].
VET further defines mechanisms that are very similar in nature to
those specified for IPv6 operation over Non-Broadcast Multiple Access
(NBMA) networks [RFC2491].
VET and its associated technologies serve as functional building
blocks for a new Internetworking architecture known as Routing and
Addressing in Next Generation EnteRprises [I-D.templin-ranger]
[I-D.russert-rangers]. The VET principles can be either directly or
indirectly traced to the deliberations of the ROAD group in January
1992, and also to still earlier works including NIMROD [RFC1753] and
the Catenet model for internetworking [CATENET] [IEN48] [RFC2775].
[RFC1955] captures the high-level architectural aspects of the ROAD
group deliberations in a "New Scheme for Internet Routing and
Addressing (ENCAPS) for IPNG".
VET is related to the present-day activities of the IETF INTAREA,
AUTOCONF, DHC, IPv6, MANET, and V6OPS working groups, as well as the
IRTF RRG working group.
2. Terminology
The mechanisms within this document build upon the fundamental
principles of IP in IP encapsulation. The terms "inner" and "outer"
are used to, respectively, refer to the innermost IP {address,
protocol, header, packet, etc.} *before* encapsulation, and the
outermost IP {address, protocol, header, packet, etc.} *after*
encapsulation. VET also uses the Subnetwork Encapsulation and
Adaptation Layer (SEAL) [I-D.templin-intarea-seal] as a "mid-layer"
encapsulation between the inner and outer IP headers, and also allows
for inclusion of other mid-layer encapsulations including IPSec
[RFC4301].
The terminology in the normative references apply; the following
terms are defined within the scope of this document:
Templin Expires June 26, 2010 [Page 6]
Internet-Draft VET December 2009
Virtual Enterprise Traversal (VET)
an abstraction that uses IP in IP encapsulation to create overlays
for traversing enterprise networks. VET can be considered as
version 2 of the ISATAP protocol (i.e., "ISATAPv2").
enterprise
the same as defined in [RFC4852]. An enterprise is also
understood to refer to a cooperative networked collective with a
commonality of business, social, political, etc. interests.
Minimally, the only commonality of interest in some enterprise
network scenarios may be the cooperative provisioning of
connectivity itself.
subnetwork
the same as defined in [RFC3819].
site
a logical and/or physical grouping of interfaces that connect a
topological area less than or equal to an enterprise in scope. A
site within an enterprise can, in some sense, be considered as an
enterprise unto itself.
Mobile Ad hoc Network (MANET)
a connected topology of mobile or fixed routers that maintain a
routing structure among themselves over dynamic links. The
characteristics of MANETs are defined in [RFC2501], Section 3, and
a wide variety of MANETs share common properties with enterprise
networks
enterprise/site/MANET
throughout the remainder of this document, the term "enterprise"
is used to collectively refer to any of {enterprise, site, MANET},
i.e., the VET mechanisms and operational principles can be applied
to enterprises, sites, and MANETs of any size or shape.
Enterprise Router (ER)
As depicted in Figure 1, an Enterprise Router (ER) is a fixed or
mobile router that comprises a router function, a host function,
one or more enterprise-interior interfaces, and zero or more
internal virtual, enterprise-edge, provider-edge, and VET
interfaces. At a minimum, an ER forwards outer IP packets over
one or more sets of enterprise-interior interfaces, where each set
connects to a distinct enterprise.
Enterprise Border Router (EBR)
an ER that connects edge networks to the enterprise and/or
connects multiple enterprises together. An EBR is a tunnel
endpoint router, and it configures a separate VET interface over
Templin Expires June 26, 2010 [Page 7]
Internet-Draft VET December 2009
each set of enterprise-interior interfaces that connect the EBR to
each distinct enterprise. In particular, an EBR may configure
multiple VET interfaces - one for each distinct enterprise. All
EBRs are also ERs.
Enterprise Border Gateway (EBG)
an EBR that connects VET interfaces configured over child
enterprises to a provider network - either directly via a
provider-edge interface or indirectly via another VET interface
configured over a parent enterprise. EBRs may act as EBGs on some
VET interfaces and as ordinary EBRs on other VET interfaces. All
EBGs are also EBRs.
VET host
any node (host or router) that configures a VET interface for
host-operation only. Note that a node may configure some of its
VET interfaces as host interfaces and others as router interfaces.
VET node
any node (host or router) that configures and uses a VET
interface.
enterprise-interior interface
an ER's attachment to a link within an enterprise. Packets sent
over enterprise-interior interfaces may be forwarded over multiple
additional enterprise-interior interfaces within the enterprise
before they are forwarded via an enterprise-edge interface,
provider-edge interface, or a VET interface configured over a
different enterprise. Enterprise-interior interfaces connect
laterally within the IP network hierarchy.
enterprise-edge interface
an EBR's attachment to a link (e.g., an Ethernet, a wireless
personal area network, etc.) on an arbitrarily complex edge
network that the EBR connects to an enterprise and/or provider
network. Enterprise-edge interfaces connect to lower levels
within the IP network hierarchy.
provider-edge interface
an EBR's attachment to the Internet or to a provider network
outside of the enterprise via which the Internet can be reached.
Provider-edge interfaces connect to higher levels within the IP
network hierarchy.
internal-virtual interface
an interface that is internal to an EBR and does not in itself
directly attach to a tangible physical link, e.g., an Ethernet
cable. Examples include a loopback interface, a virtual private
Templin Expires June 26, 2010 [Page 8]
Internet-Draft VET December 2009
network interface, or some form of tunnel interface.
VET link
a virtual link that uses automatic tunneling to create an overlay
network that spans an enterprise-interior routing region. VET
links can be segmented (e.g., by IP in IP protocol filtering
gateways) into multiple distinct segments that can be joined
together by bridges or IP routers the same as for any link.
Bridging would view the multiple (bridged) segments as a single
VET link, whereas IP routing would view the multiple segments as
multiple distinct VET links. VET link segments can further be
partitioned into multiple logical routing areas, where each area
is identified by a distinct set of EBGs.
VET links in non-multicast environments are Non-Broadcast,
Multiple Access (NBMA); VET links in multicast environments are
multicast capable.
VET interface
a VET node's attachment to a VET link. VET nodes configure each
VET interface over a set of underlying interfaces that connect to
an enterprise-interior routing region spanned by a single VET
link. When there are multiple distinct VET links (each with their
own distinct set of underlying interfaces), the VET node
configures a separate VET interface for each link. Similarly,
when a VET link comprises multiple areas, a separate VET interface
is configured for each area.
The VET interface encapsulates each inner IP packet in any mid-
layer headers followed by an outer IP header, then forwards the
packet on an underlying interface such that the Time to Live (TTL)
- Hop Limit in the inner header is not decremented as the packet
traverses the link.
VET address
an IPv6 address assigned to a VET interface that embeds an IPv4
address within the IPv6 address interface identifier. VET
addresses are formed exactly as specified for ISATAP addresses in
Sections 6.1 and 6.2 of [RFC5214].
Provider-Independent (PI) prefix
an IPv6 or IPv4 prefix (e.g., 2001:DB8::/48, 192.0.2/24, etc.)
that is either self-generated by an EBR or delegated to an EBR by
a registry.
Templin Expires June 26, 2010 [Page 9]
Internet-Draft VET December 2009
Provider Aggregated (PA) prefix
an IPv6 or IPv4 prefix that is delegated to an EBR by a provider
network.
Routing Locator (RLOC)
a non-link-local IPv4 or IPv6 address taken from a PI/PA prefix
that can appear in enterprise-interior and/or interdomain routing
tables. Global-scope RLOC prefixes are delegated to specific
enterprises and routable within both the enterprise-interior and
interdomain routing regions. Enterprise-local-scope RLOC prefixes
(e.g., IPv6 Unique Local Addresses [RFC4193], IPv4 privacy
addresses [RFC1918], etc.) are self-generated by individual
enterprises and routable only within the enterprise-interior
routing region.
ERs use RLOCs for operating the enterprise-interior routing
protocol and for next-hop determination in forwarding packets
addressed to other RLOCs. End systems use RLOCs as addresses for
communications between endpoints within the same enterprise. VET
interfaces treat RLOCs as *outer* IP addresses during IP in IP
encapsulation.
Endpoint Interface iDentifier (EID)
an IPv4 or IPv6 address taken from a PI/PA prefix that is routable
within an enterprise-edge or VET overlay network scope, and may
also appear in enterprise-interior and/or interdomain mapping
tables. EID prefixes are separate and distinct from any RLOC
prefix space.
Edge network routers use EIDs for operating the enterprise-edge or
VET overlay network routing protocol and for next-hop
determination in forwarding packets addressed to other EIDs. End
systems use EIDs as addresses for communications between endpoints
either within the same enterprise or within different enterprises.
VET interfaces treat EIDs as *inner* IP addresses during IP in IP
encapsulation.
The following additional acronyms are used throughout the document:
CGA - Cryptographically Generated Address
DHCP(v4, v6) - Dynamic Host Configuration Protocol
FIB - Forwarding Information Base
ISATAP - Intra-Site Automatic Tunnel Addressing Protocol
NBMA - Non-Broadcast, Multiple Access
ND - Neighbor Discovery
PIO - Prefix Information Option
PRL - Potential Router List
PRLNAME - Identifying name for the PRL (default is "isatapv2")
Templin Expires June 26, 2010 [Page 10]
Internet-Draft VET December 2009
RIO - Route Information Option
RPF - Reverse Path Forwarding
RS/RA - IPv6 ND Router Solicitation/Advertisement
SEAL - Subnetwork Encapsulation and Adaptation Layer
SLAAC - IPv6 StateLess Address AutoConfiguation
3. Enterprise Characteristics
Enterprises consist of links that are connected by Enterprise Routers
(ERs) as depicted in Figure 1. ERs typically participate in a
routing protocol over enterprise-interior interfaces to discover
routes that may include multiple Layer 2 or Layer 3 forwarding hops.
Enterprise Border Routers (EBRs) are ERs that connect edge networks
to the enterprise and/or join multiple enterprises together.
Enterprise Border Gateways (EBGs) are EBRs that connect enterprises
to provider networks.
Conceptually, an ER embodies both a host function and router
function. The host function supports Endpoint Interface iDentifier
(EID)-based and/or Routing LOCator (RLOC)-based communications
according to the weak end-system model [RFC1122]. The router
function engages in the enterprise-interior routing protocol,
connects any of the ER's edge networks to the enterprise, and may
also connect the enterprise to provider networks (see Figure 1).
An enterprise may be as simple as a small collection of ERs and their
attached edge networks; an enterprise may also contain other
enterprises and/or be a subnetwork of a larger enterprise. An
enterprise may further encompass a set of branch offices and/or
nomadic hosts connected to a home office over one or several service
providers, e.g., through Virtual Private Network (VPN) tunnels.
Finally, an enterprise may contain many internal partitions that are
logical or physical groupings of nodes for the purpose of load
balancing, organizational separation, etc. In that case, each
internal partition resembles either a distinct area on the VET link
or a distinct VET link segment that can be connected to other
partitions via either L2 bridging or L3 routing.
Enterprises that comprise link types with sufficiently similar
properties (e.g., Layer 2 (L2) address formats, maximum transmission
units (MTUs), etc.) can configure a sub-IP layer routing service such
that IP sees the enterprise as an ordinary shared link the same as
for a (bridged) campus LAN. In that case, a single IP hop is
sufficient to traverse the enterprise without IP layer encapsulation.
Enterprises that comprise link types with diverse properties and/or
configure multiple IP subnets must also provide an enterprise-
interior routing service that operates as an IP layer mechanism. In
Templin Expires June 26, 2010 [Page 11]
Internet-Draft VET December 2009
that case, multiple IP hops may be necessary to traverse the
enterprise such that care must be taken to avoid multi-link subnet
issues [RFC4903].
In addition to other interface types, VET nodes configure VET
interfaces that view all other nodes on the VET link area as single-
hop neighbors. VET nodes configure a separate VET interface for each
distinct VET link are to which they connect, and discover other EBRs
on each VET link that can be used for forwarding packets to off-link
destinations.
For each distinct enterprise, an enterprise trust basis must be
established and consistently applied. For example, in enterprises in
which EBRs establish symmetric security associations, mechanisms such
as IPsec [RFC4301] can be used to assure authentication and
confidentiality. In other enterprise network scenarios, asymmetric
securing mechanisms such as SEcure Neighbor Discovery (SEND)
[RFC3971] may be necessary to authenticate exchanges based on trust
anchors. Still other enterprises may have sufficient infrastructure
trust basis (e.g., through proper deployment of filtering gateways at
enterprise borders) and may not require nodes to implement such
additional mechanisms.
Finally, in enterprises with a centralized management structure
(e.g., a corporate campus network), an enterprise mapping service and
a synchronized set of EBGs can provide sufficient infrastructure
support for virtual enterprise traversal. In that case, the EBGs can
provide a "default mapper" [I-D.jen-apt] service used for short-term
packet forwarding until EBR neighbor relationships can be
established. In enterprises with a distributed management structure
(e.g., MANETs), peer-to-peer coordination between the EBRs themselves
may be required. Recognizing that various use cases will entail a
continuum between a fully distributed and fully centralized approach,
the following sections present the mechanisms of Virtual Enterprise
Traversal as they apply to a wide variety of scenarios.
4. Autoconfiguration
ERs, EBRs, EBGs, and VET hosts configure themselves for operation as
specified in the following subsections.
4.1. Enterprise Router (ER) Autoconfiguration
ERs configure enterprise-interior interfaces and engage in any
routing protocols over those interfaces.
When an ER joins an enterprise, it first configures an IPv6 link-
Templin Expires June 26, 2010 [Page 12]
Internet-Draft VET December 2009
local address on each enterprise-interior interface and configures an
IPv4 link-local address on each enterprise-interior interface that
requires an IPv4 link-local capability. IPv6 link-local address
generation mechanisms include Cryptographically Generated Addresses
(CGAs) [RFC3972], IPv6 Privacy Addresses [RFC4941], StateLess Address
AutoConfiguration (SLAAC) using EUI-64 interface identifiers
[RFC4291] [RFC4862], etc. The mechanisms specified in [RFC3927]
provide an IPv4 link-local address generation capability.
Next, the ER configures one or more RLOCs and engages in any routing
protocols on its enterprise-interior interfaces. The ER can
configure RLOCs via explicit management, DHCP autoconfiguration,
pseudo-random self-generation from a suitably large address pool, or
through an alternate autoconfiguration mechanism. The ER may
optionally configure and assign a separate RLOC for each underlying
interface, or it may configure only a single RLOC and assign it to a
VET interface configured over the underlying interfaces (see Section
4.2.1). In the latter case, the ER can use the VET interface for
link layer multiplexing and traffic engineering purposes as specified
in Appendix B.
Alternatively (or in addition), the ER can request RLOC prefix
delegations via an automated prefix delegation exchange over an
enterprise-interior interface and can assign the prefix(es) on
enterprise-edge interfaces. Note that in some cases, the same
enterprise-edge interfaces may assign both RLOC and EID addresses if
there is a means for source address selection. In other cases (e.g.,
for separation of security domains), RLOCs and EIDs must be assigned
on separate sets of enterprise-edge interfaces.
Self-generation of RLOCs for IPv6 can be from a large public or
local-use IPv6 address range (e.g., IPv6 Unique Local Addresses
[RFC4193]). Self-generation of RLOCs for IPv4 can be from a large
public or local-use IPv4 address range (e.g., [RFC1918]). When self-
generation is used alone, the ER must continuously monitor the RLOCs
for uniqueness, e.g., by monitoring the enterprise-interior routing
protocol.
DHCP generation of RLOCs may require support from relays within the
enterprise. For DHCPv6, relays that do not already know the RLOC of
a server within the enterprise forward requests to the
'All_DHCP_Servers' site-scoped IPv6 multicast group [RFC3315]. For
DHCPv4, relays that do not already know the RLOC of a server within
the enterprise forward requests to the site-scoped IPv4 multicast
group address 'All_DHCPv4_Servers', which should be set to
239.255.2.1 unless an alternate multicast group for the site is
known. DHCPv4 servers that delegate RLOCs should therefore join the
'All_DHCPv4_Servers' multicast group and service any DHCPv4 messages
Templin Expires June 26, 2010 [Page 13]
Internet-Draft VET December 2009
received for that group.
A combined approach using both DHCP and self-generation is also
possible when the ER configures both a DHCP client and relay that are
connected, e.g., via a pair of back-to-back connected Ethernet
interfaces, a tun/tap interface, a loopback interface, inter-process
communication, etc. The ER first self-generates a temporary RLOC
used only for the purpose of procuring an actual RLOC taken from a
disjoint addressing range. The ER then engages in the enterprise-
interior routing protocol and performs a DHCP client/relay exchange
using the temporary RLOC as the address of the relay. When the DHCP
server delegates an actual RLOC address/prefix, the ER abandons the
temporary RLOC and re-engages in the enterprise-interior routing
protocol using an RLOC taken from the delegation.
In some enterprise use cases (e.g., MANETs), assignment of RLOCs on
enterprise-interior interfaces as singleton addresses (i.e., as
addresses with /32 prefix lengths for IPv4, or as addresses with /128
prefix lengths for IPv6) may be necessary to avoid multi-link subnet
issues. In other use cases, assignment of an RLOC on a VET interface
as specified in Appendix B can provide link layer multiplexing and
traffic engineering over multiple underlying interfaces using only a
single IP address.
4.2. Enterprise Border Router (EBR) Autoconfiguration
EBRs are ERs that configure VET interfaces over distinct sets of
underlying interfaces belonging to the same enterprise; an EBR can
connect to multiple enterprises, in which case it would configure
multiple interfaces. In addition to the ER autoconfiguration
procedures specified in Section 4.1, EBRs perform the following
autoconfiguration operations.
4.2.1. VET Interface Autoconfiguration
VET interface autoconfiguration entails: 1) interface initialization,
2) EBG discovery, and 3) EID configuration. These functions are
specified in the following sections.
4.2.1.1. Interface Initialization
EBRs configure a VET interface over a set of underlying interfaces
belonging to the same enterprise, where the VET interface connects to
a VET link area in which all EBRs in the enterprise appear as single-
hop neighbors through the use of IP in IP encapsulation. After the
EBR configures a VET interface, it initializes the interface and
assigns an IPv6 link-local address and an IPv4 link-local address if
necessary. The EBR also associates an RLOC obtained as specified in
Templin Expires June 26, 2010 [Page 14]
Internet-Draft VET December 2009
Section 4.1 with the VET interface to serve as the source address for
outer IP packets.
When IPv6 and IPv4 are used as the inner/outer protocols
(respectively), the EBR autoconfigures an IPv6 link-local VET address
on the VET interface to support packet forwarding and operation of
the IPv6 neighbor discovery protocol. The link-local VET address is
formed exactly as specified in Sections 6.1 and 6.2 of [RFC5214].
The link-local address need not be checked for uniqueness since the
IPv4 RLOC embedded in the address itself is managed for uniqueness
(see Section 4.1).
Link-local address configuration for other inner/outer IP protocol
combinations is through administrative configuration or through an
unspecified alternate method. However, link-local address
configuration for other inner/outer IP protocol combinations may not
be necessary if a non-link-local address can be configured through
other means (e.g., administrative configuration, DHCP, etc.).
After the EBR initializes a VET interface, it can communicate with
other VET nodes as single-hop neighbors on the VET link from the
viewpoint of the inner IP protocol. The EBR can also configure the
VET interface for link-layer multiplexing and traffic engineering
purposes as specified in Appendix B.
4.2.1.2. Enterprise Border Gateway Discovery and Enterprise
Identification
The EBR next discovers a list of EBGs for each of its VET interfaces.
The list can be discovered through information conveyed in the
enterprise-interior routing protocol, through the Potential Router
List (PRL) discovery mechanisms outlined in Section 8.3.2 of
[RFC5214], through a DHCP option [I-D.templin-isatap-dhcp], etc. In
multicast-capable enterprises, EBRs can also listen for
advertisements on the 'rasadv' [RASADV] multicast group address.
Whether or not routing information is available, the EBR can discover
the list of EBGs by resolving an identifying name for the PRL
('PRLNAME') formed as 'hostname.domainname', where 'hostname' is an
enterprise-specific name string and 'domainname' is an enterprise-
specific DNS suffix. The EBR discovers 'PRLNAME' through manual
configuration, the DHCP Domain Name option [RFC2132], 'rasadv'
protocol advertisements, link-layer information (e.g., an IEEE 802.11
Service Set Identifier (SSID)), or through some other means specific
to the enterprise. In the absence of other information, the EBR sets
the 'hostname' component of 'PRLNAME' to "isatapv2" and sets the
'domainname' component to the enterprise-specific DNS suffix
"example.com" (e.g., as "isatapv2.example.com").
Templin Expires June 26, 2010 [Page 15]
Internet-Draft VET December 2009
After discovering a list of IP addresses and/or domain names for the
PRL, the EBR resolves any domain names into a list of RLOC addresses
through a name service lookup. For centrally managed enterprises,
the EBR resolves domain names using an enterprise-local name service
(e.g., the enterprise-local DNS). For enterprises with a distributed
management structure, the EBR resolves domain names using Link-Local
Multicast Name Resolution (LLMNR) [RFC4795] over the VET interface.
In that case, all EBGs in the PRL respond to the LLMNR query, and the
EBR accepts the union of all responses.
The global Internet interdomain routing core represents a specific
example list of an enterprise network scenario, albeit on an enormous
scale. The 'PRLNAME' assigned to the global Internet interdomain
routing core for the purpose of VET is "isatapv2.net". After
discovering 'PRLNAME', the EBR can discover the list of EBGs by
resolving 'PRLNAME' to a list of RLOC addresses through a name
service lookup. For centrally managed enterprises, the EBR resolves
'PRLNAME' using an enterprise-local name service (e.g., the
enterprise-local DNS). For enterprises with a distributed management
structure, the EBR resolves 'PRLNAME' using Link-Local Multicast Name
Resolution (LLMNR) [RFC4795] over the VET interface. In that case,
all EBGs in the PRL respond to the LLMNR query, and the EBR accepts
the union of all responses. Each distinct enterprise VET interface
must have a unique identity that EBRs can use to uniquely discern
their enterprise affiliations. 'PRLNAME' as well as the RLOCs The
list of EBGs and the IP prefixes they aggregate serve as an
identifier for the enterprise.
Each distinct VET interface must have a unique identity that EBRs can
use to uniquely discern their enterprise affiliations. 'PRLNAME' as
well as the RLOCs of EBGs and the IP prefixes they aggregate serve as
an identifier for the interface.
4.2.2. Provider-Aggregated (PA) EID Prefix Autoconfiguration
EBRs can acquire Provider-Aggregated (PA) EID prefixes through
autoconfiguration exchanges with EBGs over VET interfaces, where each
EBG may be configured as either a DHCP relay or DHCP server.
For IPv4 EIDs, the EBR acquires prefixes via an automated IPv4 prefix
delegation exchange, explicit management, etc.
For IPv6 EIDs, the EBR acquires prefixes via DHCPv6 Prefix Delegation
exchanges. In particular, the EBR (acting as a requesting router)
can use DHCPv6 prefix delegation [RFC3633] over the VET interface to
obtain IPv6 EID prefixes from the server (acting as a delegating
router).
Templin Expires June 26, 2010 [Page 16]
Internet-Draft VET December 2009
The EBR obtains prefixes using either a 2-message or 4-message DHCPv6
exchange [RFC3315]. For example, to perform the 2-message exchange,
the EBR's DHCPv6 client forwards a Solicit message with an IA_PD
option to its DHCPv6 relay, i.e., the EBR acts as a combined client/
relay (see Section 4.1). The relay then forwards the message over
the VET interface to an EBG, which either services the request or
relays it further. The forwarded Solicit message will elicit a reply
from the server containing PA IPv6 prefix delegations.
The EBR can also propose a specific prefix to the DHCPv6 server per
Section 7 of [RFC3633]. The server will check the proposed prefix
for consistency and uniqueness, then return it in the reply to the
EBR if it was able to perform the delegation.
After the EBR receives PA prefix delegations, it can provision the
prefixes on enterprise-edge interfaces as well as on other VET
interfaces for which it is configured as an EBG. It can also
provision the prefixes on enterprise-interior interfaces so that non-
mobile hosts on those interfaces can use them for EID address
autoconfiguration.
The PA prefix delegations remain active as long as the EBR continues
to issue DHCP renewals over the VET interface before lease lifetimes
expire. The lease lifetime also keeps the delegation state active
even if communications between the EBR and DHCP server are disrupted
for a period of time (e.g., due to an enterprise network partition,
power failure, etc.).
4.2.3. Provider-Independent (PI) EID Prefix Autoconfiguration
Independent of any PA prefixes, EBRs can acquire and use Provider-
Independent (PI) EID prefixes that are self-configured (e.g., using
[RFC4193], etc.) and/or delegated by a registration authority (e.g.,
through a regional Internet registry, through a different provider,
through a centrally-assigned unique local address delegation
authority [I-D.hain-ipv6-ulac], etc.). When an EBR acquires a PI
prefix, it must also obtain credentials that it can use to prove
ownership when it registers the prefixes (see Section 5.4 and
Section 5.4.5).
After the EBR receives PI prefix delegations, it can provision the
prefixes on enterprise-edge interfaces as well as on other VET
interfaces for which it is configured as an EBG. It can also
provision the prefixes on enterprise-interior interfaces as long as
other nodes on those interfaces can unambiguously associate the
prefixes with the EBR.
The minimum-sized IPv6 PI prefix that an EBR may acquire is a /56.
Templin Expires June 26, 2010 [Page 17]
Internet-Draft VET December 2009
The minimum-sized IPv4 PI prefix that an EBR may acquire is a /24.
4.3. Enterprise Border Gateway (EBG) Autoconfiguration
EBGs are EBRs that connect child enterprises to provider networks via
provider-edge interfaces and/or via VET interfaces configured over
parent enterprises. EBGs autoconfigure their provider-edge
interfaces in a manner that is specific to the provider connections,
and they autoconfigure their VET interfaces that were configured over
parent enterprises using the EBR autoconfiguration procedures
specified in Section 4.2.
For each of its VET interfaces configured over a child enterprise,
the EBG initializes the interface the same as for an ordinary EBR
(see Section 4.2.1). It must then arrange to add one or more of its
RLOCs associated with the child enterprise to the PRL as specified in
[RFC5214], Section 9. In particular, for each VET interface
configured over a child enterprise, the EBG adds the RLOCs to name
service resource records for 'PRLNAME' ("isatapv2.example.com, by
default).
EBGs respond to LLMNR queries for 'PRLNAME' on VET interfaces
configured over child enterprises with a distributed management
structure.
EBGs configure a DHCP relay/server on VET interfaces configured over
child enterprises that require DHCP services.
To avoid looping, EBGs must not configure a default route on a VET
interface configured over a child interface.
4.4. VET Host Autoconfiguration
Nodes that cannot be attached via an EBR's enterprise-edge interface
(e.g., nomadic laptops that connect to a home office via a Virtual
Private Network (VPN)) can instead be configured for operation as a
simple host connected to the VET interface. Such VET hosts perform
the same VET interface initialization and border gateway discovery
procedures as specified for EBRs in Section 4.2.1, but they configure
their VET interfaces as host interfaces (and not router interfaces).
Note also that a node may be configured as a host on some VET
interfaces and as an EBR/EBG on other VET interfaces.
VET hosts perform address autoconfiguration on VET interfaces
according to [RFC4862]. When a VET host generates a VET address, it
first creates an interface identifier that embeds its IPv4 RLOC
address as specified in Section 6.1 of [RFC5214]. The host then
configures IPv6 unicast VET addresses from advertised on-link
Templin Expires June 26, 2010 [Page 18]
Internet-Draft VET December 2009
prefixes received in RA messages and assigns them to the VET
interface, i.e., it does not perform Duplicate Address Detection
(DAD) on the addresses since the embedded IPv4 RLOC address already
provides uniqueness.
5. Internetworking Operation
Following the autoconfiguration procedures specified in Section 4,
ERs, EBRs, EBGs, and VET hosts engage in normal internetworking
operations as discussed in the following sections.
5.1. Prefix Registration
Following autoconfiguration, EBRs must register their PI/PA prefixes
with provider networks by sending RAs to each EBG listed in 'PRLNAME'
with Route Information Options that contain the EBR's prefixes (see:
Section 5.4.1). For enterprises that use SEND, the RAs also include
a CGA link-local inner source address, SEND credentials, plus any
certificates needed to prove ownership of the prefixes. Each RA must
include the RLOC of an EBG as the outer IP destination address and a
link-local address formed from the RLOC as the inner IP destination
address. Each such EBG in turn relays the RAs to EBGs on their
parent enterprises. After the initial prefix registration, the EBR
must periodically send additional RAs to its set of EBGs to refresh
prefix lifetimes (an RA interval of 120 seconds is recommended).
This procedure has a direct analogy in the Teredo method of
maintaining state in network middleboxes through the periodic
transmission of "bubbles" [RFC4380].
When an EBG receives the RA, it first authenticates the message; if
the authentication fails, the EBG discards the RA. Otherwise, the
EBG installs the prefixes with their respective lifetimes in its
Forwarding Information Base (FIB) and configures them for both
ingress filtering [RFC3704] and forwarding purposes. In particular,
the EBG configures the FIB entries as ingress filter rules to accept
packets received on the VET interface that have a source address
taken from the prefixes. It also configures the FIB entries to
permit forwarding of packets with a destination address taken from
the prefixes to the EBR that registered the prefixes on the VET
interface.
After the EBG authenticates the RA and updates its FIB, it next acts
as a Neighbor Discovery proxy (NDProxy) [RFC4389] on the VET
interfaces configured over any of its parent enterprises, and relays
a proxied RA to the EBGs on those interfaces. (For enterprises that
use SEND, the EBG additionally acts as a SEcure Neighbor Discovery
Proxy (SENDProxy) ][I-D.ietf-csi-proxy-send].) EBGs in parent
Templin Expires June 26, 2010 [Page 19]
Internet-Draft VET December 2009
enterprises that receive the proxied RAs in turn act as NDProxys/
SENDProxys to relay the RAs to EBGs on their parent enterprises, etc.
The RA proxying recurses in this fashion and ends when an EBR
attached to an interdomain routing core is reached.
5.2. Routing Protocol Participation
Following prefix registration, ERs engage in any enterpise-interior
routing protocols and forward IP packets with RLOC addresses. EBRs
can additionally engage in any overlay network routing protocols and
forward IP packets with EID addresses. Note that the EID-based
overlay network IP routing domains are separate and distinct from any
RLOC-based enterprise-interior IP routing domains.
EBRs use the list of EBGs on the VET interface (see: Section 4.2.1.2)
as an initial list of neighbors for overlay network routing protocol
participation. Routing protocol participation on non-multicast VET
interfaces uses the NBMA model, e.g., in the same manner as for OSPF
over NBMA interfaces [RFC5340].
5.3. Address Selection
When permitted by policy and supported by enterprise-interior
routing, end systems should avoid VET interface encapsulation through
communications that directly invoke the outer IP protocol using RLOC
addresses instead of EID addresses. For example, an enterprise that
provides native IPv4 internal network services can provide continued
support for native IPv4 communications even when encapsulated IPv6
services are available on the overlay network. In other enterprise
scenarios, the use of EID-based communications (i.e., instead of
RLOC-based communications) may be necessary and/or beneficial to
support address scaling, NAT avoidance, security domain separation,
site multihoming, traffic engineering, etc. .
End systems can use source address selection rules to determine
whether to use EID-based encapsulated or RLOC-based native addressing
based on, e.g., name service information. The remainder of this
section discusses internetworking operation for EID-based
communications using the VET interface abstraction.
5.4. Neighbor Discovery
The following sections discuss IPv6 Neighbor Discovery (ND)
considerations for the case of IPv6 as the inner IP protocol and IPv4
as the outer protocol (ND considerations for other IP protocol
combinations are out of scope). Depending on the enterprise network
trust basis, VET nodes may be required to use mechanisms such as SEND
to secure their ND exchanges.
Templin Expires June 26, 2010 [Page 20]
Internet-Draft VET December 2009
5.4.1. Router and Prefix Discovery
5.4.1.1. EBR Specification
EBRs discover the addresses of EBGs for each VET interface as
specified in Section 4.2.1.2, and participate in a dynamic routing
protocol over the VET interface. When a dynamic routing protocol
cannot be used (or, when an out-of-band routing exchange is required)
EBRs send RA messages with a "Solicit (S)" bit set to inform EBGs of
their PI/PA prefixes and to receive RA messages from the EBGs in
reply. Each RA message has the same format as specified in Section
4.2 of [RFC4861], but with a new 'S' bit in the RA flags field as
follows:
+-+-+-+-+-+-+-+-+
|M|O|H|Prf|P|S|R|
+-+-+-+-+-+-+-+-+
Figure 2: Router Advertisement Flags Field
When an EBR sends an RA with the 'S' bit set, it includes Route
Information Options (RIOs) [RFC4191] that contain any of its PI/PA
prefixes, but it MUST NOT include any other autoconfiguration
parameters (e.g., non-zero Router Lifetime, Prefix Information
Options (PIOs), etc.) The EBR also unconditionally sets the 'M' bit
to 0 and the 'O' bit to 1. Next, the EBR includes Source Link-Layer
Address Options (SLLAOs) formatted using a modified version of the
form specified in Section 5 of [RFC2529] as shown in Figure 3:
+-------+-------+-------+-------+-------+-------+-------+-------+
| Type |Length | Reserved | IPv4 Address |
+-------+-------+-------+-------+-------+-------+-------+-------+
Figure 3: VET Link-Layer Address Option Format
Each SLLAO encodes the IPv4 RLOC address of one of its enterprise-
interior interfaces; the EBR MAY include multiple SLLAO's (e.g., to
support fault tolerance should an enterprise-interior interface
fail). When the EBR includes multiple SLLAOs, it arranges them in
increasing order of priority, i.e., the first SLLAO includes the
lowest priority RLOC and the final SLLAO includes the highest
priority RLOC.
For enterprises that use SEND, the EBR also includes a CGA link-local
inner source address, SEND credentials, plus any certificates needed
to prove ownership of the prefixes in Route Information Options
(RIOs). The EBR additionally tracks the set of EBGs to which it
sends RAs so that it can send subsequent RAs to the same set. Note
Templin Expires June 26, 2010 [Page 21]
Internet-Draft VET December 2009
that the CGA link-local address is used only as the inner source
address of ND messages using SEND, and therefore need not be checked
for uniqueness on the link.
When an EBR receives a solicited RA from an EBG (see Section
5.3.1.2), it authenticates the message then processes any
autoconfiguration information. However, the EBR MUST NOT assign
prefixes from any of the EBG's advertised PIOs to the link, since
legacy VET hosts may have no way of knowing whether an EBR is
authorized to source packets from a particular prefix range. This
implies that the EBR considers any prefixes in PIOs as associated
with the VET interface but not on-link on the VET interface;
therefore, communications involving a VET host and an EBR will be
forwarded via an EBG until a redirection event occurs.
Similarly, when an EBR receives a solicited NA from a VET host (see
Section 5.3.1.3), it authenticates the message then creates an entry
for the host in its neighbor cache. Thereafter, the EBR uses
ordinary Neighbor Unreachability Detection (NUD) to confirm VET host
reachability.
5.4.1.2. EBG Specification
EBGs follow the router and prefix discovery procedures specified in
Section 8.2 of [RFC5214], except that they send solicited RAs in
response to both ordinary RS messages and RA messages with the 'S'
bit set (see: Section 5.4.1.1). This behavior extends the Router
Advertisement Consistency specification in Section 6.2.7 of [RFC4861]
by requiring EBGs to process received RA messages with the 'S' bit
set and send an RA of their own in reply.
When the EBG receives an RS or RA with the 'S' bit set, it first
authenticates the message. If the VET interface maintains a neighbor
cache, the EBG next creates or updates a neighbor cache entry for the
VET link-local source address corresponding to the solicitation
according to Section 6.2.6 of [RFC4861]. If the neighbor cache entry
cannot be created or updated (e.g., due to insufficient resources),
the EBG silently discards the solicitation and does not send an RA.
Otherwise, the EBG creates/updates the neighbor cache entry, sets a
"Time To Live (TTL)" on the entry that is no shorter than any of its
advertised router or prefix lifetimes, and sends an RA response to
the solicitation. If the neighbor cache entry TTL subsequently
expires before a new solicitation arrives, the EBG deletes the
neighbor cache entry. Note that if the VET interface does not
maintain a neighbor cache, the EBG simply omits these neighbor cache
manipulations and sends the RA response to the solicitation.
After creating or updating the neighbor cache entry, if the
Templin Expires June 26, 2010 [Page 22]
Internet-Draft VET December 2009
solicitation was an RA message with the 'S' bit set the EBG processes
any RIOs but ignores all other information in the message. The EBG
then advertises the RIO prefixes to any of its provider networks,
whether as a specific prefix or as a portion of an aggregated prefix.
Whether the solicitation was an RS or an RA, the EBG next prepares an
RA that includes Router Lifetimes, PIOs, and any other options/
parameters that the EBG is configured to include. The EBG also
unconditionally sets the 'M' bit to 0, the 'O' bit to 1 and the 'S'
bit to 0. Next, the EBG includes SLLAOs and SEND parameters the same
as specified for EBRs in Section 5.4.1.1. Finally, the EBG sends the
solicited RA to the VET node that sent the solicitation.
5.4.1.3. VET Host Specification
VET hosts follow the router and prefix discovery procedures specified
in [RFC5214], Section 8.3. They discover the addresses of EBGs for
each VET interface as specified in Section 4.2.1.2, and send an RS
message to each EBG in order to receive RAs with autoconfiguration
information.
When the VET host receives a solicited RA from an EBG, it
authenticates the message then performs autoconfiguration the same as
for any link (see also: Section 4.4). When the VET host receives an
unsolicited RA from an EBR (i.e., an RA with the 'S' bit set), it
authenticates the message then processes any RIOs and sends a
Neighbor Advertisement (NA) message back to the EBR.
5.4.2. Next Hop Determination
VET nodes perform next-hop determination via longest prefix match the
same as for any IPv6 interface and sends packets according to the
most-specific matching entry in the FIB, i.e., even if the most
specific FIB entry is "default". When there is no matching entry in
the FIB (i.e., not even "default"), VET nodes can discover next-hop
EBRs within the enterprise by querying the name service for the /56
IPv6 PI prefix taken from a packet's destination address (or, by some
other inner-IP to outer-IP address mapping mechanism). For example,
for the IPv6 destination address '2001:DB8:1:2::1' and 'PRLNAME'
"isatapv2.example.com" the VET node can lookup the domain name:
'0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.isatapv2.example.com'.
Name-service lookups in enterprises with a centralized management
structure use an infrastructure-based service, e.g., an enterprise-
local DNS. Name-service lookups in enterprises with a distributed
management structure and/or that lack an infrastructure-based name
service instead use LLMNR over the VET interface. When LLMNR is
used, the EBR that performs the lookup sends an LLMNR query (with the
Templin Expires June 26, 2010 [Page 23]
Internet-Draft VET December 2009
/56 prefix taken from the IP destination address encoded in dotted-
nibble format as shown above) and accepts the union of all replies it
receives from other EBRs on the VET interface. When an EBR receives
an LLMNR query, it responds to the query IFF it aggregates an IP
prefix that covers the prefix in the query.
If the name-service lookup succeeds, it will return RLOC addresses
(e.g., in DNS A records) that correspond to next-hop EBRs to which
the VET node can forward packets.
5.4.3. Redirect Function
In enterprises with a stable and highly-available set of EBGs, the
VET node can simply forward initial packets via a default route to an
EBG. The EBG will forward the packet and return an ICMPv6 Redirect
as specified in Section 8 of [RFC4861] if the next-hop corresponds to
a VET node on the same interface.
If the source address of the packet causing the redirect is on-link
on the VET interface, the EBG returns an ordinary "router-to-host"
redirect with the source address of the packet as its destination.
When a VET host receives the redirect, it processes the redirect
exactly as specified in Section 8 of [RFC4861].
If the source address of the packet causing the redirect is not on-
link, the EBG instead returns a "router-to-router" redirect with the
link-local VET address of the previous-hop EBR as its destination,
with the link-local address of a next-hop EBR as the redirected
target, and with the destination address of the original packet as
the redirected destination. The EBG includes in the redirect one or
more IPv6 TLLAOs formatted as specified in Section 5.3.1.1. Each
TLLAO contains the IPv4 RLOC of a potential next-hop EBR interfaces
arranged in order from lowest to highest priority (i.e., the first
TLLAO contains the lowest priority RLOC and the final TLLAO option
contains the highest priority). Finally, the EBG includes the header
of the redirected packet.
When an EBR receives a "router-to-router" redirect, it discovers the
RLOC addresses of potential next-hop EBRs by examining the TLLAOs
included in the redirect. The EBR then prepares an RA with the 'S'
bit set as specified in Section 5.3.1.1, and includes an RIO that
contains a /56 prefix taken from the original packet's source
address. The EBR then sends the RA to the VET link-local address of
a next-hop EBR interface formed from an IPv4 RLOC embedded in one of
the redirect's TLLAOs.
When a next-hop EBR receives the RA, it authenticates the message
(e.g., using SEND credentials). The EBR then installs any prefixes
Templin Expires June 26, 2010 [Page 24]
Internet-Draft VET December 2009
in RIOs in its FIB and marks them for use as ingress filtering only
(i.e., and not for forwarding). The EBR then sends a NULL RA message
reply back to the previous-hop EBR with the 'S' bit set to 0. When
the previous-hop EBR receives the RA reply, it installs the /56
prefix corresponding to the packet's destination address in its FIB
and marks it for use as forwarding only (i.e., and not for ingress
filtering).
EBRs retain the FIB entries created as a result of an ICMP redirect
until the route lifetimes expire, or until no hints of forward
progress through any of the associated RLOCs are received. In this
way, RLOC liveness detection exactly parallels IPv6 Neighbor
Unreachability Detection ([RFC4861], Section 3).
5.4.4. Reverse Path Forwarding Checks
VET nodes determine whether a packet received on a VET interface can
be accepted based on an ingress filtering check. The VET node
determines the previous hop router for a received packet by
constructing a VET link-local address that embeds the outer IPv4
source address. It then examines its FIB to determine whether there
is an entry that matches the inner IPv6 source address and has the
VET link-local address as the next hop. If such a FIB entry exists,
the VET host accepts the packet; otherwise, it discards the packet.
5.4.5. IPv4 Neighbor Discovery
When IPv4 is used as the inner IP protocol, router discovery and
prefix registration exactly parallel the mechanisms specified for
IPv6 in Section 5.4. To support this, modifications to the ICMPv4
Router Advertisement [RFC1256] function to include SEND constructs
and modifications to the ICMPv4 Redirect [RFC0792] function to
support router-to-router redirects will be specified in a future
document. Additionally, publications for IPv4 prefixes will be in
dotted-nibble format in the 'ip4.isatapv2.example.com' domain. For
example, the IPv4 prefix 192.0.2/24 would be represented as:
'2.0.0.0.0.c.ip4.isatapv2.example.com'
5.5. Generating Errors
When an EBR receives an IPv6 packet over a VET interface and there is
no matching ingress filter entry, it drops the packet and returns an
ICMPv6 [RFC4443] "Destination Unreachable; Source address failed
ingress/egress policy" message to the previous-hop EBR subject to
rate limiting.
When an EBR receives an IPv6 packet over a VET interface, and there
is no longest-prefix-match FIB entry for the destination, it returns
Templin Expires June 26, 2010 [Page 25]
Internet-Draft VET December 2009
an ICMPv6 "Destination Unreachable; No route to destination" message
to the previous hop EBR subject to rate limiting.
When an EBR receives an IPv6 packet over a VET interface and the
longest-prefix-match FIB entry for the destination is via a next-hop
configured over the same VET interface the packet arrived on, the EBR
forwards the packet. If the FIB prefix is longer than ::/0, the EBR
then sends a router-to-router ICMPv6 Redirect message (using SEND, if
necessary) to the previous-hop EBR as specified in Section 5.4.3.
Generation of other ICMP messages [RFC0792] [RFC4443] is the same as
for any IP interface.
5.6. Processing Errors
When a VET node receives an ICMPv6 "Destination Unreachable; Source
address failed ingress/egress policy" message, and there is a
longest-prefix-match FIB entry for the original packet's destination
that is more specific than ::/0, the node discards the message and
marks the FIB entry for the destination as "forwarding suspended" for
the RLOC taken from the source address of the ICMPv6 message. The
node should then allow subsequent packets to flow through different
RLOCs associated with the FIB entry. If the node receives excessive
ICMPv6 ingress/egress policy errors through multiple RLOCs associated
with the same FIB entry, it should delete the FIB entry and allow
subsequent packets to flow through an EBG if supported in the
specific enterprise scenario.
When a VET node receives an ICMPv6 "Destination Unreachable; No route
to destination" message, it forwards the ICMPv6 message to the source
of the original packet as normal. If the node has a longest-prefix-
match FIB entry for the original packet's destination that is more
specific than ::/0, the node also deletes the FIB entry.
When a VET node receives an authentic ICMPv6 Redirect, it processes
the packet as specified in Section 5.4.3.
Additionally, a VET node may receive ICMP "Destination Unreachable;
net / host unreachable" messages from an ER on the path indicating
that the path to a VET neighbor may be failing. The node should
first check authenticating information (e.g., the SEAL_ID, IPsec
sequence number, source address of the original packet if available,
etc.) to obtain reasonable assurance that the ICMP message is
authentic, then should mark the longest-prefix-match FIB entry for
the destination as "forwarding suspended" for the RLOC destination
address of the ICMP packet-in-error. If the node receives excessive
ICMP unreachable errors through multiple RLOCs associated with the
same FIB entry, it should delete the FIB entry and allow subsequent
Templin Expires June 26, 2010 [Page 26]
Internet-Draft VET December 2009
packets to flow through a different route.
5.7. Mobility and Multihoming Considerations
EBRs that travel between distinct enterprise networks must either
abandon their PA prefixes that are relative to the "old" enterprise
and obtain new ones relative to the "new" enterprise or somehow
coordinate with a "home" enterprise to retain ownership of the
prefixes. In the first instance, the EBR would be required to
coordinate a network renumbering event using the new PA prefixes
[RFC4192]. In the second instance, an ancillary mobility management
mechanism must be used.
EBRs can retain their PI prefixes as they travel between distinct
enterprise networks as long as they register the prefixes with new
EBGs and (preferably) withdraw the prefixes from old EBGs prior to
departure. Prefix registration with new EBGs is coordinated exactly
as specified in Section 4.2.4; prefix withdrawal from old EBGs is
simply through re-announcing the PI prefixes with zero lifetimes.
Since EBRs can move about independently of one another, stale FIB
entry state may be left in VET nodes when a neighboring EBR departs.
Additionally, EBRs can lose state for various reasons, e.g., power
failure, machine reboot, etc. For this reason, EBRs are advised to
set relatively short PI prefix lifetimes in RIO options, and to send
additional RAs to refresh lifetimes before they expire. (EBRs should
place conservative limits on the RAs they send to reduce congestion,
however.)
EBRs may register their PI prefixes with multiple EBGs for
multihoming purposes. EBRs should only forward packets via EBGs with
which it has registered its PI prefixes, since other EBGs may drop
the packets and return ICMPv6 "Destination Unreachable; Source
address failed ingress/egress policy" messages.
EBRs can also act as delegating routers to sub-delegate portions of
their PI prefixes to requesting routers on their enterprise-edge
interfaces and on VET interfaces for which they are configured as
EBGs. In this sense, the sub-delegations of an EBR's PI prefixes
become the PA prefixes for downstream-dependent nodes.
The EBGs of a multihomed enterprise should participate in a private
inner IP routing protocol instance between themselves (possibly over
an alternate topology) to accommodate enterprise partitions/merges as
well as intra-enterprise mobility events. These peer EBGs should
accept packets from one another without respect to the destination
(i.e., ingress filtering is based on the peering relationship rather
than a prefix-specific ingress filter entry).
Templin Expires June 26, 2010 [Page 27]
Internet-Draft VET December 2009
5.8. Multicast
In multicast-capable deployments, ERs provide an enterprise-wide
multicasting service (e.g., Simplified Multicast Forwarding (SMF)
[I-D.ietf-manet-smf], Protocol Independent Multicast (PIM) routing,
Distance Vector Multicast Routing Protocol (DVMRP) routing, etc.)
over their enterprise-interior interfaces such that outer IP
multicast messages of site-scope or greater scope will be propagated
across the enterprise. For such deployments, VET nodes can also
provide an inner IP multicast/broadcast capability over their VET
interfaces through mapping of the inner IP multicast address space to
the outer IP multicast address space. In that case, operation of
link-scoped (or greater scoped) inner IP multicasting services (e.g.,
a link-scoped neighbor discovery protocol) over the VET interface is
available, but link-scoped services should be used sparingly to
minimize enterprise-wide flooding.
VET nodes encapsulate inner IP multicast messages sent over the VET
interface in any mid-layer headers (e.g., SEAL, IPsec, etc.) followed
by an outer IP header with a site-scoped outer IP multicast address
as the destination. For the case of IPv6 and IPv4 as the inner/outer
protocols (respectively), [RFC2529] provides mappings from the IPv6
multicast address space to a site-scoped IPv4 multicast address space
(for other encapsulations, mappings are established through
administrative configuration or through an unspecified alternate
static mapping).
Multicast mapping for inner IP multicast groups over outer IP
multicast groups can be accommodated, e.g., through VET interface
snooping of inner multicast group membership and routing protocol
control messages. To support inner-to-outer IP multicast mapping,
the VET interface acts as a virtual outer IP multicast host connected
to its underlying interfaces. When the VET interface detects that an
inner IP multicast group joins or leaves, it forwards corresponding
outer IP multicast group membership reports on an underlying
interface over which the VET interface is configured. If the VET
node is configured as an outer IP multicast router on the underlying
interfaces, the VET interface forwards locally looped-back group
membership reports to the outer IP multicast routing process. If the
VET node is configured as a simple outer IP multicast host, the VET
interface instead forwards actual group membership reports (e.g.,
IGMP messages) directly over an underlying interface.
Since inner IP multicast groups are mapped to site-scoped outer IP
multicast groups, the VET node must ensure that the site-scope outer
IP multicast messages received on the underlying interfaces for one
VET interface do not "leak out" to the underlying interfaces of
another VET interface. This is accommodated through normal site-
Templin Expires June 26, 2010 [Page 28]
Internet-Draft VET December 2009
scoped outer IP multicast group filtering at enterprise boundaries.
5.9. Service Discovery
VET nodes can perform enterprise-wide service discovery using a
suitable name-to-address resolution service. Examples of flooding-
based services include the use of LLMNR [RFC4795] over the VET
interface or multicast DNS (mDNS) [I-D.cheshire-dnsext-multicastdns]
over an underlying interface. More scalable and efficient service
discovery mechanisms are for further study.
5.10. Enterprise Partitioning
EBGs can physically partition an enterprise by configuring multiple
VET interfaces over multiple distinct sets of underlying interfaces.
In that case, each partition (i.e., each VET interface) must
configure its own distinct 'PRLNAME' (e.g.,
'isatapv2.zone1.example.com', 'isatapv2.zone2.example.com', etc.).
EBGs can logically partition an enterprise using a single VET
interface by sending RAs with PIOs containing different IPv6 PA
prefixes to group nodes into different logical partitions. EBGs can
identify partitions, e.g., by examining RLOC prefixes, observing the
interfaces over which RSs are received, etc. In that case, a single
'PRLNAME' can cover all partitions.
5.11. EBG Prefix State Recovery
EBGs must retain explicit state that tracks the inner IP prefixes
owned by EBRs within the enterprise, e.g., so that packets are
delivered to the correct EBRs and not incorrectly "leaked out" of the
enterprise via a default route. When an EBG loses some or all of its
state (e.g., due to a power failure), it must recover the state so
that packets can be forwarded over correct routes.
5.12. Support for Legacy ISATAP Services
EBGs support legacy ISATAP services according to the specifications
in [RFC5214]. In particular, EBGs can configure legacy ISATAP
interfaces and VET interfaces over the same sets of underlying
interface as long as the PRL names and IPv6 prefixes associated with
the ISATAP/VET interfaces are distinct.
5.13. SEAL Encapsulation
After address resolution, the VET interface encapsulates the inner IP
packet in any mid-layer headers (e.g., IPsec [RFC4301]) followed a
SEAL header [I-D.templin-intarea-seal] followed by an outer IP
Templin Expires June 26, 2010 [Page 29]
Internet-Draft VET December 2009
header; it next submits the encapsulated packet to the outer IP
forwarding engine for transmission on an underlying interface.
VET interfaces use SEAL encapsulation to accommodate path MTU
diversity, to defeat source address spoofing, and to enable sub-IP
layer hints of forward progress that can be piggybacked on ordinary
data messages. SEAL encapsulation maintains a unidirectional and
monotonically incrementing per-packet identification value known as
the 'SEAL_ID'. When a VET node that uses SEAL encapsulation receives
an authentic neighbor discovery message from another VET node, it can
cache the new SEAL_ID as per-tunnel state used for maintaining a
window of unacknowledged SEAL_IDs.
In terms of security, when a VET node receives an ICMP message or a
SEAL error message, it can confirm that the packet-in-error within
the message corresponds to one of its recently sent packets by
examining the SEAL_ID along with source and destination addresses,
etc. Additionally, a next-hop EBR can track the SEAL_ID in packets
received from EBRs for which there is an ingress filter entry and
discard packets that have SEAL_ID values outside of the current
window. (Note that for IPv6 in IPv4 encapsulation packets with a
link-local IPv6 destination address are excluded from this check to
support operation of the neighbor discovery protocol.)
In terms of next-hop reachability, an EBR can set the SEAL
"Acknowledgement Requested" bit in messages to receive confirmation
that a next-hop EBR is reachable. (Note that this is a mid-layer
reachability confirmation, and not an L2 reachability indication.)
Setting the "Acknowledgement Requested" bit is also used as the
method for maintaining the window of outstanding SEAL_IDs.
6. IANA Considerations
There are no IANA considerations for this document.
7. Security Considerations
Security considerations for MANETs are found in [RFC2501].
The security considerations found in [RFC2529] [RFC5214]
[I-D.nakibly-v6ops-tunnel-loops] also apply to VET. In particular:
o VET nodes must ensure that a VET interface does not span multiple
sites as specified in Section 6.2 of [RFC5214].
Templin Expires June 26, 2010 [Page 30]
Internet-Draft VET December 2009
o VET nodes must verify that the outer IP source address of a packet
received on a VET interface is correct for the inner IP source
address; for the case of IPv6 in IPv4 encapsulation, this is
accommodated using the procedures specified in Section 7.3 of
[RFC5214].
o EBRs must implement both inner and outer IP ingress filtering in a
manner that is consistent with [RFC2827] as well as ip-proto-41
filtering. When the node at the physical boundary of the
enterprise is an ordinary ER (i.e., and not an EBR), the ER itself
should implement filtering.
Additionally, VET interfaces that use IPv6 in IPv4 encapsulation and
that maintain a coherent neighbor cache drop all outbound packet for
which the IPv6 next hop is not a neighbor and the IPv6 source address
is not link-local; they also drop all incoming packets for which the
IPv6 previous hop is not a neighbor and the IPv6 destination address
is not link-local. (Here, the previous hop is determined by
examining the IPv4 source address.)
Finally, VET interfaces that use IPv6 in IPv4 encapsulation drop all
outbound packets for which the IPv6 source address is "foreign-
prefix::0200:5efe:V4ADDR" and drop all incoming packets for which the
IPv6 destination address is "foreign-prefix::0200:5efe:V4ADDR" .
(Here, "foreign-prefix" is an IPv6 prefix that is not assigned to the
VET interface, and "V4ADDR" is a public IPv4 address over which the
VET interface is configured.) Note that these checks are only
required for VET interfaces that cannot maintain a coherent neighbor
cache.
SEND [RFC3971] and/or IPsec [RFC4301] can be used in environments
where attacks on the neighbor discovery protocol are possible. SEAL
[I-D.templin-intarea-seal] provides a per-packet identification that
can be used to detect source address spoofing.
Rogue neighbor discovery messages with spoofed RLOC source addresses
can consume network resources and cause VET nodes to perform extra
work. Nonetheless, VET nodes should not "blacklist" such RLOCs, as
that may result in a denial of service to the RLOCs' legitimate
owners.
8. Related Work
Brian Carpenter and Cyndi Jung introduced the concept of intra-site
automatic tunneling in [RFC2529]; this concept was later called:
"Virtual Ethernet" and investigated by Quang Nguyen under the
guidance of Dr. Lixia Zhang. Subsequent works by these authors and
Templin Expires June 26, 2010 [Page 31]
Internet-Draft VET December 2009
their colleagues have motivated a number of foundational concepts on
which this work is based.
Telcordia has proposed DHCP-related solutions for MANETs through the
CECOM MOSAIC program.
The Naval Research Lab (NRL) Information Technology Division uses
DHCP in their MANET research testbeds.
Security concerns pertaining to tunneling mechanisms are discussed in
[I-D.ietf-v6ops-tunnel-security-concerns].
Default router and prefix information options for DHCPv6 are
discussed in [I-D.droms-dhc-dhcpv6-default-router].
An automated IPv4 prefix delegation mechanism is proposed in
[I-D.ietf-dhc-subnet-alloc].
RLOC prefix delegation for enterprise-edge interfaces is discussed in
[I-D.clausen-manet-autoconf-recommendations].
MANET link types are discussed in [I-D.clausen-manet-linktype].
Various proposals within the IETF have suggested similar mechanisms.
9. Acknowledgements
The following individuals gave direct and/or indirect input that was
essential to the work: Jari Arkko, Teco Boot, Emmanuel Bacelli, James
Bound, Scott Brim, Brian Carpenter, Thomas Clausen, Claudiu Danilov,
Chris Dearlove, Ralph Droms, Dino Farinacci, Vince Fuller, Thomas
Goff, Joel Halpern, Bob Hinden, Sascha Hlusiak, Sapumal Jayatissa,
Dan Jen, Darrel Lewis, Tony Li, Joe Macker, David Meyer, Gabi
Nakibly, Thomas Narten, Pekka Nikander, Dave Oran, Alexandru
Petrescu, John Spence, Jinmei Tatuya, Dave Thaler, Ole Troan,
Michaela Vanderveen, Lixia Zhang, and others in the IETF AUTOCONF and
MANET working groups. Many others have provided guidance over the
course of many years.
10. Contributors
The following individuals have contributed to this document:
Eric Fleischman (eric.fleischman@boeing.com)
Thomas Henderson (thomas.r.henderson@boeing.com)
Steven Russert (steven.w.russert@boeing.com)
Templin Expires June 26, 2010 [Page 32]
Internet-Draft VET December 2009
Seung Yi (seung.yi@boeing.com)
Ian Chakeres (ian.chakeres@gmail.com) contributed to earlier versions
of the document.
Jim Bound's foundational work on enterprise networks provided
significant guidance for this effort. We mourn his loss and honor
his contributions.
11. References
11.1. Normative References
[I-D.templin-intarea-seal]
Templin, F., "The Subnetwork Encapsulation and Adaptation
Layer (SEAL)", draft-templin-intarea-seal-07 (work in
progress), October 2009.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5,
RFC 792, September 1981.
[RFC0826] Plummer, D., "Ethernet Address Resolution Protocol: Or
converting network protocol addresses to 48.bit Ethernet
address for transmission on Ethernet hardware", STD 37,
RFC 826, November 1982.
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering:
Defeating Denial of Service Attacks which employ IP Source
Address Spoofing", BCP 38, RFC 2827, May 2000.
[RFC3007] Wellington, B., "Secure Domain Name System (DNS) Dynamic
Update", RFC 3007, November 2000.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
Templin Expires June 26, 2010 [Page 33]
Internet-Draft VET December 2009
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi,
"DNS Extensions to Support IP Version 6", RFC 3596,
October 2003.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003.
[RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
Neighbor Discovery (SEND)", RFC 3971, March 2005.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005.
[RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and
More-Specific Routes", RFC 4191, November 2005.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
[RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control
Message Protocol (ICMPv6) for the Internet Protocol
Version 6 (IPv6) Specification", RFC 4443, March 2006.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
September 2007.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007.
[RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site
Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214,
March 2008.
11.2. Informative References
[CATENET] Pouzin, L., "A Proposal for Interconnecting Packet
Switching Networks", May 1974.
[I-D.cheshire-dnsext-multicastdns]
Cheshire, S. and M. Krochmal, "Multicast DNS",
draft-cheshire-dnsext-multicastdns-08 (work in progress),
September 2009.
[I-D.clausen-manet-autoconf-recommendations]
Templin Expires June 26, 2010 [Page 34]
Internet-Draft VET December 2009
Clausen, T. and U. Herberg, "MANET Router Configuration
Recommendations",
draft-clausen-manet-autoconf-recommendations-00 (work in
progress), February 2009.
[I-D.clausen-manet-linktype]
Clausen, T., "The MANET Link Type",
draft-clausen-manet-linktype-00 (work in progress),
October 2008.
[I-D.droms-dhc-dhcpv6-default-router]
Droms, R. and T. Narten, "Default Router and Prefix
Advertisement Options for DHCPv6",
draft-droms-dhc-dhcpv6-default-router-00 (work in
progress), March 2009.
[I-D.hain-ipv6-ulac]
Hain, T., Hinden, R., and G. Huston, "Centrally Assigned
IPv6 Unicast Unique Local Address Prefixes",
draft-hain-ipv6-ulac-01 (work in progress), October 2009.
[I-D.ietf-autoconf-manetarch]
Chakeres, I., Macker, J., and T. Clausen, "Mobile Ad hoc
Network Architecture", draft-ietf-autoconf-manetarch-07
(work in progress), November 2007.
[I-D.ietf-csi-proxy-send]
Krishnan, S., Laganier, J., and M. Bonola, "Secure Proxy
ND Support for SEND", draft-ietf-csi-proxy-send-01 (work
in progress), July 2009.
[I-D.ietf-dhc-dhcpv6-agentopt-delegate]
Droms, R., Volz, B., and O. Troan, "DHCPv6 Relay Agent
Assignment Notification (RAAN) Option",
draft-ietf-dhc-dhcpv6-agentopt-delegate-04 (work in
progress), July 2009.
[I-D.ietf-dhc-subnet-alloc]
Johnson, R., Kumarasamy, J., Kinnear, K., and M. Stapp,
"Subnet Allocation Option", draft-ietf-dhc-subnet-alloc-10
(work in progress), November 2009.
[I-D.ietf-manet-smf]
Macker, J. and S. Team, "Simplified Multicast Forwarding",
draft-ietf-manet-smf-09 (work in progress), July 2009.
[I-D.ietf-v6ops-tunnel-security-concerns]
Hoagland, J., Krishnan, S., and D. Thaler, "Security
Templin Expires June 26, 2010 [Page 35]
Internet-Draft VET December 2009
Concerns With IP Tunneling",
draft-ietf-v6ops-tunnel-security-concerns-01 (work in
progress), October 2008.
[I-D.jen-apt]
Jen, D., Meisel, M., Massey, D., Wang, L., Zhang, B., and
L. Zhang, "APT: A Practical Transit Mapping Service",
draft-jen-apt-01 (work in progress), November 2007.
[I-D.nakibly-v6ops-tunnel-loops]
Nakibly, G., "Routing Loops using ISATAP and 6to4: Problem
Statement and Proposed Solutions",
draft-nakibly-v6ops-tunnel-loops-00 (work in progress),
October 2009.
[I-D.russert-rangers]
Russert, S., Fleischman, E., and F. Templin, "RANGER
Scenarios", draft-russert-rangers-01 (work in progress),
September 2009.
[I-D.templin-isatap-dhcp]
Templin, F., "Dynamic Host Configuration Protocol (DHCPv4)
Option for the Intra-Site Automatic Tunnel Addressing
Protocol (ISATAP)", draft-templin-isatap-dhcp-06 (work in
progress), December 2009.
[I-D.templin-ranger]
Templin, F., "Routing and Addressing in Next-Generation
EnteRprises (RANGER)", draft-templin-ranger-09 (work in
progress), October 2009.
[IEN48] Cerf, V., "The Catenet Model for Internetworking",
July 1978.
[RASADV] Microsoft, "Remote Access Server Advertisement (RASADV)
Protocol Specification", October 2008.
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989.
[RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256,
September 1991.
[RFC1753] Chiappa, J., "IPng Technical Requirements Of the Nimrod
Routing and Addressing Architecture", RFC 1753,
December 1994.
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
Templin Expires June 26, 2010 [Page 36]
Internet-Draft VET December 2009
E. Lear, "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996.
[RFC1955] Hinden, R., "New Scheme for Internet Routing and
Addressing (ENCAPS) for IPNG", RFC 1955, June 1996.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[RFC2491] Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6
over Non-Broadcast Multiple Access (NBMA) networks",
RFC 2491, January 1999.
[RFC2501] Corson, M. and J. Macker, "Mobile Ad hoc Networking
(MANET): Routing Protocol Performance Issues and
Evaluation Considerations", RFC 2501, January 1999.
[RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
Domains without Explicit Tunnels", RFC 2529, March 1999.
[RFC2775] Carpenter, B., "Internet Transparency", RFC 2775,
February 2000.
[RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains
via IPv4 Clouds", RFC 3056, February 2001.
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed
Networks", BCP 84, RFC 3704, March 2004.
[RFC3753] Manner, J. and M. Kojo, "Mobility Related Terminology",
RFC 3753, June 2004.
[RFC3819] Karn, P., Bormann, C., Fairhurst, G., Grossman, D.,
Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L.
Wood, "Advice for Internet Subnetwork Designers", BCP 89,
RFC 3819, July 2004.
[RFC3927] Cheshire, S., Aboba, B., and E. Guttman, "Dynamic
Configuration of IPv4 Link-Local Addresses", RFC 3927,
May 2005.
[RFC4192] Baker, F., Lear, E., and R. Droms, "Procedures for
Renumbering an IPv6 Network without a Flag Day", RFC 4192,
September 2005.
[RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
Addresses", RFC 4193, October 2005.
Templin Expires June 26, 2010 [Page 37]
Internet-Draft VET December 2009
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through
Network Address Translations (NATs)", RFC 4380,
February 2006.
[RFC4389] Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery
Proxies (ND Proxy)", RFC 4389, April 2006.
[RFC4795] Aboba, B., Thaler, D., and L. Esibov, "Link-local
Multicast Name Resolution (LLMNR)", RFC 4795,
January 2007.
[RFC4852] Bound, J., Pouffary, Y., Klynsma, S., Chown, T., and D.
Green, "IPv6 Enterprise Network Analysis - IP Layer 3
Focus", RFC 4852, April 2007.
[RFC4903] Thaler, D., "Multi-Link Subnet Issues", RFC 4903,
June 2007.
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy
Extensions for Stateless Address Autoconfiguration in
IPv6", RFC 4941, September 2007.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, July 2008.
Appendix A. Duplicate Address Detection (DAD) Considerations
A priori uniqueness determination (also known as "pre-service DAD")
for an RLOC assigned on an enterprise-interior interface would
require either flooding the entire enterprise or somehow discovering
a link in the enterprise on which a node that configures a duplicate
address is attached and performing a localized DAD exchange on that
link. But, the control message overhead for such an enterprise-wide
DAD would be substantial and prone to false-negatives due to packet
loss and intermittent connectivity. An alternative to pre-service
DAD is to autoconfigure pseudo-random RLOCs on enterprise-interior
interfaces and employ a passive in-service DAD (e.g., one that
monitors routing protocol messages for duplicate assignments).
Pseudo-random IPv6 RLOCs can be generated with mechanisms such as
CGAs, IPv6 privacy addresses, etc. with very small probability of
collision. Pseudo-random IPv4 RLOCs can be generated through random
assignment from a suitably large IPv4 prefix space.
Templin Expires June 26, 2010 [Page 38]
Internet-Draft VET December 2009
Consistent operational practices can assure uniqueness for EBG-
aggregated addresses/prefixes, while statistical properties for
pseudo-random address self-generation can assure uniqueness for the
RLOCs assigned on an ER's enterprise-interior interfaces. Still, an
RLOC delegation authority should be used when available, while a
passive in-service DAD mechanism should be used to detect RLOC
duplications when there is no RLOC delegation authority.
Appendix B. Link-Layer Multiplexing and Traffic Engineering
For each distinct enterprise that it connects to, an EBR configures a
VET interface over possibly multiple underlying interfaces that all
connect to the same enterprise. The VET interface therefore
represents the EBR's logical point of attachment to the enterprise,
and provides a logical interface for link-layer multiplexing over its
underlying interfaces as described in Section 3.3.4.1 of [RFC1122]:
"Finally, we note another possibility that is NOT multihoming: one
logical interface may be bound to multiple physical interfaces, in
order to increase the reliability or throughput between directly
connected machines by providing alternative physical paths between
them. For instance, two systems might be connected by multiple
point-to-point links. We call this "link-layer multiplexing".
With link-layer multiplexing, the protocols above the link layer
are unaware that multiple physical interfaces are present; the
link-layer device driver is responsible for multiplexing and
routing packets across the physical interfaces."
EBRs can support such a link-layer multiplexing capability across the
enterprise in accordance with the Weak End System Model (see Section
3.3.4.2 of [RFC1122]). In particular, when an EBR autoconfigures an
RLOC address (see Section 4.1), it can associate it with the VET
interface only instead of assigning it to an underlying interface.
The EBR therefore only needs to obtain a single RLOC address even if
there are multiple underlying interfaces, i.e., it does not need to
obtain one for each underlying interface. The EBR can then leave the
underlying interfaces unnumbered, or it can configure a randomly
chosen IP link-local address (e.g., from the prefix 169.254/16
[RFC3927] for IPv4) on underlying interfaces that require a
configuration. The EBR need not check these link-local addresses for
uniqueness within the enterprise, as they will not normally be used
as the source address for packets.
When the EBR engages in the enterprise-interior routing protocol, it
uses the RLOC address assigned to the VET interface as the source
address for all routing protocol control messages, however it must
also supply an interface identifier (e.g., a small integer) that
Templin Expires June 26, 2010 [Page 39]
Internet-Draft VET December 2009
uniquely identifies the underlying interface that the control message
is sent over. For example, if the underlying interfaces are known as
"eth0", "eth1" and "eth7" the EBR can supply the token "7" when it
sends a routing protocol control message over the "eth7" interface.
This is necessary to ensure that other routers can determine the
specific interface over which the EBR's routing protocol control
message was sent, but the token need only be unique within the EBR
itself and need not be unique throughout the enterprise.
When the EBR discovers an RLOC route via the enterprise interior
routing protocol, it configures a preferred route in the IP FIB that
points to the VET interface instead of the underlying interface. At
the same time, the EBR also configures an ancillary route that points
to the underlying interface. If the EBR discovers that the same RLOC
route is reachable via multiple underlying interfaces, it configures
multiple ancillary routes (i.e., one for each interface). If the EBR
discovers that the RLOC route is no longer reachable via any
underlying interface, it removes the route in the IP FIB that points
to the VET interface.
With these arrangements, all locally-generated packets with RLOC
destinations will flow through the VET interface (and thereby use the
VET interface's RLOC address as the source address) instead of
through the underlying interfaces. In the same fashion, all
forwarded packets with RLOC destinations will flow through the VET
interface instead of through the underlying interfaces.
This arrangement has several operational advantages that enable a
number of traffic engineering capabilities. First, the VET interface
inserts the SEAL header so that ID-based duplicate packet detection
is enabled within the enterprise. Secondly, SEAL can dynamically
adjust its packet sizing parameters so that an optimum Maximum
Transmission Unit (MTU) can be determined. This is true even if the
VET interface reroutes traffic between underlying interfaces with
different MTUs.
Most importantly, the EBR can configure default and more-specific
routes on the VET interface to direct traffic through a specific
egress EBR (eEBR) that may be many outer IP hops away. Encapsulation
will ensure that a specific eEBR is chosen, and the best eEBR can be
chosen when multiple are available. Also, local applications see a
stable IP source address even if there are multiple underlying
interfaces. This link-layer multiplexing can therefore provide
continuous operation across failovers between multiple links attached
to the same enterprise without any need for readdressing. Finally,
the VET interface can forward packets with RLOC-based destinations
over an underlying interface without any encapsulation if
encapsulation avoidance is desired.
Templin Expires June 26, 2010 [Page 40]
Internet-Draft VET December 2009
It must be specifically noted that the above arrangement constitutes
a case in which the same RLOC may be used as both the inner and outer
IP source address. This will not present a problem as long as both
ends configure a VET interface in the same fashion.
It must also be noted that EID-based communications can use the same
VET interface arrangement, except that the EID-based next hop must be
mapped to an RLOC-based next-hop within the VET interface. For IPvX-
in-SEAL-in-IPvX encapsulation, as well as for IPv4-in-SEAL-in-Pv6
encapsulation, this requires a VET interface specific address mapping
database. For IPv6-in-SEAL-in-IPv4 encapsulation, the mapping is
accomplished through simple static extraction of an IPv4 address
embedded in a VET address.
Appendix C. Anycast Services
Some of the IPv4 addresses that appear in the Potential Router List
may be anycast addresses, i.e., they may be configured on the VET
interfaces of multiple EGBRs/EBGs. In that case, each VET router
interface that configures the same anycast address must provide
equivalent packet forwarding and IPv6 Neighbor Discovery services.
Use of an anycast address as the IP destination address of tunneled
packets can have subtle interactions with tunnel path MTU and
neighbor discovery. For example, if the initial fragments of a
fragmented tunneled packet with an anycast IP destination address are
routed to different egress tunnel endpoints than the remaining
fragments, the multiple endpoints will be left with incomplete
reassembly buffers. This issue can be mitigated by ensuring that
each egress tunnel endpoint implements a proactive reassembly buffer
garbage collection strategy. Additionally, ingress tunnel endpoints
that send packets with an anycast IP destination address must use the
minimum path MTU for all egress tunnel endpoints that configure the
same anycast address as the tunnel MTU. Finally, ingress tunnel
endpoints must treat ICMP unreachable messages from a router within
the tunnel as at most a weak indication of neighbor unreachability,
since the failures may only be transient and quickly corrected
through reconvergence of the underlying routing protocol.
Use of an anycast address as the IP source address of tunneled
packets can lead to more serious issues. For example, when the IP
source address of a tunneled packet is anycast, ICMP messages
produced by routers within the tunnel might be delivered to different
ingress tunnel endpoints than the ones that produced the packets. In
that case, functions such as path MTU discovery and neighbor
unreachability detection may experience non-deterministic behavior
that can lead to communications failures. Additionally, the
Templin Expires June 26, 2010 [Page 41]
Internet-Draft VET December 2009
fragments of multiple tunneled packets produced by multiple ingress
tunnel endpoints may be delivered to the same reassembly buffer at a
single egress tunnel endpoint. In that case, data corruption may
result due to fragment misassociation during reassembly.
In view of these considerations, EBRs/EBGs that configure an anycast
address should also configure one or more unicast addresses from the
Potential Router List; they should further accept tunneled packets
destined to any of their anycast or unicast addresses, but should
send tunneled packets using a unicast address as the source address.
The sole exception to this rule is that EBRs/EBGs should respond to
unicast IPv6 Neighbor and Router Solicitation messages by using the
destination address of the solicitation as the source address for the
corresponding advertisement messages, i.e., whether the address is
anycast or unicast. In order to influence traffic to use an anycast
route (and thereby leverage the natural fault tolerance afforded by
anycast), ISATAP routers should set higher preferences on the default
routes they advertise using an anycast address as the source and set
lower preferences on the default routes they advertise using a
unicast address as the source (see: [RFC4191]).
Appendix D. Change Log
(Note to RFC editor - this section to be removed before publication
as an RFC.)
Changes from -03 to -04:
o security consideration clarifications
Changes from -02 to -03:
o security consideration clarifications
o new PRLNAME for VET is "isatav2.example.com"
o VET now uses SEAL natively
o EBGs can support both legacy ISATAP and VET over the same
underlying interfaces.
Changes from -01 to -02:
o Defined CGA and privacy address configuration on VET interfaces
o Interface identifiers added to routing protocol control messages
for link-layer multiplexing
Templin Expires June 26, 2010 [Page 42]
Internet-Draft VET December 2009
Changes from -00 to -01:
o Section 4.1 clarifications on link-local assignment and RLOC
autoconfiguration.
o Appendix B clarifications on Weak End System Model
Changes from RFC5558 to -00:
o New appendix on RLOC configuration on VET intefaces.
Author's Address
Fred L. Templin (editor)
Boeing Research & Technology
P.O. Box 3707 MC 7L-49
Seattle, WA 98124
USA
Email: fltemplin@acm.org
Templin Expires June 26, 2010 [Page 43]
| PAFTECH AB 2003-2026 | 2026-04-24 08:29:19 |