idnits 2.17.1 draft-ietf-isis-genapp-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- 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 (November 10, 2010) is 4909 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) == Outdated reference: A later version (-08) exists of draft-ietf-isis-mi-03 -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO10589' ** Obsolete normative reference: RFC 4971 (Obsoleted by RFC 7981) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group L. Ginsberg 3 Internet-Draft S. Previdi 4 Intended status: Standards Track M. Shand 5 Expires: May 14, 2011 Cisco Systems 6 November 10, 2010 8 Advertising Generic Information in IS-IS 9 draft-ietf-isis-genapp-04.txt 11 Abstract 13 This draft describes the manner in which generic application 14 information (i.e. information not directly related to the operation 15 of the IS-IS protocol) should be advertised in IS-IS LSPs and defines 16 guidelines which should be used when flooding such information. 18 Status of this Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on May 14, 2011. 35 Copyright Notice 37 Copyright (c) 2010 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 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Conventions used in this Document . . . . . . . . . . . . . . 3 53 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Encoding Format for GENINFO . . . . . . . . . . . . . . . . . 3 55 3.1. GENINFO TLV . . . . . . . . . . . . . . . . . . . . . . . 4 56 3.2. Use of sub-TLVs in GENINFO TLV . . . . . . . . . . . . . . 6 57 4. GENINFO Flooding Procedures . . . . . . . . . . . . . . . . . 6 58 4.1. Leaking Procedures . . . . . . . . . . . . . . . . . . . . 7 59 4.2. Minimizing Update Confusion . . . . . . . . . . . . . . . 7 60 4.3. Interpreting Attribute Information . . . . . . . . . . . . 8 61 5. Use of a Separate Protocol Instance . . . . . . . . . . . . . 8 62 6. Applicability of GENINFO TLV . . . . . . . . . . . . . . . . . 9 63 7. Standardization Requirements . . . . . . . . . . . . . . . . . 9 64 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 65 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 66 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 67 11. Normative References . . . . . . . . . . . . . . . . . . . . . 10 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 70 1. Conventions used in this Document 72 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 73 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 74 document are to be interpreted as described in [RFC2119]. 76 2. Overview 78 [ISO10589] defines the format of type-length-value (TLVs) which may 79 be sent in IS-IS Protocol Data Units (PDUs). The first octet of a 80 TLV encodes the "type" or "codepoint" which provides a scope for the 81 information and information format which follows. The protocol is 82 therefore limited to 256 different codepoints which may be assigned. 83 This number has proved generous as regards the information required 84 for correct operation of the Intermediate System to Internediate 85 System (IS-IS) protocol. However, the increasing use of IS-IS Link 86 State Protocol Data Units (LSPs) for advertisement of generic 87 information (GENINFO) not directly related to the operation of the 88 IS-IS protocol places additional demands on the TLV encoding space 89 which has the potential to consume a significant number of TLV 90 codepoints. This document therefore defines an encoding format for 91 GENINFO which minimizes the consumption of TLV codepoints and also 92 maximizes the flexibility of the formats which can be used to 93 represent GENINFO. 95 This document also discusses optimal behavior associated with the 96 advertisement and flooding of LSPs containing GENINFO in order to 97 avoid the advertisement of stale information and minimize the 98 presence of duplicate or conflicting information when advertisements 99 are updated. 101 The manner in which the information contained in GENINFO TLVs is 102 exchanged between an instance of the IS-IS protocol and the 103 application which generates/consumes the GENINFO is outside the scope 104 of this specification. 106 In order to minimize the impact advertisement of GENINFO may have on 107 the operation of routing, such advertisements MUST occur in the 108 context of a non-zero instance of the IS-IS protocol as defined in 109 [I-D.ietf-isis-mi] except where the rules for the use of the zero 110 instance set out later in this document are followed. 112 3. Encoding Format for GENINFO 114 The encoding format defined below has the following goals regarding 115 the advertisement of GENINFO in IS-IS LSPs: 117 o Minimize the number of IS-IS top level and sub-TLV codepoints 118 required 120 o Minimize the depth of sub-TLV levels required 122 In order to support these goals, a new IANA registry is required. 123 This registry will manage the assignment of IS-IS GENINFO Application 124 Identifiers. These numbers are unsigned 16 bit numbers ranging in 125 value from 1 to 65535. Application specific sub-TLV codepoints are 126 unsigned 8 bit numbers ranging in value from 0 to 255. The 127 assignment of the sub-TLV codepoints is scoped by the Application 128 Identifier. Management of the application specific sub-TLV 129 codepoints is outside the scope of this document. 131 3.1. GENINFO TLV 133 The GENINFO TLV supports the advertisement of application specific 134 information which is not directly related to the operation of the 135 IS-IS protocol. 137 Type 251 138 Length # of octets in the value field (3 to 255) 139 Value 141 No. of octets 142 +-----------------------+ 143 | Flags | 1 144 +-----------------------+ 145 | Application ID | 2 146 +-----------------------+ 147 | Application | 148 | IP Address Info | 0 to 20 149 +-----------------------+ 150 | Additional Application| 0 to (252 - 151 | Specific Information | len of IP Address info) 152 +-----------------------+ 154 Flags 156 0 1 2 3 4 5 6 7 157 +-+-+-+-+-+-+-+-+ 158 | Rsvd |V|I|D|S| 159 +-+-+-+-+-+-+-+-+ 161 The following bit flags are defined. 163 S bit (0x01): If the S bit is set(1), the GENINFO TLV 164 MUST be flooded across the entire routing domain. If 165 the S bit is not set(0), the TLV MUST NOT be leaked 166 between levels. This bit MUST NOT be altered during the 167 TLV leaking. 169 D bit (0x02): When the GENINFO TLV is leaked from 170 level-2 to level-1, the D bit MUST be set. Otherwise 171 this bit MUST be clear. GENINFO TLVs with the D bit set 172 MUST NOT be leaked from level-1 to level-2. This is to 173 prevent TLV looping. 175 I bit (0x04): When the I bit is set the 4 octet IPv4 176 address associated with the application immediately 177 follows the Application ID. 179 V bit (0x08): When the V bit is set, the 16 octet IPv6 180 address associated with the application immediately 181 follows either the Application ID (if I bit is clear) 182 or the IPv4 address (if I bit is set). 184 Application ID 186 An identifier assigned to this application via the IANA 187 registry defined later in this document. 189 Application IPv4 Address Info 191 The IPv4 address associated with the application. This 192 is not necessarily an address of a router running the 193 IS-IS protocol. 195 Application IPv6 Address Info 197 The IPv6 address associated with the application. This 198 is not necessarily an address of a router running the 199 IS-IS protocol. 201 Additional Application Specific Information 203 Each application may define additional information to 204 be encoded in a GENINFO TLV following the fixed 205 information. Definition of such information is beyond 206 the scope of this document. 208 3.2. Use of sub-TLVs in GENINFO TLV 210 [RFC5305] introduced the definition and use of sub-TLVs. One of the 211 advantages of using sub-TLVs rather than fixed encoding of 212 information inside a TLV is to allow for the addition of new 213 information in a backwards compatible manner i.e. just as with TLVs, 214 implementations are required to ignore sub-TLVs which they do not 215 understand. 217 GENINFO TLVs MAY include sub-TLVs in the application specific 218 information as deemed necessary and appropriate for each application. 219 The scope of the codepoints used in such sub-TLVs is defined by the 220 combination of the GENINFO TLV codepoint and the Application ID i.e. 221 the sub-TLV codepoints are private to the application. Such sub-TLVs 222 are referred to as APPsub-TLVs. 224 Additional levels of APPsub-TLVs may be required when there is 225 variable information which is scoped by a specific APPsub-TLV. These 226 "nested" sub-TLVs MUST be encoded in the same manner as sub-TLVs i.e. 227 with a one-octet Type field, a one-octet Length field, and zero or 228 more octets of Value. 230 4. GENINFO Flooding Procedures 232 This section describes procedures which apply to the propagation of 233 LSPs which contain GENINFO TLVs. These procedures have been 234 previously discussed in [RFC4971]. This section is intended to serve 235 as a reference specification for future documents which define the 236 use of GENINFO TLV(s) for a specific application - eliminating the 237 need to repeat the definition of these procedures in the application 238 specific documents. 240 Each GENINFO TLV contains information regarding exactly one 241 application instance as identified by the Application ID in the 242 GENINFO TLV. When it is necessary to advertise sets of information 243 with the same Application ID which have different flooding scopes, a 244 router MUST originate a minimum of one GENINFO TLV for each required 245 flooding scope. GENINFO TLVs which contain information having area/ 246 level scope will have the S bit clear. These TLVs MUST NOT be leaked 247 into another level. GENINFO TLVs which contain information which has 248 domain scope will have the S bit set. These TLVs MUST be leaked into 249 other IS-IS levels. When a TLV is leaked from level-2 to level-1, 250 the D bit MUST be set in the level-1 LSP advertisement. 252 4.1. Leaking Procedures 254 When leaking GENINFO TLVs downward from Level-2 into Level-1, if the 255 originator of the TLV is a Level-1 router in another area, it is 256 possible that multiple copies of the same TLV may be received from 257 multiple L2 routers in the originating area. A router performing 258 downward leaking MUST check for such duplication by comparing the 259 contents of the TLVs. The set of LSPs generated by a router for a 260 given level MUST NOT contain two or more copies of the same GENINFO 261 TLV. 263 In order to prevent the use of stale GENINFO information, a system 264 MUST NOT use a GENINFO TLV present in an LSP of a system which is not 265 currently reachable via Level-x paths, where "x" is the level (1 or 266 2) associated with the LSP in which the GENINFO TLV appears. Note 267 that leaking a GENINFO TLV is one of the uses which is prohibited 268 under these conditions. The following example illustrates what might 269 occur in the absence of this restriction. 271 Example: If Level-1 router A generates a GENINFO TLV and floods it to 272 two L1/L2 routers S and T, they will flood it into the Level-2 sub- 273 domain. Now suppose the Level-1 area partitions, such that A and S 274 are in one partition and T is in another. IP routing will still 275 continue to work, but if A now issues a revised version of the 276 GENINFO TLV, or decides to stop advertising it, S will follow suit, 277 but T will continue to advertise the old version until the LSP times 278 out. 280 Routers in other areas have to choose whether to trust T's copy of 281 A's GENINFO TLV or S's copy of A's information and they have no 282 reliable way to choose. By making sure that T stops leaking A's 283 information, this removes the possibility that other routers will use 284 stale information from A. 286 4.2. Minimizing Update Confusion 288 If an update to a TLV is advertised in an LSP with a different number 289 than the LSP associated with the old advertisement, the possibility 290 exists that other systems can temporarily have either 0 copies of a 291 particular advertisement or 2 copies of a particular advertisement, 292 depending on the order in which new copies of the LSP which had the 293 old advertisement and the LSP which has the new advertisement arrive 294 at other systems. 296 Whenever possible, an implementation SHOULD advertise the update to a 297 GENINFO TLV in the LSP with the same number as the advertisement 298 which it replaces. Where this is not possible, the two affected LSPs 299 SHOULD be flooded as an atomic action. 301 Systems which receive an update to an existing GENINFO TLV can 302 minimize the potential disruption associated with the update by 303 employing a holddown time prior to processing the update so as to 304 allow for the receipt of multiple LSPs associated with the same 305 update prior to beginning processing. 307 4.3. Interpreting Attribute Information 309 Where a receiving system has two copies of a GENINFO TLV with the 310 same Application ID, attribute information in the two TLVs which does 311 not conflict MUST be considered additive. When information in the 312 two GENINFO TLVs conflicts i.e there are different settings for a 313 given attribute, the procedure used to choose which copy shall be 314 used is undefined. 316 5. Use of a Separate Protocol Instance 318 The use of the IS-IS flooding mechanism as a means of reliably and 319 efficiently propagating information is understandably attractive. 320 However, it is prudent to remember that the primary purpose of that 321 mechanism is to flood information necessary for the correct operation 322 of the IS-IS protocol. Flooding of information not directly related 323 to the use of the IS-IS protocol in support of routing degrades the 324 operation of the protocol. Degradation occurs because the frequency 325 of LSP updates is increased and because the processing of non-routing 326 information in each router consumes resources whose primary 327 responsibility is to efficiently respond to reachability changes in 328 the network. 330 Advertisement of GENINFO therefore MUST occur in the context of a 331 non-zero instance of the IS-IS protocol as defined in 332 [I-D.ietf-isis-mi] except when the use in the zero instance is 333 defined in a Standards Track RFC. 335 The use of a separate instance of the protocol allows both the 336 flooding and the processing of the non-routing information to be 337 decoupled from the information necessary to support correct routing 338 of data in the network. The flooding and processing of non-routing 339 information can then be prioritized appropriately. 341 Use of a separate protocol instance to advertise GENINFO does not 342 eliminate the need to use prudence in the frequency with which such 343 information is updated. One of the most egregious oversights is a 344 failure to appropriately dampen changes in the information to be 345 advertised, which can lead to flooding storms. Documents which 346 specify the use of the mechanisms defined here MUST define the 347 expected rate of change of the information to be advertised. 349 If desirable, independent control of the flooding scope for 350 information related to two different applications can be achieved by 351 utilizing separate non-zero protocol instances for each 352 application.[I-D.ietf-isis-mi]. 354 6. Applicability of GENINFO TLV 356 The GENINFO TLV supports the advertisement of application specific 357 information in IS-IS LSPs which is not directly related to the 358 operation of the IS-IS protocol. Information advertised in the 359 GENINFO TLV MUST NOT alter basic IS-IS protocol operation including 360 (but not limited to) the establishment of adjacencies, the update 361 process, and the decision process. 363 7. Standardization Requirements 365 GENINFO is intended to advertise information on behalf of 366 applications whose operations have been defined in a public 367 specification as discussed in [RFC5226]. 369 The public specification MUST include: 371 o a description of the sub-TLV allocation policy 373 o discussion of security issues 375 o discussion of the rate of change of the information being 376 advertised 378 o justification for the use of GENINFO 380 8. Security Considerations 382 The introduction and use of the new TLV codepoint for GENINFO in and 383 of itself raises no new security issues for IS-IS. 385 It is possible that information advertised in a GENINFO TLV by a 386 given Application MAY introduce new security issues. The public 387 specification which defines the use of GENINFO by that Application 388 MUST include a discussion of the security issues. Where appropriate, 389 it is recommended that either [RFC5304] or [RFC5310] be used. 391 9. IANA Considerations 393 This document defines a new IS-IS TLV that needs to be reflected in 394 the IS-IS TLV code-point registry: 396 Type Description IIH LSP SNP 397 ---- ----------------------------------- --- --- --- 398 251 Generic Information n y n 400 This document also defines a new registry. The new registry will 401 manage the assignment of Application Identifiers which may be used in 402 the Generic Information TLV. These identifiers are unsigned 16 bit 403 numbers ranging in value from 1 to 65535. The value 0 is reserved. 404 Registration procedure is "Expert Review" as defined in [RFC5226]. 405 The expert MUST verify that the public specification which defines 406 the use of GENINFO for the application adequately discusses all 407 points mentioned in Section 7 of this document. 409 The following information MUST be specified in the registry: 411 o ID Value (1-65535) 413 o Description 415 o Allowed in Instance zero (Y/N) 417 o Reference Specification 419 10. Acknowledgements 421 The authors would like to thank JP Vasseur and David Ward for 422 providing the need to produce this document and Tony Li for making 423 sure it was done with appropriate wisdom and prudence. 425 11. Normative References 427 [I-D.ietf-isis-mi] 428 Previdi, S., Ginsberg, L., Shand, M., Ward, D., and A. 429 Roy, "IS-IS Multi-Instance", draft-ietf-isis-mi-03 (work 430 in progress), July 2010. 432 [ISO10589] 433 International Organization for Standardization, 434 "Intermediate system to Intermediate system intra-domain 435 routeing information exchange protocol for use in 436 conjunction with the protocol for providing the 437 connectionless-mode Network Service (ISO 8473)", ISO/ 438 IEC 10589:2002, Second Edition, Nov 2002. 440 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 441 Requirement Levels", BCP 14, RFC 2119, March 1997. 443 [RFC4971] Vasseur, JP., Shen, N., and R. Aggarwal, "Intermediate 444 System to Intermediate System (IS-IS) Extensions for 445 Advertising Router Information", RFC 4971, July 2007. 447 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 448 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 449 May 2008. 451 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 452 Authentication", RFC 5304, October 2008. 454 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 455 Engineering", RFC 5305, October 2008. 457 [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., 458 and M. Fanto, "IS-IS Generic Cryptographic 459 Authentication", RFC 5310, February 2009. 461 Authors' Addresses 463 Les Ginsberg 464 Cisco Systems 465 510 McCarthy Blvd. 466 Milpitas, Ca. 95035 467 USA 469 Email: ginsberg@cisco.com 471 Stefano Previdi 472 Cisco Systems 473 Via Del Serafico 200 474 00142 - Roma, 475 Italy 477 Email: sprevidi@cisco.com 478 Mike Shand 479 Cisco Systems 480 250, Longwater Avenue. 481 Reading, Berks RG2 6GB 482 UK 484 Email: mshand@cisco.com