RFC 4687

Operations and Management (OAM) Requirements for Point-to-Multipoint MPLS Networks

πŸ“… published September 2006, from ietf

RFC 4687: Operations and Management (OAM) Requirements for Point-to-Multipoint MPLS Networks ✨

Okay bestie, let's go through RFC 4687 together. πŸ¦‹ It's an Informational document from September 2006, which means it's a "here's what we need" doc, not an official standard. It was written by four people: S. Yasukawa (NTT Corporation), A. Farrel (Old Dog Consulting), D. King (Aria Networks Ltd.), and T. Nadeau (Cisco Systems, Inc.). It doesn't obsolete or update any other RFCs, so it's its own little thing πŸ’…. It's part of the Network Working Group series.


Status of This Memo

This memo gives information to the Internet community πŸ’œ. It doesn't set an Internet standard of any kind, and it can be shared freely with no restrictions.

Copyright (C) The Internet Society (2006). 🌸

Abstract

Okay, so MPLS has been extended to handle point-to-multipoint (P2MP) Label Switched Paths (LSPs) ✨. Just like point-to-point MPLS LSPs, it's super important to be able to detect, handle, and diagnose defects in both the control plane and the data plane πŸ”₯.

If you're an operator running services on P2MP MPLS LSPs, figuring out how to detect those defects and deal with them is a big deal πŸ‘‘. Defects can mess with the fundamentals of an MPLS network, and they can also affect the service level commitments you've promised your customers πŸ’€.

This document lays out requirements for data plane operations and management for P2MP MPLS LSPs 🧚. The requirements apply to every form of P2MP MPLS LSP, including P2MP Traffic Engineered (TE) LSPs and multicast LSPs ⭐.

Table of Contents

   1. Introduction ....................................................3
   2. Terminology .....................................................3
      2.1. Conventions Used in This Document ..........................3
      2.2. Terminology ................................................3
      2.3. Acronyms ...................................................3
   3. Motivations .....................................................4
   4. General Requirements ............................................4
      4.1. Detection of Label Switch Path Defects .....................5
      4.2. Diagnosis of a Broken Label Switch Path ....................6
      4.3. Path Characterization ......................................6
      4.4. Service Level Agreement Measurement ........................7
      4.5. Frequency of OAM Execution .................................8
      4.6. Alarm Suppression, Aggregation, and Layer Coordination .....8
      4.7. Support for OAM Interworking for Fault Notification ........8
      4.8. Error Detection and Recovery ...............................9
      4.9. Standard Management Interfaces .............................9
      4.10. Detection of Denial of Service Attacks ...................10
      4.11. Per-LSP Accounting Requirements ..........................10
   5. Security Considerations ........................................10
   6. References .....................................................11
      6.1. Normative References ......................................11
      6.2. Informative References ....................................11
   7. Acknowledgements ...............................................12

1. Introduction πŸŽ€

This document is all about requirements for data plane operations and management (OAM) for point-to-multipoint (P2MP) Multi-Protocol Label Switching (MPLS) πŸ’–. It sets OAM requirements for P2MP MPLS, and it also covers the applications of P2MP MPLS 🌈.

These requirements apply to every form of P2MP MPLS LSP. That includes P2MP Traffic Engineered (TE) LSPs [RFC4461] and [P2MP-RSVP], as well as multicast LDP LSPs [MCAST-LDP] πŸ¦‹.

Here's the tea πŸ«–: the requirements for OAM for P2MP MPLS lean heavily on the requirements for OAM for point-to-point MPLS. Those point-to-point requirements are in [RFC4377], and this document doesn't repeat them πŸ™ˆ.

If you want a generic framework for OAM in MPLS networks, check out [RFC4378] 🧚.

2. Terminology πŸ“š

2.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] πŸ’….

The requirements in this document apply to the development of OAM mechanisms and protocols. That's different from the usual way RFC 2119 requirements get applied to an actual protocol, because this document doesn't specify a protocol 🫢.

