Internet Draft OSPF Extensions For IPv6 December 1994 OSPF IPv6 Extensions Fred Baker cisco fred@cisco.com Rob Coltun RainbowBridge Communications (301) 340-9416 rcoltun@rainbow-bridge.com Status of this Memo This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts). Internet Drafts are draft documents valid for a maximum of six months. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Inter- net Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Please check the I-D abstract listing contained in each Internet Draft directory to learn the current status of this or any other Internet Draft. Baker and Coltun Expires June 1995 [Page 1] Internet Draft OSPF Extensions For IPv6 December 1994 Table Of Contents 1.0 Abstract ................................................. 2 2.0 Motivation ............................................... 2 3.0 V6 Area Option ........................................... 2 4.0 V6 Packet Formats ........................................ 3 5.0 Link-State Advertisements ................................ 3 5.1 Router Link-State Advertisements ......................... 3 5.2 Opaque Link-State Advertisements ......................... 4 6.0 Migration ................................................ 5 7.0 Acknowledgements ......................................... 6 8.0 References ............................................... 6 Appendix A: LSA Types ........................................ 6 1.0 Abstract This document describes the extensions to OSPF [1] to support IPv6. The fundamental mechanism of the protocol (flooding, DR election, area support, SPF calculations, etc.) and OSPF's options (on-demand circuits support, NSSA areas, multicast exten- sions, point-to-multipoint, etc.) remain the same. We give a functional overview followed by a description of the packet for- mats which have been extended to support IPv6 addressing. Link- state advertisements are introduced to support IPv6 addressing; these advertisements are the counterparts of the advertisements in the current version of OSPF. 2.0 Motivation Over the last few years OSPF has been widely deployed throughout the Internet. As a result of this deployment OSPF has been cleaned up, tuned up and extended as new requirements have emerged. We now have a large operational and implementation knowledge base. Our goal is to utilize this existing experience base and extend OSPF to support IPv6 while leaving space for potential migration paths from IPv4 to IPv6. 3.0 V6 Area Option We introduce a new type of OSPF area option referred to as the V6 area option. V6 areas may be (as with non-V6 areas) stub areas, transit areas (including the OSPF backbone) and NSSA areas. V6 areas either maintain two routing tables (one for IPv4 addresses and one for IPv6 addresses) or maintain one such table, translat- ing IPv4 addresses to IPv6 addresses for this purpose of using a single table. (Note that because IPv4 addresses may be embedded within IPv6 addresses, it may be reasonable to define a translat- ing function that occurs in area border routers that sit between V6 and non-V6 areas but this is beyond the scope of the current Baker and Coltun Expires June 1995 [Page 2] Internet Draft OSPF Extensions For IPv6 December 1994 proposal.) V6 areas include support for both IPv4 and IPv6 addressing. In fact, a router that does not support IPv4 addressing and forward- ing may result in portions of the IPv4 topology being unreachable and likewise a router that does not support IPv6 addressing and forwarding may result in portions of the IPv6 topology being unreachable. V6 areas should then adopt an all-or-none strategy where either all routers in the V6 area route IPv4 or no routers route IPv4; all routers in the V6 area route IPv6 or no routers route IPv6. 4.0 V6 Packet Formats Just as OSPF traditionally runs on top of IP, V6 areas run on top of IPv6. V6 areas are identified with the (big surprise!) V6 option bit in the OSPF options field. Virtually all packet for- mats (Hellos, Database Description, Link-State Requests, Link- State Updates and Link-State Acknowledgement) are identical to the current version except for the following. o The V6 Link-State ID field is 128 bits (which may be (as with IPv4, depending on the link-state type) an IPv6 address. o The V6 Advertising Router field is 128 bits. o The V6 Area ID field is 128 bits. o The V6 Net Mask field is 32 bits, but instead of identifying a bit mask, when used with an IPv6 addresses the Net Mask field identifies the number of bits of a contiguous network mask. 5.0 Link-State Advertisements V6 link-state advertisements correspond to the current OSPF LSA types. That is type 17 LSAs (V6 router link advertisements) correspond to type 1 LSAs (router link advertisements), type 18 LSAs (V6 network link advertisements) correspond type 2 LSAs (network link advertisement), etc. V6 LSAs, however, have a 128-bit Advertising Router field, a 128-bit Link-State ID field, and a 32-bit Network Mask field which instead of identifying a bit mask, identifies the number of bits of the network mask. V6 LSAs are never flooded into non-V6 areas but IPv4 LSAs may always be flooded into V6 areas. Functionally, V6 LSAs work virtually identically to the corresponding LSAs in non-V6 areas. The exception to this is with type 17 LSAs (V6 router link advertisements). 5.1 Router Link State Advertisements Baker and Coltun Expires June 1995 [Page 3] Internet Draft OSPF Extensions For IPv6 December 1994 The modifications to the type 17 LSA are as follows. o The router links field include both V6 and IPv4 (non-V6) links. The links describe the state and cost of the router's links (i.e., interfaces) to the area. Since V6 areas work for both IPv4 and IPv6, the router links advertisements must include both links describing IPv4 and IPv6 address and topology information. V6 router links include both link types 1-4 describing IPv4 links and link types 17-20 describing IPv6 links. o We introduce one new router link type, type 21, whose function is to advertise a router's IPv4 router ID. Summary LSAs (both type 3 and type 4) and external LSAs (both type 5 and type 7) use the IPv4 router ID to locate the advertising router as well as to synchronize the reachability of the router originating the type-3,4,5,7 LSAs with the actual type-3,4,5,7 LSA. o Because of the extra overhead in the router links introduced by IPv6 addresses we introduce a method of partitioning the V6 router links advertisements. If a router LSA would exceed the minimum MTU in the V6 area, to avoid IP fragmentation, the router's links are divided into one or more router links advertisements. Each router links advertisement partition is identified by the link-state ID field (a V6 router link advertisement is uniquely identified by the V6 router ID and the link-state ID). A consequence of this is when running the SPF calculation for a V6 area and router links advertisement from say router X, references another router, say router Y, (and the reference is bidirectional) all valid router links originated by router Y are added to the candidate list and processed accordingly. See Appendix A.2 for an additional description of the router LSA (router links advertisement). 5.2 Opaque Link-State Advertisements V6 areas have an additionally new LSA type (type 26) which will allow further extensibility. Type-26 LSAs are an opaque LSA con- taining (as far as OSPF is concerned) some number of octets pad- ded to 32-bit alignment. Opaque LSAs may be used by other proto- cols, or by future extensions to OSPF. Opaque LSAs use OSPF's link-state database distribution mechanism for flooding this information throughout the topology. Baker and Coltun Expires June 1995 [Page 4] Internet Draft OSPF Extensions For IPv6 December 1994 Opaque LSAs use the propagate (P) bit introduce in the NSSA option [2]. The P-bit is set by the originator of the LSA and is used to flag all V6 area border routers to propagate the opaque LSA to adjoining V6 areas. Examples of how the opaque LSA may be used are as follows. o Opaque LSAs may be use to flood AS path information which has been learned from an exterior routing protocol (i.e., BGP or IDRP), throughout the the OSPF domain. o Future routing security options may require the exchange of public key information which may be flooded using opaque LSAs. o If it turns out that IPv6 addresses allow for embedded IPX addresses, opaque LSAs may be used for flooding SAP information. See Appendix A.5 for an additional description of the opaque LSA. 6.0 Migration The document does not attempt to present a IPv4 to IPv6 migration plan but does make available several options for doing so. o An AS may choose to run the OSPF backbone as a V6 area and then when needed, update the remaining areas in the topology. o The V6 option may be used only within certain areas until the host technology is deemed stable enough to convert the OSPF backbone and the remainder of the topology. o Because V6 areas support IPv4 addresses, hosts need not be forced to convert to IPv6 style addresses. o Routers may maintain two routing tables; one for IPv4 addresses and one for IPv6 addresses. This will keep the information bases distinct until IPv6 has "worked out the bugs". o Routers may maintain one routing table, translating IPv4 addresses to IPv6 addresses for the purpose of using a single table. o Routers may still run existing IPv4 routing protocols such as RIP, EGP and BGP and have them interact with OSPF. Baker and Coltun Expires June 1995 [Page 5] Internet Draft OSPF Extensions For IPv6 December 1994 7.0 Acknowledgements This document was produced by the OSPF Working Group, chaired by John Moy. 8.0 References [1] Moy, J. "OSPF Version 2" RFC 1583, March 1994 [2] Coltun, R. Fuller, V. "The OSPF NSSA Option", RFC 1587, March 1994. Appendix A: LSA Types A.1 The V6 Link State Advertisement Header All V6 link state advertisements begin with a common 44 octet header. This header contains enough information to uniquely identify the advertisement (1-octet LS type, 16-octet Link State ID, and 16-octet Advertising Router), to uniquely identify the instance of the the advertisement (2-octet the LS age, 4-octet LS sequence number and 2-octet LS checksum fields) and as with V4 advertisements, a 1-octet options field and a 2-octet length field. Each link state type has a separate advertisement format. The V6 link state types are as follows: LS Type Description ----------------------------------- 17 V6 Router links 18 V6 Network links 19 V6 Summary link (IP network) 20 V6 Summary link (ASBR) 21 V6 AS external link 26 V6 Opaque link A.2 V6 Router links advertisements V6 Router links advertisements are the Type 17 link state adver- tisements. Each router in a V6 area originates a V6 router links advertisement. The advertisement describes the state and cost of the router's links (i.e., interfaces) to the area. If a router links advertisement would exceed the minimum MTU in the V6 area, to avoid IP fragmentation, the router's links are divided into one or more router links advertisements. Each router links adver- tisement partition is identified by the 16-octet link-state ID field; a V6 router links advertisement is uniquely identified by the V6 router ID and the link-state ID. V6 Router links Baker and Coltun Expires June 1995 [Page 6] Internet Draft OSPF Extensions For IPv6 December 1994 advertisements are flooded throughout a single V6 area only. V6 router links advertisements include links for both IPv4 and V6 areas. The major difference between the V6 link types and the router link types defined in the base OSPF spec is that the length of the link ID and link data fields have both been extended to 16 octet. There is one additional link type needed for V6 areas, link type 21, whose function is to advertise a router's IPv4 router ID. Summary LSAs (both type 3 and type 4) and external LSAs (both type 5 and type 7) use the IPv4 router ID to locate the advertis- ing router as well as to synchronize the reachability of the router originating the type-3,4,5,7 LSAs with the actual type- 3,4,5,7 LSA. Link type 21 has a 4-octet link ID field (which is the router's IPv4 router ID) and a 4-octet link data field (which is unused). The link types that may be included in a V6 router links adver- tisements are as follows: Type Description ----------------------------------- 1 Point-to-point connection to another router 2 Connection to a transit network 3 Connection to a stub network 4 Virtual link 17 V6 Point-to-point connection to another router 18 V6 Connection to a transit network 19 V6 Connection to a stub network 20 V6 Virtual link 21 V6 IPv4 Router ID link A.3 V6 Network links advertisements V6 Network links advertisements are the Type 18 link state adver- tisements. A network links advertisement is originated for each transit network in the area. If the network is running both IPv4 and IPv6 style addresses both a type-2 and a type-18 network link is originated. The network links advertisement is originated by the network's Designated Router. (Note that since V6 areas run over IPv6 the Dr election is only performed using the V6 net- work). The advertisement describes all routers attached to the network, including the Designated Router itself. The advertisement's Link State ID field lists the IP interface address of the Designated Router. The network mask field in the network links advertisement is a 32-bit field that represents the length in bits of the network mask. The attached router field is a list of 16-octet router IDs of each of the routers attached to the network. Actually, only those routers that are fully adjacent to the Designated Router Baker and Coltun Expires June 1995 [Page 7] Internet Draft OSPF Extensions For IPv6 December 1994 are listed. The Designated Router includes itself in this list. The number of routers included can be deduced from the link state advertisement header's length field. A.3 V6 Summary links advertisements V6 Summary link advertisements are the Type 19 and 20 link state advertisements. These advertisements are originated by area border routers. A separate summary link advertisement is made for each destination (known to the router) which belongs to the AS, yet is outside the area. Type 19 link state advertisements are used when the destination is an IPv6 network. In this case the advertisement's Link State ID field is a 128-bit IPv6 network number. When the destination is an AS boundary router, a Type 20 advertisement is used, and the Link State ID field is the AS boundary router's IPv6 OSPF Router ID. Other than the difference in the Link State ID field, the format of Type 19 and 20 link state advertisements is identi- cal. A.4 V6 AS external links advertisements V6 AS external link advertisements are the Type 21 link state advertisements. These advertisements are originated by AS boun- dary routers. A separate advertisement is made for each destina- tion (known to the router) which is external to the AS. AS external link advertisements usually describe a particular exter- nal destination. For these advertisements the Link State ID field specifies a 128-bit IPv6 network number. AS external link adver- tisements are also used to describe a default route. A.5 V6 Opaque links advertisements V6 opaque link advertisements are the Type 26 link state adver- tisements. V6 opaque LSAs introduce a method for exchanging information which is out-of-band to OSPF's existing topology LSAs but uses OSPF's topology exchange mechanisms. Opaque LSAs gen- eralize a method for further extensibility. Type-26 LSAs are an opaque LSA containing (from OSPF's perspec- tive) some number of octets padded to 32-bit alignment. Opaque LSAs use the propagate (P) bit introduce in the NSSA option [2]. The P-bit is set by the originator of the LSA and is used to flag all V6 area border routers to propagate the opaque LSA to adjoin- ing V6 areas. For these advertisements the Link State ID field specifies a 16-octet indentifier which at some point in the future may include a sub-type field. Baker and Coltun Expires June 1995 [Page 8]