One document matched: draft-templin-intarea-vet-12.txt
Differences from draft-templin-intarea-vet-11.txt
Network Working Group F. Templin, Ed.
Internet-Draft Boeing Research & Technology
Intended status: Standards Track May 13, 2010
Expires: November 14, 2010
Virtual Enterprise Traversal (VET)
draft-templin-intarea-vet-12.txt
Abstract
Enterprise networks connect hosts and routers over various link
types, and often also connect to provider networks and/or the global
Internet. Enterprise network nodes require a means to automatically
provision 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.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on November 14, 2010.
Copyright Notice
Copyright (c) 2010 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
Templin Expires November 14, 2010 [Page 1]
Internet-Draft VET May 2010
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 Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Enterprise Network Characteristics . . . . . . . . . . . . . . 10
4. Autoconfiguration . . . . . . . . . . . . . . . . . . . . . . 12
4.1. Enterprise Router (ER) Autoconfiguration . . . . . . . . . 12
4.2. Enterprise Border Router (EBR) Autoconfiguration . . . . . 14
4.2.1. VET Interface Initialization . . . . . . . . . . . . . 14
4.2.2. VET Gateway List Discovery . . . . . . . . . . . . . . 15
4.2.3. Enterprise Network Identification . . . . . . . . . . 16
4.2.4. Provider-Aggregated (PA) EID Prefix
Autoconfiguration . . . . . . . . . . . . . . . . . . 16
4.2.5. Provider-Independent (PI) EID Prefix
Autoconfiguration . . . . . . . . . . . . . . . . . . 17
4.3. Enterprise Border Gateway (EBG) Autoconfiguration . . . . 18
4.4. VET Host Autoconfiguration . . . . . . . . . . . . . . . . 18
5. Internetworking Operation . . . . . . . . . . . . . . . . . . 18
5.1. Routing Protocol Participation . . . . . . . . . . . . . . 19
5.1.1. PI Prefix Routing Considerations . . . . . . . . . . . 19
5.2. Address Selection . . . . . . . . . . . . . . . . . . . . 20
5.3. VET Interface Next Hop Determination . . . . . . . . . . . 20
5.4. VET Interface Encapsulation/Decapsulation . . . . . . . . 21
5.4.1. Inner Network Layer Protocol . . . . . . . . . . . . . 21
5.4.2. Mid-Layer Encapsulation . . . . . . . . . . . . . . . 21
5.4.3. SEAL Encapsulation . . . . . . . . . . . . . . . . . . 21
5.4.4. Outer UDP Header Encapsulation . . . . . . . . . . . . 22
5.4.5. Outer IP Header Encapsulation . . . . . . . . . . . . 22
5.4.6. Decapsulation . . . . . . . . . . . . . . . . . . . . 23
5.5. VET Interface Neighbor Coordination using SEAL . . . . . . 23
5.5.1. Router and Prefix Discovery . . . . . . . . . . . . . 24
5.5.2. Redirect Function . . . . . . . . . . . . . . . . . . 25
5.5.3. Neighbor Unreachability Detection . . . . . . . . . . 28
5.5.4. Generating Errors . . . . . . . . . . . . . . . . . . 29
5.5.5. Processing Errors . . . . . . . . . . . . . . . . . . 29
5.6. VET Interface Neighbor Coordination using IPsec . . . . . 30
5.7. Mobility and Multihoming Considerations . . . . . . . . . 30
5.8. Multicast . . . . . . . . . . . . . . . . . . . . . . . . 31
5.9. Service Discovery . . . . . . . . . . . . . . . . . . . . 32
5.10. Enterprise Network Partitioning . . . . . . . . . . . . . 32
5.11. EBG Prefix State Recovery . . . . . . . . . . . . . . . . 32
Templin Expires November 14, 2010 [Page 2]
Internet-Draft VET May 2010
5.12. Support for Legacy ISATAP Services . . . . . . . . . . . . 32
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32
7. Security Considerations . . . . . . . . . . . . . . . . . . . 33
8. Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 34
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 34
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 35
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.1. Normative References . . . . . . . . . . . . . . . . . . . 35
11.2. Informative References . . . . . . . . . . . . . . . . . . 36
Appendix A. Duplicate Address Detection (DAD) Considerations . . 41
Appendix B. Link-Layer Multiplexing and Traffic Engineering . . . 42
Appendix C. Anycast Services . . . . . . . . . . . . . . . . . . 44
Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 45
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 47
Templin Expires November 14, 2010 [Page 3]
Internet-Draft VET May 2010
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 (other network layer
protocols are also considered). The use of standard DHCP [RFC2131]
[RFC3315] is assumed unless otherwise specified.
Templin Expires November 14, 2010 [Page 4]
Internet-Draft VET May 2010
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
encapsulating inner network layer protocol packets for transmission
over outer IPv4 or IPv6 networks. 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 network scenarios that involve
mobility and multihoming. The VET specification provides adaptable
mechanisms that address these and other issues in a wide variety of
enterprise network use cases.
Templin Expires November 14, 2010 [Page 5]
Internet-Draft VET May 2010
The VET framework builds on a Non-Broadcast Multiple Access (NBMA)
[RFC2491] virtual interface model in a manner similar to other
automatic tunneling technologies [RFC2529][RFC5214]. VET interfaces
support the encapsulation of inner network layer protocol packets
over IP networks (i.e., either IPv4 or IPv6). VET is also compatible
with mid-layer encapsulation technologies including the Subnetwork
Encapsulation and Adaptation Layer (SEAL) [I-D.templin-intarea-seal]
and IPsec [RFC4301], and supports both stateful and stateless prefix
delegation.
VET and its associated technologies are functional building blocks
for a new Internetworking architecture based on the Internet Routing
Overlay Network (IRON) [I-D.templin-iron] and Routing and Addressing
in Networks with Global Enterprise Recursion (RANGER) [RFC5720]
[I-D.russert-rangers]. Many of the VET principles can be traced to
the deliberations of the ROAD group in January 1992, and also to
still earlier initiatives 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 encapsulation. The term "inner" refers to the
innermost {address, protocol, header, packet, etc.} *before*
encapsulation, and the term "outer" refers to the outermost {address,
protocol, header, packet, etc.} *after* encapsulation. VET also
accommodates "mid-layer" encapsulations including the Subnetwork
Encapsulation and Adaptation Layer (SEAL) [I-D.templin-intarea-seal],
IPsec [RFC4301], etc.
The terminology in the normative references apply; the following
terms are defined within the scope of this document:
Virtual Enterprise Traversal (VET)
an abstraction that uses IP encapsulation to create overlays for
traversing IPv4 and IPv6 enterprise networks.
Templin Expires November 14, 2010 [Page 6]
Internet-Draft VET May 2010
enterprise network
the same as defined in [RFC4852]. An enterprise network is
further understood to refer to a cooperative networked collective
of devices within a structured IP routing and addressing plan and
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 network in
scope. From a network organizational standpoint, a site within an
enterprise network can 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
network" 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 network.
Enterprise Border Router (EBR)
an ER that connects edge networks to the enterprise network and/or
connects multiple enterprise networks together. An EBR is a
tunnel endpoint router, and it configures a separate VET interface
over each set of enterprise-interior interfaces that connect the
EBR to each distinct enterprise network. In particular, an EBR
may configure multiple VET interfaces - one for each distinct
Templin Expires November 14, 2010 [Page 7]
Internet-Draft VET May 2010
enterprise network. All EBRs are also ERs.
Enterprise Border Gateway (EBG)
an EBR that connects child enterprise networks to provider
networks - either directly via a provider-edge interface or
indirectly via another VET interface configured over a parent
enterprise network. 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 network.
Packets sent over enterprise-interior interfaces may be forwarded
over multiple additional enterprise-interior interfaces within the
enterprise network before they are forwarded via an enterprise-
edge interface, provider-edge interface, or a VET interface
configured over a different enterprise network. 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 network 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 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, a WiFi radio, etc.). Examples include a loopback
interface, a virtual private network interface, or some form of
tunnel interface.
Templin Expires November 14, 2010 [Page 8]
Internet-Draft VET May 2010
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 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 areas, where each area is identified by a distinct set of
EBGs.
VET links in non-multicast enterprise networks are Non-Broadcast,
Multiple Access (NBMA); VET links in enterprise networks that
support multicast 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 enterprise-interior
interfaces that connect to a 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 separate VET interfaces for each link.
The VET interface encapsulates each inner 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. The VET interface therefore presents an
automatic tunneling abstraction that represents the link as a
single IP hop.
Provider-Independent (PI) address/prefix
an IPv6 (e.g., 2001:DB8::/48), IPv4 (e.g., 192.0.2/24) or other
network layer protocol prefix that is either self-generated by an
EBR or delegated to an EBR by a registry.
Provider Aggregated (PA) prefix
a network layer protocol prefix that is delegated to an EBR by a
provider network.
Routing Locator (RLOC)
a public-scope or enterprise-local-scope IP address that can
appear in enterprise-interior and/or interdomain routing tables.
Public-scope RLOCs are delegated to specific enterprise networks
and routable within both the enterprise-interior and interdomain
routing regions. Enterprise-local-scope RLOCs (e.g., IPv6 Unique
Local Addresses [RFC4193], IPv4 privacy addresses [RFC1918], etc.)
Templin Expires November 14, 2010 [Page 9]
Internet-Draft VET May 2010
are self-generated by individual enterprise networks 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 can use RLOCs as addresses
for end-to-end communications between peers within the same
enterprise network. VET interfaces treat RLOCs as *outer* IP
addresses during encapsulation.
Endpoint Interface iDentifier (EID)
a public-scope network layer address that is routable within an
enterprise-edge or VET overlay network. EID prefixes are separate
and distinct from any RLOC prefix space, but must be mapped to
RLOC addresses to support routing over VET interfaces.
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 can use EIDs as addresses for end-to-end communications
between peers either within the same enterprise network or within
different enterprise networks. VET interfaces treat EIDs as
*inner* network layer addresses during encapsulation.
The following additional acronyms are used throughout the document:
CGA - Cryptographically Generated Address
DHCP(v4, v6) - Dynamic Host Configuration Protocol
ECMP - Equal Cost Multi Path
FIB - Forwarding Information Base
ISATAP - Intra-Site Automatic Tunnel Addressing Protocol
NBMA - Non-Broadcast, Multiple Access
ND - Neighbor Discovery
NS/NA - Neighbor Solicitation/Advertisement
PIO - Prefix Information Option
RIB - Routing Information Base
RIO - Route Information Option
RPF - Reverse Path Forwarding
RS/RA - Router Solicitation/Advertisement
SEAL - Subnetwork Encapsulation and Adaptation Layer
SLAAC - IPv6 StateLess Address AutoConfiguration
VGL - VET Gateway List
VGLNAME - Identifying name for the VGL (default is "isatapv2")
3. Enterprise Network Characteristics
Enterprise networks consist of links that are connected by Enterprise
Templin Expires November 14, 2010 [Page 10]
Internet-Draft VET May 2010
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 network and/or join multiple enterprise networks
together. Enterprise Border Gateways (EBGs) are EBRs that connect
enterprise networks to provider networks.
Conceptually, an ER embodies both a host function and router
function, and supports 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 networks, and may also connect the
enterprise network to provider networks (see Figure 1). The host
function typically supports network management applications, but may
also support diverse applications typically associated with general-
purpose computing platforms.
An enterprise network may be as simple as a small collection of ERs
and their attached edge networks; an enterprise network may also
contain other enterprise networks and/or be a subnetwork of a larger
enterprise network. An enterprise network 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 network 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 an individual
segment of a bridged LAN.
Enterprise networks 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 network 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 network without need for encapsulation.
Enterprise networks 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
that case, multiple IP hops may be necessary to traverse the network
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 as neighbors on
a virtual NBMA link. VET nodes configure a separate VET interface
for each distinct VET link to which they connect, and discover other
EBRs on the link that can be used for forwarding packets to off-link
Templin Expires November 14, 2010 [Page 11]
Internet-Draft VET May 2010
destinations.
For each distinct enterprise network, a trust basis must be
established and consistently applied. For example, in enterprise
networks 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. Still other enterprise
networks 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 enterprise networks with a centralized management
structure (e.g., a corporate campus network), an overlay routing/
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 route-optimized paths
between neighboring EBRs can be established. In enterprise networks
with a distributed management structure (e.g., disconnected 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 network, it first configures an IPv6
link-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
Templin Expires November 14, 2010 [Page 12]
Internet-Draft VET May 2010
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.
Pseudo-random self-generation of IPv6 RLOCs can be from a large
public or local-use IPv6 address range (e.g., IPv6 Unique Local
Addresses [RFC4193]). Pseudo-random self-generation of IPv4 RLOCs
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. (Note however that anycast
RLOCs may be assigned to multiple enterprise interior interfaces;
hence, monitoring for uniqueness applies only to RLOCs that are
intended as unicast.)
DHCP generation of RLOCs uses standard DHCP procedures but may
require support from relays within the enterprise network. For
DHCPv6, relays that do not already know the RLOC of a server within
the enterprise network 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
network 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
received for that group.
A combined approach using both DHCP and self-generation is also
Templin Expires November 14, 2010 [Page 13]
Internet-Draft VET May 2010
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 an RLOC from a
temporary addressing range used only for the bootstrapping purpose of
procuring an actual RLOC taken from a preferred 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 network 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 network; an
EBR can connect to multiple enterprise networks, in which case it
would configure multiple VET interfaces. In addition to the ER
autoconfiguration procedures specified in Section 4.1, EBRs perform
the following autoconfiguration operations.
4.2.1. VET Interface Initialization
EBRs configure a VET interface over a set of underlying interfaces
belonging to the same enterprise network such that all other nodes on
the VET link appear as single-hop neighbors through the use of
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 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 address on
the VET interface formed as specified in Sections 6.1 and 6.2 of
[RFC5214]. Link-local address configuration for other inner/outer
protocol combinations is through administrative configuration, random
self-generation (e.g., [RFC4941], etc.) or through an unspecified
Templin Expires November 14, 2010 [Page 14]
Internet-Draft VET May 2010
alternate method. However, link-local address configuration for
other inner/outer 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 use VET
encapsulation (see: Section 5.4) to communicate with other nodes as
single-hop neighbors on the VET link from the viewpoint of the inner
protocol. The EBR can also configure the VET interface for link-
layer multiplexing and traffic engineering purposes as specified in
Appendix B.
4.2.2. VET Gateway List Discovery
Following VET interface initialization, the EBR next discovers a VET
Gateway List (VGL) that includes the RLOC addresses of EBGs. The VGL
can be discovered through information conveyed in the enterprise-
interior routing protocol, through the mechanisms outlined in Section
8.3.2 of [RFC5214], through a DHCP option [I-D.templin-isatap-dhcp],
etc. In multicast-capable enterprise networks, 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 VGL
('VGLNAME') formed as 'hostname.domainname', where 'hostname' is an
enterprise-specific name string and 'domainname' is an enterprise-
specific Domain Name System (DNS) suffix [RFC1035]. The EBR
discovers 'VGLNAME' 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 network.
In the absence of other information, the EBR sets the 'hostname'
component of 'VGLNAME' to "isatapv2" and sets the 'domainname'
component to the enterprise-specific DNS suffix (e.g., as
"isatapv2.example.com"). Isolated enterprise networks that do not
connect to the outside world may have no enterprise-specific DNS
suffix, in which case the 'VGLNAME' consists only of the 'hostname'
component. Note that this naming convention is intentionally
distinct from the convention specified in [RFC5214], and is used by
the EBR to distinguish between ISATAP and VET virtual interfaces.
After discovering 'VGLNAME', the EBR resolves the name into a list of
RLOC addresses through a name service lookup. For centrally managed
enterprise networks, the EBR resolves 'VGLNAME' using an enterprise-
local name service (e.g., the DNS). For enterprises with a
distributed management structure, the EBR resolves 'VGLNAME' using
Link-Local Multicast Name Resolution (LLMNR) [RFC4795] over the VET
Templin Expires November 14, 2010 [Page 15]
Internet-Draft VET May 2010
interface. In that case, all EBGs in the VGL respond to the LLMNR
query, and the EBR accepts the union of all responses.
4.2.3. Enterprise Network Identification
Each distinct enterprise network must have a unique identity that
EBRs can use to uniquely discern their enterprise affiliations.
'VGLNAME' as well as the RLOCs of EBGs in the VGL serve as an
identifier for the network.
4.2.4. Provider-Aggregated (PA) EID Prefix Autoconfiguration
EBRs that connect their enterprise networks to a provider network
obtain Provider-Aggregated (PA) EID prefixes through stateful and/or
stateless autoconfiguration mechanisms. The stateful and stateless
approaches are discussed in the following subsections.
4.2.4.1. Stateful Prefix Delegation
For IPv4, EBRs acquire IPv4 PA EID prefixes via an automated IPv4
prefix delegation exchange, explicit management, etc.
For IPv6, EBRs acquire IPv6 PA EID prefixes via DHCPv6 Prefix
Delegation exchanges with an EBG acting as a DHCP relay/server. In
particular, the EBR (acting as a requesting router) can use DHCPv6
prefix delegation [RFC3633] over the VET interface to obtain prefixes
from the server (acting as a delegating router). 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 using VET encapsulation (see: Section 5.4) to an EBG which
either services the request or relays it further. The forwarded
Solicit message will elicit a reply from the server containing 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 IPv4 and/or IPv6 prefix delegations, it can
provision the prefixes on enterprise-edge interfaces as well as on
other VET interfaces configured over child enterprise networks for
which it acts as an EBG. The EBR can also provision the prefixes on
enterprise-interior interfaces to service any hosts attached to the
link.
The prefix delegations remain active as long as the EBR continues to
Templin Expires November 14, 2010 [Page 16]
Internet-Draft VET May 2010
renew them before lease lifetimes expire. The lease lifetime also
keeps the delegation state active even if communications between the
EBR and delegation server are disrupted for a period of time (e.g.,
due to an enterprise network partition, power failure, etc.).
4.2.4.2. Stateless Prefix Delegation
When IPv6 and IPv4 are used as the inner and outer protocols,
respectively, a stateless IPv6 PA prefix delegation capability is
possible using the mechanisms specified in
[RFC5569][I-D.ietf-softwire-ipv6-6rd]. EBRs can use these mechanisms
to statelessly configure IPv6 PA prefixes that embed one of the EBR's
IPv4 RLOCs.
Using this stateless prefix delegation, if the IPv4 RLOC changes the
IPv6 prefix also changes and the EBR must renumber any interfaces on
which sub-prefixes from the prefix are assigned. This method may
therefore be most suitable for enterprise networks in which IPv4 RLOC
assignments rarely change, or in enterprise networks in which only
services that do not depend on a long-term stable IPv6 prefix (e.g.,
client-side web browsing) are used.
4.2.5. Provider-Independent (PI) EID Prefix Autoconfiguration
EBRs can acquire Provider Independent (PI) prefixes to facilitate
multihoming, mobility and traffic engineering without requiring site-
wide renumbering events. These PI prefixes are made available to
EBRs through provider-independent assigned numbers authorities, and
without need to coordinate with service provider networks.
EBRs that connect major enterprise networks (e.g., large
corporations, academic campuses, ISP networks, etc.) to a parent
enterprise network and/or the global Internet can acquire highly-
aggregated Provider-Independent (PI) EID prefixes (e.g., an IPv6
::/20, an IPv4 /16, etc.) through a registration authority such as
the Internet Assigned Numbers Authority (IANA) or a major regional
Internet registry. EBRs that connect small enterprise networks
(e.g., SOHO networks, MANETs, etc.) to a parent enterprise network
can acquire de-aggregated PI prefixes through arrangements with a PI
prefix delegation company.
After an EBR receives PI prefix sub-delegations, it can provision
portions of the prefixes on enterprise-edge interfaces, on other VET
interfaces for which it is configured as an EBG and on enterprise-
interior interfaces to service any hosts attached to the link. The
EBR can also sub-delegate portions of its PI prefixes to requesting
routers within child enterprise networks. These requesting routers
consider their sub-delegated portions of the PI prefix as PA, and
Templin Expires November 14, 2010 [Page 17]
Internet-Draft VET May 2010
consider the delegating routers as their points of connection to a
provider network.
4.3. Enterprise Border Gateway (EBG) Autoconfiguration
EBGs are EBRs that connect child enterprise networks to provider
networks via provider-edge interfaces and/or via VET interfaces
configured over parent enterprise networks. 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 enterprise networks using the EBR
autoconfiguration procedures specified in Section 4.2.
For each of its VET interfaces configured over a child enterprise
network, 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 network to the
VGL as specified in [RFC5214], Section 9. In particular, for each
VET interface configured over a child enterprise network the EBG adds
the RLOCs to name service resource records for 'VGLNAME'
("isatapv2.example.com", by default).
EBGs respond to LLMNR queries for 'VGLNAME' on VET interfaces
configured over child enterprise networks with a distributed
management structure.
EBGs configure a DHCP relay/server on VET interfaces configured over
child enterprise networks that require DHCP services.
To avoid looping, EBGs must not configure a default route on a VET
interface configured over a child enterprise network 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.
5. Internetworking Operation
Following the autoconfiguration procedures specified in Section 4,
Templin Expires November 14, 2010 [Page 18]
Internet-Draft VET May 2010
ERs, EBRs, EBGs, and VET hosts engage in normal internetworking
operations as discussed in the following sections.
5.1. Routing Protocol Participation
ERs engage in any intra-enterprise routing protocols over enterprise-
interior interfaces to exchange routing information for forwarding IP
packets with RLOC addresses. EBRs can additionally engage in any
inter-enterprise routing protocols over VET, enterprise-edge and
provider-edge interfaces to exchange routing information for
forwarding IP packets with EID addresses. Note that the EID-based
inter-enterprise IP routing domains are separate and distinct from
any RLOC-based enterprise interior IP routing domains.
Routing protocol participation on non-multicast VET interfaces uses
the NBMA interface model, e.g., in the same manner as for OSPF over
NBMA interfaces [RFC5340], while routing protocol participation on
multicast-capable VET interfaces uses the standard multicast
interface model. EBRs use the list of EBGs in the VGL (see:
Section 4.2.2) as an initial list of neighbors for inter-enterprise
routing protocol participation.
5.1.1. PI Prefix Routing Considerations
EBRs that connect large enterprise networks to the global Internet
advertise their EID PI prefixes directly into the Internet default-
free RIB via the Border Gateway Protocol (BGP) [RFC4271]. EBRs that
connect large enterprise networks to provider networks can also
advertise their EID PI prefixes into the providers' routing system(s)
if the provider networks are configured to accept them.
EBRs that connect small enterprise networks to provider networks must
obtain a public IP address from the provider (i.e., either an EID or
RLOC IP address) then dynamically register the mapping of their EID
PI prefixes to the public IP address. The registrations are through
secured end-to-end exchanges between the EBR and the PI prefix
delegation company (e.g., through a short SSL transaction), which in
turn propagates the registrations throughout its network. In this
way, the PI prefix delegation company acts as a virtual enterprise
network that connects its customer small enterprise networks to the
Internet routing system and with no arrangements needed with the
customers' provider networks. (This arrangement may entail a "double
encapsulation" if the provider network provides an EID public IP
address instead of an RLOC IP address.)
Further details on routing for PI prefixes is discussed in "The
Internet Routing Overlay Network (IRON)" [I-D.templin-iron] and "Fib
Suppression with Virtual Aggregation" [I-D.ietf-grow-va].
Templin Expires November 14, 2010 [Page 19]
Internet-Draft VET May 2010
5.2. Address Selection
When permitted by policy and supported by enterprise interior
routing, end systems can avoid VET interface encapsulation through
communications that directly invoke the outer IP protocol using RLOC
addresses instead of EID addresses for end-to-end communications.
For example, an enterprise network that provides native IPv4 intra-
network services can provide continued support for native IPv4
communications even when encapsulated IPv6 services are available for
inter-enterprise communications. In other enterprise network
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 traversal avoidance, security domain
separation, site multihoming, traffic engineering, etc. .
End systems can use source address selection rules (e.g., based on
name service information) to determine whether to use EID-based or
RLOC-based addressing. The remainder of this section discusses
internetworking operation for EID-based communications using the VET
interface abstraction.
5.3. VET Interface Next Hop Determination
VET nodes perform next-hop determination on VET interfaces via
longest prefix match the same as for any interface, and send packets
according to the most-specific matching entry in the FIB. If the FIB
entry has multiple next-hop addresses, the EBR selects the next-hop
with the best metric value. If there are multiple next hops with the
best metric value, the VET node can use Equal Cost Multi Path (ECMP)
to forward different flows via different next-hop addresses (where
flows are determined, e.g., by computing a hash of the inner packet's
source address, destination address and flow label fields).
As a last resort when there is no matching entry in the FIB (i.e.,
not even "default"), VET nodes can discover next-hop addresses within
the enterprise network by querying the name service for the EID
prefix taken from a packet's destination address (or, by some other
inner address to outer address mapping mechanism). For example, for
the IPv6 destination address '2001:DB8:1:2::1' and 'VGLNAME'
"isatapv2.example.com" the VET node can perform a name service lookup
for 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 enterprise networks with a centralized
management structure use an infrastructure-based service, e.g., an
enterprise-local DNS. Name-service lookups in enterprise networks
with a distributed management structure and/or that lack an
infrastructure-based name service instead use LLMNR over the VET
Templin Expires November 14, 2010 [Page 20]
Internet-Draft VET May 2010
interface. When LLMNR is used, the EBR that performs the lookup
sends an LLMNR query (with the 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. VET Interface Encapsulation/Decapsulation
VET interfaces encapsulate inner network layer packets in any
necessary mid-layer headers and trailers (e.g., IPsec [RFC4301],
etc.) followed by a SEAL header (if necessary) followed by an outer
UDP header (if necessary) followed by an outer IP header. Following
all encapsulations, the VET interface submits the encapsulated packet
to the outer IP forwarding engine for transmission on an underlying
interface. The following sections provide further details on
encapsulation:
5.4.1. Inner Network Layer Protocol
The inner network layer protocol sees the VET interface as an
ordinary data link interface, and views the outer network layer
protocol as an L2 transport. The inner- and outer network layer
protocol types are mutually independent and can be used in any
combination. Inner network layer protocol types include IPv6
[RFC2460] and IPv4 [RFC0791], but they may also include non-IP
protocols such as OSI/CLNP [RFC0994][RFC1070][RFC4548].
5.4.2. Mid-Layer Encapsulation
VET interfaces that use mid-layer encapsulations (e.g.,IPsec
[RFC4301]) encapsulate each inner network layer packet in any mid-
layer headers and trailers as the first step in a potentially multi-
layer encapsulation.
5.4.3. SEAL Encapsulation
Following any mid-layer encapsulations, VET interfaces that use SEAL
add a SEAL header as specified in [I-D.templin-intarea-seal].
Inclusion of a SEAL header must be applied uniformly between all
nodes on the VET link. Note that when a VET interface sends a SEAL-
encapsulated packet to a VET node that does not use SEAL
encapsulation, it may receive an ICMP "protocol unreachable" message.
Templin Expires November 14, 2010 [Page 21]
Internet-Draft VET May 2010
SEAL encapsulation should be used on VET links that require path MTU
mitigations due to encapsulation overhead and/or mechanisms for VET
interface neighbor coordination. When SEAL encapsulation is used,
the VET interface sets the 'Next Header' value in the SEAL header to
the IP protocol number associated with either the mid-layer
encapsulation or the IP protocol number of the inner network layer
(if no mid-layer encapsulation is used).
5.4.4. Outer UDP Header Encapsulation
Following any mid-layer and/or SEAL encapsulations, VET interfaces
that use UDP encapsulation add an outer UDP header. Inclusion of an
outer UDP header must be applied uniformly between all nodes on the
VET link. Note that when a VET interface sends a UDP-encapsulated
packet to a node that does not recognize the UDP port number, it may
receive an ICMP "port unreachable" message.
UDP encapsulation should be used on VET links that may traverse
Network Address Translators (NATs) and/or legacy networking gear that
only recognizes certain network layer protocols, e.g., Equal Cost
MultiPath (ECMP) routers, Link Aggregation Gateways (LAGs), etc.
When UDP encapsulation is used, the VET interface encapsulates the
mid-layer packet in an outer UDP header then sets the UDP port
numbers as specified for the outermost mid-layer protocol (e.g.,
IPsec [RFC3947][RFC3948], etc.) When SEAL [I-D.templin-intarea-seal]
is used as the outermost mid-layer protocol, the VET interface sets
the UDP source port number to a hash calculated over the inner
network layer {destination, source} values or (optionally) over the
inner network layer {dest addr, source addr, protocol, dest port,
source port} values. The VET interface uses a hash function of its
own choosing, but it must be consistent in the manner in which the
hash is applied..
For VET links configured over IPv4 enterprise networks, the VET
interface sets the UDP checksum field to zero. For VET links
configured over IPv6 enterprise networks, the VET interface must
instead calculate the UDP checksum and set the calculated value in
the checksum field as required for UDP operation over IPv6.
5.4.5. Outer IP Header Encapsulation
Following any mid-layer, SEAL and/or UDP encapsulations, the VET
interface adds an outer IP header. Outer IP header construction is
the same as specified for ordinary IP encapsulation (e.g., [RFC2003],
[RFC2473], [RFC4213], etc.) except that the "TTL/Hop Limit", "Type of
Service/Traffic Class" and "Congestion Experienced" values in the
inner network layer header are copied into the corresponding fields
in the outer IP header. The VET interface also sets the IP protocol
Templin Expires November 14, 2010 [Page 22]
Internet-Draft VET May 2010
number to the appropriate value for the first protocol layer within
the encapsulation (e.g., UDP, SEAL, IPsec, etc.). When IPv6 is used
as the outer IP protocol, the VET interface sets the flow label value
in the outer IPv6 header the same as described in
[I-D.carpenter-flow-ecmp].
5.4.6. Decapsulation
When a VET interface receives an encapsulated packet, it does not
immediately discard the encapsulating headers. Instead, if the
packet will be forwarded from the receiving VET interface into a
forwarding VET interface, the VET node copies the "TTL/Hop Limit",
"Type of Service/Traffic Class" and "Congestion Experienced" values
in the outer IP header received on the receiving VET interface into
the corresponding fields in the outer IP header to be sent over the
forwarding VET interface (i.e., the values are transferred between
outer headers and *not* copied from the inner network layer header).
This is true even if the packet is forwarded out the same VET
interface that it arrived on, and necessary to support diagnostic
functions (e.g., traceroute) and avoid looping.
During decapsulation, when the next-hop is via a non-VET interface,
the "Congestion Experienced" value in the outer IP header is copied
into the corresponding field in the inner network layer header.
5.5. VET Interface Neighbor Coordination using SEAL
VET interfaces that use SEAL maintain a neighbor cache, and neighbors
on the VET link use the SEAL Control Message Protocol (SCMP)
[I-D.templin-intarea-seal] to coordinate reachability, routing
information, and mappings between the inner and outer network layer
protocols. SCMP directly parallels the IPv6 Neighbor Discovery (ND)
[RFC4191][RFC4861] and ICMPv6 [RFC4443] protocols, but operates from
within the tunnel and supports operation for any combinations of
inner and outer network layer protocols.
SCMP uses the same control message body formats, codes, options etc.,
as specified in IPv6 ND and ICMPv6 except where otherwise noted.
Also, SCMP messages are encapsulated in a SEAL protocol header
instead of an IPv6 header. SCMP therefore occurs at a sub-layer
below the inner network layer protocol and above the outer network
layer protocol. Since all SCMP messages include a packet-in-error
portion that includes the SEAL_ID of the original packet, the
Checksum is calculated over the SEAL header and SCMP message body
only, i.e., it is not calculated over the outer IP header. The
following subsections discuss the SCMP neighbor coordination
primitives used by VET interfaces:
Templin Expires November 14, 2010 [Page 23]
Internet-Draft VET May 2010
5.5.1. Router and Prefix Discovery
5.5.1.1. EBR Specification
EBRs discover the VGL for each VET interface as specified in
Section 4.2.2, and participate in a dynamic routing protocol over the
VET interface using the EBG addresses in the VGL as an initial list
of neighboring routers. When a dynamic routing protocol cannot be
used, EBRs instead send SCMP Router Solicitation (RS) messages on
their VET interfaces to receive solicited SCMP Router Advertisements
(RAs) from EBGs in the VGL.
The EBR sends SCMP RS messages the same as described for hosts in
Section 6.3.7 of [RFC4861]. When the EBR receives a solicited SCMP
RA from an EBG (see Section 5.5.1.2), it authenticates the message
then processes any autoconfiguration information except that it
ignores the settings of the 'M' and 'O' bits.
5.5.1.2. EBG Specification
When an EBG receives an SCMP RS message on a VET interface, it first
authenticates the message. If the EBG will include Prefix
Information Options (PIOs) in its SCMP RA message response to the
solicitation, it creates or updates a neighbor cache entry
corresponding to the outer IP source address of the RS in order to
track the VET nodes to which it advertises PIOs. The neighbor cache
is managed in the same manner as specified in 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 RS 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 RS. If the neighbor cache entry TTL
subsequently expires before a new RS arrives, the EBG deletes the
neighbor cache entry. Note that the EBG can omit these neighbor
cache manipulations if no neighbor cache is required.
The EBG then prepares an RA response to the RS that includes Router
Lifetimes, PIOs, and any other options/parameters that the EBG is
configured to include. Next, the EBG includes SEND parameters if
necessary and encapsulates the RA message in the SEAL header and
other outer layer headers. The EBG sets the outer IP source address
to one of its RLOC addresses and sets the outer IP destination
address to the EBR's RLOC address. Finally, the EBG sends the
solicited RA to the VET node that sent the solicitation.
Templin Expires November 14, 2010 [Page 24]
Internet-Draft VET May 2010
5.5.1.3. VET Host Specification
VET hosts follow the router and prefix discovery procedures specified
in Section 8.3 of [RFC5214]. They discover the addresses of EBGs for
each VET interface as specified in Section 4.2.2, and send SCMP RS
messages to EBGs in order to receive SCMP RAs with autoconfiguration
information.
When the VET host receives a solicited RA from an EBG on a VET
interface, it authenticates the message then performs
autoconfiguration the same as for any link. In particular, if the RA
message contains any PIO options the VET host performs address
autoconfiguration on the VET interface according to [RFC4862].
5.5.2. Redirect Function
EBRs with incomplete EID routing information can forward initial
packets via default and/or short-prefix EID routes that have an EBG
on the VET interface as the next hop. The EBG will forward the
packet and return an SCMP Redirect message if necessary to inform the
EBR of a more-specific route. Unlike ordinary ICMP redirects, the
EBG sends an SCMP Redirect message (subject to rate limiting)
whenever it forwards a packet out the same VET interface that it
arrived on regardless of whether the inner source address of the
packet was on-link.
The message is formatted the same as for ordinary ICMPv6 redirect
messages (see Section 4.5 of [RFC4861]), except that the Destination
Address field is omitted since the destination address can already be
derived from the Redirected Header option at the end of the Redirect
message. The format of the SCMP Redirect message is shown in
Figure 2
Templin Expires November 14, 2010 [Page 25]
Internet-Draft VET May 2010
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 137 | Code = 0 | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Target Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ...
+-+-+-+-+-+-+-+-+-+-+-+-
Figure 2: SCMP Redirect Message Format
The EBG sets the Target Address field to an IPv6 link-local address
corresponding to the next hop on the VET interface toward the inner
destination address of the original packet. If the VET interface is
configured over an IPv4 network, the EBG sets Target Address to an
IPv6 VET link-local address that embeds an IPv4 address. If the VET
interface is configured over an IPv6 network, the EBG instead sets
Target Address to a native IPv6 link local address assigned to the
neighbor's VET interface. The EBG then adds Options to the Redirect
message as described below.
The EBG includes a Target link-layer address option (TLLAO) formatted
as specified in Section 4.6.1 of [RFC4861] as the first option in the
Options field. For VET interfaces configured over IPv4 networks, the
EBG writes the IPv4 RLOC address corresponding to the Target Address
in the TLLAO "Link-Layer Address" field as shown in Figure 3
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 2 | Length = 1 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 address (bytes 0 thru 3) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: SCMP TLLAO Option for IPv4 Networks
For VET interfaces configured over IPv6 networks, the EBG instead
writes the IPv6 RLOC address corresponding to the Target Address in
Templin Expires November 14, 2010 [Page 26]
Internet-Draft VET May 2010
the TLLAO "Link-Layer Address" field as shown in Figure 4
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 2 | Length = 3 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (bytes 0 thru 3) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (bytes 4 thru 7) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (bytes 8 thru 11) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (bytes 12 thru 15) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: SCMP TLLAO Option for IPv6 Networks
The EBG next includes a Route Information Option (RIO) (see:
[RFC4191]) that contains a prefix from its FIB that covers the
destination address of the original packet. SCMP uses a modified
version of the RIO option formatted as shown in Figure 5:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 24 | Length | Prefix Length | AF |Prf|Resvd|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Route Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix (Variable Length) |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: SCMP Route Information Option Format
In this modified format, the EBG prepares the RIO option the same as
specified in [RFC4191] with the following exceptions:
o the 'Length' field is set to 4 if the 'Prefix Length' is greater
than 128 in order to accommodate prefixes of non-IP protocols of
up to 192 bits in length.
o the 'Prefix Length' field ranges from 0 to 192. The 'Prefix'
field is 0, 8, 16 or 24 octets depending on the length, and the
embedded prefix may be up to 192 bits in length.
Templin Expires November 14, 2010 [Page 27]
Internet-Draft VET May 2010
o bits 24 - 26 are used to contain an 'Address Family (AF)' value
that indicates the embedded prefix protocol type. This document
defines the following values for AF:
* 000 - IPv4
* 001 - IPv6
* 010 - OSI/CLNP NSAP
Following the RIO option, the EBG may include SEND options if it is
configured to do so. The EBG finally includes a Redirected Header
field formatted as specified in as the final option in the Redirect
message, encapsulates the Redirect message in the SEAL header and
other outer layer headers, sets the outer destination address to the
outer source address of the original packet, sets the outer source
address to the outer destination address of the original packet and
finally sends the message.
When a VET node receives the Redirect, it first authenticates the
message (i.e., by checking the SEAL_ID in the Redirected Header, by
examining SEND options, etc.) then uses the EID prefix in the RIO
with its respective lifetime to update its FIB. The node also caches
the Target Address as the network layer link-local address of the
next-hop and caches the IPv6 or IPv6 address in the TLLAO as the
layer 2 address of the next-hop.
VET nodes retain the FIB entries created as a result of receipt of an
SCMP Redirect until the route lifetime expires, or until this VET
neighbor becomes unreachable. In this way, RLOC liveness detection
parallels IPv6 Neighbor Unreachability Detection as discussed in the
next section.
5.5.3. Neighbor Unreachability Detection
VET nodes use their neighbor cache for Neighbor Unreachability
Detection (NUD) the same as for any IPv6 link as described in Section
7 of [RFC4861]. When a neighbor fails (or appears to be failing),
FIB entries that use the neighbor as a next-hop are deleted and
subsequent packets allowed to flow through less-specific routes until
new Redirects are received.
The NUD mechanism uses hints of forward progress (i.e., evidence that
the tunnel neighbor is receiving packets) coupled with the SCMP
Neighbor Solicitation/Advertisement (NS/NA) process. When hints of
forward progress are available, NS/NA messaging is suppressed; when
no hints are available, the VET node sends NS messages to elicit NAs
from the neighbor. The SEAL mechanism includes an explicit data
Templin Expires November 14, 2010 [Page 28]
Internet-Draft VET May 2010
packet acknowledgement mechanism that can provide hints of forward
progress.
Responsiveness to routing changes is directly related to the
"REACHABLE_TIME" constant used for NUD as specified in [RFC4861]. In
order to provide responsiveness comparable to dynamic routing
protocols, a reasonably short "REACHABLE_TIME" value (e.g., 5sec)
should be used.
5.5.4. Generating Errors
When an EBR receives an inner network layer packet over a VET
interface, and there is no longest-prefix-match FIB entry for the
destination, it returns an SCMP "Destination Unreachable; No route to
destination" message to the previous hop EBR subject to rate
limiting.
When an EBR receives an inner network layer 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 then sends an SCMP Redirect
message to the previous-hop EBR as specified in Section 5.5.2.
Generation of other SCMP messages is the same as for any IP
interface.
5.5.5. Processing Errors
When a VET node receives an SCMP "Destination Unreachable; No route
to destination" message, it first authenticates the message by
checking the SEAL_ID, IPsec ID, etc. to ensure that the error
corresponds to one of its earlier packet transmissions. The node
then translates the inner packet segment encapsulated within the SCMP
message into an inner network layer error message and sends it to the
source of the original inner packet as normal. If the node has a FIB
entry for the original packet's destination that matches a prefix
discovered through an SCMP redirect, the node also deletes the FIB
entry.
When a VET node receives an authentic SCMP Redirect, it processes the
packet as specified in Section 5.5.2.
Additionally, a VET node may receive outer IP 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 ID, source address of the original packet, etc.) to obtain
reasonable assurance that the ICMP message is authentic. If the node
Templin Expires November 14, 2010 [Page 29]
Internet-Draft VET May 2010
receives excessive ICMP unreachable errors through multiple RLOCs
associated with the same FIB entry, it should delete the FIB entry
and allow subsequent packets to flow through a different route.
5.6. VET Interface Neighbor Coordination using IPsec
VET interfaces that use IPsec encapsulation instead of SEAL use the
Internet Key Exchange protocol, version 2 (IKEv2) [RFC4306] to manage
security association setup and maintenance. The IKEv2 can be seen as
a logical equivalent of the SEAL SCMP in terms of VET interface
neighbor coordinations. Indeed, IKEv2 also provides mechanisms for
redirection [RFC5685] and mobility [RFC4555].
IPsec additionally provides an extended Identification field and
integrity check vector; these features allow IPsec to utilize outer
IP fragmentation and reassembly with less risk of exposure to data
corruption due to reassembly misassociations. On the other hand,
IPsec entails the use of symmetric security associations and hence
may not be appropriate to all enterprise network use cases.
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 PA prefixes 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][I-D.carpenter-renum-needs-work]. 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 update their PI prefix to public
IP address mappings with their PI prefix delegation companies. 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 network should participate in a
private inner network layer routing protocol instance between
themselves (possibly over an alternate topology) to accommodate
network partitions/merges as well as intra-enterprise mobility
events.
Templin Expires November 14, 2010 [Page 30]
Internet-Draft VET May 2010
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 network. For such deployments, VET nodes can
also provide an inner multicast/broadcast capability over their VET
interfaces through mapping of the inner multicast address space to
the outer multicast address space. In that case, operation of link-
scoped (or greater scoped) inner 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 multicast messages sent over the VET
interface in any mid-layer headers (e.g., UDP, 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 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 multicast address 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 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 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 November 14, 2010 [Page 31]
Internet-Draft VET May 2010
scoped outer IP multicast group filtering at enterprise network
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 Network Partitioning
An enterprise network can be partitioned into multiple distinct
logical groupings. In that case, each partition must configure its
own distinct 'VGLNAME' (e.g., 'isatapv2.zone1.example.com',
'isatapv2.zone2.example.com', etc.).
EBGs can further create multiple IP subnets within a partition by
sending RAs with PIOs containing different IPv6 prefixes to different
groups of nodes. EBGs can identify subnets, e.g., by examining RLOC
prefixes, observing the enterprise interior interfaces over which RSs
are received, etc.
5.11. EBG Prefix State Recovery
EBGs must retain explicit state that tracks the inner PA prefixes
delegated to EBRs within the enterprise network, e.g., so that
packets are delivered to the correct EBRs. 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
interfaces as long as the VGLs and IPv6 prefixes associated with the
ISATAP/VET interfaces are distinct.
6. IANA Considerations
There are no IANA considerations for this document.
Templin Expires November 14, 2010 [Page 32]
Internet-Draft VET May 2010
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].
o VET nodes must verify that the outer IP source address of a packet
received on a VET interface is correct for the inner source
address; for the case of IPv6 within IPv4 encapsulation, this is
accommodated using the procedures specified in Section 7.3 of
[RFC5214].
o EBRs must implement both inner and outer 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 network is an ordinary ER (i.e., and not an EBR), the
ER itself should implement filtering.
Additionally, VET interfaces that maintain a coherent neighbor cache
drop all outbound packet for which the next hop is not a neighbor and
the source address is not link-local; they also drop all incoming
packets for which the previous hop is not a neighbor and the
destination address is not link-local. (Here, the previous hop is
determined by examining the outer source address.)
Finally, VET interfaces that use IPv6 within 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
Templin Expires November 14, 2010 [Page 33]
Internet-Draft VET May 2010
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
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].
The LISP proposal [I-D.ietf-lisp] examines encapsulation/
decapsulation issues and other aspects of tunneling.
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, Remi Despres, Gert Doering, Ralph Droms, Washam Fan,
Dino Farinacci, Vince Fuller, Thomas Goff, David Green, 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, Mark Smith, John Spence,
Templin Expires November 14, 2010 [Page 34]
Internet-Draft VET May 2010
Jinmei Tatuya, Dave Thaler, Mark Townsley, Ole Troan, Michaela
Vanderveen, Robin Whittle, James Woodyatt, 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)
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-13 (work in
progress), March 2010.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[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.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
Templin Expires November 14, 2010 [Page 35]
Internet-Draft VET May 2010
[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.carpenter-flow-ecmp]
Carpenter, B. and S. Amante, "Using the IPv6 flow label
for equal cost multipath routing and link aggregation in
tunnels", draft-carpenter-flow-ecmp-02 (work in progress),
April 2010.
[I-D.carpenter-renum-needs-work]
Carpenter, B., Atkinson, R., and H. Flinck, "Renumbering
still needs work", draft-carpenter-renum-needs-work-05
(work in progress), January 2010.
[I-D.cheshire-dnsext-multicastdns]
Templin Expires November 14, 2010 [Page 36]
Internet-Draft VET May 2010
Cheshire, S. and M. Krochmal, "Multicast DNS",
draft-cheshire-dnsext-multicastdns-11 (work in progress),
March 2010.
[I-D.clausen-manet-autoconf-recommendations]
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.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-dhc-subnet-alloc]
Johnson, R., Kumarasamy, J., Kinnear, K., and M. Stapp,
"Subnet Allocation Option", draft-ietf-dhc-subnet-alloc-11
(work in progress), May 2010.
[I-D.ietf-grow-va]
Francis, P., Xu, X., Ballani, H., Jen, D., Raszuk, R., and
L. Zhang, "FIB Suppression with Virtual Aggregation",
draft-ietf-grow-va-02 (work in progress), March 2010.
[I-D.ietf-lisp]
Farinacci, D., Fuller, V., Meyer, D., and D. Lewis,
"Locator/ID Separation Protocol (LISP)",
draft-ietf-lisp-07 (work in progress), April 2010.
[I-D.ietf-manet-smf]
Macker, J. and S. Team, "Simplified Multicast Forwarding",
draft-ietf-manet-smf-10 (work in progress), March 2010.
[I-D.ietf-softwire-ipv6-6rd]
Townsley, M. and O. Troan, "IPv6 via IPv4 Service Provider
Networks "6rd"", draft-ietf-softwire-ipv6-6rd-09 (work in
Templin Expires November 14, 2010 [Page 37]
Internet-Draft VET May 2010
progress), May 2010.
[I-D.ietf-v6ops-tunnel-security-concerns]
Hoagland, J., Krishnan, S., and D. Thaler, "Security
Concerns With IP Tunneling",
draft-ietf-v6ops-tunnel-security-concerns-02 (work in
progress), March 2010.
[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. and F. Templin, "Routing Loop Attack using
IPv6 Automatic Tunnels: Problem Statement and Proposed
Mitigations", draft-nakibly-v6ops-tunnel-loops-02 (work in
progress), May 2010.
[I-D.russert-rangers]
Russert, S., Fleischman, E., and F. Templin, "Operational
Scenarios for IRON and RANGER", draft-russert-rangers-02
(work in progress), March 2010.
[I-D.templin-iron]
Templin, F., "The Internet Routing Overlay Network
(IRON)", draft-templin-iron-01 (work in progress),
April 2010.
[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.
[IEN48] Cerf, V., "The Catenet Model for Internetworking",
July 1978.
[RASADV] Microsoft, "Remote Access Server Advertisement (RASADV)
Protocol Specification", October 2008.
[RFC0994] International Organization for Standardization (ISO) and
American National Standards Institute (ANSI), "Final text
of DIS 8473, Protocol for Providing the Connectionless-
mode Network Service", RFC 994, March 1986.
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
Templin Expires November 14, 2010 [Page 38]
Internet-Draft VET May 2010
[RFC1070] Hagens, R., Hall, N., and M. Rose, "Use of the Internet as
a subnetwork for experimentation with the OSI network
layer", RFC 1070, February 1989.
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989.
[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
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.
[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003,
October 1996.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in
IPv6 Specification", RFC 2473, December 1998.
[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.
[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,
Templin Expires November 14, 2010 [Page 39]
Internet-Draft VET May 2010
May 2005.
[RFC3947] Kivinen, T., Swander, B., Huttunen, A., and V. Volpe,
"Negotiation of NAT-Traversal in the IKE", RFC 3947,
January 2005.
[RFC3948] Huttunen, A., Swander, B., Volpe, V., DiBurro, L., and M.
Stenberg, "UDP Encapsulation of IPsec ESP Packets",
RFC 3948, January 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.
[RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
for IPv6 Hosts and Routers", RFC 4213, October 2005.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
RFC 4306, December 2005.
[RFC4548] Gray, E., Rutemiller, J., and G. Swallow, "Internet Code
Point (ICP) Assignments for NSAP Addresses", RFC 4548,
May 2006.
[RFC4555] Eronen, P., "IKEv2 Mobility and Multihoming Protocol
(MOBIKE)", RFC 4555, June 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
Templin Expires November 14, 2010 [Page 40]
Internet-Draft VET May 2010
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.
[RFC5569] Despres, R., "IPv6 Rapid Deployment on IPv4
Infrastructures (6rd)", RFC 5569, January 2010.
[RFC5685] Devarapalli, V. and K. Weniger, "Redirect Mechanism for
the Internet Key Exchange Protocol Version 2 (IKEv2)",
RFC 5685, November 2009.
[RFC5720] Templin, F., "Routing and Addressing in Networks with
Global Enterprise Recursion (RANGER)", RFC 5720,
February 2010.
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 network or somehow
discovering a link in the network 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.
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.
Templin Expires November 14, 2010 [Page 41]
Internet-Draft VET May 2010
Appendix B. Link-Layer Multiplexing and Traffic Engineering
For each distinct enterprise network that it connects to, an EBR
configures a VET interface over possibly multiple underlying
interfaces that all connect to the same network. The VET interface
therefore represents the EBR's logical point of attachment to the
enterprise network, 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 network 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, 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 network, 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
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 network.
Templin Expires November 14, 2010 [Page 42]
Internet-Draft VET May 2010
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
can insert the SEAL header so that ID-based duplicate packet
detection is enabled within the enterprise network. 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 network 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.
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
Templin Expires November 14, 2010 [Page 43]
Internet-Draft VET May 2010
within IPvX encapsulation, as well as for IPv4 within IPv6
encapsulation, this requires a VET interface specific address mapping
database. For IPv6 within IPv4 encapsulation, the mapping is
accomplished through simple static extraction of an IPv4 address
embedded within the IPv6 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 EBRs/EBGs. In that case, each VET router
interface that configures the same anycast address must provide
equivalent packet forwarding and 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 should 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 a different path to an
alternate anycast router quickly selected 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
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
Templin Expires November 14, 2010 [Page 44]
Internet-Draft VET May 2010
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.
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 -11 to -12:
o Major section rearrangement
o Changed "PRL" to "VGL"
o Brought back text that was lost in the -10 to -11 transition
Changes from -10 to -11:
o Major changes with significant simplifications
o Now support stateless PD using 6rd mechanisms
o SEAL Control Message Protocol (SCMP) used instead of ICMPv6
o Multi-protocol support including IPv6, IPv4, OSI/CLNP, etc.
Changes from -09 to -10:
o Changed "enterprise" to "enterprise network" throughout
o dropped "inner IP", since inner layer may be non-IP
o TODO - convert "IPv6 ND" to SEAL SCMP messages so that control
messages remain *within* the tunnel interface instead of being
exposed to the inner network layer protocol engine.
Changes from -08 to -09:
Templin Expires November 14, 2010 [Page 45]
Internet-Draft VET May 2010
o Expanded discussion of encapsulation/decapsulation procedures
o cited IRON
Changes from -07 to -08:
o Specified the approach to global mapping using virtual aggregation
and BGP
Changes from -06 to -07:
o reworked redirect function
o created new section on VET interface encapsulation
o clarifications on nexthop selection
o fixed several bugs
Changed from -05 to -06:
o reworked VET interface ND
o anycast clarifications
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
Changes from -00 to -01:
Templin Expires November 14, 2010 [Page 46]
Internet-Draft VET May 2010
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 interfaces.
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 November 14, 2010 [Page 47]
| PAFTECH AB 2003-2026 | 2026-04-24 07:16:11 |