Network Working Group P. Murphy Internet Draft US Geological Survey Expiration Date: August 2002 February 2002 File name: draft-ietf-ospf-mlinks-03.txt OSPF Multiple Area Links Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Murphy [Page i] Internet Draft OSPF Multiple Area Links February 2002 Table Of Contents 1.0 Abstract ................................................. 1 2.0 Overview ................................................. 2 2.1 Requirement for OSPF Multiple Area Links ................. 2 2.2 Proposed Solution ........................................ 3 2.2.1 Secondary Adjacencies .................................... 4 2.2.2 Secondary Neighbor Discovery ............................. 4 2.2.3 Advertising Secondary Links .............................. 5 2.3 Application .............................................. 5 3.0 Secondary Interfaces ..................................... 5 3.1 The SecondaryAreas Interface parameter ................... 5 3.2 The Secondary Interface Data Structure ................... 6 3.3 The Secondary Interface State Machine .................... 6 3.4 OSPF Protocol Packet Processing .......................... 7 3.5 Designated Router Election and Function .................. 7 4.0 Synchronizing Secondary Areas Using Mlink Type 9 LSAs .... 8 5.0 Secondary Neighbors ...................................... 8 5.1 The Secondary Neighbor Data Structure .................... 8 5.2 The Secondary Neighbor State Machine ..................... 9 5.3 Receiving Mlink Type 9 Neighbor Discover LSAs ............ 10 5.4 Receiving Secondary Hello Packets ........................ 11 6.0 Advertising Secondary Adjacencies ........................ 11 7.0 The Shortest Path First Calculation ...................... 11 8.0 Flushing Secondary Adjacencies ........................... 12 9.0 Security Considerations .................................. 12 10.0 Acknowledgments .......................................... 12 11.0 References ............................................... 12 12.0 Authors' Addresses ....................................... 12 Appendix A: Router-LSAs ........................................ 13 Appendix B: Mlink Type 9 Neighbor Discover LSAs ................ 17 Appendix C: Configuration Parameters ........................... 19 1.0 Abstract This memo describes an option to the OSPF Version 2 specification which allows multiple areas to share the same OSPF link. One area is always configured as the link's primary area. The link's remaining areas are termed secondary. Two border routers adjacent across the same secondary area may forward the area's intra-area traffic across the link. This option applies to standard areas, stub areas, and NSSAs. It works over any OSPF interface. Routers with this option configured are backward compatible with routers running the standard OSPF Version 2 compliant implementation as defined in RFC 2328. Please send comments to ospf@discuss.microsoft.com. Murphy [Page 1] Internet Draft OSPF Multiple Area Links February 2002 2.0 Overview 2.1 Requirement for OSPF Multiple Area Links Large corporate networks in today's modern Internet have tremendous human and equipment resources coupled with sizable budget invested in their backbone infrastructure. Their regional networks are normally not so fortunate and must multi-home to the backbone in order to take advantage of the backbone's faster and more reliable network links. Performance over a T1 link can pale by comparison to performance over a DS3 or OC3 backbone link. Large corporate networks have sizable backbone routing tables and routinely use stub areas and NSSAs. Under the current OSPF specification intra-area routes are always preferred over inter-area routes even when the traffic is sourced from and destined to the same non-backbone OSPF area. Consider the following typical OSPF example: A0-----------Area 0 link------------B0-------N1 | DS3 (1) | (2) | | |NSSA 1 link NSSA 1 link| | T1 (28) T1 (28) | | | | | A1-----------NSSA 1 link------------B1-------M1 512k (56) (2) where A0 and B0 are border routers attached to NSSA 1. A1 and B1 are internal routers in NSSA 1. N1 and M1 are standard ethernet networks in NSSA 1 which are directly attached to B0 and B1 respectively. The cost of each link is shown in parentheses. All OSPF costs are symmetric. Under the current OSPF specification the preferred path between A0 and M1 is A0<->A1<->B1<->M1 with an OSPF cost of 86, even though there exists a more preferred path through B0 namely A0<->B0<->B1<->M1 with an OSPF cost of 31. In addition the NSSA 1 OSPF preferred path between A1 and N1 is A1<->B1<->B0<->N1, Murphy [Page 2] Internet Draft OSPF Multiple Area Links February 2002 with an OSPF cost of 86, even though there exists a more preferred path through the link between A0 and B0, namely A1<->A0<->B0<->N1 with an OSPF cost of 31. Under the current OSPF specification NSSA 1's router A1 does not even see this path to N1 since it has no knowledge of Area 0's topology. A0, on the other hand, would at lease see the summary LSA of N1, but still cannot take advantage of it due to OSPF intra-area path preference. What is needed is a tool which makes the Area 0 link between A0 and B0 visible inside NSSA 1. A common practice is to use multiple interface subnets. However this is not an option when the path between A0 and B0 is unnumbered or when one desires that the NSSA 1 path between A0 and B0 be unnumbered. Moreover when configuring multiple interface subnets over multi-access networks, inverse-arp limitations come into play and additional layer 2 PVCs may be required, imposing potential resource and budgetary ramifications. The existing tools for the multiple area usage of the same physical link are awkward to configure, implementation dependent, unnecessarily complex and unwieldy to maintain. If, in the above example, the link between A0 and B0 were part of NSSA 1, path preference would be optimal as the DS3 path would be intra-area for NSSA 1. 2.2 Proposed Solution The OSPF Multiple Area Links option is a simpler tool for configuring multiple area links, requiring just a simple list of the areas sharing an OSPF link. Once configured it lets multiple areas use the same link between two border routers for each area's intra-area traffic. Traffic may originate from inside each of the configured areas, as every router in the configured areas sees the link as part of its link state topology. Routers with configured OSPF Multiple Area Links must be in Area 0, although the connection to Area 0 may be one of the areas listed as sharing the link. The current OSPF specification only allows one area per OSPF interface. Thus, should an Area L dual-home to Area 0 via two border routers which are adjacent over another Area K's router<->router link or router<->network link, the adjacent link over Area K is not seen inside Area L, even though the two border routers exist physically adjacent within Area L. This, coupled with intra-area route preference, prevents Area L from utilizing Area K's adjacent path. Murphy [Page 3] Internet Draft OSPF Multiple Area Links February 2002 2.2.1 Secondary Adjacencies The softening of this restriction is facilitated by the addition of a new interface configuration parameter called SecondaryAreas. This parameter specifies a list of additional areas which share the OSPF link (See Appendix C). The areas listed in this parameter are called the interface's secondary areas, as opposed to the interface's configured area, hereafter called the primary area. A separate interface data structure is generated for each of the secondary areas. For each secondary area listed in the SecondaryAreas parameter a router can form OSPF adjacencies across the interface's directly attached network or router link. These adjacencies are called secondary adjacencies. Secondary adjacencies are formed after the primary area's link state data base exchange has synchronized matching secondary areas through the flooding path with the link's other directly connected routers. (See Section 4.0). Link state database exchange occurs across a secondary adjacency along with normal flooding. Note that a secondary adjacency for area 0 may not be configured for an interface which is linked to a transit area for a configured virtual link (See Section 3.4). 2.2.2 Secondary Neighbor Discovery A Type 9 opaque LSA is used to form secondary adjacencies over a primary link with adjacent opaque capable border routers. Until an opaque type is assigned for this option, experimental opaque type 224 will be used. The option's LSA is referred to as an mlink Type 9 LSA. A Type 9 LSA is used for the exchange/update of an interface's secondary areas because the flooding scope of this opaque LSA needs to be restricted to routers which are directly attached to a common network or router link. A separate mlink Type 9 LSA is originated for each of the primary interface's secondary areas. If required, included in a secondary area's mlink Type 9 LSA is the secondary area's configured Designated Router priority. Mlink Type 9 LSAs are propagated during the exchange/update of the primary area's link state data base (LSDB) with its adjacent primary neighbors. If a router A receives an mlink Type 9 LSA for area L originating from a router B during the exchange/update of primary area K's LSDB, then router A may form a secondary adjacency in area L with router B. See Section 5.2 for details about secondary neighbor adjacency formation. LSDB exchange and update across a secondary adjacency proceed as defined in [OSPF] Sections 10 and 13. Murphy [Page 4] Internet Draft OSPF Multiple Area Links February 2002 2.2.3 Advertising Secondary Links Secondary adjacencies are advertised as point-to-point links. Any intervening transit network or stub network assigned to the primary interface always belongs to the interface's primary area. There is no network LSA for this intervening transit network in any of the interface's secondary areas. All secondary adjacencies must be advertised in a router-LSA with point-to-point type. During the Dykstra shortest path first (SPF) calculation the LSAs for secondary adjacencies look like point-to-point links. A border router never includes in a secondary area's SPF tree any network across which one of its secondary adjacencies span. This ensures synchronization of the SPF tree amongst the secondary area's routers. However, since border routers share the link's addressing, they may use the IP addresses of their secondary neighbors for determining a destination's next hop across a secondary link over a point-to- multipoint or transit network. 2.3 Application Consider now the example mentioned in Section 2.1 and assume NSSA 1 is configured as a secondary area over the Area 0 link between A0 and B0. Since the routers A0, A1, B0, and B1 possess NSSA 1's router-LSAs originating from A0 and B0 which define a secondary link between A0 and B0 in NSSA 1, the NSSA 1 intra-area SPF tree computed by the Dykstra calculation now includes this DS3 link with a cost of 1. Thus the preferred path between A0 and M1 is A0<->B0<->B1<->M1 and the preferred path between A1 and N1 A1<->A0<->B0<->N1 3.0 Secondary Interfaces 3.1 The SecondaryAreas Interface Parameter A new configuration parameter called SecondaryAreas has been added to the OSPF interface data structure (See Appendix C). The SecondaryAreas interface parameter lists a set of areas which may form secondary adjacencies across the interface. If the SecondaryAreas interface parameter has a null list, then no secondary areas are configured for this interface and no secondary adjacencies can be formed over the interface. Each area listed in the SecondaryAreas interface parameter should Murphy [Page 5] Internet Draft OSPF Multiple Area Links February 2002 have a secondary interface data structure. With the exception of Area ID all of secondary interface parameters which are usually configurable, such as interface cost, authentication parameters and Designated Router priority, default to the values assigned to the primary interface. Furthermore, except for the Area ID, IP interface address and mask, all configurable interface parameters should be separately configurable for each secondary interface. Note that if a virtual link is configured across a transit area which is linked to an interface, then Area 0 may not be configured in the interface's SecondaryAreas parameter. 3.2 The Secondary Interface Data Structure An OSPF interface data structure should be built for each of an OSPF interface's secondary areas. These interface data structures are called secondary interface data structures and are loosely bound to the primary interface. The configured primary area of an OSPF interface generates its primary interface data structure. A point- to-point layer 2 link between two routers may have only one OSPF interface per area (See [OSPF] Sections 8.2 and 10.5). Additional areas may be added as secondary areas, but they must not duplicate areas already configured for the layer 2 link. A secondary interface's list of neighboring routers is generated by examining the primary interface's received mlink Type 9 LSAs as defined in Section 4.0 below. With the exception of broadcast networks, secondary interfaces copy their interface type from the primary interface's data structure. If the primary interface's network has broadcast type then the secondary interface's network has NBMA type. Secondary interfaces with NBMA type still compute a Designated Router and a Backup Designated Router. This promotes efficient flooding across the interface's transit network. Note that secondary adjacencies are always advertised as router links even when their network type is NBMA. As such the Designated Router of a secondary NBMA link does not originate a type-2 network LSA into the secondary area for the primary interface's transit network. 3.3 The Secondary Interface State Machine The interface states of a secondary interface are the same as the interface states of a primary interface. Secondary neighbors exchange Hello packets, called secondary Hello packets, just like primary neighbors. The processing of received secondary Hellos is practically unchanged (See Section 5.5). The InterfaceUp event for a secondary interfaces is generated by its corresponding primary interface when the primary interface transitions to either Point-to-point, DR Other, DR, or Backup state. In addition to those actions described in [OSPF] Murphy [Page 6] Internet Draft OSPF Multiple Area Links February 2002 Section 9.3, when the InterfaceUp event is generated for secondary interfaces, the neighbor Start event is generated for each existing secondary neighbor. The remainder of the interface state machine is virtually unchanged for secondary interfaces. Those protocols which generate the events InterfaceDown, LoopInd, UnloopInd for the primary interface should generate the same events for all of the primary interface's corresponding secondary interfaces. The NeighborChange and BackupSeen events are generated through the orderly processing of secondary Hello packets received across the secondary interface as described in [OSPF] Section 10.5 and augmented in Section 5.4. It is notable that since the secondary interface's InterfaceUp event occurs only after the primary interface has transitioned to DR other, DR or Backup state, a secondary interface's Wait Timer will never start before the primary interface's Wait Timer has fired. This produces a more orderly ascension to Full state for secondary NBMA adjacencies. 3.4 OSPF Protocol Packet processing Since a secondary interface shares the ip address of its corresponding primary interface, OSPF protocol packet processing needs a minor adjustment. For broadcast, NBMA, and point-to- multipoint links, the packet's IP source address is required to be on the same network as the receiving OSPF primary interface. This can be verified by comparing the packet's IP source address to the primary interface's source address, after masking both addresses with the interface mask (See [OSPF] Section 8.2). The Area Id is used to distinguish the primary interface from its configured secondary interfaces. Any router with a configured virtual link cannot configure Area 0 in the SecondaryAreas parameters of any interface belonging to the link's transit area. Otherwise the virtual link would not be distinguishable from an Area 0 secondary link. 3.5 Designated Router Election and Function The election of the Designated Router and the Backup Designated router for a secondary link over a secondary NBMA network proceeds as described in [OSPF] Section 9.4. Eligibility is determined from the Designated Router priorities configured for each secondary area as well as the priorities defined in received secondary Hellos from secondary neighbors. Note that the Designated Router for a secondary link does not originate a network-LSA (Type-2) into its secondary area for the secondary NBMA network over which the secondary link bridges. All secondary links are advertised as point-to-point links (see Section 6.0). The only function of a secondary link's Designated Router is flooding optimization. Murphy [Page 7] Internet Draft OSPF Multiple Area Links February 2002 4.0 Synchronizing Secondary Areas using Mlink Type 9 LSAs Mlink Type 9 LSAs are used to discover and start secondary neighbor relationships. If the primary interface is of broadcast or NBMA type then all of its candidate Designated Routers must be opaque capable, even if these routers have no secondary areas configured for their link to the broadcast or NBMA network. Otherwise mlink Type 9 LSAs may not propagate to all potential routers capable of forming secondary adjacencies over the network. Note that these candidate Designated Routers do not have to support OSPF Multiple Area Links, but they do have to be opaque capable in order to flood mlink Type 9 LSAs to their adjacent primary neighbors who may or may not support OSPF Multiple Area Links. The format of the mlink Type 9 LSA is detailed in Appendix B. Any router which has an interface with a non-empty SecondaryAreas interface parameter must originate across the primary interface an mlink Type 9 LSA for each configured secondary area. If an interface's SecondaryAreas parameter is null, then no mlink Type 9 LSAs will be advertised. A secondary area's mlink Type 9 LSA minimally lists as opaque information the secondary link's Area ID, plus, if available, its IP address and, if required, its Designated Router priority. A new mlink Type 9 LSA is reoriginated following expiration of its LSRefreshInterval or when changes occur in the secondary link's router priority. Mlink Type 9 LSAs are only flooded at the routers fully adjacent primary neighbors. If a secondary area is removed from a primary interface's configured secondary areas, its locally originated mlink Type 9 LSA should be flushed. The mlink Type 9 LSA of each of the primary interface's secondary areas must have a unique opaque ID. The last 24 bits of the Secondary Area ID will normally produce unique Opaque IDs. When it doesn't, alter the least significant bits until uniqueness is achieved. 5.0 Secondary Neighbors An OSPF router converses with its secondary neighbors. Each separate conversation is described by a "secondary neighbor data structure". Conversations between secondary neighbors are bound to the secondary interface and identified by both the Area ID and either the router's OSPF Router ID or its Neighbor IP address (see Section 3.4). Unless discussed below details for the creation and maintenance of secondary neighbors and secondary adjacencies are the same as discussed in [OSPF] Sections 10. 5.1 The Secondary Neighbor Data Structure The neighbor data structure for secondary adjacencies is identical to Murphy [Page 8] Internet Draft OSPF Multiple Area Links February 2002 the neighbor data structure for standard OSPF adjacencies. Secondary neighbors are discovered by comparing the Area IDs of the primary interface's received mlink Type 9 LSAs with the secondary areas listed in the interface's SecondaryAreas parameter. For point-to- multipoint and transit networks, the originator of the mlink Type 9 LSA should be on the same network as the receiving interface. This can be verified by comparing the mlink Type 9 LSA's IP address field with the IP address of the primary interface, after masking both addresses with the interface mask. For point-to-point and point-to- multipoint secondary network types, a separate neighbor data structure is always built for each new secondary neighbor discovered by a received mlink Type 9 LSA. Since the mlink Type 9 LSA of an NBMA secondary link includes the neighbor's Designated Router priority, its separate secondary neighbor data structure is built only when either the local router or the originating router of the mlink Type 9 LSA is DR eligible (see Section 5.4). The Neighbor ID and the Neighbor IP address of the secondary neighbor's data structure are copied from the Advertising Router field and IP Address fields of the mlink Type 9 LSA. 5.2 The Secondary Neighbor State Machine While secondary neighbor states are identical to OSPF's neighbor states, there are a few important distinctions in their actions and the events which trigger them. When a primary interface receives an new mlink Type 9 LSA from a primary neighbor, the LSA's content may create a new secondary neighbor, destroy an existing secondary neighbor or modify the state of an existing secondary neighbor. For point-to-point and point-to-multipoint secondary network types, a new secondary neighbor is always established. For NBMA secondary network types, the decision whether or not to create a new secondary neighbor depends on whether either the local router or the originating router are DR eligible (See Section 5.3). A router must clear its own mlink Type 9 LSAs from the database summary list of a primary neighbor during database exchange to ensure that its corresponding secondary neighbor relationships transition out of Down state. A secondary neighbor state machine always passes through Attempt state, even for point-to-point and point-to-multipoint secondary interface network types (See Section 5.3 and 5.4). If an mlink Type 9 LSA ages out, the KillNbr event is executed for the corresponding secondary neighbor, and the LSA should be flushed. If the state of the neighbor is 2-way or higher, the local router should send a Hello packet to the secondary neighbor which omits it from the neighbor list (See Section 5.5). The conditions which cause the execution of the KillNbr and LLDown events for primary neighbors should trigger the same events for any of their corresponding secondary neighbors. Murphy [Page 9] Internet Draft OSPF Multiple Area Links February 2002 Since the formation of secondary neighbors is linked with the database exchange and the link state update of the mlink Type 9 LSAs received across the primary link, the timing of this exchange effects when a secondary neighbor transitions to ExStart state. The mlink Type 9 LSA of a secondary Area 0 should be listed at the top of the database summary list. The mlink Type 9 LSAs of non-backbone secondary areas should be listed at the bottom of the database summary list. These tools mitigate the effect of the database exchange by non-backbone secondary areas on the primary neighbor state machine as it transitions to Full state, while at the same time letting an Area 0 secondary neighbor state machine proceed to Full state roughly in parallel with the primary neighbor state machine. 5.3 Receiving Mlink Type 9 Neighbor Discovery LSAs This section explains the detailed processing of a received mlink Type 9 LSA. Note that any mlink Type 9 LSAs received across a secondary interface are simply ignored. Thus two neighbors which don't agree on the primary area will never form either primary or secondary adjacencies. When an mlink Type 9 LSA is acknowledged during a primary neighbor's database exchange or received via link state update, its Secondary Area ID is checked against those listed in the primary interface's SecondaryAreas parameter. If it is not listed processing of this LSA stops. If it is listed, for point-to-multipoint and transit networks the originator of the mlink Type 9 LSA should be on the same network as the receiving interface. This can be verified by comparing the mlink Type 9 LSA's IP address field with the IP address of the primary interface, after masking both addresses with the interface mask. If a match does not occur processing of this LSA stops. Next check for the existence of a secondary neighbor in the current list of secondary neighbors contained in the corresponding secondary interface data structure. If a matching secondary neighbor data structure cannot be found, (i.e. this is the first time the secondary neighbor has been detected), and if the secondary network type is either point-to-point or point-to-multipoint or the secondary network type is NBMA and either the local router or the originating router is DR eligible across the secondary NBMA, then create a secondary neighbor data structure for the neighbor described in the mlink Type 9. The Neighbor ID and the Neighbor IP address of the secondary neighbor data structure are copied from the Advertising Router and IP Address fields of the mlink Type 9 LSA. The initial state of the newly created secondary neighbor is set to Down. If the secondary network type is point-to-point or point-to-multipoint, or the secondary network type is NBMA and both the local router and the originating router are DR eligible (as defined the secondary neighbor Murphy [Page 10] Internet Draft OSPF Multiple Area Links February 2002 data structure and the newly received mlink Type 9 LSA) then execute a Start event for the newly created secondary neighbor. 5.4 Receiving Secondary Hello Packets The processing of Secondary Hello Packets proceeds as described in [OSPF] Section 10.5 with just a few exceptions. If a Secondary Hello Packet is received from a non-existent secondary neighbor the processing of the Hello Packet stops and the packet is dropped. Secondary neighbor data structures are created by the processing of received mlink Type 9 LSAs (See Section 5.4). If a Secondary Hello Packet is received with a router priority which does not match that of the mlink Type 9 LSA which created the secondary neighbor, a 1- WayReceived event should be executed. 6.0 Advertising Secondary Adjacencies A Border router advertises its secondary adjacencies in the router- LSAs of its configured secondary areas as point-to-point links even though they may be secondary NBMA links. Any stub or transit networks shared by the primary link with its secondary links are never advertised in the router-LSAs of its secondary areas. This allows these stub and transit networks to retain a single area identity. Noting that a secondary interface does share the IP address of its corresponding primary interface, when adding the secondary link to the router LSA [OSPF] Section 12.4.1.1 is reduced to simply If a neighboring router has formed a secondary adjacency then add a type 1 (point-to-point) link for this adjacency. Its Link ID should be set to the Router ID of the neighboring router. If the corresponding primary interface is numbered, the Link Data should specify the primary interface's IP address. If the primary interface is unnumbered, the Link Data field should specify the interface's MIB-II [MIB] ifIndex value. The cost should be set to the configured output cost of the corresponding secondary interface. 7.0 The Shortest Path First Calculation Since secondary links appear in the link state data base of an area as point-to-point links there is no change required in the Shortest Path First (SPF) calculation, except on those border routers where they are configured. Border routers do not include in a secondary area's SPF tree any network which one of its secondary adjacencies transit. This ensures synchronization of the SPF tree amongst the secondary area's other routers. However border routers do use the IP addresses stored in their secondary neighbors' router-LSAs for determining a destination's next hop across a secondary link when the Murphy [Page 11] Internet Draft OSPF Multiple Area Links February 2002 associated interface connects to a point-to-multipoint or transit network. In this case the outgoing interface is derived directly from the destination router's next hop IP address. 8.0 Flushing Secondary Adjacencies Secondary adjacencies are flushed from the link state database of a secondary area when their neighbors transition down from Full state, just as with normal OSPF adjacencies. A new router-LSA is built for the secondary area and flooded out all of the secondary area's primary and secondary interfaces. Finally the SPF calculation is performed to reflect the new link state topology. 9.0 Security Considerations Security issues are not discussed in this memo. 10.0 Acknowledgments This document was produced by the OSPF Working Group, chaired by John Moy. Most notably, Acee Lindem, Redback Networks, provided outstanding input which substantially simplified this document from its previous incarnations. 11.0 References [MIB] McCloghrie, K., and M. Rose, "Management Information Base for network management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. [OPAQ] Coltun, Rob, "The OSPF Opaque LSA Option", FORE Systems, August 1998. [OSPF] Moy, J., "OSPF Version 2", RFC 2328, Ascend Communications, Inc., April 1998. 12.0 Author's Address Pat Murphy US Geological Survey 345 Middlefield Road, Mail Stop 870 Menlo Park, California 94560 Phone: (650)329-4044 EMail: pmurphy@noc.usgs.net Murphy [Page 12] Internet Draft OSPF Multiple Area Links February 2002 Appendix A. Router-LSAs Router-LSAs are Type 1 LSAs. Each router in an area originates a router-LSA. The router-LSA describes the state and cost of the router's links (i.e., interfaces) to the area. All of the router's links to an area, including secondary links, must be described in a single router-LSA. For details concerning the construction of router-LSAs see this document's Section 6.0 and [OSPF] Section 12.4.1. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 |V|E|B| 0 | # links | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | # TOS | metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TOS | 0 | TOS metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | In router-LSAs, the Link State ID field is set to the router's OSPF Router ID. Router-LSAs are flooded throughout a single area only. bit V When set, the router is an endpoint of one or more fully adjacent virtual links having the described area as its transit area (V is for virtual link endpoint). Murphy [Page 13] Internet Draft OSPF Multiple Area Links February 2002 bit E When set, the router is an AS boundary router (E is for external). bit B When set, the router is an area border router (B is for border). bit W When set, the router is a wild-card multicast receiver (W is for wild). bit Nt When set, the router is a NSSA border router which translates type-7 LSAs into type-5 LSAs (Nt is for NSSA translation). # links The number of router links described in this LSA. This must be the total collection of router links (i.e., interfaces) to the area including a separate entry for each fully adjacent secondary neighbor, regardless of its secondary link's network type. The following fields are used to describe each router link (i.e., interface). Each router link is typed (see the below Type field). The Type field indicates the kind of link being described. It may be a link to a transit network, to another router or to a stub network. The values of all the other fields describing a router link depend on the link's Type. For example, each link has an associated 32-bit Link Data field. For links to stub networks this field specifies the network's IP address mask. For other link types the Link Data field specifies the router interface's IP address. Type A quick description of the router link for one of the following. Note that host routes are classified as links to stub networks with network mask of 0xffffffff. Secondary router links are always type 1 point-to-point even when they have secondary NBMA network type. 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 Murphy [Page 14] Internet Draft OSPF Multiple Area Links February 2002 Link ID Identifies the object that this router link connects to. Its value depends on the link's Type. When connecting to an object that also originates an LSA (i.e., another router or a transit network) the Link ID is equal to the neighboring LSA's Link State ID. This provides the key for looking up the neighboring LSA in the link state database during the routing table calculation. See [OSPF] Section 12.2 for more details. Type Link ID ______________________________________ 1 Neighboring router's Router ID 2 IP address of Designated Router 3 IP network/subnet number 4 Neighboring router's Router ID Link Data Value again depends on the link's Type field. For connections to stub networks, Link Data specifies the network's IP address mask. For unnumbered point-to-point connections, it specifies the interface's MIB-II [MIB] ifIndex value. For the other link types it specifies the router interface's IP address. This latter piece of information is needed during the routing table build process, when calculating the IP address of the next hop. Recall a secondary router link (Type 1) shares the IP address of its corresponding primary interface, if it exists. Otherwise it is an unnumbered point-to-point connection. See Section 6.0 of this document and [OSPF] Section 16.1.1 for more details. # TOS The number of different TOS metrics given for this link, not counting the required link metric (referred to as the TOS 0 metric in [1583]). For example, if no additional TOS metrics are given, this field is set to 0. Secondary Areas do not use TOS. metric The cost of using this router link. For secondary links the cost is specified in the secondary interface data structure. Additional TOS-specific information may also be included, for backward compatibility with previous versions of the OSPF specification ([1583]). Within each link, and for each desired TOS, TOS-specific link information may be encoded as follows: Murphy [Page 15] Internet Draft OSPF Multiple Area Links February 2002 TOS IP Type of Service that this metric refers to. The encoding of TOS in OSPF LSAs is described in [1583] Section 12.3. TOS metric TOS-specific metric information. Murphy [Page 16] Internet Draft OSPF Multiple Area Links February 2002 Appendix B. Mlink Type 9 Neighbor Discovery LSAs Mlink Type 9 LSAs are used directly by OSPF to distribute lists of candidate secondary areas among neighboring routers. Mlink Type 9 LSAs are flooded across the primary interface. The flooding scope of an mlink Type 9 LSAs is link-local, which means mlink Type 9 LSAs are never flooded beyond the local (sub)network or router link. Sections 4.0 and 5.3 of this document describe the purpose of these mlink Type 9 LSAs in more detail. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 9 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque Type | Opaque ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Secondary Area ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sec Rtr Pri | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Syntax of the mlink Type 9 LSA's Link-State ID The link-state ID of an mlink Type 9 LSA is divided into an Opaque Type field (the first 8 bits), which has value mlink, and the Opaque ID (the remaining 24 bits). The mlink Type 9 LSA of each of the primary interface's secondary areas must have a unique opaque ID. The last 24 bits of the Secondary Area ID will normally produce unique Opaque IDs. When it doesn't, alter the least significant bits until uniqueness is achieved. Options The optional capabilities supported by this router for the primary area, as documented in [OSPF] Section A.2. Secondary Area ID The area ID of the area across which a neighboring router may form a secondary adjacency. Murphy [Page 17] Internet Draft OSPF Multiple Area Links February 2002 IP Address The IP Address of the secondary area's corresponding primary interface. If the primary interface has unnumbered point-to- point type, then IP Address should be set to 0. Sec Rtr Pri This router's Designated Router priority for a secondary link across a transit network. This parameter is used during the secondary links (Backup) Designated Router election. If set to 0, the router will be ineligible to become the (Backup) Designated Router for this secondary link. Murphy [Page 18] Internet Draft OSPF Multiple Area Links February 2002 Appendix C. Interface Data Structure Chapter 9 in the OSPF specification documents the interface data structure and the data items which are included in it. Section 3.1 of this document defines a new interface configuration parameter called SecondaryAreas which supports OSPF Multiple Area Links. The SecondaryAreas interface parameter lists a set of areas which may form secondary adjacencies across the interface. The SecondaryAreas parameter's default setting is null. If a virtual link is configured across a transit area linked to an interface, then Area 0 may not be configured in the interface's SecondaryAreas parameter. Each area listed in the SecondaryAreas interface parameter should have a secondary interface data structure. With the exception of Area ID all of secondary interface parameters which are usually configurable, such as interface cost, authentication parameters and Designated Router priority, default to the values assigned to the primary interface. Furthermore, except for the Area ID, IP interface address and mask, all configurable interface parameters should be separately configurable for each secondary interface. The SecondaryAreas parameter in a secondary interface data structure is always null. Murphy [Page 19]