Internet DRAFT - draft-seedorf-alto-for-cdni
draft-seedorf-alto-for-cdni
Content Delivery Networks J. Seedorf
Interconnection NEC
Internet-Draft October 19, 2011
Intended status: Informational
Expires: April 21, 2012
ALTO for CDNi Request Routing
draft-seedorf-alto-for-cdni-00
Abstract
Network Service Providers (NSPs) are currently considering to deploy
Content Delivery Networks (CDNs) within their networks. As a
consequence of this development, there is a need for interconnecting
these local CDNs. The necessary interfaces for inter-connecting CDNs
are currently being defined in the Content Delivery Networks
Interconnection (CDNi) WG. This document focusses on the Request
Routing Interface of CDNi, and more specifically on how the solutions
currently being defined in the Application Layer Traffic Optimization
(ALTO) WG can improve CDNi request routing. The overall intention
behind this document is to foster discussions (in the CDNi as well as
in the ALTO WG) regarding a) if, b) how, and c) under what conditions
ALTO can be useful to optimize CDNi request routing. As basis for
this discussion, this document provides concrete examples of how ALTO
can be integrated within CDNi request routing. The examples in this
document are based on the use cases and examples currently being
discussed in the CDNi WG.
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 21, 2012.
Copyright Notice
Seedorf Expires April 21, 2012 [Page 1]
Internet-Draft ALTO for CDNi request Routing October 2011
Copyright (c) 2011 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
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 . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. CDNi Request Routing . . . . . . . . . . . . . . . . . . . . . 4
3. Using ALTO within CDNi Request Routing . . . . . . . . . . . . 5
3.1. ALTO to simplify DNS-based Request Routing Redirection . . 5
3.2. ALTO to simplify http-Redirection for Request Routing . . 7
3.3. ALTO to support Selection of Downstream CDN . . . . . . . 9
4. Security Considerations . . . . . . . . . . . . . . . . . . . 10
5. Summary and Outlook . . . . . . . . . . . . . . . . . . . . . 11
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
7. Informative References . . . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14
Seedorf Expires April 21, 2012 [Page 2]
Internet-Draft ALTO for CDNi request Routing October 2011
1. Introduction
Many Network Service Providers (NSPs) are currently considering or
have already started to deploy Content Delivery Networks (CDNs)
within their networks. As a consequence of this development, there
is a need for interconnecting these local CDNs. Content Delivery
Networks Interconnection (CDNi) has the goal of standardizing
protocols to enable such interconnection of CDNs
[refs.cdniproblemstatement].
The CDNi problem statement envisions four interfaces to be
standardized within the IETF for CDN interconnection
[refs.cdniproblemstatement]:
o CDNI Request Routing Interface
o CDNI Metadata Interface
o CDNI Logging Interface
o CDNI Control Interface
This document focusses solely on the CDNI Request Routing Interface.
In particular, this document shows concrete examples of how ALTO
[RFC5693] can be integrated in CDNi request routing. The goal of
this document is to show in what cases ALTO can benefit CDNi request
routing, giving concrete examples and explaining how ALTO improves
CDNi request routing in each of these examples. The examples used in
this document are based on the use cases and request routing
proposals currently being discussed in the CDNi WG
[refs.cdniusecases] [refs.cdnistrawman] and in the ALTO WG
[refs.altocdn]. The overall rationale of this document is to foster
discussions (in the CDNi as well as in the ALTO WG) regarding a) if,
b) how, and c) under what conditions ALTO can be useful to optimize
CDNi request routing.
Throughout this document, we use the terminology for CDNi defined in
[refs.cdniproblemstatement].
Seedorf Expires April 21, 2012 [Page 3]
Internet-Draft ALTO for CDNi request Routing October 2011
2. CDNi Request Routing
The main purpose of the CDNI Request Routing Interface is described
in [refs.cdniproblemstatement] as follows: "The CDNI Request Routing
interface enables a Request Routing function in an upstream CDN to
query a Request Routing function in a downstream CDN to determine if
the downstream CDN is able (and willing) to accept the delegated
content request and to allow the downstream CDN to control what the
upstream Request Routing function should return to the User Agent in
the redirection message". On a high level, the scope of the CDNI
Request Routing Interface therefore contains two main tasks:
o A) Determining if the downstream CDN is willing to accept a
delegated content request
o B) Redirecting the content request coming from an upstream CDN to
the proper entry point or entity in the downstream CDN
Seedorf Expires April 21, 2012 [Page 4]
Internet-Draft ALTO for CDNi request Routing October 2011
3. Using ALTO within CDNi Request Routing
Application Layer Traffic Optimization (ALTO) is an approach for
guiding the resource provider selection process in distributed
applications that can choose among several candidate resources
providers to retrieve a given resource. By conveying network layer
(topology) information, an ALTO server can provide important
information to "guide" the resource provider selection process in
distributed applications. Usually, it is assumed that an ALTO server
conveys information these applications cannot measure themselves
[RFC5693].
Originally, ALTO was motivated by the huge amount of cross-ISP
traffic generated by P2P applications [RFC5693]. Recently, however,
ALTO is also being considered for improving the request routing in
CDNs [refs.altocdn]. In this context, it has also been proposed to
use ALTO for selecting an entry-point in a downstream NSP's network
(see section 3.4 "CDN delivering Over-The-Top of a NSP's network" in
[refs.altocdn]). Also, the CDNi problem statement explicitly
mentions ALTO as a candidate protocol for "algorithms for selection
of CDN or Surrogate by Request-Routing systems"
[refs.cdniproblemstatement]. Yet, there have not been concrete
proposals so far on how to use ALTO in the context of CDN
interconnection. This document tries to close this gap by giving
some examples on how ALTO could be used within CDNi request routing.
As explicitly being out-of-scope for CDNi
[refs.cdniproblemstatement], the examples used in this document
assume that ingestion of content or acquiring content across CDNs is
not part of request routing as considered within CDNi standardization
work. The focus of using ALTO (as considered in this document) is
hence on request routing only, assuming that the content (desired by
the end user) is available in the downstream CDN (or can be aquired
by the downstream CDN by some means).
3.1. ALTO to simplify DNS-based Request Routing Redirection
If CDNi request routing is based on DNS, ALTO can potentially help to
avoid one or more DNS resolution steps. For instance, Figure 1 shows
a modified version of the high-level message sequence chart from
Figure 5 of [refs.cdniframework] (note that this figure is similar to
the high-level message sequence chart shown in Figure 3 of
[refs.cdnistrawman]). In the original figure (i.e. Figure 5 in
[refs.cdniframework]), the DNS server hosted by the upstream CDN
(assumed to be the authoritative DNS server for the requested
content), returns a DNS CNAME and NS record which essentially directs
the end user to the request router of the downstream CDN. However,
this redirection involves another DNS resolution for the request
Seedorf Expires April 21, 2012 [Page 5]
Internet-Draft ALTO for CDNi request Routing October 2011
router of the downstream CDN to be performed by the end user.
In the example using ALTO provided in Figure 1 of this document, the
downstream CDN provides the upstream CDN an ALTO network (and
corresponding cost) map by means of the ALTO protocol
[refs.altoprotocol] (0). This ALTO map provides sufficient
information for the upstream CDN to directly return a suitable IP-
address for the CDN entry point in the downstream CDN (2).
In principle, using ALTO this way the downstream CDN provider would
provide the decision on which delivery node is best by means of an
ALTO network map to the upstream CDN provider. This enables the
upstream CDN provider to directly return a suitable delivery node in
the downstream CDN to the end user as a response to the initial DNS
request received by the upstream CDN provider.
An imlicit assumption for the example in Figure 1 to work is that the
CDN entry point for the downstream CDN only depends on the location
of the end user. Using the cost map, the upstream CDN can determine
the "best" entry point in the downstream CDN. If the "best" entry
point depends also on the target domain ("cdn.csp.com" in the
example), it becomes more tricky to make such information available
to the upstream CDN by means of ALTO network map and cost map. One
possible way to still use ALTO in this case would be for the
downstream CDN to provide a different cost map for each Content
Service Provider (CSP).
Seedorf Expires April 21, 2012 [Page 6]
Internet-Draft ALTO for CDNi request Routing October 2011
End-User Operator B Operator A
| |ALTO network/cost map |
| |------------------------>|(0)
| | |
|DNS cdn.csp.com | |
|-------------------------------------------------->|(1)
| | |
| | |
|IPaddr of B's CDN Entry Point |(2)
|<--------------------------------------------------|
|HTTP cdn.csp.com | |
|------------------------>| |
| |(3) |
| |DNS op-b-acq.op-a.net |
| |------------------------>|
| | |(4)
| |IPaddr of A's Delivery Node
| |<------------------------|
| |HTTP op-b-acq.op-a.net |
| |------------------------>|
| | |(5)
| |Data |
| |<------------------------|
|Data | |
|<------------------------| |
Figure 1 - ALTO within DNS-based redirection of request routing
3.2. ALTO to simplify http-Redirection for Request Routing
Similar to the example given in the previous subsection, ALTO can
also help to reduce intermediate http redirection steps. Figure 2
shows a modified version of the the high-level message sequence chart
from Figure 3 of [refs.cdniframework] (note that this figure is
similar to the high-level message sequence chart shown in Figure 1 of
[refs.cdnistrawman]). In this case, the ALTO maps provided in step
(0) by the downstream CDN potentially enable the upstream CDN to
directly return - as a response to an http request - the hostname of
the suitable cache (delivery node) in the downstream CDN by means of
302-redirection (4). This use of ALTO would enable to avoid several
http-302 redirections and DNS resolutions by the end user (compare
with figure 3 of [refs.cdniproblemstatement], steps (2-4)).
Depending on how dynamically the actual "best" delivery node changes
(from the downstream CDN's request routing perspective), it might
only be meaningful to return to the end user the "best" entry point
Seedorf Expires April 21, 2012 [Page 7]
Internet-Draft ALTO for CDNi request Routing October 2011
or cluster within the downstream CDN. This would require an
additional http-redirect by the downstream request router to the
"best" actual cache. However, even in such a case ALTO can save one
http-redirect and one DNS resolution at the end user, consequently
speeding up the overall process of CDNi request routing.
End-User Operator B Operator A
| |ALTO network/cost map |
| |------------------------>|
|DNS cdn.csp.com | |
|-------------------------------------------------->|
| | |(1)
|IPaddr of A's Request Router |
|<--------------------------------------------------|
|HTTP cdn.csp.com | |
|-------------------------------------------------->|(2)
| | |(3)
| | |(4)
|302 node1.peer-a.op-b.net/cdn.csp.com |
|<--------------------------------------------------|
|DNS node1.peer-a.op-b.net| |
|------------------------>| |
| |(5) |
|IPaddr of B's Delivery Node |
|<------------------------| |
| | |
|HTTP node1.peer-a.op-b.net/cdn.csp.com |
|------------------------>| |
| |(6) |
| |DNS op-b-acq.op-a.net |
| |------------------------>|
| | |(7)
| |IPaddr of A's Request Router
| |<------------------------|
| |HTTP op-b-acq.op-a.net |
| |------------------------>|
| | |(8)
| |302 node2.op-b.acq.op-A.net
| |<------------------------|
| |DNS node2.op-b-acq.op-a.net
| |------------------------>|
| | |(9)
| |IPaddr of A's Delivery Node
| |<------------------------|
| | |(10)
| |Data |
| |<------------------------|
|Data | |
Seedorf Expires April 21, 2012 [Page 8]
Internet-Draft ALTO for CDNi request Routing October 2011
|<------------------------| |
Figure 2 - ALTO within http-based redirection of request routing
3.3. ALTO to support Selection of Downstream CDN
ALTO could also help for the upstream CDN provider to select a proper
downstream CDN provider for a given end user request. For instance,
a network map provided by each of several candidate downstream CDNs
could provide information to the upstream CDN provider regarding the
geopgraphical coverage, the location of "surrogates", or similar.
Future versions of this document will discuss this use case in more
detail, and provide concrete examples how ALTO can be used for
downstream CDN selection by the upstream CDN provider.
Seedorf Expires April 21, 2012 [Page 9]
Internet-Draft ALTO for CDNi request Routing October 2011
4. Security Considerations
Security Considerations will be discussed in a future version of this
document.
Seedorf Expires April 21, 2012 [Page 10]
Internet-Draft ALTO for CDNi request Routing October 2011
5. Summary and Outlook
This document presented some examples on how ALTO can be used within
CDNi Request Routing and argued why such use of ALTO is meaningful in
certain cases. The intention of this document is to arouse
discussions in the CDNi WG as well as the ALTO WG in order to find
consensus on scenarios where ALTO is beneficial to CDNi request
routing and to form agreement on how ALTO should be used in such
cases within the CDNi request routing protocol. It is the intention
to capture the outcome of such continuing discussions in future
versions of this document.
Seedorf Expires April 21, 2012 [Page 11]
Internet-Draft ALTO for CDNi request Routing October 2011
6. Acknowledgements
Jan Seedorf is partially supported by the COAST project (COntent
Aware Searching, retrieval and sTreaming, http://www.coast-fp7.eu), a
research project supported by the European Commission under its 7th
Framework Program (contract no. 248036). The views and conclusions
contained herein are those of the authors and should not be
interpreted as necessarily representing the official policies or
endorsements, either expressed or implied, of the COAST project or
the European Commission.
Seedorf Expires April 21, 2012 [Page 12]
Internet-Draft ALTO for CDNi request Routing October 2011
7. Informative References
[refs.cdniusecases]
Bertrand, G., Stephan, E., Watson, G., Burbridge, T., and
P. Eardley, "SPEERMINT Peering Architecture",
draft-ietf-cdni-use-cases-00 (work in progress),
September 2011.
[refs.cdniproblemstatement]
Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content
Distribution Network Interconnection (CDNI) Problem
Statement", draft-ietf-cdni-problem-statement-00 (work in
progress), September 2011.
[refs.altocdn]
Niven-Jenkins, B., Watson, G., Bitar, N., Medved, J., and
S. Previdi, "Use Cases for ALTO within CDNs",
draft-jenkins-alto-cdn-use-cases-01 (work in progress),
June 2011.
[RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic
Optimization (ALTO) Problem Statement", RFC 5693,
October 2009.
[refs.cdnistrawman]
Peterson, L. and J. Hartman, "Content Distribution Network
Interconnection (CDNI) Problem Statement",
draft-peterson-cdni-strawman-01 (work in progress),
May 2011.
[refs.cdniframework]
Davie, B. and L. Peterson, "Framework for CDN
Interconnection", draft-davie-cdni-framework-00 (work in
progress), July 2011.
[refs.altoprotocol]
Alimi, R., Penno, R., and Y. Yang, "ALTO Protocol",
draft-ietf-alto-protocol-09 (work in progress), June 2011.
Seedorf Expires April 21, 2012 [Page 13]
Internet-Draft ALTO for CDNi request Routing October 2011
Author's Address
Jan Seedorf
NEC Laboratories Europe, NEC Europe Ltd.
Kurfuersten-Anlage 36
Heidelberg 69115
Germany
Phone: +49 (0) 6221 4342 221
Email: jan.seedorf@neclab.eu
URI: http://www.neclab.eu
Seedorf Expires April 21, 2012 [Page 14]