idnits 2.17.1 draft-ietf-isis-genapp-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (See https://trustee.ietf.org/license-info/) Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 04, 2010) is 5219 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO10589' ** Obsolete normative reference: RFC 4971 (Obsoleted by RFC 7981) == Outdated reference: A later version (-08) exists of draft-ietf-isis-mi-02 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: July 8, 2010 Cisco Systems 6 January 04, 2010 8 Advertising Generic Information in IS-IS 9 draft-ietf-isis-genapp-02.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 to IETF 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), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 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 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/ietf/1id-abstracts.txt. 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html. 39 This Internet-Draft will expire on July 8, 2010. 41 Copyright Notice 43 Copyright (c) 2010 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the BSD License. 56 Table of Contents 58 1. Conventions used in this Document . . . . . . . . . . . . . . 3 59 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 3. Encoding Format for GENINFO . . . . . . . . . . . . . . . . . 3 61 3.1. GENINFO TLV . . . . . . . . . . . . . . . . . . . . . . . 4 62 3.2. Use of subTLVs in GENINFO TLV . . . . . . . . . . . . . . 6 63 3.3. Standardization Requirements . . . . . . . . . . . . . . . 6 64 4. GENINFO Flooding Procedures . . . . . . . . . . . . . . . . . 6 65 4.1. Leaking Procedures . . . . . . . . . . . . . . . . . . . . 7 66 4.2. Minimizing Update Confusion . . . . . . . . . . . . . . . 8 67 4.3. Interpreting Attribute Information . . . . . . . . . . . . 8 68 5. Use of a Separate Protocol Instance . . . . . . . . . . . . . 8 69 6. Applicability of GENINFO TLV . . . . . . . . . . . . . . . . . 9 70 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 71 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 72 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 73 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 74 10.1. Normative References . . . . . . . . . . . . . . . . . . . 10 75 10.2. Informative References . . . . . . . . . . . . . . . . . . 11 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 78 1. Conventions used in this Document 80 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 81 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 82 document are to be interpreted as described in [RFC2119]. 84 2. Overview 86 [ISO10589] defines the format of TLVs which may be sent in IS-IS 87 PDUs. The first octet of a TLV encodes the "type" or "codepoint" 88 which provides a scope for the information and information format 89 which follows. The protocol is therefore limited to 256 different 90 codepoints which may be assigned. This number has proved generous as 91 regards the information required for correct operation of the IS-IS 92 protocol. However, the increasing use of IS-IS LSPs for 93 advertisement of generic information (GENINFO) not directly related 94 to the operation of the IS-IS protocol places additional demands on 95 the TLV encoding space which has the potential to consume a 96 significant number of TLV codepoints. This document therefore 97 defines an encoding format for GENINFO which minimizes the 98 consumption of TLV codepoints and also maximizes the flexibility of 99 the formats which can be used to represent GENINFO. 101 This document also discusses optimal behavior associated with the 102 advertisement and flooding of LSPs containing GENINFO in order to 103 avoid the advertisement of stale information and minimize the 104 presence of duplicate or conflicting information when advertisements 105 are updated. 107 The manner in which the information contained in GENINFO TLVs is 108 exchanged between an instance of the IS-IS protocol and the 109 application which generates/consumes the GENINFO is outside the scope 110 of this specification. 112 In order to minimize the impact advertisement of GENINFO may have on 113 the operation of routing, such advertisements SHOULD occur in the 114 context of a non-zero instance of the IS-IS protocol as defined in 115 [I-D.ietf-isis-mi]. 117 3. Encoding Format for GENINFO 119 The encoding format defined below has the following goals regarding 120 the advertisement of GENINFO in IS-IS LSPs: 122 o Minimize the number of codepoints required 124 o Minimize the depth of subTLV levels required 126 In order to support these goals, a new IANA registry is required. 127 This registry is required to manage the assignment of IS-IS GENINFO 128 Application Identifiers. These numbers are unsigned 16 bit numbers 129 ranging in value from 1 to 65535. The registry is also required to 130 manage the assignment of application specific subTLV codepoints. 131 These numbers are unsigned 8 bit numbers ranging in value from 0 to 132 255. The assignment of the subTLV codepoints is scoped by the 133 Application Identifier. 135 3.1. GENINFO TLV 137 The GENINFO TLV supports the advertisement of application specific 138 information which is not directly related to the operation of the 139 IS-IS protocol. 141 Type 251 142 Length # of octets in the value field (3 to 255) 143 Value 145 No. of octets 146 +-----------------------+ 147 | Flags | 1 148 +-----------------------+ 149 | Application ID | 2 150 +-----------------------+ 151 | Application | 152 | IP Address Info | 0 to 20 153 +-----------------------+ 154 | Additional Application| 0 to (252 - 155 | Specific Information | len of IP Address info) 156 +-----------------------+ 158 Flags 160 0 1 2 3 4 5 6 7 161 +-+-+-+-+-+-+-+-+ 162 | Rsvd |V|I|D|S| 163 +-+-+-+-+-+-+-+-+ 165 The following bit flags are defined. 167 S bit (0x01): If the S bit is set(1), the GENINFO TLV 168 MUST be flooded across the entire routing domain. If 169 the S bit is not set(0), the TLV MUST NOT be leaked 170 between levels. This bit MUST NOT be altered during the 171 TLV leaking. 173 D bit (0x02): When the GENINFO TLV is leaked from 174 level-2 to level-1, the D bit MUST be set. Otherwise 175 this bit MUST be clear. GENINFO TLVs with the D bit set 176 MUST NOT be leaked from level-1 to level-2. This is to 177 prevent TLV looping. 179 I bit (0x04): When the I bit is set the 4 octet IPv4 180 address associated with the application immediately 181 follows the Application ID. 183 V bit (0x08): When the V bit is set, the 16 octet IPv6 184 address associated with the application immediately 185 follows either the Application ID (if I bit is clear) 186 or the IPv4 address (if I bit is set). 188 Application ID 190 An identifier assigned to this application via the 191 GENINFO-REG. 193 Application IPv4 Address Info 195 The IPv4 address associated with the application. This 196 is not necessarily an address of a router running the 197 IS-IS protocol. 199 Application IPv6 Address Info 201 The IPv6 address associated with the application. This 202 is not necessarily an address of a router running the 203 IS-IS protocol. 205 Additional Application Specific Information 207 Each application may define additional information to 208 be encoded in a GENINFO TLV following the fixed 209 information. Definition of such information is beyond 210 the scope of this document. 212 The Application ID in combination with the Application IPv4/IPv6 213 Address Information uniquely identifies the GENINFO Application 214 Context (GENINFO-CTX). 216 3.2. Use of subTLVs in GENINFO TLV 218 [RFC5305] introduced the definition and use of subTLVs. One of the 219 advantages of using subTLVs rather than fixed encoding of information 220 inside a TLV is to allow for the addition of new information in a 221 backwards compatible manner i.e. just as with TLVs, implementations 222 are required to ignore subTLVs which they do not understand. 224 GENINFO TLVs MAY include subTLVs in the application specific 225 information as deemed necessary and appropriate for each application. 226 The scope of the codepoints used in such subTLVs is defined by the 227 GENINFO TLV codepoint AND the Application ID i.e. the subTLV 228 codepoints are private to the application. Such subTLVs are referred 229 to as APPSUBTLVs and MUST be assigned via the GENINFO-REG IANA 230 registry. 232 Additional levels of APPSUBTLVs may be required when there is 233 variable information which is scoped by a specific APPSUBTLV. These 234 "nested" subTLVs MUST be encoded in the same manner as subTLVs i.e. 235 with a one-octet Type field, a one-octet Length field, and zero or 236 more octets of Value. These types MUST also be assigned via the 237 GENINFO-REG IANA registry. 239 The use of additional levels of subTLVs is discouraged due to the 240 inherent inefficiency in encoding introduced because the parent 241 subTLV must encode the nested subTLV length. While this inefficiency 242 is small (one additional octet), it may be sufficient to extend the 243 total information about a single application object beyond the 244 carrying capacity of a single GENINFO TLV. Given that each 245 Application ID can utilize the full range of subTLV codepoints (0 to 246 255) without conflict with any other application, the need to be 247 frugal in the use of APPSUBTLV codepoints is greatly reduced. 249 3.3. Standardization Requirements 251 GENINFO is intended to advertise information on behalf of 252 applications whose operations have been defined in public documents. 253 Therefore the uses of GENINFO MUST be standardized. 255 GENINFO is NOT intended to be used for proprietary or experimental 256 purposes. 258 4. GENINFO Flooding Procedures 260 This section describes procedures which apply to the propagation of 261 LSPs which contain GENINFO TLVs. These procedures have been 262 previously discussed in [RFC4971]. This section is intended to serve 263 as a reference specification for future documents which define the 264 use of GENINFO TLV(s) for a specific application - eliminating the 265 need to repeat the definition of these procedures in the application 266 specific documents. 268 Each GENINFO TLV contains information regarding exactly one 269 application instance as identified by the GENINFO-CTX. When it is 270 necessary to advertise sets of information with the same GENINFO-CTX 271 which have different flooding scopes, a router MUST originate a 272 minimum of one GENINFO TLV for each required flooding scope. GENINFO 273 TLVs which contain information having area/level scope will have the 274 S bit clear. These TLVs MUST NOT be leaked into another level. 275 GENINFO TLVs which contain information which has domain scope will 276 have the S bit set. These TLVs MUST be leaked into other IS-IS 277 levels. When a TLV is leaked from level-2 to level-1, the D bit MUST 278 be set in the level-1 LSP advertisement. 280 4.1. Leaking Procedures 282 When leaking GENINFO TLVs downward from Level-2 into Level-1, if the 283 originator of the TLV is a Level-1 router in another area, it is 284 possible that multiple copies of the same TLV may be received from 285 multiple L2 routers in the originating area. A router performing 286 downward leaking MUST check for such duplication by comparing the 287 contents of the TLVs. The set of LSPs generated by a router for a 288 given level MUST NOT contain two or more copies of the same GENTLV. 290 In order to prevent the use of stale GENINFO information, a system 291 MUST NOT use a GENINFO TLV present in an LSP of a system which is not 292 currently reachable via Level-x paths, where "x" is the level (1 or 293 2) associated with the LSP in which the GENINFO TLV appears. Note 294 that leaking a GENINFO TLV is one of the uses which is prohibited 295 under these conditions. The following example illustrates what might 296 occur in the absence of this restriction. 298 Example: If Level-1 router A generates a GENINFO TLV and floods it to 299 two L1/L2 routers S and T, they will flood it into the Level-2 sub- 300 domain. Now suppose the Level-1 area partitions, such that A and S 301 are in one partition and T is in another. IP routing will still 302 continue to work, but if A now issues a revised version of the 303 GENINFO TLV, or decides to stop advertising it, S will follow suit, 304 but T will continue to advertise the old version until the LSP times 305 out. 307 Routers in other areas have to choose whether to trust T's copy of 308 A's GENINFO TLV or S's copy of A's information and they have no 309 reliable way to choose. By making sure that T stops leaking A's 310 information, this removes the possibility that other routers will use 311 stale information from A. 313 4.2. Minimizing Update Confusion 315 If an update to a TLV is advertised in an LSP with a different number 316 than the LSP associated with the old advertisement, the possibility 317 exists that other systems can temporarily have either 0 copies of a 318 particular advertisement or 2 copies of a particular advertisement, 319 depending on the order in which new copies of the LSP which had the 320 old advertisement and the LSP which has the new advertisement arrive 321 at other systems. 323 Whenever possible, an implementation SHOULD advertise the update to a 324 GENINFO TLV in the LSP with the same number as the advertisement 325 which it replaces. Where this is not possible, the two affected LSPs 326 SHOULD be flooded as an atomic action. 328 Systems which receive an update to an existing GENINFO TLV can 329 minimize the potential disruption associated with the update by 330 employing a holddown time prior to processing the update so as to 331 allow for the receipt of multiple LSPs associated with the same 332 update prior to beginning processing. 334 4.3. Interpreting Attribute Information 336 Where a receiving system has two copies of a GENINFO TLV with the 337 same GENINFO-CTX, attribute information in the two TLVs which does 338 not conflict MUST be considered additive. When information in the 339 two GENINFO TLVs conflicts i.e there are different settings for a 340 given attribute, the procedure used to choose which copy shall be 341 used is undefined. 343 5. Use of a Separate Protocol Instance 345 The use of the IS-IS flooding mechanism as a means of reliably and 346 efficiently propagating information is understandably attractive. 347 However, it is prudent to remember that the primary purpose of that 348 mechanism is to flood information necessary for the correct operation 349 of the IS-IS protocol. Flooding of information not directly related 350 to the use of the IS-IS protocol in support of routing degrades the 351 operation of the protocol. Degradation occurs because the frequency 352 of LSP updates is increased and because the processing of non-routing 353 information in each router consumes resources whose primary 354 responsibility is to efficiently respond to reachability changes in 355 the network. 357 Advertisement of GENINFO therefore SHOULD occur in the context of a 358 non-zero instance of the IS-IS protocol as defined in 359 [I-D.ietf-isis-mi]. The use of a separate instance of the protocol 360 allows both the flooding and the processing of the non-routing 361 information to be decoupled from the information necessary to support 362 correct routing of data in the network. The flooding and processing 363 of non-routing information can then be prioritized appropriately. 365 Use of a separate protocol instance to advertise GENINFO does not 366 eliminate the need to use prudence in the frequency with which such 367 information is updated. One of the most egregious oversights is a 368 failure to appropriately dampen changes in the information to be 369 advertised, which can lead to flooding storms. Documents which 370 specify the use of the mechanisms defined here MUST define the 371 expected rate of change of the information to be advertised. 373 If desirable, independent control of the flooding scope for 374 information related to two different applications can be achieved by 375 utilizing separate non-zero protocol instances for each 376 application.[I-D.ietf-isis-mi]. 378 6. Applicability of GENINFO TLV 380 The GENINFO TLV supports the advertisement of application specific 381 information in IS-IS LSPs which is not directly related to the 382 operation of the IS-IS protocol. Information which is not directly 383 used by the IS-IS Decision process falls into this category. The 384 Decision Process is defined by [ISO10589] and extended by [RFC1195] 385 and [RFC3906]. 387 The IS-IS WG of the IETF acts as the authority to determine whether 388 information proposed to be advertised in IS-IS LSPs falls under this 389 definition. 391 The applicability statement above is expected to cover some 392 information currently being advertised by IS-IS in previously defined 393 TLVs. It is expected and seen as desirable that an effort be made to 394 migrate the advertisement of such information to utilize the 395 procedures defined in this document. 397 7. Security Considerations 399 This document raises no new security issues for IS-IS. 401 8. IANA Considerations 403 This document defines a new ISIS TLV that needs to be reflected in 404 the ISIS TLV code-point registry: 406 Type Description IIH LSP SNP 407 ---- ----------------------------------- --- --- --- 408 251 Generic Information n y n 410 This document also defines a new registry which needs to be created. 412 The new registry is required to manage two types of assigned numbers: 414 1)Application Identifiers which may be used in the Generic 415 Information TLV. These identifiers are unsigned 16 bit numbers 416 ranging in value from 1 to 65535. 418 2)Application specific subTLV codepoints which may be used in a 419 GENINFO TLV when a specific Application Identifier is used. These 420 numbers are unsigned 8 bit numbers ranging in value from 0 to 255. 422 9. Acknowledgements 424 The authors would like to thank JP Vasseur and David Ward for 425 providing the need to produce this document and Tony Li for making 426 sure it was done with appropriate wisdom and prudence. 428 10. References 430 10.1. Normative References 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 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 441 dual environments", RFC 1195, December 1990. 443 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 444 Requirement Levels", BCP 14, RFC 2119, March 1997. 446 [RFC4971] Vasseur, JP., Shen, N., and R. Aggarwal, "Intermediate 447 System to Intermediate System (IS-IS) Extensions for 448 Advertising Router Information", RFC 4971, July 2007. 450 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 451 Engineering", RFC 5305, October 2008. 453 10.2. Informative References 455 [I-D.ietf-isis-mi] 456 Previdi, S., Ginsberg, L., Shand, M., Ward, D., and A. 457 Roy, "IS-IS Multi-Instance", draft-ietf-isis-mi-02 (work 458 in progress), October 2009. 460 [RFC3906] Shen, N. and H. Smit, "Calculating Interior Gateway 461 Protocol (IGP) Routes Over Traffic Engineering Tunnels", 462 RFC 3906, October 2004. 464 Authors' Addresses 466 Les Ginsberg 467 Cisco Systems 468 510 McCarthy Blvd. 469 Milpitas, Ca. 95035 470 USA 472 Email: ginsberg@cisco.com 474 Stefano Previdi 475 Cisco Systems 476 Via Del Serafico 200 477 00142 - Roma, 478 Italy 480 Email: sprevidi@cisco.com 482 Mike Shand 483 Cisco Systems 484 250, Longwater Avenue. 485 Reading, Berks RG2 6GB 486 UK 488 Email: mshand@cisco.com