RFC 4377

Operations and Management (OAM) Requirements for Multi-Protocol Label Switched (MPLS) Networks

๐Ÿ“… published February 2006, from ietf

RFC 4377: Operations and Management (OAM) Requirements for Multi-Protocol Label Switched (MPLS) Networks ๐ŸŽ€

okay bestie, this one is an Informational RFC from the Network Working Group, dated February 2006 ๐ŸŒธ. It was written by T. Nadeau, M. Morrow, and G. Swallow from Cisco Systems, Inc., plus D. Allan from Nortel Networks and S. Matsushima from Japan Telecom. The header doesn't list anything it obsoletes or updates, so it's a standalone doc ๐Ÿ’….

Status of This Memo โœจ

This memo gives information to the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2006).

Abstract ๐Ÿฆ‹

okay so this doc lays out Operations and Management (OAM) requirements for Multi-Protocol Label Switching (MPLS), plus the apps that run on top of MPLS, like pseudo-wire voice and virtual private network services. The requirements came from network operators who have seriously deployed MPLS networks, so this is real-world stuff, not theory ๐Ÿ’œ.

Table of Contents ๐Ÿงš

1. Introduction ....................................................2
2. Document Conventions ............................................2
3. Motivations .....................................................4
4. Requirements ....................................................4
5. Security Considerations ........................................11
6. References .....................................................12
7. Acknowledgements ...............................................13

1. Introduction โœจ

okay, so this section describes what user and data plane Operations and Management (OAM) needs to look like for Multi-Protocol Label Switching (MPLS) ๐ŸŒˆ. Same deal as the abstract: the requirements were gathered from operators with lots of MPLS deployment experience, and they cover OAM for MPLS as well as for MPLS applications.

Here's the lowkey important bit ๐Ÿ‘€. There are no specific mechanisms proposed yet to address these requirements. The goal is to pin down a set of requirements that are commonly applicable to MPLS OAM right now. Specifically, the ones that fit the most common MPLS networks that service provider organizations were running when this doc was written ๐Ÿ“. Then these requirements can be the base for building network management tools, guide how the tools that already exist evolve, and shape the OAM functions that are built right into the protocols MPLS networks use. iconic, honestly ๐Ÿ’….

2. Document Conventions ๐Ÿ’–

2.1. Terminology ๐Ÿซถ

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].

Next up, the glossary of terms. These definitions are the exact wording from the RFC, so keep them in a code block for accuracy ๐Ÿ“–:

Queuing/buffering Latency: The delay caused by packet queuing (value
                           is variable since it is dependent on the
                           packet arrival rate, the packet length,
                           and the link throughput).

Probe-based-detection:     Active measurement tool that can measure
                           the consistency of an LSP [RFC4379].

Defect:                    Any error condition that prevents a Label
                           Switched Path (LSP) from functioning
                           correctly.  For example, loss of an
                           Interior Gateway Protocol (IGP) path will
                           most likely result in an LSP not being
                           able to deliver traffic to its
                           destination.  Another example is the
                           interruption of the path for a TE tunnel.
                           These may be due to physical circuit
                           failures or failure of switching nodes to
                           operate as expected.

                           Multi-vendor/multi-provider network
                           operation typically requires agreed upon
                           definitions of defects (when it is broken
                           and when it is not) such that both
                           recovery procedures and service level
                           specification impact can be specified.

Head-end Label Switching
Router (LSR):              The beginning of an LSP.  A head-end LSR
                           is also referred to as an ingress LSR.

Tail-end Label Switching
Router (LSR):              The end of an LSP.  A tail-end LSR is also
                           referred to as an egress LSR.

Propagation Latency:       The delay added by the propagation of the
                           packet through the link (fixed value that
                           depends on the distance of the link and
                           the propagation speed).

Transmission Latency:      The delay added by the transmission of the
                           packet over the link, i.e., the time it
                           takes to put the packet over the media
                           (value that depends on the link throughput
                           and packet length).

Processing Latency:        The delay added by all the operations
                           related to the switching of labeled
                           packets (value is node implementation
                           specific and may be considered fixed and
                           constant for a given type of equipment).

Node Latency:              The delay added by the network element
                           resulting from of the sum of the
                           transmission, processing, and
                           queuing/buffering latency.

One-hop Delay:             The fixed delay experienced by a packet to
                           reach the next hop resulting from the of
                           the propagation latency, the transmission
                           latency, and the processing latency.

