RFC 4378
A Framework for Multi-Protocol Label Switching (MPLS) Operations and Management (OAM)
RFC 4378: A Framework for Multi-Protocol Label Switching (MPLS) Operations and Management (OAM) π
Okay bestie, this is part 1 of 2, so more is coming! π§ Here's the title block. It's RFC 4378, published in February 2006 by the Network Working Group π. The editors are D. Allan, Ed. from Nortel Networks and T. Nadeau, Ed. from Cisco Systems, Inc. π It's Informational category, so it's giving "here's some useful info," not "you must do this." The title block doesn't list anything it obsoletes or updates, so it's standing on its own. π
Status of This Memo π
This memo gives information to the Internet community. It is not an Internet standard of any kind. Distribution of this memo is unlimited.
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (2006).
Abstract β¨
This document is a framework for how data plane protocols can be applied to operations and maintenance procedures for Multi-Protocol Label Switching (MPLS). It's structured to show how Operations and Management (OAM) functionality can help with fault, configuration, accounting, performance, and security management, which people usually shorten to FCAPS. π¦
Table of Contents ποΈ
1. Introduction ....................................................2
2. Terminology .....................................................2
3. Fault Management ................................................2
3.1. Fault Detection ............................................2
3.2. Diagnosis ..................................................6
3.3. Availability ...............................................7
4. Configuration Management ........................................7
5. Accounting ......................................................7
6. Performance Management ..........................................7
7. Security Management .............................................8
8. Security Considerations .........................................9
9. Acknowledgements ................................................9
10. Normative References ...........................................9
1. Introduction β¨
Okay so this memo explains, in broader terms, how data plane protocols can help meet the Operations and Management (OAM) requirements in [RFC4377] and [Y1710]. It also covers how they apply to the FCAPS management functions (fault, configuration, accounting, performance, and security) for MPLS networks, as defined in [RFC3031]. πΈ
The approach is to lay out the functionality, the potential mechanisms that could provide each function, and the required applicability of data plane OAM functions. The discussion also includes security issues specific to using tools inside a provider domain and to using them on inter-provider Label Switched Paths (LSPs). It's giving thorough, no cap π₯
2. 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 [RFC2119]. π«Ά
Here's the acronym cheat sheet π
OAM Operations and Management
FCAPS Fault management, Configuration management,
Administration management, Performance
management, and Security management
FEC Forwarding Equivalence Class
ILM Incoming Label Map
NHLFE Next Hop Label Forwarding Entry
MIB Management Information Base
LSR Label Switching Router
RTT Round Trip Time
3. Fault Management π§
3.1. Fault Detection π
Fault detection covers identifying all data plane failures between the ingress and egress of an LSP. This section is going to list the common failure scenarios and explain how one might (or might not) detect each situation. Let's get into it! π
3.1.1. Enumeration and Detection of Types of Data Plane Faults π§©
Lower-layer faults:
Lower-layer faults are the ones in the physical or virtual link that affect the transport of MPLS labeled packets between adjacent LSRs at the specific level of interest. Some physical links (like SONET/SDH) may have link-layer OAM functionality and can detect link-layer faults and tell the LSR about them directly. Other physical links (like Ethernet) may not have that capability and need MPLS or IP layer heartbeats to detect failures. Once detected, though, the reaction to these fault notifications is often the same as in the first case. π
Node failures:
Node failures are the ones that affect a node's forwarding capability, including its entire set of links. This can be caused by component failure, power outage, or a reset of the control processor in an LSR using a distributed architecture, etc. π
MPLS LSP mis-forwarding:
Mis-forwarding happens when the data and the control planes in one or more nodes lose synchronization. This can be caused by hardware failure, software failure, or configuration problems. π
It shows up in one of two forms:
- packets belonging to a particular LSP are cross-connected into an NHLFE for which there is no corresponding ILM at the next downstream LSR. This can happen when the NHLFE entry is corrupted. So the packet arrives at the next LSR with a top label value that the LSR has no forwarding information for, and it is typically dropped. This is a No Incoming Label Map (No ILM) condition, and the downstream LSR that receives the incorrectly labeled packet can detect it directly. π
- packets belonging to a particular LSP are cross-connected into an incorrect NHLFE entry. There is a corresponding ILM at the next downstream LSR, but it's associated with a different LSP. This may be detected by the following:
- some or all of the misdirected traffic is not routable at the egress node, or
- OAM probing is able to detect the fault by detecting the inconsistency between the data path and the control plane state. π₯
Discontinuities in the MPLS Encapsulation:
The forwarding path of the FEC carried by an LSP may transit nodes or links where MPLS is not configured. This can lead to a number of behaviors that are undesirable and not easily detected. π¬
- if exposed, the payload is not routable at the LSR, resulting in silent discard, OR
- the exposed MPLS label was not offered by the LSR, which may result in either silent discard or mis-forwarding.
Alternately, the payload may be routable and the packets successfully delivered, but they may bypass the associated MPLS instrumentation and tools. Sneaky, right? π΅οΈββοΈ
MTU problems:
MTU problems happen when client traffic cannot be fragmented by intermediate LSRs and gets dropped somewhere along the LSP's path. MTU problems should appear as a discrepancy in the traffic count between the set of ingress LSRs and the egress LSRs for an FEC. They will also appear in the corresponding MPLS MIB performance tables in the transit LSRs as discarded packets. π
TTL Mishandling:
TTL handling is inconsistent at penultimate hop LSRs. Tools that rely on consistent TTL processing may give inconsistent results in any given network. Not ideal, bestie π
Congestion:
Congestion happens when the offered load on any interface exceeds the link capacity for long enough that the interface buffering runs out. Congestion problems will appear as a discrepancy in the traffic count between the set of ingress LSRs and the egress LSRs for an FEC. They will also show up in the MPLS MIB performance tables in the transit LSRs as discarded packets. π¦
Mis-ordering:
Mis-ordering of LSP traffic happens when incorrect or inappropriate load sharing is implemented within an MPLS network. Load sharing usually happens when multiple equal-cost paths exist between the ingress and egress of an LSP. In these cases, traffic gets split among those equal-cost paths using a variety of algorithms. One such algorithm splits traffic between each path on a per-packet basis. When that's done, some packets along the path can be delayed by congestion or slower links, which may cause packets to arrive out of order at the egress. Detecting and fixing this may be left up to the client applications that use the LSPs. For instance, TCP can re-order packets belonging to a specific flow (although this may cause some of the mis-ordered packets to be re-transmitted). π
Mis-ordering can also be detected by sending probe traffic along the path and checking that all the probe traffic arrives in the order it was sent. This will only catch truly pathological problems, because mis-ordering is typically an insufficiently predictable and repeatable problem. π§
LSRs do not normally implement mechanisms to detect mis-ordering of flows. π ββοΈ
Payload Corruption:
Payload corruption may happen and may go undetected by LSRs. Errors like this are typically caught by client payload integrity mechanisms. π‘οΈ
3.1.2. Timeliness β°
The design of Service Level Agreements (SLAs) and management support systems needs ample headroom in their processing capabilities, so they can handle all the necessary fault conditions within the bounds stipulated in the SLA. This includes planning for event handling with a time budget that accounts for the overall SLA and the time needed to address any defects that come up. Still, some fault conditions may blow past this budget, either because they're catastrophic (e.g., a fibre cut) or because the time processing budget was planned incorrectly. π±
^ --------------
| | ^
| | |---- Time to notify NOC + process/correct
SLA | | v defect
Max - | -------------
Time | | ^
| | |----- Time to diagnose/isolate/correct
| | v
v -------------
Figure 1: Fault Correction Budget
In Figure 1, the overall fault correction time budget is represented by the maximum time specified in an SLA for the service in question. That time is then split into two sections. The first covers the total time needed to detect a fault and notify an operator (or optionally fix the defect automatically). This section may have an explicit maximum time for detecting defects that come from either the application or the need for alarm management (i.e., suppression), and that will show up in how often OAM runs. The second section is the time needed to notify the operational systems used to diagnose, isolate, and correct the defect (if they can't be corrected automatically). π§
3.2. Diagnosis π©Ί
3.2.1. Characterization πΊοΈ
Characterization means working out the forwarding path of a packet, which may not be known in advance. Characterization may be done on a working path through the network. For example, it's done to determine equal-cost multi-paths (ECMP), the MTU of a path, or simply to know which path a specific FEC is taking. Characterization will be able to leverage the mechanisms used for isolation. β¨
3.2.2. Isolation β¨
Okay so isolation of a fault can happen in two different ways π«Ά. In the first case, the local failure gets detected and the node where it happened can totally raise an alarm for it π¨. Like, the node should try to pull the broken resources out and/or fix the situation before it raises the alarm π . Active data plane OAM mechanisms can also spot the failure from far away and raise their own alarms if nothing gets fixed fast enough π.
In the second case, the fault never got detected locally π. So the local node can't raise an alarm, and it isn't expected to fix anything either π. Instead the failure might get caught remotely through data plane OAM π₯. That mechanism should also be able to figure out where the fault is, maybe just from something super limited like a customer complaint π. It may also be able to yank the defective resources out of the network automatically and restore service π¦, but it should at least give a network operator enough info to do that themselves π«Ά. Since we really want faults caught as fast as possible, tools that can incrementally test LSP health should be used to uncover them π§.
3.3. Availability πΈ
Availability is basically the percentage of time a service is operating within its specification, which is often spelled out in an SLA π. Main character energy, honestly π.
MPLS has several forwarding modes (depending on which control plane is in use) π. Because of that, more than one model might get defined, and more than one measurement technique might be needed π.
4. Configuration Management π
Data plane OAM can help with configuration management by letting you verify the configuration of an LSP or of the applications riding on that LSP π§. The idea is an ad-hoc data plane probe that checks path integrity (a complete path exists) and that the path is synchronized with the control plane π₯. As part of its payload, the probe carries relevant control plane information, and the receiver can compare that against its local control plane configuration π«Ά. It's giving detective work π΅οΈββοΈβ¨.
5. Accounting π
The accounting requirements for MPLS networks, as specified in [RFC4377], don't place any requirements on data plane OAM π€·ββοΈ. Not me being chill about it π.
6. Performance Management π¦
Performance management lets you measure the information transfer characteristics of LSPs, maybe so you can compare them against an SLA π. It falls into two categories: latency (where jitter counts as variation in latency) and information loss π.
Latency can be measured in two ways π. One way is to have precisely synchronized clocks at the ingress and egress, so the time-stamps in PDUs flowing from ingress to egress can be compared β±οΈ. The other way is to use an exchange of PING type PDUs that gives a round trip time (RTT) measurement, plus an estimate of the one-way latency that can be inferred with some loss of precision π. Load spreading techniques like ECMP mean any individual RTT measurement is only representative of the typical RTT for an FEC, so keep that in mind π§ .
To measure information loss, a common practice is to periodically read the ingress and egress counters (i.e., MIB module counters) π. That info can also be used for offline correlation π. Another common practice is to send explicit probe traffic that traverses the data plane path in question π. This probe traffic can also measure jitter and delay β.
7. Security Management π
Providing a secure OAM environment is required if MPLS-specific network mechanisms are going to be used successfully π€. Operators have a few options here, including simply filtering OAM messages at the edge of the MPLS network π‘οΈ. Malicious users should not be able to use non-MPLS interfaces to insert MPLS-specific OAM transactions π ββοΈ. Provider-initiated OAM transactions should be able to be blocked from leaking outside the MPLS cloud βοΈ.
Finally, if a provider does want to let OAM messages flow into (or through) their networks, say in a multi-provider deployment, then authentication and authorization are required to prevent malicious and/or unauthorized access π. Also, since MPLS networks often run IP at the same time, similar requirements apply to any native IP OAM network mechanisms in use π». So authentication and authorization for OAM technologies is something that MUST be considered when designing network mechanisms that satisfy the framework in this document π¨β¨.
OAM messaging can address some existing security concerns with the MPLS architecture π«Ά. Through rigorous defect handling, operators can offer their customers a greater degree of integrity protection, meaning their traffic won't be incorrectly delivered (for example, by being able to detect leaking LSP traffic from a VPN) ππ.
Support for inter-provider data plane OAM messaging brings a bunch of security concerns π±. By definition, portions of LSPs won't be inside a single provider's network, so the provider has no control over who can inject traffic into the LSP, and that can be exploited for denial of service attacks π. OAM PDUs aren't explicitly identified in the MPLS header, so transit LSRs don't typically inspect them π. That creates an opening for malicious or poorly behaved users to disrupt network operations π₯.
Attempts to add filtering on target LSP OAM flows may be problematic if the flows aren't visible to intermediate LSRs π« . However, it may be possible to interdict flows on the return path between providers (since faithfulness to the forwarding path is a return path requirement) to mitigate aspects of this vulnerability π‘οΈβ¨.
OAM tools may let unauthorized or malicious users extract significant amounts of information about network configuration π. This would be especially true of IP-based tools, because in many network configurations MPLS doesn't typically extend to untrusted hosts, but IP does π¬. For example, TTL hiding at ingress and egress LSRs will stop external users from using TTL-based mechanisms to probe an operator's network π ββοΈπ. So tools used for problem diagnosis, or tools that by design can extract significant amounts of information, will require authentication and authorization of the originator π. This may impact the scalability of such tools when they're used for monitoring instead of diagnosis π.
8. Security Considerations π‘οΈ
This document describes a framework for MPLS Operations and Management π§. Although it discusses and addresses some security concerns in Section 7, it does not introduce any new security concerns π«Άβ¨.
9. Acknowledgements π
The editors would like to thank Monique Morrow from Cisco Systems and Harmen van Der Linde from AT&T for their valuable review comments on this document ππ.
10. Normative References π
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001.
[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.
[Y1710] ITU-T Recommendation Y.1710(2002), "Requirements for OAM Functionality for MPLS Networks".
Authors' Addresses π
David Allan Nortel Networks 3500 Carling Ave. Ottawa, Ontario, CANADA
Phone: +1-613-763-6362 EMail: dallan@nortel.com
Thomas D. Nadeau Cisco Systems 300 Beaver Brook Drive Boxborough, MA 01824
Phone: +1-978-936-1470 EMail: tnadeau@cisco.com
Full Copyright Statement π
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; nor does it 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 and 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
- ietf: rfc4378 2006-02
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms