idnits 2.17.1 draft-ietf-ospf-af-alt-10.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (See https://trustee.ietf.org/license-info/) 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 (December 15, 2009) is 5244 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 2460 (ref. 'IPV6') (Obsoleted by RFC 8200) -- Obsolete informational reference (is this intentional?): RFC 4601 (ref. 'PIM') (Obsoleted by RFC 7761) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Lindem (Editor) 3 Internet-Draft Ericsson 4 Intended status: Standards Track S. Mirtorabi 5 Expires: June 18, 2010 A. Roy 6 M. Barnes 7 Cisco Systems 8 R. Aggarwal 9 Juniper Networks 10 December 15, 2009 12 Support of address families in OSPFv3 13 draft-ietf-ospf-af-alt-10.txt 15 Abstract 17 This document describes a mechanism for supporting multiple address 18 families in OSPFv3 using multiple instances. It maps an address 19 family (AF) to an OSPFv3 instance using the Instance ID field in the 20 OSPFv3 packet header. This approach is fairly simple and minimizes 21 extensions to OSPFv3 for supporting multiple AFs. 23 Status of this Memo 25 This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that 30 other groups may also distribute working documents as Internet- 31 Drafts. 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 The list of current Internet-Drafts can be accessed at 39 http://www.ietf.org/ietf/1id-abstracts.txt. 41 The list of Internet-Draft Shadow Directories can be accessed at 42 http://www.ietf.org/shadow.html. 44 This Internet-Draft will expire on June 18, 2010. 46 Copyright Notice 48 Copyright (c) 2009 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (http://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 64 1.1. Design Considerations . . . . . . . . . . . . . . . . . . 3 65 1.2. Requirements notation . . . . . . . . . . . . . . . . . . 3 66 2. Protocol Details . . . . . . . . . . . . . . . . . . . . . . . 4 67 2.1. Instance ID values for new AFs . . . . . . . . . . . . . . 4 68 2.2. OSPFv3 Options Changes . . . . . . . . . . . . . . . . . . 4 69 2.3. Advertising Prefixes in AFs other than IPv6 . . . . . . . 5 70 2.4. Changes to the Hello processing . . . . . . . . . . . . . 5 71 2.5. Next-Hop Calculation for IPv4 unicast and multicast AFs . 6 72 2.6. AS External LSA Forwarding Address for IPv4 Unicast 73 and IPv4 Multicast AFs . . . . . . . . . . . . . . . . . . 6 74 2.7. Database Description Maximum Transmission Unit (MTU) 75 Specification for Non-IPv6 AFs . . . . . . . . . . . . . . 6 76 2.8. Operation over Virtual Links . . . . . . . . . . . . . . . 8 77 3. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 9 78 4. Security Considerations . . . . . . . . . . . . . . . . . . . 10 79 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 80 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 81 6.1. Normative References . . . . . . . . . . . . . . . . . . . 13 82 6.2. Informative References . . . . . . . . . . . . . . . . . . 13 83 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 14 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 86 1. Introduction 88 OSPFv3 [OSPFV3] has been defined to support the base IPv6 unicast 89 Address Family (AF). There are requirements to advertise other AFs 90 in OSPFv3 including multicast IPv6, unicast IPv4, and multicast IPv4. 91 This document supports these other AFs in OSPFv3 by mapping each AF 92 to a separate Instance ID and OSPFv3 instance. 94 1.1. Design Considerations 96 This section describes the rationale for using the multiple instance 97 ID approach to support multiple address families in OSPFv3. As 98 described earlier, OSPFv3 is designed to support multiple instances. 99 Hence mapping an instance to an address family doesn't introduce any 100 new mechanisms to the protocol. It minimizes the protocol extensions 101 required and it simplifies the implementation. The presence of a 102 separate link state database per address family is also easier to 103 debug and operate. Additionally, it doesn't change the existing 104 instance, area, and interface based configuration model in most 105 OSPFv3 implementations. 107 1.2. Requirements notation 109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 111 document are to be interpreted as described in [RFC-KEYWORDS]. 113 2. Protocol Details 115 Currently the entire Instance ID number space is used for IPv6 116 unicast. This specification assigns different Instance ID ranges to 117 different AFs in order to support other AFs in OSPFv3. Each Instance 118 ID implies a separate OSPFv3 instance with its own neighbor 119 adjacencies, link state database, protocol data structures, and 120 shortest path first (SPF) computation. 122 Additionally, the current Link State Advertisements (LSAs) defined to 123 advertise IPv6 unicast prefixes can be used to advertise prefixes 124 from other AFs without modification. 126 It should be noted that OSPFv3 runs on top of IPv6 and uses IPv6 link 127 local addresses for OSPFv3 control packets. Therefore, it is 128 required that IPv6 be enabled on an OSPFv3 link, although the link 129 may not be participating in any IPv6 AFs. 131 2.1. Instance ID values for new AFs 133 Instance ID zero is already defined by default for the IPv6 unicast 134 AF. When this specification is used to support multiple AFs, we 135 define the following ranges for different AFs. The first value of 136 each range is the default value for the corresponding AF. 138 Instance ID # 0 - # 31 IPv6 unicast AF 139 Instance ID # 32 - # 63 IPv6 multicast AF 140 Instance ID # 64 - # 95 IPv4 unicast AF 141 Instance ID # 96 - # 127 IPv4 multicast AF 142 Instance ID # 128 - # 255 Unassigned 144 OSPFv3 Instance IDs 146 2.2. OSPFv3 Options Changes 148 A new AF-bit is added to the OSPFv3 options field. The V6-bit is 149 only applicable to the IPv6 unicast AF. 151 1 2 152 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+--+-+-+--+--+--+ 154 | | | | | | | | | | | | | | | |AF|*|*|DC|R|N|x | E|V6| 155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+--+-+-+--+--+--+ 157 The Options field 159 OSPFv3 Options 161 V6-bit 162 The V6 bit is used in OSPFv3 to exclude a node from IPv6 unicast 163 route calculation but allow it in the SPF calculation for other 164 address families. Since Instance ID now denotes the AF 165 explicitly, this bit is ignored in AFs other than IPv6 unicast. 167 AF-bit 168 When an OSPFv3 router is supporting AFs as described in this 169 specification, it MUST set the AF-bit in the OSPFv3 Options field 170 of Hello Packets, Database Description packets, and LSAs. 172 2.3. Advertising Prefixes in AFs other than IPv6 174 Each Prefix defined in OSPFv3 has a prefix length field. This 175 facilitates advertising prefixes of different lengths in different 176 AFs. The existing LSAs defined in OSPFv3 are used for this purpose 177 and there is no need to define new LSAs. 179 Prefixes which don't conform to OSPFv3 instance AF MUST be not be 180 used in the route computation for the instance. 182 2.4. Changes to the Hello processing 184 When an OSPFv3 router does not support this specification and it is 185 configured with the corresponding Instance ID, packets could be black 186 holed. This could happen due to misconfiguration or a router 187 software downgrade. Black holing is possible because the router 188 which doesn't support the AF can still be included in the SPF 189 calculated path as long as it establishes adjacencies using the 190 Instance ID corresponding to the AF. Note that Router-LSAs and 191 Network-LSAs are AF independent. 193 In order to avoid the above situation, hello processing is changed in 194 order to only establish adjacencies with routers that have the AF-bit 195 set in their Options field. 197 Receiving Hello Packets is specified in section 3.2.2.1 of [OSPFV3]. 198 The following check is added to Hello reception: 200 o When an OSPFv3 router participates in an AF (sets the AF-bit in 201 Options field), it MUST discard Hello packets having the AF-bit 202 clear in the Options field. The only exception is the Base IPv6 203 unicast AF, where this check MUST NOT be done (for backward 204 compatibility). 206 2.5. Next-Hop Calculation for IPv4 unicast and multicast AFs 208 OSPFv3 runs on top of IPv6 and uses IPv6 link local addresses for 209 OSPFv3 control packets and next-hop calculations. Although IPV6 link 210 local addresses could be used as next-hops for IPv4 address families, 211 it is desirable to have IPv4 next-hop addresses. For example, in the 212 IPv4 multicast AF, the Protocol Independent Multicast (PIM) [PIM] 213 neighbor address and the next-hop address should both be IPv4 214 addresses in order for the Reverse Path Forwarding (RPF) lookup to 215 work correctly. Troubleshooting is also easier when the prefix 216 address and next-hop address are in the same AF. 218 In order to achieve this, the link's IPv4 address will be advertised 219 in the "link local address" field of the IPv4 instance's Link-LSA. 220 This address is placed in the first 32 bit of "link local address" 221 field and is used for IPv4 next-hop calculations. The remaining bits 222 MUST be set to zero. 224 We call the direct interface address (DIA) the address that is 225 reachable directly via the link provided that a layer 3 to layer 2 226 mapping is available. Note that there is no explicit need for the 227 IPv4 link addresses to be on the same subnet. An implementation 228 SHOULD resolve layer 3 to layer 2 mappings via Address Resolution 229 Protocol (ARP) [ARP] or Neighbor Discovery (ND) [ND] for a DIA even 230 if the IPv4 address is not on the same subnet as the router's 231 interface IP address. 233 2.6. AS External LSA Forwarding Address for IPv4 Unicast and IPv4 234 Multicast AFs 236 For OSPFv3, this address is an IPv6 host address (128 bits). If 237 included, data traffic for the advertised destination will be 238 forwarded to this address. For IPv4 unicast and IPv4 multicast AFs, 239 the Forwarding Address in AS-external-LSAs MUST encode an IPv4 240 address. To achieve this, the IPv4 Forwarding Address is advertised 241 by placing it in the first 32 bits of the Forwarding Address field in 242 the AS-external-LSAs. The remaining bits MUST be set to zero. 244 2.7. Database Description Maximum Transmission Unit (MTU) 245 Specification for Non-IPv6 AFs 247 For address families other than IPv6, both the MTU for the instance 248 address family and IPv6 MTU used for OSPFv3 maximum packet 249 determination MUST be considered. The MTU in the Database 250 Description packet MUST always contain the MTU corresponding to the 251 advertised address family. For example, if the instance corresponds 252 to an IPv4 address family, the IPv4 MTU for the interface MUST be 253 specified in the interface MTU field. As specified section 10.6 of 255 [OSPFV2], the Database Description packet will be rejected if the MTU 256 is greater than the receiving interface's MTU for the address family 257 corresponding to the instance. This behavior will assure an 258 adjacency is not formed and address family specific routes are not 259 installed over a path with conflicting MTUs. 261 The value used for OSPFv3 maximum packet size determination MUST also 262 be compatible for an adjacency to be established. Since only a 263 single MTU field is specified, the M6-bit is defined by this 264 specification. If the M6-bit is clear, the specified MTU SHOULD also 265 be checked against the IPv6 MTU and the Database Description packet 266 SHOULD be rejected if the MTU is larger than the receiving 267 interface's IPv6 MTU. An OSPFv3 router SHOULD NOT set the M6-bit if 268 its IPv6 MTU and address family specific MTU are the same. 270 If the IPv6 and IPv4 MTUs differ, the M6-bit MUST be set for non-IPv6 271 address families. If the M6-bit is set, the IPv6 MTU is decided by 272 the presence or absence of an IPv6 MTU TLV in the LLS [LLS] block. 273 If this TLV is present, it carries the IPv6 MTU that SHOULD be 274 compared with local IPv6 MTU. If this TLV is absent, the minimum 275 IPv6 MTU of 1280 octets SHOULD be used for the comparison (refer to 276 [IPV6]). 278 If the M6-bit is set in a received Database Description packet for a 279 non-IPv6 address family, the receiving router MUST NOT check the 280 Interface MTU in the Database Description packet against the 281 receiving interface's IPv6 MTU. 283 The figure below graphically depicts the changed fields in the octets 284 20-23 of the OSPFv3 Database Description Packet: 286 0 1 2 3 287 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 288 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ 289 | Interface MTU | 0 |0|0|0|M6|0|I|M|MS| 290 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ 292 OSPFv3 Database Description Packet Changes 294 The changed fields in the Database Description packet are described 295 below. The remaining fields are unchanged from [OSPFV3]. 297 Interface MTU 298 The size in octets of the largest AF specific datagram that can be 299 sent on the associated interface without fragmentation. The MTUs 300 of common Internet link types can be found in Table 7-1 of 301 [MTUDISC]. Interface MTU SHOULD be set to 0 in Database 302 Description packets sent over virtual links. 304 M6-bit 305 The IPv6 MTU bit - this bit indicates the sender is using a 306 different IPv6 MTU than the MTU for the AF. 308 An IPv6 MTU TLV can be optionally carried in LLS block as described 309 above. This TLV carries the IPv6 MTU for the interface. The length 310 field of the TLV is set to 4 bytes. 312 0 1 2 3 313 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 314 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 315 | 6 (TBD) | 4 | 316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 317 | IPv6 MTU | 318 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 320 Format of IPv6 MTU TLV 322 Only one instance of the IPv6 MTU TLV MAY appear in the LLS block. 323 Instances subsequent to the first are not processed and the LLS 324 inconsistency SHOULD be logged. 326 2.8. Operation over Virtual Links 328 OSPFv3 control packets sent over a virtual link are IPv6 packets and 329 may traverse multiples hops. Therefore, there MUST be a global IPv6 330 address associated with the virtual link so that OSPFv3 control 331 packets are forwarded correctly by the intermediate hops between 332 virtual link endpoints. Although this requirement can be satisfied 333 in IPv6 unicast AFs, it will not function in other AFs as there will 334 not be a routable global IPv6 address or forwarding path. Therefore, 335 virtual links are not supported in AFs other than IPv6 Unicast. 337 3. Backward Compatibility 339 All modifications to OSPFv3 apply exclusively to the support address 340 families other than IPv6 unicast using multiple OSPFv3 instances as 341 described in this specification. They are not applicable to IPv6 342 unicast topologies and do not preclude future single instance 343 mechanisms for supporting multiple address families. 345 In this section, we will define a non-capable OSPFv3 router as one 346 not supporting this specification. When multiple AFs are supported 347 as defined herein, each new AF will have a corresponding Instance ID 348 and can interoperate with the existing non-capable OSPFv3 routers in 349 an IPv6 unicast topology. Furthermore, when a non-capable OSPFv3 350 router uses an Instance ID that is reserved for a given AF, no 351 adjacency will be formed with this router since the AF-bit in the 352 Options field will be clear in its OSPFv3 Hello packets. Therefore, 353 there are no backward compatibility issues. AFs can be gradually 354 deployed without disturbing OSPFv3 routing domains with non-capable 355 OSPFv3 routers. 357 4. Security Considerations 359 IPsec [IPsec] can be used for OSPFv3 authentication and 360 confidentiality as described in [OSPFV3-AUTH]. When multiple OSPFv3 361 instances use the same interface, they all MUST use the same Security 362 Association (SA), since the SA selectors do not provide selection 363 based on OSPFv3 header fields, such as the Instance ID. This 364 restriction is documented in section 8 of [OSPFV3-AUTH]. 366 Security considerations for the OSPFv3 are covered in [OSPFV3]. 368 5. IANA Considerations 370 The following IANA assignments are to be made from existing 371 registries: 373 The AF-bit is assigned from OSPFv3 Options field as defined in 374 Section 2.2. 376 IANA is requested to create a new registry, "OSPFv3 Instance ID 377 Address Family Values", for assignment of the mapping of OSPFv3 378 Instance ID to address families when this specification is used to 379 support multiple address families. Note that the Instance ID field 380 MAY be used for applications other than the support of multiple 381 address families. However, if it is being used for address families 382 as described in this specification, the assignments herein SHOULD be 383 honored. 385 +-------------+----------------------+--------------------+ 386 | Value/Range | Designation | Assignment Policy | 387 +-------------+----------------------+--------------------+ 388 | 0 | Base IPv6 Unicast AF | Already assigned | 389 | | | | 390 | 1-31 | IPv6 Unicast AFs | Already assigned | 391 | | dependent on local | | 392 | | policy | | 393 | | | | 394 | 32 | Base IPv6 Multicast | Already assigned | 395 | | | | 396 | 33-63 | IPv6 Multicast AFs | Already assigned | 397 | | dependent on local | | 398 | | policy | | 399 | | | | 400 | 64 | Base IPv4 Unicast AF | Already assigned | 401 | | | | 402 | 65-95 | IPv4 Unicast AFs | Already assigned | 403 | | dependent on local | | 404 | | policy | | 405 | | | | 406 | 96 | Base IPv4 Multicast | Already assigned | 407 | | | | 408 | 97-127 | IPv4 Multicast AFs | Already assigned | 409 | | dependent on local | | 410 | | policy | | 411 | | | | 412 | 128-255 | Unassigned | Standards Action | 413 +-------------+----------------------+--------------------+ 415 OSPFv3 Address Family Use of Instance IDs 417 o Instance IDs 0-127 are assigned by this specification. 419 o Instance IDs in the range 128-255 are not assigned at this time. 420 Before any assignments can be made in this range, there MUST be a 421 Standards Track RFC including IANA Considerations explicitly 422 specifying the AF Instance IDs being assigned. 424 M6-Bit is assigned as defined in Section 2.7. 426 A TLV type for IPv6 MTU TLV is assigned from OSPF LLS TLVs registry. 428 6. References 430 6.1. Normative References 432 [IPV6] Deering, S. and R. Hinden, "Internet Protocol, Version 6 433 (IPv6) Specification", RFC 2460, December 1998. 435 [IPsec] Kent, S. and K. Seo, "Security Architecture for the 436 Internet Protocol", RFC 4301, December 2005. 438 [OSPFV2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 440 [OSPFV3] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 441 for IPv6", RFC 5340, July 2008. 443 [OSPFV3-AUTH] 444 Gupta, M. and S. Melam, "Authentication/Confidentiality 445 for OSPFv3", RFC 4552, June 2006. 447 [RFC-KEYWORDS] 448 Bradner, S., "Key words for use in RFC's to Indicate 449 Requirement Levels", RFC 2119, March 1997. 451 6.2. Informative References 453 [ARP] Plummer, D., "An Ethernet Address Resolution Protocol", 454 RFC 826, November 1982. 456 [LLS] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. 457 Young, "OSPF Link-local Signaling", RFC 5613, August 2009. 459 [MTUDISC] Mogul, J. and S. Deering, "Path MTU Discovery", RFC 1191, 460 November 1990. 462 [ND] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 463 "Neighbor Discovery for IP Version 6 (IPv6)", RFC 4861, 464 September 2007. 466 [PIM] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, 467 "Protocol Independent Multicast - Sparse Mode (PIM-SM): 468 Protocol Specification (Revised)", RFC 4601, August 2006. 470 Appendix A. Acknowledgments 472 The RFC text was produced using Marshall Rose's xml2rfc tool. 474 Thanks to Tom Henderson and the folks at Boeing for implementing in 475 the Quagga routing suite, http:www.quagga.net. 477 Thanks to Nischal Sheth for review and comments. 479 Thanks to Christian Vogt for comments during the Gen-ART review. 481 Thanks to Adrian Farrel for comments during the IESG review. 483 Authors' Addresses 485 Acee Lindem 486 Ericsson 487 102 Carric Bend Court 488 Cary, NC 27519 489 USA 491 Email: acee.lindem@ericsson.com 493 Sina Mirtorabi 494 Cisco Systems 495 3 West Plumeria Drive 496 San Jose, CA 95134 497 USA 499 Email: smirtora@cisco.com 501 Abhay Roy 502 Cisco Systems 503 225 West Tasman Drive 504 San Jose, CA 95134 505 USA 507 Email: akr@cisco.com 509 Michael Barnes 510 Cisco Systems 511 225 West Tasman Drive 512 San Jose, CA 95134 513 USA 515 Email: mjbarnes@cisco.com 517 Rahul Aggarwal 518 Juniper Networks 519 1194 N. Mathilda Ave. 520 Sunnyvale, CA 94089 521 USA 523 Email: rahul@juniper.net