Internet Engineering Task Force K. K. Ramakrishnan, AT&T Research INTERNET DRAFT Sally Floyd, ACIRI draft-ietf-mpls-ecn-00.txt Bruce Davie, Cisco June 1999 Expires: Dec 1999 A Proposal to Incorporate ECN in MPLS Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract We propose the addition of ECN to MPLS switching. ECN enables end- end congestion control without necessarily depending on packet loss as the sole indicator of congestion. The proposal suggests having a single bit in the MPLS header to indicate ECN, and simple signaling at the time of setting up the LSP (Label Switched Path) for indication of ECN capability. This allows for incorporation of ECN in MPLS in a coordinated manner with IP and also in a backwards compatible fashion. Ramakrishnan et. al [Page 1] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 1. Introduction. ECN (Explicit Congestion Notification) [ECN] has been proposed as an addition to IP to provide an indication of congestion. With the addition of active queue management (e.g., RED [RFC2309]) to the Internet infrastructure, where routers detect congestion before the queue overflows, routers are no longer limited to packet drops as an indication of congestion. Routers could instead set a Congestion Experienced (CE) bit in the IP header of packets from ECN-capable transport protocols. Active queue management mechanisms in the router may use one of several methods for indicating congestion to end-nodes. One is to use packet drops, as is currently done. However, active queue management allows the router to separate policies of queueing or dropping packets from the policies for indicating congestion. Thus, active queue management allows routers to use the Congestion Experienced (CE) bit in a packet header as an indication of congestion, instead of relying solely on packet drops. Active queue management not only avoids packet losses for congestion indication, but also attempts to control the average queue sizes at routers by using ECN or packet drops to provide an indication of the onset of congestion. With the cooperation of transport protocols, the indication of incipient congestion may be used to minimize significant queue build-up and thus reduce queueing delays, variability in queueing delay and additional packet losses. With ECN-capable routers and transport protocols, packet drops are not required for these indications of congestion. Applications that are sensitive to the delay or loss of one or more individual packets are expected to benefit from the use of ECN. Interactive traffic such as telnet, web-browsing, and transfer of audio and video data can be sensitive to packet losses (using an unreliable data delivery transport such as UDP) or to the increased latency of the packet caused by the need to retransmit the packet after a loss (for reliable data delivery such as TCP). The use of ECN by end-systems and participation of intermediate nodes in the network in ECN would potentially help these applications. 1.1. Motivation for use of ECN with MPLS Many of the features of MPLS, such as traffic engineering (to take advantage of multiple paths and balance the load on them), explicit routing and QoS routing are motivated by the desire to improve the overall performance of an IP network. MPLS also aims to support the QoS models that are available for IP, such as Integrated Services and Differentiated Services. Ramakrishnan et. al [Page 2] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 Given the motivation to provide better performance and QoS assurances, we believe it is desirable that we utilize techniques that help manage queueing better, and minimize losses. Label Switched Routers (LSRs) are already expected to incorporate active queue management methods such as RED. As a result, the incremental effort involved in the addition of ECN is likely to be small in many cases. We believe the benefits from ECN of better overall performance for a wide range of applications because of reduced packet loss (especially those using non-TCP transports) and reduced queueing delay is sufficiently significant. Furthermore, there seems to be no reasons for LSRs to lack this capability as it becomes available in other (non-label switched) IP routers. 2. Overview of ECN This section briefly outlines the addition of ECN to the IP protocol as specified in RFC 2481. RFC 2481 specifies two bits in the ECN field in the IP header, the ECN-Capable Transport (ECT) bit and the Congestion Experienced (CE) bit. The ECT bit is set by the data sender to indicate that the end-points of the transport protocol are ECN-capable. The CE bit is set by the router to indicate congestion to the end nodes. Routers that have a packet arriving at a full queue would drop the packet, just as they do now. RFC 2481 also specifies the use of ECN in the TCP transport protocol. For an ECN-capable TCP connection, when the TCP receiver receives a data packet with the CE bit set, the receiver conveys that information to the TCP sender using a bit in the TCP header. TCP senders react to the congestion indication by decreasing their congestion window. Thus, the early indication of congestion allows the sender TCP to reduce the load placed on the network, without the need to drop a packet. Because the use of ECN at the transport level is not affected by the MPLS header, this aspect of ECN is not discussed further in this document. 2.1. Opportunities to take Advantage of ECN In the past, it has often been the desire of datalink layers to provide a congestion indication to the end-systems, so that end- system transport protocols may react by reducing the load. However, even though Frame-Relay and ATM have had an indicator for congestion indication, the match with the ECN indication has not been ideal. In these cases, marking the congestion indication was left to implementation or was based on instantaneous queue occupancy. This was the case with both Forward Explicit Congestion Notification (FECN) in Frame-Relay networks and Explicit Forward Congestion Indication (EFCI) in ATM. Ramakrishnan et. al [Page 3] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 With MPLS LSRs, it is expected that they will implement the algorithms needed to determine an average queue size, as specified with RED and other active queue management algorithms. Thus, a congestion indication in MPLS based on the average queue size will be better matched to the ECN semantics. We thus propose that the same policies for indicating congestion be used in LSRs. The egress LSR of a label switched path (LSP) would then "fold" the congestion indication seen in the MPLS header into the forwarded IP packet. Thus, each of the LSRs also now has a means of indicating congestion to the end-systems. 3. A One-Bit ECN Field in the MPLS Header As described in Section 2, RFC 2481 uses a two-bit ECN field for IP. The original ECN proposal in [F94] discussed both a one-bit and a two-bit implementation for ECN in the IP header. This document proposes a one-bit ECN field for the MPLS header, because of our desire to conserve space in the header, and the ability to use signaling at the time of setting up the label switched path (LSP) to overcome the need for the second bit. We propose that this bit should be one of the three experimental bits defined in [R99]. We note that by using only one of these bits, we leave two available for diff-serv drop preference, as described in [LeF99]. The ECN field has to encode three separate states: not ECT; ECT but not CE; and ECT with CE. The two-bit implementation specified in RFC 2481 implements these three separate states using two bits in the IP ECN field, the ECT bit and the CE bit. Section 9.2 of [F94] also discusses a one-bit approach where the two functions of ECT and CE are overloaded in a single bit. For this bit, one value indicates "ECT but not CE", and the other value indicates "either not ECT, or ECT with CE". 4. Role of Ingress and Egress MPLS LSRs When the LSP is set up, the ingress and egress LSRs use signaling to indicate whether or not to participate in ECN. We envisage this as an extension to any of the existing MPLS label distribution mechanisms such as LDP or RSVP. Such signaling allows ingress and egress LSRs on an LSP to determine if all LSRs along the LSP are capable of supporting ECN. Details of these signaling mechanisms constitute work in progress and will be described in a later version of this draft. The ingress LSR observes the IP ECN field in a packet to set the MPLS ECN field in accordance with the following table (Table 1): Ramakrishnan et. al [Page 4] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 ECN-Capable IP ECN Field MPLS LSP? MPLS ECN Field ------------ --------- -------------- (1) Not ECT YES Not ECT, or ECT+CE (2) ECT, not CE YES ECT, not CE (3) ECT, CE YES ECT, not CE (4) --- NO Not ECT, or ECT+CE Table 1.: Translation from the IP ECN Field to the MPLS ECN Field at Ingress. An ingress LSR using ECN would set the MPLS ECN field to "ECT but not CE" when the IP ECN field indicates "ECT", whether or not the CE bit was set in the IP ECN field, and would have to *always* set the MPLS ECN field to "either not ECT, or ECT with CE" otherwise. Similarly, an ingress LSR not using ECN would *always* set the MPLS ECN field to "either not ECT, or ECT with CE", whether or not the IP ECN field was set to "ECT". When the packet reaches the end of the LSP, the egress LSR now has to "fold" the MPLS ECN field back into the IP ECN header of the packet. The egress LSR knows whether the LSP is ECN-Capable or not. On the received packet, the MPLS header indicates whether congestion was experienced or not. The main row to examine in the following table (Table 2) is Row 5. It shows that the received packet has the ECN field in the MPLS header indicating congestion or that the packet flowed over a non-ECN capable LSP. However, because of the signaling at the time the LSP was set up, we know that the MPLS LSP was ECN capable. In addition, the IP ECN field was set to "ECT". Thus, the MPLS ECN field is interpreted as indicating ECT+CE (congestion was experienced in the MPLS LSP). The IP ECN field of the packet received indicates that the transport is ECN capable (ECT) and that it had not experienced congestion earlier (not CE) before entering the LSP. The IP ECN field of the forwarded packet therefore has to be set by the egress LSR to indicate congestion (CE). Thus, congestion experienced in the MPLS LSP is now successfully carried in the IP ECN field onwards to the end-system. Row 1 of Table 2 shows that the MPLS ECN field indicates no congestion was experienced in the LSP. Thus, the IP ECN field of the packet is left unchanged. Similarly, when the original IP ECN field indicates the transport is not ECN capable or already indicates congestion was experienced, then the the IP ECN field of the packet is left unchanged. Ramakrishnan et. al [Page 5] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 MPLS Old IP ECN-Capable New IP ECN Field ECN Field MPLS LSP? ECN Field ------------ --------- ----- --------- (1) ECT, not CE --- --- Unchanged. (2) not ECT, or ECT+CE Not ECT --- Unchanged. (3) not ECT, or ECT+CE ECT, CE --- Unchanged. (4) not ECT, or ECT+CE ECT, not CE NO Not possible. (5) not ECT, or ECT+CE ECT, not CE YES ECT, CE Table 2.: Translation from MPLS ECN Field back to IP ECN Field at Egress The reason that the use of a one-bit ECN field in the MPLS header does not introduce ambiguity is that it is accompanied by the original two-bit IP ECN field, along with a prior agreement about whether the MPLS LSP was or was not ECN-Capable. 5. Role of Switches in marking ECN MPLS ECN Field ECN-Capable MPLS MPLS LSP? Congestion Action -------------- ------------- --------------- (1) Not ECT, or ECT+CE No Packet dropped. (2) Not ECT, or ECT+CE Yes Packet dropped. (3) ECT, not CE Yes MPLS ECN Field changed to "not ECT, or ECT+CE" (4) ECT, not CE No Not Possible Table 3.: Effect of MPLS ECN Field on Congestion Action at Switch. The congestion action taken at an LSR is based on the knowledge at the LSR of whether or not the LSP is ECN capable. This is known through signaling. If the LSP is not ECN capable, the packet is dropped as per the existing rules followed at the LSR (i.e., based on RED). If the LSP is ECN capable, and the MPLS ECN field shows that the packet is ECN-capable but has not experienced congestion upstream on the LSP, then the MPLS ECN field is changed to indicate congestion (i.e., the encoding of "Not ECT, or ECT+CE"). If the packet has indeed experienced congestion upstream, the packet is dropped. This is an inescapable consequence of the single-bit MPLS ECN field combined with internal LSRs not looking at the IP ECN field. One functional limitation of the one-bit ECN implementation for MPLS is that once an LSR "sets" the CE state in an ECT MPLS packet, subsequent LSRs along the MPLS path cannot determine whether the packet is or is not ECN-Capable (without using the IP ECN field). Although LSRs may be able to look at the IP header (potentially with some performance impact), we do not require it. Thus, subsequent Ramakrishnan et. al [Page 6] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 LSRs would have to drop that packet in order to indicate congestion to the end nodes, rather than using ECN. 6. Role of Signaling to communicate ECN capability One requirement for the one-bit ECN implementation for MPLS is that the egress LSR needs information from the ingress LSR in order to determine how to interpret the MPLS ECN Field. In particular, for a packet at the egress of the MPLS LSP whose IP ECN field indicates "ECT, not CE" and whose MPLS ECN field indicates "not ECT, or ECT+CE", the egress LSR of the MPLS LSP has to be able to determine whether to set the CE bit in the forwarded packet's IP ECN field upon decapsulation. To do this, the egress LSR has to know whether or not the ingress LSR originally set the MPLS ECN field to "ECT but not CE". This can be determined using information in the IP ECN header, assuming that the ingress LSR has previously informed the egress LSR whether it is or is not using ECN. Thus, an ingress and egress LSR would have to negotiate whether or not they are using ECN-Capability for the MPLS tunnel. Note only the ingress and egress LSRs have to examine the IP ECN header of the packet. Based on the negotiation at the time the LSP is set up, the ingress LSR knows what the MPLS ECN field should be set to on incoming packets, especially for downstream allocation of the MPLS LSP: if the egress LSR is ECN capable and the LSRs upstream are also ECN capable, then the ingress LSR knows to initially set the MPLS ECN field to "ECT but not CE" when the IP ECN field indicated "ECT". If the LSRs in the MPLS LSP are not ECN capable, then the ingress LSR always sets the MPLS ECN bit to "not ECT or ECT+CE". The egress LSR, knowing that the LSP is ECN capable through signaling, folds the MPLS ECN field into the outgoing IP ECN field according to Table 2. 7. Summary We have proposed that MPLS LSRs exploit the capability provided in Explicit Congestion Notification (ECN) to provide an early indication of congestion without depending solely on packet dropping as a means of congestion indication. Given that MPLS LSRs are likely to use some form of active queue management, the use of ECN potentially improves the service obtained in an MPLS LSP with respect to packet loss and end-end delay. The proposal requires the use of a single bit in the MPLS header for indicating congestion, and signaling while setting up the LSP. The signaling provides the indication to the ingress and egress LSRs the action they need to take with respect to ECN: the initialization of the MPLS ECN field at the ingress and the folding of the MPLS ECN indication into the forwarded IP packet's ECN field at the egress. Ramakrishnan et. al [Page 7] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 8. References [ECN] The ECN Web Page, URL "http://www.aciri.org/floyd/ecn.html". [F94] Floyd, S., "TCP and Explicit Congestion Notification", ACM Computer Communication Review, V. 24 N. 5, October 1994, p. 10-23. URL "ftp://ftp.ee.lbl.gov/papers/tcp_ecn.4.ps.Z". [FBR99] Floyd, Black, and Ramakrishnan, IPsec Interactions with ECN, internet-draft draft-ipsec-ecn-00.txt, April 1999. URL "http://www.ietf.cnri.reston.va.us/internet-drafts/draft-ipsec- ecn-00.txt". [LeF99] Le Faucheur, F., et al., "MPLS Support of Differentiated Services over PPP links", internet draft, draft-lefaucheur-mpls-diff- ppp-00.txt, June 1999. URL "http://www.ietf.cnri.reston.va.us/internet-drafts/draft-lefaucheur- mpls-diff-ppp-00.txt" [RFC2309] Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, S., Estrin, D., Floyd, S., Jacobson, V., Minshall, G., Partridge, C., Peterson, L., Ramakrishnan, K., Shenker, S., Wroclawski, J. and L. Zhang, "Recommendations on Queue Management and Congestion Avoidance in the Internet", RFC 2309, April 1998. [RFC2481] K. K. Ramakrishnan and Sally Floyd, "A Proposal to add Explicit Congestion Notification (ECN) to IP", RFC 2481, January 1999. URL "ftp://ftp.isi.edu/in-notes/rfc2481.txt". [R99] Rosen, E., et al., "MPLS Label Stack Encoding", internet draft, draft-ietf-mpls-label-encaps-04.txt, April 1999. URL "http://www.ietf.cnri.reston.va.us/internet-drafts/draft-ietf-mpls- label-encaps-04.txt". 9. Security Considerations Security considerations are equivalent to those for normal IP ECN and ECN with IPsec, which are discussed extensively in [FBR99]. AUTHORS' ADDRESSES Sally Floyd AT&T Center for Internet Research at ICSI (ACIRI) Phone: +1 (510) 642-4274 x189 Email: floyd@aciri.org URL: http://www-nrg.ee.lbl.gov/floyd/ Ramakrishnan et. al [Page 8] draft-mpls-ecn A Proposal to Incorporate ECN in MPLS June 1999 K. K. Ramakrishnan AT&T Labs. Research Phone: +1 (973) 360-8766 Email: kkrama@research.att.com URL: http://www.research.att.com/info/kkrama Bruce Davie Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA, 01824 E-mail: bsd@cisco.com This draft was created in June 1999. It expires December 1999. Ramakrishnan et. al [Page 9]