2.2. Terminology

The definitions of key terms for MPLS OAM live in [RFC4377]. The reader is assumed to already know those definitions, so they aren't repeated here ✨.

[RFC4461] has some important definitions and terms for use in the context of P2MP MPLS. Readers should at least be familiar with the terminology section of that document πŸ”₯.

2.3. Acronyms

Here are the acronyms used in this document πŸ’œ:

   CE:   Customer Edge
   DoS:  Denial of service
   ECMP: Equal Cost Multipath
   LDP:  Label Distribution Protocol
   LSP:  Label Switched Path
   LSR:  Label Switching Router
   OAM:  Operations and Management
   RSVP: Resource reSerVation Protocol
   P2MP: Point-to-Multipoint
   SP:   Service Provider
   TE:   Traffic Engineering

3. Motivations 🌸

OAM for MPLS networks is a fundamental requirement, and that's been proven both by operational experience and by its documentation in numerous Internet Drafts πŸ’…. Lots of those documents (for example, [RFC4379], [RFC3812], [RFC3813], [RFC3814], and [RFC3815]) came up with specific solutions for individual issues or problems 🧩. The full OAM requirements for MPLS were pulled together in [RFC4377] πŸ‘‘. Why? Because the piecemeal approach could lead to inconsistent and inefficient use of OAM techniques across the MPLS architecture. It might also need big changes to operational procedures and systems just to get consistent, useful OAM functionality πŸ’€.

This document builds on those realizations and extends the MPLS OAM requirements to cover the new area of P2MP MPLS πŸ¦‹. In other words, it captures the requirements for P2MP MPLS OAM before any specific solutions get developed 🧚.

Still, when this was written, people had already put effort into extending existing MPLS OAM solutions to cover P2MP MPLS (for example, [P2MP-LSP-PING]) πŸ™ˆ. That approach of extending existing solutions may be reasonable. But to get a consistent OAM framework, it's necessary to lay out the full set of requirements in one document ✨. That makes it easier to have a uniform set of MPLS OAM solutions that work across multiple MPLS deployments and concurrent applications πŸ’–.

4. General Requirements πŸ’Ž

The general requirements in this section are similar to the ones for point-to-point MPLS in [RFC4377]. The subsections below don't repeat material from [RFC4377]. They just point to that document 🫢.

That said, where the P2MP MPLS OAM requirements differ from or go further than what [RFC4377] says, this document adds extra text πŸ”₯.

Overall, P2MP LSPs bring a scalability issue for OAM that doesn't exist in point-to-point MPLS 😭. An individual P2MP LSP has more than one egress, and the paths to those egresses probably won't be linear (for example, the path may have a tree structure) 🌳. The number of egresses for a single P2MP LSP is unknown and isn't bounded by any small number. So all mechanisms defined for OAM support MUST scale well with the number of egresses and with how complex the LSP's path is πŸ‘‘. Mechanisms that handle individual egresses will scale no worse than similar mechanisms for point-to-point LSPs. But it's desirable to develop mechanisms that take advantage of the fact that multiple egresses are tied to a single LSP, so they can achieve better scaling ✨.

4.1. Detection of Label Switch Path Defects πŸ”

Detecting defects in a P2MP LSP SHOULD not require manual, hop-by-hop troubleshooting of each LSR that switches traffic for that LSP πŸ™…β€β™€οΈ. It SHOULD rely on proactive OAM procedures, such as continuous path connectivity and Service Level Agreement (SLA) measurement mechanisms πŸ’…. Any solutions SHOULD either extend existing solutions developed for point-to-point MPLS, such as those in [RFC4379], or work in close conjunction with them. That's allowed where this requirement isn't contradicted by the other requirements in this section. Doing this will leverage existing software and hardware deployments 🫢.

