idnits 2.17.1 draft-ietf-ospf-encapsulation-cap-09.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 date (October 9, 2017) is 2353 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 (-22) exists of draft-ietf-idr-tunnel-encaps-07 -- Obsolete informational reference (is this intentional?): RFC 5512 (Obsoleted by RFC 9012) Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 OSPF Working Group X. Xu, Ed. 3 Internet-Draft Huawei 4 Intended status: Standards Track B. Decraene, Ed. 5 Expires: April 12, 2018 Orange 6 R. Raszuk 7 Bloomberg LP 8 L. Contreras 9 Telefonica I+D 10 L. Jalil 11 Verizon 12 October 9, 2017 14 The Tunnel Encapsulations OSPF Router Information 15 draft-ietf-ospf-encapsulation-cap-09 17 Abstract 19 Networks use tunnels for a variety of reasons. A large variety of 20 tunnel types are defined and the tunnel encapsulator router needs to 21 select a type of tunnel which is supported by the tunnel decapsulator 22 router. This document defines how to advertise, in OSPF Router 23 Information Link State Advertisement (LSAs), the list of tunnel 24 encapsulations supported by the tunnel decapsulator. 26 Requirements Language 28 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 29 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 30 document are to be interpreted as described in RFC 2119 [RFC2119]. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at https://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on April 12, 2018. 49 Copyright Notice 51 Copyright (c) 2017 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (https://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 68 3. Tunnel Encapsulations TLV . . . . . . . . . . . . . . . . . . 3 69 4. Tunnel Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . 3 70 5. Tunnel Parameter Sub-TLVs . . . . . . . . . . . . . . . . . . 4 71 5.1. Encapsulation Sub-TLV . . . . . . . . . . . . . . . . . . 5 72 5.2. Protocol Type Sub-TLV . . . . . . . . . . . . . . . . . . 5 73 5.3. Endpoint Sub-TLV . . . . . . . . . . . . . . . . . . . . 5 74 5.4. Color Sub-TLV . . . . . . . . . . . . . . . . . . . . . . 6 75 5.5. Load-Balancing Block Sub-TLV . . . . . . . . . . . . . . 6 76 5.6. IP QoS Field . . . . . . . . . . . . . . . . . . . . . . 6 77 5.7. UDP Destination Port . . . . . . . . . . . . . . . . . . 7 78 6. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 7 79 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 80 7.1. OSPF Router Information . . . . . . . . . . . . . . . . . 7 81 7.2. Tunnel Parameter Sub-TLVs Registry . . . . . . . . . . . 7 82 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 83 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 84 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 85 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 86 11.1. Normative References . . . . . . . . . . . . . . . . . . 9 87 11.2. Informative References . . . . . . . . . . . . . . . . . 10 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 90 1. Introduction 92 Networks use tunnels for a variety of reasons, such as: 94 o Partial deployment of IPv6 in IPv4 networks or IPv4 in IPv6 95 networks as described in [RFC5565], where IPvx tunnels are used 96 between IPvx-enabled routers so as to traverse non-IPvx routers. 98 o Remote Loop-Free Alternate (RLFA) repair tunnels as described in 99 [RFC7490], where tunnels are used between the Point of Local 100 Repair and the selected PQ node. 102 The tunnel encapsulator router needs to select a type of tunnel which 103 is supported by the tunnel decapsulator router. This document 104 defines how to advertise, in OSPF Router Information Link State 105 Advertisement (LSAs), the list of tunnel encapsulations supported by 106 the tunnel decapsulator. In this document, OSPF refers to both 107 OSPFv2 [RFC2328] and OSPFv3 [RFC5340]. 109 2. Terminology 111 This memo makes use of the terms defined in [RFC7770]. 113 3. Tunnel Encapsulations TLV 115 Routers advertise their supported tunnel encapsulation type(s) by 116 advertising a new TLV of the OSPF Router Information (RI) Opaque LSA 117 [RFC7770], referred to as the Tunnel Encapsulations TLV. This TLV is 118 applicable to both OSPFv2 and OSPFv3. 120 The Type code of the Tunnel Encapsulations is TBD1, the Length value 121 is variable, and the Value field contains one or more Tunnel Sub-TLVs 122 as defined in Section 4. Each Tunnel Sub-TLV indicates a particular 123 encapsulation format that the advertising router supports along with 124 the parameters corresponding to the tunnel type. 126 The Tunnel Encapsulations TLV MAY appear more than once within a 127 given OSPF Router Information (RI) Opaque LSA. If the Tunnel 128 Encapsulations TLV appears more than once in an OSPF Router 129 Information LSA, the set of all Tunnel Sub-TLVs from all Tunnel 130 Encapsulations TLV SHOULD be considered. The scope of the 131 advertisement depends on the application but it is recommended that 132 it SHOULD be domain-wide. 134 4. Tunnel Sub-TLV 136 The Tunnel Sub-TLV is structured as follows: 138 0 1 2 3 139 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 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 141 | Tunnel Type (2 Octets) | Length (2 Octets) | 142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 143 | | 144 | Tunnel Parameter Sub-TLVs | 145 | | 146 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 148 Figure 1: Tunnel Sub-TLV 150 Tunnel Type (2 octets): Identifies the type of tunneling 151 technology signaled. Tunnel types are shared with the BGP 152 extension [I-D.ietf-idr-tunnel-encaps] and hence are defined in 153 the IANA registry "BGP Tunnel Encapsulation Attribute Tunnel 154 Types". Unknown Tunnel types are to be ignored upon receipt. 156 Length (2 octets): Unsigned 16-bit integer indicating the total 157 number of octets of the value field. 159 Value (variable): Zero or more Tunnel Parameter Sub-TLVs as 160 defined in Section 5. 162 If a Tunnel Sub-TLV is invalid, it MUST be ignored and skipped. 163 However, other Tunnel Sub-TLVs MUST be considered 165 5. Tunnel Parameter Sub-TLVs 167 A Tunnel Parameter Sub-TLV is structured as follows: 169 +---------------------------------------------+ 170 | Tunnel Parameter Sub-Type (2 Octets) | 171 +---------------------------------------------+ 172 | Tunnel Parameter Length (2 Octets) | 173 +---------------------------------------------+ 174 | Tunnel Parameter Value (Variable) | 175 | | 176 +---------------------------------------------+ 178 Figure 2: Tunnel Parameter Sub-TLV 180 Tunnel Parameter Sub-Type (2 octets): Each sub-type defines a 181 parameter of the Tunnel Sub-TLV. Sub-Types are registered in the 182 IANA registry "OSPF Tunnel Parameter Sub-TLVs" Section 7.2. 184 Tunnel Parameter Length (2 octets): Unsigned 16-bit integer 185 indicating the total number of octets of the Tunnel Parameter 186 Value field. 188 Tunnel Parameter Value (variable): Encodings of the value field 189 depend on the Sub-TLV type as enumerated above. The following 190 sub-sections define the encoding in detail. 192 Any unknown Tunnel Parameter Sub-Type MUST be ignored and skipped 193 upon receipt. When a reserved value (See Section 7.2) is seen in an 194 LSA, it MUST be treated as an invalid Tunnel Parameter Sub-TLV. When 195 a Tunnel Parameter Value has an incorrect syntax or semantic, it MUST 196 be treated as an invalid Tunnel Parameter Sub-TLV. If a Tunnel 197 Parameter Sub-TLV is invalid, its Tunnel Sub-TLV MUST be ignored. 198 However, other Tunnel Sub-TLVs MUST be considered. 200 5.1. Encapsulation Sub-TLV 202 This Sub-TLV type is 1. The syntax, semantic, and usage of its value 203 field are defined in Section 3.2 "Encapsulation Sub-TLVs for 204 Particular Tunnel Types" of [I-D.ietf-idr-tunnel-encaps]. 206 5.2. Protocol Type Sub-TLV 208 This Sub-TLV type is 2. The syntax, semantic, and usage of its value 209 field are defined in Section 3.4.1 "Protocol Type sub-TLV" of 210 [I-D.ietf-idr-tunnel-encaps]. 212 5.3. Endpoint Sub-TLV 214 This Sub-TLV type is 3. It MUST be present once and only once in a 215 given Tunnel Sub-TLV. The value field contain two sub-fields: 217 a two-octet Address Family sub-field 219 an Address sub-field, whose length depends upon the Address 220 Family. 222 0 1 2 3 223 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 224 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 225 | Address Family | Address ~ 226 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 227 ~ (Variable length) ~ 228 | | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 Figure 3: Endpoint Sub-TLV 233 The Address Family subfield contains a value from IANA's "Address 234 Family Numbers" registry. In this document, we assume that the 235 Address Family is either IPv4 or IPv6; use of other address families 236 is outside the scope of this document. 238 If the Address Family subfield contains the value for IPv4, the 239 address subfield MUST contain an IPv4 address (a /32 IPv4 prefix). 240 In this case, the length field of Remote Endpoint sub-TLV MUST 241 contain the value 6. 243 If the Address Family subfield contains the value for IPv6, the 244 address sub-field MUST contain an IPv6 address (a /128 IPv6 prefix). 245 In this case, the length field of Remote Endpoint sub-TLV MUST 246 contain the value 18 (0x12). IPv6 link local addresses are not valid 247 values of the IP address field. 249 5.4. Color Sub-TLV 251 This Sub-TLV type is 4. It may appear zero or more time in a given 252 Tunnel Sub-TLV. The value field is a 4-octet opaque unsigned 253 integer. 255 The color value is user-defined and configured locally on the 256 advertising routers. It may be used by service providers to define 257 policies on the tunnel encapsulator routers, for example, to control 258 the selection of the tunnel to use. 260 This color value can be referenced by BGP routes carrying Color 261 Extended Community [I-D.ietf-idr-tunnel-encaps]. If the tunnel is 262 used to reach the BGP Next-Hop of BGP routes, then attaching a Color 263 Extended Community to those routes express the willingness of the BGP 264 speaker to use a tunnel of the same color. 266 5.5. Load-Balancing Block Sub-TLV 268 This Sub-TLV type is 5. The syntax, semantic, and usage of its value 269 field are defined in [RFC5640]. 271 5.6. IP QoS Field 273 This Sub-TLV type is 6. The syntax, semantic, and usage of its value 274 field are defined in Section 3.3.1 "IPv4 DS Field" of 275 [I-D.ietf-idr-tunnel-encaps]. 277 5.7. UDP Destination Port 279 This Sub-TLV type is 7. The syntax, semantic, and usage of its value 280 field are defined in Section 3.3.2 "UDP Destination Port" of 281 [I-D.ietf-idr-tunnel-encaps]. 283 6. Operation 285 The advertisement of a Tunnel Encapsulations Sub-TLV indicates that 286 the advertising router supports a particular tunnel decapsulation 287 along with the parameters to be used for the tunnel. The decision to 288 use that tunnel is driven by the capability of the tunnel 289 encapsulator router to support the encapsulation type and the policy 290 on the tunnel encapsulator router. The Color Sub-TLV (See 291 Section 5.4) may be used as an input to this policy. Note that some 292 tunnel types may require the execution of an explicit tunnel setup 293 protocol before they can be used to transit data. 295 A tunnel MUST NOT be used if there is no route toward the IP address 296 specified in the Endpoint Sub-TLV (See Section 5.3) or if the route 297 is not advertised in the same OSPF domain. 299 7. IANA Considerations 301 7.1. OSPF Router Information 303 This document requests IANA to allocate a new code point from the 304 OSPF Router Information (RI) registry. 306 Value TLV Name Reference 307 ----- ---------------------- ------------- 308 TBD1 Tunnel Encapsulations This document 310 Figure 4: Tunnel Encapsulation Router Information 312 7.2. Tunnel Parameter Sub-TLVs Registry 314 This document requests IANA to create, under "Open Shortest Path 315 First (OSPF) Parameters", a new registry "OSPF Tunnel Parameter Sub- 316 TLVs" with the following registration procedure: 318 The values in the range 1-34999 are to be allocated using the 319 "Standards Action" registration procedure as defined in [RFC8126]. 321 The values in the range 35000-65499 are to be allocated using the 322 "First Come, First Served" registration procedure. 324 Registry Name: OSPF Tunnel Parameter Sub-TLVs 326 Value Name Reference 327 ----------- -------------------- ------------------------------ 328 0 Reserved This document 329 1 Encapsulation This document 330 & [I-D.ietf-idr-tunnel-encaps] 331 2 Protocol Type This document 332 & [I-D.ietf-idr-tunnel-encaps] 333 3 Endpoint This document 334 4 Color This document 335 5 Load-Balancing Block This document & [RFC5640] 336 6 IP QoS This document 337 & [I-D.ietf-idr-tunnel-encaps] 338 7 UDP Destination Port This document 339 & [I-D.ietf-idr-tunnel-encaps] 340 8-65499 Unassigned 341 65500-65534 Experimental This document 342 65535 Reserved This document 344 Figure 5: OSPF Tunnel Parameter Sub-TLVs Registry 346 8. Security Considerations 348 Security considerations applicable to softwires can be found in the 349 mesh framework [RFC5565]. In general, security issues of the tunnel 350 protocols signaled through this OSPF capability extension are 351 inherited. 353 If a third-party is able to modify any of the information that is 354 used to form encapsulation headers, to choose a tunnel type, or to 355 choose a particular tunnel for a particular payload type, user data 356 packets may end up getting misrouted, mis-delivered, and/or dropped. 357 However, since an OSPF routing domain is usually a well-controlled 358 network under a single administrative domain, the possibility of the 359 above attack is very low. 361 We note that the last paragraph of Section 6 forbid the establishment 362 of a tunnel toward arbitrary destinations. It prohibits a 363 destination outside of the OSPF domain. This avoid that a third- 364 party gaining access to an OSPF router be able to send the traffic to 365 other destinations, e.g., for inspection purposes. 367 Security considerations for the base OSPF protocol are covered in 368 [RFC2328] and [RFC5340]. 370 9. Contributors 372 Uma Chunduri 373 Huawei 374 Email: uma.chunduri@gmail.com 376 10. Acknowledgements 378 This document is partially inspired by [RFC5512]. 380 The authors would like to thank Greg Mirsky, John E Drake, Carlos 381 Pignataro and Karsten Thomann for their valuable comments on this 382 document. Special thanks should be given to Acee Lindem for his 383 multiple detailed reviews of this document and help. The authors 384 would like to thank Pete Resnick, Joe Touch, David Mandelberg, 385 Sabrina Tanamal, Tim Wicinski, Amanda Baber for their Last Call 386 reviews and thank Spencer Dawkins, Mirja Kuehlewind, Ben Campbell, 387 Benoit Claise, Alvaro Retana, Adam Roach and Suresh Krishnan for 388 their AD reviews. 390 11. References 392 11.1. Normative References 394 [I-D.ietf-idr-tunnel-encaps] 395 Rosen, E., Patel, K., and G. Velde, "The BGP Tunnel 396 Encapsulation Attribute", draft-ietf-idr-tunnel-encaps-07 397 (work in progress), July 2017. 399 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 400 Requirement Levels", BCP 14, RFC 2119, 401 DOI 10.17487/RFC2119, March 1997, 402 . 404 [RFC5640] Filsfils, C., Mohapatra, P., and C. Pignataro, "Load- 405 Balancing for Mesh Softwires", RFC 5640, 406 DOI 10.17487/RFC5640, August 2009, 407 . 409 [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and 410 S. Shaffer, "Extensions to OSPF for Advertising Optional 411 Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, 412 February 2016, . 414 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 415 Writing an IANA Considerations Section in RFCs", BCP 26, 416 RFC 8126, DOI 10.17487/RFC8126, June 2017, 417 . 419 11.2. Informative References 421 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, 422 DOI 10.17487/RFC2328, April 1998, 423 . 425 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 426 for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, 427 . 429 [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation 430 Subsequent Address Family Identifier (SAFI) and the BGP 431 Tunnel Encapsulation Attribute", RFC 5512, 432 DOI 10.17487/RFC5512, April 2009, 433 . 435 [RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh 436 Framework", RFC 5565, DOI 10.17487/RFC5565, June 2009, 437 . 439 [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. 440 So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", 441 RFC 7490, DOI 10.17487/RFC7490, April 2015, 442 . 444 Authors' Addresses 446 Xiaohu Xu (editor) 447 Huawei 449 Email: xuxiaohu@huawei.com 451 Bruno Decraene (editor) 452 Orange 454 Email: bruno.decraene@orange.com 456 Robert Raszuk 457 Bloomberg LP 459 Email: robert@raszuk.net 460 Luis M. Contreras 461 Telefonica I+D 463 Email: luismiguel.contrerasmurillo@telefonica.com 465 Luay Jalil 466 Verizon 468 Email: luay.jalil@verizon.com