Movatterモバイル変換


[0]ホーム

URL:


RFC 8957MPLS FLJanuary 2021
Bryant, et al.Standards Track[Page]
Stream:
Internet Engineering Task Force (IETF)
RFC:
8957
Category:
Standards Track
Published:
ISSN:
2070-1721
Authors:
S. Bryant
Futurewei Technologies Inc.
M. Chen
Huawei
G. Swallow
Southend Technical Center
S. Sivabalan
Ciena Corporation
G. Mirsky
ZTE Corp.

RFC 8957

Synonymous Flow Label Framework

Abstract

RFC 8372 ("MPLS Flow Identification Considerations") describes the requirement for introducing flow identities within the MPLS architecture. This document describes a method of accomplishing this by using a technique called "Synonymous Flow Labels" in which labels that mimic the behavior of other labels provide the identification service. These identifiers can be used to trigger per-flow operations on the packet at the receiving label switching router.

Status of This Memo

This is an Internet Standards Track document.

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). Further information on Internet Standards is available in 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 athttps://www.rfc-editor.org/info/rfc8957.

Copyright Notice

Copyright (c) 2021 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://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

[RFC8372] ("MPLS Flow Identification Considerations") describes the requirement for introducing flow identities within the MPLS architecture.This document describes a method of providing the required identification by using atechnique called "Synonymous Flow Labels (SFLs)" inwhich labels that mimic the behavior of other MPLS labels provide theidentification service. These identifiers can be used to triggerper-flow operations on the packet at the receiving label switchingrouter.

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.

3.Synonymous Flow Labels

An SFL is defined to be a label that causes exactly the samebehavior at the egress Label Edge Router (LER) as the label itreplaces, except that it also causes one or more additional actions that havebeen previously agreed between the peer LERs to be executed on the packet. There are many possible additional actions, such asmeasuring the number of received packets in a flow,triggering an IP Flow Information Export (IPFIX)[RFC7011] capture, triggering other types of deep packet inspection, or identifying the packet source. For example, ina Performance Monitoring (PM) application, the agreed action could berecording the receipt of the packet by incrementing a packetcounter. This is a natural action in many MPLS implementations, andwhere supported, this permits the implementation of high-qualitypacket loss measurement without any change to the packet-forwardingsystem.

To illustrate the use of this technology, we start by consideringthe case where there is anapplication label in the MPLS label stack.As a first example, let us consider apseudowire (PW)[RFC3985] on which it is desired to makepacket loss measurements. Two labels, synonymous with the PW labels, are obtainedfrom the egress terminating provider edge (T-PE). By alternatingbetween these SFLs and using them in place of the PW label, the PWpackets may be batched for counting without any impact on the PWforwarding behavior[RFC8321] (note thatstrictly only one SFL is needed in this application, but that is an optimization that is a matter forthe implementor). The method of obtaining these additionallabels is outside the scope of this text; however,one control protocol that provides a method of obtaining SFLs is described in[MPLS-SFL-CONTROL].

Next, consider an MPLS application that is multipoint to point, such asa VPN. Here, it is necessary to identify a packet batch from aspecific source. This is achieved by making the SFLs sourcespecific, so that batches from one source are marked differently frombatches from another source. The sources all operate independentlyand asynchronously from each other, independently coordinating withthe destination. Each ingress LER is thus able to establish its own SFLto identify the subflow and thus enable PM per flow.

Finally, we need to consider the case where there is no MPLSapplication label such as occurs when sending IP over a Label Switched Path(LSP), i.e., there is a single label in the MPLS label stack. In this case, introducing an SFL that was synonymous with the LSP labelwould introduce network-wide forwarding state. This would not beacceptable for scaling reasons. Therefore, we have no choice but tointroduce an additional label. Where penultimate hop popping (PHP)is in use, the semantics of this additional label can be similar tothe LSP label. Where PHP is not in use, the semantics are similar toan MPLS Explicit NULL[RFC3032]. In both ofthese cases, the label has the additional semantics of the SFL.

Note that to achieve the goals set out above, SFLs need to beallocated from the platform label table.

4.User Service Traffic in the Data Plane

As noted inSection 3, it is necessary to consider two cases:

  1. Application label is present
  2. Single-label stack

4.1.Application Label Present

Figure 1 shows the case in which both an LSP label and an application label are present in the MPLS label stack. Traffic with no SFLfunction present runs over thenormal stack, and SFL-enabled flowsrun over the SFL stack with the SFL used to indicate the packetbatch.

 +-----------------+          +-----------------+ |      LSP        |          |      LSP        | |     Label       |          |     Label       | |  (May be PHPed) |          |  (May be PHPed) | +-----------------+          +-----------------+ |                 |          |                 | |  Application    |          | Synonymous Flow | |     Label       |          |     Label       | +-----------------+ <= BoS   +-----------------+ <= Bottom of Stack |                 |          |                 | |   Payload       |          |   Payload       | |                 |          |                 | +-----------------+          +-----------------+"Normal" Label Stack         Label Stack with SFL
