Content Delivery Networks J. Seedorf Interconnection NEC Internet-Draft March 9, 2012 Intended status: Informational Expires: September 10, 2012 CDNI Request Routing with ALTO draft-seedorf-cdni-request-routing-alto-01 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 if, how, and 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 and in particular in the process of selecting a downstream CDN. 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 September 10, 2012. Copyright Notice Seedorf Expires September 10, 2012 [Page 1] Internet-Draft ALTO for CDNi request Routing March 2012 Copyright (c) 2012 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. ALTO within CDNI Request Routing . . . . . . . . . . . . . . . 4 3. Selection of a Downstream CDN with ALTO . . . . . . . . . . . 6 3.1. Footprint Advertisement with ALTO network map . . . . . . 6 3.2. Using ALTO cost maps for Downstream CDN Selection . . . . 6 3.3. Example of Selecting a Downstream CDN based on ALTO Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4. Advantages of using ALTO . . . . . . . . . . . . . . . . . 8 4. Assumptions and Design Considerations . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Summary and Outlook . . . . . . . . . . . . . . . . . . . . . 11 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 8. Informative References . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14 Seedorf Expires September 10, 2012 [Page 2] Internet-Draft ALTO for CDNi request Routing March 2012 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 if, how, and under what conditions ALTO can be useful to optimize CDNI request routing. Most importantly, the document has the goal of finding consensus regarding which part of the CDNI request routing interface can use ALTO. A previous version of this document [refs.altocdni] contained detailed examples of actual request routing and surrogate selection with ALTO. This version solely focuses on selection of a downstream CDN and how ALTO can support such downstream CDN selection. Throughout this document, we use the terminology for CDNI defined in [refs.CDNIproblemstatement]. Seedorf Expires September 10, 2012 [Page 3] Internet-Draft ALTO for CDNi request Routing March 2012 2. ALTO within 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 More precisely, in [refs.CDNIframework] the request routing interface is broadly divided into two functionalities: o 1) the asynchronous advertisement of footprint and capabilities by a dCDN that allows a uCDN to decide whether to redirect particular user requests to that dCDN; o 2) the synchronous operation of actually redirecting a user request. Accorduing to consensus found at the last CDNI session at IETF-82, we refer to 1) as "Request Routing Interface - Footprint and Capabilities Advertisement" and 2) as "Request Routing Interface - Redirection". A previous version of this document [refs.altocdni] provided some concrete examples how ALTO could be used for the actual "redirection" part of the request routing interface. Based on feedback received at the IETF-82 meeting, this version solely focuses on the "Footprint and Capabilities Advertisement" part of the request routing interface. In particular, the scope of the current version of this document is to show how ALTO [RFC5693] can be used for selecting a downstream CDN. Thus, the scope of the current document is to provide examples and discuss how a downstream CDN can advertise its footprint and other information by means of ALTO. 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 Seedorf Expires September 10, 2012 [Page 4] Internet-Draft ALTO for CDNi request Routing March 2012 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). Seedorf Expires September 10, 2012 [Page 5] Internet-Draft ALTO for CDNi request Routing March 2012 3. Selection of a Downstream CDN with ALTO ALTO can help the upstream CDN provider to select a proper downstream CDN provider for a given end user request as follows: Each downstream CDN provider hosts an ALTO server which provides ALTO information (i.e. ALTO network maps and ALTO cost maps [refs.altoprotocol]) to an ALTO client at the upstream CDN provider. A network map provided by each of several candidate downstream CDNs can provide information to the upstream CDN provider regarding the geopgraphical coverage, the location of "surrogates", or similar. In addition, an ALTO cost map can provide an upstream CDN provider information about the ''cost'' of delivering certain content via the downstream CDN which provided such a cost map. ''Cost'' in this context is a generic term; many types of costs are possible and can be useful in the context of CDNI request routing (see Section 3.2 for a detailed discussion), e.g. average link load, expected delay, or monetary costs. 3.1. Footprint Advertisement with ALTO network map An ALTO network map contains a "set of Network Location groupings" [refs.altoprotocol]. The groupings are defined in the form of so- called "PIDs". A PID is an identifier to group network location endpoints, e.g. IP-addresses in the form of prefixes (see section 4 in [refs.altoprotocol] for details). The concept of an ALTO network map (and the PIDs contained therein) is a natural and straightforward candidate for CDNI fooprint advertisement: The downstream CDN provider groups the IP-addresses in its footprint into PIDs and makes these grouping available to an upstream CDN via an ALTO network map. With such a network map, the upstream CDN provider can easily match an end user request with the footprint of the downstream CDN provider to see if a given downstream CDN can provide "coverage" for the IP-address of the end user. Whenever the footprint changes, the downstream CDN creates an updated network map and makes it available via its ALTO server. 3.2. Using ALTO cost maps for Downstream CDN Selection An ALTO cost map contains costs between defined groupings of a corresponding network map (i.e. costs between PIDs): "An ALTO Cost Map defines Path Costs pairwise amongst sets of source and destination Network Locations" [refs.altoprotocol]. This concept enables the provider of a cost map to express (and quantify) preferences of a destination network location with respect to a given source network location. In the context of CDNI, the ALTO cost map concept is an extensive Seedorf Expires September 10, 2012 [Page 6] Internet-Draft ALTO for CDNi request Routing March 2012 tool to facilitate selection of the "best" downstream CDN because it enables the upstream CDN provider to assess a candidate downstream CDN based on other factors besides simply network coverage (footprint). Most importantly, the cost map concept provides a means for a downstream CDN provider to convey a multitude of dynamically changing information which the upstream CDN provider cannot measure itself (or only roughly estimate) otherwise. For instance, the following types of ''delivery cost'' can be conveyed by a downstream CDN provider via ALTO for each combination of source PID and destination PID: o Latency: the expected/average RTT o Bandwidth: the maximum bandwidth (e.g. due too bottlenecks) o Monetary Costs: The amount of actual monetary costs the downstream CDN provider would charge for the delivery of content to a given destination (see also [refs.CDNIcostperspective]) 3.3. Example of Selecting a Downstream CDN based on ALTO Maps Consider the following example. An upstream CDN (uCDN) receives a request from an end user. Based on the IP-address of the end user, uCDN determines that it is possible to deliver the content from one of several candidate downstream CDNs (dCDN-a, dCDN-b, and dCDN-c). Each of these downstream CDNs runs an ALTO server to provide information about what locations it can deliver content to (footprint) and at which ''cost'' (additional information). uCDN downloads from each candidate downstream CDN an ALTO network map and one or more ALTO cost maps (e.g. by using the "Filtered Cost Map" option and different "cost-types" as specified in 7.7.3.2. of [refs.altoprotocol]). The ALTO network map provides ''coverage'' (footprint) for each downstream CDN as aggregated network locations in the form of ALTO PIDs. The cost maps provide the upstream CDN information regarding the ''costs'' the selection of each individual donwstraem CDN would imply. Assume that only the ALTO network maps provided by dCDN-a and dCDN-c indicate that these downstream CDNs can deliver content for the location of the end user requesting content. In this case, the ALTO costs maps provide useful information to the upstream CDN, uCDN, in order to make a selection decision regarding either dCDN-a or dCDN-c. For instance, if both downstream CDNs have provided two ALTO cost maps - one regarding monetary delivery cost and one regarding expected latency for delivery - uCDN can make a downstream CDN selection based on its preferences: If one downstream CDN can deliver cheaper, but the other faster, ALTO cost maps provide such Seedorf Expires September 10, 2012 [Page 7] Internet-Draft ALTO for CDNi request Routing March 2012 information in detail to the upstream CDN. This enables the upstream CDN to make a well-considered downstream CDN selection which may take into account different factors (which can for instance be weighted by the upstream CDN to make a decision). 3.4. Advantages of using ALTO The following reasons make ALTO a suitable candidate protocol for downstream CDN selection as part of CDNI request routing: o The semantics of an ALTO network are an exact match for the needed information to convey a footprint by a downstream CDN o ALTO cost maps can express delivery ''cost'' and thus convey relevant network topology information other than simply routing hops or reachability. This facilitiates advanced and more sophisticated selection of a downstream CDN based on various metrics by the upstream CDN and increases flexibility to cover different use cases and business models for CDN interconnection. o ALTO maps can be signed and hence provide inherent integrity protection (see Section 5) Seedorf Expires September 10, 2012 [Page 8] Internet-Draft ALTO for CDNi request Routing March 2012 4. Assumptions and Design Considerations In this section we list some assumptions and design issues to be considered when using ALTO for CDNI "footprint and capabilities advertisement": o Federation Model: "footprint and capabilities advertisement" and in general CDN request routing depends on the federation model among the CDN providers. Designing a suitable solution thus depends on whether a solution is needed for different settings, where CDNs consist of both NSP CDNs (serving individual ASes) and general, traditional CDNs (such as Akamai). We assume that CDNI is not designed for a setting where only NSP CDNs each serve a single AS only. o Many CDNs can claim that they can serve any host on the Internet due to Internet connectivity. For example, even if an NSP CDN A does not have surrogate servers inside network C, A can legitimately claim that it can serve customers inside network C. Hence, what a downstream CDN should inform an upstream CDN is performance and capability, not reachability. Although one may turn performance into (binary) reachability by defining a threshold, the metric can be content-dependent (image, video, files) or artificial. The requirement of conveying performance and capability is consistent with the context: after all, the foundation of the CDN business is to improve user QoE. o It is not clear what kind(s) of business, contract, and operational relationships two peering CDNs may form. For the Internet, we see provider-customer and peering as two main relations; providers may use different charging models (e.g., 95- percentile, total volume) and may provide different SLAs. Given such unknown characteristics of CDN peering business agreements, we should design the protocol to support as much diverse potential business and operational models as possible. Seedorf Expires September 10, 2012 [Page 9] Internet-Draft ALTO for CDNi request Routing March 2012 5. Security Considerations One important security consideration is the proper authentication of advertisement information provided by a downstream CDN. The ALTO protocol provides a specification for a signature of ALTO maps (see 8.2.2. of [refs.altoprotocol]. ALTO thus provides a proper means for protecting the integrity of footprint advertisment information. More Security Considerations will be discussed in a future version of this document. Seedorf Expires September 10, 2012 [Page 10] Internet-Draft ALTO for CDNi request Routing March 2012 6. Summary and Outlook This document presented conrete examples of how ALTO can be used within the downstream CDN selection of CDNI Request Routing. Further, the document provides arguments why ALTO is a meaningful protocol in this context. Most importantly, the concept of the ALTO cost map is a means to provide detailed and various types of information to an upstream CDN to facilitate well-considered downstream CDN selection. The intention of this document is to find consensus in the CDNI WG that ALTO is a useful protocol for CDNI request routing and in particular has many benefits for proper selection of a downstream CDN. The overall objective is to form agreement on how ALTO should be used 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 September 10, 2012 [Page 11] Internet-Draft ALTO for CDNi request Routing March 2012 7. 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. Thanks to Richard Yang for providing valuable comments on a previous version of this draft, and for contributiong some design considerations and assumptions. Seedorf Expires September 10, 2012 [Page 12] Internet-Draft ALTO for CDNi request Routing March 2012 8. Informative References [refs.CDNIusecases] Bertrand, G., Stephan, E., Watson, G., Burbridge, T., and P. Eardley, "Use Cases for Content Delivery Network Interconnection", 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. [refs.altocdni] Seedorf, J., "ALTO for CDNi Request Routing", draft-seedorf-alto-for-cdni-00 (work in progress), October 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.CDNIcostperspective] Liu, H., "A Cost Perspective on Using Multiple CDNs", draft-liu-cdni-cost-00 (work in progress), Oct 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 September 10, 2012 [Page 13] Internet-Draft ALTO for CDNi request Routing March 2012 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 September 10, 2012 [Page 14]