idnits 2.17.1 draft-templin-intarea-vet-26.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 18, 2011) is 4571 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-grow-va' is defined on line 1769, but no explicit reference was found in the text == Outdated reference: A later version (-68) exists of draft-templin-intarea-seal-31 ** Downref: Normative reference to an Experimental draft: draft-templin-intarea-seal (ref. 'I-D.templin-intarea-seal') ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) ** Obsolete normative reference: RFC 3633 (Obsoleted by RFC 8415) ** Obsolete normative reference: RFC 5342 (Obsoleted by RFC 7042) == Outdated reference: A later version (-15) exists of draft-cheshire-dnsext-multicastdns-14 == Outdated reference: A later version (-12) exists of draft-ietf-6man-udpzero-03 == Outdated reference: A later version (-13) exists of draft-ietf-dhc-subnet-alloc-12 == Outdated reference: A later version (-06) exists of draft-ietf-grow-va-05 == Outdated reference: A later version (-24) exists of draft-ietf-lisp-15 == Outdated reference: A later version (-14) exists of draft-ietf-manet-smf-12 == Outdated reference: A later version (-12) exists of draft-templin-aero-02 == Outdated reference: A later version (-16) exists of draft-templin-ironbis-04 -- Obsolete informational reference (is this intentional?): RFC 4306 (Obsoleted by RFC 5996) -- Obsolete informational reference (is this intentional?): RFC 4941 (Obsoleted by RFC 8981) Summary: 5 errors (**), 0 flaws (~~), 12 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group F. Templin, Ed. 3 Internet-Draft Boeing Research & Technology 4 Intended status: Standards Track October 18, 2011 5 Expires: April 20, 2012 7 Virtual Enterprise Traversal (VET) 8 draft-templin-intarea-vet-26.txt 10 Abstract 12 Enterprise networks connect hosts and routers over various link 13 types, and often also connect to provider networks and/or the global 14 Internet. Enterprise network nodes require a means to automatically 15 provision addresses/prefixes and support internetworking operation in 16 a wide variety of use cases including Small Office, Home Office 17 (SOHO) networks, Mobile Ad hoc Networks (MANETs), ISP networks, 18 multi-organizational corporate networks and the interdomain core of 19 the global Internet itself. This document specifies a Virtual 20 Enterprise Traversal (VET) abstraction for autoconfiguration and 21 operation of nodes in enterprise networks. 23 Status of this Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on April 20, 2012. 40 Copyright Notice 42 Copyright (c) 2011 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 58 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 59 3. Enterprise Network Characteristics . . . . . . . . . . . . . . 11 60 4. Autoconfiguration . . . . . . . . . . . . . . . . . . . . . . 13 61 4.1. Enterprise Router (ER) Autoconfiguration . . . . . . . . . 13 62 4.2. VET Border Router (VBR) Autoconfiguration . . . . . . . . 15 63 4.2.1. VET Interface Initialization . . . . . . . . . . . . . 15 64 4.2.2. Potential Router List (PRL) Discovery . . . . . . . . 16 65 4.2.3. Provider-Aggregated (PA) EID Prefix 66 Autoconfiguration . . . . . . . . . . . . . . . . . . 16 67 4.2.4. ISP-Independent EID Prefix Autoconfiguration . . . . . 18 68 4.3. VET Border Gateway (VBG) Autoconfiguration . . . . . . . . 19 69 4.4. VET Host Autoconfiguration . . . . . . . . . . . . . . . . 19 70 5. Internetworking Operation . . . . . . . . . . . . . . . . . . 20 71 5.1. Routing Protocol Participation . . . . . . . . . . . . . . 20 72 5.1.1. PI Prefix Routing Considerations . . . . . . . . . . . 21 73 5.1.2. VA Prefix Routing Considerations . . . . . . . . . . . 21 74 5.2. Default Route Configuration and Selection . . . . . . . . 21 75 5.3. Address Selection . . . . . . . . . . . . . . . . . . . . 22 76 5.4. Next Hop Determination . . . . . . . . . . . . . . . . . . 22 77 5.5. VET Interface Encapsulation/Decapsulation . . . . . . . . 23 78 5.5.1. Inner Network Layer Protocol . . . . . . . . . . . . . 24 79 5.5.2. Mid-Layer Encapsulation . . . . . . . . . . . . . . . 24 80 5.5.3. SEAL Encapsulation . . . . . . . . . . . . . . . . . . 24 81 5.5.4. Outer Transport-Layer Header Encapsulation . . . . . . 24 82 5.5.5. Outer IP Header Encapsulation . . . . . . . . . . . . 25 83 5.5.6. Decapsulation . . . . . . . . . . . . . . . . . . . . 26 84 5.6. Neighbor Coordination on VET Interfaces that use SEAL . . 26 85 5.6.1. Router Discovery . . . . . . . . . . . . . . . . . . . 28 86 5.6.2. Neighbor Unreachability Detection . . . . . . . . . . 29 87 5.6.3. Unidirectional Tunnel Neighbor Discovery . . . . . . . 29 88 5.6.4. Bidirectional Tunnel Neighbor Synchronization . . . . 30 89 5.7. Neighbor Coordination on VET Interfaces using IPsec . . . 31 90 5.8. Mobility and Multihoming Considerations . . . . . . . . . 32 91 5.9. Multicast . . . . . . . . . . . . . . . . . . . . . . . . 32 92 5.9.1. Multicast over (Non)Multicast Enterprise Networks . . 32 93 5.9.2. Multicast Over Multicast-Capable Enterprise 94 Networks . . . . . . . . . . . . . . . . . . . . . . . 33 95 5.10. Service Discovery . . . . . . . . . . . . . . . . . . . . 34 96 5.11. VET Link Partitioning . . . . . . . . . . . . . . . . . . 34 97 5.12. VBG Prefix State Recovery . . . . . . . . . . . . . . . . 34 98 5.13. Legacy ISATAP Services . . . . . . . . . . . . . . . . . . 34 99 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 100 7. Security Considerations . . . . . . . . . . . . . . . . . . . 35 101 8. Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 35 102 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 36 103 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 36 104 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37 105 11.1. Normative References . . . . . . . . . . . . . . . . . . . 37 106 11.2. Informative References . . . . . . . . . . . . . . . . . . 38 107 Appendix A. Duplicate Address Detection (DAD) Considerations . . 43 108 Appendix B. Anycast Services . . . . . . . . . . . . . . . . . . 44 109 Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 45 110 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 47 112 1. Introduction 114 Enterprise networks [RFC4852] connect hosts and routers over various 115 link types (see [RFC4861], Section 2.2). The term "enterprise 116 network" in this context extends to a wide variety of use cases and 117 deployment scenarios. For example, an "enterprise" can be as small 118 as a Small Office, Home Office (SOHO) network, as complex as a multi- 119 organizational corporation, or as large as the global Internet 120 itself. Internet Service Provider (ISP) networks are another example 121 use case that fits well with the VET enterprise network model. 122 Mobile Ad hoc Networks (MANETs) [RFC2501] can also be considered as a 123 challenging example of an enterprise network, in that their 124 topologies may change dynamically over time and that they may employ 125 little/no active management by a centralized network administrative 126 authority. These specialized characteristics for MANETs require 127 careful consideration, but the same principles apply equally to other 128 enterprise network scenarios. 130 This document specifies a Virtual Enterprise Traversal (VET) 131 abstraction for autoconfiguration and internetworking operation, 132 where addresses of different scopes may be assigned on various types 133 of interfaces with diverse properties. Both IPv4/ICMPv4 134 [RFC0791][RFC0792] and IPv6/ICMPv6 [RFC2460][RFC4443] are discussed 135 within this context (other network layer protocols are also 136 considered). The use of standard DHCP [RFC2131] [RFC3315] is assumed 137 unless otherwise specified. 139 Provider-Edge Interfaces 140 x x x 141 | | | 142 +--------------------+---+--------+----------+ E 143 | | | | | n 144 | I | | .... | | t 145 | n +---+---+--------+---+ | e 146 | t | +--------+ /| | r 147 | e I x----+ | Host | I /*+------+--< p I 148 | r n | |Function| n|**| | r n 149 | n t | +--------+ t|**| | i t 150 | a e x----+ V e|**+------+--< s e 151 | l r . | E r|**| . | e r 152 | f . | T f|**| . | f 153 | V a . | +--------+ a|**| . | I a 154 | i c . | | Router | c|**| . | n c 155 | r e x----+ |Function| e \*+------+--< t e 156 | t s | +--------+ \| | e s 157 | u +---+---+--------+---+ | r 158 | a | | .... | | i 159 | l | | | | o 160 +--------------------+---+--------+----------+ r 161 | | | 162 x x x 163 Enterprise-Edge Interfaces 165 Figure 1: Enterprise Router (ER) Architecture 167 Figure 1 above depicts the architectural model for an Enterprise 168 Router (ER). As shown in the figure, an ER may have a variety of 169 interface types including enterprise-edge, enterprise-interior, 170 provider-edge, internal-virtual, as well as VET interfaces used for 171 encapsulating inner network layer protocol packets for transmission 172 over outer IPv4 or IPv6 networks. The different types of interfaces 173 are defined, and the autoconfiguration mechanisms used for each type 174 are specified. This architecture applies equally for MANET routers, 175 in which enterprise-interior interfaces typically correspond to the 176 wireless multihop radio interfaces associated with MANETs. Out of 177 scope for this document is the autoconfiguration of provider 178 interfaces, which must be coordinated in a manner specific to the 179 service provider's network. 181 The VET framework builds on a Non-Broadcast Multiple Access (NBMA) 182 [RFC2491] virtual interface model in a manner similar to other 183 automatic tunneling technologies [RFC2529][RFC5214]. VET interfaces 184 support the encapsulation of inner network layer protocol packets 185 over IP networks (i.e., either IPv4 or IPv6), and provide an NBMA 186 interface abstraction for coordination between tunnel endpoint 187 "neighbors". VET is also compatible with mid-layer encapsulation 188 technologies including IPsec [RFC4301], and supports both stateful 189 and stateless prefix delegation. 191 VET and its associated technologies (including the Subnetwork 192 Encapsulation and Adaptation Layer (SEAL) [I-D.templin-intarea-seal] 193 and Asymmetric Extended Route Optimization (AERO) [I-D.templin-aero]) 194 are functional building blocks for a new Internetworking architecture 195 known as the Internet Routing Overlay Network (IRON) 196 [I-D.templin-ironbis] and Routing and Addressing in Networks with 197 Global Enterprise Recursion (RANGER) [RFC5720][RFC6139]. Many of the 198 VET principles can be traced to the deliberations of the ROAD group 199 in January 1992, and also to still earlier initiatives including 200 NIMROD [RFC1753] and the Catenet model for internetworking [CATENET] 201 [IEN48] [RFC2775]. The high-level architectural aspects of the ROAD 202 group deliberations are captured in a "New Scheme for Internet 203 Routing and Addressing (ENCAPS) for IPNG" [RFC1955]. 205 VET is related to the present-day activities of the IETF INTAREA, 206 AUTOCONF, DHC, IPv6, MANET, RENUM and V6OPS working groups, as well 207 as the IRTF RRG working group. 209 2. Terminology 211 The mechanisms within this document build upon the fundamental 212 principles of IP encapsulation. The term "inner" refers to the 213 innermost {address, protocol, header, packet, etc.} *before* 214 encapsulation, and the term "outer" refers to the outermost {address, 215 protocol, header, packet, etc.} *after* encapsulation. VET also 216 accommodates "mid-layer" encapsulations including SEAL 217 [I-D.templin-intarea-seal], IPsec [RFC4301], etc. 219 The terminology in the normative references apply; the following 220 terms are defined within the scope of this document: 222 Virtual Enterprise Traversal (VET) 223 an abstraction that uses encapsulation to create virtual overlays 224 for transporting inner network layer packets over outer IPv4 and 225 IPv6 enterprise networks. 227 enterprise network 228 the same as defined in [RFC4852]. An enterprise network is 229 further understood to refer to a cooperative networked collective 230 of devices within a structured IP routing and addressing plan and 231 with a commonality of business, social, political, etc., 232 interests. Minimally, the only commonality of interest in some 233 enterprise network scenarios may be the cooperative provisioning 234 of connectivity itself. 236 subnetwork 237 the same as defined in [RFC3819]. 239 site 240 a logical and/or physical grouping of interfaces that connect a 241 topological area less than or equal to an enterprise network in 242 scope. From a network organizational standpoint, a site within an 243 enterprise network can be considered as an enterprise network unto 244 itself. 246 Mobile Ad hoc Network (MANET) 247 a connected topology of mobile or fixed routers that maintain a 248 routing structure among themselves over links that often have 249 dynamic connectivity properties. The characteristics of MANETs 250 are described in [RFC2501], Section 3, and a wide variety of 251 MANETs share common properties with enterprise networks. 253 enterprise/site/MANET 254 throughout the remainder of this document, the term "enterprise 255 network" is used to collectively refer to any of {enterprise, 256 site, MANET}, i.e., the VET mechanisms and operational principles 257 can be applied to enterprises, sites, and MANETs of any size or 258 shape. 260 VET link 261 a virtual link that uses automatic tunneling to create an overlay 262 network that spans an enterprise network routing region. VET 263 links can be segmented (e.g., by filtering gateways) into multiple 264 distinct segments that can be joined together by bridges or IP 265 routers the same as for any link. Bridging would view the 266 multiple (bridged) segments as a single VET link, whereas IP 267 routing would view the multiple segments as multiple distinct VET 268 links. VET links can further be partitioned into multiple logical 269 areas, where each area is identified by a distinct set of border 270 nodes. 272 VET links configured over non-multicast enterprise networks 273 support only Non-Broadcast, Multiple Access (NBMA) services; VET 274 links configured over enterprise networks that support multicast 275 can support both NBMA and native multicast services. All nodes 276 connected to the same VET link appear as neighbors from the 277 standpoint of the inner network layer. 279 Enterprise Router (ER) 280 As depicted in Figure 1, an Enterprise Router (ER) is a fixed or 281 mobile router that comprises a router function, a host function, 282 one or more enterprise-interior interfaces, and zero or more 283 internal virtual, enterprise-edge, provider-edge, and VET 284 interfaces. At a minimum, an ER forwards outer IP packets over 285 one or more sets of enterprise-interior interfaces, where each set 286 connects to a distinct enterprise network. 288 VET Border Router (VBR) 289 an ER that connects end user networks (EUNs) to VET links and/or 290 connects multiple VET links together. A VBR is a tunnel endpoint 291 router, and it configures a separate VET interface for each 292 distinct VET link. All VBRs are also ERs. 294 VET Border Gateway (VBG) 295 a VBR that connects VET links to provider networks. A VBG may 296 alternately act as "half-gateway", and forward the packets it 297 receives from neighbors on the VET link to another VBG on the same 298 VET link. All VBGs are also VBRs. 300 VET host 301 any node (host or router) that configures a VET interface for 302 host-operation only. Note that a node may configure some of its 303 VET interfaces as host interfaces and others as router interfaces. 305 VET node 306 any node (host or router) that configures and uses a VET 307 interface. 309 enterprise-interior interface 310 an ER's attachment to a link within an enterprise network. 311 Packets sent over enterprise-interior interfaces may be forwarded 312 over multiple additional enterprise-interior interfaces before 313 they reach either their final destination or a border router/ 314 gateway. Enterprise-interior interfaces connect laterally within 315 the IP network hierarchy. 317 enterprise-edge interface 318 a VBR's attachment to a link (e.g., an Ethernet, a wireless 319 personal area network, etc.) on an arbitrarily complex EUN that 320 the VBR connects to a VET link and/or a provider network. 321 Enterprise-edge interfaces connect to lower levels within the IP 322 network hierarchy. 324 provider-edge interface 325 a VBR's attachment to the Internet or to a provider network via 326 which the Internet can be reached. Provider-edge interfaces 327 connect to higher levels within the IP network hierarchy. 329 internal-virtual interface 330 an interface that is internal to a VET node and does not in itself 331 directly attach to a tangible link, e.g., a loopback interface. 333 VET interface 334 a VET node's attachment to a VET link. VET nodes configure each 335 VET interface over a set of underlying enterprise-interior 336 interfaces that connect to a routing region spanned by a single 337 VET link. When there are multiple distinct VET links (each with 338 their own distinct set of underlying interfaces), the VET node 339 configures a separate VET interface for each link. 341 The VET interface encapsulates each inner packet in any mid-layer 342 headers followed by an outer IP header, then forwards the packet 343 on an underlying interface such that the Time to Live (TTL) - Hop 344 Limit in the inner header is not decremented as the packet 345 traverses the link. The VET interface therefore presents an 346 automatic tunneling abstraction that represents the VET link as a 347 single hop to the inner network layer. 349 Provider Aggregated (PA) prefix 350 a network layer protocol prefix that is delegated to a VET node by 351 a provider network. 353 Virtually Aggregated (VA) prefix 354 a network layer protocol prefix that is delegated to a VET node by 355 a Virtual Service Provider (VSP) that may operate independently of 356 the node's provider networks. The term "Virtually Aggregated (VA) 357 prefix" as used in this document is logically equivalent to the 358 term "Client Prefix (CP)" as used in IRON [I-D.templin-ironbis]. 360 Provider Independent (PI) prefix 361 a network layer protocol prefix that is delegated to a VET node by 362 an independent registration authority. The VET node then becomes 363 solely responsible for representing the PI prefix into the global 364 Internet routing system on its own behalf. 366 Routing Locator (RLOC) 367 a public-scope or enterprise-local-scope IP address that can 368 appear in enterprise-interior and/or interdomain routing tables. 369 Public-scope RLOCs are delegated to specific enterprise networks 370 and routable within both the enterprise-interior and interdomain 371 routing regions. Enterprise-local-scope RLOCs (e.g., IPv6 Unique 372 Local Addresses [RFC4193], IPv4 privacy addresses [RFC1918], etc.) 373 are self-generated by individual enterprise networks and routable 374 only within the enterprise-interior routing region. 376 ERs use RLOCs for operating the enterprise-interior routing 377 protocol and for next-hop determination in forwarding packets 378 addressed to other RLOCs. End systems can use RLOCs as addresses 379 for end-to-end communications between peers within the same 380 enterprise network. VET interfaces treat RLOCs as *outer* IP 381 addresses during encapsulation. 383 Endpoint Interface iDentifier (EID) 384 a public-scope network layer address that is routable within 385 enterprise-edge and/or VET overlay networks. In a pure mapping 386 system, EID prefixes are not routable within the interdomain 387 routing system. In a hybrid routing/mapping system, EID prefixes 388 may be represented within the same interdomain routing instances 389 that distribute RLOC prefixes. In either case, EID prefixes are 390 separate and distinct from any RLOC prefix space, but they are 391 mapped to RLOC addresses to support packet forwarding over VET 392 interfaces. 394 VBRs participate in any EID-based routing instances and use EID 395 addresses for next-hop determination. End systems can use EIDs as 396 addresses for end-to-end communications between peers either 397 within the same enterprise network or within different enterprise 398 networks. VET interfaces treat EIDs as *inner* network layer 399 addresses during encapsulation. 401 Note that an EID can also be used as an *outer* network layer 402 address if there are nested encapsulations. In that case, the EID 403 would appear as an RLOC to the innermost encapsulation. 405 The following additional acronyms are used throughout the document: 407 CGA - Cryptographically Generated Address 408 DHCP(v4, v6) - Dynamic Host Configuration Protocol 409 ECMP - Equal Cost Multi Path 410 EUN - End User Network 411 FIB - Forwarding Information Base 412 ICMP - either ICMPv4 or ICMPv6 413 IP - either IPv4 or IPv6 414 ISATAP - Intra-Site Automatic Tunnel Addressing Protocol 415 NBMA - Non-Broadcast, Multiple Access 416 ND - Neighbor Discovery 417 PIO - Prefix Information Option 418 PRL - Potential Router List 419 PRLNAME - Identifying name for the PRL 420 RIB - Routing Information Base 421 RIO - Route Information Option 422 SCMP - SEAL Control Message Protocol 423 SEAL - Subnetwork Encapsulation and Adaptation Layer 424 SLAAC - IPv6 StateLess Address AutoConfiguration 425 SNS/SNA - SEAL Neighbor Solicitation/Advertisement 426 SRS/SRA - SEAL Router Solicitation/Advertisement 428 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 429 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 430 document are to be interpreted as described in [RFC2119]. When used 431 in lower case (e.g., must, must not, etc.), these words MUST NOT be 432 interpreted as described in [RFC2119], but are rather interpreted as 433 they would be in common English. 435 3. Enterprise Network Characteristics 437 Enterprise networks consist of links that are connected by Enterprise 438 Routers (ERs) as depicted in Figure 1. ERs typically participate in 439 a routing protocol over enterprise-interior interfaces to discover 440 routes that may include multiple Layer 2 or Layer 3 forwarding hops. 441 VET Border Routers (VBRs) are ERs that connect End User Networks 442 (EUNs) to VET links that span enterprise networks. VET Border 443 Gateways (VBGs) are VBRs that connect VET links to provider networks. 445 Conceptually, an ER embodies both a host function and router 446 function, and supports communications according to the weak end- 447 system model [RFC1122]. The router function engages in the 448 enterprise-interior routing protocol on its enterprise-interior 449 interfaces, connects any of the ER's EUNs to its VET links, and may 450 also connect the VET links to provider networks (see Figure 1). The 451 host function typically supports network management applications, but 452 may also support diverse applications typically associated with 453 general-purpose computing platforms. 455 An enterprise network may be as simple as a small collection of ERs 456 and their attached EUNs; an enterprise network may also contain other 457 enterprise networks and/or be a subnetwork of a larger enterprise 458 network. An enterprise network may further encompass a set of branch 459 offices and/or nomadic hosts connected to a home office over one or 460 several service providers, e.g., through Virtual Private Network 461 (VPN) tunnels. Finally, an enterprise network may contain many 462 internal partitions that are logical or physical groupings of nodes 463 for the purpose of load balancing, organizational separation, etc. 464 In that case, each internal partition resembles an individual segment 465 of a bridged LAN. 467 Enterprise networks that comprise link types with sufficiently 468 similar properties (e.g., Layer 2 (L2) address formats, maximum 469 transmission units (MTUs), etc.) can configure a subnetwork routing 470 service such that the network layer sees the underlying network as an 471 ordinary shared link the same as for a (bridged) campus LAN (this is 472 often the case with large cellular operator networks). In that case, 473 a single network layer hop is sufficient to traverse the underlying 474 network. Enterprise networks that comprise link types with diverse 475 properties and/or configure multiple IP subnets must also provide an 476 enterprise-interior routing service that operates as an IP layer 477 mechanism. In that case, multiple network layer hops may be 478 necessary to traverse the underlying network. 480 In addition to other interface types, VET nodes configure VET 481 interfaces that view all other nodes on the VET link as neighbors on 482 a virtual NBMA link. VET nodes configure a separate VET interface 483 for each distinct VET link to which they connect, and discover 484 neighbors on the link that can be used for forwarding packets to off- 485 link destinations. VET interface neighbor relationships may be 486 either unidirectional or bidirectional. 488 A unidirectional neighbor relationship is typically established and 489 maintained as a result of network layer control protocol messaging in 490 a manner that parallels IPv6 neighbor discovery [RFC4861]. A 491 bidirectional neighbor relationship is typically established and 492 maintained as result of a short transaction between the neighbors 493 (see: Section 5.6.4). 495 For each distinct VET link , a trust basis must be established and 496 consistently applied. For example, for VET links configured over 497 enterprise networks in which VBRs establish symmetric security 498 associations, mechanisms such as IPsec [RFC4301] can be used to 499 assure authentication and confidentiality. In other enterprise 500 network scenarios, VET links may require asymmetric securing 501 mechanisms such as SEcure Neighbor Discovery (SEND) [RFC3971]. VET 502 links configured over still other enterprise networks may find it 503 sufficient to employ ancillary encapsulations (e.g., SEAL 504 [I-D.templin-intarea-seal]) that include per-packet authentication 505 and/or identification materials. 507 Finally, for VET links configured over enterprise networks with a 508 centralized management structure (e.g., a corporate campus network, 509 an ISP network, etc.), a hybrid routing/mapping service can be 510 deployed using a synchronized set of VBGs. In that case, the VBGs 511 can provide a "default mapper" [I-D.jen-apt] service used for short- 512 term packet forwarding until route-optimized paths can be 513 established. For VET links configured over enterprise networks with 514 a distributed management structure (e.g., disconnected MANETs), peer- 515 to-peer coordination between the VET nodes themselves without the 516 assistance of VBGs may be required. Recognizing that various use 517 cases may entail a continuum between a fully centralized and fully 518 distributed approach, the following sections present the mechanisms 519 of Virtual Enterprise Traversal as they apply to a wide variety of 520 scenarios. 522 4. Autoconfiguration 524 ERs, VBRs, VBGs, and VET hosts configure themselves for operation as 525 specified in the following subsections. 527 4.1. Enterprise Router (ER) Autoconfiguration 529 ERs configure enterprise-interior interfaces and engage in any 530 routing protocols over those interfaces. 532 When an ER joins an enterprise network, it first configures an IPv6 533 link-local address on each enterprise-interior interface that 534 requires an IPv6 link-local capability and configures an IPv4 link- 535 local address on each enterprise-interior interface that requires an 536 IPv4 link-local capability. IPv6 link-local address generation 537 mechanisms include Cryptographically Generated Addresses (CGAs) 538 [RFC3972], IPv6 Privacy Addresses [RFC4941], StateLess Address 539 AutoConfiguration (SLAAC) using EUI-64 interface identifiers 540 [RFC4291] [RFC4862], etc. The mechanisms specified in [RFC3927] 541 provide an IPv4 link-local address generation capability. 543 Next, the ER configures one or more RLOCs and engages in any routing 544 protocols on its enterprise-interior interfaces. The ER can 545 configure RLOCs via administrative configuration, pseudo-random self- 546 generation from a suitably large address pool, SLAAC, DHCP 547 autoconfiguration, or through an alternate autoconfiguration 548 mechanism. 550 Pseudo-random self-generation of IPv6 RLOCs can be from a large 551 public or local-use IPv6 address range (e.g., IPv6 Unique Local 552 Addresses [RFC4193]). Pseudo-random self-generation of IPv4 RLOCs 553 can be from a large public or local-use IPv4 address range (e.g., 554 [RFC1918]). When self-generation is used alone, the ER continuously 555 monitors the RLOCs for uniqueness, e.g., by monitoring the 556 enterprise-interior routing protocol. (Note however that anycast 557 RLOCs may be assigned to multiple enterprise-interior interfaces; 558 hence, monitoring for uniqueness applies only to RLOCs that are 559 provisioned as unicast.) 561 SLAAC autoconfiguration of RLOCs can be through the receipt of IPv6 562 Router Advertisements (RAs) followed by the stateless configuration 563 of addresses based on any included Prefix Information Options (PIOs) 564 [RFC4861][RFC4862]. 566 DHCP autoconfiguration of RLOCs uses standard DHCP procedures, 567 however ERs acting as DHCP clients SHOULD also use DHCP 568 Authentication [RFC3118] [RFC3315] as discussed further below. In 569 typical enterprise network scenarios (i.e., those with stable links), 570 it may be sufficient to configure one or a few DHCP relays on each 571 link that does not include a DHCP server. In more extreme scenarios 572 (e.g., MANETs that include links with dynamic connectivity 573 properties), DHCP operation may require any ERs that have already 574 configured RLOCs to act as DHCP relays to ensure that client DHCP 575 requests eventually reach a DHCP server. This may result in 576 considerable DHCP message relaying until a server is located, but the 577 DHCP Authentication Replay Detection vector provides relays with a 578 means for avoiding message duplication. 580 In all enterprise network scenarios, the amount of DHCP relaying 581 required can be significantly reduced if each relay has a way of 582 contacting a DHCP server directly. In particular, if the relay can 583 discover the unicast addresses for one or more servers (e.g., by 584 discovering the unicast RLOC addresses of VBGs as described in 585 Section 4.2.2) it can forward DHCP requests directly to the unicast 586 address(es) of the server(s). If the relay does not know the unicast 587 address of a server, it can forward DHCP requests to a site-scoped 588 DHCP server multicast address if the enterprise network supports 589 site-scoped multicast services. For DHCPv6, relays can forward 590 requests to the site-scoped IPv6 multicast group address 591 'All_DHCP_Servers' [RFC3315]. For DHCPv4, relays can forward 592 requests to the site-scoped IPv4 multicast group address 593 'All_DHCPv4_Servers', which SHOULD be set to 239.255.2.1 unless an 594 alternate multicast group for the enterprise network is known. 595 DHCPv4 servers that delegate RLOCs SHOULD therefore join the 596 'All_DHCPv4_Servers' multicast group and service any DHCPv4 messages 597 received for that group. 599 A combined approach using both DHCP and self-generation is also 600 possible when the ER configures both a DHCP client and relay that are 601 connected, e.g., via a pair of back-to-back connected Ethernet 602 interfaces, a tun/tap interface, a loopback interface, inter-process 603 communication, etc. The ER first self-generates an RLOC taken from a 604 temporary addressing range used only for the bootstrapping purpose of 605 procuring an actual RLOC taken from a delegated addressing range. 606 The ER then engages in the enterprise-interior routing protocol and 607 performs a DHCP exchange as above using the temporary RLOC as the 608 address of its relay function. When the DHCP server delegates an 609 actual RLOC address/prefix, the ER abandons the temporary RLOC and 610 re-engages in the enterprise-interior routing protocol using an RLOC 611 taken from the delegation. 613 Alternatively (or in addition to the above), the ER can request RLOC 614 prefix delegations via an automated prefix delegation exchange over 615 an enterprise-interior interface and can assign the prefix(es) on 616 enterprise-edge interfaces. Note that in some cases, the same 617 enterprise-edge interfaces may assign both RLOC and EID addresses if 618 there is a means for source address selection. In other cases (e.g., 619 for separation of security domains), RLOCs and EIDs are assigned on 620 separate sets of enterprise-edge interfaces. 622 In some enterprise network scenarios (e.g., MANETs that include links 623 with dynamic connectivity properties), assignment of RLOCs on 624 enterprise-interior interfaces as singleton addresses (i.e., as 625 addresses with /32 prefix lengths for IPv4, or as addresses with /128 626 prefix lengths for IPv6) MAY be necessary to avoid multi-link subnet 627 issues [RFC4903]. 629 4.2. VET Border Router (VBR) Autoconfiguration 631 VBRs are ERs that configure and use one or more VET interfaces. In 632 addition to the ER autoconfiguration procedures specified in 633 Section 4.1, VBRs perform the following autoconfiguration operations. 635 4.2.1. VET Interface Initialization 637 VBRs configure a separate VET interface for each VET link, where each 638 VET link spans a distinct sets of underlying links belonging to the 639 same enterprise network. All nodes on the VET link appear as single- 640 hop neighbors from the standpoint of the inner network layer protocol 641 through the use of encapsulation. 643 The VBR binds each VET interface to one or more underlying 644 interfaces, and uses the underlying interface addresses as RLOCs to 645 serve as the outer source addresses for encapsulated packets. The 646 VBR then assigns a link-local address to each VET interface if 647 necessary. When IPv6 and IPv4 are used as the inner/outer protocols 648 (respectively), the VBR can autoconfigure an IPv6 link-local address 649 on the VET interface using a modified EUI-64 interface identifier 650 based on an IPv4 RLOC address (see Section 2.2.1 of [RFC5342]). 651 Link-local address configuration for other inner/outer protocol 652 combinations is through administrative configuration, random self- 653 generation (e.g., [RFC4941], etc.) or through an unspecified 654 alternate method. 656 4.2.2. Potential Router List (PRL) Discovery 658 After initializing the VET interface, the VBR next discovers a 659 Potential Router List (PRL) for the VET link that includes the RLOC 660 addresses of VBGs. The PRL can be discovered through administrative 661 configuration, information conveyed in the enterprise-interior 662 routing protocol, an anycast VBG discovery message exchange, a DHCP 663 option, etc. In multicast-capable enterprise networks, VBRs can also 664 listen for advertisements on the 'rasadv' [RASADV] multicast group 665 address. 667 When no other information is available, the VBR can resolve an 668 identifying name for the PRL ('PRLNAME') formed as 669 'hostname.domainname', where 'hostname' is an enterprise-specific 670 name string and 'domainname' is an enterprise-specific Domain Name 671 System (DNS) suffix [RFC1035]. The VBR discovers 'PRLNAME' through 672 administrative configuration, the DHCP Domain Name option [RFC2132], 673 'rasadv' protocol advertisements, link-layer information (e.g., an 674 IEEE 802.11 Service Set Identifier (SSID)), or through some other 675 means specific to the enterprise network. The VBR can also obtain 676 'PRLNAME' as part of an arrangement with a private-sector Virtual 677 Service Provider (VSP) (see: Section 4.2.4). 679 In the absence of other information, the VBR sets the 'hostname' 680 component of 'PRLNAME' to "isatapv2" and sets the 'domainname' 681 component to an enterprise-specific DNS suffix (e.g., "example.com"). 682 Isolated enterprise networks that do not connect to the outside world 683 may have no enterprise-specific DNS suffix, in which case the 684 'PRLNAME' consists only of the 'hostname' component. (Note that the 685 default hostname "isatapv2" is intentionally distinct from the 686 convention specified in [RFC5214].) 688 After discovering 'PRLNAME', the VBR resolves the name into a list of 689 RLOC addresses through a name service lookup. For centrally managed 690 enterprise networks, the VBR resolves 'PRLNAME' using an enterprise- 691 local name service (e.g., the DNS). For enterprises with no 692 centralized management structure, the VBR resolves 'PRLNAME' using a 693 distributed name service query such as Link-Local Multicast Name 694 Resolution (LLMNR) [RFC4795] over the VET interface. In that case, 695 all VBGs in the PRL respond to the query, and the VBR accepts the 696 union of all responses. 698 4.2.3. Provider-Aggregated (PA) EID Prefix Autoconfiguration 700 VBRs that connect their enterprise networks to a provider network can 701 obtain Provider-Aggregated (PA) EID prefixes through stateful and/or 702 stateless autoconfiguration mechanisms. The stateful and stateless 703 approaches are discussed in the following subsections. 705 4.2.3.1. Stateful Prefix Delegation 707 For IPv4, VBRs acquire IPv4 PA EID prefixes through administrative 708 configuration, an automated IPv4 prefix delegation exchange, etc. 710 For IPv6, VBRs acquire IPv6 PA EID prefixes through administrative 711 configuration or through DHCPv6 Prefix Delegation exchanges with a 712 VBG acting as a DHCP relay/server. In particular, the VBR (acting as 713 a requesting router) can use DHCPv6 prefix delegation [RFC3633] over 714 the VET interface to obtain prefixes from the VBG (acting as a 715 delegating router). The VBR obtains prefixes using either a 716 2-message or 4-message DHCPv6 exchange [RFC3315]. When the VBR acts 717 as a DHCPv6 client, it maps the IPv6 718 "All_DHCP_Relay_Agents_and_Servers" link- scoped multicast address to 719 the VBG's outer RLOC address. 721 To perform the 2-message exchange, the VBR's DHCPv6 client function 722 can send a Solicit message with an IA_PD option either directly or 723 via the VBR's own DHCPv6 relay function (see Section 4.1). The VBR's 724 VET interface then forwards the message using VET encapsulation (see: 725 Section 5.4) to a VBG which either services the request or relays it 726 further. The forwarded Solicit message will elicit a Reply message 727 from the server containing prefix delegations. The VBR can also 728 propose a specific prefix to the DHCPv6 server per Section 7 of 729 [RFC3633]. The server will check the proposed prefix for consistency 730 and uniqueness, then return it in the Reply message if it was able to 731 perform the delegation. 733 After the VBR receives IPv4 and/or IPv6 prefix delegations, it can 734 provision the prefixes on enterprise-edge interfaces as well as on 735 other VET interfaces configured over child enterprise networks for 736 which it acts as a VBG. The VBR can also provision the prefixes on 737 enterprise-interior interfaces to service directly-attached hosts on 738 the enterprise-interior link. 740 The prefix delegations remain active as long as the VBR continues to 741 renew them via the delegating VBG before lease lifetimes expire. The 742 lease lifetime also keeps the delegation state active even if 743 communications between the VBR and delegating VBG are disrupted for a 744 period of time (e.g., due to an enterprise network partition, power 745 failure, etc.). Note however that if the VBR abandons or otherwise 746 loses continuity with the prefixes, it may be obliged to perform 747 network-wide renumbering if it subsequently receives a new and 748 different set of prefixes. 750 Stateful prefix delegation for non-IP protocols is out of scope. 752 4.2.3.2. Stateless Prefix Delegation 754 When IPv6 and IPv4 are used as the inner and outer protocols, 755 respectively, a stateless IPv6 PA prefix delegation capability is 756 available using the mechanisms specified in [RFC5569][RFC5969]. VBRs 757 can use these mechanisms to statelessly configure IPv6 PA prefixes 758 that embed one of the VBR's IPv4 RLOCs. 760 Using this stateless prefix delegation, if the IPv4 RLOC changes the 761 IPv6 prefix also changes and the VBR is obliged to renumber any 762 interfaces on which sub-prefixes from the delegated prefix are 763 assigned. This method may therefore be most suitable for enterprise 764 networks in which IPv4 RLOC assignments rarely change, or in 765 enterprise networks in which only services that do not depend on a 766 long-term stable IPv6 prefix (e.g., client-side web browsing) are 767 used. 769 Stateless prefix delegation for other protocol combinations is out of 770 scope. 772 4.2.4. ISP-Independent EID Prefix Autoconfiguration 774 VBRs can acquire ISP-independent prefixes to facilitate multihoming, 775 mobility and traffic engineering without requiring site-wide 776 renumbering events due to a change in ISP connections. 778 VBRs that connect major enterprise networks (e.g., large 779 corporations, academic campuses, ISP networks, etc.) to the global 780 Internet can acquire short Provider-Independent (PI) prefixes (e.g., 781 an IPv6 ::/32, an IPv4 /16, etc.) through a registration authority 782 such as the Internet Assigned Numbers Authority (IANA) or a major 783 regional Internet registry. The VBR then advertises the PI prefixes 784 into the global Internet on the behalf of its enterprise network 785 without the assistance of an ISP. 787 VBRs that connect small enterprise networks (e.g., SOHO networks, 788 MANETs, etc.) to a provider network can acquire longer Virtually 789 Aggregated (VA) prefixes (e.g., an IPv6 ::/56, an IPv4 /24, etc.) 790 through arrangements with a Virtual Service Provider (VSP) that may 791 or may not be associated with a specific ISP. The VBR then 792 coordinates its VA prefixes with a VSP independently of any of its 793 directly attached ISPs. (In many cases, the "VSP" may in fact be a 794 major enterprise network that delegates VAs from its PI prefixes.) 796 After a VBR receives PI/VA prefixes, it can sub-delegate portions of 797 the prefixes on enterprise-edge interfaces, on child VET interfaces 798 for which it is configured as a VBG and on enterprise-interior 799 interfaces to service directly-attached hosts on the enterprise- 800 interior link. The VBR can also sub-delegate portions of its PI/VA 801 prefixes to requesting routers connected to child enterprise 802 networks. These requesting routers consider their sub-delegated 803 portions of the PI/VA prefix as PA, and consider the delegating 804 routers as their points of connection to a provider network. 806 4.3. VET Border Gateway (VBG) Autoconfiguration 808 VBGs are VBRs that connect VET links configured over child enterprise 809 networks to provider networks via provider-edge interfaces and/or via 810 VET links configured over parent enterprise networks. A VBG may also 811 act as a "half-gateway", in that it may need to forward the packets 812 it receives from neighbors on the VET link via another VBG associated 813 with the same VET link. This arrangement is seen in the IRON 814 [I-D.templin-ironbis] Client/Server/Relay architecture, in which a 815 Server "half-gateway" is a VBG that forwards packets with enterprise- 816 external destinations via a Relay "half-gateway" that connects the 817 VET link to the provider network. 819 VBGs autoconfigure their provider-edge interfaces in a manner that is 820 specific to the provider connections, and they autoconfigure their 821 VET interfaces that were configured over parent VET links using the 822 VBR autoconfiguration procedures specified in Section 4.2. For each 823 of its VET interfaces connected to child VET links, the VBG 824 initializes the interface the same as for an ordinary VBR (see 825 Section 4.2.1). It then arranges to add one or more of its RLOCs 826 associated with the child VET link to the PRL. 828 VBGs configure a DHCP relay/server on VET interfaces connected to 829 child VET links that require DHCP services. VBGs may also engage in 830 an unspecified anycast VBG discovery message exchange if they are 831 configured to do so. Finally, VBGs respond to distributed name 832 service queries for 'PRLNAME' on VET interfaces connected to VET 833 links that span child enterprise networks with a distributed 834 management structure. 836 4.4. VET Host Autoconfiguration 838 Nodes that cannot be attached via a VBR's enterprise-edge interface 839 (e.g., nomadic laptops that connect to a home office via a Virtual 840 Private Network (VPN)) can instead be configured for operation as a 841 simple host on the VET link. Each VET host performs the same 842 enterprise interior interface RLOC configuration procedures as 843 specified for ERs in Section 4.1. The VET host next performs the 844 same VET interface initialization and PRL discovery procedures as 845 specified for VBRs in Section 4.2, except that it configures its VET 846 interfaces as host interfaces (and not router interfaces). Note also 847 that a node may be configured as a host on some VET interfaces and as 848 a VBR/VBG on other VET interfaces. 850 A VET host may receive non-link-local addresses and/or prefixes to 851 assign to the VET interface via DHCP exchanges and/or through SLAAC 852 information conveyed in RAs. If prefixes are provided, however, 853 there must be assurance that either 1) the VET link will not 854 partition, or 2) that each VET host interface connected to the VET 855 link will configure a unique set of prefixes. VET hosts therefore 856 depend on DHCP and/or RA exchanges to provide only addresses/prefixes 857 that are appropriate for assignment to the VET interface according to 858 these specific cases, and depend on the VBGs within the enterprise 859 keeping track of which addresses/prefixes were assigned to which 860 hosts. 862 When the VET host solicits a DHCP-assigned EID address/prefix over a 863 (non-multicast) VET interface, it maps the DHCP relay/server 864 multicast inner destination address to the outer RLOC address of a 865 VBG that it has selected as a default router. The VET host then 866 assigns any resulting DHCP-delegated addresses/prefixes to the VET 867 interface for use as the source address of inner packets. The host 868 will subsequently send all packets destined to EID correspondents via 869 a default router on the VET link, and may discover more-specific 870 routes based on any redirect messages it receives. 872 5. Internetworking Operation 874 Following the autoconfiguration procedures specified in Section 4, 875 ERs, VBRs, VBGs, and VET hosts engage in normal internetworking 876 operations as discussed in the following sections. 878 5.1. Routing Protocol Participation 880 ERs engage in any RLOC-based routing protocols over enterprise- 881 interior interfaces to exchange routing information for forwarding IP 882 packets with RLOC addresses. VBRs and VBGs can additionally engage 883 in any EID-based routing protocols over VET, enterprise-edge and 884 provider-edge interfaces to exchange routing information for 885 forwarding inner network layer packets with EID addresses. Note that 886 any EID-based routing instances are separate and distinct from any 887 RLOC-based routing instances. 889 VBR/VBG routing protocol participation on non-multicast VET 890 interfaces uses the NBMA interface model, e.g., in the same manner as 891 for OSPF over NBMA interfaces [RFC5340]. (VBR/VBG routing protocol 892 participation on multicast-capable VET interfaces can alternatively 893 use the standard multicast interface model, but this may result in 894 excessive multicast control message overhead.) 895 VBRs can use the list of VBGs in the PRL (see: Section 4.2.1) as an 896 initial list of neighbors for EID-based routing protocol 897 participation. VBRs can alternatively use the list of VBGs as 898 potential default routers instead of engaging in an EID-based routing 899 protocol instance. In that case, when the VBR forwards a packet via 900 a default router it may receive a redirect message indicating a 901 different VET node as a better next hop. 903 5.1.1. PI Prefix Routing Considerations 905 VBRs that connect large enterprise networks to the global Internet 906 advertise their EID PI prefixes directly into the Internet default- 907 free RIB via the Border Gateway Protocol (BGP) [RFC4271] on their own 908 behalf the same as for a major service provider network. VBRs that 909 connect large enterprise networks to provider networks can instead 910 advertise their EID PI prefixes into their providers' routing 911 system(s) if the provider networks are configured to accept them. 913 5.1.2. VA Prefix Routing Considerations 915 VBRs that connect small enterprise networks to provider networks 916 obtain one or more VA prefixes and register them with a serving VBG 917 in the VSP's network (e.g., through a vendor-specific short TCP 918 transaction). The VSP network then acts as a virtual "home" 919 enterprise network that connects its customer small enterprise 920 networks to the Internet routing system. The customer small 921 enterprise networks in turn appear as mobile components of the VSP's 922 network, while the customer network uses its ISP connections solely 923 as transits. (In many cases, the "VSP" may in fact be a major 924 enterprise network that delegates VAs from its PI prefixes to child 925 small enterprise networks.) 927 5.2. Default Route Configuration and Selection 929 Configuration of default routes in the presence of VET interfaces 930 must be carefully coordinated according to the inner and outer 931 network protocols. If the inner and outer protocols are different 932 (e.g., IPv6 within IPv4) then default routes of the inner protocol 933 version can be configured with next-hops corresponding to default 934 routers on a VET interface while default routes of the outer protocol 935 version can be configured with next-hops corresponding to default 936 routers on an underlying interface. 938 If the inner and outer protocols are the same (e.g., IPv4 within 939 IPv4), care must be taken in setting the default route to avoid 940 ambiguity. For example, if default routes are configured on the VET 941 interface then more-specific routes could be configured on underlying 942 interfaces to avoid looping. Alternatively, multiple default routes 943 can be configured with some having next-hops corresponding to (EID- 944 based) default routers on VET interfaces and others having next-hops 945 corresponding to (RLOC-based) default routers on underlying 946 interfaces. In that case, special next-hop determination rules must 947 be used (see: Section 5.4). 949 5.3. Address Selection 951 When permitted by policy and supported by enterprise-interior 952 routing, VET nodes can avoid encapsulation through communications 953 that directly invoke the outer IP protocol using RLOC addresses 954 instead of EID addresses for end-to-end communications. For example, 955 an enterprise network that provides native IPv4 intra-enterprise 956 services can provide continued support for native IPv4 communications 957 even when encapsulated IPv6 services are available for inter- 958 enterprise communications. In other enterprise network scenarios, 959 the use of EID-based communications (i.e., instead of RLOC-based 960 communications) may be necessary and/or beneficial to support address 961 scaling, transparent Network Address Translator (NAT) traversal, 962 security domain separation, site multihoming, traffic engineering, 963 etc. . 965 VET nodes can use source address selection rules (e.g., based on name 966 service information) to determine whether to use EID-based or RLOC- 967 based addressing. The remainder of this section discusses 968 internetworking operation for EID-based communications using the VET 969 interface abstraction. 971 5.4. Next Hop Determination 973 VET nodes perform normal next-hop determination via longest prefix 974 match, and send packets according to the most-specific matching entry 975 in the FIB. If the FIB entry has multiple next-hop addresses, the 976 VBR selects the next-hop with the best metric value. If multiple 977 next hops have the same metric value, the VET node can use Equal Cost 978 Multi Path (ECMP) to forward different flows via different next-hop 979 addresses, where flows are determined, e.g., by computing a hash of 980 the inner packet's source address, destination address and flow label 981 fields. 983 If the VET node has multiple default routes of the same inner and 984 outer protocol versions, with some corresponding to EID-based default 985 routers and others corresponding to RLOC-based default routers, it 986 must perform source address based selection of a default route. In 987 particular, if the packet's source address is taken from an EID 988 prefix the VET node selects a default route configured over the VET 989 interface; otherwise, it selects a default route configured over an 990 underlying interface. 992 As a last resort when there is no matching entry in the FIB (i.e., 993 not even default), VET nodes can discover neighbors within the 994 enterprise network through on-demand name service queries for the 995 packet's destination address (or, by some other inner address to 996 outer address mapping distribution system). For example, for the 997 IPv6 destination address '2001:DB8:1:2::1' and 'PRLNAME' 998 "isatapv2.example.com" the VET node can perform a name service lookup 999 for the domain name: 1000 '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6. 1001 isatapv2.example.com'. 1003 The name service will use wildcard matching [RFC4592] to determine 1004 the most-specific matching entry. For example, if the most-specific 1005 prefix that covers the IPv6 destination address is '2001:DB8:1::/48' 1006 the matching entry is: 1008 '*.1.0.0.0.8.b.d.0.1.0.0.2.ip6.isatapv2.example.com'. 1010 If the name-service lookup succeeds, it will return RLOC addresses 1011 (e.g., in DNS A records) that correspond to neighbors to which the 1012 VET node can forward packets. 1014 Name-service lookups in enterprise networks with a centralized 1015 management structure use an infrastructure-based service, e.g., an 1016 enterprise-local DNS. Name-service lookups in enterprise networks 1017 with a distributed management structure and/or that lack an 1018 infrastructure-based name service instead use a distributed name 1019 service such as LLMNR over the VET interface. When a distributed 1020 name service is used, the VBR that performs the lookup sends a 1021 multicast query and accepts the union of all replies it receives from 1022 neighbors on the VET interface. When a VET node receives the query, 1023 it responds IFF it aggregates an IP prefix that covers the prefix in 1024 the query. 1026 5.5. VET Interface Encapsulation/Decapsulation 1028 VET interfaces encapsulate inner network layer packets in any 1029 necessary mid-layer headers and trailers (e.g., IPsec [RFC4301], 1030 etc.) followed by a SEAL header (if necessary) followed by an outer 1031 transport-layer header such as UDP (if necessary) followed by an 1032 outer IP header. Following all encapsulations, the VET interface 1033 submits the encapsulated packet to the outer IP forwarding engine for 1034 transmission on an underlying interface. The following sections 1035 provide further details on encapsulation: 1037 5.5.1. Inner Network Layer Protocol 1039 The inner network layer protocol sees the VET interface as an 1040 ordinary network interface, and views the outer network layer 1041 protocol as an ordinary L2 transport. The inner- and outer network 1042 layer protocol types are mutually independent and can be used in any 1043 combination. Inner network layer protocol types include IPv6 1044 [RFC2460] and IPv4 [RFC0791], but they may also include non-IP 1045 protocols such as OSI/CLNP [RFC0994][RFC1070][RFC4548]. 1047 5.5.2. Mid-Layer Encapsulation 1049 VET interfaces that use mid-layer encapsulations encapsulate each 1050 inner network layer packet in any mid-layer headers and trailers as 1051 the first step in a potentially multi-layer encapsulation. 1053 5.5.3. SEAL Encapsulation 1055 Following any mid-layer encapsulations, VET interfaces that use SEAL 1056 add a SEAL header as specified in [I-D.templin-intarea-seal]. 1057 Inclusion of a SEAL header must be applied uniformly between all 1058 neighbors on the VET link. Note that when a VET interface sends a 1059 SEAL-encapsulated packet to a neighbor that does not use SEAL 1060 encapsulation, it may receive an ICMP "port unreachable" or "protocol 1061 unreachable" depending on whether/not an outer UDP header is 1062 included. 1064 SEAL encapsulation is used on VET links that require path MTU 1065 mitigations due to encapsulation overhead and/or mechanisms for VET 1066 interface neighbor coordination and error message handling. When 1067 SEAL encapsulation is used, the VET interface sets the 'Next Header' 1068 value in the SEAL header to the IP protocol number associated with 1069 either the mid-layer encapsulation or the IP protocol number of the 1070 inner network layer (if no mid-layer encapsulation is used). The VET 1071 interface sets the other fields in the SEAL header as specified in 1072 [I-D.templin-intarea-seal]. 1074 5.5.4. Outer Transport-Layer Header Encapsulation 1076 Following any mid-layer and/or SEAL encapsulations, VET interfaces 1077 that use a transport layer encapsulation such as UDP add an outer 1078 transport layer header. Inclusion of an outer UDP header must be 1079 applied uniformly between all neighbors on the VET link. Note that 1080 when a VET interface sends a UDP-encapsulated packet to a neighbor 1081 that does not recognize the UDP port number, it may receive an ICMP 1082 "port unreachable" message. 1084 VET interfaces use UDP encapsulation on VET links that may traverse 1085 NATs and/or legacy networking gear (e.g., Equal Cost MultiPath (ECMP) 1086 routers, Link Aggregation Gateways (LAGs), etc.) that only recognize 1087 well-known network layer protocols. When UDP encapsulation is used, 1088 the VET interface encapsulates the mid-layer packet in an outer UDP 1089 header then sets the UDP port numbers as specified for the outermost 1090 mid-layer protocol (e.g., IPsec [RFC3947][RFC3948], etc.). 1092 When SEAL encapsulation [I-D.templin-intarea-seal] is also used, the 1093 VET interface maintains per-neighbor local and remote UDP port 1094 numbers. For bidirectional neighbors, the interface sets the local 1095 UDP port number to the value reserved for SEAL and sets the remote 1096 UDP port number to the observed UDP source port number in packets 1097 that it receives from the neighbor. In cases in which one of the 1098 bidirectional neighbors is behind a NAT, this implies that the one 1099 behind the NAT initiates the neighbor relationship. If both 1100 neighbors have a way of knowing that there are no NATs in the path, 1101 then they may select and set port numbers as for unidirectional 1102 neighbors. 1104 For unidirectional neighbors, the VET interface sets both the local 1105 and remote UDP port numbers to the value reserved for SEAL, and 1106 additionally selects a small set of dynamic port number values for 1107 use as additional local UDP port numbers. The VET interface then 1108 selects one of this set of local port numbers for the UDP source port 1109 for each inner packet it sends, where the port number is determined 1110 e.g., by a hash calculated over the inner network layer addresses and 1111 inner transport layer port numbers. The VET interface uses a hash 1112 function of its own choosing when selecting a dynamic port number 1113 value, but it should choose a function that provides uniform 1114 distribution between the set of values, and it should be consistent 1115 in the manner in which the hash is applied. 1117 Finally, for VET links configured over IPv4 enterprise networks, the 1118 VET interface sets the UDP checksum field to zero. For VET links 1119 configured over IPv6 enterprise networks, considerations for setting 1120 the UDP checksum are discussed in [I-D.ietf-6man-udpzero]. 1122 5.5.5. Outer IP Header Encapsulation 1124 Following any mid-layer, SEAL and/or UDP encapsulations, the VET 1125 interface adds an outer IP header. Outer IP header construction is 1126 the same as specified for ordinary IP encapsulation (e.g., [RFC2003], 1127 [RFC2473], [RFC4213], etc.) except that the "TTL/Hop Limit", "Type of 1128 Service/Traffic Class" and "Congestion Experienced" values in the 1129 inner network layer header are copied into the corresponding fields 1130 in the outer IP header. The VET interface also sets the IP protocol 1131 number to the appropriate value for the first protocol layer within 1132 the encapsulation (e.g., UDP, SEAL, IPsec, etc.). When IPv6 is used 1133 as the outer IP protocol, the VET interface sets the flow label value 1134 in the outer IPv6 header the same as described in 1135 [I-D.carpenter-flow-ecmp]. 1137 5.5.6. Decapsulation 1139 When a VET interface receives an encapsulated packet, it retains the 1140 outer headers and processes the SEAL header as specified in 1141 [I-D.templin-intarea-seal]. 1143 Next, if the packet will be forwarded from the receiving VET 1144 interface into a forwarding VET interface, the VET node copies the 1145 "TTL/Hop Limit", "Type of Service/Traffic Class" and "Congestion 1146 Experienced" values in the outer IP header received on the receiving 1147 VET interface into the corresponding fields in the outer IP header to 1148 be sent over the forwarding VET interface (i.e., the values are 1149 transferred between outer headers and *not* copied from the inner 1150 network layer header). This is true even if the packet is forwarded 1151 out the same VET interface that it arrived on, and necessary to 1152 support diagnostic functions (e.g., traceroute) and avoid looping. 1154 During decapsulation, when the next-hop is via a non-VET interface, 1155 the "Congestion Experienced" value in the outer IP header is copied 1156 into the corresponding field in the inner network layer header. 1158 5.6. Neighbor Coordination on VET Interfaces that use SEAL 1160 VET interfaces that use SEAL use the SEAL Control Message Protocol 1161 (SCMP) as specified in Section 4.5 of [I-D.templin-intarea-seal] to 1162 coordinate reachability, routing information, and mappings between 1163 the inner and outer network layer protocols. SCMP directly parallels 1164 the IPv6 Neighbor Discovery (ND) [RFC4191][RFC4861] and ICMPv6 1165 [RFC4443] protocols, but operates from within the tunnel and supports 1166 operation for any combinations of inner and outer network layer 1167 protocols. 1169 When a VET interface that uses SEAL prepares a neighbor coordination 1170 SCMP message, the message is formatted the same as described for the 1171 corresponding IPv6 ND message, except that the message body is 1172 preceded by a SEAL header the same as for SCMP error messages. The 1173 interface sets the SEAL header flags to (C=1, A=0, R=0, F=1, M=0), 1174 and sets the NEXTHDR/SEG field to 0. It further sets the SEAL Link 1175 ID (LINK_ID) and Neighbor ID (NBR_ID) values according to the values 1176 that are cached for the target tunnel neighbor. The VET interface 1177 MAY additionally include a Packet_ID (PKT_ID) field, in which case it 1178 would also set the flag I=1. 1180 VET and SEAL are specifically designed for encapsulation of inner 1181 network layer payloads over outer IPv4 and IPv6 networks as a link 1182 layer. VET interfaces that use SCMP therefore require a new Source/ 1183 Target Link-Layer Address Option (S/TLLAO) format that encapsulates 1184 IPv4 addresses as shown in Figure 2 and IPv6 addresses as shown in 1185 Figure 3: 1187 0 1 2 3 1188 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 1189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1190 | Type = 2 | Length = 1 | Reserved | 1191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1192 | IPv4 address (bytes 0 thru 3) | 1193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1195 Figure 2: SCMP S/TLLAO Option for IPv4 RLOCs 1197 0 1 2 3 1198 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 1199 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1200 | Type = 2 | Length = 3 | Reserved | 1201 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1202 | Reserved | 1203 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1204 | IPv6 address (bytes 0 thru 3) | 1205 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1206 | IPv6 address (bytes 4 thru 7) | 1207 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1208 | IPv6 address (bytes 8 thru 11) | 1209 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1210 | IPv6 address (bytes 12 thru 15) | 1211 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1213 Figure 3: SCMP S/TLLAO Option for IPv6 RLOCs 1215 In addition, VET interfaces that use SCMP use a modified version of 1216 the Route Information Option (RIO) (see: [RFC4191]) formatted as 1217 shown in Figure 4: 1219 0 1 2 3 1220 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 1221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1222 | Type = 24 | Length | Prefix Length | AF |Prf|Resvd| 1223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1224 | Route Lifetime | 1225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1226 | Prefix (Variable Length) | 1227 . . 1228 . . 1229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1231 Figure 4: SCMP Route Information Option Format 1233 In this modified format, the VET interface sets the Route Lifetime 1234 and Prefix fields in the RIO option the same as specified in 1235 [RFC4191]. It then sets the fields in the header as follows: 1237 o the 'Type', 'Prf', and 'Resvd' fields are set the same as 1238 specified in [RFC4191]. 1240 o the 'Length' field is set to 1, 2, or 3 as specified in [RFC4191]. 1241 It is instead set to 4 if the 'Prefix Length' is greater than 128 1242 and set to 5 if the 'Prefix Length' is greater than 192 (e.g., in 1243 order to accommodate longer prefixes of non-IP protocols). 1245 o the 'Prefix Length' field ranges from 0 to 255. The 'Prefix' 1246 field is 0, 8, 16, 24 or 32 octets depending on the Length, and 1247 the embedded prefix MAY be up to 255 bits in length. 1249 o bits 24 - 26 are used to contain an 'Address Family (AF)' value 1250 that indicates the embedded prefix protocol type. This document 1251 defines the following values for AF: 1253 * 000 - IPv4 1255 * 001 - IPv6 1257 * 010 - OSI/CLNP NSAP 1259 The following subsections discuss VET interface neighbor coordination 1260 using SCMP: 1262 5.6.1. Router Discovery 1264 VET hosts and VBRs can send SCMP Router Solicitation (SRS) messages 1265 to one or more VBGs in the PRL to receive solicited SCMP Router 1266 Advertisements (SRAs). 1268 When a VBG receives an SRS message on a VET interface, it prepares a 1269 solicited SRA message. The SRA includes Router Lifetimes, Default 1270 Router Preferences, PIOs and any other options/parameters that the 1271 VBG is configured to include. If necessary, the VBG also includes 1272 Route Information Options (RIOs) formatted as specified above. 1274 The VBG finally includes one or more SLLAOs formatted as specified 1275 above that encode the IPv6 and/or IPv4 RLOC unicast addresses of its 1276 own enterprise-interior interfaces or the enterprise-interior 1277 interfaces of other nearby VBGs. 1279 5.6.2. Neighbor Unreachability Detection 1281 VET nodes perform Neighbor Unreachability Detection (NUD) on VET 1282 interface neighbors by monitoring hints of forward progress enabled 1283 by SEAL mechanisms as evidence that a neighbor is reachable. First, 1284 when data packets are flowing, the VET node can periodically set the 1285 'A' bit in the SEAL header of data packets to elicit SCMP responses 1286 from the neighbor. Secondly, when no data packets are flowing, the 1287 VET node can send periodic probes such as SCMP Neighbor Solicitation 1288 (SNS) messages for the same purpose. 1290 Responsiveness to routing changes is directly related to the delay in 1291 detecting that a neighbor has gone unreachable. In order to provide 1292 responsiveness comparable to dynamic routing protocols, a reasonably 1293 short neighbor reachable time (e.g., 5sec) SHOULD be used. 1295 Additionally, a VET node may receive outer IP ICMP "Destination 1296 Unreachable; net / host unreachable" messages from an ER on the path 1297 indicating that the path to a neighbor may be failing. The node 1298 SHOULD first check the packet-in-error to obtain reasonable assurance 1299 that the ICMP message is authentic. If the node receives excessive 1300 ICMP unreachable errors through multiple RLOCs associated with the 1301 same FIB entry, it SHOULD delete the FIB entry and allow subsequent 1302 packets to flow through a different route (e.g., a default route with 1303 a VBG as the next hop). 1305 5.6.3. Unidirectional Tunnel Neighbor Discovery 1307 When a VBG forwards a packet for which it knows of a better next hop 1308 on the VET interface, it initiates a redirection procedure for route 1309 optimization purposes. In this procedure, the VBG first informs the 1310 target next-hop that a correspondent should be redirected to contact 1311 the target directly. The VBG accomplishes this by sending a 1312 "predirect" message forward toward the target, which then forwards an 1313 SCMP "Redirect" message via the VBG back toward the original source. 1315 The "predirect" message is formed by simply setting the 'R' bit in 1316 the SEAL header of the data packet to be forwarded. When the target 1317 VET node receives the "predirect" message, it returns a Redirecet 1318 message fomed using the same message structure, forwarding procedures 1319 and proxying procedures as specified in [I-D.templin-aero]. Most 1320 notably, the Redirect message includes a "Redirected Header Option" 1321 formatted the same as for ICMPv6 Redirect messages, except that the 1322 option includes the leading portion of the SEAL data packet that 1323 triggered the redirection event beginning with the midlayer headers 1324 following the SEAL header. 1326 When the target VET node that receives the "predirect" message 1327 prepares a Redirect response, it randomly selects new LINK_ID and 1328 NBR_ID values. It then caches this information and includes the 1329 values in the "Target" field of the Redirect message, i.e., instead 1330 of including an IPv6 address. The Target field is then encoded as 1331 follows: 1332 0 1 2 3 1333 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 1334 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1335 | Reserved | Link_ID | 1336 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1337 | NBR_ID | 1338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1339 | | 1340 + Reserved + 1341 | | 1342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1344 Figure 5: Redirected Target Field Format 1346 When the redirected VET node receives the Redirect message, it caches 1347 the (NBR_ID, LINK_ID) values, and includes this information in 1348 subsequent packets it send to this new (unidirectional) target 1349 neighbor. The target neighbor can then use this identifying 1350 information to loosely authenticate the source of the packets and 1351 defeat off-path attacks. Note that the target neighbor need not 1352 check the outer source addresses/port numbers of the packets, since 1353 it is the (NBR_ID, LINK_ID) as well as the inner (src, dst) addresses 1354 that identify the source. 1356 5.6.4. Bidirectional Tunnel Neighbor Synchronization 1358 The tunnel neighbor relationship between a pair of VET interface 1359 tunnel neighbors can be either unidirectional or bidirectional. A 1360 unidirectional relationship (see: Section 5.6.3) can be established 1361 when Tunnel Endpoint (TE) 'A' will tunnel data packets directly to TE 1362 'B', but 'B' will not tunnel data packets directly to 'A'. A 1363 bidirectional relationship is necessary when both TEs will tunnel 1364 data packets directly to one another. 1366 In order to establish a bidirectional tunnel neighbor relationship, 1367 the initiating TE (call it "A") performs a reliable exchange (e.g., a 1368 short TCP transaction, a DHCP client/server exchange, etc.) with the 1369 responding TE (call it "B"). The application layer details of the 1370 transaction are out of scope for this document, and indeed need not 1371 be standardized as long as both TEs observe the same specifications. 1372 Note that a short transaction instead of a persistent connection is 1373 advised if the outer network layer protocol addresses may change, 1374 e.g., due to a mobility event, due to loss of state in network 1375 middleboxes, etc. If there is assurance that the outer network layer 1376 protocol addresses will not change, then a persistent connection may 1377 be used. 1379 During the transaction, "A" and "B" first authenticate themselves to 1380 each other, then exchange information regarding the inner network 1381 layer prefixes that will be used for conveying inner packets that 1382 will be forwarded over the tunnel. Both TEs then select a randomly- 1383 generated NBR_ID and one or more randomly-generated LINK_IDs, where 1384 each LINK_ID represents a different underlying link over which the 1385 tunnel interface is configured. Both TEs then register their 1386 (NBR_ID, LINK_ID)-tuples with each other to establish the appropriate 1387 bidirectional tunnel neighbor soft state (see Sections 4.4.2 and 1388 4.5.2). 1390 Following this bidirectional tunnel neighbor establishment, the TEs 1391 monitor the soft state for liveness, e.g., using Neighbor 1392 Unreachability Detection hints of forward progress. When one of the 1393 TEs wishes to terminate the relationship, it performs another short 1394 transaction to request the termination, then both TEs delete their 1395 respective tunnel soft state. 1397 This bidirectional tunnel neighbor establishment is most commonly 1398 initiated by a client TE in establishing a connection with a serving 1399 TE, e.g., when a customer router within a home network establishes a 1400 connection with a serving router in a provider network, when a mobile 1401 handset connects with a serving router in a cellular operator 1402 network, etc. 1404 5.7. Neighbor Coordination on VET Interfaces using IPsec 1406 VET interfaces that use IPsec encapsulation use the Internet Key 1407 Exchange protocol, version 2 (IKEv2) [RFC4306] to manage security 1408 association setup and maintenance. IKEv2 provides a logical 1409 equivalent of the SCMP in terms of VET interface neighbor 1410 coordinations; for example, IKEv2 also provides mechanisms for 1411 redirection [RFC5685] and mobility [RFC4555]. 1413 IPsec additionally provides an extended Identification field and 1414 integrity check vector; these features allow IPsec to utilize outer 1415 IP fragmentation and reassembly with less risk of exposure to data 1416 corruption due to reassembly misassociations. On the other hand, 1417 IPsec entails the use of symmetric security associations and hence 1418 may not be appropriate to all enterprise network use cases. 1420 5.8. Mobility and Multihoming Considerations 1422 VBRs that travel between distinct enterprise networks must either 1423 abandon their PA prefixes that are relative to the "old" network and 1424 obtain PA prefixes relative to the "new" network, or somehow 1425 coordinate with a "home" network to retain ownership of the prefixes. 1426 In the first instance, the VBR would be required to coordinate a 1427 network renumbering event on its attached networks using the new PA 1428 prefixes [RFC4192][RFC5887]. In the second instance, an adjunct 1429 mobility management mechanism is required. 1431 VBRs can retain their VA prefixes as they travel between distinct 1432 network points of attachment as long as they continue to refresh 1433 their VA prefix to RLOC address mappings with their serving VBG as 1434 described in [I-D.templin-ironbis]. (When the VBR moves far from its 1435 serving VBG, it can also select a new VBG in order to maintain 1436 optimal routing.) In this way, VBRs can update their VA prefix to 1437 RLOC mappings in real time and without requiring an adjunct mobility 1438 management mechanism. 1440 VBRs that have true PI prefixes can withdraw the prefixes from former 1441 Internet points of attachment and re-advertise them at new points of 1442 attachment as they move. However, this method has been shown to 1443 produce excessive routing churn in the global internet BGP tables, 1444 and should be avoided for any mobility scenarios that may occur along 1445 short timescales. The alternative is to employ a system in which the 1446 true PI prefixes are not injected into the Internet routing system, 1447 but rather managed through some separate global mapping database. 1448 This latter method is employed by the LISP proposal [I-D.ietf-lisp]. 1450 The VBGs of a multihomed enterprise network participate in a private 1451 inner network layer routing protocol instance (e.g., via an interior 1452 BGP instance) to accommodate network partitions/merges as well as 1453 intra-enterprise mobility events. 1455 5.9. Multicast 1457 5.9.1. Multicast over (Non)Multicast Enterprise Networks 1459 Whether or not the underlying enterprise network supports a native 1460 multicasting service, the VET node can act as an inner network layer 1461 IGMP/MLD proxy [RFC4605] on behalf of its attached EUNs and convey 1462 its multicast group memberships over the VET interface to a VBG 1463 acting as a multicast router. Its inner network layer multicast 1464 transmissions will therefore be encapsulated in outer headers with 1465 the unicast address of the VBG as the destination. 1467 5.9.2. Multicast Over Multicast-Capable Enterprise Networks 1469 In multicast-capable enterprise networks, ERs provide an enterprise- 1470 wide multicasting service (e.g., Simplified Multicast Forwarding 1471 (SMF) [I-D.ietf-manet-smf], Protocol Independent Multicast (PIM) 1472 routing, Distance Vector Multicast Routing Protocol (DVMRP) routing, 1473 etc.) over their enterprise-interior interfaces such that outer IP 1474 multicast messages of site-scope or greater scope will be propagated 1475 across the enterprise network. For such deployments, VET nodes can 1476 optionally provide a native inner multicast/broadcast capability over 1477 their VET interfaces through mapping of the inner multicast address 1478 space to the outer multicast address space. In that case, operation 1479 of link-or greater-scoped inner multicasting services (e.g., a link- 1480 scoped neighbor discovery protocol) over the VET interface is 1481 available, but SHOULD be used sparingly to minimize enterprise-wide 1482 flooding. 1484 VET nodes encapsulate inner multicast messages sent over the VET 1485 interface in any mid-layer headers (e.g., UDP, SEAL, IPsec, etc.) 1486 followed by an outer IP header with a site-scoped outer IP multicast 1487 address as the destination. For the case of IPv6 and IPv4 as the 1488 inner/outer protocols (respectively), [RFC2529] provides mappings 1489 from the IPv6 multicast address space to a site-scoped IPv4 multicast 1490 address space (for other encapsulations, mappings are established 1491 through administrative configuration or through an unspecified 1492 alternate static mapping). 1494 Multicast mapping for inner multicast groups over outer IP multicast 1495 groups can be accommodated, e.g., through VET interface snooping of 1496 inner multicast group membership and routing protocol control 1497 messages. To support inner-to-outer multicast address mapping, the 1498 VET interface acts as a virtual outer IP multicast host connected to 1499 its underlying interfaces. When the VET interface detects that an 1500 inner multicast group joins or leaves, it forwards corresponding 1501 outer IP multicast group membership reports on an underlying 1502 interface over which the VET interface is configured. If the VET 1503 node is configured as an outer IP multicast router on the underlying 1504 interfaces, the VET interface forwards locally looped-back group 1505 membership reports to the outer IP multicast routing process. If the 1506 VET node is configured as a simple outer IP multicast host, the VET 1507 interface instead forwards actual group membership reports (e.g., 1508 IGMP messages) directly over an underlying interface. 1510 Since inner multicast groups are mapped to site-scoped outer IP 1511 multicast groups, the VET node MUST ensure that the site-scoped outer 1512 IP multicast messages received on the underlying interfaces for one 1513 VET interface do not "leak out" to the underlying interfaces of 1514 another VET interface. This is accommodated through normal site- 1515 scoped outer IP multicast group filtering at enterprise network 1516 boundaries. 1518 5.10. Service Discovery 1520 VET nodes can perform enterprise-wide service discovery using a 1521 suitable name-to-address resolution service. Examples of flooding- 1522 based services include the use of LLMNR [RFC4795] over the VET 1523 interface or multicast DNS (mDNS) [I-D.cheshire-dnsext-multicastdns] 1524 over an underlying interface. More scalable and efficient service 1525 discovery mechanisms (e.g., anycast) are for further study. 1527 5.11. VET Link Partitioning 1529 A VET link can be partitioned into multiple distinct logical 1530 groupings. In that case, each partition configures its own distinct 1531 'PRLNAME' (e.g., 'isatapv2.zone1.example.com', 1532 'isatapv2.zone2.example.com', etc.). 1534 VBGs can further create multiple IP subnets within a partition, e.g., 1535 by sending SRAs with PIOs containing different IP prefixes to 1536 different groups of VET hosts. VBGs can identify subnets, e.g., by 1537 examining RLOC prefixes, observing the enterprise-interior interfaces 1538 over which SRSs are received, etc. 1540 In the limiting case, VBGs can advertise a unique set of IP prefixes 1541 to each VET host such that each host belongs to a different subnet 1542 (or set of subnets) on the VET interface. 1544 5.12. VBG Prefix State Recovery 1546 VBGs retain explicit state that tracks the inner network layer 1547 prefixes delegated to VBRs connected to the VET link, e.g., so that 1548 packets are delivered to the correct VBRs. When a VBG loses some or 1549 all of its state (e.g., due to a power failure), client VBRs must 1550 refresh the VBG's state so that packets can be forwarded over correct 1551 routes. 1553 5.13. Legacy ISATAP Services 1555 VBGs can support legacy ISATAP services according to the 1556 specifications in [RFC5214]. In particular, VBGs can configure 1557 legacy ISATAP interfaces and VET interfaces over the same sets of 1558 underlying interfaces as long as the PRLs and IPv6 prefixes 1559 associated with the ISATAP/VET interfaces are distinct. 1561 Legacy ISATAP hosts acquire addresses and/or prefixes in the same 1562 manner and using the same mechanisms as described for VET hosts in 1563 Section 4.4 above. 1565 6. IANA Considerations 1567 There are no IANA considerations for this document. 1569 7. Security Considerations 1571 Security considerations for MANETs are found in [RFC2501]. 1573 The security considerations found in [RFC2529][RFC5214][RFC6324] also 1574 apply to VET. 1576 SEND [RFC3971] and/or IPsec [RFC4301] can be used in environments 1577 where attacks on the neighbor coordination protocol are possible. 1578 SEAL [I-D.templin-intarea-seal] provides per-packet identification 1579 values that can be used to detect source address spoofing. 1581 Rogue neighbor coordination messages with spoofed RLOC source 1582 addresses can consume network resources and cause VET nodes to 1583 perform extra work. Nonetheless, VET nodes SHOULD NOT "blacklist" 1584 such RLOCs, as that may result in a denial of service to the RLOCs' 1585 legitimate owners. 1587 VBRs and VBGs observe the recommendations for network ingress 1588 filtering [RFC2827]. 1590 8. Related Work 1592 Brian Carpenter and Cyndi Jung introduced the concept of intra-site 1593 automatic tunneling in [RFC2529]; this concept was later called: 1594 "Virtual Ethernet" and investigated by Quang Nguyen under the 1595 guidance of Dr. Lixia Zhang. Subsequent works by these authors and 1596 their colleagues have motivated a number of foundational concepts on 1597 which this work is based. 1599 Telcordia has proposed DHCP-related solutions for MANETs through the 1600 CECOM MOSAIC program. 1602 The Naval Research Lab (NRL) Information Technology Division uses 1603 DHCP in their MANET research testbeds. 1605 Security concerns pertaining to tunneling mechanisms are discussed in 1606 [I-D.ietf-v6ops-tunnel-security-concerns]. 1608 Default router and prefix information options for DHCPv6 are 1609 discussed in [I-D.droms-dhc-dhcpv6-default-router]. 1611 An automated IPv4 prefix delegation mechanism is proposed in 1612 [I-D.ietf-dhc-subnet-alloc]. 1614 RLOC prefix delegation for enterprise-edge interfaces is discussed in 1615 [I-D.clausen-manet-autoconf-recommendations]. 1617 MANET link types are discussed in [I-D.clausen-manet-linktype]. 1619 The LISP proposal [I-D.ietf-lisp] examines encapsulation/ 1620 decapsulation issues and other aspects of tunneling. 1622 Various proposals within the IETF have suggested similar mechanisms. 1624 9. Acknowledgements 1626 The following individuals gave direct and/or indirect input that was 1627 essential to the work: Jari Arkko, Teco Boot, Emmanuel Bacelli, Fred 1628 Baker, James Bound, Scott Brim, Brian Carpenter, Thomas Clausen, 1629 Claudiu Danilov, Chris Dearlove, Remi Despres, Gert Doering, Ralph 1630 Droms, Washam Fan, Dino Farinacci, Vince Fuller, Thomas Goff, David 1631 Green, Joel Halpern, Bob Hinden, Sascha Hlusiak, Sapumal Jayatissa, 1632 Dan Jen, Darrel Lewis, Tony Li, Joe Macker, David Meyer, Gabi 1633 Nakibly, Thomas Narten, Pekka Nikander, Dave Oran, Alexandru 1634 Petrescu, Mark Smith, John Spence, Jinmei Tatuya, Dave Thaler, Mark 1635 Townsley, Ole Troan, Michaela Vanderveen, Robin Whittle, James 1636 Woodyatt, Lixia Zhang, and others in the IETF AUTOCONF and MANET 1637 working groups. Many others have provided guidance over the course 1638 of many years. 1640 Discussions with colleagues following the publication of RFC5558 have 1641 provided useful insights that have resulted in significant 1642 improvements to this, the Second Edition of VET. 1644 10. Contributors 1646 The following individuals have contributed to this document: 1648 Eric Fleischman (eric.fleischman@boeing.com) 1649 Thomas Henderson (thomas.r.henderson@boeing.com) 1650 Steven Russert (steven.w.russert@boeing.com) 1651 Seung Yi (seung.yi@boeing.com) 1653 Ian Chakeres (ian.chakeres@gmail.com) contributed to earlier versions 1654 of the document. 1656 Jim Bound's foundational work on enterprise networks provided 1657 significant guidance for this effort. We mourn his loss and honor 1658 his contributions. 1660 11. References 1662 11.1. Normative References 1664 [I-D.templin-intarea-seal] 1665 Templin, F., "The Subnetwork Encapsulation and Adaptation 1666 Layer (SEAL)", draft-templin-intarea-seal-31 (work in 1667 progress), September 2011. 1669 [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, 1670 September 1981. 1672 [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, 1673 RFC 792, September 1981. 1675 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1676 Requirement Levels", BCP 14, RFC 2119, March 1997. 1678 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", 1679 RFC 2131, March 1997. 1681 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 1682 (IPv6) Specification", RFC 2460, December 1998. 1684 [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: 1685 Defeating Denial of Service Attacks which employ IP Source 1686 Address Spoofing", BCP 38, RFC 2827, May 2000. 1688 [RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP 1689 Messages", RFC 3118, June 2001. 1691 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 1692 and M. Carney, "Dynamic Host Configuration Protocol for 1693 IPv6 (DHCPv6)", RFC 3315, July 2003. 1695 [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic 1696 Host Configuration Protocol (DHCP) version 6", RFC 3633, 1697 December 2003. 1699 [RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure 1700 Neighbor Discovery (SEND)", RFC 3971, March 2005. 1702 [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", 1703 RFC 3972, March 2005. 1705 [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and 1706 More-Specific Routes", RFC 4191, November 2005. 1708 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 1709 Architecture", RFC 4291, February 2006. 1711 [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control 1712 Message Protocol (ICMPv6) for the Internet Protocol 1713 Version 6 (IPv6) Specification", RFC 4443, March 2006. 1715 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 1716 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 1717 September 2007. 1719 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 1720 Address Autoconfiguration", RFC 4862, September 2007. 1722 [RFC5342] Eastlake, D., "IANA Considerations and IETF Protocol Usage 1723 for IEEE 802 Parameters", BCP 141, RFC 5342, 1724 September 2008. 1726 11.2. Informative References 1728 [CATENET] Pouzin, L., "A Proposal for Interconnecting Packet 1729 Switching Networks", May 1974. 1731 [I-D.carpenter-flow-ecmp] 1732 Carpenter, B. and S. Amante, "Using the IPv6 flow label 1733 for equal cost multipath routing and link aggregation in 1734 tunnels", draft-carpenter-flow-ecmp-03 (work in progress), 1735 October 2010. 1737 [I-D.cheshire-dnsext-multicastdns] 1738 Cheshire, S. and M. Krochmal, "Multicast DNS", 1739 draft-cheshire-dnsext-multicastdns-14 (work in progress), 1740 February 2011. 1742 [I-D.clausen-manet-autoconf-recommendations] 1743 Clausen, T. and U. Herberg, "MANET Router Configuration 1744 Recommendations", 1745 draft-clausen-manet-autoconf-recommendations-00 (work in 1746 progress), February 2009. 1748 [I-D.clausen-manet-linktype] 1749 Clausen, T., "The MANET Link Type", 1750 draft-clausen-manet-linktype-00 (work in progress), 1751 October 2008. 1753 [I-D.droms-dhc-dhcpv6-default-router] 1754 Droms, R. and T. Narten, "Default Router and Prefix 1755 Advertisement Options for DHCPv6", 1756 draft-droms-dhc-dhcpv6-default-router-00 (work in 1757 progress), March 2009. 1759 [I-D.ietf-6man-udpzero] 1760 Fairhurst, G. and M. Westerlund, "IPv6 UDP Checksum 1761 Considerations", draft-ietf-6man-udpzero-03 (work in 1762 progress), April 2011. 1764 [I-D.ietf-dhc-subnet-alloc] 1765 Johnson, R., Kumarasamy, J., Kinnear, K., and M. Stapp, 1766 "Subnet Allocation Option", draft-ietf-dhc-subnet-alloc-12 1767 (work in progress), June 2011. 1769 [I-D.ietf-grow-va] 1770 Francis, P., Xu, X., Ballani, H., Jen, D., Raszuk, R., and 1771 L. Zhang, "FIB Suppression with Virtual Aggregation", 1772 draft-ietf-grow-va-05 (work in progress), June 2011. 1774 [I-D.ietf-lisp] 1775 Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, 1776 "Locator/ID Separation Protocol (LISP)", 1777 draft-ietf-lisp-15 (work in progress), July 2011. 1779 [I-D.ietf-manet-smf] 1780 Macker, J., "Simplified Multicast Forwarding", 1781 draft-ietf-manet-smf-12 (work in progress), July 2011. 1783 [I-D.ietf-v6ops-tunnel-security-concerns] 1784 Krishnan, S., Thaler, D., and J. Hoagland, "Security 1785 Concerns With IP Tunneling", 1786 draft-ietf-v6ops-tunnel-security-concerns-04 (work in 1787 progress), October 2010. 1789 [I-D.jen-apt] 1790 Jen, D., Meisel, M., Massey, D., Wang, L., Zhang, B., and 1791 L. Zhang, "APT: A Practical Transit Mapping Service", 1792 draft-jen-apt-01 (work in progress), November 2007. 1794 [I-D.templin-aero] 1795 Templin, F., "Asymmetric Extended Route Optimization 1796 (AERO)", draft-templin-aero-02 (work in progress), 1797 September 2011. 1799 [I-D.templin-ironbis] 1800 Templin, F., "The Internet Routing Overlay Network 1801 (IRON)", draft-templin-ironbis-04 (work in progress), 1802 October 2011. 1804 [IEN48] Cerf, V., "The Catenet Model for Internetworking", 1805 July 1978. 1807 [RASADV] Microsoft, "Remote Access Server Advertisement (RASADV) 1808 Protocol Specification", October 2008. 1810 [RFC0994] International Organization for Standardization (ISO) and 1811 American National Standards Institute (ANSI), "Final text 1812 of DIS 8473, Protocol for Providing the Connectionless- 1813 mode Network Service", RFC 994, March 1986. 1815 [RFC1035] Mockapetris, P., "Domain names - implementation and 1816 specification", STD 13, RFC 1035, November 1987. 1818 [RFC1070] Hagens, R., Hall, N., and M. Rose, "Use of the Internet as 1819 a subnetwork for experimentation with the OSI network 1820 layer", RFC 1070, February 1989. 1822 [RFC1122] Braden, R., "Requirements for Internet Hosts - 1823 Communication Layers", STD 3, RFC 1122, October 1989. 1825 [RFC1753] Chiappa, J., "IPng Technical Requirements Of the Nimrod 1826 Routing and Addressing Architecture", RFC 1753, 1827 December 1994. 1829 [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and 1830 E. Lear, "Address Allocation for Private Internets", 1831 BCP 5, RFC 1918, February 1996. 1833 [RFC1955] Hinden, R., "New Scheme for Internet Routing and 1834 Addressing (ENCAPS) for IPNG", RFC 1955, June 1996. 1836 [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, 1837 October 1996. 1839 [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor 1840 Extensions", RFC 2132, March 1997. 1842 [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in 1843 IPv6 Specification", RFC 2473, December 1998. 1845 [RFC2491] Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6 1846 over Non-Broadcast Multiple Access (NBMA) networks", 1847 RFC 2491, January 1999. 1849 [RFC2501] Corson, M. and J. Macker, "Mobile Ad hoc Networking 1850 (MANET): Routing Protocol Performance Issues and 1851 Evaluation Considerations", RFC 2501, January 1999. 1853 [RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4 1854 Domains without Explicit Tunnels", RFC 2529, March 1999. 1856 [RFC2775] Carpenter, B., "Internet Transparency", RFC 2775, 1857 February 2000. 1859 [RFC3819] Karn, P., Bormann, C., Fairhurst, G., Grossman, D., 1860 Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L. 1861 Wood, "Advice for Internet Subnetwork Designers", BCP 89, 1862 RFC 3819, July 2004. 1864 [RFC3927] Cheshire, S., Aboba, B., and E. Guttman, "Dynamic 1865 Configuration of IPv4 Link-Local Addresses", RFC 3927, 1866 May 2005. 1868 [RFC3947] Kivinen, T., Swander, B., Huttunen, A., and V. Volpe, 1869 "Negotiation of NAT-Traversal in the IKE", RFC 3947, 1870 January 2005. 1872 [RFC3948] Huttunen, A., Swander, B., Volpe, V., DiBurro, L., and M. 1873 Stenberg, "UDP Encapsulation of IPsec ESP Packets", 1874 RFC 3948, January 2005. 1876 [RFC4192] Baker, F., Lear, E., and R. Droms, "Procedures for 1877 Renumbering an IPv6 Network without a Flag Day", RFC 4192, 1878 September 2005. 1880 [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast 1881 Addresses", RFC 4193, October 2005. 1883 [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms 1884 for IPv6 Hosts and Routers", RFC 4213, October 2005. 1886 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 1887 Protocol 4 (BGP-4)", RFC 4271, January 2006. 1889 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 1890 Internet Protocol", RFC 4301, December 2005. 1892 [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", 1893 RFC 4306, December 2005. 1895 [RFC4548] Gray, E., Rutemiller, J., and G. Swallow, "Internet Code 1896 Point (ICP) Assignments for NSAP Addresses", RFC 4548, 1897 May 2006. 1899 [RFC4555] Eronen, P., "IKEv2 Mobility and Multihoming Protocol 1900 (MOBIKE)", RFC 4555, June 2006. 1902 [RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name 1903 System", RFC 4592, July 2006. 1905 [RFC4605] Fenner, B., He, H., Haberman, B., and H. Sandick, 1906 "Internet Group Management Protocol (IGMP) / Multicast 1907 Listener Discovery (MLD)-Based Multicast Forwarding 1908 ("IGMP/MLD Proxying")", RFC 4605, August 2006. 1910 [RFC4795] Aboba, B., Thaler, D., and L. Esibov, "Link-local 1911 Multicast Name Resolution (LLMNR)", RFC 4795, 1912 January 2007. 1914 [RFC4852] Bound, J., Pouffary, Y., Klynsma, S., Chown, T., and D. 1915 Green, "IPv6 Enterprise Network Analysis - IP Layer 3 1916 Focus", RFC 4852, April 2007. 1918 [RFC4903] Thaler, D., "Multi-Link Subnet Issues", RFC 4903, 1919 June 2007. 1921 [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy 1922 Extensions for Stateless Address Autoconfiguration in 1923 IPv6", RFC 4941, September 2007. 1925 [RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site 1926 Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214, 1927 March 2008. 1929 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 1930 for IPv6", RFC 5340, July 2008. 1932 [RFC5569] Despres, R., "IPv6 Rapid Deployment on IPv4 1933 Infrastructures (6rd)", RFC 5569, January 2010. 1935 [RFC5685] Devarapalli, V. and K. Weniger, "Redirect Mechanism for 1936 the Internet Key Exchange Protocol Version 2 (IKEv2)", 1937 RFC 5685, November 2009. 1939 [RFC5720] Templin, F., "Routing and Addressing in Networks with 1940 Global Enterprise Recursion (RANGER)", RFC 5720, 1941 February 2010. 1943 [RFC5887] Carpenter, B., Atkinson, R., and H. Flinck, "Renumbering 1944 Still Needs Work", RFC 5887, May 2010. 1946 [RFC5969] Townsley, W. and O. Troan, "IPv6 Rapid Deployment on IPv4 1947 Infrastructures (6rd) -- Protocol Specification", 1948 RFC 5969, August 2010. 1950 [RFC6139] Russert, S., Fleischman, E., and F. Templin, "Routing and 1951 Addressing in Networks with Global Enterprise Recursion 1952 (RANGER) Scenarios", RFC 6139, February 2011. 1954 [RFC6324] Nakibly, G. and F. Templin, "Routing Loop Attack Using 1955 IPv6 Automatic Tunnels: Problem Statement and Proposed 1956 Mitigations", RFC 6324, August 2011. 1958 Appendix A. Duplicate Address Detection (DAD) Considerations 1960 A priori uniqueness determination (also known as "pre-service DAD") 1961 for an RLOC assigned on an enterprise-interior interface would 1962 require either flooding the entire enterprise network or somehow 1963 discovering a link in the network on which a node that configures a 1964 duplicate address is attached and performing a localized DAD exchange 1965 on that link. But, the control message overhead for such an 1966 enterprise-wide DAD would be substantial and prone to false-negatives 1967 due to packet loss and intermittent connectivity. An alternative to 1968 pre-service DAD is to autoconfigure pseudo-random RLOCs on 1969 enterprise-interior interfaces and employ a passive in-service DAD 1970 (e.g., one that monitors routing protocol messages for duplicate 1971 assignments). 1973 Pseudo-random IPv6 RLOCs can be generated with mechanisms such as 1974 CGAs, IPv6 privacy addresses, etc. with very small probability of 1975 collision. Pseudo-random IPv4 RLOCs can be generated through random 1976 assignment from a suitably large IPv4 prefix space. 1978 Consistent operational practices can assure uniqueness for VBG- 1979 aggregated addresses/prefixes, while statistical properties for 1980 pseudo-random address self-generation can assure uniqueness for the 1981 RLOCs assigned on an ER's enterprise-interior interfaces. Still, an 1982 RLOC delegation authority should be used when available, while a 1983 passive in-service DAD mechanism should be used to detect RLOC 1984 duplications when there is no RLOC delegation authority. 1986 Appendix B. Anycast Services 1988 Some of the IPv4 addresses that appear in the Potential Router List 1989 may be anycast addresses, i.e., they may be configured on the VET 1990 interfaces of multiple VBRs/VBGs. In that case, each VET router 1991 interface that configures the same anycast address must exhibit 1992 equivalent outward behavior. 1994 Use of an anycast address as the IP destination address of tunneled 1995 packets can have subtle interactions with tunnel path MTU and 1996 neighbor discovery. For example, if the initial fragments of a 1997 fragmented tunneled packet with an anycast IP destination address are 1998 routed to different egress tunnel endpoints than the remaining 1999 fragments, the multiple endpoints will be left with incomplete 2000 reassembly buffers. This issue can be mitigated by ensuring that 2001 each egress tunnel endpoint implements a proactive reassembly buffer 2002 garbage collection strategy. Additionally, ingress tunnel endpoints 2003 that send packets with an anycast IP destination address must use the 2004 minimum path MTU for all egress tunnel endpoints that configure the 2005 same anycast address as the tunnel MTU. Finally, ingress tunnel 2006 endpoints should treat ICMP unreachable messages from a router within 2007 the tunnel as at most a weak indication of neighbor unreachability, 2008 since the failures may only be transient and a different path to an 2009 alternate anycast router quickly selected through reconvergence of 2010 the underlying routing protocol. 2012 Use of an anycast address as the IP source address of tunneled 2013 packets can lead to more serious issues. For example, when the IP 2014 source address of a tunneled packet is anycast, ICMP messages 2015 produced by routers within the tunnel might be delivered to different 2016 ingress tunnel endpoints than the ones that produced the packets. In 2017 that case, functions such as path MTU discovery and neighbor 2018 unreachability detection may experience non-deterministic behavior 2019 that can lead to communications failures. Additionally, the 2020 fragments of multiple tunneled packets produced by multiple ingress 2021 tunnel endpoints may be delivered to the same reassembly buffer at a 2022 single egress tunnel endpoint. In that case, data corruption may 2023 result due to fragment misassociation during reassembly. 2025 In view of these considerations, VBGs that configure an anycast 2026 address should also configure one or more unicast addresses from the 2027 Potential Router List; they should further accept tunneled packets 2028 destined to any of their anycast or unicast addresses, but should 2029 send tunneled packets using a unicast address as the source address. 2031 Appendix C. Change Log 2033 (Note to RFC editor - this section to be removed before publication 2034 as an RFC.) 2036 Changes from -14 to -15: 2038 o new insights into default route configuration and next-hop 2039 determination 2041 Changes from -13 to -14: 2043 o fixed Idnits 2045 Changes from -12 to -13: 2047 o Changed "VGL" *back* to "PRL" 2049 o More changes for multi-protocol support 2051 o Changes to Redirect function 2053 Changes from -11 to -12: 2055 o Major section rearrangement 2057 o Changed "PRL" to "VGL" 2059 o Brought back text that was lost in the -10 to -11 transition 2061 Changes from -10 to -11: 2063 o Major changes with significant simplifications 2065 o Now support stateless PD using 6rd mechanisms 2067 o SEAL Control Message Protocol (SCMP) used instead of ICMPv6 2069 o Multi-protocol support including IPv6, IPv4, OSI/CLNP, etc. 2071 Changes from -09 to -10: 2073 o Changed "enterprise" to "enterprise network" throughout 2075 o dropped "inner IP", since inner layer may be non-IP 2077 o TODO - convert "IPv6 ND" to SEAL SCMP messages so that control 2078 messages remain *within* the tunnel interface instead of being 2079 exposed to the inner network layer protocol engine. 2081 Changes from -08 to -09: 2083 o Expanded discussion of encapsulation/decapsulation procedures 2085 o cited IRON 2087 Changes from -07 to -08: 2089 o Specified the approach to global mapping using virtual aggregation 2090 and BGP 2092 Changes from -06 to -07: 2094 o reworked redirect function 2096 o created new section on VET interface encapsulation 2098 o clarifications on nexthop selection 2100 o fixed several bugs 2102 Changed from -05 to -06: 2104 o reworked VET interface ND 2106 o anycast clarifications 2108 Changes from -03 to -04: 2110 o security consideration clarifications 2112 Changes from -02 to -03: 2114 o security consideration clarifications 2116 o new PRLNAME for VET is "isatav2.example.com" 2118 o VET now uses SEAL natively 2120 o EBGs can support both legacy ISATAP and VET over the same 2121 underlying interfaces. 2123 Changes from -01 to -02: 2125 o Defined CGA and privacy address configuration on VET interfaces 2127 o Interface identifiers added to routing protocol control messages 2128 for link-layer multiplexing 2130 Changes from -00 to -01: 2132 o Section 4.1 clarifications on link-local assignment and RLOC 2133 autoconfiguration. 2135 o Appendix B clarifications on Weak End System Model 2137 Changes from RFC5558 to -00: 2139 o New appendix on RLOC configuration on VET interfaces. 2141 Author's Address 2143 Fred L. Templin (editor) 2144 Boeing Research & Technology 2145 P.O. Box 3707 MC 7L-49 2146 Seattle, WA 98124 2147 USA 2149 Email: fltemplin@acm.org