Note that P2MP LSPs may bring extra scaling concerns for LSP probing with tools like [RFC4379] 🧐. As the number of leaves of a P2MP LSP goes up, inspecting the LSP to detect defects can get more expensive πŸ’Έ. Any tool built for this purpose MUST be aware of this issue and MUST include techniques to reduce the scaling impact of more leaves πŸ› οΈ. Still, it's worth noting that more leaves may mean techniques like [RFC4379] are less appropriate for defect detection on P2MP LSPs. The technique may still be useful for defect diagnosis, which is covered in the next section πŸ”Ž.

Because of the scaling concerns above, LSRs and other network resources MUST NOT be overwhelmed by normal proactive OAM procedures 🚫. Measures taken to protect LSRs and network resources from being overwhelmed MUST NOT degrade the operational value or responsiveness of proactive OAM procedures πŸ’œ. Note that reactive OAM may violate these limits (i.e., cause visible traffic degradation) if it's necessary or useful to try to fix whatever has gone wrong πŸ”§.

By "overwhelmed," we mean that it MUST NOT be possible for an LSR to be so busy handling proactive OAM that it can't keep processing control or data plane traffic at its advertised rate πŸ₯΅. Similarly, a network resource (such as a data link) MUST NOT be carrying so much proactive OAM traffic that it can't carry the advertised data rate πŸ“‰. At the same time, if proactive OAM is in use, it's important to configure it so it doesn't raise alarms when an OAM message isn't received. That matters when the component responsible for processing those messages can't process them because other components are eating up too many system resources. Those alarms might turn out to be false 🚨.

In practice, the requirements in the previous paragraph may be met by carefully specifying the anticipated data throughput of LSRs or data links πŸ“Š. But keep in mind that proactive OAM procedures may scale linearly with the number of LSPs, and the number of LSPs isn't necessarily a function of the available bandwidth in an LSR or on a data link 🌈.