Minimum Path Latency:      The sum of the one-hop delays experienced
                           by the packet when traveling from the
                           ingress to the egress LSR.

Variable Path Latency:     The variation in the sum of the delays
                           experienced by packets transiting the
                           path, otherwise know as jitter.

2.2. Acronyms ๐ŸŒธ

  • ASBR: Autonomous System Border Router
  • CE: Customer Edge
  • PE: Provider Edge
  • SP: Service Provider
  • ECMP: Equal-Cost Multi-path
  • LSP: Label Switched Path
  • LSP Ping: Label Switched Path Ping
  • LSR: Label Switching Router
  • OAM: Operations and Management
  • RSVP: Resource reSerVation Protocol
  • LDP: Label Distribution Protocol
  • DoS: Denial of Service

3. Motivations ๐Ÿฆ‹

This doc was made to provide requirements that could be used to build consistent and useful OAM functionality. The point is to meet the operational needs of the service providers (SPs) who have deployed MPLS or are deploying it now. It's giving practical purpose ๐Ÿงš.

4. Requirements ๐Ÿ‘‘

The following sections list the OAM requirements gathered from service providers who have deployed MPLS, along with services based on MPLS networks. Each requirement is spelled out in detail so its applicability is clear ๐Ÿ”ฅ. Even though the requirements here are defined by the IETF, they were made consistent with requirements gathered by other standards bodies, such as the ITU [Y1710]. literally the best kind of teamwork ๐Ÿซถโœจ.

4.1. Detection of Label Switched Path Defects

Okay so finding a broken LSP MUST not need someone manually hopping through every single LSR that's switching traffic for it ๐Ÿ’…. Nobody wants to visit each LSR along the data plane path one by one ๐Ÿ˜ญ. Instead this function MUST be automated and able to run at an operator-specified frequency from the LSP's origination point ๐Ÿฆ‹. That means the solutions have to be interoperable so the automation actually works across the board โœจ.

Automation matters even more when huge numbers of LSPs are being tested. Automated ingress LSR to egress LSR testing is wanted for some LSPs ๐ŸŒธ. The goal is to catch LSP path defects before customers do ๐Ÿ‘€, which means detection and correction have to be predictable and fit inside the SLA the service is sold under ๐Ÿ’ผ. Basically, the time an OAM tool takes to detect a defect plus the time an operational support system takes to react (by fixing it or telling the customer) has to land within the SLA bounds ๐ŸŽ€.

Synchronizing detection time bounds across the tools that detect broken LSPs is required ๐Ÿ”„. If you don't specify defect detection time bounds, test results can get ambiguous ๐Ÿ™ˆ. If you know how long detection takes, automated responses can be designed around resiliency and SLA reporting ๐Ÿ“Š. And if synchronization is possible, an operational framework can guide the design and specification of MPLS applications ๐Ÿ‘‘.

An ICMP-based ping [RFC792] can be sent through an LSP as an IP payload, but using it to check that an LSP is defect-free can give erroneous results, both positive and negative ๐Ÿ™ƒ. Because ICMP traffic uses legally addressable IP addressing, ICMP messages that start inside an LSP can "fall out of the LSP" somewhere along the path ๐Ÿ˜ฌ. Since ICMP packets are routable, that can produce a falsely positive response. And when you need to test the data plane of a specific LSP, it's hard to guarantee that ICMP ping traffic gets parsed and hashed to the same equal-cost multi-paths (ECMP) as the data traffic ๐Ÿงฉ.

Any detection mechanism that depends on getting status back over a return path SHOULD offer multiple return options, so that one of them is expected to be unaffected by the original defect ๐Ÿ›Ÿ. A false negative could happen with a mechanism that needs a functional MPLS return path. MPLS LSPs are unidirectional, so the forward LSP under test might be working fine while the response from the destination LSR gets lost. That makes the source LSR think the forward LSP is defective ๐Ÿ˜ฑ. But if an alternate return path could be specified, like IP for example, the source could name it as the return path to the destination. Then it would receive a response saying the return LSP is defective ๐Ÿ”.

