RFC 7580

OSPF-TE Extensions for General Network Element Constraints

πŸ“… published June 2015, from ietf

OSPF-TE Extensions for General Network Element Constraints πŸŽ€

okay bestie, this is RFC 7580 πŸ’– It's a Standards Track doc (so it's the real deal, not an experiment πŸ‘‘), dated June 2015, with ISSN 2070-1721. The authors are F. Zhang, Y. Lee, J. Han, and G. Bernstein, plus Y. Xu 🫢. Huawei (F. Zhang, Y. Lee, J. Han), Grotto Networking (G. Bernstein), and CATR (Y. Xu) all helped write it. It doesn't list anything it obsoletes or updates, so it's a fresh start ✨


Abstract 🌈

so GMPLS can control a whole buffet of tech πŸ“: packet switching (like MPLS), time division (like SONET/SDH and OTN), wavelengths (lambdas), and spatial switching (going from an incoming port or fiber to an outgoing port or fiber). In some of these techs, network elements and links come with extra routing constraints like asymmetric switch connectivity, non-local label assignment, and label range limits on links. This doc describes OSPF routing extensions that support these constraints under GMPLS control πŸ’…

Status of This Memo ✨

this is an Internet Standards Track document πŸ”₯ It's a product of the IETF, it represents the consensus of the IETF community, it got public review, and the IESG approved it for publication. For more on Internet Standards, check Section 2 of RFC 5741. Info about its current status, any errata, and how to send feedback lives at http://www.rfc-editor.org/info/rfc7580 🧚

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they're in effect on the date of publication. please read these carefully, because they spell out your rights and restrictions for this doc πŸ™ˆ Code Components pulled out of this doc must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License.

Table of Contents πŸ“

1. Introduction ....................................................3
   1.1. Conventions Used in This Document ..........................3
2. Node Information ................................................3
   2.1. Connectivity Matrix ........................................4
3. Link Information ................................................4
   3.1. Port Label Restrictions ....................................5
4. Routing Procedures ..............................................5
5. Scalability and Timeliness ......................................6
   5.1. Different Sub-TLVs into Multiple LSAs ......................6
   5.2. Decomposing a Connectivity Matrix into Multiple Matrices ...6
6. Security Considerations .........................................7
7. Manageability ...................................................7
8. IANA Considerations .............................................8
   8.1. Node Information ...........................................8
   8.2. Link Information ...........................................8
9. References ......................................................9
   9.1. Normative References .......................................9
   9.2. Informative References ....................................10
Acknowledgments ...................................................11
Contributors ......................................................11
Authors' Addresses ................................................12

1. Introduction πŸ¦‹

okay so some data-plane techs need a GMPLS control plane, and those techs come with extra constraints on switching capability and label assignment πŸ’… Some of them should also be able to do non-local label assignment because of what the tech is. Wavelength continuity in Wavelength Switched Optical Networks (WSONs) [RFC6163] is the classic example. Constraints like these can mean you need link-by-link label availability for path computation and label assignment, and that's a lot to juggle 😭

[RFC7579] gives efficient encodings for the info that the routing and label assignment process needs in techs like WSON πŸŽ€ Those encodings could also fit a wider range of techs. They're protocol-neutral, so you can use them in routing, signaling, and/or Path Computation Element communication protocol extensions ✨

this doc extends OSPF based on [RFC7579] to level up the Traffic Engineering (TE) properties of GMPLS TE that are defined in [RFC3630], [RFC4202], and [RFC4203] 🌸 The enhancements to TE properties of GMPLS TE links get advertised in OSPF-TE Link State Advertisements (LSAs). The TE LSA is an opaque LSA with area flooding scope [RFC3630]. It has only one top-level Type-Length-Value (TLV) triplet, plus one or more nested sub-TLVs for extensibility. The top-level TLV can be Router Address [RFC3630], Link [RFC3630], or Node Attribute [RFC5786]. In this doc, we enhance the sub-TLVs for the Link TLV to support general network element constraints under GMPLS πŸ’–