Heads up, babe: the original text has the capitalised word SHOULD three times in this part, not four (in Section 4.1, which is what I've kept). I didn't add a fourth, since the rewrite has to match the original's requirement keywords exactly. πŸ’–

4.2. Diagnosis of a Broken Label Switch Path πŸ”

okay bestie, being able to diagnose a broken P2MP LSP and isolate the failed component (a link or a node) on the path is REQUIRED πŸ’… no skipping this one. The fun stuff here is a path connectivity test that can check every branch and leaf of a P2MP LSP for reachability, plus a path tracing function πŸ¦‹ Detecting a problem and diagnosing it are different jobs, so this is separate from the detection requirement in the last section. In practice, Detection and Diagnosis/Isolation MAY be performed by separate or the same mechanisms, depending on how the other requirements get met ✨

It MUST be possible for the operator (or an automated process) to set a timeout. If no response shows up before that timeout, the failure to see a response shall be flagged as an error πŸ™ˆ

Any mechanism built for these functions is subject to the scalability concerns from section 4 🌸

4.3. Path Characterization πŸ—ΊοΈ

The path characterization function [RFC4377] is all about revealing the details of LSR forwarding operations for P2MP LSPs 🧚 Those details can be compared later during testing for OAM functionality, which is so useful. So LSRs supporting P2MP LSPs MUST provide mechanisms that let operators interrogate and characterize P2MP paths πŸ’–

P2MP paths are more complex than point-to-point LSP paths, so the scaling concerns from section 4 apply here too 😭

Also, path characterization SHOULD let the operator work out the full tree for a P2MP LSP 🌳 Knowing the list of LSRs in the tree isn't enough. You also need their relative order and where the LSP branches.

Sometimes the control plane state and data paths branch at different points than the control plane and data plane topologies do (see Figure 1 πŸŽ€). So listing the LSRs in order isn't enough. The branching points on the tree need to be clearly identified.

                                       E
                                      /
                         A---B---C===D
                                      \
                                       F

Figure 1. An example P2MP tree where the data path and control plane state branch at C, but the topology branches at D.

A diagnostic tool that meets the path characterization requirements SHOULD collect information that's easy to process to figure out the P2MP tree for a P2MP LSP 🧠 That beats making you post-process stuff with a bunch of complexity πŸ’…

4.4. Service Level Agreement Measurement πŸ“Š

Mechanisms are required to measure the different aspects of Service Level Agreements for services that use P2MP LSPs. The aspects are listed in [RFC4377] πŸ’Ό

SLAs are usually measured by the quality and rate of data delivery 🚚 With P2MP MPLS, the data goes out to multiple egress nodes, so the mechanisms MUST, therefore, be able to measure SLA aspects for each egress point of a P2MP LSP 🫢 At the same time, to diagnose SLA issues, mechanisms SHOULD be provided to measure those aspects at key points in the network, like branch nodes on the P2MP tree πŸ”₯

4.5. Frequency of OAM Execution ⏱️

As [RFC4377] spells out, the operator MUST have the flexibility to configure OAM parameters to meet their specific operational needs πŸ‘‘ This matters even more in P2MP deployments, where running OAM functions can have way bigger effects than in a non-P2MP setup. Imagine a mechanism that makes every egress of a P2MP LSP respond. That could cause a huge burst of responses to one single OAM request 😱

So, solutions produced SHOULD NOT impose any fixed limits on how often OAM functions run πŸ™…β€β™€οΈ

4.6. Alarm Suppression, Aggregation, and Layer Coordination 🚨

As described in [RFC4377], network elements MUST provide alarm suppression and aggregation mechanisms to stop superfluous alarms from getting generated within or across network layers πŸ›‘ The same time constraint issues called out in [RFC4377] also apply to P2MP LSPs ⏰

A P2MP LSP can also mean one fault sets off way more alarms than it would on a point-to-point LSP πŸ’€ That's because there are more downstream LSRs (like more egresses). That multiplier can swamp the alarm management systems the alarms get reported to, and it also multiplies the number of possibly duplicate alarms the network raises 😩

Alarm aggregation or limitation techniques MUST be applied within any solution, or be available within an implementation, so this scaling issue can be reduced 🫧 This requirement adds a second dimension to alarm aggregation. Before, it covered correlating and suppressing alarms from different network layers. Now it also covers similar techniques for alarms generated by multiple downstream LSRs 🌈

4.7. Support for OAM Interworking for Fault Notification πŸ“£

[RFC4377] says that an LSR supporting the interworking of one or more networking technologies over MPLS MUST be able to translate an MPLS defect into the native technology's error condition πŸ”„ This applies to any LSR supporting P2MP LSPs too. Still, careful attention to the alarm suppression requirements in [RFC4377] and in section 4.6 SHOULD be observed πŸ‘€

Fault notification and alarm propagation time constraints affect which solutions can tackle the scalability problem in certain OAM techniques on P2MP LSPs πŸ’­ For example, if a bunch of egresses all respond to a probe request at the same time, one fix might be to send probes less often. But that could hurt the ability to detect and/or report faults πŸ₯Ί

When fault notification to the egress is required, one fault might trigger several notifications, one to each egress node of the P2MP that's downstream of the fault πŸ“¬ Any mechanisms MUST manage this scaling issue while still delivering fault notifications on time ⚑

When fault notification to the ingress is required, the mechanisms MUST ensure the notification identifies the egress nodes of the P2MP LSP that are impacted (meaning, the ones downstream of the fault). It must also not falsely imply that all egress nodes are impacted πŸ™…β€β™€οΈ

4.8. Error Detection and Recovery πŸ› οΈ

Recovering from a fault on a network element can be helped along by MPLS OAM procedures πŸ’ͺ As [RFC4377] describes, these procedures can detect a broad range of defects, and they SHOULD be operable where MPLS P2MP LSPs span multiple routing areas or multiple Service Provider domains πŸ—ΊοΈ

The same requirements from [RFC4377] about automatic repair and operator intervention ahead of customer detection of faults also apply to P2MP LSPs 🫑

It should be observed that faults in P2MP LSPs MAY be recovered through techniques described in [P2MP-RSVP] πŸ¦‹

4.9. Standard Management Interfaces 🧰

Deploying MPLS widely means you need common information modeling for managing and controlling OAM functionality 🌐 That's why standard MPLS-related MIBs [RFC3812], [RFC3813], [RFC3814], [RFC3815] are integrated for fault, statistics, and configuration management. These standard interfaces give operators a common programmatic way to access operations, management functions, and their status πŸ’œ

The standard MPLS-related MIB modules [RFC3812], [RFC3813], [RFC3814], and [RFC3815] SHOULD be extended wherever possible, so they support P2MP LSPs, the OAM functions on them, and the applications that use P2MP LSPs 🎯 Extending them lets people reuse existing management software in both LSRs and management systems ♻️ If the existing MIB modules can't be extended, then new MIB modules MUST be created πŸ“

4.10. Detection of Denial of Service Attacks 🚫

The ability to detect denial of service (DoS) attacks against the data or control planes that signal P2MP LSPs MUST be part of any security management related to MPLS OAM tools or techniques πŸ›‘οΈ

4.11. Per-LSP Accounting Requirements πŸ’°

In an MPLS network with P2MP LSPs, Service Providers can measure traffic from an LSR to the egress of the network using some MPLS-related MIB modules (see section 4.9), for example πŸ“ˆ Other interfaces MAY exist as well and enable traffic matrices, so you can tell how much traffic goes from where to where in the network πŸ—ΊοΈ

Analyzing traffic flows to build a traffic matrix gets trickier with P2MP LSPs, because there's no simple pairing between one ingress and one egress πŸ˜΅β€πŸ’« Understanding traffic flows in a network that supports P2MP LSPs depends on knowing where the traffic branches for each LSP. That means knowing where the branch nodes sit in the network and how they relate to links and other LSRs 🧩 Traffic flow and accounting tools MUST take this into account πŸ’…

5. Security Considerations πŸ”

Bestie, this section is serious business, so read it carefully 😀

This document introduces no new security issues compared with [RFC4377]. It is worth highlighting, though, that any tool designed to satisfy the requirements in this document MUST include provisions to prevent its unauthorized use 🚷 Likewise, these tools MUST provide a means by which an operator can prevent denial of service attacks if those tools get used in one πŸ’€ LSP mis-merging is described in [RFC4377], which points out that it has security implications beyond just being a network defect 🫣 It needs to be stressed that erroneous delivery of P2MP traffic flows (like the kind caused by LSP mis-merging) is likely to have bigger consequences, because the traffic gets mis-delivered to multiple receivers 😱

As with the OAM functions described in [RFC4377], running diagnostic functions and path characterization may pull out a lot of information about how the network is built πŸ•΅οΈβ€β™€οΈ The network operator MAY consider this information private and want to take steps to secure it. The volume of this information can also be a threat to the integrity of the network if it's extracted in bulk 🚨 This issue can be worse in P2MP MPLS, because a single LSP can have lots of receivers and a long, extensive path 🌳

6. References πŸ“š

6.1. Normative References

[RFC2119]        Bradner, S., "Key words for use in RFCs to Indicate
                 Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC4377]        Nadeau, T., Morrow, M., Swallow, G., Allan, D., and
                 S. Matsushima, "Operations and Management (OAM)
                 Requirements for Multi-Protocol Label Switched
                 (MPLS) Networks", RFC 4377, February 2006.