The OAM packet MUST follow the customer data path exactly so it reflects the path liveliness that customer data actually uses ๐Ÿ’–. The big cases to watch are forwarding mechanisms like ECMP inside the operator's network, where flows are load-shared across parallel paths (i.e., equal IGP cost) ๐Ÿ›ฃ๏ธ. Where customer traffic may be spread over multiple paths, you need to detect failures on any of the path permutations ๐ŸŒˆ. Where the spreading mechanism is payload specific, payloads need forwarding that's common with the traffic under test ๐ŸŽฏ. Meeting all of this adds complexity, since ECMP connectivity permutations have to get exercised and defect detection has to happen in a reasonable amount of time โฑ๏ธ.


4.2. Diagnosis of a Broken Label Switched Path

Diagnosing a broken LSP and isolating the failed component (i.e., link or node) on the path is required ๐Ÿ”. Recovery actions for mis-branching defects in an LDP network are a particularly difficult case ๐Ÿ’€. The best way to diagnose defects and isolate the failed component is a path trace function that can return the entire list of LSRs and links used by a certain LSP (or at least the set of LSRs/links up to the location of the defect) ๐Ÿ—บ๏ธ. The tracing capability SHOULD include the ability to trace recursive paths, like when nested LSPs are used ๐Ÿช†. This path trace function MUST also be capable of diagnosing LSP mis-merging, by letting you compare expected vs. actual forwarding behavior at any LSR in the path ๐Ÿ”ฌ. The path trace capability SHOULD be capable of being executed from the head-end Label Switching Router (LSR), and it may permit downstream path components to be traced from an intermediate mid-point LSR ๐Ÿ“. Last but not least, the path trace function MUST have the ability to support the ECMP scenarios described in Section 4.1 โœจ.


4.3. Path Characterization

Path characterization is all about revealing the details of LSR forwarding operations ๐Ÿง. Those details can then be compared during later testing relevant to OAM functionality ๐Ÿ“‹. This includes but is not limited to:

  • consistent use of pipe or uniform time to live (TTL) models by an LSR [RFC3443].
  • sufficient details that allow the test origin to exercise all path permutations related to load spreading (e.g., ECMP).
  • stack operations performed by the LSR, such as pushes, pops, and TTL propagation at penultimate hop LSRs.

4.4. Service Level Agreement Measurement

Mechanisms are required to measure the diverse aspects of Service Level Agreements, which include:

  • latency - amount of time required for traffic to transit the network
  • packet loss
  • jitter - measurement of latency variation
  • defect free forwarding - the service is considered to be available, or the service is unavailable and other aspects of performance measurement do not have meaning.

Such measurements can be made independently of the user traffic, or via a hybrid of user traffic measurement and OAM probing ๐ŸŽ€.

At least one mechanism is required to measure the number of OAM packets ๐Ÿ”ข. On top of that, the ability to measure the quantitative aspects of LSPs, such as jitter, delay, latency, and loss, MUST be available so you can determine whether traffic for a specific LSP is traveling within the operator-specified tolerances ๐Ÿ“.

Any method considered SHOULD be capable of measuring the latency of an LSP with minimal impact on network resources ๐ŸŒฟ. See Section 2.1 for definitions of the various quantitative aspects of LSPs ๐Ÿ“š.


4.5. Frequency of OAM Execution

The operator MUST have the flexibility to configure OAM parameters to meet their specific operational requirements โš™๏ธ.

This includes the frequency of executing any OAM functions. Synchronizing OAM operations is required so SLA measurements stay consistent ๐ŸŽฏ. Here's the tea: defect conditions like mis-branching or misdirection of traffic can cause flapping if probe-based detection mechanisms have significant mismatches in their detection frequency ๐ŸŒ€. You can fix that by synchronizing the rate, or by having the probes self-identify their probe rate ๐Ÿค. For example, when probing mechanisms are bootstrapping, they might negotiate and ultimately agree on a probing rate, which gives a consistent probing frequency and avoids those problems โœ….

One observation is that wide-spread deployment of MPLS, common implementation of monitoring tools, and the need for inter-carrier synchronization of defect and service level specification handling will push OAM parameters toward commonly agreed values ๐ŸŒ. Those values have to be harmonized with the surrounding technologies (e.g., SONET/SDH, ATM) to be useful ๐Ÿ”—. This gets especially important as networks scale, since mis-configuration can result in churn, alarm flapping, etc. ๐Ÿ“‰


4.6. Alarm Suppression, Aggregation, and Layer Coordination

