idnits 2.17.1 draft-ietf-ospf-transport-instance-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. 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 date (October 3, 2009) is 5316 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) No issues found here. Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Lindem 3 Internet-Draft Ericsson 4 Intended status: Standards Track A. Roy 5 Expires: April 6, 2010 S. Mirtorabi 6 Cisco Systems 7 October 3, 2009 9 OSPF Transport Instance Extensions 10 draft-ietf-ospf-transport-instance-02.txt 12 Status of this Memo 14 This Internet-Draft is submitted to IETF in full conformance with the 15 provisions of BCP 78 and BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt. 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 This Internet-Draft will expire on April 6, 2010. 35 Copyright Notice 37 Copyright (c) 2009 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents in effect on the date of 42 publication of this document (http://trustee.ietf.org/license-info). 43 Please review these documents carefully, as they describe your rights 44 and restrictions with respect to this document. 46 Abstract 48 OSPFv2 and OSPFv3 include a reliable flooding mechanism to 49 disseminate routing topology and Traffic Engineering (TE) information 50 within a routing domain. Given the effectiveness of these 51 mechanisms, it is convenient to envision using the same mechanism for 52 dissemination of other types of information within the domain. 53 However, burdening OSPF with this additional information will impact 54 intra-domain routing convergence and possibly jeopardize the 55 stability of the OSPF routing domain. This document presents 56 mechanism to relegate this ancillary information to a separate OSPF 57 instance and minimize the impact. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 63 2. OSPF Transport Instance . . . . . . . . . . . . . . . . . . . 4 64 2.1. OSPFv2 Transport Instance Packets Differentiation . . . . 4 65 2.2. OSPFv3 Transport Instance Packets Differentiation . . . . 4 66 2.3. Instance Relationship to Normal OSPF Instances . . . . . . 4 67 2.3.1. Ships in the Night Relationship to Normal OSPF 68 Instances . . . . . . . . . . . . . . . . . . . . . . 5 69 2.3.2. Tighter Coupling with Normal OSPF Instances . . . . . 5 70 2.4. Network Prioritization . . . . . . . . . . . . . . . . . . 5 71 2.5. OSPF Transport Instance Omission of Routing Calculation . 5 72 2.6. Non-routing Instance Separation . . . . . . . . . . . . . 6 73 2.7. Non-Routing Sparse Topologies . . . . . . . . . . . . . . 6 74 2.7.1. Remote OSPF Neighbor . . . . . . . . . . . . . . . . . 7 75 3. OSPF Transport Instance Information Encoding . . . . . . . . . 8 76 3.1. OSPFv2 Transport Instance Information Encoding . . . . . . 8 77 3.2. OSPFv3 Transport Instance Information Encoding . . . . . . 8 78 4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 79 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 80 6. Normative References . . . . . . . . . . . . . . . . . . . . . 11 81 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 12 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 84 1. Introduction 86 OSPFv2 [OSPFV2] and OSPFv3 [OSPFV3] include a reliable flooding 87 mechanism to disseminate routing topology and Traffic Engineering 88 (TE) information within a routing domain. Given the effectiveness of 89 these mechanisms, it is convenient to envision using the same 90 mechanism for dissemination of other types of information within the 91 domain. However, burdening OSPF with this additional information 92 will impact intra-domain routing convergence and possibly jeopardize 93 the stability of the OSPF routing domain. This document presents 94 mechanism to relegate this ancillary information to a separate OSPF 95 instance and minimize the impact. 97 1.1. Requirements notation 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in [RFC-KEYWORDS]. 103 2. OSPF Transport Instance 105 In order to isolate the overhead of flooding non-routing information, 106 its flooding will be relegated to a separate protocol instance. This 107 instance should be given lower priority when contending for router 108 resources including processing, backplane bandwidth, and line card 109 bandwidth. How that is realized is an implementation issue and is 110 beyond the scope of this document. 112 Throughout the document, non-routing refers to routing information 113 that is not used for IP or IPv6 routing calculations. The OSPF 114 transport instance is ideally suited for dissemination of routing 115 information for other protocols and layers. 117 2.1. OSPFv2 Transport Instance Packets Differentiation 119 OSPFv2 currently doesn't offer a mechanism to differentiate Transport 120 instance packets from normal instance packets sent and received on 121 the same interface. However, the [MULTI-INST] provides the necessary 122 packet encoding to support multiple OSPF protocol instances. 124 2.2. OSPFv3 Transport Instance Packets Differentiation 126 Fortunately, OSPFv3 already supports separate instances within the 127 packet encodings. The existing OSPFv3 packet header instance ID 128 field will be used to differentiate packets received on the same link 129 (refer to section 2.4 in [OSPFV3]). 131 2.3. Instance Relationship to Normal OSPF Instances 133 There are basically two alternatives for the relationship between a 134 normal OSPF instance and a Transport Instance. In both cases, we 135 must guarantee that any information we've received is treated as 136 valid if and only if the router sending it is reachable. We'll refer 137 to this as the "condition of reachability" in this document. 139 1. Ships in the Night - The Transport Instance has no relationship 140 or dependency on any other OSPF instance. 142 2. Child Instance - The Transport Instance has a child-parent 143 relationship with a normal OSPF instance and is dependent on this 144 for topology information and assuring the "condition of 145 reachability". 147 2.3.1. Ships in the Night Relationship to Normal OSPF Instances 149 In this mode, the Transport Instance is not dependent on any other 150 OSPF instance. It does, however, have much of the overhead as 151 topology information must be advertised to satisfy the condition of 152 reachability. 154 Prefix information does this need to be advertised. This implies 155 that for OSPFv2, only router-LSAs, network-LSAs, and type 4 summary- 156 LSAs need to be advertised. In the router-LSAs, the stub (type 3) 157 links may be suppressed. For OSPFv3, this implies that router-LSAs, 158 Network-LSAs, and inter-area-router-LSAs must be advertised. 160 2.3.2. Tighter Coupling with Normal OSPF Instances 162 Further optimization and coupling between the transport instance and 163 a normal OSPF instance are beyond the scope of this document. This 164 is an area for future study. 166 2.4. Network Prioritization 168 While OSPFv2 (section 4.3 in [OSPFV2]) are normally sent with IP 169 precedence Internetwork Control, any packets sent by a transport 170 instance will be sent with IP precedence Flash (B'011'). This is 171 only appropriate given that this is a pretty flashy mechanism. 173 Similarly, OSPFv3 transport instance packets will be sent with the 174 traffic class mapped to flash (B'011') as specified in ([OSPFV3]. 176 By setting the IP/IPv6 precedence differently for OSPF transport 177 instance packets, normal OSPF routing instances can be given priority 178 during both packet transmission and reception. In fact, some router 179 implementations map the IP precedence directly to their internal 180 packet priority. However, implementation issues are beyond the scope 181 of this document. 183 2.5. OSPF Transport Instance Omission of Routing Calculation 185 Since the whole point of the transport instance is to separate the 186 routing and non-routing processing and fate sharing, a transport 187 instance SHOULD NOT install any routes. OSPF routers SHOULD NOT 188 advertise any transport instance LSAs containing IP or IPv6 prefixes 189 and OSPF routers receiving LSAs advertising prefixes SHOULD ignore 190 them. This implies that an OSPFv2 transport instance Link State 191 Database should not include any Summary-LSAs (type 3) , AS-External- 192 LSAs (type 5), or NSSA-LSAs (type 7) and the Router-LSAs should not 193 include any stub (type 3) links. An OSPFv3 transport instance Link 194 State database should not include any Inter-Area-Prefix-LSAs (type 195 0x2003), AS-External-LSAs (0x4005), NSSA-LSAs (type 0x2007), or 196 Intra-Area-Prefix-LSAs (type 0x2009). If they are erroneously 197 advertised, they MUST be ignored by OSPF routers supporting this 198 specification. 200 2.6. Non-routing Instance Separation 202 It has been suggested that an implementation could obtain the same 203 level of separation between IP routing information and non-routing 204 information in a single instance with slight modifications to the 205 OSPF protocol. The authors refute this contention for the following 206 reasons: 208 o Adding internal and external mechanisms to prioritize routing 209 information over non-routing information are much more complex 210 than simply relegating the non-routing information to a separate 211 instance as proposed in this specification. 213 o The instance boundary offers much better separation for allocation 214 of finite resources such as buffers, memory, processor cores, 215 sockets, and bandwidth. 217 o The instance boundary decreases the level of fate sharing for 218 failures. Each instance may be implemented as a separate process 219 or task. 221 o With non-routing information, many times not every router in the 222 OSPF routing domain requires knowledge of every piece of routing 223 information. In these cases, groups of routers which need to 224 share information can be segregated into sparse topologies greatly 225 reducing the amount of non-routing information any single router 226 needs to maintain. 228 2.7. Non-Routing Sparse Topologies 230 With non-routing information, many times not every router in the OSPF 231 routing domain requires knowledge of every piece of routing 232 information. In these cases, groups of routers which need to share 233 information can be segregated into sparse topologies. This will 234 greatly reduce the amount of information any single router needs to 235 maintain with the core routers possibly not requiring any non-routing 236 information at all. 238 With normal OSPF, every router in an OSPF area must have every piece 239 of topological and IP or IPv6 prefix routing information. With non- 240 routing information, only the routers needing to share a set of 241 information need be part of the corresponding sparse topology. For 242 directly attached routers, one only needs to configure the desired 243 topologies on the interfaces with routers requiring the non-routing 244 information. When the routers making up the sparse topology are not 245 part of a uniconnected graph, two alternatives exist. The first 246 alternative is configure tunnels to form a fully connected graph 247 including only those routers in the sparse topology. The second 248 alternative is use remote neighbors as described in Section 2.7.1. 250 2.7.1. Remote OSPF Neighbor 252 With sparse topologies, OSPF routers sharing non-routing information 253 may not be directly connected. OSPF adjacencies with remote 254 neighbors are formed exactly as they are with regular OSPF neighbors. 255 The main difference is that a remote OSPF neighbor's address is 256 configured and IP routing is used to deliver packet to the remote 257 neighbor. Other salient feature of remote neighbor include: 259 o All OSPF packets are addressed to the remote neighbor's configured 260 IP address. 262 o The adjacency is represented in the router Router-LSA as a router 263 (type-1) link with the link data set to the remote neighbor 264 address. 266 o Similar to NBMA networks, a poll-interval is configured to 267 determine if the remote neighbor is reachable. This value is 268 normally much higher than the hello interval. 270 3. OSPF Transport Instance Information Encoding 272 The format of the TLVs within the body of an LSA containing non- 273 routing information is the same as the format used by the Traffic 274 Engineering Extensions to OSPF [TE]. The LSA payload consists of one 275 or more nested Type/Length/Value (TLV) triplets. The format of each 276 TLV is: 278 0 1 2 3 279 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 280 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 281 | Type | Length | 282 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 283 | Value... | 284 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 TLV Format 288 However, each unique application using the mechanisms defined in this 289 document will have it's own unique ID. Whether to encode this ID as 290 the top-level TLV or make it part of the OSPF LSA ID is open for 291 debate. 293 The specific TLVs and sub-TLVs relating to a given application and 294 the corresponding IANA considerations MUST for standard applications 295 MUST be specified in the document corresponding to that application. 297 3.1. OSPFv2 Transport Instance Information Encoding 299 Application specific information will be flooded in opaque LSAs as 300 specified in [OPAQUE]. 302 3.2. OSPFv3 Transport Instance Information Encoding 304 Application specific information will be flooded in separate LSAs 305 with separate function codes. Refer to section A.4.2.1 of [OSPFV3] 306 for information on the LS Type encoding in OSPFv3. 308 4. Security Considerations 310 The security considerations for the Transport Instance will not be 311 different for those for OSPFv2 [OSPFV2] and OSPFv3 [OSPFV3]. 313 5. IANA Considerations 315 No new IANA assignments are required for this draft. 317 6. Normative References 319 [MULTI-INST] 320 Lindem, A., Mirtorabi, S., and A. Roy, "OSPF Multi- 321 Instance Extensions", 322 draft-acee-ospf-multi-instance-02.txt (work in progress). 324 [OPAQUE] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The 325 OSPF Opaque LSA Option", RFC 5250, July 2008. 327 [OSPFV2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 329 [OSPFV3] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 330 for IPv6", RFC 5340, July 2008. 332 [RFC-KEYWORDS] 333 Bradner, S., "Key words for use in RFC's to Indicate 334 Requirement Levels", RFC 2119, March 1997. 336 [TE] Katz, D., Yeung, D., and K. Kompella, "Traffic Engineering 337 Extensions to OSPF", RFC 3630, September 2003. 339 Appendix A. Acknowledgments 341 The RFC text was produced using Marshall Rose's xml2rfc tool. 343 Thanks to Jonathan Sadler for comments on the document. 345 Authors' Addresses 347 Acee Lindem 348 Ericsson 349 102 Carric Bend Court 350 Cary, NC 27519 351 USA 353 Email: acee.lindem@ericsson.com 355 Abhay Roy 356 Cisco Systems 357 225 West Tasman Drive 358 San Jose, CA 95134 359 USA 361 Email: akr@cisco.com 363 Sina Mirtorabi 364 Cisco Systems 365 3 West Plumeria Drive 366 San Jose, CA 95134 367 USA 369 Email: sina@cisco.com