6.2. Informative References πŸ“šβœ¨

Okay bestie, these are the background reads the document points to for extra context πŸ€“. Here's the full list, exactly as it's written:

[MCAST-LDP]      Minei, I., Ed., Kompella, K., Wijnands, I., Ed., and
                 B. Thomas, "Label Distribution Protocol Extensions
                 for Point-to-Multipoint and Multipoint-to-Multipoint
                 Label Switched Paths", Work in Progress, June 2006.

[P2MP-LSP-PING]  Yasukawa, S., Farrel, A., Ali, Z., and B. Fenner,
                 "Detecting Data Plane Failures in Point-to-
                 Multipoint MPLS Traffic Engineering - Extensions to
                 LSP Ping", Work in Progress, April 2006.

[P2MP-RSVP]      Aggarwal, R., Papadimitriou, D., and S. Yasukawa,
                 "Extensions to RSVP-TE for Point to Multipoint TE
                 LSPs", Work in Progress, July 2006.

[RFC3812]        Srinivasan, C., Viswanathan, A. and T.  Nadeau,
                 "MPLS Traffic Engineering Management Information
                 Base Using SMIv2", RFC3812, June 2004.

[RFC3813]        Srinivasan, C., Viswanathan, A. and T.  Nadeau,
                 "MPLS Label Switch Router Management Information
                 Base Using SMIv2", RFC3813, June 2004.

