rfc9714.original   rfc9714.txt 
MPLS Working Group W. Cheng, Ed. Internet Engineering Task Force (IETF) W. Cheng, Ed.
Internet-Draft China Mobile Request for Comments: 9714 China Mobile
Intended status: Standards Track X. Min, Ed. Category: Standards Track X. Min, Ed.
Expires: 16 March 2025 ZTE Corp. ISSN: 2070-1721 ZTE Corp.
T. Zhou T. Zhou
Huawei Huawei
J. Dai J. Dai
FiberHome FiberHome
Y. Peleg Y. Peleg
Broadcom Broadcom
12 September 2024 January 2025
Encapsulation For MPLS Performance Measurement with Alternate-Marking Encapsulation for MPLS Performance Measurement with the Alternate-
Method Marking Method
draft-ietf-mpls-inband-pm-encapsulation-18
Abstract Abstract
This document defines the encapsulation for MPLS performance This document defines the encapsulation for MPLS performance
measurement with the Alternate-Marking method, which performs flow- measurement with the Alternate-Marking Method, which performs flow-
based packet loss, delay, and jitter measurements on the MPLS based packet loss, delay, and jitter measurements on MPLS traffic.
traffic.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 16 March 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9714.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2. Conventions Used in This Document
2.1. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Abbreviations
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 2.2. Requirements Language
3. Flow-based PM Encapsulation in MPLS . . . . . . . . . . . . . 4 3. Flow-Based PM Encapsulation in MPLS
3.1. Examples for Applying Flow-ID Label in a label stack . . 6 3.1. Examples for Applying Flow-ID Label in a Label Stack
4. Procedures of Encapsulation, Look-up and Decapsulation . . . 8 3.1.1. Layout of the Flow-ID Label when Applied to MPLS
5. Procedures of Flow-ID allocation . . . . . . . . . . . . . . 9 Transport
6. FLC and FRLD Considerations . . . . . . . . . . . . . . . . . 10 3.1.2. Layout of the Flow-ID Label when Applied to MPLS
7. Equal-Cost Multipath Considerations . . . . . . . . . . . . . 11 Service
8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 3.1.3. Layout of the Flow-ID Label when Applied to both MPLS
9. Implementation Status . . . . . . . . . . . . . . . . . . . . 12 Transport and MPLS Service
9.1. Fiberhome . . . . . . . . . . . . . . . . . . . . . . . . 12 4. Procedures of Encapsulation, Look-Up, and Decapsulation
9.2. Huawei Technologies . . . . . . . . . . . . . . . . . . . 13 5. Procedures of Flow-ID Allocation
9.3. ZTE Corp . . . . . . . . . . . . . . . . . . . . . . . . 13 6. FLC and FRLD Considerations
9.4. China Mobile . . . . . . . . . . . . . . . . . . . . . . 14 7. Equal-Cost Multipath Considerations
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 8. Security Considerations
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 9. IANA Considerations
12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 14 10. References
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.1. Normative References
13.1. Normative References . . . . . . . . . . . . . . . . . . 15 10.2. Informative References
13.2. Informative References . . . . . . . . . . . . . . . . . 15 Acknowledgements
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Contributors
Authors' Addresses
1. Introduction 1. Introduction
[RFC9341] describes a performance measurement method, which can be [RFC9341] describes a performance measurement method, which can be
used to measure packet loss, delay, and jitter on data traffic. used to measure packet loss, delay, and jitter on data traffic.
Since this method is based on marking consecutive batches of packets, Since this method is based on marking consecutive batches of packets,
it is referred to as the Alternate-Marking Method. [RFC8372] it is referred to as the Alternate-Marking Method. [RFC8372]
outlines key considerations for developing a solution for MPLS flow outlines key considerations for developing a solution for MPLS flow
identification, intended for use in performance monitoring of MPLS identification, intended for use in performance monitoring of MPLS
flows. flows.
This document defines the encapsulation for MPLS performance This document defines the encapsulation for MPLS performance
measurement with the Alternate-Marking method, which performs flow- measurement with the Alternate-Marking Method, which performs flow-
based packet loss, delay, and jitter measurements on the MPLS based packet loss, delay, and jitter measurements on the MPLS
traffic. The encapsulation defined in this document supports traffic. The encapsulation defined in this document supports
performance monitoring at the intermediate nodes and MPLS flow performance monitoring at the intermediate nodes and MPLS flow
identification at both transport and service layers. identification at both transport and service layers.
Note that in parallel to the work of this document, there is ongoing Note that in parallel to the work of this document, there is ongoing
work on MPLS Network Actions (MNA) [RFC9613]. The MPLS performance work on MPLS Network Actions (MNA) [RFC9613]. The MPLS performance
measurement with the Alternate-Marking method can also be achieved by measurement with the Alternate-Marking Method can also be achieved by
MNA encapsulation. In addition, MNA will provide a broader use case MNA encapsulation. In addition, MNA will provide a broader use-case
applicability. That means the MNA encapsulation is expected to applicability. That means the MNA encapsulation is expected to
provide a more advanced solution, when published as an RFC and it is provide a more advanced solution, when published as an RFC and it is
agreed that this document will be made Historic at that time. agreed that this document will be made Historic at that time.
2. Conventions Used in This Document 2. Conventions Used in This Document
2.1. Abbreviations 2.1. Abbreviations
ACL: Access Control List ACL: Access Control List
BoS: Bottom of Stack BoS: Bottom of Stack
cSPL: Composite Special Purpose Label, the combination of the cSPL: Composite Special Purpose Label, the combination of the
Extension Label (value 15) and an Extended Special Purpose Label Extension Label (value 15) and an Extended Special Purpose Label
DSCP: Differentiated Services Code Point DSCP: Differentiated Services Code Point
ECMP: Equal-Cost Multipath ECMP: Equal-Cost Multipath
ELC: Entropy Label Capability ELC: Entropy Label Capability
ERLD: Entropy Readable Label Depth ERLD: Entropy Readable Label Depth
eSPL: Extended Special Purpose Label, a special-purpose label that is eSPL: Extended Special Purpose Label, a special-purpose label that
placed in the label stack after the Extension Label (value 15) is placed in the label stack after the Extension Label (value 15)
FL: Flow-ID Label FL: Flow-ID Label
FLC: Flow-ID Label Capability FLC: Flow-ID Label Capability
FLI: Flow-ID Label Indicator FLI: Flow-ID Label Indicator
FRLD: Flow-ID Readable Label Depth FRLD: Flow-ID Readable Label Depth
IPFIX: IP Flow Information Export [RFC7011] IPFIX: IP Flow Information Export [RFC7011]
LSP: Label Switched Path LSP: Label Switched Path
LSR: Label Switching Router LSR: Label Switching Router
MPLS: Multi-Protocol Label Switching
NMS: Network Management System MPLS: Multi-Protocol Label Switching
PHP: Penultimate Hop Popping NMS: Network Management System
PM: Performance Measurement PHP: Penultimate Hop Popping
PW: PseudoWire PM: Performance Measurement
SFL: Synonymous Flow Label PW: PseudoWire
SID: Segment ID SFL: Synonymous Flow Label
SR: Segment Routing SID: Segment ID
TC: Traffic Class SR: Segment Routing
TTL: Time to Live TC: Traffic Class
VC: Virtual Channel TTL: Time to Live
VPN: Virtual Private Network VC: Virtual Channel
XL: Extension Label VPN: Virtual Private Network
XL: Extension Label
2.2. Requirements Language 2.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Flow-based PM Encapsulation in MPLS 3. Flow-Based PM Encapsulation in MPLS
This document defines the Flow-based MPLS performance measurement This document defines the Flow-based MPLS performance measurement
encapsulation with alternate marking method, as shown in figure 1. encapsulation with the Alternate-Marking Method, as shown in
Figure 1.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extension Label (15) | TC |S| TTL | | Extension Label (15) | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow-ID Label Indicator (TBA1) | TC |S| TTL | | Flow-ID Label Indicator (18) | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow-ID Label |L|D|T|S| TTL | | Flow-ID Label |L|D|T|S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Flow-based PM Encapsulation in MPLS Figure 1: Flow-based PM Encapsulation in MPLS
The Flow-ID Label Indicator (FLI) is an Extended Special Purpose The Flow-ID Label Indicator (FLI) is an Extended Special Purpose
Label (eSPL), which is combined with the Extension Label (XL, value Label (eSPL), which is combined with the Extension Label (XL, value
15) to form a Composite Special Purpose Label (cSPL), as defined in 15) to form a Composite Special Purpose Label (cSPL), as defined in
[RFC9017]. The FLI is defined in this document as value TBA1. [RFC9017]. The FLI is defined in this document as value 18.
The Traffic Class (TC) and Time To Live (TTL) fields of the XL and The Traffic Class (TC) and Time To Live (TTL) fields of the XL and
FLI MUST use the same values of the label immediately preceding the FLI MUST use the same values of the label immediately preceding the
XL. The Bottom of the Stack (BoS) bit [RFC3032] for the XL and FLI XL. The Bottom of the Stack (BoS) bit [RFC3032] for the XL and FLI
MUST be zero. If any XL or FLI processed by a node has the BoS bit MUST be zero. If any XL or FLI processed by a node has the BoS bit
set, the node MUST discard the packet and MAY log an error. set, the node MUST discard the packet and MAY log an error.
The Flow-ID Label (FL) is used as an MPLS flow identification The Flow-ID Label (FL) is used as an MPLS flow identification
[RFC8372]. Its value MUST be unique within the administrative [RFC8372]. Its value MUST be unique within the administrative
domain. The Flow-ID Label values MAY be allocated by an external NMS domain. The Flow-ID Label values MAY be allocated by an external NMS
skipping to change at page 5, line 36 skipping to change at line 222
the middle, but not at the top, of the MPLS label stack, and it MAY the middle, but not at the top, of the MPLS label stack, and it MAY
appear multiple times within a label stack. Section 3.1 of this appear multiple times within a label stack. Section 3.1 of this
document provides several examples to illustrate the application of document provides several examples to illustrate the application of
FL in a label stack. The TTL for the FL MUST be zero to ensure that FL in a label stack. The TTL for the FL MUST be zero to ensure that
it is not used inadvertently for forwarding. The BoS bit for the FL it is not used inadvertently for forwarding. The BoS bit for the FL
depends on whether the FL is placed at the bottom of the MPLS label depends on whether the FL is placed at the bottom of the MPLS label
stack, i.e., the BoS bit for the FL is set only when the FL is placed stack, i.e., the BoS bit for the FL is set only when the FL is placed
at the bottom of the MPLS label stack. at the bottom of the MPLS label stack.
Besides the flow identification, a color-marking field is also Besides the flow identification, a color-marking field is also
necessary for the Alternate-Marking method. To achieve the purpose necessary for the Alternate-Marking Method. To color the MPLS
of coloring the MPLS traffic, and to distinguish between hop-by-hop traffic and to distinguish between hop-by-hop measurement and edge-
measurement and edge-to-edge measurement, the TC for the FL is to-edge measurement, the TC for the FL is defined as follows:
defined as follows:
* L(oss) bit is used for coloring the MPLS packets for loss * L(oss) bit is used for coloring the MPLS packets for loss
measurement. Setting the bit means color 1 and unsetting the bit measurement. Setting the bit means color 1, and unsetting the bit
means color 0. means color 0.
* D(elay) bit is used for coloring the MPLS packets for delay/jitter * D(elay) bit is used for coloring the MPLS packets for delay/jitter
measurement. Setting the bit means color for delay measurement. measurement. Setting the bit means color for delay measurement.
* T(ype) bit is used to indicate the measurement type. When the T * T(ype) bit is used to indicate the measurement type. When the T
bit is set to 1, that means edge-to-edge performance measurement. bit is set to 1, that means edge-to-edge performance measurement.
When the T bit is set to 0, that means hop-by-hop performance When the T bit is set to 0, that means hop-by-hop performance
measurement. measurement.
Considering the FL is not used as a forwarding label, the repurposing Considering the FL is not used as a forwarding label, the repurposing
of the TC for the FL is feasible and viable. of the TC for the FL is feasible and viable.
3.1. Examples for Applying Flow-ID Label in a label stack 3.1. Examples for Applying Flow-ID Label in a Label Stack
Three examples of different layouts of the Flow-ID label (4 octets) Three examples of different layouts of the Flow-ID label (4 octets)
are illustrated as follows. Note that more examples may exist. are illustrated as follows. Note that more examples may exist.
(1) Layout of the Flow-ID label when applied to MPLS transport. 3.1.1. Layout of the Flow-ID Label when Applied to MPLS Transport
+----------------------+ +----------------------+
| LSP | | LSP |
| Label | | Label |
+----------------------+ <--+ +----------------------+ <--+
| Extension | | | Extension | |
| Label | | | Label | |
+----------------------+ |--- cSPL +----------------------+ |--- cSPL
| Flow-ID Label | | | Flow-ID Label | |
| Indicator | | | Indicator | |
skipping to change at page 6, line 36 skipping to change at line 269
| Label | | Label |
+----------------------+ +----------------------+
| Application | | Application |
| Label | | Label |
+----------------------+ <= Bottom of stack +----------------------+ <= Bottom of stack
| | | |
| Payload | | Payload |
| | | |
+----------------------+ +----------------------+
Figure 2: Applying Flow-ID to MPLS transport Figure 2: Applying Flow-ID to MPLS Transport
With penultimate hop popping (PHP, Section 3.16 of [RFC3031]) the top With penultimate hop popping (PHP Section 3.16 of [RFC3031]), the top
label is "popped at the penultimate LSR of the LSP, rather than at label is "popped at the penultimate LSR of the LSP, rather than at
the LSP Egress". Since Section 4 of the present document, final the LSP Egress". The final bullet of Section 4 of the present
bullet, requires that "The processing node MUST pop the XL, FLI and document requires that "[t]he processing node MUST pop the XL, FLI,
FL from the MPLS label stack when it needs to pop the preceding and FL from the MPLS label stack when it needs to pop the preceding
forwarding label", this implies that the penultimate Label Switching forwarding label", which implies that the penultimate Label Switching
Router (LSR) needs to follow the requirement of Section 4 in order to Router (LSR) needs to follow the requirement of Section 4 in order to
support this specification. If this is done, the egress LSR would be support this specification. If this is done, the egress LSR is
excluded from the performance measurement. Therefore, when this excluded from the performance measurement. Therefore, when this
specification is in use PHP should be disabled, unless the specification is in use, PHP should be disabled, unless the
penultimate LSR is known to have the necessary support, and unless penultimate LSR is known to have the necessary support and unless
it's acceptable to exclude the egress LSR. it's acceptable to exclude the egress LSR.
Also note that in other examples of applying Flow-ID to MPLS Also note that in other examples of applying Flow-ID to MPLS
transport, one LSP label can be substituted by multiple SID labels in transport, one LSP label can be substituted by multiple SID labels in
the case of using SR Policy, and the combination of cSPL and Flow-ID the case of using SR Policy, and the combination of cSPL and Flow-ID
label can be placed between SID labels, as specified in Section 6. label can be placed between SID labels, as specified in Section 6.
(2) Layout of the Flow-ID label when applied to MPLS service. 3.1.2. Layout of the Flow-ID Label when Applied to MPLS Service
+----------------------+ +----------------------+
| LSP | | LSP |
| Label | | Label |
+----------------------+ +----------------------+
| Application | | Application |
| Label | | Label |
+----------------------+ <--+ +----------------------+ <--+
| Extension | | | Extension | |
| Label | | | Label | |
skipping to change at page 7, line 33 skipping to change at line 312
| Indicator | | | Indicator | |
+----------------------+ <--+ +----------------------+ <--+
| Flow-ID | | Flow-ID |
| Label | | Label |
+----------------------+ <= Bottom of stack +----------------------+ <= Bottom of stack
| | | |
| Payload | | Payload |
| | | |
+----------------------+ +----------------------+
Figure 3: Applying Flow-ID to MPLS service Figure 3: Applying Flow-ID to MPLS Service
Note that in this case, the application label can be an MPLS PW Note that in this case, the application label can be an MPLS PW
label, MPLS Ethernet VPN label or MPLS IP VPN label, and it is also label, MPLS Ethernet VPN label, or MPLS IP VPN label, and it is also
called a VC label as defined in [RFC4026]. called a VC label as defined in [RFC4026].
(3) Layout of the Flow-ID label when applied to both MPLS transport 3.1.3. Layout of the Flow-ID Label when Applied to both MPLS Transport
and MPLS service. and MPLS Service
+----------------------+ +----------------------+
| LSP | | LSP |
| Label | | Label |
+----------------------+ <--+ +----------------------+ <--+
| Extension | | | Extension | |
| Label | | | Label | |
+----------------------+ |--- cSPL +----------------------+ |--- cSPL
| Flow-ID Label | | | Flow-ID Label | |
| Indicator | | | Indicator | |
skipping to change at page 8, line 35 skipping to change at line 351
| Indicator | | | Indicator | |
+----------------------+ <--+ +----------------------+ <--+
| Flow-ID | | Flow-ID |
| Label | | Label |
+----------------------+ <= Bottom of stack +----------------------+ <= Bottom of stack
| | | |
| Payload | | Payload |
| | | |
+----------------------+ +----------------------+
Figure 4: Applying Flow-ID to both MPLS transport and MPLS service Figure 4: Applying Flow-ID to both MPLS Transport and MPLS Service
Note that for this example, the two Flow-ID Label values appearing in Note that for this example, the two Flow-ID Label values appearing in
a label stack must be different. In other words, the Flow-ID label a label stack must be different. In other words, the Flow-ID label
applied to the MPLS transport and the Flow-ID label applied to the applied to the MPLS transport and the Flow-ID label applied to the
MPLS service must be different. Also, note that the two Flow-ID MPLS service must be different. Also, note that the two Flow-ID
label values are independent of each other. For example, two packets label values are independent of each other. For example, two packets
can belong to the same VPN flow but different LSP flows, or two can belong to the same VPN flow but different LSP flows, or two
packets can belong to different VPN flows but the same LSP flow. packets can belong to different VPN flows but the same LSP flow.
4. Procedures of Encapsulation, Look-up and Decapsulation 4. Procedures of Encapsulation, Look-Up, and Decapsulation
The procedures for Flow-ID label encapsulation, look-up and The procedures for Flow-ID label encapsulation, look-up, and
decapsulation are summarized as follows: decapsulation are summarized as follows:
* The MPLS ingress node [RFC3031] inserts the XL, FLI and FL into * The MPLS ingress node [RFC3031] inserts the XL, FLI, and FL into
the MPLS label stack. At the same time, the ingress node sets the the MPLS label stack. At the same time, the ingress node sets the
Flow-ID Label value, the two color-marking bits and the T bit, as Flow-ID Label value, the two color-marking bits, and the T bit, as
defined in Section 3. defined in Section 3.
* If the edge-to-edge measurement is applied, i.e., the T bit is set * If edge-to-edge measurement is applied, i.e., the T bit is set to
to 1, then only the MPLS ingress/egress node [RFC3031] is the 1, then only the MPLS ingress/egress node [RFC3031] is the
processing node, otherwise all the MPLS nodes along the LSP are processing node; otherwise, all the MPLS nodes along the LSP are
the processing nodes. The processing node looks up the FL with the processing nodes. The processing node looks up the FL with
the help of the XL and FLI, and exports the collected data, such the help of the XL and FLI, and exports the collected data (such
as the Flow-ID, block counters and timestamps, to an external NMS/ as the Flow-ID, block counters, and timestamps) to an external
controller, referring to the Alternate-Marking method. Section 6 NMS/controller, referring to the Alternate-Marking Method.
of [I-D.ietf-ippm-alt-mark-deployment] describes protocols for Section 6 of [ALT-MARK] describes protocols for collected data
collected data export, and the details on how to export the export; the details on how to export the collected data are
collected data are outside the scope of this document. Note that outside the scope of this document. Note that while looking up
while looking up the Flow-ID label, the transit node needs to the Flow-ID label, the transit node needs to perform some deep
perform some deep labels inspection beyond the label (at the top labels inspection beyond the label (at the top of the label stack)
of the label stack) used to make forwarding decisions. used to make forwarding decisions.
* The processing node MUST pop the XL, FLI and FL from the MPLS * The processing node MUST pop the XL, FLI, and FL from the MPLS
label stack when it needs to pop the preceding forwarding label. label stack when it needs to pop the preceding forwarding label.
The egress node MUST pop the whole MPLS label stack, and this The egress node MUST pop the whole MPLS label stack. This
document doesn't introduce any new process to the decapsulated document doesn't introduce any new process to the decapsulated
packet. packet.
5. Procedures of Flow-ID allocation 5. Procedures of Flow-ID Allocation
There are at least two ways of allocating Flow-ID. One way is to There are at least two ways of allocating Flow-ID. One way is to
allocate Flow-ID by a manual trigger from the network operator, and allocate Flow-ID by a manual trigger from the network operator, and
the other way is to allocate Flow-ID by an automatic trigger from the the other way is to allocate Flow-ID by an automatic trigger from the
ingress node. Details are as follows: ingress node. Details are as follows:
* In the case of a manual trigger, the network operator would * In the case of a manual trigger, the network operator manually
manually input the characteristics (e.g. IP five tuples and IP inputs the characteristics (e.g., IP five tuples and IP DSCP) of
DSCP) of the measured flow, then the NMS/controller would generate the measured flow; then the NMS/controller generates one or two
one or two Flow-IDs based on the input from the network operator, Flow-IDs based on the input from the network operator and
and provision the ingress node with the characteristics of the provisions the ingress node with the characteristics of the
measured flow and the corresponding allocated Flow-ID(s). measured flow and the corresponding allocated Flow-ID(s).
* In the case of an automatic trigger, the ingress node would * In the case of an automatic trigger, the ingress node identifies
identify the flow entering the measured path, export the the flow entering the measured path and exports the
characteristics of the identified flow to the NMS/controller by characteristics of the identified flow to the NMS/controller by
IPFIX [RFC7011], then the NMS/controller would generate one or two IPFIX [RFC7011]; then the NMS/controller generates one or two
Flow-IDs based on the characteristics exported from the ingress Flow-IDs based on the characteristics exported from the ingress
node, and provision the ingress node with the characteristics of node and provisions the ingress node with the characteristics of
the identified flow and the corresponding allocated Flow-ID(s). the identified flow and the corresponding allocated Flow-ID(s).
The policy pre-configured at the NMS/controller decides whether one The policy preconfigured at the NMS/controller decides whether one
Flow-ID or two Flow-IDs would be generated. If the performance Flow-ID or two Flow-IDs are generated. If the performance
measurement on the MPLS service is enabled, then one Flow-ID applied measurement on the MPLS service is enabled, then one Flow-ID applied
to the MPLS service would be generated. If the performance to the MPLS service is generated. If the performance measurement on
measurement on the MPLS transport is enabled, then one Flow-ID the MPLS transport is enabled, then one Flow-ID applied to the MPLS
applied to the MPLS transport would be generated. If both of them transport is generated. If both of them are enabled, then two Flow-
are enabled, then two Flow-IDs are respectively applied to the MPLS IDs are respectively applied to the MPLS service and the MPLS
service and the MPLS transport would be generated. In this case, a transport are generated. In this case, a transit node needs to look
transit node needs to look up both of the two Flow-IDs by default. up both of the two Flow-IDs by default. However, this behavior can
However, this behaviour can be changed through configuration, such as be changed through configuration, such as by setting it to look up
by setting it to look up only the Flow-ID applied to the MPLS only the Flow-ID applied to the MPLS transport.
transport.
Whether using the two methods mentioned above or other methods to Whether using the two methods mentioned above or other methods to
allocate Flow-ID, the NMS/controller MUST ensure that every generated allocate Flow-ID, the NMS/controller MUST ensure that every generated
Flow-ID is unique within the administrative domain and MUST NOT have Flow-ID is unique within the administrative domain and MUST NOT have
any value in the reserved label space (0-15) [RFC3032]. any value in the reserved label space (0-15) [RFC3032].
Specifically, the statement of "Flow-ID is unique" means that the Specifically, the statement of "Flow-ID is unique" means that the
values of Flow-ID are distinct and non-redundant for any flow at any values of Flow-ID are distinct and non-redundant for any flow at any
given time within an administrative domain, such that no two flows given time within an administrative domain, such that no two flows
share the same Flow-ID. This uniqueness ensures that each flow can share the same Flow-ID. This uniqueness ensures that each flow can
be individually identified, tracked, and differentiated from others be individually identified, tracked, and differentiated from others
skipping to change at page 11, line 19 skipping to change at line 467
implementation MAY allow the ingress node to place FL between SID implementation MAY allow the ingress node to place FL between SID
labels. This means that multiple identical FLs at different depths labels. This means that multiple identical FLs at different depths
MAY be interleaved with SID labels. When this occurs, sophisticated MAY be interleaved with SID labels. When this occurs, sophisticated
network planning may be needed, which is beyond the scope of this network planning may be needed, which is beyond the scope of this
document. document.
7. Equal-Cost Multipath Considerations 7. Equal-Cost Multipath Considerations
Analogous to what's described in Section 5 of [RFC8957], under Analogous to what's described in Section 5 of [RFC8957], under
conditions of Equal-Cost Multipath (ECMP), the introduction of the FL conditions of Equal-Cost Multipath (ECMP), the introduction of the FL
may lead to the same problem as caused by the Synonymous Flow Label may lead to the same problem that is caused by the Synonymous Flow
(SFL) [RFC8957]. The two solutions proposed for SFL would also apply Label (SFL) [RFC8957]. The two solutions proposed for SFL also apply
here. Specifically, adding FL to an existing flow may cause that here. Specifically, adding FL to an existing flow may cause that
flow to take a different path. If the operator expects to resolve flow to take a different path. If the operator expects to resolve
this problem, they can choose to apply entropy labels [RFC6790] or this problem, they can choose to apply entropy labels [RFC6790] or
add FL to all flows. add FL to all flows.
8. Security Considerations 8. Security Considerations
As specified in Section 7.1 of [RFC9341], "for security reasons, the As specified in Section 7.1 of [RFC9341], "for security reasons, the
Alternate-Marking Method MUST only be applied to controlled domains". Alternate-Marking Method MUST only be applied to controlled domains."
That requirement applies when the MPLS performance measurement with This requirement applies when the MPLS performance measurement with
Alternate-Marking Method is taken into account, which means the MPLS Alternate-Marking Method is taken into account, which means the MPLS
encapsulation and related procedures defined in this document MUST encapsulation and related procedures defined in this document MUST
only be applied to controlled domains, otherwise the potential only be applied to controlled domains; otherwise, the potential
attacks discussed in Section 10 of [RFC9341] may be applied to the attacks discussed in Section 10 of [RFC9341] may be applied to the
deployed MPLS networks. deployed MPLS networks.
As specified in Section 3, the value of a Flow-ID label MUST be As specified in Section 3, the value of a Flow-ID label MUST be
unique within the administrative domain. In other words, the unique within the administrative domain. In other words, the
administrative domain is the scope of a Flow-ID label. The method administrative domain is the scope of a Flow-ID label. The method
for achieving multi-domain performance measurement with the same for achieving multi-domain performance measurement with the same
Flow-ID label is outside the scope of this document. The Flow-ID Flow-ID label is outside the scope of this document. The Flow-ID
label MUST NOT be signaled and distributed outside the administrative label MUST NOT be signaled and distributed outside the administrative
domain. Improper configuration that allows the Flow-ID label to be domain. Improper configuration that allows the Flow-ID label to be
passed from one administrative domain to another would result in passed from one administrative domain to another would result in
Flow-ID conflicts. Flow-ID conflicts.
To prevent packets carrying Flow-ID labels from leaking from one To prevent packets carrying Flow-ID labels from leaking from one
domain to another, domain boundary nodes MUST deploy policies (e.g., domain to another, domain boundary nodes MUST deploy policies (e.g.,
ACL) to filter out these packets. Specifically, at the sending edge, ACL) to filter out these packets. Specifically, at the sending edge,
the domain boundary node MUST filter out the packets that carry the the domain boundary node MUST filter out the packets that carry the
Flow-ID Label Indicator and are sent to other domains. At the Flow-ID Label Indicator and are sent to other domains. At the
receiving edge, the domain boundary node MUST drop the packets that receiving edge, the domain boundary node MUST drop the packets that
carry the Flow-ID Label Indicator and are from other domains. Note carry the Flow-ID Label Indicator and are from other domains. Note
that packet leakage is neither breaching privacy nor can be a source that packet leakage is neither breaching privacy nor a source of DoS.
of DoS.
9. Implementation Status
[Note to the RFC Editor - remove this section before publication, as
well as remove the reference to [RFC7942].
This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in [RFC7942].
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.
According to [RFC7942], "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature.
It is up to the individual working groups to use this information as
they see fit".
9.1. Fiberhome
* Organization: Fiberhome Corporation.
* Implementation: Fiberhome R82*, R800*, S680*, S780* series routers
are running the common-building block 'Flow-based PM Encapsulation
in MPLS'.
* Maturity Level: Product
* Coverage: Partial, section 3 and example (2) of section 3.1.
* Version: Draft-08
* Licensing: N/A
* Implementation experience: Nothing specific.
* Contact: djy@fiberhome.com
* Last updated: December 25, 2023
9.2. Huawei Technologies
* Organization: Huawei Technologies.
* Implementation: Huawei ATN8XX, ATN910C, ATN980B, CX600-M2, NE40E,
ME60-X1X2, ME60-X3X8X16 Routers running VRPV800R021C00 or above.
Huawei NCE-IP Controller running V1R21C00 or above.
* Maturity Level: Product
* Coverage: Partial, section 3 and example (2) of section 3.1.
* Version: Draft-08
* Licensing: N/A
* Implementation experience: Nothing specific.
* Contact: zhoutianran@huawei.com
* Last updated: January 10, 2024
9.3. ZTE Corp
* Organization: ZTE Corporation.
* Implementation: ZTE ZXCTN 6500-32 routers running V5.00.20 or
above. ZTE ZXCTN 6170H routers running V5.00.30.20 or above. ZTE
ElasticNet UME Controller running V16.22.20 or above.
* Maturity Level: Product
* Coverage: Partial, section 3 and example (2) of section 3.1.
* Version: Draft-08
* Licensing: N/A
* Implementation experience: Nothing specific.
* Contact: xiao.min2@zte.com.cn
* Last updated: January 22, 2024
9.4. China Mobile
China Mobile reported that they have conducted interconnection tests
with multiple vendors according to this draft. The tests result have
proven that the solutions from multiple vendors are mature and ready
for large-scale deployment. This report was last updated on January
10, 2024.
10. IANA Considerations
From the "Extended Special-Purpose MPLS Label Values" registry in the
"Special-Purpose Multiprotocol Label Switching (MPLS) Label Values"
namespace, a new value for the Flow-ID Label Indicator is requested
from IANA as follows:
+================================+=================+===========+
| Value | Description | Reference |
+================================+=================+===========+
| TBA1 (value 18 is recommended) | Flow-ID Label | This |
| | Indicator (FLI) | Document |
+--------------------------------+-----------------+-----------+
Table 1: New Extended Special-Purpose MPLS Label Value for
Flow-ID Label Indicator
11. Acknowledgements
The authors would like to acknowledge Loa Andersson, Tarek Saad,
Stewart Bryant, Rakesh Gandhi, Greg Mirsky, Aihua Liu, Shuangping
Zhan, Ming Ke, Wei He, Ximing Dong, Darren Dukes, Tony Li, James
Guichard, Daniele Ceccarelli, Eric Vyncke, John Scudder, Gunter van
de Velde, Roman Danyliw, Warren Kumari, Murray Kucherawy, Deb Cooley,
Zaheduzzaman Sarker, and Deboraha Brungard for their careful review
and very helpful comments.
They also wish to acknowledge Italo Busi and Chandrasekar 9. IANA Considerations
Ramachandran for their insightful MPLS-RT review and constructive
comments.
Additionally, the authors would like to thank Dhruv Dhody for the IANA has assigned the following value in the "Extended Special-
English grammar review. Purpose MPLS Label Values" registry within the "Special-Purpose
Multiprotocol Label Switching (MPLS) Label Values" registry group:
12. Contributors +=======+===============================+===========+
| Value | Description | Reference |
+=======+===============================+===========+
| 18 | Flow-ID Label Indicator (FLI) | RFC 9714 |
+-------+-------------------------------+-----------+
Minxue Wang Table 1: New Extended Special-Purpose MPLS Label
China Mobile Value for Flow-ID Label Indicator
Email: wangminxue@chinamobile.com
Wen Ye
China Mobile
Email: yewen@chinamobile.com
13. References 10. References
13.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
Label Switching Architecture", RFC 3031, Label Switching Architecture", RFC 3031,
DOI 10.17487/RFC3031, January 2001, DOI 10.17487/RFC3031, January 2001,
<https://www.rfc-editor.org/info/rfc3031>. <https://www.rfc-editor.org/info/rfc3031>.
skipping to change at page 15, line 36 skipping to change at line 547
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9017] Andersson, L., Kompella, K., and A. Farrel, "Special- [RFC9017] Andersson, L., Kompella, K., and A. Farrel, "Special-
Purpose Label Terminology", RFC 9017, Purpose Label Terminology", RFC 9017,
DOI 10.17487/RFC9017, April 2021, DOI 10.17487/RFC9017, April 2021,
<https://www.rfc-editor.org/info/rfc9017>. <https://www.rfc-editor.org/info/rfc9017>.
13.2. Informative References 10.2. Informative References
[I-D.ietf-ippm-alt-mark-deployment] [ALT-MARK] Fioccola, G., Zhu, K., Graf, T., Nilo, M., and L. Zhang,
Fioccola, G., Keyi, Z., Graf, T., Nilo, M., and L. Zhang,
"Alternate Marking Deployment Framework", Work in "Alternate Marking Deployment Framework", Work in
Progress, Internet-Draft, draft-ietf-ippm-alt-mark- Progress, Internet-Draft, draft-ietf-ippm-alt-mark-
deployment-01, 3 July 2024, deployment-02, 9 October 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-ippm- <https://datatracker.ietf.org/doc/html/draft-ietf-ippm-
alt-mark-deployment-01>. alt-mark-deployment-02>.
[RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual [RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual
Private Network (VPN) Terminology", RFC 4026, Private Network (VPN) Terminology", RFC 4026,
DOI 10.17487/RFC4026, March 2005, DOI 10.17487/RFC4026, March 2005,
<https://www.rfc-editor.org/info/rfc4026>. <https://www.rfc-editor.org/info/rfc4026>.
[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
L. Yong, "The Use of Entropy Labels in MPLS Forwarding", L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
RFC 6790, DOI 10.17487/RFC6790, November 2012, RFC 6790, DOI 10.17487/RFC6790, November 2012,
<https://www.rfc-editor.org/info/rfc6790>. <https://www.rfc-editor.org/info/rfc6790>.
[RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
"Specification of the IP Flow Information Export (IPFIX) "Specification of the IP Flow Information Export (IPFIX)
Protocol for the Exchange of Flow Information", STD 77, Protocol for the Exchange of Flow Information", STD 77,
RFC 7011, DOI 10.17487/RFC7011, September 2013, RFC 7011, DOI 10.17487/RFC7011, September 2013,
<https://www.rfc-editor.org/info/rfc7011>. <https://www.rfc-editor.org/info/rfc7011>.
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", BCP 205,
RFC 7942, DOI 10.17487/RFC7942, July 2016,
<https://www.rfc-editor.org/info/rfc7942>.
[RFC8372] Bryant, S., Pignataro, C., Chen, M., Li, Z., and G. [RFC8372] Bryant, S., Pignataro, C., Chen, M., Li, Z., and G.
Mirsky, "MPLS Flow Identification Considerations", Mirsky, "MPLS Flow Identification Considerations",
RFC 8372, DOI 10.17487/RFC8372, May 2018, RFC 8372, DOI 10.17487/RFC8372, May 2018,
<https://www.rfc-editor.org/info/rfc8372>. <https://www.rfc-editor.org/info/rfc8372>.
[RFC8662] Kini, S., Kompella, K., Sivabalan, S., Litkowski, S., [RFC8662] Kini, S., Kompella, K., Sivabalan, S., Litkowski, S.,
Shakir, R., and J. Tantsura, "Entropy Label for Source Shakir, R., and J. Tantsura, "Entropy Label for Source
Packet Routing in Networking (SPRING) Tunnels", RFC 8662, Packet Routing in Networking (SPRING) Tunnels", RFC 8662,
DOI 10.17487/RFC8662, December 2019, DOI 10.17487/RFC8662, December 2019,
<https://www.rfc-editor.org/info/rfc8662>. <https://www.rfc-editor.org/info/rfc8662>.
skipping to change at page 16, line 47 skipping to change at line 598
[RFC9341] Fioccola, G., Ed., Cociglio, M., Mirsky, G., Mizrahi, T., [RFC9341] Fioccola, G., Ed., Cociglio, M., Mirsky, G., Mizrahi, T.,
and T. Zhou, "Alternate-Marking Method", RFC 9341, and T. Zhou, "Alternate-Marking Method", RFC 9341,
DOI 10.17487/RFC9341, December 2022, DOI 10.17487/RFC9341, December 2022,
<https://www.rfc-editor.org/info/rfc9341>. <https://www.rfc-editor.org/info/rfc9341>.
[RFC9613] Bocci, M., Ed., Bryant, S., and J. Drake, "Requirements [RFC9613] Bocci, M., Ed., Bryant, S., and J. Drake, "Requirements
for Solutions that Support MPLS Network Actions (MNAs)", for Solutions that Support MPLS Network Actions (MNAs)",
RFC 9613, DOI 10.17487/RFC9613, August 2024, RFC 9613, DOI 10.17487/RFC9613, August 2024,
<https://www.rfc-editor.org/info/rfc9613>. <https://www.rfc-editor.org/info/rfc9613>.
Acknowledgements
The authors acknowledge Loa Andersson, Tarek Saad, Stewart Bryant,
Rakesh Gandhi, Greg Mirsky, Aihua Liu, Shuangping Zhan, Ming Ke, Wei
He, Ximing Dong, Darren Dukes, Tony Li, James Guichard, Daniele
Ceccarelli, Eric Vyncke, John Scudder, Gunter van de Velde, Roman
Danyliw, Warren Kumari, Murray Kucherawy, Deb Cooley, Zaheduzzaman
Sarker, and Deboraha Brungard for their careful review and very
helpful comments.
They also acknowledge Italo Busi and Chandrasekar Ramachandran for
their insightful MPLS-RT review and constructive comments.
Additionally, the authors thank Dhruv Dhody for the English grammar
review.
Contributors
Minxue Wang
China Mobile
Email: wangminxue@chinamobile.com
Wen Ye
China Mobile
Email: yewen@chinamobile.com
Authors' Addresses Authors' Addresses
Weiqiang Cheng (editor) Weiqiang Cheng (editor)
China Mobile China Mobile
Beijing Beijing
China China
Email: chengweiqiang@chinamobile.com Email: chengweiqiang@chinamobile.com
Xiao Min (editor) Xiao Min (editor)
ZTE Corp. ZTE Corp.
 End of changes. 90 change blocks. 
310 lines changed or deleted 201 lines changed or added

This html diff was produced by rfcdiff 1.48.