MBONED Working Group Percy S. Tarapore Internet Draft Robert Sayko Intended status: BCP AT&T Expires: January 21, 2013 Ram Krishnan Brocade October 22, 2012 Multicast Considerations in Support of CDN-I draft-tarapore-mboned-multicast-cdni-01.txt 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), 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 This Internet-Draft will expire on January 22, 2013. Copyright Notice 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 Tarapore, et al Expires January 21, 2013 [Page 1] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Abstract This document examines the current capabilities of multicast to support content distribution in an environment involving multiple Service Providers joining together to form a Content Distribution Network Interconnection (CDN-I) Federation. Table of Contents 1. Introduction...................................................2 2. CDN Nomenclature and High Level Overview.......................3 3. Multicast Use Cases for a CDN-I Federation.....................5 3.1. Native Multicast Use Case.................................5 3.2. Automatic Multicast Tunneling Use Cases...................6 3.2.1. AMT Interconnection Between P-CDN and S-CDN..........6 3.2.2. AMT Tunnel Connecting S-CDN and EU...................7 3.2.3. AMT Tunnel Connecting EU to P-CDN Through Non-Multicast S-CDN.......................................................7 4. Content Types Suitable for Multicast-based CDN.................8 4.1. Live Content...................Error! Bookmark not defined. 4.2. "Delayed-Play" Download........Error! Bookmark not defined. 4.3. "Instant-Play" Download........Error! Bookmark not defined. 5. Evaluation of Native Multicast for CDN.........................8 6. Evaluation of AMT for CDN......................................9 7. Security Considerations.......................................14 8. IANA Considerations...........................................14 TBD..............................................................14 9. Conclusions...................................................14 10. References...................................................14 10.1. Normative References....................................14 10.2. Informative References..................................15 11. Acknowledgments..............................................15 1. Introduction Content Providers (CP) are experiencing significant growth in demand for all types of internet-based content. A single "over-the-top" CP would require significant resources to deliver content that could be requested from anywhere in the world. Service Providers (SP) are taking advantage of this situation by forming Content Distribution Network (CDN) Federations for the purpose of distributing content on Tarapore, et al Expires January 21, 2013 [Page 2] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 behalf of Content Providers (CP). There are several advantages to such CDN Federations: o CPs can simply contract with one or more SPs in a CDN Federation for delivery of their content. This enables CPs to concentrate on their main objective - creation of content. o SPs can expand their geographic reach via distribution agreements with Federation members without developing costly resources outside their local territories. Multicast-based delivery mechanisms are a natural fit for content distribution in the proposed CDN Federations. The scope of this document is strictly focused on the interactions between CDN Federation members to support multicast-based content distribution. The purpose of this document is the detailed examination of applicable multicast techniques and the identification of detailed data/metadata/parameters that will have to be exchanged by CDN Federation members to enable multicast-based content distribution. 2. CDN Nomenclature and High Level Overview Terminology utilized to describe end-to-end user requests is described as follows. There are many entities involved in distribution of the content from the CP all the way to the End User (EU). Figure 1 is a diagram depicting the basic logical relationships among the various roles involved in content delivery. Besides the CP and EU, the two remaining major entities are the two members of a CDN Federation - the Primary CDN Provider (P-CDN) and the Supporting CDN Provider (S- CDN) [A-0200003]. The relationships between these entities are as follows - see Figure 1. 1. The Content Provider owns the content and specifies conditions of delivery and use. The End User interacts with the CP (link 1 in the figure) for authentication and authorization, and to reach an agreement to obtain specific content (content selection, content purchase, acknowledgement of conditions of use). The CP has the legal right to distribute content and specify conditions for distribution. 2. The CP has an agreement and interacts with the P-CDN for deploying content (link 2). The content is assumed to be retrieved by the P- CDN from the CP Origin server. Tarapore, et al Expires January 21, 2013 [Page 3] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 3. The P-CDN in turn has an agreement with an S-CDN for deploying and distributing content (link 3). 4. The End User is attached to S-CDN for access and obtains the content from the S-CDN (link 4). The End User also interacts with the CP (link 1) as indicated above. ----------------------------------------------- | (1) | v | +---------+ +---------+ +---------+ +---------+ | | | | | | | | | Content | | Primary | | Suppor- | | End | | Provider| --> | CDN | --> | -ting | --> | User | | | (2) | | (3) | CDN | (4) | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ Figure 1 - Relationships in a CDN Federation Note that all SPs in the CDN Federation can play the role of P-CDN (active relationship with a CP) as well as an S-CDN (attach EUs and distribute content from P-CDN to EUs). Using the above nomenclature, a CDN Federation is assumed to comprise multiple SPs that agree to function as CDN Providers and distribute content to End Users on behalf of CPs. The term 'SP' in this context is synonymous with the term 'CDN Provider' for the purpose of this document. A CP is assumed to have a contract with one or more SPs for the purpose of content delivery. A high level content request flow is described as follows: o An End User discovers a specific content on a CP website and requests delivery of the same. The CP selects one CDN Provider with whom it has contracts for content delivery. The rules for CDN Provider selection are part of the CP . CDN Provider contract and are out of scope for this document. The selected CDN Provider functions as the P-CDN. Tarapore, et al Expires January 21, 2013 [Page 4] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 o The P-CDN then determines the mode of content delivery - either cache/unicast or multicast depending on the type of content and its own capabilities and resources. It then determines whether to deliver the content directly to the End User or utilize another CDN Provider based on rules such as proximity, available resources, common delivery methods (e.g., multicast), etc. These selection rules are out of scope of this document. In case another CDN Provider is selected, then that entity assumes the role of the S-CDN. o The P-CDN then initiates the delivery process via the S-CDN's domain - the S-CDN acts as the "point of delivery" to the End User. The simple scenario described here is common to both delivery mechanisms - cache/unicast as well as multicast. The purpose of this document is to address all multicast related aspects in support of multicast-based content delivery. 3. Multicast Use Cases for a CDN-I Federation Use cases involving multicast methods for distributing content in a CDN Federation have been described in [A-0200004]. 3.1. Native Multicast Architectural Use Case ------------------- ------------------- / P-CDN \ / S-CDN \ / (Multicast Enabled) \ / (Multicast Enabled) \ / \ / \ | +----+ | | | | | | +------+ | | +------+ | +----+ | | CS |------>| BR |-|---------|->| BR |-------------|--->| EU | | | | +------+ | I1 | +------+ | I2 +----+ \ +----+ / \ / \ / \ / \ / \ / ------------------- ------------------- CS = Content Multicast Source (assumes that the Content Source retrieves content from CP Origin) BR = Border Router I1 = P-CDN and S-CDN Multicast Interconnection (MBGP or BGMP) I2 = S-CDN and EU Multicast Connection Figure 1 - Content Distribution via End to End Native Multicast Tarapore, et al Expires January 21, 2013 [Page 5] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 This case assumes that both CDN Providers as well as the interconnection between them and the connection between the EU and S- CDN are all multicast enabled. 3.2. A variation of this "pure" Native Multicast case is when the interconnection I1 between the CDNs is multicast enabled via a Generic Routing Encapsulation Tunnel (GRE) [RFC2784] and encapsulating the multicast protocols across the interface. Automatic Multicast Tunneling Architectural Use Cases In reality, the initial introduction of multicast may not be fully multicast enabled resulting in "Multicast Islands" requiring Automatic Multicast Tunnels (AMT) for enabling multicast connections between them [IETF-ID-AMT]. 3.2.1. AMT Interconnection Between P-CDN and S-CDN ------------------- ------------------- / P-CDN \ / S-CDN \ / (Multicast Enabled) \ / (Multicast Enabled) \ / \ / \ | +----+ | | | | | | +------+ | | +------+ | +----+ | | CS |------>| AR |-|---------|->| AG |-------------|--->| EU | | | | +------+ | I1 | +------+ | I2 +----+ \ +----+ / \ / \ / \ / \ / \ / ------------------- ------------------- AR = AMT Relay AG = AMT Gateway I1 = AMT Interconnection between P-CDN and S-CDN I2 = S-CDN and EU Multicast Connection Figure 3 - AMT Interconnection between P-CDN and S-CDN This configuration assumes both CDN Providers are multicast enabled. Only the interconnection between them is not multicast enabled and hence, an AMT tunnel is established between them as shown in Figure 3. Tarapore, et al Expires January 21, 2013 [Page 6] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 3.2.2. AMT Tunnel Connecting S-CDN and EU ------------------- ------------------- / P-CDN \ / S-CDN \ / (Multicast Enabled) \ / (Multicast Enabled) \ / \ / \ | +----+ | | | | | | +------+ | | +------+ +------+ | +----+ | | CS |------>| BR |-|---------|->| BR |--->| AR |-|--->| EU | | | | +------+ | I1 | +------+ +------+ | I2 +----+ \ +----+ / \ / \ / \ / \ / \ / ------------------- ------------------- CS = Content Server BR = Border Router AR = AMT Relay I1 = P-CDN and S-CDN Multicast Interconnection (MBGP or BGMP) I2 = AMT Connection between S-CDN and EU Figure 4 - AMT Tunnel Connecting S-CDN and EU This case involves EU devices that are not multicast enabled. Hence an AMT Tunnel is established between the S-CDN AMT Relay and the EU device. This implies one tunnel per EU - potentially several AMT tunnels may need to be setup. Note that there could be configurations involving both situations described in 3.2.1 and 3.2.2. 3.2.3. AMT Tunnel Connecting EU to P-CDN Through Non-Multicast S-CDN This Use Case assumes that EU attached to the non-multicast enabled S-CDN has a device populated with a client that establishes an AMT tunnel to the AMT Relay in the P-CDN. This configuration is needed when the S-CDN is not multicast-enabled. This is the most "extreme" AMT case as the length of the tunnels as well as the number of tunnels can be large. Tarapore, et al Expires January 21, 2013 [Page 7] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 ------------------- ------------------- / P-CDN \ / S-CDN \ / (Multicast Enabled) \ / (Non-Multicast \ / \ / Enabled) \ | +----+ | | | | | | +------+ | | | +----+ | | CS |------>| AR |-|---------|-----------------------|--->| EU | | | | +------+ | | | I2 +----+ \ +----+ / \ / \ / \ / \ / \ / ------------------- ------------------- CS = Content Source AR = AMT Relay I2 = AMT Tunnel Connecting EU to P-CDN Relay through Non-Multicast Enabled S-CDN. Figure 5 - AMT Tunnel Connecting P-CDN AMT Relay and EU 4. Content Types Suitable for Multicast-based CDN This section highlights applications and content types that are suitable for multicast-based delivery in a CDN Federation. Any unique aspects of specific applications/content types that require special attention are duly noted. Note: Suggest we put in content types in tabular form followed by this text: For the purpose of this document, live streaming is chosen as a typical multicast application for content distribution via a CDN Federation. Note that a definition of live streaming needs to be provided. 5. Evaluation of Existing Multicast Protocols to Support CDN-I Use Case 3.1 describes Native Multicast configurations. This is the "simplest" multicast case in that a single standard set of protocols supports end-to-end content delivery from the CP to EU via two or more fully multicast-enabled CDN Providers. It also provides for efficient use of bandwidth and resources. Tarapore, et al Expires January 21, 2013 [Page 8] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 Use Case 3.2.1 does deploy an AMT Tunnel for interconnecting two CDN Providers; the rest of the configuration is Native Multicast - this assumes that the EU devices are also multicast-enabled. Thus existing Multicast capabilities need to be examined to determine their ability to fully support content distribution in a CDN Federation. A list of issues requiring examination is as follows: o Delivery - Identification and communication of {Source, Group} information and DNS information for provisioning across CDNs. Details to be provided. o Routing/Peering - Identification and acknowledgement of external IP addresses particularly when utilizing a GRE Tunnel for interconnecting CDNs. Details to be provided. o Back-Office Functions - Identification of appropriate data/metadata collected by Native Multicast to support usage of content for billing, settlements, logging, etc. Details to be provided. o Security - Determine ability of Native Multicast to deal with security risks such as bot attacks, denial of service, etc. Details to be provided. Also, EU authentication and authorization o Others - To Be Determined 5.1. Use Case 3.1 In this Use Case, with E-T-E multicast connectivity, the P-CDN provides source, routing and reporting functionality. The S-CDN provides routing and reporting functions. Though the CP is the origin the interface between the origin and the MC source is out of scope. Issues: -what about performance and reliability "tricks" that may be employed do we address here? -Moving from network to network? Addressed in separate RFC Tarapore, et al Expires January 21, 2013 [Page 9] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 -IPv4 to IPv6 (assumption) not addressed or in scope - need to reference a standard if there is one -expand definition of S-CDN??? 5.1.1. Delivery 1) If there exists end to end multicast between the EU and the MC Source, then IGMP/MLD, PIM and MBGP protocols will ensure the content stream is delivered to the requesting EU. 2) The (S,G) and in fact all parameters required by the application related to the requested stream can be obtained by the client application in a number of ways. None of which affects the MC protocols and generally neither are the delivery mechanisms of the parameters mutually exclusive. Examples are: a. Upon selecting (clicking a link) on a web page for MC content a file (Manifest file) is delivered via unicast to the EU from the web page b. An HTTP reply from the web page to the EU request may contain the required parameters c. An application may be "programmed" with the (S,G) and other parameters. This method would require that the parameters remain fairly static/stable. d. An application may even require an EU to enter the (S,G) and other parameters manually 3) There are a number of ways to control and communicate parameters to the EU that direct the EU to the appropriate MC source. Eg. a. The (S,G) can be FQDNs in which case DNS can be used to select specific (S,G) address set. b. When the EU selects the stream from the web page the parameters forwarded back to to the EU can be selected based on criteria related to the EU such as source IP, EU SP. Decisions are driven by i. Business relationship to the EU and/or EU CDN Tarapore, et al Expires January 21, 2013 [Page 10] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 ii. Geographic location of SP iii. On-net or off-net EU iv. MC network conditions v. TOD vi. Etc c. In ETE MC any intervening (transit) network or SP should not make any attempt to change parameters forwarded to the EU from the serving CDN. i. Only a selected and participating S-CDN SP should, if required, intercept and change any MC parameters forwarded to the EU. There should be agreement between the participating CDNs that this is permissible. ii. If the S-CDN changes parameters this should be recorded and reported to the upstream (P-CDN) CDN. 1. Generally reporting to the P-CDN will not be required in real time 2. TBD = situations where it should be Real Time or near RT iii. An S-CDN should generally avoid unilaterally intercepting and changing parameters values sent from an upstream participating CDN (e.g. P-CDN)because this may cause problems such as the following examples: 1. Performance issues in delivery to the EU 2. Conflicting/erroneous parameter values 3. Conflicting/erroneous authentication, authorization or accounting 4) The MC Source application, which in the case of ETE is the P-CDN, should employ techniques to ensure reliable deliver of the content to the UE. The methodology or combination of methodologies will often depend on the content type being delivered. There are Tarapore, et al Expires January 21, 2013 [Page 11] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 several effective methods currently available, of which a few examples are described below: a. Carrouselling b. FEC c. Parallel streaming d. Grid or burst severs e. Unicast fallback 5.1.2. Routing and Peering 1) Routing between CDNi federation participants should be on a pair- wise agreement and implementation 2) Route/peering preferences of the S-CDN should be communicated to the P-CDN - how can this be done?????? How necessary is it? a. Allow S-CDN to have some ability to balance peering traffic b. Route around congestion. 3) CDNi participants must ensure that advertisement of the Source IP address is provided across the peering interface. a. If an Anycast address is to be used for the Source, then participants must coordinate use of the Anycast address space. b. Coordination of the address space should be spelled out in the participating members business arrangement/agreement c. Coordination can occur in a pair-wise manner, but each CDN with multiple arrangements must ensure that there are no conflicts introduced into any individual arrangement. 4) If the peering interface is not multicast enabled a GRE tunnel should be provisioned between the CDNi participants a. Source IP must be advertised across the GRE tunnel Tarapore, et al Expires January 21, 2013 [Page 12] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 b. The GRE tunnel may be provisioned to be terminated on participants border routers c. Alternatively, the P-CDN may desire to terminate the GRE directly to the Source. This will allow the P-CDN to have a separate IP address for external and internal EUs. 5) Is there a way a P-CDN can instruct a S-CDN router to not broadcast its IGMP group memberships across its subnet????? a. How is that communicated to the router b. Is it a provisioning only option c. Or can it be interactively done via some protocol message? 5.1.3. Back Office Functions 5.1.4. Security 5.2. Use Case 3.2.1 (AMT only across the peering interface) 5.2.1. Delivery All the recommended practices of 5.1.1 are applicable, plus the following additional: 1) The P-CDN and S-CDN should each deploy and provision an AMT Relay at their respective peering interface(s) 2) These AMT Relay must also include and AMT Gateway (GW) function 3) The P-CDN and S-CDN must have an agreement that allows the S-CDN to advertise the Source IP address across the S-CDN multicast enabled network. 4) If the AMT interface fails or is out of service the P-CDN and S- CDN interface agreement should include provision for unicast failover. Tarapore, et al Expires January 21, 2013 [Page 13] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 5.2.2. Routing and Peering 1) The GW function in the S-CDN AMT Relay can be provisioned with the proper address (this may be an Anycast address) of the P-CDN AMT Relay with connectivity to the source. Alternatively, if the MC source IP (or Anycast address) is not provisioned then a mechanism for the GW function to find the P-CDN Relay with connectivity to the source must be available a. A recommended mechanism for the GW to find the correct Relay is documented in "the RFC draft being constructed" b. The P-CDN and S-CDN agreements should cover the methodology used c. The agreement should specify how notification of MC Source IP is communicated (including timing) 5.2.3. 5.2.4. 6. Security Considerations TBD 7. IANA Considerations TBD 8. Conclusions TBD 9. References 9.1. Normative References [RFC2784] D. Farinacci, T. Li, S. Hanks, D. Meyer, P. Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, March 2000 [IETF-ID-AMT] G. Bumgardner, "Automatic Multicast Tunneling", draft- ietf-mboned-auto-multicast-13, April 2012, Work in progress Tarapore, et al Expires January 21, 2013 [Page 14] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 9.2. Informative References [A-0200003] P. Tarapore, "CDN Interconnection Use Case Specifications and High Level Requirements", ATIS Standard A-0200003, June 2011 (contact Nicole Butler at nbutler@atis.org using code IETF12 to receive a free copy before September 30, 2012) [A-0200004] P. Tarapore and R. Sayko, "CDN Interconnection Use Cases and Requirements for Multicast-Based Content Distribution", ATIS Standard A-0200004, January 2012 (contact Nicole Butler at nbutler@atis.org using code IETF12 to receive a free copy before September 30, 2012) 10. Acknowledgments Tarapore, et al Expires January 21, 2013 [Page 15] Internet-Draft Multicast Considerations in Support of CDN-I October 2012 Authors' Addresses Percy S. Tarapore AT&T Phone: 1-732-420-4172 Email: tarapore@att.com Robert Sayko AT&T Phone: 1-732-420-3292 Email: rs1983@att.com Ram Krishnan Brocade Phone: Email: ramk@brocade.com Tarapore, et al Expires January 21, 2013 [Page 16]