idnits 2.17.1 draft-ietf-v6ops-design-choices-05.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 : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 257: '... A router MUST be able to determi...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 22, 2015) is 3351 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-16) exists of draft-ietf-idr-dynamic-cap-14 == Outdated reference: A later version (-05) exists of draft-ietf-v6ops-ula-usage-recommendations-04 -- Obsolete informational reference (is this intentional?): RFC 3107 (Obsoleted by RFC 8277) Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 V6OPS Working Group P. Matthews 3 Internet-Draft Alcatel-Lucent 4 Intended status: Informational V. Kuarsingh 5 Expires: August 26, 2015 Dyn 6 February 22, 2015 8 Some Design Choices for IPv6 Networks 9 draft-ietf-v6ops-design-choices-05 11 Abstract 13 This document presents advice on certain routing-related design 14 choices that arise when designing IPv6 networks (both dual-stack and 15 IPv6-only). The intended audience is someone designing an IPv6 16 network who is knowledgeable about best current practices around IPv4 17 network design, and wishes to learn the corresponding practices for 18 IPv6. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on August 26, 2015. 37 Copyright Notice 39 Copyright (c) 2015 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Design Choices . . . . . . . . . . . . . . . . . . . . . . . 3 56 2.1. Interfaces . . . . . . . . . . . . . . . . . . . . . . . 3 57 2.1.1. Mix IPv4 and IPv6 on the Same Layer-3 Interface? . . 3 58 2.1.2. Interfaces with Only Link-Local Addresses? . . . . . 4 59 2.2. Static Routes . . . . . . . . . . . . . . . . . . . . . . 6 60 2.2.1. Link-Local Next-Hop in a Static Route? . . . . . . . 6 61 2.3. IGPs . . . . . . . . . . . . . . . . . . . . . . . . . . 6 62 2.3.1. IGP Choice . . . . . . . . . . . . . . . . . . . . . 7 63 2.4. BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 64 2.4.1. Which Transport for Which Routes? . . . . . . . . . . 8 65 2.4.1.1. BGP Sessions for Unlabeled Routes . . . . . . . . 10 66 2.4.1.2. BGP sessions for Labeled or VPN Routes . . . . . 11 67 2.4.2. eBGP Endpoints: Global or Link-Local Addresses? . . . 11 68 3. General Observations . . . . . . . . . . . . . . . . . . . . 12 69 3.1. Use of Link-Local Addresses . . . . . . . . . . . . . . . 12 70 3.2. Separation of IPv4 and IPv6 . . . . . . . . . . . . . . . 13 71 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 72 5. Security Considerations . . . . . . . . . . . . . . . . . . . 14 73 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 74 7. Informative References . . . . . . . . . . . . . . . . . . . 15 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 77 1. Introduction 79 This document discusses certain choices that arise when designing a 80 IPv6-only or dual-stack network. The focus is on routing-related 81 design choices that do not usually come up when designing an 82 IPv4-only network. The document presents each choice and the 83 alternatives, and then discusses the pros and cons of the 84 alternatives in detail. Where consensus currently exists around the 85 best practice, this is documented; otherwise the document simply 86 summarizes the current state of the discussion. Thus this document 87 serves to both document the reasoning behind best current practices 88 for IPv6, and to allow a designer to make an informed choice where no 89 such consensus exists. 91 This document does not present advice on strategies for adding IPv6 92 to a network, nor does it discuss transition mechanisms. For advice 93 in these areas, see [RFC6180] for general advice, [RFC6782] for 94 wireline service providers, [RFC6342] for mobile network providers, 95 [RFC5963] for exchange point operators, [RFC6883] for content 96 providers, and both [RFC4852] and [RFC7381] for enterprises. Nor 97 does this document discuss the particulars of creating an IPv6 98 addressing plan; for advice in this area, see [RFC5375] or 99 [v6-addressing-plan]. The details of ULA usage is also not 100 discussed; for this the reader is referred to 101 [I-D.ietf-v6ops-ula-usage-recommendations]. 103 Finally, this document focuses on unicast routing design only and 104 does not cover multicast or the issues involved in running MPLS over 105 IPv6 transport. 107 2. Design Choices 109 Each subsection below presents a design choice and discusses the pros 110 and cons of the various options. If there is consensus in the 111 industry for a particular option, then the consensus position is 112 noted. 114 2.1. Interfaces 116 2.1.1. Mix IPv4 and IPv6 on the Same Layer-3 Interface? 118 If a network is going to carry both IPv4 and IPv6 traffic, as many 119 networks do today, then a fundamental question arises: Should an 120 operator mix IPv4 and IPv6 traffic or keep them separated? More 121 specifically, should the design: 123 a. Mix IPv4 and IPv6 traffic on the same layer-3 interface, OR 125 b. Separate IPv4 and IPv6 by using separate interfaces (e.g., two 126 physical links or two VLANs on the same link)? 128 Option (a) implies a single layer-3 interface at each end of the 129 connection with both IPv4 and IPv6 addresses; while option (b) 130 implies two layer-3 interfaces at each end, one for IPv4 addresses 131 and one with IPv6 addresses. 133 The advantages of option (a) include: 135 o Requires only half as many layer 3 interfaces as option (b), thus 136 providing better scaling; 138 o May require fewer physical ports, thus saving money; 140 o Can make the QoS implementation much easier (for example, rate- 141 limiting the combined IPv4 and IPv6 traffic to or from a 142 customer); 144 o Works well in practice, as any increase in IPv6 traffic is usually 145 counter-balanced by a corresponding decrease in IPv4 traffic to or 146 from the same host (ignoring the common pattern of an overall 147 increase in Internet usage); 149 o And is generally conceptually simpler. 151 For these reasons, there is a relatively strong consensus in the 152 operator community that option (a) is the preferred way to go. Most 153 networks today use option (a) wherever possible. 155 However, there can be times when option (b) is the pragmatic choice. 156 Most commonly, option (b) is used to work around limitations in 157 network equipment. One big example is the generally poor level of 158 support today for individual statistics on IPv4 traffic vs IPv6 159 traffic when option (a) is used. Other, device-specific, limitations 160 exist as well. It is expected that these limitations will go away as 161 support for IPv6 matures, making option (b) less and less attractive 162 until the day that IPv4 is finally turned off. 164 2.1.2. Interfaces with Only Link-Local Addresses? 166 As noted in the introduction, this document does not cover the ins 167 and outs around creating an IPv6 addressing plan. However, there is 168 one fundamental question in this area that often arises: Should the 169 interface: 171 a. Use only link-local addresses ("unnumbered"), OR 173 b. Have global and/or unique-local) addresses assigned in addition 174 to link-locals? 176 There are two advantages of unnumbered interfaces. The first 177 advantage is ease of configuration. In a network with a large number 178 of unnumbered interfaces, the operator can just enable an IGP on each 179 router, without going through the tedious process of assigning and 180 tracking the addresses for each interface. The second advantage is 181 security. Since packets with link-local destination addresses should 182 not be routed, it is very difficult to attack the associated 183 interfaces from an off-link device. This implies less effort around 184 maintaining security ACLs. 186 Countering this advantage are various disadvantages to unnumbered 187 interfaces in IPv6: 189 o It is not possible to ping an interface that has only a link-local 190 address from a device that is not directly attached to the link. 191 Thus, to troubleshoot, one must typically log into a device that 192 is directly attached to the device in question, and execute the 193 ping from there. 195 o A traceroute passing over the unnumbered link will return the 196 loopback or system address of the router, rather than the address 197 of the interface itself. 199 o In cases of parallel point to point links it is difficult to 200 determine which of the parallel links was taken when attempting to 201 troubleshoot unless one sends packets directly between the two 202 attached link-locals on the specific interfaces. Since many 203 network problems behave differently for traffic to/from a router 204 than for traffic through the router(s) in question, this can pose 205 a significant hurdle to some troubleshooting scenarios. 207 o On some routers, by default the link-layer address of the 208 interface is derived from the MAC address assigned to interface. 209 When this is done, swapping out the interface hardware (e.g. 210 interface card) will cause the link-layer address to change. In 211 some cases (peering config, ACLs, etc) this may require additional 212 changes. However, many devices allow the link-layer address of an 213 interface to be explicitly configured, which avoids this issue. 214 This problem should fade away over time as more and more routers 215 select interface identifiers according to the rules in [RFC7217]. 217 o The practice of naming router interfaces using DNS names is 218 difficult and not recommended when using link-locals only. More 219 generally, it is not recommended to put link-local addresses into 220 DNS; see [RFC4472]. 222 o It is often not possible to identify the interface or link (in a 223 database, email, etc) by giving just its address without also 224 specifying the link in some manner. 226 It should be noted that it is quite possible for the same link-local 227 address to be assigned to multiple interfaces. This can happen 228 because the MAC address is duplicated (due to manufacturing process 229 defaults or the use of virtualization), because a device deliberately 230 re-uses automatically-assigned link-local addresses on different 231 links, or because an operator manually assigns the same easy-to-type 232 link-local address to multiple interfaces. All these are allowed in 233 IPv6 as long as the addresses are used on different links. 235 For more discussion on the pros and cons, see [RFC7404]. See also 236 [RFC5375] for IPv6 unicast address assignment considerations. 238 Today, most operators use numbered interfaces (option b). 240 2.2. Static Routes 242 2.2.1. Link-Local Next-Hop in a Static Route? 244 For the most part, the use of static routes in IPv6 parallels their 245 use in IPv4. There is, however, one exception, which revolves around 246 the choice of next-hop address in the static route. Specifically, 247 should an operator: 249 a. Use the far-end's link-local address as the next-hop address, OR 251 b. Use the far-end's GUA/ULA address as the next-hop address? 253 Recall that the IPv6 specs for OSPF [RFC5340] and ISIS [RFC5308] 254 dictate that they always use link-locals for next-hop addresses. For 255 static routes, [RFC4861] section 8 says: 257 A router MUST be able to determine the link-local address for each 258 of its neighboring routers in order to ensure that the target 259 address in a Redirect message identifies the neighbor router by 260 its link-local address. For static routing, this requirement 261 implies that the next-hop router's address should be specified 262 using the link-local address of the router. 264 This implies that using a GUA or ULA as the next hop will prevent a 265 router from sending Redirect messages for packets that "hit" this 266 static route. All this argues for using a link-local as the next-hop 267 address in a static route. 269 However, there are two cases where using a link-local address as the 270 next-hop clearly does not work. One is when the static route is an 271 indirect (or multi-hop) static route. The second is when the static 272 route is redistributed into another routing protocol. In these 273 cases, the above text from RFC 4861 notwithstanding, either a GUA or 274 ULA must be used. 276 Furthermore, many network operators are concerned about the 277 dependency of the default link-local address on an underlying MAC 278 address, as described in the previous section. 280 Today most operators use GUAs as next-hop addresses. 282 2.3. IGPs 283 2.3.1. IGP Choice 285 One of the main decisions for an IPv6 implementer is the choice of 286 IGP (Interior Gateway Protocol) within the network. The primary 287 options are OSPF [RFC2328] [RFC5340] or IS-IS [RFC5120] [RFC5308], 288 though some operators may consider RIP [RFC2080] or non-standardized 289 protocols. Here we limit our discussion to the pros and cons of OSPF 290 vs. IS-IS. 292 The discussion in this section revolves around the options in the 293 table below: 295 +--------+--------+---------+---------+------------+----------------+ 296 | Option | IGP | IGP for | Known | Hard | Similar | 297 | | for | IPv6 | to work | separation | configuration | 298 | | IPv4 | | well | | possible | 299 +--------+--------+---------+---------+------------+----------------+ 300 | | | | | | | 301 +--------+--------+---------+---------+------------+----------------+ 302 | a | IS-IS | IS-IS | YES | - | YES | 303 +--------+--------+---------+---------+------------+----------------+ 304 | b | IS-IS | OSPFv3 | - | YES | - | 305 +--------+--------+---------+---------+------------+----------------+ 306 | | | | | | | 307 +--------+--------+---------+---------+------------+----------------+ 308 | c | OSPFv2 | IS-IS | YES | YES | - | 309 +--------+--------+---------+---------+------------+----------------+ 310 | d | OSPFv2 | OSPFv3 | YES | YES | YES | 311 +--------+--------+---------+---------+------------+----------------+ 312 | | | | | | | 313 +--------+--------+---------+---------+------------+----------------+ 314 | e | OSPFv3 | IS-IS | - | YES | - | 315 +--------+--------+---------+---------+------------+----------------+ 316 | f | OSPFv3 | OSPFv3 | - | - | YES | 317 +--------+--------+---------+---------+------------+----------------+ 319 Three of the options above are marked as "Known to work well". These 320 options have seen significant deployments and are generally 321 considered to be good choices. The other options represent valid 322 choices, but have not seen widespread use, so it is hard to offer 323 comments on how well they work. In particular, options (e) and (f) 324 use OSPFv3 to route IPv4 [RFC5838], which is still rather new and 325 untested. 327 A number of options are marked "Hard separation". These options use 328 a different IGP for IPv4 vs IPv6. With these options, a problem with 329 routing IPv6 is unlikely to affect IPv4 or visa-versa. 331 Three options are marked "Similar configuration possible". This 332 means it is possible (but not required) to use very similar IGP 333 configuration for IPv4 and IPv6: for example, the same area 334 boundaries, area numbering, link costing, etc. If you are happy with 335 your IPv4 IGP design, then this will likely be a consideration. By 336 contrast, the options that use IS-IS for one IP version and OSPF for 337 the other version will require considerably different configuration, 338 and will also require the operations staff to become familiar with 339 the difference between the two protocols. 341 With option (a), there is an additional choice of whether to run IS- 342 IS in single-topology mode (where IPv4 and IPv6 share a single 343 topology and a single set of link costs[RFC5308]) or multi-topology 344 mode (where IPv4 and IPv6 have separate topologies and potentially 345 different link costs[RFC5120]). A big problem with single-topology 346 mode is that it cannot easily accommodate devices that support 347 IPv4-only or IPv6-only. Thus, today there is general agreement that 348 multi-topology is the right choice as this gives the greatest 349 flexibility in network design. 351 It should be noted that a number of ISPs have run OSPF as their IPv4 352 IGP for quite a few years, but have selected IS-IS as their IPv6 IGP. 353 However, there are very few (none?) that have made the reverse 354 choice. This is, in part, because routers generally support more 355 nodes in an IS-IS area than in the corresponding OSPF area, and 356 because IS-IS is seen as more secure because it runs at layer 2. 358 2.4. BGP 360 2.4.1. Which Transport for Which Routes? 362 BGP these days is multi-protocol. It can carry routes from many 363 different families, and it can do this when the BGP session, or more 364 accurately the underlying TCP connection, runs over either IPv4 or 365 IPv6 (here referred to as either "IPv4 transport" or "IPv6 366 transport"). Given this flexibility, one of the biggest questions 367 when deploying BGP in a dual-stack network is the question of which 368 routes should be carried over sessions using IPv4 transport and which 369 should be carried over sessions using IPv6 transport. 371 To answer this question, consider the following table: 373 +----------------+-----------+----------------------+ 374 | Route Family | Transport | Comments | 375 +----------------+-----------+----------------------+ 376 | | | | 377 +----------------+-----------+----------------------+ 378 | Unlabeled IPv4 | IPv4 | Works well | 379 +----------------+-----------+----------------------+ 380 | Unlabeled IPv4 | IPv6 | Next-hop issues | 381 +----------------+-----------+----------------------+ 382 | Unlabeled IPv6 | IPv4 | Next-hop issues | 383 +----------------+-----------+----------------------+ 384 | Unlabeled IPv6 | IPv6 | Works well | 385 +----------------+-----------+----------------------+ 386 | | | | 387 +----------------+-----------+----------------------+ 388 | Labeled IPv4 | IPv4 | Works well | 389 +----------------+-----------+----------------------+ 390 | Labeled IPv4 | IPv6 | Next-hop issues | 391 +----------------+-----------+----------------------+ 392 | Labeled IPv6 | IPv4 | (6PE) Works well | 393 +----------------+-----------+----------------------+ 394 | Labeled IPv6 | IPv6 | Needs MPLS over IPv6 | 395 +----------------+-----------+----------------------+ 396 | | | | 397 +----------------+-----------+----------------------+ 398 | VPN IPv4 | IPv4 | Works well | 399 +----------------+-----------+----------------------+ 400 | VPN IPv4 | IPv6 | Next-hop issues | 401 +----------------+-----------+----------------------+ 402 | VPN IPv6 | IPv4 | (6VPE) Works well | 403 +----------------+-----------+----------------------+ 404 | VPN IPv6 | IPv6 | Needs MPLS over IPv6 | 405 +----------------+-----------+----------------------+ 407 The first column in this table lists various route families, where 408 "unlabeled" means SAFI 1, "labeled" means the routes carry an MPLS 409 label (SAFI 4, see [RFC3107]), and "VPN" means the routes are 410 normally associated with a layer-3 VPN (SAFI 128, see [RFC4364] ). 411 The second column lists the protocol used to transport the BGP 412 session, frequently specified by giving either an IPv4 or IPv6 413 address in the "neighbor" statement. 415 The third column comments on the combination in the first two 416 columns: 418 o For combinations marked "Works well", these combinations are 419 widely supported and are generally recommended. 421 o For combinations marked "Next-hop issues", these combinations are 422 less-widely supported and when supported, often have next-hop 423 issues. That is, the next-hop address is typically a v4-mapped 424 IPv6 address, which is based on some IPv4 address on the sending 425 router. This v4-mapped IPv6 address is often not reachable by 426 default using IPv6 routing. One common solution to this problem 427 is to use routing policy to change the next-hop to a different 428 IPv6 address. 430 o For combinations marked as "Needs MPLS over IPv6", these require 431 MPLS over IPv6 for full support, though special policy 432 configuration may allow them to be used with MPLS over IPv4. 434 Also, it is important to note that changing the set of address 435 families being carried over a BGP session requires the BGP session to 436 be reset (unless something like [I-D.ietf-idr-dynamic-cap] or 437 [I-D.ietf-idr-bgp-multisession] is in use). This is generally more 438 of an issue with eBGP sessions than iBGP sessions: for iBGP sessions 439 it is common practice for a router to have two iBGP sessions, one to 440 each member of a route reflector pair, so one can change the set of 441 address families on first one of the sessions and then the other. 443 The following subsections discuss specific scenarios in more detail. 445 2.4.1.1. BGP Sessions for Unlabeled Routes 447 Unlabeled routes are commonly carried on eBGP sessions, as well as on 448 iBGP sessions in networks where Internet traffic is carried unlabeled 449 across the network. In these scenarios, operators today most 450 commonly use two BGP sessions: one session is transported over IPv4 451 and carries the unlabeled IPv4 routes, while the second session is 452 transported over IPv6 and carries the unlabeled IPv6 routes. 454 There are several reasons for this choice: 456 o It gives a clean separation between IPv4 and IPv6. This can be 457 especially useful when first deploying IPv6 and troubleshooting 458 resulting problems. 460 o This avoids the next-hop problem described in note 1 above. 462 o The status of the routes follows the status of the underlying 463 transport. If, for example, the IPv6 data path between the two 464 BGP speakers fails, then the IPv6 session between the two speakers 465 will fail and the IPv6 routes will be withdrawn, which will allow 466 the traffic to be re-routed elsewhere. By contrast, if the IPv6 467 routes were transported over IPv4, then the failure of the IPv6 468 data path might leave a working IPv4 data path, so the BGP session 469 would remain up and the IPv6 routes would not be withdrawn, and 470 thus the IPv6 traffic would be sent into a black hole. 472 o It avoids resetting the BGP session when adding IPv6 to an 473 existing session, or when removing IPv4 from an existing session. 475 2.4.1.2. BGP sessions for Labeled or VPN Routes 477 In these scenarios, it is most common today to carry both the IPv4 478 and IPv6 routes over sessions transported over IPv4. This can be 479 done with either: (a) one session carrying both route families, or 480 (b) two sessions, one for each family. 482 Using a single session is usually appropriate for an iBGP session 483 going to a route reflector handling both route families. Using a 484 single session here usually means that the BGP session will reset 485 when changing the set of address families, but as noted above, this 486 is usually not a problem when redundant route reflectors are 487 involved. 489 In eBGP situations, two sessions are usually more appropriate. 491 2.4.2. eBGP Endpoints: Global or Link-Local Addresses? 493 When running eBGP over IPv6, there are two options for the addresses 494 to use at each end of the eBGP session (or more properly, the 495 underlying TCP session): 497 a. Use link-local addresses for the eBGP session, OR 499 b. Use global addresses for the eBGP session. 501 Note that the choice here is the addresses to use for the eBGP 502 sessions, and not whether the link itself has global (or unique- 503 local) addresses. In particular, it is quite possible for the eBGP 504 session to use link-local addresses even when the link has global 505 addresses. 507 The big attraction for option (a) is security: an eBGP session using 508 link-local addresses is extremely difficult to attack from a device 509 that is off-link. This provides very strong protection against TCP 510 RST and similar attacks. Though there are other ways to get an 511 equivalent level of security (e.g. GTSM [RFC5082], MD5 [RFC5925], or 512 ACLs), these other ways require additional configuration which can be 513 forgotten or potentially mis-configured. 515 However, there are a number of small disadvantages to using link- 516 local addresses: 518 o Using link-local addresses only works for single-hop eBGP 519 sessions; it does not work for multi-hop sessions. 521 o One must use "next-hop self" at both endpoints, otherwise re- 522 advertising routes learned via eBGP into iBGP will not work. 523 (Some products enable "next-hop self" in this situation 524 automatically). 526 o Operators and their tools are used to referring to eBGP sessions 527 by address only, something that is not possible with link-local 528 addresses. 530 o If one is configuring parallel eBGP sessions for IPv4 and IPv6 531 routes, then using link-local addresses for the IPv6 session 532 introduces extra operational differences between the two sessions 533 which could otherwise be avoided. 535 o On some products, an eBGP session using a link-local address is 536 more complex to configure than a session that uses a global 537 address. 539 o If hardware or other issues cause one to move the cable to a 540 different local interface, then reconfiguration is required at 541 both ends: at the local end because the interface has changed (and 542 with link-local addresses, the interface must always be specified 543 along with the address), and at the remote end because the link- 544 local address has likely changed. (Contrast this with using 545 global addresses, where less re-configuration is required at the 546 local end, and no reconfiguration is required at the remote end). 548 o Finally, a strict application of [RFC2545] forbids running eBGP 549 between link-local addresses, as [RFC2545] requires the BGP next- 550 hop field to contain at least a global address. 552 For these reasons, most operators today choose to have their eBGP 553 sessions use global addresses. 555 3. General Observations 557 There are two themes that run though many of the design choices in 558 this document. This section presents some general discussion on 559 these two themes. 561 3.1. Use of Link-Local Addresses 563 The proper use of link-local addresses is a common theme in the IPv6 564 network design choices. Link-layer addresses are, of course, always 565 present in an IPv6 network, but current network design practice 566 mostly ignores them, despite efforts such as [RFC7404]. 568 There are three main reasons for this current practice: 570 o Network operators are concerned about the volatility of link-local 571 addresses based on MAC addresses, despite the fact that this 572 concern can be overcome by manually-configuring link-local 573 addresses; 575 o It is very difficult to impossible to ping a link-local address 576 from a device that is not on the same subnet. This is a 577 troubleshooting disadvantage, though it can also be viewed as a 578 security advantage. 580 o Most operators are currently running networks that carry both IPv4 581 and IPv6 traffic, and wish to harmonize their IPv4 and IPv6 design 582 and operational practices where possible. 584 3.2. Separation of IPv4 and IPv6 586 Currently, most operators are running or planning to run networks 587 that carry both IPv4 and IPv6 traffic. Hence the question: To what 588 degree should IPv4 and IPv6 be kept separate? As can be seen above, 589 this breaks into two sub-questions: To what degree should IPv4 and 590 IPv6 traffic be kept separate, and to what degree should IPv4 and 591 IPv6 routing information be kept separate? 593 The general consensus around the first question is that IPv4 and IPv6 594 traffic should generally be mixed together. This recommendation is 595 driven by the operational simplicity of mixing the traffic, plus the 596 general observation that the service being offered to the end user is 597 Internet connectivity and most users do not know or care about the 598 differences between IPv4 and IPv6. Thus it is very desirable to mix 599 IPv4 and IPv6 on the same link to the end user. On other links, 600 separation is possible but more operationally complex, though it does 601 occasionally allow the operator to work around limitations on network 602 devices. The situation here is roughly comparable to IP and MPLS 603 traffic: many networks mix the two traffic types on the same links 604 without issues. 606 By contrast, there is more of an argument for carrying IPv6 routing 607 information over IPv6 transport, while leaving IPv4 routing 608 information on IPv4 transport. By doing this, one gets fate-sharing 609 between the control and data plane for each IP protocol version: if 610 the data plane fails for some reason, then often the control plane 611 will too. 613 4. IANA Considerations 615 This document makes no requests of IANA. 617 5. Security Considerations 619 This document introduces no new security considerations that are not 620 already documented elsewhere. 622 The following is a brief list of pointers to documents related to the 623 topics covered above that the reader may wish to review for security 624 considerations. 626 For general IPv6 security, [RFC4942] provides guidance on security 627 considerations around IPv6 transition and coexistence. 629 For OSPFv3, the base protocol specification [RFC5340] has a short 630 security considerations section which notes that the fundamental 631 mechanism for protecting OSPFv3 from attacks is the mechanism 632 described in [RFC4552]. 634 For IS-IS, [RFC5308] notes that ISIS for IPv6 raises no new security 635 considerations over ISIS for IPv4 over those documented in [ISO10589] 636 and [RFC5304]. 638 For BGP, [RFC2545] notes that BGP for IPv6 raises no new security 639 considerations over those present in BGP for IPv4. However, there 640 has been much discussion of BGP security recently, and the interested 641 reader is referred to the documents of the IETF's SIDR working group. 643 6. Acknowledgements 645 Many, many people in the V6OPS working group provided comments and 646 suggestions that made their way into this document. A partial list 647 includes: Rajiv Asati, Fred Baker, Michael Behringer, Marc Blanchet, 648 Ron Bonica, Randy Bush, Cameron Byrne, Brian Carpenter, KK 649 Chittimaneni, Tim Chown, Lorenzo Colitti, Gert Doering, Francis 650 Dupont, Bill Fenner, Kedar K Gaonkar, Chris Grundemann, Steinar Haug, 651 Ray Hunter, Joel Jaeggli, Victor Kuarsingh, Jen Linkova, Ivan 652 Pepelnjak, Alexandru Petrescu, Rob Shakir, Mark Smith, Jean-Francois 653 Tremblay, Dave Thaler, Tina Tsou, Eric Vyncke, Dan York, and 654 Xuxiaohu. 656 The authors would also like to thank Pradeep Jain and Alastair 657 Johnson for helpful comments on a very preliminary version of this 658 document. 660 7. Informative References 662 [I-D.ietf-idr-bgp-multisession] 663 Scudder, J., Appanna, C., and I. Varlashkin, "Multisession 664 BGP", draft-ietf-idr-bgp-multisession-07 (work in 665 progress), September 2012. 667 [I-D.ietf-idr-dynamic-cap] 668 Ramachandra, S. and E. Chen, "Dynamic Capability for BGP- 669 4", draft-ietf-idr-dynamic-cap-14 (work in progress), 670 December 2011. 672 [I-D.ietf-v6ops-ula-usage-recommendations] 673 Liu, B. and S. Jiang, "Considerations For Using Unique 674 Local Addresses", draft-ietf-v6ops-ula-usage- 675 recommendations-04 (work in progress), October 2014. 677 [ISO10589] 678 International Standards Organization, "Intermediate system 679 to Intermediate system intra-domain routeing information 680 exchange protocol for use in conjunction with the protocol 681 for providing the connectionless-mode Network Service (ISO 682 8473)", International Standard 10589:2002, Nov 2002. 684 [RFC2080] Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080, 685 January 1997. 687 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998. 689 [RFC2545] Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol 690 Extensions for IPv6 Inter-Domain Routing", RFC 2545, March 691 1999. 693 [RFC3107] Rekhter, Y. and E. Rosen, "Carrying Label Information in 694 BGP-4", RFC 3107, May 2001. 696 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 697 Networks (VPNs)", RFC 4364, February 2006. 699 [RFC4472] Durand, A., Ihren, J., and P. Savola, "Operational 700 Considerations and Issues with IPv6 DNS", RFC 4472, April 701 2006. 703 [RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality 704 for OSPFv3", RFC 4552, June 2006. 706 [RFC4852] Bound, J., Pouffary, Y., Klynsma, S., Chown, T., and D. 707 Green, "IPv6 Enterprise Network Analysis - IP Layer 3 708 Focus", RFC 4852, April 2007. 710 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 711 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 712 September 2007. 714 [RFC4942] Davies, E., Krishnan, S., and P. Savola, "IPv6 Transition/ 715 Co-existence Security Considerations", RFC 4942, September 716 2007. 718 [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., and C. 719 Pignataro, "The Generalized TTL Security Mechanism 720 (GTSM)", RFC 5082, October 2007. 722 [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi 723 Topology (MT) Routing in Intermediate System to 724 Intermediate Systems (IS-ISs)", RFC 5120, February 2008. 726 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 727 Authentication", RFC 5304, October 2008. 729 [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, October 730 2008. 732 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 733 for IPv6", RFC 5340, July 2008. 735 [RFC5375] Van de Velde, G., Popoviciu, C., Chown, T., Bonness, O., 736 and C. Hahn, "IPv6 Unicast Address Assignment 737 Considerations", RFC 5375, December 2008. 739 [RFC5838] Lindem, A., Mirtorabi, S., Roy, A., Barnes, M., and R. 740 Aggarwal, "Support of Address Families in OSPFv3", RFC 741 5838, April 2010. 743 [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP 744 Authentication Option", RFC 5925, June 2010. 746 [RFC5963] Gagliano, R., "IPv6 Deployment in Internet Exchange Points 747 (IXPs)", RFC 5963, August 2010. 749 [RFC6180] Arkko, J. and F. Baker, "Guidelines for Using IPv6 750 Transition Mechanisms during IPv6 Deployment", RFC 6180, 751 May 2011. 753 [RFC6342] Koodli, R., "Mobile Networks Considerations for IPv6 754 Deployment", RFC 6342, August 2011. 756 [RFC6782] Kuarsingh, V. and L. Howard, "Wireline Incremental IPv6", 757 RFC 6782, November 2012. 759 [RFC6883] Carpenter, B. and S. Jiang, "IPv6 Guidance for Internet 760 Content Providers and Application Service Providers", RFC 761 6883, March 2013. 763 [RFC7217] Gont, F., "A Method for Generating Semantically Opaque 764 Interface Identifiers with IPv6 Stateless Address 765 Autoconfiguration (SLAAC)", RFC 7217, April 2014. 767 [RFC7381] Chittimaneni, K., Chown, T., Howard, L., Kuarsingh, V., 768 Pouffary, Y., and E. Vyncke, "Enterprise IPv6 Deployment 769 Guidelines", RFC 7381, October 2014. 771 [RFC7404] Behringer, M. and E. Vyncke, "Using Only Link-Local 772 Addressing inside an IPv6 Network", RFC 7404, November 773 2014. 775 [v6-addressing-plan] 776 SurfNet, "Preparing an IPv6 Address Plan", 2013, 777 . 781 Authors' Addresses 783 Philip Matthews 784 Alcatel-Lucent 785 600 March Road 786 Ottawa, Ontario K2K 2E6 787 Canada 789 Phone: +1 613-784-3139 790 Email: philip_matthews@magma.ca 792 Victor Kuarsingh 793 Dyn 794 150 Dow Street 795 Manchester, NH 03101 796 USA 798 Email: victor@jvknet.com