the detailed encoding of the OSPF extensions isn't defined in this doc. [RFC7579] has the encoding details 🧚

1.1. Conventions Used in This Document πŸ’œ

the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] 🫢

2. Node Information 🌈

according to [RFC7579], the extra node info for node switching asymmetry constraints includes the device type and the connectivity matrix. The device type is defined in [RFC7579], and the other pieces are defined in this doc πŸ’…

per [RFC7579], this doc defines the Connectivity Matrix sub-TLV of the Node Attribute TLV defined in [RFC5786]. The new sub-TLV has Type 14 πŸ”₯

depending on the control-plane implementation being used, the Connectivity Matrix sub-TLV may be optional in some specific technologies, e.g., WSON networks. Usually, for example, in WSON networks, the Connectivity Matrix sub-TLV may be advertised in the LSAs, since WSON switches are currently asymmetric. If no Connectivity Matrix sub-TLV is included, it is assumed that the switches support symmetric switching πŸ™ˆ

2.1. Connectivity Matrix πŸ“

if the switching devices supporting a certain data-plane tech are asymmetric, it's necessary to identify which input ports and labels can be switched to some specific labels on a specific output port πŸ‘‘

the connectivity matrix is how you track these restrictions. It can represent either the potential connectivity matrix for asymmetric switches (e.g., Reconfigurable Optical Add/Drop Multiplexers (ROADMs) and such), or fixed connectivity for an asymmetric device like a multiplexer as defined in [RFC7446] 🧚

the Connectivity Matrix is a sub-TLV of the Node Attribute TLV. The length is the length of the value field in octets. The meaning and format of this sub-TLV value field are defined in Section 2.1 of [RFC7579]. One sub-TLV contains one matrix. The Connectivity Matrix sub-TLV may occur more than once to contain multiple matrices within the Node Attribute TLV. And a large connectivity matrix can be decomposed into smaller sub-matrices for transmission in multiple LSAs, as described in Section 5 ✨

the most common link sub-TLVs nested in the top-level Link TLV are already defined in [RFC3630] and [RFC4203]. For example, Link ID, Administrative Group, Interface Switching Capability Descriptor (ISCD), Link Protection Type, Shared Risk Link Group (SRLG), and Traffic Engineering Metric are among the typical link sub-TLVs πŸ¦‹

per [RFC7579], this doc defines the Port Label Restrictions sub-TLV of the Link TLV defined in [RFC3630]. The new sub-TLV has Type 34 🌸

generally, all the sub-TLVs above are optional, depending on the control-plane implementations being used. The Port Label Restrictions sub-TLV will not be advertised when there are no restrictions on label assignment 🫢

3.1. Port Label Restrictions πŸŽ€

port label restrictions describe the label restrictions that the network element (node) and link may impose on a port. These restrictions represent what labels may or may not be used on a link, and they're intended to be relatively static. For increased modeling flexibility, port label restrictions may be specified relative to the port in general or to a specific connectivity matrix πŸ’…

for example, the port label restrictions describe the wavelength restrictions that the link and various optical devices, such as Optical Cross-Connects (OXCs), ROADMs, and waveband multiplexers, may impose on a port in WSON. These restrictions represent which wavelengths may or may not be used on a link, and they're relatively static. Detailed info about port label restrictions is in [RFC7446] 🌈

the Port Label Restrictions sub-TLV is a sub-TLV of the Link TLV. The length is the length of the value field in octets. The meaning and format of this sub-TLV value field are defined in Section 2.2 of [RFC7579]. The Port Label Restrictions sub-TLV may occur more than once to specify a complex port constraint within the Link TLV πŸ”₯

4. Routing Procedures ✨

all sub-TLVs are nested in top-level TLV(s) and contained in Opaque LSAs. The flooding rules for Opaque LSAs are specified in [RFC2328], [RFC5250], [RFC3630], and [RFC4203] πŸ’…