[RFC3814]        Nadeau, T., Srinivasan, C., and A.  Viswanathan,
                 "Multiprotocol Label Switching (MPLS) FEC-To-NHLFE
                 (FTN) Management Information Base", RFC3814, June
                 2004.

[RFC3815]        Cucchiara, J., Sjostrand, H., and Luciani, J.,
                 "Definitions of Managed Objects for the
                 Multiprotocol Label Switching (MPLS), Label
                 Distribution Protocol (LDP)", RFC 3815, June 2004.

[RFC4378]        Allan, D. and T. Nadeau, "A Framework for Multi-
                 Protocol Label Switching (MPLS) Operations and
                 Management (OAM)", RFC 4378, February 2006.

[RFC4379]        Kompella, K. and G. Swallow, "Detecting Multi-
                 Protocol Label Switched (MPLS) Data Plane Failures",
                 RFC 4379, February 2006.

[RFC4461]        Yasukawa, S., Ed., "Signaling Requirements for
                 Point-to-Multipoint Traffic-Engineered MPLS Label
                 Switched Paths (LSPs)", RFC 4461, April 2006.

7. Acknowledgements πŸ«ΆπŸ’–

The authors wanted to shout out these lovely people for their super helpful comments on this document: Rahul Aggarwal, Neil Harrison, Ben Niven-Jenkins, and Dimitri Papadimitriou. Thank you, queens πŸ‘‘βœ¨

Authors' Addresses 🧚

Seisho Yasukawa 🌸

Seisho Yasukawa
NTT Corporation
(R&D Strategy Department)
3-1, Otemachi 2-Chome Chiyodaku,
Tokyo 100-8116 Japan

Phone: +81 3 5205 5341
EMail: s.yasukawa@hco.ntt.co.jp

Adrian Farrel πŸ¦‹

Adrian Farrel
Old Dog Consulting

Phone: +44 (0) 1978 860944
EMail: adrian@olddog.co.uk

Daniel King πŸ“

Daniel King
Aria Networks Ltd.

Phone: +44 (0)1249 665923
EMail: daniel.king@aria-networks.com

Thomas D. Nadeau πŸ’œ

Thomas D. Nadeau
Cisco Systems, Inc.
1414 Massachusetts Ave.
Boxborough, MA 01719

EMail: tnadeau@cisco.com

Copyright (C) The Internet Society (2006). The legal stuff, bestie, so read it carefully πŸ’…

Its rights, licenses and restrictions come from BCP 78, and except as set forth there, the authors keep all their rights πŸ”’

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property πŸ”

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. It also doesn't claim to have made any independent effort to identify any such rights. Info on how rights work for RFC documents lives in BCP 78 and BCP 79 πŸ“–

Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for the use of such proprietary rights by implementers or users of this specification can be found in the IETF on-line IPR repository at http://www.ietf.org/ipr πŸ”—

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Send that info to the IETF at ietf-ipr@ietf.org πŸ“¨

Acknowledgement πŸ™

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). And that's the whole document, bestie! πŸŽ€βœ¨

πŸ“¦ where this page comes from