Network elements MUST provide alarm suppression functionality that stops superfluous alarms from being generated ๐Ÿ”•. They can do this by simply discarding them (or not generating them in the first place), or by aggregating them together, which greatly reduces the number of notifications emitted. Read together with the requirement in Section 4.7 below, this typically requires fault notification to the LSP egress, which may have specific time constraints if the application using the LSP independently implements path continuity testing (for example, ATM I.610 Continuity check (CC)[I610]). These constraints apply to LSPs that are monitored ๐Ÿ‘€.

MPLS applications can all try to respond to defects at the same time ๐ŸŒช๏ธ. Layer-3 MPLS VPNs that use Traffic Engineered tunnels are a good example, because when a failure hits the LSP carrying the Traffic Engineered tunnel, it also affects the VPN traffic that uses that tunnel's LSP. Mechanisms are required to coordinate network responses to defects ๐Ÿคน.


4.7. Support for OAM Inter-working for Fault Notification

An LSR supporting the inter-working of one or more networking technologies over MPLS MUST be able to translate an MPLS defect into the native technology's error condition ๐Ÿ”„. For example, errors occurring over an MPLS transport LSP that supports an emulated ATM VC MUST translate errors into native ATM OAM Alarm Indication Signal (AIS) cells at the termination points of the LSP ๐Ÿฆ‹. The mechanism SHOULD consider possible bounded detection time parameters, e.g., a "hold off" function before reacting, so it can synchronize with the OAM functions โณ.

One goal is alarm suppression by the upper layer using the LSP. As observed in Section 4.5, this requires MPLS to perform detection in a bounded timeframe, so it can start alarm suppression before the upper layer independently detects the defect ๐Ÿƒโ€โ™€๏ธ.


4.8. Error Detection and Recovery

Recovery from a fault by a network element can be facilitated by MPLS OAM procedures ๐Ÿ› ๏ธ. These procedures detect a broader range of defects than simple link and node failures ๐Ÿ”ญ. Since MPLS LSPs may span multiple routing areas and service provider domains, fault recovery and error detection should be possible in these configurations as well as in the more simplified single-area/domain configurations ๐ŸŒ.

Recovery from faults SHOULD be automatic ๐Ÿค–. It is a requirement that faults SHOULD be detected (and possibly corrected) by the network operator before customers of the service in question detect them ๐Ÿ‘‘.

4.9. Standard Management Interfaces ๐ŸŽ€

okay so MPLS is literally everywhere now, which means everyone needs to handle OAM the same way ๐Ÿ’… That's where the standard IETF MPLS-related MIB modules come in (think [RFC3813][RFC3812][RFC3814]) for fault, statistics, and configuration management. They give operators a common programmatic interface to reach Operations and Management functions and check their statuses ๐Ÿฆ‹ ngl there are still gaps where MIB modules don't cover OAM or other features yet, so MIB modules for new protocol functions or network tools are required ๐Ÿ“š

4.10. Detection of Denial of Service Attacks ๐Ÿ›ก๏ธ

The ability to detect denial of service (DoS) attacks against the data or control planes MUST be part of any security management related to MPLS OAM tools or techniques. This one is non-negotiable, bestie ๐Ÿ™…

4.11. Per-LSP Accounting Requirements ๐Ÿ’ธ

In an MPLS network, service providers can measure traffic from an LSR to the egress of the network using some MPLS-related MIBs, for example. So it's totally reasonable to know how much traffic is traveling from location to location (aka a traffic matrix) by analyzing the flow of traffic ๐Ÿ“Š Traffic accounting in an MPLS network boils down to these three items:

  1. Collecting information to design network

For the purpose of optimized network design, a service provider may offer the traffic information. Optimizing network design needs this info โœจ

  1. Providing a Service Level Specification

Providers and their customers MAY need to verify high-level service level specifications, either to keep continuously optimizing their networks or to offer guaranteed bandwidth services. So traffic accounting to monitor MPLS applications is required ๐Ÿ’–

  1. Inter-AS environment

Service providers that offer inter-AS services require accounting of those services ๐ŸŒ

These three motivations need to satisfy the following:

  • In (1) and (2), collecting information on a per-LSP basis is the minimum level of granularity for collecting accounting information at both the ingress and egress of an LSP ๐ŸŽฏ
  • In (3), the SP's ASBR carries out interconnection functions as an intermediate LSR. So identifying a pair of ingress and egress LSRs using each LSP is needed to determine the cost of the service a customer is using ๐Ÿ’…

4.11.1. Requirements ๐Ÿ“