considering the routing scalability issues in some cases, the routing protocol should be capable of separating dynamic info from relatively static info. That way it avoids unnecessary updates of static info when dynamic info changes 😭 A standards-compliant approach is to separate the dynamic info sub-TLVs from the static info sub-TLVs, with each nested in a separate top-level TLV (see [RFC3630] and [RFC5786]), and then advertise them in separate OSPF-TE LSAs 🧚

for node info, since the connectivity matrix info is static, the LSA containing the Node Attribute TLV can be updated at a lower frequency to avoid unnecessary updates πŸ“

for link info, a mechanism MAY be applied so that static info and dynamic info for one TE link are contained in separate Opaque LSAs. For example, the Port Label Restrictions sub-TLV could be nested in separate top-level Link TLVs and advertised in separate LSAs πŸ’œ

as with other TE info, an implementation typically takes measures to avoid rapid and frequent updates of routing info that could cause the routing network to become swamped πŸ™ˆ See Section 3 of [RFC3630] for related details πŸ¦‹

5. Scalability and Timeliness ✨

okay so this doc defines two sub-TLVs for describing generic routing constraints πŸŽ€. [RFC7579] shows that really big systems (lots of labels or ports) can be encoded super efficiently πŸ”₯. BUT, some people were worried that certain systems could make LSAs that go over the IP Maximum Transmission Unit (MTU) 😭. So this section gives some techniques for splitting general constraint LSAs into smaller ones that fit under the MTU limit 🫢

5.1. Different Sub-TLVs into Multiple LSAs

okay the two sub-TLVs defined here are:

  1. Connectivity Matrix (carried in the Node Attribute TLV)
  2. Port Label Restrictions (carried in the Link TLV)

the Connectivity Matrix sub-TLV can ride in the Node Attribute TLV (as defined in [RFC5786]) πŸ’…, while the Port Label Restrictions sub-TLV goes in a Link TLV, and there can be at most one of those in an LSA (as defined in [RFC3630]) 🌸. quick note: port label restrictions are pretty static 🧚. they'd only change with hardware changes or a big system reconfiguration, so they're not exactly a daily drama πŸ™ˆ

5.2. Decomposing a Connectivity Matrix into Multiple Matrices

in the highly unlikely event that a Connectivity Matrix sub-TLV by itself would make an LSA that goes over the MTU πŸ’€, you can split one big matrix into sub-matrices πŸ¦‹. per [RFC7579], a connectivity matrix is just pairs of input and output ports that can reach each other, so splitting it is literally straightforward ✨. each sub-matrix gets its own unique matrix identifier per [RFC7579] πŸŽ€

now here's the tea β˜•. from a path computation process's point of view, before it gets any LSA with a Connectivity Matrix sub-TLV, there are no connectivity restrictions assumed. it's the standard GMPLS vibe where any port can reach any port 🌈. once a Connectivity Matrix sub-TLV shows up, path computation knows connectivity is restricted, and it uses the info from all the Connectivity Matrix sub-TLVs it's received to figure out the complete connectivity potential of the system πŸ‘‘

but the timing can be messy 😭. before any Connectivity Matrix sub-TLVs arrive, path computation may compute a path through the system when, in fact, no path exists πŸ’€. and in between getting an additional Connectivity Matrix sub-TLV, path computation may not be able to find a path through the system even when one actually exists πŸ™ˆ. both of these situations are already encountered and handled with existing GMPLS mechanisms 🫢. the good news: thanks to the reliability mechanisms in OSPF, late or missing Connectivity Matrix sub-TLVs should be relatively rare πŸ¦‹

last thing, and it's important πŸ”₯. if the new sub-TLVs or their attendant encodings are malformed, the proper action is to log the problem and ignore just the sub-TLVs in GMPLS path computations πŸ’…. do NOT ignore the entire LSA. (the entire LSA is not the problem bestie, just the sub-TLVs πŸŽ€)

Wait, I need to keep the original wording exact here, so I'll correct that last line: the proper action would be to log the problem and ignore just the sub-TLVs in GMPLS path computations rather than ignoring the entire LSA πŸ’….