Figure 1:Use of Synonymous Labels in a Two-Label MPLS Label Stack

At the egress LER, the LSP label is popped (if present). Then, the SFL is processed executing both the synonymous function and the corresponding application function.

4.1.1.Setting TTL and the Traffic Class Bits

The TTL and the Traffic Class bits[RFC5462] in the SFL label stack entry (LSE) would normally be set to the same value as would have been set in the labelthat the SFL is synonymous with. However, it is recognized that, if thereis an application need, these fields in the SFL LSEMAY be set to some other value. An example would be where it was desired to cause the SFL to trigger anaction in the TTL expiry exception path as part of the label action.

4.2.Single-Label Stack

Figure 2 shows the case in which only an LSP label is present in the MPLS label stack. Traffic with no SFL function present runs over the"normal" stack, and SFL-enabled flows run over the SFL stack with theSFL used to indicate the packet batch. However, in this case, it isnecessary for the ingress Label Edge Router (LER) to first push the SFL and then to push the LSP label.

                              +-----------------+                              |      LSP        |                              |     Label       |                              |  (May be PHPed) | +-----------------+          +-----------------+ |      LSP        |          |                 | <= Synonymous with |     Label       |          | Synonymous Flow |    Explicit NULL |  (May be PHPed) |          |     Label       | +-----------------+ <= BoS   +-----------------+ <= Bottom of Stack |                 |          |                 | |   Payload       |          |   Payload       | |                 |          |                 | +-----------------+          +-----------------+"Normal" Label Stack         Label Stack with SFL
Figure 2:Use of Synonymous Labels in a Single-Label MPLS Label Stack

At the receiving Label Switching Router (LSR), it is necessary to consider two cases:

  1. Where the LSP label is still present
  2. Where the LSP label is penultimate hop popped

If the LSP label is present, it is processed exactly as it would normally be processed, and then it is popped. This reveals the SFL, which, in the case of the measurements defined in[RFC6374], is simply counted and then discarded. In this respect, the processing of the SFL is synonymous with an MPLS Explicit NULL. As the SFL is the bottom of stack, the IP packet that follows is processed as normal.

If the LSP label is not present due to PHP action in the upstreamLSR, two almost equivalent processing actions can take place.The SFL can be treated either 1) as an LSP label that was not PHPed and theadditional associated SFL action is taken when the label isprocessed or 2) as an MPLS Explicit NULL withassociated SFL actions. From the perspective of the measurementsystem described in this document, the behavior of the two approaches is indistinguishable; thus, either may be implemented.

4.2.1.Setting TTL and the Traffic Class Bits

The TTL and the Traffic Class considerations described inSection 4.1.1 apply.

4.3.Aggregation of SFL Actions

There are cases where it is desirable to aggregate an SFL actionagainst a number of labels, for example, where it is desirable tohave one counter record the number of packets received over a groupof application labels or where the number of labels used by a singleapplication is large and the resultant increase in the number ofallocated labels needed to support the SFL actions maybecome too large to be viable. In these circumstances, it would benecessary to introduce an additional label in the stack to act as anaggregate instruction. This is not strictly a synonymous action inthat the SFL is not replacing an existing label but is somewhatsimilar to the single-label case shown inSection 4.2, and the samesignaling, management, and configuration tools would be applicable.

                              +-----------------+                              |      LSP        |                              |     Label       |                              |  (May be PHPed) | +-----------------+          +-----------------+ |      LSP        |          |                 | |     Label       |          |   Aggregate     | |  (May be PHPed) |          |      SFL        | +-----------------+          +-----------------+ |                 |          |                 | |  Application    |          |  Application    | |     Label       |          |     Label       | +-----------------+ <=BoS    +-----------------+ <= Bottom of Stack |                 |          |                 | |   Payload       |          |   Payload       | |                 |          |                 | +-----------------+          +-----------------+"Normal" Label Stack         Label Stack with SFL
Figure 3:Aggregate SFL Actions

The aggregate SFL is shown in the label stack depicted inFigure 3 as preceding the application label; however, the choice of positionbefore or after the application label will be application specific.In the case described inSection 4.1, by definition, the SFL has thefull application context. In this case, the positioning will dependon whether the SFL action needs the full context of the applicationto perform its action and whether the complexity of the applicationwill be increased by finding an SFL following the application label.

5.Equal-Cost Multipath Considerations

