idnits 2.17.1 draft-ietf-isis-genapp-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 16. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 488. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 499. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 506. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 512. 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 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 (June 20, 2008) is 5782 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) -- Obsolete informational reference (is this intentional?): RFC 3784 (Obsoleted by RFC 5305) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 9 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: December 22, 2008 Cisco Systems 6 June 20, 2008 8 Advertising Generic Information in IS-IS 9 draft-ietf-isis-genapp-01.txt 11 Status of this Memo 13 By submitting this Internet-Draft, each author represents that any 14 applicable patent or other IPR claims of which he or she is aware 15 have been or will be disclosed, and any of which he or she becomes 16 aware will be disclosed, in accordance with Section 6 of BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This Internet-Draft will expire on December 22, 2008. 36 Abstract 38 This draft describes the manner in which generic application 39 information (i.e. information not directly related to the operation 40 of the IS-IS protocol) SHOULD be advertised in IS-IS LSPs and defines 41 guidelines which SHOULD be used when flooding such information. 43 Table of Contents 45 1. Conventions used in this Document . . . . . . . . . . . . . . 3 46 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 47 3. Encoding Format for GENINFO . . . . . . . . . . . . . . . . . 3 48 3.1. GENINFO TLV . . . . . . . . . . . . . . . . . . . . . . . 4 49 3.2. Use of subTLVs in GENINFO TLV . . . . . . . . . . . . . . 6 50 3.3. Standardization Requirements . . . . . . . . . . . . . . . 6 51 4. GENINFO Flooding Procedures . . . . . . . . . . . . . . . . . 6 52 4.1. Leaking Procedures . . . . . . . . . . . . . . . . . . . . 7 53 4.2. Minimizing Update Confusion . . . . . . . . . . . . . . . 8 54 4.3. Interpreting Attribute Information . . . . . . . . . . . . 8 55 5. Use of a Separate Protocol Instance . . . . . . . . . . . . . 8 56 6. Applicability of GENINFO TLV . . . . . . . . . . . . . . . . . 9 57 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 58 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 59 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 60 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 61 10.1. Normative References . . . . . . . . . . . . . . . . . . . 10 62 10.2. Informative References . . . . . . . . . . . . . . . . . . 11 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 64 Intellectual Property and Copyright Statements . . . . . . . . . . 12 66 1. Conventions used in this Document 68 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 69 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 70 document are to be interpreted as described in [RFC2119]. 72 2. Overview 74 [ISO10589] defines the format of TLVs which may be sent in IS-IS 75 PDUs. The first octet of a TLV encodes the "type" or "codepoint" 76 which provides a scope for the information and information format 77 which follows. The protocol is therefore limited to 256 different 78 codepoints which may be assigned. This number has proved generous as 79 regards the information required for correct operation of the IS-IS 80 protocol. However, the increasing use of IS-IS LSPs for 81 advertisement of generic information (GENINFO) not directly related 82 to the operation of the IS-IS protocol places additional demands on 83 the TLV encoding space which has the potential to consume a 84 significant number of TLV codepoints. This document therefore 85 defines an encoding format for GENINFO which minimizes the 86 consumption of TLV codepoints and also maximizes the flexibility of 87 the formats which can be used to represent GENINFO. 89 This document also discusses optimal behavior associated with the 90 advertisement and flooding of LSPs containing GENINFO in order to 91 avoid the advertisement of stale information and minimize the 92 presence of duplicate or conflicting information when advertisements 93 are updated. 95 The manner in which the information contained in GENINFO TLVs is 96 exchanged between an instance of the IS-IS protocol and the 97 application which generates/consumes the GENINFO is outside the scope 98 of this specification. 100 In order to minimize the impact advertisement of GENINFO may have on 101 the operation of routing, such advertisements SHOULD occur in the 102 context of a non-zero instance of the IS-IS protocol as defined in 103 [I-D.previdi-isis-mi]. 105 3. Encoding Format for GENINFO 107 The encoding format defined below has the following goals regarding 108 the advertisement of GENINFO in IS-IS LSPs: 110 o Minimize the number of codepoints required 112 o Minimize the depth of subTLV levels required 114 In order to support these goals, a new IANA registry is required. 115 This registry is required to manage the assignment of IS-IS GENINFO 116 Application Identifiers. These numbers are unsigned 16 bit numbers 117 ranging in value from 1 to 65535. The registry is also required to 118 manage the assignment of application specific subTLV codepoints. 119 These numbers are unsigned 8 bit numbers ranging in value from 0 to 120 255. The assignment of the subTLV codepoints is scoped by the 121 Application Identifier. 123 3.1. GENINFO TLV 125 The GENINFO TLV supports the advertisement of application specific 126 information which is not directly related to the operation of the 127 IS-IS protocol. 129 Type 251 130 Length # of octets in the value field (3 to 255) 131 Value 133 No. of octets 134 +-----------------------+ 135 | Flags | 1 136 +-----------------------+ 137 | Application ID | 2 138 +-----------------------+ 139 | Application | 140 | IP Address Info | 0 to 20 141 +-----------------------+ 142 | Additional Application| 0 to (252 - 143 | Specific Information | len of IP Address info) 144 +-----------------------+ 146 Flags 148 0 1 2 3 4 5 6 7 149 +-+-+-+-+-+-+-+-+ 150 | Rsvd |V|I|D|S| 151 +-+-+-+-+-+-+-+-+ 153 The following bit flags are defined. 155 S bit (0x01): If the S bit is set(1), the GENINFO TLV 156 MUST be flooded across the entire routing domain. If 157 the S bit is not set(0), the TLV MUST NOT be leaked 158 between levels. This bit MUST NOT be altered during the 159 TLV leaking. 161 D bit (0x02): When the GENINFO TLV is leaked from 162 level-2 to level-1, the D bit MUST be set. Otherwise 163 this bit MUST be clear. GENINFO TLVs with the D bit set 164 MUST NOT be leaked from level-1 to level-2. This is to 165 prevent TLV looping. 167 I bit (0x04): When the I bit is set the 4 octet IPv4 168 address associated with the application immediately 169 follows the Application ID. 171 V bit (0x08): When the V bit is set, the 16 octet IPv6 172 address associated with the application immediately 173 follows either the Application ID (if I bit is clear) 174 or the IPv4 address (if I bit is set). 176 Application ID 178 An identifier assigned to this application via the 179 GENINFO-REG. 181 Application IPv4 Address Info 183 The IPv4 address associated with the application. This 184 is not necessarily an address of a router running the 185 IS-IS protocol. 187 Application IPv6 Address Info 189 The IPv6 address associated with the application. This 190 is not necessarily an address of a router running the 191 IS-IS protocol. 193 Additional Application Specific Information 195 Each application may define additional information to 196 be encoded in a GENINFO TLV following the fixed 197 information. Definition of such information is beyond 198 the scope of this document. 200 The Application ID in combination with the Application IPv4/IPv6 201 Address Information uniquely identifies the GENINFO Application 202 Context (GENINFO-CTX). 204 3.2. Use of subTLVs in GENINFO TLV 206 [RFC3784] introduced the definition and use of subTLVs. One of the 207 advantages of using subTLVs rather than fixed encoding of information 208 inside a TLV is to allow for the addition of new information in a 209 backwards compatible manner i.e. just as with TLVs, implementations 210 are required to ignore subTLVs which they do not understand. 212 GENINFO TLVs MAY include subTLVs in the application specific 213 information as deemed necessary and appropriate for each application. 214 The scope of the codepoints used in such subTLVs is defined by the 215 GENINFO TLV codepoint AND the Application ID i.e. the subTLV 216 codepoints are private to the application. Such subTLVs are referred 217 to as APPSUBTLVs and MUST be assigned via the GENINFO-REG IANA 218 registry. 220 Additional levels of APPSUBTLVs may be required when there is 221 variable information which is scoped by a specific APPSUBTLV. These 222 "nested" subTLVs MUST be encoded in the same manner as subTLVs i.e. 223 with a one-octet Type field, a one-octet Length field, and zero or 224 more octets of Value. These types MUST also be assigned via the 225 GENINFO-REG IANA registry. 227 The use of additional levels of subTLVs is discouraged due to the 228 inherent inefficiency in encoding introduced because the parent 229 subTLV must encode the nested subTLV length. While this inefficiency 230 is small (one additional octet), it may be sufficient to extend the 231 total information about a single application object beyond the 232 carrying capacity of a single GENINFO TLV. Given that each 233 Application ID can utilize the full range of subTLV codepoints (0 to 234 255) without conflict with any other application, the need to be 235 frugal in the use of APPSUBTLV codepoints is greatly reduced. 237 3.3. Standardization Requirements 239 GENINFO is intended to advertise information on behalf of 240 applications whose operations have been defined in public documents. 241 Therefore the uses of GENINFO MUST be standardized. 243 GENINFO is NOT intended to be used for proprietary or experimental 244 purposes. 246 4. GENINFO Flooding Procedures 248 This section describes procedures which apply to the propagation of 249 LSPs which contain GENINFO TLVs. These procedures have been 250 previously discussed in [RFC4971]. This section is intended to serve 251 as a reference specification for future documents which define the 252 use of GENINFO TLV(s) for a specific application - eliminating the 253 need to repeat the definition of these procedures in the application 254 specific documents. 256 Each GENINFO TLV contains information regarding exactly one 257 application instance as identified by the GENINFO-CTX. When it is 258 necessary to advertise sets of information with the same GENINFO-CTX 259 which have different flooding scopes, a router MUST originate a 260 minimum of one GENINFO TLV for each required flooding scope. GENINFO 261 TLVs which contain information having area/level scope will have the 262 S bit clear. These TLVs MUST NOT be leaked into another level. 263 GENINFO TLVs which contain information which has domain scope will 264 have the S bit set. These TLVs MUST be leaked into other IS-IS 265 levels. When a TLV is leaked from level-2 to level-1, the D bit MUST 266 be set in the level-1 LSP advertisement. 268 4.1. Leaking Procedures 270 When leaking GENINFO TLVs downward from Level-2 into Level-1, if the 271 originator of the TLV is a Level-1 router in another area, it is 272 possible that multiple copies of the same TLV may be received from 273 multiple L2 routers in the originating area. A router performing 274 downward leaking MUST check for such duplication by comparing the 275 contents of the TLVs. The set of LSPs generated by a router for a 276 given level MUST NOT contain two or more copies of the same GENTLV. 278 In order to prevent the use of stale GENINFO information, a system 279 MUST NOT use a GENINFO TLV present in an LSP of a system which is not 280 currently reachable via Level-x paths, where "x" is the level (1 or 281 2) associated with the LSP in which the GENINFO TLV appears. Note 282 that leaking a GENINFO TLV is one of the uses which is prohibited 283 under these conditions. The following example illustrates what might 284 occur in the absence of this restriction. 286 Example: If Level-1 router A generates a GENINFO TLV and floods it to 287 two L1/L2 routers S and T, they will flood it into the Level-2 sub- 288 domain. Now suppose the Level-1 area partitions, such that A and S 289 are in one partition and T is in another. IP routing will still 290 continue to work, but if A now issues a revised version of the 291 GENINFO TLV, or decides to stop advertising it, S will follow suit, 292 but T will continue to advertise the old version until the LSP times 293 out. 295 Routers in other areas have to choose whether to trust T's copy of 296 A's GENINFO TLV or S's copy of A's information and they have no 297 reliable way to choose. By making sure that T stops leaking A's 298 information, this removes the possibility that other routers will use 299 stale information from A. 301 4.2. Minimizing Update Confusion 303 If an update to a TLV is advertised in an LSP with a different number 304 than the LSP associated with the old advertisement, the possibility 305 exists that other systems can temporarily have either 0 copies of a 306 particular advertisement or 2 copies of a particular advertisement, 307 depending on the order in which new copies of the LSP which had the 308 old advertisement and the LSP which has the new advertisement arrive 309 at other systems. 311 Whenever possible, an implementation SHOULD advertise the update to a 312 GENINFO TLV in the LSP with the same number as the advertisement 313 which it replaces. Where this is not possible, the two affected LSPs 314 SHOULD be flooded as an atomic action. 316 Systems which receive an update to an existing GENINFO TLV can 317 minimize the potential disruption associated with the update by 318 employing a holddown time prior to processing the update so as to 319 allow for the receipt of multiple LSPs associated with the same 320 update prior to beginning processing. 322 4.3. Interpreting Attribute Information 324 Where a receiving system has two copies of a GENINFO TLV with the 325 same GENINFO-CTX, attribute information in the two TLVs which does 326 not conflict MUST be considered additive. When information in the 327 two GENINFO TLVs conflicts i.e there are different settings for a 328 given attribute, the procedure used to choose which copy shall be 329 used is undefined. 331 5. Use of a Separate Protocol Instance 333 The use of the IS-IS flooding mechanism as a means of reliably and 334 efficiently propagating information is understandably attractive. 335 However, it is prudent to remember that the primary purpose of that 336 mechanism is to flood information necessary for the correct operation 337 of the IS-IS protocol. Flooding of information not directly related 338 to the use of the IS-IS protocol in support of routing degrades the 339 operation of the protocol. Degradation occurs because the frequency 340 of LSP updates is increased and because the processing of non-routing 341 information in each router consumes resources whose primary 342 responsibility is to efficiently respond to reachability changes in 343 the network. 345 Advertisement of GENINFO therefore SHOULD occur in the context of a 346 non-zero instance of the IS-IS protocol as defined in 347 [I-D.previdi-isis-mi]. The use of a separate instance of the 348 protocol allows both the flooding and the processing of the non- 349 routing information to be decoupled from the information necessary to 350 support correct routing of data in the network. The flooding and 351 processing of non-routing information can then be prioritized 352 appropriately. 354 Use of a separate protocol instance to advertise GENINFO does not 355 eliminate the need to use prudence in the frequency with which such 356 information is updated. One of the most egregious oversights is a 357 failure to appropriately dampen changes in the information to be 358 advertised, which can lead to flooding storms. Documents which 359 specify the use of the mechanisms defined here MUST define the 360 expected rate of change of the information to be advertised. 362 6. Applicability of GENINFO TLV 364 The GENINFO TLV supports the advertisement of application specific 365 information in IS-IS LSPs which is not directly related to the 366 operation of the IS-IS protocol. Information which is not directly 367 used by the IS-IS Decision process falls into this category. The 368 Decision Process is defined by [ISO10589] and extended by [RFC1195] 369 and [RFC3906]. 371 The IS-IS WG of the IETF acts as the authority to determine whether 372 information proposed to be advertised in IS-IS LSPs falls under this 373 definition. 375 The applicability statement above is expected to cover some 376 information currently being advertised by IS-IS in previously defined 377 TLVs. It is expected and seen as desirable that an effort be made to 378 migrate the advertisement of such information to utilize the 379 procedures defined in this document. 381 7. Security Considerations 383 This document raises no new security issues for IS-IS. 385 8. IANA Considerations 387 This document defines a new ISIS TLV that needs to be reflected in 388 the ISIS TLV code-point registry: 390 Type Description IIH LSP SNP 391 ---- ----------------------------------- --- --- --- 392 251 Generic Information n y n 394 This document also defines a new registry which needs to be created. 396 The new registry is required to manage two types of assigned numbers: 398 1)Application Identifiers which may be used in the Generic 399 Information TLV. These identifiers are unsigned 16 bit numbers 400 ranging in value from 1 to 65535. 402 2)Application specific subTLV codepoints which may be used in a 403 GENINFO TLV when a specific Application Identifier is used. These 404 numbers are unsigned 8 bit numbers ranging in value from 0 to 255. 406 9. Acknowledgements 408 The authors would like to thank JP Vasseur and David Ward for 409 providing the need to produce this document and Tony Li for making 410 sure it was done with appropriate wisdom and prudence. 412 10. References 414 10.1. Normative References 416 [ISO10589] 417 International Organization for Standardization, 418 "Intermediate system to Intermediate system intra-domain 419 routeing information exchange protocol for use in 420 conjunction with the protocol for providing the 421 connectionless-mode Network Service (ISO 8473)", ISO/ 422 IEC 10589:2002, Second Edition, Nov 2002. 424 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 425 dual environments", RFC 1195, December 1990. 427 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 428 Requirement Levels", BCP 14, RFC 2119, March 1997. 430 [RFC4971] Vasseur, JP., Shen, N., and R. Aggarwal, "Intermediate 431 System to Intermediate System (IS-IS) Extensions for 432 Advertising Router Information", RFC 4971, July 2007. 434 10.2. Informative References 436 [I-D.previdi-isis-mi] 437 Previdi, S., "IS-IS Multi-instance", 438 draft-previdi-isis-mi-00 (work in progress), May 2007. 440 [RFC3784] Smit, H. and T. Li, "Intermediate System to Intermediate 441 System (IS-IS) Extensions for Traffic Engineering (TE)", 442 RFC 3784, June 2004. 444 [RFC3906] Shen, N. and H. Smit, "Calculating Interior Gateway 445 Protocol (IGP) Routes Over Traffic Engineering Tunnels", 446 RFC 3906, October 2004. 448 Authors' Addresses 450 Les Ginsberg 451 Cisco Systems 452 510 McCarthy Blvd. 453 Milpitas, Ca. 95035 454 USA 456 Email: ginsberg@cisco.com 458 Stefano Previdi 459 Cisco Systems 460 Via Del Serafico 200 461 00142 - Roma, 462 Italy 464 Email: sprevidi@cisco.com 466 Mike Shand 467 Cisco Systems 468 250, Longwater Avenue. 469 Reading, Berks RG2 6GB 470 UK 472 Email: mshand@cisco.com 474 Full Copyright Statement 476 Copyright (C) The IETF Trust (2008). 478 This document is subject to the rights, licenses and restrictions 479 contained in BCP 78, and except as set forth therein, the authors 480 retain all their rights. 482 This document and the information contained herein are provided on an 483 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 484 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 485 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 486 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 487 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 488 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 490 Intellectual Property 492 The IETF takes no position regarding the validity or scope of any 493 Intellectual Property Rights or other rights that might be claimed to 494 pertain to the implementation or use of the technology described in 495 this document or the extent to which any license under such rights 496 might or might not be available; nor does it represent that it has 497 made any independent effort to identify any such rights. Information 498 on the procedures with respect to rights in RFC documents can be 499 found in BCP 78 and BCP 79. 501 Copies of IPR disclosures made to the IETF Secretariat and any 502 assurances of licenses to be made available, or the result of an 503 attempt made to obtain a general license or permission for the use of 504 such proprietary rights by implementers or users of this 505 specification can be obtained from the IETF on-line IPR repository at 506 http://www.ietf.org/ipr. 508 The IETF invites any interested party to bring to its attention any 509 copyrights, patents or patent applications, or other proprietary 510 rights that may cover technology that may be required to implement 511 this standard. Please address the information to the IETF at 512 ietf-ipr@ietf.org.