6. Security Considerations πŸ’€

this document doesn't introduce any further security issues other than the ones already discussed in [RFC3630], [RFC4203], and [RFC5250] πŸ”. for general security aspects that matter for GMPLS-controlled networks, go check [RFC5920] πŸ›‘οΈ. this part is serious, besties, so read those first 😀

7. Manageability 🧁

ngl, no existing management tools handle the additional TE parameters defined in this document and distributed in OSPF-TE 😭. the existing MIB module in [RFC6825] lets you read the TE information that OSPF-TE distributes from a network node πŸ‘€. that MIB module could be augmented (possibly with a sparse augmentation) to report this new info 🫢

the current IETF environment favors the Network Configuration Protocol (NETCONF) [RFC6241] and YANG [RFC6020] over SNMP and MIB modules πŸ’…. work is in progress in the TEAS working group on a YANG module to represent the generic TE information that may be present in a Traffic Engineering Database (TED) 🌸. this model may be extended to handle the additional information described in this document, so that info can be read from network devices or exchanged between consumers of the TED ✨. also, link-state export using BGP [BGP-LS] lets you export TE information from a network using BGP πŸ¦‹. it could realistically be done to extend BGP-LS to carry the information defined in this document too 🌈

it's not envisaged that the extensions in this document will place substantial additional requirements on Operations, Administration, and Maintenance (OAM) mechanisms currently used to diagnose and debug OSPF systems 🧚. however, tools that examine the contents of opaque LSAs will need to be enhanced to handle these new sub-TLVs πŸ› οΈ so keep that in mind!

8. IANA Considerations πŸ“‹

IANA has allocated new sub-TLVs as defined in Sections 2 and 3 as follows:

8.1. Node Information

IANA maintains the "Open Shortest Path First (OSPF) Traffic Engineering TLVs" registry πŸ—‚οΈ with a sub-registry called "Types for sub-TLVs of TE Node Attribute TLV (Value 5)". IANA has assigned a new code point as follows:

      Type   |  Sub-TLV                      |  Reference
      -------+-------------------------------+------------
       14    |  Connectivity Matrix          |  [RFC7580]

IANA maintains the "Open Shortest Path First (OSPF) Traffic Engineering TLVs" registry πŸ—‚οΈ with a sub-registry called "Types for sub-TLVs of TE Link TLV (Value 2)". IANA has assigned a new code point as follows:

      Type   |  Sub-TLV                      |  Reference
      -------+-------------------------------+------------
        34   |  Port Label Restrictions      |  [RFC7580]

9. References πŸ“š

9.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <http://www.rfc-editor.org/info/rfc2119>.

[RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328,
           DOI 10.17487/RFC2328, April 1998,
           <http://www.rfc-editor.org/info/rfc2328>.

[RFC3630]  Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
           (TE) Extensions to OSPF Version 2", RFC 3630,
           DOI 10.17487/RFC3630, September 2003,
           <http://www.rfc-editor.org/info/rfc3630>.

[RFC4202]  Kompella, K., Ed., and Y. Rekhter, Ed., "Routing
           Extensions in Support of Generalized Multi-Protocol Label
           Switching (GMPLS)", RFC 4202, DOI 10.17487/RFC4202,
           October 2005, <http://www.rfc-editor.org/info/rfc4202>.

[RFC4203]  Kompella, K., Ed., and Y. Rekhter, Ed., "OSPF Extensions
           in Support of Generalized Multi-Protocol Label Switching
           (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005,
           <http://www.rfc-editor.org/info/rfc4203>.

[RFC5250]  Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
           OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250,
           July 2008, <http://www.rfc-editor.org/info/rfc5250>.

[RFC5786]  Aggarwal, R. and K. Kompella, "Advertising a Router's
           Local Addresses in OSPF Traffic Engineering (TE)
           Extensions", RFC 5786, DOI 10.17487/RFC5786, March 2010,
           <http://www.rfc-editor.org/info/rfc5786>.

[RFC7579]  Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
           J. Han, "General Network Element Constraint Encoding for
           GMPLS-Controlled Networks", RFC 7579,
           DOI 10.17487/RFC7579, June 2015,
           <http://www.rfc-editor.org/info/rfc7579>.

9.2. Informative References

[BGP-LS]   Gredler, H., Medved, J., Previdi, S., Farrel, A., and S.
           Ray, "North-Bound Distribution of Link-State and TE
           Information using BGP", Work in Progress,
           draft-ietf-idr-ls-distribution-11, June 2015.

[RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
           the Network Configuration Protocol (NETCONF)", RFC 6020,
           DOI 10.17487/RFC6020, October 2010,
           <http://www.rfc-editor.org/info/rfc6020>.

[RFC6163]  Lee, Y., Ed., Bernstein, G., Ed., and W. Imajuku,
           "Framework for GMPLS and Path Computation Element (PCE)
           Control of Wavelength Switched Optical Networks (WSONs)",
           RFC 6163, DOI 10.17487/RFC6163, April 2011,
           <http://www.rfc-editor.org/info/rfc6163>.

[RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
           and A. Bierman, Ed., "Network Configuration Protocol
           (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
           <http://www.rfc-editor.org/info/rfc6241>.

[RFC6825]  Miyazawa, M., Otani, T., Kumaki, K., and T. Nadeau,
           "Traffic Engineering Database Management Information Base
           in Support of MPLS-TE/GMPLS", RFC 6825,
           DOI 10.17487/RFC6825, January 2013,
           <http://www.rfc-editor.org/info/rfc6825>.

[RFC7446]  Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
           "Routing and Wavelength Assignment Information Model for
           Wavelength Switched Optical Networks", RFC 7446,
           DOI 10.17487/RFC7446, February 2015,
           <http://www.rfc-editor.org/info/rfc7446>.

[RFC5920]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
           Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010,
           <http://www.rfc-editor.org/info/rfc5920>.

Acknowledgments 🫢

We thank Ming Chen and Yabin Ye from DICONNET Project who provided valuable information for this document πŸ’–

Contributors 🌷

Guoying Zhang
China Academy of Telecommunication Research of MII
11 Yue Tan Nan Jie
Beijing
China
Phone: +86-10-68094272
EMail: zhangguoying@mail.ritt.com.cn

Dan Li
Huawei Technologies Co., Ltd.
F3-5-B R&D Center, Huawei Base
Bantian, Longgang District
Shenzhen 518129
China
Phone: +86-755-28973237
EMail: danli@huawei.com

Ming Chen
European Research Center
Huawei Technologies
Riesstr. 25, 80992
Munchen
Germany
Phone: 0049-89158834072
EMail: minc@huawei.com

Yabin Ye
European Research Center
Huawei Technologies
Riesstr. 25, 80992
Munchen
Germany
Phone: 0049-89158834074
EMail: yabin.ye@huawei.com

Authors' Addresses 🧚

Fatai Zhang
Huawei Technologies
F3-5-B R&D Center, Huawei Base
Bantian, Longgang District
Shenzhen 518129
China
Phone: +86-755-28972912
EMail: zhangfatai@huawei.com

Young Lee
Huawei Technologies
5360 Legacy Drive, Building 3
Plano, TX 75023
United States
Phone: (469)277-5838
EMail: leeyoung@huawei.com

Jianrui Han
Huawei Technologies Co., Ltd.
F3-5-B R&D Center, Huawei Base
Bantian, Longgang District
Shenzhen 518129
China
Phone: +86-755-28977943
EMail: hanjianrui@huawei.com

Greg Bernstein
Grotto Networking
Fremont, CA
United States
Phone: (510) 573-2237
EMail: gregb@grotto-networking.com

Yunbin Xu
China Academy of Telecommunication Research of MII
11 Yue Tan Nan Jie
Beijing
China
Phone: +86-10-68094134
EMail: xuyunbin@mail.ritt.com.cn

That's the whole thing, bestie! πŸŒˆπŸ’–

πŸ“¦ where this page comes from