The introduction of an SFL to an existing flow may cause that flow to takea different path through the network under conditions of Equal-CostMultipath (ECMP). This, in turn, may invalidate certain uses ofthe SFL, such as performance measurement applications. Where this isa problem, there are two solutions worthy of consideration:

  1. The operatorMAY elect to always run with the SFL in place in the MPLS label stack.
  2. The operator can elect to use entropy labels[RFC6790] in a network that fully supports this type of ECMP. If this approach is adopted, the intervening MPLS networkMUST NOT load balance on any packet field other than the entropy label. Note that this is stricter than the text inSection 4.3 of [RFC6790].

6.Privacy Considerations

IETF concerns on pervasive monitoring are described in[RFC7258]. The inclusion of originating and/or flow information in a packet provides more identity information and hence potentially degrades the privacy of the communication to an attacker in a position to observe the added identifier. Whilst the inclusion of the additional granularity does allow greater insight into the flow characteristics, it does not specifically identify which node originated the packet unless the attacker can inspect the network at the point of ingress or inspect the control protocol packets. This privacy threat may be mitigated by encrypting the control protocol packets by regularly changing the synonymous labels or by concurrently using a number of such labels, including the use of a combination of those methods. Minimizing the scope of the identity indication can be useful in minimizing the observability of the flow characteristics. Whenever IPFIX or other deep packet inspection (DPI) technique is used, their relevant privacy considerations apply.

7.Security Considerations

There areno new security issues associated with the MPLS data plane. Anycontrol protocol used to request SFLs will need to ensure thelegitimacy of the request, i.e., that the requesting node is authorizedto make that SFL request by the network operator.

8.IANA Considerations

This document has no IANA actions.

9.References

9.1.Normative References

[RFC2119]
Bradner, S.,"Key words for use in RFCs to Indicate Requirement Levels",BCP 14,RFC 2119,DOI 10.17487/RFC2119,,<https://www.rfc-editor.org/info/rfc2119>.
[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/RFC3032,,<https://www.rfc-editor.org/info/rfc3032>.
[RFC5462]
Andersson, L. and R. Asati,"Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field",RFC 5462,DOI 10.17487/RFC5462,,<https://www.rfc-editor.org/info/rfc5462>.
[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/RFC6790,,<https://www.rfc-editor.org/info/rfc6790>.
[RFC8174]
Leiba, B.,"Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words",BCP 14,RFC 8174,DOI 10.17487/RFC8174,,<https://www.rfc-editor.org/info/rfc8174>.

9.2.Informative References

[MPLS-SFL-CONTROL]
Bryant, S., Swallow, G., and S. Sivabalan,"A Simple Control Protocol for MPLS SFLs",Work in Progress,Internet-Draft, draft-bryant-mpls-sfl-control-09,,<https://tools.ietf.org/html/draft-bryant-mpls-sfl-control-09>.
[RFC3985]
Bryant, S., Ed. and P. Pate, Ed.,"Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture",RFC 3985,DOI 10.17487/RFC3985,,<https://www.rfc-editor.org/info/rfc3985>.
[RFC6374]
Frost, D. and S. Bryant,"Packet Loss and Delay Measurement for MPLS Networks",RFC 6374,DOI 10.17487/RFC6374,,<https://www.rfc-editor.org/info/rfc6374>.
[RFC7011]
Claise, B., Ed., Trammell, B., Ed., and P. Aitken,"Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information",STD 77,RFC 7011,DOI 10.17487/RFC7011,,<https://www.rfc-editor.org/info/rfc7011>.
[RFC7258]
Farrell, S. and H. Tschofenig,"Pervasive Monitoring Is an Attack",BCP 188,RFC 7258,DOI 10.17487/RFC7258,,<https://www.rfc-editor.org/info/rfc7258>.
[RFC8321]
Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli, L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,"Alternate-Marking Method for Passive and Hybrid Performance Monitoring",RFC 8321,DOI 10.17487/RFC8321,,<https://www.rfc-editor.org/info/rfc8321>.
[RFC8372]
Bryant, S., Pignataro, C., Chen, M., Li, Z., and G. Mirsky,"MPLS Flow Identification Considerations",RFC 8372,DOI 10.17487/RFC8372,,<https://www.rfc-editor.org/info/rfc8372>.

Contributors

Zhenbin Li
Huawei
Email:lizhenbin@huawei.com

Authors' Addresses

Stewart Bryant
Futurewei Technologies Inc.
Email:sb@stewartbryant.com
Mach(Guoyi) Chen
Huawei
Email:mach.chen@huawei.com
George Swallow
Southend Technical Center
Email:swallow.ietf@gmail.com
Siva Sivabalan
Ciena Corporation
Email:ssivabal@ciena.com
Gregory Mirsky
ZTE Corp.
Email:gregimirsky@gmail.com

[8]ページ先頭

©2009-2025 Movatter.jp