MPLS S. Bryant Internet-Draft G. Swallow Intended status: Standards Track S. Sivabalan Expires: January 4, 2016 Cisco Systems G. Mirsky Ericsson M. Chen Z. Li Huawei July 3, 2015 RFC6374 Synonymous Flow Labels draft-bryant-mpls-synonymous-flow-labels-01 Abstract [Editor's note - there was a comment that synonymous was not the right term because synonymous implied a greater degree of interchangeability than is actually the case (there is only one way interchangeability). I have looked for other terms, and so far I have only come up with enhanced and multi-purpose, but they are not quite right either. I plan to continue with the term unless anyone has a better idea.] This document describes a method of providing flow identification information when making RFC6374 performance measurements. This allows RFC6374 measurements to be made on multi-point to point LSPs and allows the measurement of flows within an MPLS construct using RFC6374. Status of This Memo This Internet-Draft is submitted in full conformance with the 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 http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 4, 2016. Bryant, et al. Expires January 4, 2016 [Page 1] Internet-Draft Synonymous Labels July 2015 Copyright Notice Copyright (c) 2015 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 3. Synonymous Flow Labels . . . . . . . . . . . . . . . . . . . 4 4. User Service Traffic in the Data Plane . . . . . . . . . . . 5 4.1. Applications Label Present . . . . . . . . . . . . . . . 5 4.1.1. Setting TTL and the Traffic Class Bits . . . . . . . 6 4.2. Single Label Stack . . . . . . . . . . . . . . . . . . . 6 4.2.1. Setting TTL and the Traffic Class Bits . . . . . . . 7 4.3. Aggregation of SFL Actions . . . . . . . . . . . . . . . 7 5. Equal Cost Multipath Considerations . . . . . . . . . . . . . 8 6. RFC6374 Packet Loss Measurement with SFL . . . . . . . . . . 9 6.1. RFC6374 SFL TLV . . . . . . . . . . . . . . . . . . . . . 10 7. The Application of SFL to other PM Types . . . . . . . . . . 12 8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 12.1. Normative References . . . . . . . . . . . . . . . . . . 13 12.2. Informative References . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 1. Introduction [I-D.bryant-mpls-flow-ident] describes the requirement for introducing flow identities when using RFC6374 [RFC6374] packet Loss Measurements (LM). In summary RFC6374 uses the LM packet as the packet accounting demarcation point. Unfortunately this gives rise to a number of problems that may lead to significant packet accounting errors in certain situations. For example: Bryant, et al. Expires January 4, 2016 [Page 2] Internet-Draft Synonymous Labels July 2015 1. Where a flow is subjected to Equal Cost Multi-Path (ECMP) treatment packets can arrive out of order with respect to the LM packet. 2. Where a flow is subjected to ECMP treatment, packets can arrive at different hardware interfaces, thus requiring reception of an LM packet on one interface to trigger a packet accounting action on a different interface which may not be co-located with it. This is a difficult technical problem to address with the required degree of accuracy. 3. Even where there is no ECMP (for example on RSVP-TE, MPLS-TP LSPs and PWs) local processing may be distributed over a number of processor cores, leading to synchronization problems. 4. Link aggregation techniques may also lead to synchronization issues. 5. Some forwarder implementations have a long pipeline between processing a packet and incrementing the associated counter again leading to synchronization difficulties. An approach to mitigating these synchronization issue is described in [I-D.tempia-ippm-p3m] and [I-D.chen-ippm-coloring-based-ipfpm-framework] in which packets are batched by the sender and each batch is marked in some way such that adjacent batches can be easily recognized by the receiver. An additional problem arises where the LSP is a multi-point to point LSP, since MPLS does not include a source address in the packet. Network management operations require the measurement of packet loss between a source and destination. It is thus necessary to introduce some source specific information into the packet to identify packet batches from a specific source. This document describes a method of accomplishing this by using a technique called Synonymous Flow Labels (SFL) (see (Section 3)) in which labels which mimic the behaviour of other labels provide the packet batch identifiers and enable the per batch packet accounting. 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 [RFC2119]. Bryant, et al. Expires January 4, 2016 [Page 3] Internet-Draft Synonymous Labels July 2015 3. Synonymous Flow Labels An SFL is defined to be a label that causes exactly the same behaviour at the egress Label Switching Router (LSR) as the label it replaces, except that it also causes an additional agreed action to take place on the packet. There are many possible additional actions such as the measurement of the number of received packets in a flow, triggering IPFIX inspection, triggering other types of Deep Packet Inspection, or identification of the packet source. In, for example, a Performance Monitoring (PM) application, the agreed action would be the recording of the receipt of the packet by incrementing a packet counter. This is a natural action in many MPLS implementations, and where supported this permits the implementation of high quality packet loss measurement without any change to the packet forwarding system. Consider an MPLS application such as a pseudowire (PW), and consider that it is desired to use the approach specified in this document to make a packet loss measurement. By some method outside the scope of this text, two labels, synonymous with the PW labels are obtained from the egress terminating provider edge (T-PE). By alternating between these SLs and using them in place of the PW label, the PW packets may be batched for counting without any impact on the PW forwarding behaviour (note that strictly only one SL is needed in this application, but that is an optimization that is a matter for the implementor). Now consider an MPLS application that is multi-point to point such as a VPN. Here it is necessary to identify a packet batch from a specific source. This is achieved by making the SLs source specific, so that batches from one source are marked differently from batches from another source. The sources all operate independently and asynchronously from each other, independently co-ordinating with the destination. Each ingress is thus able to establish its own SFL to identify the sub-flow and thus enable PM per flow. Finally we need to consider the case where there is no MPLS application label such as occurs when sending IP over an LSP. In this case introducing an SL that was synonymous with the LSP label would introduce network wide forwarding state. This would not be acceptable for scaling reasons. We therefore have no choice but to introduce an additional label. Where penultimate hop popping (PHP) is in use, the semantics of this additional label can be similar to the LSP label. Where PHP is not in use, the semantics are similar to an MPLS explicit NULL. In both of these cases the label has the additional semantics of the SL. Bryant, et al. Expires January 4, 2016 [Page 4] Internet-Draft Synonymous Labels July 2015 Note that to achieve the goals set out in Section 1 SLs need to be allocated from the platform label table. 4. User Service Traffic in the Data Plane As noted in Section 3 it is necessary to consider two cases: 1. Applications label present 2. Single label stack 4.1. Applications Label Present Figure 1 shows the case in which both an LSP label and an application label is present in the MPLS label stack. Uninstrumented traffic runs over the "normal" stack, and instrumented flows run over the SFL stack with the SFL used to indicate the packet batch. +-----------------+ +-----------------+ | | | | | LSP | | LSP |