Network Working Group B. Davie
Request for Comments: 5129 Cisco Systems, Inc.
Category: Standards Track B. Briscoe
J. Tay
BT Research
January 2008
Explicit Congestion Marking in MPLS
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
RFC 3270 defines how to support the Diffserv architecture in MPLS
networks, including how to encode Diffserv Code Points (DSCPs) in an
MPLS header. DSCPs may be encoded in the EXP field, while other uses
of that field are not precluded. RFC 3270 makes no statement about
how Explicit Congestion Notification (ECN) marking might be encoded
in the MPLS header. This document defines how an operator might
define some of the EXP codepoints for explicit congestion
notification, without precluding other uses.
Davie, et al. Standards Track [Page 1]
RFC 5129 ECN for MPLS January 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Intent . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. Use of MPLS EXP Field for ECN . . . . . . . . . . . . . . . . 5
3. Per-Domain ECT Checking . . . . . . . . . . . . . . . . . . . 7
4. ECN-Enabled MPLS Domain . . . . . . . . . . . . . . . . . . . 8
4.1. Pushing (Adding) One or More Labels to an IP Packet . . . 8
4.2. Pushing One or More Labels onto an MPLS Labeled Packet . . 8
4.3. Congestion Experienced in an Interior MPLS Node . . . . . 8
4.4. Crossing a Diffserv Domain Boundary . . . . . . . . . . . 8
4.5. Popping an MPLS Label (Not the End of the Stack) . . . . . 9
4.6. Popping the Last MPLS Label in the Stack . . . . . . . . . 9
4.7. Diffserv Tunneling Models . . . . . . . . . . . . . . . . 10
5. ECN-Disabled MPLS Domain . . . . . . . . . . . . . . . . . . . 10
6. The Use of More Codepoints with E-LSPs and L-LSPs . . . . . . 10
7. Relationship to Tunnel Behavior in RFC 3168 . . . . . . . . . 11
8. Deployment Considerations . . . . . . . . . . . . . . . . . . 11
8.1. Marking Non-ECN-Capable Packets . . . . . . . . . . . . . 11
8.2. Non-ECN-Capable Routers in an MPLS Domain . . . . . . . . 12
9. Example Uses . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.1. RFC 3168-Style ECN . . . . . . . . . . . . . . . . . . . . 13
9.2. ECN Co-Existence with Diffserv E-LSPs . . . . . . . . . . 13
9.3. Congestion-Feedback-Based Traffic Engineering . . . . . . 14
9.4. PCN Flow Admission Control and Flow Termination . . . . . 14
10. Security Considerations . . . . . . . . . . . . . . . . . . . 14
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
Appendix A. Extension to Pre-Congestion Notification . . . . . . 16
A.1. Label Push onto IP Packet . . . . . . . . . . . . . . . . . 16
A.2. Pushing Additional MPLS Labels . . . . . . . . . . . . . . 16
A.3. Admission Control or Flow Termination Marking Inside
MPLS Domain . . . . . . . . . . . . . . . . . . . . . . . . 17
A.4. Popping an MPLS Label (Not End of Stack) . . . . . . . . . 17
A.5. Popping the Last MPLS Label to Expose IP Header . . . . . . 17
Normative References . . . . . . . . . . . . . . . . . . . . . . . 18
Informative References . . . . . . . . . . . . . . . . . . . . . . 18
Davie, et al. Standards Track [Page 2]
RFC 5129 ECN for MPLS January 2008
1. Introduction
1.1. Background
[RFC3168] defines Explicit Congestion Notification (ECN) for IP. The
primary purpose of ECN is to allow congestion to be signalled without
dropping packets.
[RFC3270] defines how to support the Diffserv architecture in MPLS
networks, including how to encode Diffserv Code Points (DSCPs) in an
MPLS header. DSCPs may be encoded in the EXP field, while other uses