idnits 2.17.1 draft-kompella-l2vpn-l2vpn-06.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 20, 2011) is 4693 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC4446' is defined on line 940, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 4447 (Obsoleted by RFC 8077) Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group K. Kompella 3 Internet-Draft Juniper Networks 4 Intended status: Informational B. Kothari 5 Expires: December 22, 2011 Cisco Systems 6 R. Cherukuri 7 Juniper Networks 8 June 20, 2011 10 Layer 2 Virtual Private Networks Using BGP for Auto-discovery and 11 Signaling 12 draft-kompella-l2vpn-l2vpn-06.txt 14 Abstract 16 Layer 2 Virtual Private Networks (L2VPNs) based on Frame Relay or ATM 17 circuits have been around a long time; more recently, Ethernet VPNs, 18 including Virtual Private LAN Service, have become popular. 19 Traditional L2VPNs often required a separate Service Provider 20 infrastructure for each type, and yet another for the Internet and IP 21 VPNs. In addition, L2VPN provisioning was cumbersome. This document 22 presents a new approach to the problem of offering L2VPN services 23 where the L2VPN customer's experience is virtually identical to that 24 offered by traditional Layer 2 VPNs, but such that a Service Provider 25 can maintain a single network for L2VPNs, IP VPNs and the Internet, 26 as well as a common provisioning methodology for all services. 28 Status of this Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at http://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on December 22, 2011. 45 Copyright Notice 47 Copyright (c) 2011 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 63 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 64 1.2. Advantages of Layer 2 VPNs . . . . . . . . . . . . . . . . 6 65 1.2.1. Separation of Administrative Responsibilities . . . . 6 66 1.2.2. Migrating from Traditional Layer 2 VPNs . . . . . . . 7 67 1.2.3. Privacy of Routing . . . . . . . . . . . . . . . . . . 7 68 1.2.4. Layer 3 Independence . . . . . . . . . . . . . . . . . 7 69 1.2.5. PE Scaling . . . . . . . . . . . . . . . . . . . . . . 7 70 1.2.6. Ease of Configuration . . . . . . . . . . . . . . . . 8 71 1.3. Advantages of Layer 3 VPNs . . . . . . . . . . . . . . . . 9 72 1.3.1. Layer 2 Independence . . . . . . . . . . . . . . . . . 9 73 1.3.2. SP Routing as Added Value . . . . . . . . . . . . . . 9 74 1.3.3. Class-of-Service . . . . . . . . . . . . . . . . . . . 10 75 1.4. Multicast Routing . . . . . . . . . . . . . . . . . . . . 10 76 1.5. Conventions used in this document . . . . . . . . . . . . 11 77 2. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 12 78 3. Operation of a Layer 2 VPN . . . . . . . . . . . . . . . . . . 13 79 3.1. Network Topology . . . . . . . . . . . . . . . . . . . . . 13 80 3.2. Configuration . . . . . . . . . . . . . . . . . . . . . . 14 81 3.2.1. CE Configuration . . . . . . . . . . . . . . . . . . . 15 82 3.2.2. PE Configuration . . . . . . . . . . . . . . . . . . . 16 83 3.2.3. Adding a New Site . . . . . . . . . . . . . . . . . . 16 84 4. PE Information Exchange . . . . . . . . . . . . . . . . . . . 17 85 4.1. Circuit Status Vector . . . . . . . . . . . . . . . . . . 19 86 4.2. Generalizing the VPN Topology . . . . . . . . . . . . . . 20 87 5. Layer 2 Interworking . . . . . . . . . . . . . . . . . . . . . 21 88 6. Packet Transport . . . . . . . . . . . . . . . . . . . . . . . 22 89 6.1. Layer 2 MTU . . . . . . . . . . . . . . . . . . . . . . . 22 90 6.2. Layer 2 Frame Format . . . . . . . . . . . . . . . . . . . 22 91 6.3. IP-only Layer 2 Interworking . . . . . . . . . . . . . . . 23 92 7. Security Considerations . . . . . . . . . . . . . . . . . . . 24 93 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 94 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 95 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27 96 10.1. Normative References . . . . . . . . . . . . . . . . . . . 27 97 10.2. Informative References . . . . . . . . . . . . . . . . . . 27 98 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 100 1. Introduction 102 The earliest Virtual Private Networks (VPNs) were based on Layer 2 103 circuits: X.25, Frame Relay and ATM (see [Kosiur]). More recently, 104 VPNs based on Ethernet Virtual Local Area Networks (VLANs) and 105 Virtual Private LAN Service (VPLS) ([RFC4761] and [RFC4762]) have 106 become quite popular. All of these come under the classification of 107 Layer 2 VPNs (L2VPNs), as the customer to Service Provider (SP) hand- 108 off is at Layer 2. 110 There are at least two factors that adversely affected the cost of 111 offering L2VPNs. The first is that the easiest way to offer a L2VPN 112 of a given type of Layer 2 was over an infrastructure of the same 113 type. This approach required that the Service Provider build a 114 separate infrastructure for each Layer 2 encapsulation -- e.g., an 115 ATM infrastructure for ATM VPNs, an Ethernet infrastructure for 116 Ethernet VPNs, etc. In addition, a separate infrastructure was 117 needed for the Internet and IP VPNs ([RFC4364], and possibly yet 118 another for voice services. Going down this path meant a 119 proliferation of networks. 121 The other is that each of these networks had different provisioning 122 methodologies. Furthermore, the provisioning of a L2VPN was fairly 123 complex. It is important to distinguish between a single Layer 2 124 circuit, which connects two customer sites, and a Layer 2 VPN, which 125 is a set of circuits that connect sites belonging to the same 126 customer. The fact that two different circuits belonged to the same 127 VPN was typically known only to the provisioning system, not to the 128 switches offering the service; this complicated the setting up, and 129 subsequently, the troubleshooting, of a L2VPN. Also, each switch 130 offering the service had to be provisioned with the address of every 131 other switch in the same VPN, requiring, in the case of full-mesh VPN 132 connectivity, provisioning proportional to the square of the number 133 of sites. This made full-mesh L2VPN connectivity prohibitively 134 expensive for the SP, and thus in turn for customers. Finally, even 135 setting up a individual circuit often required the provisioning of 136 every switch along the path. 138 Of late, there has been much progress in network "convergence", 139 whereby Layer 2 traffic, Internet traffic and IP VPN traffic can be 140 carried over a single, consolidated network infrastructure based on 141 IP/MPLS tunnels; this is made possible by techniques such as those 142 described in [RFC4448], [RFC4618], [RFC4619], and [RFC4717] for Layer 143 2 traffic, and [RFC4364] for IP VPN traffic. This development goes a 144 long way toward addressing the problem of network profileration. 145 This document goes one step further and shows how a Service Provider 146 can offer Layer 2 VPNs using protocol and provisioning methodologies 147 similar to that used for VPLS ([RFC4761]) and IP VPNs ([RFC4364]), 148 thereby achieving a significant degree of operational convergence as 149 well. In particular, all of these methodologies include the notion 150 of a VPN identifier that serves to unify components of a given VPN, 151 and the concept of auto-discovery, which simplifies the provisioning 152 of dense VPN topologies (for example, a full mesh). In addition, 153 similar techniques are used in all of the above-mentioned VPN 154 technologies to offer inter-AS and inter-provider VPNs (i.e., VPNs 155 whose sites are connected to multiple Autonomous Systems (ASs) or 156 service providers). 158 Technically, the approach proposed here uses the concepts and 159 solution and described in [RFC4761], which describes VPLS, a 160 particular form of a Layer 2 VPN. That document in turn borrowed 161 much from [RFC4364]. This includes the use of BGP for auto-discovery 162 and "demultiplexor" (see below) exchange, and the concepts of Route 163 Distinguishers to make VPN advertisements unique, and Route Targets 164 to control VPN topology. In addition, all three documents share the 165 idea that routers not directly connected to VPN customers should 166 carry no VPN state, restricting the provisioning of individual 167 connections to just the edge devices. This is achieved by using 168 tunnels to carry the data, with a demultiplexor that identifies 169 individual VPN circuits. These tunnels could be based on MPLS, GRE, 170 or any other tunnel technology that offers a demultiplexing field; 171 the signaling of these tunnels is outside the scope of this document. 172 The specific approach taken here is to use an MPLS label as the 173 demultiplexor. 175 Layer 2 VPNs typically require that all sites in the VPN connect to 176 the SP with the same Layer 2 encapsulation. To ease this 177 restriction, this document proposes a limited form of Layer 2 178 interworking, by restricting the Layer 3 protocol to IP only (see 179 Section 5). 181 It may be instructive to compare the approach in [RFC4447] with the 182 one described here, keeping in mind that the solution described 183 therein does not include auto-discovery. 185 The rest of this section discusses the relative merits of Layer 2 and 186 Layer 3 VPNs. Section 3 describes the operation of a Layer 2 VPN. 187 Section 5 describes IP-only Layer 2 interworking. Section 6 188 describes how the L2 packets are transported across the SP network. 190 1.1. Terminology 192 The terminology used is from [RFC4761] and [RFC4364], and is briefly 193 repeated here. A "customer" is a customer of a Service Provider 194 seeking to interconnect their various "sites" (each an independent 195 network) at Layer 2 through the Service Provider's network, while 196 maintaining privacy of communication and address space. The device 197 in a customer site that connects to a Service Provider router is 198 termed the CE (customer edge) device; this device may be a router or 199 a switch. The Service Provider router to which a CE connects is 200 termed a PE. A router in the Service Provider's network which 201 doesn't connect directly to any CE is termed P. Every pair of PEs is 202 connected by a "tunnel"; within a tunnel, VPN data is distinguished 203 by a "demultiplexor", which in this document is an MPLS label. 205 Each CE within a VPN is assigned a CE ID, a number that uniquely 206 identifies a CE within an L2 VPN. More accurately, the CE ID 207 identifies a physical connection from the CE device to the PE, since 208 a CE may be connected to multiple PEs (or multiply connected to a 209 PE); in such a case, the CE would have a CE ID for each connection. 210 A CE may also be part of many L2 VPNs; it would need one (or more) CE 211 ID(s) for each L2 VPN of which it is a member. The number space for 212 CE IDs is scoped to a given VPN. 214 In the case of inter-Provider L2 VPNs, there needs to be some 215 coordination of allocation of CE IDs. One solution is to allocate 216 ranges for each SP. Other solutions may be forthcoming. 218 Within each physical connection from a CE to a PE, there may be 219 multiple virtual circuits. These will be referred to as Attachment 220 Circuits (ACs), following [RFC4447]. Similarly, the entity that 221 connects two attachment circuits across the Service Provider network 222 is called a pseudo-wire (PW). 224 1.2. Advantages of Layer 2 VPNs 226 A Layer 2 VPN is one where a Service Provider provides Layer 2 227 connectivity to the customer. The Service Provider does not 228 participate in the customer's Layer 3 network, in particular, in the 229 routing, resulting in several advantages to the SP as a whole and to 230 PE routers in particular. 232 1.2.1. Separation of Administrative Responsibilities 234 In a Layer 2 VPN, the Service Provider is responsible for Layer 2 235 connectivity; the customer is responsible for Layer 3 connectivity, 236 which includes routing. If the customer says that host x in site A 237 cannot reach host y in site B, the Service Provider need only 238 demonstrate that site A is connected to site B. The details of how 239 routes for host y reach host x are the customer's responsibility. 241 Another important factor is that once a PE provides Layer 2 242 connectivity to its connected CE, its job is done. A misbehaving CE 243 can at worst flap its interface, but route flaps in the customer 244 network have little effect on the SP network. On the other hand, a 245 misbehaving CE in a Layer 3 VPN can flap its routes, leading to 246 instability of the PE router or even the entire SP network. Thus, 247 when offering a Layer 3 VPN, a SP should proactively protect itself 248 from Layer 3 instability in the CE network. 250 1.2.2. Migrating from Traditional Layer 2 VPNs 252 Since "traditional" Layer 2 VPNs (i.e., real Frame Relay circuits 253 connecting sites) are indistinguishable from tunnel-based VPNs from 254 the customer's point-of-view, migrating from one to the other raises 255 few issues. Layer 3 VPNs, on the other hand, require a considerable 256 re-design of the customer's Layer 3 routing architecture. 257 Furthermore, with Layer 3 VPNs, special care has to be taken that 258 routes within the traditional VPN are not preferred over the Layer 3 259 VPN routes (the so-called "backdoor routing" problem, whose solution 260 requires protocol changes that are somewhat ad hoc). 262 1.2.3. Privacy of Routing 264 In a Layer 2 VPN, the privacy of customer routing is a natural 265 fallout of the fact that the Service Provider does not participate in 266 routing. The SP routers need not do anything special to keep 267 customer routes separate from other customers or from the Internet; 268 there is no need for per-VPN routing tables, and the additional 269 complexity this imposes on PE routers. 271 1.2.4. Layer 3 Independence 273 Since the Service Provider simply provides Layer 2 connectivity, the 274 customer can run any Layer 3 protocols they choose. If the SP were 275 participating in customer routing, it would be vital that the 276 customer and SP both use the same Layer 3 protocol(s) and routing 277 protocols. 279 Note that IP-only Layer 2 interworking doesn't have this benefit as 280 it restricts the Layer 3 to IP only. 282 1.2.5. PE Scaling 284 In the Layer 2 VPN scheme described below, each PE transmits a single 285 small chunk of information about every CE that the PE is connected to 286 to every other PE. That means that each PE need only maintain a 287 single chunk of information from each CE in each VPN, and keep a 288 single "route" to every site in every VPN. This means that both the 289 Forwarding Information Base and the Routing Information Base scale 290 well with the number of sites and number of VPNs. Furthermore, the 291 scaling properties are independent of the customer: the only germane 292 quantity is the total number of VPN sites. 294 This is to be contrasted with Layer 3 VPNs, where each CE in a VPN 295 may have an arbitrary number of routes that need to be carried by the 296 SP. This leads to two issues. First, both the information stored at 297 each PE and the number of routes installed by the PE for a CE in a 298 VPN can be (in principle) unbounded, which means in practice that a 299 PE must restrict itself to installing routes associated with the VPNs 300 that it is currently a member of. Second, a CE can send a large 301 number of routes to its PE, which means that the PE must protect 302 itself against such a condition. Thus, the SP must enforce limits on 303 the number of routes accepted from a CE; this in turn requires the PE 304 router to offer such control. 306 The scaling issues of Layer 3 VPNs come into sharp focus at a BGP 307 route reflector (RR). An RR cannot keep all the advertised routes in 308 every VPN since the number of routes will be too large. The 309 following solutions/extensions are needed to address this issue: 311 1. RRs could be partitioned so that each RR services a subset of 312 VPNs so that no single RR has to carry all the routes. 314 2. An RR could use a preconfigured list of Route-Targets for its 315 inbound route filtering. The RR may choose to perform Route Target 316 Filtering, described in [RFC4684]. 318 1.2.6. Ease of Configuration 320 Configuring traditional Layer 2 VPNs with dense topologies was a 321 burden primarily because of the O(n*n) nature of the task. If there 322 are n CEs in a Frame Relay VPN, say full-mesh connected, n*(n-1)/2 323 DLCI PVCs must be provisioned across the SP network. At each CE, 324 (n-1) DLCIs must be configured to reach each of the other CEs. 325 Furthermore, when a new CE is added, n new DLCI PVCs must be 326 provisioned; also, each existing CE must be updated with a new DLCI 327 to reach the new CE. Finally, each PVC requires state in every 328 transit switch. 330 In our proposal, PVCs are tunnelled across the SP network. The 331 tunnels used are provisioned independently of the L2VPNs, using 332 signalling protocols (in case of MPLS, LDP or RSVP-TE can be used), 333 or set up by configuration; and the number of tunnels is independent 334 of the number of L2VPNs. This reduces a large part of the 335 provisioning burden. 337 Furthermore, we assume that DLCIs at the CE edge are relatively 338 cheap; and VPN labels in the SP network are cheap. This allows the 339 SP to "over-provision" VPNs: for example, allocate 50 CEs to a VPN 340 when only 20 are needed. With this over-provisioning, adding a new 341 CE to a VPN requires configuring just the new CE and its associated 342 PE; existing CEs and their PEs need not be re-configured. Note that 343 if DLCIs at the CE edge are expensive, e.g. if these DLCIs are 344 provisioned across a switched network, one could provision them as 345 and when needed, at the expense of extra configuration. This need 346 not still result in extra state in the SP network, i.e. an 347 intelligent implementation can allow overprovisioning of the pool of 348 VPN labels. 350 1.3. Advantages of Layer 3 VPNs 352 Layer 3 VPNs ([RFC4364] in particular) offer a good solution when the 353 customer traffic is wholly IP, customer routing is reasonably simple, 354 and the customer sites connect to the SP with a variety of Layer 2 355 technologies. 357 1.3.1. Layer 2 Independence 359 One major restriction in a Layer 2 VPN is that the Layer 2 medium 360 with which the various sites of a single VPN connect to the SP must 361 be uniform. On the other hand, the various sites of a Layer 3 VPN 362 can connect to the SP with any supported media; for example, some 363 sites may connect with Frame Relay circuits, and others with 364 Ethernet. 366 This restriction of Layer 2 VPN is alleviated by the IP-only Layer 2 367 interworking proposed in this document. This comes at the cost of 368 losing the Layer 3 independence. 370 A corollary to this is that the number of sites that can be in a 371 Layer 2 VPN is determined by the number of Layer 2 circuits that the 372 Layer 2 technology provides. For example, if the Layer 2 technology 373 is Frame Relay with 2-octet DLCIs, a CE can connect to at most about 374 a thousand other CEs in a VPN. 376 1.3.2. SP Routing as Added Value 378 Another problem with Layer 2 VPNs is that the CE router in a VPN must 379 be able to deal with having N routing peers, where N is the number of 380 sites in the VPN. This can be alleviated by manipulating the 381 topology of the VPN. For example, a hub-and-spoke VPN architecture 382 means that only one CE router (the hub) needs to deal with N 383 neighbors. However, in a Layer 3 VPN, a CE router need only deal 384 with one neighbor, the PE router. Thus, the SP can offer Layer 3 385 VPNs as a value-added service to its customers. 387 Moreover, with Layer 2 VPNs it is up to a customer to build and 388 operate the whole network. With Layer 3 VPNs, a customer is just 389 responsible for building and operating routing within each site, 390 which is likely to be much simpler than building and operating 391 routing for the whole VPN. That, in turn, makes Layer 3 VPNs more 392 suitable for customers who don't have sufficient routing expertise, 393 again allowing the SP to provide added value. 395 As mentioned later, multicast routing and forwarding is another 396 value-added service that an SP can offer. 398 1.3.3. Class-of-Service 400 Class-of-Service issues have been addressed for Layer 3 VPNs. Since 401 the PE router has visibility into the network Layer (IP), the PE 402 router can take on the tasks of CoS classification and routing. This 403 restriction on Layer 2 VPNs is again eased in the case of IP-only 404 Layer 2 interworking, as the PE router has visibility into the 405 network Layer (IP). 407 1.4. Multicast Routing 409 There are two aspects to multicast routing that we will consider. On 410 the protocol front, supporting IP multicast in a Layer 3 VPN requires 411 PE routers to participate in the multicast routing instance of the 412 customer, and thus keep some related state information. 414 In the Layer 2 VPN case, the CE routers run native multicast routing 415 directly. The SP network just provides pipes to connect the CE 416 routers; PEs are unaware whether the CEs run multicast or not, and 417 thus do not have to participate in multicast protocols or keep 418 multicast state information. 420 On the forwarding front, in a Layer 3 VPN, CE routers do not 421 replicate multicast packets; thus, the CE-PE link carries only one 422 copy of a multicast packet. Whether replication occurs at the 423 ingress PE, or somewhere within the SP network depends on the 424 sophistication of the Layer 3 VPN multicast solution. The simple 425 solution where a PE replicates packets for each of its CEs may place 426 considerable burden on the PE. More complex solutions may require 427 VPN multicast state in the SP network, but may significantly reduce 428 the traffic in the SP network by delaying packet replication until 429 needed. 431 In a Layer 2 VPN, packet replication occurs at the CE. This has the 432 advantage of distributing the burden of replication among the CEs 433 rather than focusing it on the PE to which they are attached, and 434 thus will scale better. However, the CE-PE link will need to carry 435 the multiple copies of multicast packets. In the case of Virtual 436 Private LAN Service (a specific type of L2 VPN; see [RFC4761]), 437 however, the CE-PE link need transport only one copy of a multicast 438 packet. 440 Thus, just as in the case of unicast routing, the SP has the choice 441 to offer a value-added service (multicast routing and forwarding) at 442 some cost (multicast state and packet replication) using a Layer 3 443 VPN, or to keep it simple and use a Layer 2 VPN. 445 1.5. Conventions used in this document 447 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 448 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 449 document are to be interpreted as described in [RFC2119]. 451 2. Contributors 453 The following contributed to this document. 455 Manoj Leelanivas, Juniper Networks 456 Quaizar Vohra, Juniper Networks 457 Javier Achirica, Consultant 458 Ronald Bonica, Juniper Networks 459 Dave Cooper, Global Crossing 460 Chris Liljenstolpe, Telstra 461 Eduard Metz, KPN Dutch Telecom 462 Hamid Ould-Brahim, Nortel 463 Chandramouli Sargor 464 Himanshu Shah, Ciena 465 Vijay Srinivasan 466 Zhaohui Zhang, Juniper Networks 468 3. Operation of a Layer 2 VPN 470 The following simple example of a customer with 4 sites connected to 471 3 PE routers in a Service Provider network will hopefully illustrate 472 the various aspects of the operation of a Layer 2 VPN. For 473 simplicity, we assume that a full-mesh topology is desired. 475 In what follows, Frame Relay serves as the Layer 2 medium, and each 476 CE has multiple DLCIs to its PE, each to connect to another CE in the 477 VPN. If the Layer 2 medium were ATM, then each CE would have 478 multiple VPI/VCIs to connect to other CEs. For PPP and Cisco HDLC, 479 each CE would have multiple physical interfaces to connect to other 480 CEs. In the case of IP-only Layer 2 interworking, each CE could have 481 a mix of one or more of the above Layer 2 mediums to connect to other 482 CEs. 484 3.1. Network Topology 486 Consider a Service Provider network with edge routers PE0, PE1, and 487 PE2. Assume that PE0 and PE1 are IGP neighbors, and PE2 is more than 488 one hop away from PE0. 490 Suppose that a customer C has 4 sites S0, S1, S2 and S3 that C wants 491 to connect via the Service Provider's network using Frame Relay. 492 Site S0 has CE0 and CE1 both connected to PE0. Site S1 has CE2 493 connected to PE0. Site S2 has CE3 connected to PE1 and CE4 connected 494 to PE2. Site S3 has CE5 connected to PE2. (See Figure 1 below.) 495 Suppose further that C wants to "over-provision" each current site, 496 in expectation that the number of sites will grow to at least 10 in 497 the near future. However, CE4 is only provisioned with 9 DLCIs. 498 (Note that the signalling mechanism discussed in Section 4 will allow 499 a site to grow in terms of connectivity to other sites at a later 500 point of time at the cost of additional signalling, i.e., over- 501 provisioning is not a must but a recommendation). 503 Suppose finally that CE0 and CE2 have DLCIs 100 through 109 504 provisioned; CE1 and CE3 have DLCIs 200 through 209 provisioned; CE4 505 has DLCIs 107, 209, 265, 301, 414, 555, 654, 777 and 888 provisioned; 506 and CE5 has DLCIs 417-426. 508 S0 S3 509 .............. .............. 510 . . . . 511 . +-----+ . . . 512 . | CE0 |-----------+ . +-----+ . 513 . +-----+ . | . | CE5 | . 514 . . | . +--+--+ . 515 . +-----+ . | . | . 516 . | CE1 |-------+ | .......|...... 517 . +-----+ . | | / 518 . . | | / 519 .............. | | / 520 | | SP Network / 521 .....|...|.............................../..... 522 . | | / . 523 . +-+---+-+ +-------+ / . 524 . | PE0 |-------| P |-- | . 525 . +-+---+-+ +-------+ \ | . 526 . / \ \ +---+---+ . 527 . | -----+ --| PE2 | . 528 . | | +---+---+ . 529 . | +---+---+ / . 530 . | | PE1 | / . 531 . | +---+---+ / . 532 . | \ / . 533 ...|.............|.............../............. 534 | | / 535 | | / 536 | | / 537 S1 | | S2 / 538 .............. | ........|........../...... 539 . . | . | | . 540 . +-----+ . | . +--+--+ +--+--+ . 541 . | CE2 |-----+ . | CE3 | | CE4 | . 542 . +-----+ . . +-----+ +-----+ . 543 . . . . 544 .............. .......................... 546 Figure 1: Example Network Topology 548 3.2. Configuration 550 The following sub-sections detail the configuration that is needed to 551 provision the above VPN. For the purpose of exposition, we assume 552 that the customer will connect to the SP with Frame Relay circuits. 554 While we focus primarily on the configuration that an SP has to do, 555 we touch upon the configuration requirements of CEs as well. The 556 main point of contact in CE-PE configuration is that both must agree 557 on the DLCIs that will be used on the interface connecting them. 559 If the PE-CE connection is Frame Relay, it is recommended to run LMI 560 between the PE and CE. For the case of ATM VCs, OAM cells may be 561 used; for PPP and Cisco HDLC, keepalives may be used directly between 562 CEs; however, in this case, PEs would not have visibility as to the 563 liveness of customers circuits. 565 In case of IP-only Layer 2 interworking, if CE1, attached to PE0, 566 connects to CE3, attached to PE1, via a L2VPN circuit, the Layer 2 567 medium between CE1 and PE0 is independent of the Layer 2 medium 568 between CE3 and PE1. Each side will run its own Layer 2 specific 569 link management protocol, e.g., LMI, LCP, etc. PE0 will inform PE1 570 about the status of its local circuit to CE1 via the circuit status 571 vector TLV defined in Section 4. Similarly PE1 will inform PE0 about 572 the status of its local circuit to CE3. 574 3.2.1. CE Configuration 576 Each CE that belongs to a VPN is given a "CE ID". CE IDs must be 577 unique in the context of a VPN. For the example, we assume that the 578 CE ID for CE-k is k. 580 Each CE is configured to communicate with its corresponding PE with 581 the set of DLCIs given above; for example, CE0 is configured with 582 DLCIs 100 through 109. In general, a CE is configured with a list of 583 circuits, all with the same Layer 2 encapsulation type, e.g., DLCIs, 584 VCIs, physical PPP interface etc. (IP-only Layer 2 interworking 585 allows a mix of Layer 2 encapsulation types). The size of this list/ 586 set determines the number of remote CEs a given CE can communicate 587 with. Denote the size of this list/set as the CE's range. A CE's 588 range must be at least the number of remote CEs that the CE will 589 connect to in a given VPN; if the range exceeds this, then the CE is 590 over-provisioned, in anticipation of growth of the VPN. 592 Each CE also "knows" which DLCI connects it to each other CE. The 593 methodology followed in this example is to use the CE ID of the other 594 CE as an index into the DLCI list this CE has (with zero-based 595 indexing, i.e., 0 is the first index). For example, CE0 is connected 596 to CE3 through its fourth DLCI, 103; CE4 is connected to CE2 by the 597 third DLCI in its list, namely 265. This is just the methodology 598 used in the example below; the actual methodology used to pick the 599 DLCI to be used is a local matter; the key factor is that CE-k may 600 communicate with CE-m using a different DLCI from the DLCI that CE-m 601 uses to communicate to CE-k, i.e., the SP network effectively acts as 602 a giant Frame Relay switch. This is very important, as it decouples 603 the DLCIs used at each CE site, making for much simpler provisioning. 605 3.2.2. PE Configuration 607 Each PE is configured with the VPNs in which it participates. Each 608 VPN is associated with one or more Route Target communities [RFC4360] 609 which serve to define the topology of the VPN. For each VPN, the PE 610 must determine a Route Distinguisher (RD) to use; this may either be 611 configured or chosen by the PE. RDs do not have to be unique across 612 the VPN. For each CE attached to the PE in a given VPN, the PE must 613 know the set of virtual circuits (DLCI, VCI/VPI or VLAN) connecting 614 it to the CE, and a CE ID identifying the CE within the VPN. CE IDs 615 must be unique in the context of a given VPN. 617 3.2.3. Adding a New Site 619 The first step in adding a new site to a VPN is to pick a new CE ID. 620 If all current members of the VPN are over-provisioned, i.e., their 621 range includes the new CE ID, adding the new site is a purely local 622 task. Otherwise, the sites whose range doesn't include the new CE ID 623 and wish to communicate directly with the new CE must have their 624 ranges increased by allocating additional local circuits to 625 incorporate the new CE ID. 627 The next step is ensuring that the new site has the required 628 connectivity. This usually requires adding a new virtual circuit 629 between the PE and CE; in most cases, this configuration is limited 630 to the PE in question. 632 The rest of the configuration is a local matter between the new CE 633 and the PE to which it is attached. 635 It bears repeating that the key to making additions easy is over- 636 provisioning and the algorithm for mapping a CE-id to a DLCI which is 637 used for connecting to the corresponding CE. However, what is being 638 over-provisioned is the number of DLCIs/VCIs that connect the CE to 639 the PE. This is a local matter between the PE and CE, and does not 640 affect other PEs or CEs. 642 4. PE Information Exchange 644 When a PE is configured with all the required information for a CE, 645 it advertises to other PEs the fact that it is participating in a VPN 646 via BGP messages, as per [RFC4761], section 3. BGP was chosen as the 647 means for exchanging L2 VPN information for two reasons: it offers 648 mechanisms for both auto-discovery and signaling, and allows for 649 operational convergence, as explained in Section 1. A bonus for 650 using BGP is a robust inter-AS solution for L2VPNs. 652 There are two modifications to the formating of messages. The first 653 is that the set of Encaps Types carried in the L2-info extended 654 community has been expanded to include those from Table 1. The value 655 of the Encaps Type field identifies the Layer 2 encapsulation, e.g., 656 ATM, Frame Relay etc. 658 +-----------+-------------------------------------------+-----------+ 659 | Encaps | Description | Reference | 660 | Type | | | 661 +-----------+-------------------------------------------+-----------+ 662 | 0 | Reserved | - | 663 | | | | 664 | 1 | Frame Relay | RFC 4446 | 665 | | | | 666 | 2 | ATM AAL5 SDU VCC transport | RFC 4446 | 667 | | | | 668 | 3 | ATM transparent cell transport | RFC 4816 | 669 | | | | 670 | 4 | Ethernet (VLAN) Tagged Mode | RFC 4448 | 671 | | | | 672 | 5 | Ethernet Raw Mode | RFC 4448 | 673 | | | | 674 | 6 | Cisco HDLC | RFC 4618 | 675 | | | | 676 | 7 | PPP | RFC 4618 | 677 | | | | 678 | 8 | SONET/SDH Circuit Emulation Service | RFC 4842 | 679 | | | | 680 | 9 | ATM n-to-one VCC cell transport | RFC 4717 | 681 | | | | 682 | 10 | ATM n-to-one VPC cell transport | RFC 4717 | 683 | | | | 684 | 11 | IP Layer 2 Transport | RFC 3032 | 685 | | | | 686 | 15 | Frame Relay Port mode | RFC 4619 | 687 | | | | 688 | 17 | Structure-agnostic E1 over packet | RFC 4553 | 689 | | | | 690 | 18 | Structure-agnostic T1 (DS1) over packet | RFC 4553 | 691 | | | | 692 | 19 | VPLS | RFC 4761 | 693 | | | | 694 | 20 | Structure-agnostic T3 (DS3) over packet | RFC 4553 | 695 | | | | 696 | 21 | Nx64kbit/s Basic Service using | RFC 5086 | 697 | | Structure-aware | | 698 | | | | 699 | 25 | Frame Relay DLCI | RFC 4619 | 700 | | | | 701 | 40 | Structure-agnostic E3 over packet | RFC 4553 | 702 | | | | 703 | 41 (1) | Octet-aligned payload for | RFC 4553 | 704 | | Structure-agnostic DS1 circuits | | 705 | | | | 706 | 42 (2) | E1 Nx64kbit/s with CAS using | RFC 5086 | 707 | | Structure-aware | | 708 | | | | 709 | 43 | DS1 (ESF) Nx64kbit/s with CAS using | RFC 5086 | 710 | | Structure-aware | | 711 | | | | 712 | 44 | DS1 (SF) Nx64kbit/s with CAS using | RFC 5086 | 713 | | Structure-aware | | 714 +-----------+-------------------------------------------+-----------+ 716 Table 1: Encaps Types 718 Note (1): Allocation of a separate code point for Encaps Type 719 eliminates the need for TDM payload size. 721 Note (2): Having separate code points for Encaps Types 42-44 allows 722 specifying the trunk framing (i.e, E1, T1 ESF or T1 SF) with CAS. 724 The second is the introduction of TLVs (Type-Length-Value triplets) 725 in the VPLS NLRI. L2VPN TLVs can be added to extend the information 726 carried in the NLRI, using the format shown in Figure 2. In L2VPN 727 TLVs, Type is 1 octet, Length is 2 octets and represents the size of 728 the Value field in bits. 730 +------+--------+------------...-------+ 731 | Type | Length | Value ... | 732 +------+--------+------------...-------+ 734 Figure 2: Format of TLVs 736 +----------+-----------------------+ 737 | TLV Type | Description | 738 +----------+-----------------------+ 739 | 1 | Circuit Status Vector | 740 +----------+-----------------------+ 742 Table 2: TLV Types 744 4.1. Circuit Status Vector 746 This sub-TLV carries the status of a L2VPN PVC between a pair of PEs. 747 Note that a L2VPN PVC is bidirectional, composed of two simplex 748 connection going in opposite directions. A simplex connection 749 consists of the 3 segments: 1) the local access circuit between the 750 source CE and the ingress PE, 2) the tunnel LSP between the ingress 751 and egress PEs, and 3) the access circuit between the egress PE and 752 the destination CE. 754 To monitor the status of a PVC, a PE needs to monitor the status of 755 both simplex connections. Since it knows that status of its access 756 circuit, and the status of the tunnel towards the remote PE, it can 757 inform the remote PE of these two. Similarly, the remote PE can 758 inform the status of its access circuit to its local CE and the 759 status of the tunnel to the first PE. Combining the local and the 760 remote information, a PE can determine the status of a PVC. 762 The basic unit of advertisement in L2VPN for a given CE is a label- 763 block. Each label within a label-block corresponds to a PVC on the 764 CE. The local status information for all PVCs corresponding to a 765 label-block is advertised along with the NLRI for the label-block 766 using the status vector TLV. The Type field of this TLV is 1. The 767 Length field of the TLV specifies the length of the value field in 768 bits. The Value field of this TLV is a bit-vector, each bit of which 769 indicates the status of the PVC associated with the corresponding 770 label in the label-block. Bit value 0 corresponds to the PVC 771 associated with the first label in the label block, and indicates 772 that the local circuit and the tunnel LSP to the remote PE is up, 773 while a value of 1 indicates that either or both of them are down. 774 The Value field is padded to the nearest octet boundary. 776 If PE A receives an L2VPN NLRI, while selecting a label from a label- 777 block (advertised by PE B, for remote CE m, and VPN X) for one of its 778 local CE n (in VPN X) can also determine the status of the 779 corresponding PVC (between CE n and CE m) by looking at the 780 appropriate bit in the circuit status vector. 782 4.2. Generalizing the VPN Topology 784 In the above, we assumed for simplicity that the VPN was a full mesh. 785 To allow for more general VPN topologies, a mechanism based on 786 filtering on BGP extended communities can be used (see Section 4). 788 5. Layer 2 Interworking 790 As defined so far in this document, all CE-PE connections for a given 791 Layer 2 VPN must use the same Layer 2 encapsulation, e.g., they must 792 all be Frame Relay. This is often a burdensome restriction. One 793 answer is to use an existing Layer 2 interworking mechanism, for 794 example, Frame Relay-ATM interworking. 796 In this document, we take a different approach: we postulate that the 797 network Layer is IP, and base Layer 2 interworking on that. Thus, 798 one can choose between pure Layer 2 VPNs, with a stringent Layer 2 799 restriction but with Layer 3 independence, or a Layer 2 interworking 800 VPNs, where there is no restriction on Layer 2, but Layer 3 must be 801 IP. Of course, a PE may choose to implement Frame Relay-ATM 802 interworking. For example, an ATM Layer 2 VPN could have some CEs 803 connect via Frame Relay links, if their PE could translate Frame 804 Relay to ATM transparent to the rest of the VPN. This would be 805 private to the CE-PE connection, and such a course is outside the 806 scope of this document. 808 For Layer 2 interworking as defined here, when an IP packet arrives 809 at a PE, its Layer 2 address is noted, then all Layer 2 overhead is 810 stripped, leaving just the IP packet. Then, a VPN label is added, 811 and the packet is encapsulated in the PE-PE tunnel (as required by 812 the tunnel technology). Finally, the packet is forwarded. Note that 813 the forwarding decision is made on the basis of the Layer 2 814 information, not the IP header. At the egress, the VPN label 815 determines to which CE the packet must be sent, and over which 816 virtual circuit; from this, the egress PE can also determine the 817 Layer 2 encapsulation to place on the packet once the VPN label is 818 stripped. 820 An added benefit of restricting interworking to IP only as the Layer 821 3 technology is that the provider's network can provide IP Diffserv 822 or any other IP based QOS mechanism to the L2VPN customer. The 823 ingress PE can set up IP/TCP/UDP based classifiers to do DiffServ 824 marking, and other functions like policing and shaping on the L2 825 circuits of the VPN customer. Note the division of labor: the CE 826 determines the destination CE, and encodes that in the Layer 2 827 address. The ingress PE thus determines the egress PE and VPN label 828 based on the Layer 2 address supplied by the CE, but the ingress PE 829 can choose the tunnel to reach the egress PE (in the case that there 830 are different tunnels for each CoS/DiffServ code point), or the CoS 831 bits to place in the tunnel (in the case where a single tunnel 832 carries multiple CoS/DiffServ code points) based on its own 833 classification of the packet. 835 6. Packet Transport 837 When a packet arrives at a PE from a CE in a Layer 2 VPN, the Layer 2 838 address of the packet identifies to which other CE the packet is 839 destined. The procedure outlined above installs a route that maps 840 the Layer 2 address to a tunnel (which identifies the PE to which the 841 destination CE is attached) and a VPN label (which identifies the 842 destination CE). If the egress PE is the same as the ingress PE, no 843 tunnel or VPN label is needed. 845 The packet may then be modified (depending on the Layer 2 846 encapsulation). In case of IP-only Layer 2 interworking, the Layer 2 847 header is completely stripped off till the IP header. Then, a VPN 848 label and tunnel encapsulation are added as specified by the route 849 described above, and the packet is sent to the egress PE. 851 If the egress PE is the same as the ingress, the packet "arrives" 852 with no labels. Otherwise, the packet arrives with the VPN label, 853 which is used to determine which CE is the destination CE. The 854 packet is restored to a fully-formed Layer 2 packet, and then sent to 855 the CE. 857 6.1. Layer 2 MTU 859 This document requires that the Layer 2 MTU configured on all the 860 access circuits connecting CEs to PEs in a L2VPN be the same. This 861 can be ensured by passing the configured Layer 2 MTU in the Layer2- 862 info extended community when advertising L2VPN label-blocks. On 863 receiving L2VPN label-block from remote PEs in a VPN, the MTU value 864 carried in the Layer2-info extendend community should be compared 865 against the configured value for the VPN. If they don't match, then 866 the label-block should be ignored. 868 The MTU on the Layer 2 access links MUST be chosen such that the size 869 of the L2 frames plus the L2VPN header does not exceed the MTU of the 870 SP network. Layer 2 frames that exceed the MTU after encapsulation 871 MUST be dropped. For the case of IP-only Layer 2 interworking the IP 872 MTU on the Layer 2 access link must be chosen such that the size of 873 the IP packet and the L2VPN header does not exceed the MTU of the SP 874 network. 876 6.2. Layer 2 Frame Format 878 The modification to the Layer 2 frame depends on the Layer 2 type. 879 This document requires that the encapsulation methods used in 880 transporting of Layer 2 frames over tunnels be the same as described 881 in [RFC4448], [RFC4618], [RFC4619], and [RFC4717], except in the case 882 of IP-only Layer 2 Interworking which is described next. 884 6.3. IP-only Layer 2 Interworking 886 +----------------------------+ 887 | Tunnel | VPN | IP | VPN label is the 888 | Encap | Label | Packet | demultiplexing field 889 +----------------------------+ 891 Figure 3: Format of IP-only Layer 2 interworking packet 893 At the ingress PE, an L2 frame's L2 header is completely stripped off 894 and is carried over as an IP packet within the SP network (Figure 3). 895 The forwarding decision is still based on the L2 address of the 896 incoming L2 frame. At the egress PE, the IP packet is encapsulated 897 back in an L2 frame and transported over to the destination CE. The 898 forwarding decision at the egress PE is based on the VPN label as 899 before. The L2 technology between egress PE and CE is independent of 900 the L2 technology between ingress PE and CE. 902 7. Security Considerations 904 RFC 4761, on which this document is based, has a detailed discussion 905 of security considerations, most of which apply to this document as 906 well. No new security concerns are introduced in this document. 908 8. Acknowledgments 910 The authors would like to thank Chaitanya Kodeboyina, Dennis 911 Ferguson, Der-Hwa Gan, Dave Katz, Nischal Sheth, John Stewart, and 912 Paul Traina for the enlightening discussions that helped shape the 913 ideas presented here, and Ross Callon for his valuable comments. 915 The idea of using extended communities for more general connectivity 916 of a Layer 2 VPN was a contribution by Yakov Rekhter, who also gave 917 many useful comments on the text; many thanks to him. 919 9. IANA Considerations 921 IANA is requested to create two new registries: one for the Encaps 922 Type field of the L2-info extended community, and the other for TLVs 923 of the L2VPN NLRI. Both of these are defined in Section 4; proposed 924 values for these fields are also defined in the same section, in 925 Table 1 and Table 2. 927 10. References 929 10.1. Normative References 931 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 932 Requirement Levels", BCP 14, RFC 2119, March 1997. 934 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 935 Communities Attribute", RFC 4360, February 2006. 937 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 938 Networks (VPNs)", RFC 4364, February 2006. 940 [RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge 941 Emulation (PWE3)", BCP 116, RFC 4446, April 2006. 943 [RFC4448] Martini, L., Rosen, E., El-Aawar, N., and G. Heron, 944 "Encapsulation Methods for Transport of Ethernet over MPLS 945 Networks", RFC 4448, April 2006. 947 [RFC4618] Martini, L., Rosen, E., Heron, G., and A. Malis, 948 "Encapsulation Methods for Transport of PPP/High-Level 949 Data Link Control (HDLC) over MPLS Networks", RFC 4618, 950 September 2006. 952 [RFC4619] Martini, L., Kawa, C., and A. Malis, "Encapsulation 953 Methods for Transport of Frame Relay over Multiprotocol 954 Label Switching (MPLS) Networks", RFC 4619, 955 September 2006. 957 [RFC4717] Martini, L., Jayakumar, J., Bocci, M., El-Aawar, N., 958 Brayley, J., and G. Koleyni, "Encapsulation Methods for 959 Transport of Asynchronous Transfer Mode (ATM) over MPLS 960 Networks", RFC 4717, December 2006. 962 [RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service 963 (VPLS) Using BGP for Auto-Discovery and Signaling", 964 RFC 4761, January 2007. 966 10.2. Informative References 968 [RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G. 969 Heron, "Pseudowire Setup and Maintenance Using the Label 970 Distribution Protocol (LDP)", RFC 4447, April 2006. 972 [RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service 973 (VPLS) Using Label Distribution Protocol (LDP) Signaling", 974 RFC 4762, January 2007. 976 [RFC4684] Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk, 977 R., Patel, K., and J. Guichard, "Constrained Route 978 Distribution for Border Gateway Protocol/MultiProtocol 979 Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual 980 Private Networks (VPNs)", RFC 4684, November 2006. 982 [Kosiur] Kosiur, D., "Building and Managing Virtual Private 983 Networks", November 1996. 985 Authors' Addresses 987 Kireeti Kompella 988 Juniper Networks 989 1194 N. Mathilda Ave. 990 Sunnyvale, CA 94089 991 US 993 Email: kireeti@juniper.net 995 Bhupesh Kothari 996 Cisco Systems 997 3750 Cisco Way 998 San Jose, CA 95134 999 USA 1001 Email: bhupesh@cisco.com 1003 Rao Cherukuri 1004 Juniper Networks 1005 1194 N. Mathilda Ave. 1006 Sunnyvale, CA 94089 1007 US 1009 Email: cherukuri@juniper.net