Accounting on a per-LSP basis covers the following set of functions:

  1. At an ingress LSR, accounting of traffic through LSPs that begin at each egress in question.
  2. At an intermediate LSR, accounting of traffic through LSPs for each pair of ingress to egress.
  3. At an egress LSR, accounting of traffic through LSPs for each ingress.
  4. All LSRs containing LSPs that are being measured need to have a common identifier to distinguish each LSP. The identifier MUST be unique to each LSP, and its mapping to the LSP SHOULD be provided, whether from manual or automatic configuration ๐Ÿ”‘

In the case of non-merged LSPs, this can be achieved by simply reading traffic counters for the label stack associated with the LSP at any LSR along its path. However, to measure merged LSPs, an LSR MUST have a means to distinguish the source of each flow so the statistics don't get mixed up ๐Ÿซถ

4.11.2. Location of Accounting ๐Ÿ“

It's not realistic for LSRs to perform these operations on every LSP in a network ๐Ÿ˜ญ At a minimum, per-LSP based accounting SHOULD be performed at the edges of the network, meaning at the edges of both LSPs and the MPLS domain ๐ŸŒธ

5. Security Considerations ๐Ÿ”

Provisions to any of the network mechanisms designed to satisfy the requirements described here are required to prevent their unauthorized use. Likewise, these network mechanisms MUST provide a means by which an operator can prevent denial of service attacks if those mechanisms are used in such an attack ๐Ÿšจ

LSP mis-merging is a bigger deal than just a network defect, bestie. It can happen for a number of potential reasons, and some of them (because of MPLS label stacking) are brand new to MPLS ๐Ÿ’€

The performance of diagnostic functions and path characterization involves extracting a significant amount of information about network construction that the network operator MAY consider private ๐Ÿ™ˆ

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.

6.2. Informative References

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

[RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB)", RFC 3812, June 2004.

[RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB)", RFC 3813, June 2004.

[RFC3814] Nadeau, T., Srinivasan, C., and A. Viswanathan, "Multiprotocol Label Switching (MPLS) Forwarding Equivalence Class To Next Hop Label Forwarding Entry (FEC-To-NHLFE) Management Information Base (MIB)", RFC 3814, June 2004.

[Y1710] ITU-T Recommendation Y.1710, "Requirements for OAM Functionality In MPLS Networks"

[I610] ITU-T Recommendation I.610, "B-ISDN operations and maintenance principles and functions", February 1999

[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[RFC792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981.

[RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks", RFC 3443, January 2003.

7. Acknowledgements ๐Ÿ’œ

The authors wish to acknowledge and thank the following individuals for their valuable comments to this document: Adrian Smith, British Telecom; Chou Lan Pok, SBC; Mr. Ikejiri, NTT Communications; and Mr. Kumaki, KDDI. Hari Rakotoranto, Miya Kohno, Cisco Systems; Luyuan Fang, AT&T; Danny McPherson, TCB; Dr. Ken Nagami, Ikuo Nakagawa, Intec Netcore, and David Meyer. Thank you all, you're iconic ๐Ÿ‘‘

Authors' Addresses ๐Ÿ“ฎ

Comments should be made directly to the MPLS mailing list at mpls@lists.ietf.org.

Thomas D. Nadeau Cisco Systems, Inc. 300 Beaver Brook Road Boxboro, MA 01719 Phone: +1-978-936-1470 EMail: tnadeau@cisco.com

Monique Jeanne Morrow Cisco Systems, Inc. Glatt-Com, 2nd Floor CH-8301 Switzerland Phone: (0)1 878-9412 EMail: mmorrow@cisco.com

George Swallow Cisco Systems, Inc. 300 Beaver Brook Road Boxboro, MA 01719 Phone: +1-978-936-1398 EMail: swallow@cisco.com

David Allan Nortel Networks 3500 Carling Ave. Ottawa, Ontario, CANADA Phone: 1-613-763-6362 EMail: dallan@nortel.com

Satoru Matsushima Japan Telecom 1-9-1, Higashi-Shinbashi, Minato-ku Tokyo, 105-7316 Japan Phone: +81-3-6889-1092 EMail: satoru@ft.solteria.net

Copyright (C) The Internet Society (2006).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain 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 represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found 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 made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from 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. Please address the information to the IETF at ietf-ipr@ietf.org.

Acknowledgement ๐ŸŒˆ

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).

๐Ÿ“ฆ where this page comes from