RFC 9613: Requirements for Solutions that Support MPLS Network Actions (MNAs)
- M. Bocci, Ed.,
- S. Bryant,
- J. Drake
Abstract
This document specifies requirements for the development of MPLS Network Actions (MNAs) that affect the forwarding or other processing of MPLS packets. These requirements are informed by a number of proposals for additions to the MPLS information in the labeled packet to allow such actions to be performed, either by a transit or terminating Label Switching Router (i.e., the Label Edge Router - LER).¶
Status of This Memo
This document is not an Internet Standards Track specification; it is published for informational purposes.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
There is significant interest in developing the MPLS data plane to
address the requirements of new use cases [MNA-USECASES]. This requires a
general mechanism, termed MPLS Network Actions (MNAs), to allow the network to make a forwarding or
processing decision based on information other than the top label and Traffic Class (TC) bits, and to
also make use of the Network Action Indicator (NAI) and ancillary data (MNA information).
These use cases require the definition of extensions to the MPLS architecture and label-stack operations that can be used across these use cases in order to minimize implementation
complexity and promote interoperabilit
Note that the MPLS architecture specified in [RFC3031] describes a mechanism for forwarding MPLS packets through a network without requiring any analysis of the MPLS packet payload's network layer header by intermediate nodes (Label Switching Routers - LSRs). Formally, inspection may only occur at network ingress (the Label Edge Router - LER) where the MPLS packet is assigned to a Forwarding Equivalence Class (FEC).¶
This document specifies the requirements for solutions that encode MNAs and ancillary data that may be needed to process those actions. These requirements are informed by a number of proposals to allow additions to the MPLS information in the labeled packet so that such actions can be performed, either by a transit or terminating LSR. It is anticipated that these will result in two types of solution specifications:¶
- MNA solution specification:
- A specification that describes a common protocol that supports all forms of MNAs.¶
- Network Action solution specifications:
- One or more specifications describing the protocol extensions for the MNA solution to address a use case.¶
The term 'solutions', in isolation, refers to both MNA and Network Action solutions.
The requirements constrain the MNA solution design to enable interoperabilit
1.1. Terminology
- Network Action (NA):
- An operation to be performed on an MPLS packet or as a consequence of an MPLS packet being processed by a router. An NA may affect router state or MPLS packet forwarding, or it may affect the MPLS packet in some other way.¶
- Network Action Indicator (NAI):
- An indication in the MPLS packet that a certain NA is to be performed.¶
- Ancillary Data (AD):
-
Data in an MPLS packet associated with a given NA that may be used as input to process the NA or may result from processing the NA. Ancillary data may be associated with:¶
- In-Stack Data:
- Ancillary data carried within the MPLS label stack.¶
- Post-Stack Data:
- Ancillary data carried in an MPLS packet between the bottom of the MPLS label stack and the first octet of the user payload. This document does not prescribe whether post-stack data precedes or follows any other post-stack header such as a Control Word or Associated Channel Header (ACH).¶
- Scope:
- The set of nodes that should perform a given action.¶
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Although this document is not a protocol specification, this convention is adopted for clarity of description of requirements.¶
3. MPLS Network Action Requirements
This document specifies requirements on MNAs and the technology to support them in MPLS, such as NAIs, the associated AD, and the alert mechanism to indicate to an LSR that NAIs are present in an MPLS packet.¶
The requirements are for the behavior of the protocol mechanisms and procedures that constitute building blocks out of which indicators for a NA and associated ancillary data are constructed. It does not specify the detailed actions and processing of any NAs or ancillary data by an LSR or LER.¶
The size of the ancillary data carried post-stack end to end in an MPLS packet is a matter for agreement between the ingress and egress provider edges (PEs), and is not part of these requirements. Since in-stack ancillary data and per-hop post-stack data need to be parsed and processed by transit LSRs along the Label Switched Path (LSP), requirements on the size of such ancillary data are documented in the following sections.¶
4. IANA Considerations
This document has no IANA actions.¶
5. Security Considerations
Solutions designed according to the requirements in this document may introduce new security considerations to MPLS, whose forwarding plane on its own does not provide any built-in security mechanisms [RFC5920].¶
In particular, such solutions may embed information derived from the MPLS payload in the MPLS headers. This may expose data that a user of the MPLS-based service might otherwise assume is opaque to the MPLS network. Furthermore, an LSR may insert information into the labeled packet such that the forwarding behavior is no longer purely a function of the top label or another label with forwarding context. Instead, the forwarding behavior may be the result of a more complex heuristic. This creates an implicit trust relationship between the LSR whose forwarding behavior is being changed and the upstream LSR inserting the data causing that change.¶
Several requirements above address some of these considerations. The MNA framework [MNA-FRAMEWORK] also provides security considerations resulting from any extensions to the MPLS architecture, and these SHOULD be taken together with the security considerations herein.¶
Individual solution specifications meeting the requirements in this document MUST address any security considerations introduced by the MNA design.¶
6. Acknowledgements
The authors gratefully acknowledge the contributions from Joel Halpern, Greg Mirsky, Yingzhen Qu, Haoyu Song, Tarek Saad, Loa Andersson, Tony Li, Adrian Farrel, Jie Dong, Bruno Decraene, and participants in the MPLS Working Group who have provided comments.¶
The authors also gratefully acknowledge the input of the members of the MPLS Open Design Team.¶
7. References
7.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC3031]
-
Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, DOI 10
.17487 , , <https:///RFC3031 www >..rfc -editor .org /info /rfc3031 - [RFC3032]
-
Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10
.17487 , , <https:///RFC3032 www >..rfc -editor .org /info /rfc3032 - [RFC5331]
-
Aggarwal, R., Rekhter, Y., and E. Rosen, "MPLS Upstream Label Assignment and Context
-Specific Label Space" , RFC 5331, DOI 10.17487 , , <https:///RFC5331 www >..rfc -editor .org /info /rfc5331 - [RFC8126]
-
Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10
.17487 , , <https:///RFC8126 www >..rfc -editor .org /info /rfc8126 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174
7.2. Informative References
- [MNA-FRAMEWORK]
-
Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS Network Actions (MNA) Framework", Work in Progress, Internet-Draft, draft
-ietf , , <https://-mpls -mna -fwk -10 datatracker >..ietf .org /doc /html /draft -ietf -mpls -mna -fwk -10 - [MNA-USECASES]
-
Saad, T., Makhijani, K., Song, H., and G. Mirsky, "Use Cases for MPLS Network Action Indicators and MPLS Ancillary Data", Work in Progress, Internet-Draft, draft
-ietf , , <https://-mpls -mna -usecases -10 datatracker >..ietf .org /doc /html /draft -ietf -mpls -mna -usecases -10 - [RFC3552]
-
Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", BCP 72, RFC 3552, DOI 10
.17487 , , <https:///RFC3552 www >..rfc -editor .org /info /rfc3552 - [RFC5586]
-
Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., "MPLS Generic Associated Channel", RFC 5586, DOI 10
.17487 , , <https:///RFC5586 www >..rfc -editor .org /info /rfc5586 - [RFC5920]
-
Fang, L., Ed., "Security Framework for MPLS and GMPLS Networks", RFC 5920, DOI 10
.17487 , , <https:///RFC5920 www >..rfc -editor .org /info /rfc5920 - [RFC6790]
-
Kompella, K., Drake, J., Amante, S., Henderickx, W., and L. Yong, "The Use of Entropy Labels in MPLS Forwarding", RFC 6790, DOI 10
.17487 , , <https:///RFC6790 www >..rfc -editor .org /info /rfc6790 - [RFC6973]
-
Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., Morris, J., Hansen, M., and R. Smith, "Privacy Considerations for Internet Protocols", RFC 6973, DOI 10
.17487 , , <https:///RFC6973 www >..rfc -editor .org /info /rfc6973 - [RFC9088]
-
Xu, X., Kini, S., Psenak, P., Filsfils, C., Litkowski, S., and M. Bocci, "Signaling Entropy Label Capability and Entropy Readable Label Depth Using IS-IS", RFC 9088, DOI 10
.17487 , , <https:///RFC9088 www >..rfc -editor .org /info /rfc9088