RSVP Extensions for CL-ECN October 2005
Internet Draft Francois Le Faucheur
Anna Charny
Cisco Systems, Inc.
Bob Briscoe
Phil Eardlwy
BT
Joe Barbiaz
Kwok-Ho Chan
Nortel
draft-lefaucheur-rsvp-ecn-00.txt
Expires: April 2006 October 2005
RSVP Extensions for Admission Control
over Diffserv using Pre-congestion Notification
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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
Le Faucheur, et al. [Page 1]
RSVP Extensions for CL-ECN October 2005
This document specifies the extensions to RSVP for support of the
Controlled Load (CL) service over a Diffserv cloud using Pre-
Congestion Notification as defined in [CL-ARCH].
Copyright Notice
Copyright (C) The Internet Society. (2005)
Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
1. Introduction
[RSVP] defines the Resource reSerVation Protocol which can be used by
applications to request resources from the network. The network
responds by explicitely admitting or rejecting these RSVP requests.
Certain applications that have quantifiable resource requirements
express these requirements using Intserv parameters as defined in the
appropriate Intserv service specifications ([GUARANTEED],
[CONTROLLED]).
[CL-ARCH] describes a framework to achieve a Controlled Load (CL)
service by using distributed measurement-based admission control
edge-to-edge, i.e. within a particular region of the Internet. The
measurement made is of CL packets that have their Congestion
Experienced (CE) codepoint set as they travel across the edge-to-edge
region. Setting the CE codepoint, which is under the control of a new
Pre-congestion Marking behaviour, provides an "early warning" of
potential congestion. This information is used by the ingress node of
the edge-to-edge region to decide whether to admit a new CL microflow.
[CL-ARCH] also describes how the framework uses rate-based pre-
emption to maintain the CL service to as many admitted microflows as
possible even after localised failure and routing changes in the
interior of the edge-to-edge region.
The edge-to-edge architecture of [CL-ARCH] is a building block in
delivering an end-to-end CL service. The approach is similar to that
described in [INTSERV-DIFFERV] for Integrated services operation over
Diffserv networks. Like [INTSERV-DIFFERV], an IntServ class (CL in
our case) is achieved end-to-end, with a CL-region viewed as a single
reservation hop in the total end-to-end path. Interior nodes of the
CL-region do not process flow signalling nor do they hold state. [CL-
ARCH] assumes that the end-to-end signalling mechanism is RSVP.
Le Faucheur, et al. [Page 2]
RSVP Extensions for CL-ECN October 2005
This document specifies the extensions to RSVP for support of the
Controlled Load (CL) service over a Diffserv cloud using Pre-
Congestion Notification as defined in [CL-ARCH].
1.1. Changes from previous versions
- This is the initial version of the document
2. Definitions
For readability, a number of definitions from [CL-ARCH] are repeated
here:
o Ingress Edge: a node which is an ingress gateway to the CL-
region. A CL-region may have several ingress nodes.
o Egress Edge: a node which is an egress gateway from the CL-
region. A CL-region may have several egress nodes.
o Interior node: a node which is part of the CL-region, but isn't
an Ingress or Egress Edge.
o CL-region: A region of the Internet in which all nodes run the
Pre-Congestion Ntofication scheme defined in [CL-MARKING] and where
all traffic enters/leaves through an Ingress/Egress
Edge. A CL-region is a DiffServ region (either a single
DiffServ domain or set of contiguous DiffServ domains.
o Congestion-Level-Estimate: the bits in CL packets that have the
Congestion Experienced (CE) codepoint set, divided by the bits in all
CL packets. It is calculated as an exponentially weighted moving
average. It is calculated by an egress node for CL packets from a
particular ingress node.
3. Overview of RSVP extensions and Operations
3.1. Reference Model
----- ------ -------------------------------------- ------ -----
| | | | | | | | | |
| | | | |Ingress Interior Interior Egress| | | | |
| | | | | node node node node | | | | |
| | | | |------| |------| |------| |------| | | | |
| | | | | CL- | | CL- | | CL- | | | | | | |
| |..| |..| PHB |..| PHB |..| PHB |..| Meter|..| |..| |
| | | | |------| |------| |------| |------| | | | |
Le Faucheur, et al. [Page 3]
RSVP Extensions for CL-ECN October 2005
| | | | | \ / | | | | |
| | | | | \ / | | | | |
| | | | | --<----------<----------<-- | | | | |
| | | | | | | | | |
----- ------ -------------------------------------- ------ -----
Sx Access CL-region Access Rx
End Network Network End
Host Host
<------ edge-to-edge signalling ------>
<-------------------end-to-end RSVP signalling protocol------------->
Figure 1: Reference Model
3.2. Overview of Procedures for Admission Control of New Reservations
As mentioned earlier, [CL-ARCH] describes a framework to achieve a
Controlled Load (CL) service by using distributed measurement-based
admission control edge-to-edge, i.e. within a particular region of
the Internet. This section describes RSVP operations to support such
an admission control scheme relying on Pre-Congestion Notification in
the eddge-to-edge region.
When a new Path message is received by Ingress Edge, the Ingress Edge
does regular RSVP processing and forwards the Path towards
destination.
All the ECN-capable Interior nodes are not RSVP-capable and thus
simply ignore the Path message.
When the Path message arrives at the Egress Edge, the Egress Edge
processes it as per regular RSVP processing augmented with the
following rules:
1) The Egress Edge does NOT perform the RSVP-TTL vs IP TTL-check
and does NOT update the ADspec Break bit. This is because the
whole CL-region is effectively handled by RSVP as a virtual
"link" on which Integrated Service is indeed supported (and
admission control performed) so that the Break bit MUST not be
set.
2) As an option, the Egress Edge may check, at the time of
initial Path processing, whether it has a valid value for the
corresponding Congestion-Level-Estimate and if not it may send
a PathErr message to the Ingress Edge with "CL-ECN Probes
Required" Error Code. This minimizes call set up time as it
allows probes to be generated by the Ingress Edge and measured
by the Egress Edge while the Path is traveling towards the
receiver and while the Resv travels back from the receiver.
Le Faucheur, et al. [Page 4]
RSVP Extensions for CL-ECN October 2005
Then the Ingress Edge forwards the Path message towards the receiver.
[Editor Note: discussion on Adspec update to be added]
When the Resv message is received by the Egress Edge (from the
downstream side), the Egress Edge performs regular RSVP processing
(including performing admission control for the segment downstream of
the Egress Edge) augmented with the procedures described in this
section.
The Egress Edge MUST include the new CL-ECN object in the Resv
message transmitted to the RSVP P_HOP (which is the Ingress Edge).
The CL-ECN object MUST convey the current Pre-Congestion Notification
Congestion-Level-Estimate as measured by the Egress Edge from the
corresponding Ingress Edge to itself. Details for computing the
Congestion-Level-estimate can be found in [CL-ARCH] and [CL-MARKING].
If the Egress Edge does not have a current value for the Congestion-
Level-estimate for the corresponding Ingress Edge (because there was
no traffic received by the Egress Edge from that Ingress Edge) and it
has not already requested the Ingress Edge to generate probes, the
Egress Edge:
1) triggers a timer and puts the Resv message processing on hold
2) sends a PathErr message towards the Ingress Edge with the new
Error Code of "CL-ECN Probes Required" specified in this
document, in order to instruct the Ingress Edge to generate
the necessary probe traffic to enable the Egress Edge to
compute the Congestion-Level-Estimate from that Ingress Edge
3) When timer expires the Resv processing resumes. Assuming the
Congestion-Level-Estimate is now available, the Egress Edge
can include it in the CL-ECN object and complete Resv
processing. If the Congestion-Level-Estimate is still
available, the Egress Edge may loop again a few times through
step 1) and 2). After a given number of times, the Egress Edge
MUST send a ResvErr towards the receiver with ErrorCode
"Admission Control Failure"
[Editor note: approach in previous paragraph may be revisited to try
avoid having to "put Resv message processing on hold".]
The Egress Edge will then forward the Resv message to the PHOP
signaled earlier in the Path message and which identifies the Ingress
Edge. Since the Resv message is directly addressed to the Ingress
Edge and does not carry the Router Alert option (as per regular RSVP
Resv procedures), the Resv message is hidden from the Interior nodes
which handle the E2E Resv message as a regular IP packet.
When receiving the Resv message, the Ingress Edge processes the Resv
message as per regular RSVP with the following exceptions:
Le Faucheur, et al. [Page 5]
RSVP Extensions for CL-ECN October 2005
1) if the CL-ECN object is absent from the Resv message, this
means that the RSVP Next Hop is not CL-ECN capable and hence
proper admission control can not be achieved for that
reservation over the ECN cloud. Thus, the Ingress Edge MUST
send a ResvErr message towards the receiver with Error Code
"Inconsistent Admission Control Behaviour across Ingress and
Egress Edge" and an Error Value of "Egress Edge Router not CL-
ECN capable". The Ingress Edge MAY also generate an alarm to
the network operator.
Note that in the case where the RSVP Next Hop is not CL-ECN
capable, this RSVP hop would have (most probably) performed
the RSVP-TTL vs IP-TTL check when processing the initial Path
message and as a result would have set the Break bit in the
Adspec (assuming there is at least one Interior node on the
path from the Ingress Edge to the RSVP Next Hop). Thus, the
sender would already have been notified in the first place
that the QoS could not be guaranteed end-to-end.
2) The Ingress Edge MUST carry out the admission control decision
(for admission of the reservation over the path from Ingress
Edge to Egress Edge through the ECN cloud) taking into account
the congestion information provided in the CL-ECN object of
the Resv message in accordance with the procedures of [CL-
ARCH] and [CL-MARKING] (for example, if the Congestion Level
Estimate conveyed in the CL-ECN object exceeds a configured
threshold, the Ingress Edge may decide to reject this new
reservation). Once the admission control decision is taken by
the Ingress Edge, regular RSVP procedures are followed to
either proceed with the reservation (and forward the Resv
towards the sender) or tear down the reservation (and, in
particular, send a ResvErr towards the receiver with Error
Code "Admission Control failure".
3) In case the Ingress Edge forwards the Resv message upstream,
the Ingress Edge MUST remove the CL-ECN object [Editor Note:
discuss RSVP Authentication]
When generating a refresh for a Resv message towards the Ingress Edge,
the Egress Edge SHOULD NOT include the current value of the
Congestion-Level-Estimate in the CL-ECN object, but rather SHOULD
include the value which was included in the previous refresh. This is
for implementation reasons, to facilitate detection by the Ingress
Edge that this message is a mere refresh even if the value of the
actual Congestion-Level-Estimate has changed since the previous
refresh.
When receiving a PathErr message with the new Error Code of "CL-ECN
Probes Required", the Ingress Edge MUST generate CL-ECN probes as
described in [CL-ARCH] and [CL-MARKING] towards the Egress Edge which
Le Faucheur, et al. [Page 6]
RSVP Extensions for CL-ECN October 2005
sent the PathErr Message, and MUST not propagate the PathErr message
further upstream.
3.3. Removal of E2E reservations
E2E reservations are removed in the usual RSVP way via PathTear,
ResvTear, timeout, or as the result of an error condition. This does
not directly affect CL-ECN operations.
3.4. Overview of Procedures for Preemption of Existing Reservations
As mentioned earlier, [CL-ARCH] describes how the framework uses
rate-based pre-emption to maintain the CL service to as many admitted
microflows as possible even after localised failure and routing
changes in the interior of the edge-to-edge region. The solution has
two aspects. First, triggering the Ingress Edge that pre-emption may
be needed. This involves a new router marking behaviour for Alert
Notification. Secondly, calculating the right amount of traffic to
drop. This involves the Egress Edge measuring the amount of CL
traffic from a particular ingress gateway. The Ingress edge compares
this measurement (which is the amount that the network can actually
support) with the rate that it is sending.
This section describes RSVP operations for support of such preemption.
Section 3.2.1 "Alerting the Ingress Edge that pre-emption may be
needed" specifies how the Egress Edge can be alerted, explicitly or
implicitly, that preemption may be needed and specifies how the
Egress Edge measures the rate of traffic at the Egress Edge for the
relevant CL-region-aggregate. It also specifies that the Egress Edge
needs to transport this information reliably to the Ingress Edge.
Let us assume that a number of reservations are established and
transit through a given Ingress Edge Ei and a given Egress Edge Ee.
Let us now assume that Ee is alerted that preemption may be needed
and that Ee has measured the egress rate for the CL-region-aggregate
from Ei to Ee.
Then, Ee MUST arbitrarily select one of the reservations whose
Previous Hop is Ei and address to Ei a Resv message for that
reservation with a CL-ECN object containing the current Egress Rate
for the relevant CL-region-aggregate.
To avoid the risk that this Resv message gets lost and in turn that
the Ingress Edge is not made aware in a timely manner that the
Congestion-Level-Estimate has changed significantly, the RSVP
Le Faucheur, et al. [Page 7]
RSVP Extensions for CL-ECN October 2005
reliable messaging procedures specified in [RSVP-REFRESH] SHOULD be
used.
Note that, even when reliable messaging is used, there is a very
small risk that the information about significant change of
Congestion-Level-estimate does not make it to the Ingress Edge. For
example, this could happen because there could be a race condition
whereby the corresponding reservation may get torn down around the
same time where the Resv message with the CL-ECN object is
transmitted, resulting in the Ingress Edge ignoring the whole Resv
message. However, this appears very unlikely and could also be
mitigated by the Egress Edge sending the new Congestion-Level-
Estimate on more than one reservation.
[Editor Note: optional use of a Notify message will be investigated.
Can this solve the race condition problem mentioned above?]
On receipt of the Resv message Ei will detect that this message is
not just a refresh because the content of the CL-ECN object has
changed and will immediately trigger its admission control logic.
This will assess whether some reservations need to be dropped in
accordance with the [CL-ARCH] and [CL-MARKING] scheme. In case some
do, those will be torn down as per regular RSVP procedures (in
particular a ResvErr message is then sent to the receiver).
4. RSVP Object and Error Code Definition
This document defines a new object and two new error codes.
4.1. CL-ECN Object
o Class = To be allocated by IANA
C-Type = 1
0 7 8 15 16 25 26 31
+-------------+-------------+-------------+-------------+
| Congestion-Level-Estimate |
+-------------+-------------+-------------+-------------+
| Preemption Egress Rate |
+-------------+-------------+-------------+-------------+
The CL-ECN Object may only be used in Resv messages.
Let us refer:
- to the Egress Edge which generated the Resv message containing
the CL-ECN object as Ee
Le Faucheur, et al. [Page 8]
RSVP Extensions for CL-ECN October 2005
- to the RSVP Previous HOP (Ingres Edge) for the corresponding
reservation as Ei.
CL-ECN Congestion-Level-Estimate:
This contains the current value of the Congestion-Level-Estimate
(defined in [CL-ARCH] and [CL- MARKING]) computed by Ee for traffic
from Ei to Ee
[Editor Note: Encoding details to be added]
Preemption Egress Rate:
This contains:
- When Ee is not alerted that preemption is needed for traffic
from Ei to Ee, this field is set to 0,
- When Ee is alerted that preemption is needed for traffic from
Ei to Ee, the current value of the rate of traffic at the
Egress Edge for the relevant CL-region-aggregate (defined in
[CL-ARCH] and [CL-MARKING]) computed by Ee for traffic from Ei
to Ee
[Editor Note: Encoding details to be added]
4.2. "CL-ECN Probes Required" Error Code
The "CL-ECN Probes Required" Error Code may appear only in PathErr
messages.
Error Code = To be allocated by IANA
4.3. "Inconsistent Admission Control Behaviour across Ingress and
Egress Edge" Error Code
The "Inconsistent Admission Control Behaviour across Ingress and
Egress Edge" may appear only in ResvErr messages.
[Editor note: should we allow it in PathErr messages too so that
notification can also be provided to the sender?]
Error Code for "Inconsistent Admission Control Behaviour across
Ingress and Egress Edge"= To be allocated by IANA
Error Value for "Egress Edge Router not CL-ECN capable"= To be
allocated by IANA
5. Security Considerations
To be added
Le Faucheur, et al. [Page 9]
RSVP Extensions for CL-ECN October 2005
6. IANA Considerations
This document makes the following requests to the IANA:
- allocate a new Object Class (CL-ECN Object)
- allocate a new Error Code ("CL-ECN Probes Required") and manage
the corresponding Error Value range
- allocate a new Error Code ("Inconsistent Admission Control
Behaviour across Ingress and Egress Edge") and manage the
corresponding Error Value range
7. Acknowledgments
We would like to thank Carol Iturralde for her input into this
document.
8. Normative References
[RSVP] Braden, R., ed., et al., "Resource ReSerVation Protocol
(RSVP)- Functional Specification", RFC 2205, September 1997.
[CL-ARCH] Briscoe et al." A Framework for Admission Control over
Diffserv using Pre-Congestion Notification",
draft-briscoe-tsvwg-cl-architecture-01.txt, October 2005.
[RFC2998] Bernet, Y., Yavatkar, R., Ford, P., Baker, F., Zhang, L.,
Speer, M., Braden, R., Davie, B., Wroclawski, J. and E. Felstaine, "A
Framework for Integrated Services Operation Over DiffServ Networks",
RFC 2998, November 2000.
[CL-MARKING] work in progress, to be published.
[RSVP-REFRESH] Burger et al, "RSVP Refresh Overhead Reduction
Extensions", RFC2961, April 2001
9. Informative References
[RFC2211] J. Wroclawski, Specification of the Controlled-Load
Network Element Service, September 1997
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.
and W. Weiss, "A framework for Differentiated Services", RFC 2475,
December 1998.
10. Authors Address:
Le Faucheur, et al. [Page 10]
RSVP Extensions for CL-ECN October 2005
Francois Le Faucheur
Cisco Systems, Inc.
Village d'Entreprise Green Side - Batiment T3
400, Avenue de Roumanille
06410 Biot Sophia-Antipolis
France
Email: flefauch@cisco.com
Anna Charny
Cisco Systems
300 Apollo Drive
Chelmsford, MA 01824
USA
EMail: acharny@cisco.com
Bob Briscoe
BT Research
B54/77, Sirius House
Adastral Park
Martlesham Heath
Ipswich, Suffolk
IP5 3RE
United Kingdom
Email: bob.briscoe@bt.com
Philip Eardley
BT Research
B54/77, Sirius House
Adastral Park
Martlesham Heath
Ipswich, Suffolk
IP5 3RE
United Kingdom
Email: philip.eardley@bt.com
Kwok Ho Chan
Nortel Networks
600 Technology Park Drive
Billerica, MA 01821
USA
Email: khchan@nortel.com
Jozef Z. Babiarz
Nortel Networks
3500 Carling Avenue
Ottawa, Ont K2H 8E9
Canada
Email: babiarz@nortel.com
Le Faucheur, et al. [Page 11]
RSVP Extensions for CL-ECN October 2005
11. IPR Statements
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard.
Please address the information to the IETF at ietf-ipr@ietf.org.
12. Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
13. Copyright Notice
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Appendix A - Example RSVP Signaling Flow for Admission Control
To be added. Shows RSVP message flow in case of admission control of
new reservations.
Le Faucheur, et al. [Page 12]
RSVP Extensions for CL-ECN October 2005
Appendix B - Example Signaling Flow for Preemption
To be added. Shows RSVP message flow in case of preemption of
existing reservations.
Le Faucheur, et al. [Page 13]