Network Working Group M. Caulfield
Internet-Draft Cisco Systems
Intended status: Standards Track October 21, 2013
Expires: April 24, 2014
CDNI Rate Pacing
draft-caulfield-cdni-rate-pacing-00
Abstract
Rate pacing is a class of network traffic shaping which limits the
transmission rate of data over a network. This document defines CDNI
extensions for downstream CDNs to support rate pacing on behalf of
upstream CDNs.
Requirements Language
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 RFC 2119 [RFC2119].
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 April 24, 2014.
Copyright Notice
Copyright (c) 2013 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
Caulfield Expires April 24, 2014 [Page 1]
Internet-Draft CDNI Rate Pacing October 2013
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. Rate Pacing Algorithm . . . . . . . . . . . . . . . . . . . . 3
3. CDNI Interfaces Impact . . . . . . . . . . . . . . . . . . . 3
3.1. Footprint & Capabilities Interface . . . . . . . . . . . 3
3.2. Request Routing Redirection Interface . . . . . . . . . . 3
3.3. Metadata Interface . . . . . . . . . . . . . . . . . . . 4
3.3.1. RatePacing Metadata . . . . . . . . . . . . . . . . . 4
3.4. Logging Interface . . . . . . . . . . . . . . . . . . . . 4
3.5. Control Interface . . . . . . . . . . . . . . . . . . . . 5
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5
7. Normative References . . . . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
Rate pacing is a class of network traffic shaping which limits the
transmission rate of data over a network. In the context of a
Content Delivery Network (CDN), rate pacing provides an important
business advantage to a Content Service Provider (CSP) by ensuring
that a CDN which is delivering content on behalf of that CSP does not
deliver significantly more data than necessary to an end client.
For example, suppose an end client is watching some Constant Bit Rate
(CBR) video encoded at 1500 kbps. In the absence of rate pacing, the
CDN delivering this content may send it to the client at 3000 kbps.
If the client chooses to terminate the session before watching the
entire video, up to half the transmitted data is wasted. This waste
leads to unnecessary cost for the CSP and diminished useful capacity
for the CDN.
Rate pacing requires configuration on a per-content basis. In order
to enable rate pacing in a CDNI environment, the CDNI interfaces need
to be extended to optionally support this feature.
This document describes:
1. a rate pacing algorithm for CDNs
Caulfield Expires April 24, 2014 [Page 2]
Internet-Draft CDNI Rate Pacing October 2013
2. CDNI interface extensions required for supporting rate pacing
2. Rate Pacing Algorithm
A token bucket algorithm SHOULD be used for implementing rate pacing.
Other algorithms MAY be used but the traffic shape MUST fit within
the same envelope of a token bucket algorithm. Token bucket is
described by [RFC1363].
The token bucket algorithm is characterized by two parameters:
1. Rate - the number of tokens added to the bucket per second
2. Size - the maximum number of tokens in the bucket
For the purpose of this document, each token represents one byte.
3. CDNI Interfaces Impact
3.1. Footprint & Capabilities Interface
[I-D.ietf-cdni-footprint-capabilities-semantics]defines the CDNI
Footprint and Capabilities semantics. But at the time of writing, no
FCI syntax specification has been accepted as a working group
document.
[I-D.ietf-cdni-footprint-capabilities-semantics]states that:
"The CDNI FCI specification SHOULD define the registry (and the rules
for adding new entries to the registry) for the different capability
types. Each capability type MAY further have a list of valid values.
The individual CDNI interface specifications which define a given
capability SHOULD define any necessary registries (and the rules for
adding new entries to the registry) for the values advertised for a
given capability type."
This document defines a new capability type: "RatePacing" to be added
to the FCI capability types registry. No value needs to be
advertised for this capability and therefore no additional value
registry need to be defined.
A CDN MAY advertise the "RatePacing" capability in the FCI if it
implements this specification.
3.2. Request Routing Redirection Interface
A new RatePacing metadata object is defined to represent the
configuration for rate pacing. The RatePacing object has MIME type
Caulfield Expires April 24, 2014 [Page 3]
Internet-Draft CDNI Rate Pacing October 2013
"application/cdni.RatePacing". RatingPacing MAY appear within the
metadata list of either HostMetadata or PathMetadata (i.e. may have
either host-level scope or a path-level scope). The following
section defines the properties of the RatingPacing object.
3.3. Metadata Interface
A new RatePacing metadata object is defined to represent the
configuration for rate pacing. The RatePacing object has MIME type
"application/cdni.RatePacing". RatingPacing MAY appear within the
metadata list of either HostMetadata or PathMetadata (i.e. may have
either host-level scope or a path-level scope). The following
section defines the properties of the RatingPacing object.
3.3.1. RatePacing Metadata
The presence of the RatePacing Metadata indicates that a dCDN MUST
comply with the Rate Pacing Algorithm defined by this specification
in order to deliver a piece of content.
Property: rate
Description: Rate of tokens per second to be added to the
bucket as described by the token bucket algorithm. This value
MUST be a positive integer. Each token represents one byte.
Type: Integer
Mandatory-to-Specify: Yes.
Property: size
Description: Maximum number of tokens per bucket as described
by the token bucket algorithm. This value MUST be a positive
integer.
Type: Integer
Mandatory-to-Specify: Yes.
3.4. Logging Interface
The rate at which a piece of content was delivered MAY be indicated
via the LI. The "sc-rate" field indicates the rate in bytes per
second as a decimal number. The bytes measured should correspond to
the sc-entity-bytes field.
sc-rate:
Caulfield Expires April 24, 2014 [Page 4]
Internet-Draft CDNI Rate Pacing October 2013
format: DEC
field value: the average rate in bytes per second at which a
response was delivered from Surrogate to client.
occurence: there MUST be zero or exactly one instances of this
field.
3.5. Control Interface
The CI is not impacted by rate pacing.
4. IANA Considerations
This document requests the following of IANA:
Addition of RatePacing in the CDNI Capability Registry defined in
???.
Addition of RatePacing in the CDNI GenericMetadata Type Registry
defined in [I-D.ietf-cdni-metadata].
Addition of sc-rate in the CDNI Logging Field Names Registry defined
in [I-D.ietf-cdni-logging].
5. Security Considerations
A malicious CSP might attempt to use rate pacing to instruct a dCDN
to delivery some content at a very high rate thereby amplifying a
DDOS attack. The decision to enforce a rate is left to the
discretion of a dCDN. An implementation of rate pacing should
implement reasonable upper bound to avoid such cases.
6. Acknowledgements
The author would like to thank Francois Le Faucheur for his
contributions and feedback.
7. Normative References
[]
Seedorf, J., Peterson, J., Previdi, S., Brandenburg, R.,
and K. Ma, "CDNI Request Routing: Footprint and
Capabilities Semantics", draft-ietf-cdni-footprint-
capabilities-semantics-00 (work in progress), July 2013.
[I-D.ietf-cdni-logging]
Caulfield Expires April 24, 2014 [Page 5]
Internet-Draft CDNI Rate Pacing October 2013
Faucheur, F., Bertrand, G., Oprescu, I., and R.
Peterkofsky, "CDNI Logging Interface", draft-ietf-cdni-
logging-08 (work in progress), October 2013.
[I-D.ietf-cdni-metadata]
Niven-Jenkins, B., Murray, R., Watson, G., Caulfield, M.,
Leung, K., and K. Ma, "CDN Interconnect Metadata", draft-
ietf-cdni-metadata-02 (work in progress), July 2013.
[RFC1363] Partridge, C., "A Proposed Flow Specification", RFC 1363,
September 1992.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Author's Address
Matt Caulfield
Cisco Systems
1414 Massachusetts Ave
Boxborough, MA 01719
USA
Phone: +1 978 936 9307
Email: mcaulfie@cisco.com
Caulfield Expires April 24, 2014 [Page 6]