draft-ietf-cdni-framework-08.txt | draft-ietf-cdni-framework-09.txt | |||
---|---|---|---|---|
Network Working Group L. Peterson, Ed. | Network Working Group L. Peterson | |||
Internet-Draft Akamai Technologies, Inc. | Internet-Draft Akamai Technologies, Inc. | |||
Obsoletes: 3466 (if approved) B. Davie | Obsoletes: 3466 (if approved) B. Davie | |||
Intended status: Informational VMware, Inc. | Intended status: Informational VMware, Inc. | |||
Expires: July 23, 2014 January 19, 2014 | Expires: August 3, 2014 R. van Brandenburg, Ed. | |||
TNO | ||||
January 30, 2014 | ||||
Framework for CDN Interconnection | Framework for CDN Interconnection | |||
draft-ietf-cdni-framework-08 | draft-ietf-cdni-framework-09 | |||
Abstract | Abstract | |||
This document presents a framework for Content Distribution Network | This document presents a framework for Content Distribution Network | |||
Interconnection (CDNI). The purpose of the framework is to provide | Interconnection (CDNI). The purpose of the framework is to provide | |||
an overall picture of the problem space of CDNI and to describe the | an overall picture of the problem space of CDNI and to describe the | |||
relationships among the various components necessary to interconnect | relationships among the various components necessary to interconnect | |||
CDNs. CDN Interconnection requires the specification of interfaces | CDNs. CDN Interconnection requires the specification of interfaces | |||
and mechanisms to address issues such as request routing, | and mechanisms to address issues such as request routing, | |||
distribution metadata exchange, and logging information exchange | distribution metadata exchange, and logging information exchange | |||
skipping to change at page 1, line 41 | skipping to change at page 1, line 43 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on July 23, 2014. | This Internet-Draft will expire on August 3, 2014. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 6, line 28 | skipping to change at page 6, line 28 | |||
interfaces in more detail in Section 4. | interfaces in more detail in Section 4. | |||
o CDNI Control interface (CI): Operations to bootstrap and | o CDNI Control interface (CI): Operations to bootstrap and | |||
parameterize the other CDNI interfaces, as well as operations to | parameterize the other CDNI interfaces, as well as operations to | |||
pre-position, revalidate, and purge both metadata and content. | pre-position, revalidate, and purge both metadata and content. | |||
The latter subset of operations is sometimes collectively called | The latter subset of operations is sometimes collectively called | |||
the "Trigger interface." | the "Trigger interface." | |||
o CDNI Request Routing interface: Operations to determine what CDN | o CDNI Request Routing interface: Operations to determine what CDN | |||
(and optionally what surrogate within a CDN) is to serve end- | (and optionally what surrogate within a CDN) is to serve end- | |||
user's requests. Is actually a logical bundling of two separate | user's requests. This interface is actually a logical bundling of | |||
but related interfaces: | two separate but related interfaces: | |||
* CDNI Footprint & Capabilities Advertisement interface (FCI): | * CDNI Footprint & Capabilities Advertisement interface (FCI): | |||
Asynchronous operations to exchange routing information (e.g., | Asynchronous operations to exchange routing information (e.g., | |||
the network footprint and capabilities served by a given CDN) | the network footprint and capabilities served by a given CDN) | |||
that enables CDN selection for subsequent user requests; and | that enables CDN selection for subsequent user requests; and | |||
* CDNI Request Routing Redirection interface (RI): Synchronous | * CDNI Request Routing Redirection interface (RI): Synchronous | |||
operations to select a delivery CDN (surrogate) for a given | operations to select a delivery CDN (surrogate) for a given | |||
user request. | user request. | |||
skipping to change at page 7, line 6 | skipping to change at page 7, line 6 | |||
availability windows, access control mechanisms, and purge | availability windows, access control mechanisms, and purge | |||
directives. It may include a combination of: | directives. It may include a combination of: | |||
* Asynchronous operations to exchange metadata that govern | * Asynchronous operations to exchange metadata that govern | |||
subsequent user requests for content; and | subsequent user requests for content; and | |||
* Synchronous operations that govern behavior for a given user | * Synchronous operations that govern behavior for a given user | |||
request for content. | request for content. | |||
o CDNI Logging interface (LI): Operations that allow interconnected | o CDNI Logging interface (LI): Operations that allow interconnected | |||
CDNs to exchange relevant activity logs. May include a | CDNs to exchange relevant activity logs. It may include a | |||
combination of: | combination of: | |||
* Real-time exchanges, suitable for runtime traffic monitoring; | * Real-time exchanges, suitable for runtime traffic monitoring; | |||
and | and | |||
* Offline exchanges, suitable for analytics and billing. | * Offline exchanges, suitable for analytics and billing. | |||
There is some potential overlap between the set of Trigger-based | There is some potential overlap between the set of Trigger-based | |||
operations in the CDNI Control interface and the CDNI Metadata | operations in the CDNI Control interface and the CDNI Metadata | |||
interface. For both cases, the information passed from the upstream | interface. For both cases, the information passed from the upstream | |||
skipping to change at page 11, line 17 | skipping to change at page 11, line 17 | |||
| | | | | | | | |||
| | [Async FCI Push] | (1) | | | [Async FCI Push] | (1) | |||
| | | | | | | | |||
| | [MI pre-positioning] | (2) | | | [MI pre-positioning] | (2) | |||
| | | | | | | | |||
| CONTENT REQUEST | | | | CONTENT REQUEST | | | |||
|-------------------------------------------------->| (3) | |-------------------------------------------------->| (3) | |||
| | | | | | | | |||
| | [Sync RI Pull] | (4) | | | [Sync RI Pull] | (4) | |||
| | | | | | | | |||
| [RI REPLY] | | | | RI REPLY | | | |||
|<--------------------------------------------------| (5) | |<--------------------------------------------------| (5) | |||
| | | | | | | | |||
| | | | | | | | |||
| CONTENT REQUEST | | | | CONTENT REQUEST | | | |||
|------------------------>| | (6) | |------------------------>| | (6) | |||
| | | | | | | | |||
| | [Sync MI Pull] | (7) | | | [Sync MI Pull] | (7) | |||
| | | | | | | | |||
| | ACQUISITION REQUEST | | | | ACQUISITION REQUEST | | |||
| X------------------------>| (8) | | X------------------------>| (8) | |||
skipping to change at page 15, line 18 | skipping to change at page 15, line 18 | |||
|------------------------>| | | |------------------------>| | | |||
| |(6) | | | |(6) | | |||
| |DNS op-b-acq.op-a.example| | | |DNS op-b-acq.op-a.example| | |||
| |------------------------>| | | |------------------------>| | |||
| | |(7) | | | |(7) | |||
| |IPaddr of A's Request Router | | |IPaddr of A's Request Router | |||
| |<------------------------| | | |<------------------------| | |||
| |HTTP op-b-acq.op-a.example | | |HTTP op-b-acq.op-a.example | |||
| |------------------------>| | | |------------------------>| | |||
| | |(8) | | | |(8) | |||
| |302 node2.op-b.acq.op-A.example | | |302 node2.op-b-acq.op-a.example | |||
| |<------------------------| | | |<------------------------| | |||
| |DNS node2.op-b-acq.op-a.example | | |DNS node2.op-b-acq.op-a.example | |||
| |------------------------>| | | |------------------------>| | |||
| | |(9) | | | |(9) | |||
| |IPaddr of A's Delivery Node | | |IPaddr of A's Delivery Node | |||
| |<------------------------| | | |<------------------------| | |||
| | | | | | | | |||
| |HTTP node2.op-b-acq.op-a.example | | |HTTP node2.op-b-acq.op-a.example | |||
| |------------------------>| | | |------------------------>| | |||
| | |(10) | | | |(10) | |||
skipping to change at page 20, line 12 | skipping to change at page 20, line 12 | |||
|------------------------>| | | |------------------------>| | | |||
| |(5) | | | |(5) | | |||
| |DNS op-b-acq.op-a.example| | | |DNS op-b-acq.op-a.example| | |||
| |------------------------>| | | |------------------------>| | |||
| | |(6) | | | |(6) | |||
| |IPaddr of A's Request Router | | |IPaddr of A's Request Router | |||
| |<------------------------| | | |<------------------------| | |||
| |HTTP op-b-acq.op-a.example | | |HTTP op-b-acq.op-a.example | |||
| |------------------------>| | | |------------------------>| | |||
| | |(7) | | | |(7) | |||
| |302 node2.op-b.acq.op-A.example | | |302 node2.op-b-acq.op-a.example | |||
| |<------------------------| | | |<------------------------| | |||
| |DNS node2.op-b-acq.op-a.example | | |DNS node2.op-b-acq.op-a.example | |||
| |------------------------>| | | |------------------------>| | |||
| | |(8) | | | |(8) | |||
| |IPaddr of A's Delivery Node | | |IPaddr of A's Delivery Node | |||
| |<------------------------| | | |<------------------------| | |||
| | | | | | | | |||
| |HTTP node2.op-b-acq.op-a.example | | |HTTP node2.op-b-acq.op-a.example | |||
| |------------------------>| | | |------------------------>| | |||
| | |(9) | | | |(9) | |||
skipping to change at page 45, line 5 | skipping to change at page 45, line 5 | |||
Figure 11: CDNI Deployment Model: CDN Meshing Example | Figure 11: CDNI Deployment Model: CDN Meshing Example | |||
5.2. CSP combined with CDN | 5.2. CSP combined with CDN | |||
Note that our terminology refers to functional roles and not economic | Note that our terminology refers to functional roles and not economic | |||
or business roles. That is, a given organization may be operating as | or business roles. That is, a given organization may be operating as | |||
both a CSP and a fully fledged uCDN when we consider the functions | both a CSP and a fully fledged uCDN when we consider the functions | |||
performed, as illustrated in Figure 12. | performed, as illustrated in Figure 12. | |||
##################################### ################## | ##################################### ################## | |||
# # # # | # # # # | |||
# Organization A # # Organization B # | # Organization A # # Organization B # | |||
# # # # | # # # # | |||
# -------- ------------- # # ----------- # | # -------- ------------- # # ----------- # | |||
# / CSP \ / uCDN \ # # / dCDN \ # | # / CSP \ / uCDN \ # # / dCDN \ # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | | | | C | | # # | | C | | # | # | | | | C | | # # | | C | | # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | | | | L | | # # | | L | | # | # | | | | L | | # # | | L | | # | |||
# | |*****| +----+ |===CDNI===>| +----+ | # | # | |*****| +----+ |===CDNI===>| +----+ | # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | | | | RR | | # # | | RR | | # | # | | | | RR | | # # | | RR | | # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | | | | D | | # # | | D | | # | # | | | | D | | # # | | D | | # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# \ / \ / # # \ / # | # \ / \ / # # \ / # | |||
# -------- ------------- # # ----------- # | # -------- ------------- # # ----------- # | |||
# # # # | # # # # | |||
##################################### ################## | ##################################### ################## | |||
===> CDNI interfaces, with right-hand side CDN acting as dCDN | ===> CDNI interfaces, with right-hand side CDN acting as dCDN | |||
to left-hand side CDN | to left-hand side CDN | |||
**** interfaces outside the scope of CDNI | **** interfaces outside the scope of CDNI | |||
C Control component of the CDN | C Control component of the CDN | |||
L Logging component of the CDN | L Logging component of the CDN | |||
RR Request Routing component of the CDN | RR Request Routing component of the CDN | |||
D Distribution component of the CDN | D Distribution component of the CDN | |||
Figure 12: CDNI Deployment Model: Organization combining CSP & uCDN | Figure 12: CDNI Deployment Model: Organization combining CSP & uCDN | |||
5.3. CSP using CDNI Request Routing Interface | 5.3. CSP using CDNI Request Routing Interface | |||
As another example, a content provider organization may choose to run | As another example, a content provider organization may choose to run | |||
its own request routing function as a way to select among multiple | its own request routing function as a way to select among multiple | |||
candidate CDN providers; In this case the content provider may be | candidate CDN providers; In this case the content provider may be | |||
modeled as the combination of a CSP and of a special, restricted case | modeled as the combination of a CSP and of a special, restricted case | |||
of a CDN. In that case, as illustrated in Figure 13, the CDNI | of a CDN. In that case, as illustrated in Figure 13, the CDNI | |||
Request Routing interfaces can be used between the restricted CDN | Request Routing interfaces can be used between the restricted CDN | |||
operated by the content provider Organization and the CDN operated by | operated by the content provider Organization and the CDN operated by | |||
the full CDN organization acting as a dCDN in the request routing | the full CDN organization acting as a dCDN in the request routing | |||
control plane. Interfaces outside the scope of the CDNI work can be | control plane. Interfaces outside the scope of the CDNI work can be | |||
used between the CSP functional entities of the content provider | used between the CSP functional entities of the content provider | |||
organization and the CDN operated by the full CDN organization acting | organization and the CDN operated by the full CDN organization acting | |||
as a uCDN) in the CDNI control planes other than the request routing | as a uCDN) in the CDNI control planes other than the request routing | |||
plane (i.e. Control, Distribution, Logging). | plane (i.e. Control, Distribution, Logging). | |||
##################################### ################## | ##################################### ################## | |||
# # # # | # # # # | |||
# Organization A # # Organization B # | # Organization A # # Organization B # | |||
# # # # | # # # # | |||
# -------- ------------- # # ----------- # | # -------- ------------- # # ----------- # | |||
# / CSP \ / uCDN(RR) \ # # / dCDN(RR) \ # | # / CSP \ / uCDN(RR) \ # # / dCDN(RR) \ # | |||
# | | | +----+ | # # | +----+ | # | # | | | +----+ | # # | +----+ | # | |||
# | |*****| | RR |==========CDNI=====>| RR | | # | # | |*****| | RR |==========CDNI=====>| RR | | # | |||
# | | | +----+ | # RR # | +----+ | # | # | | | +----+ | # RR # | +----+ | # | |||
# | | \ / # # | | # | # | | \ / # # | | # | |||
# | | ------------- # # |uCDN(C,L,D)| # | # | | ------------- # # |uCDN(C,L,D)| # | |||
# | | # # | +----+ | # | # | | # # | +----+ | # | |||
# | | # # | | C | | # | # | | # # | | C | | # | |||
# | |*******************************| +----+ | # | # | |*******************************| +----+ | # | |||
# | | # # | +----+ | # | # | | # # | +----+ | # | |||
# | | # # | | L | | # | # | | # # | | L | | # | |||
# | | # # | +----+ | # | # | | # # | +----+ | # | |||
# | | # # | +----+ | # | # | | # # | +----+ | # | |||
# | | # # | | D | | # | # | | # # | | D | | # | |||
# | | # # | +----+ | # | # | | # # | +----+ | # | |||
# \ / # # \ / # | # \ / # # \ / # | |||
# -------- # # ----------- # | # -------- # # ----------- # | |||
# # # # | # # # # | |||
##################################### ################## | ##################################### ################## | |||
===> CDNI Request Routing Interface | ===> CDNI Request Routing Interface | |||
**** interfaces outside the scope of CDNI | **** interfaces outside the scope of CDNI | |||
Figure 13: CDNI Deployment Model: Organization combining CSP and | Figure 13: CDNI Deployment Model: Organization combining CSP and | |||
partial CDN | partial CDN | |||
5.4. CDN Federations and CDN Exchanges | 5.4. CDN Federations and CDN Exchanges | |||
There are two additional concepts related to, but distinct from CDN | There are two additional concepts related to, but distinct from CDN | |||
Interconnection. The first is CDN Federation. Our view is that CDNI | Interconnection. The first is CDN Federation. Our view is that CDNI | |||
is the more general concept, involving two or more CDNs serving | is the more general concept, involving two or more CDNs serving | |||
content to each other's users, while federation implies a multi- | content to each other's users, while federation implies a multi- | |||
skipping to change at page 52, line 14 | skipping to change at page 52, line 14 | |||
by the CDNI interfaces. Details of how these interfaces are secured | by the CDNI interfaces. Details of how these interfaces are secured | |||
will be specified in the relevant interface documents. | will be specified in the relevant interface documents. | |||
8.2. Digital Rights Management | 8.2. Digital Rights Management | |||
Issues of digital rights management (DRM, also sometimes called | Issues of digital rights management (DRM, also sometimes called | |||
digital restrictions management) is often employed for content | digital restrictions management) is often employed for content | |||
distributed via CDNs. In general, DRM relies on the CDN to | distributed via CDNs. In general, DRM relies on the CDN to | |||
distribute encrypted content, with decryption keys distributed to | distribute encrypted content, with decryption keys distributed to | |||
users by some other means (e.g. directly from the CSP to the end | users by some other means (e.g. directly from the CSP to the end | |||
user.) For this reason, DRM is considered out of scope for the CDNI | user.) For this reason, DRM is considered out of scope [RFC6707] and | |||
WG [RFC6707] and does not introduce additional security issues for | does not introduce additional security issues for CDNI. | |||
CDNI. | ||||
9. Contributors | 9. Contributors | |||
The following individuals contributed to this document: | The following individuals contributed to this document: | |||
o Ray van Brandenburg | o Ray van Brandenburg | |||
o Matt Caulfield | o Matt Caulfield | |||
o Francois le Faucheur | o Francois le Faucheur | |||
skipping to change at page 53, line 36 | skipping to change at page 53, line 31 | |||
[I-D.ietf-cdni-redirection] | [I-D.ietf-cdni-redirection] | |||
Danhua, W., Niven-Jenkins, B., He, X., Chen, G., and W. | Danhua, W., Niven-Jenkins, B., He, X., Chen, G., and W. | |||
Ni, "Request Routing Redirection Interface for CDN | Ni, "Request Routing Redirection Interface for CDN | |||
Interconnection", draft-ietf-cdni-redirection-01 (work in | Interconnection", draft-ietf-cdni-redirection-01 (work in | |||
progress), October 2013. | progress), October 2013. | |||
[I-D.ietf-cdni-requirements] | [I-D.ietf-cdni-requirements] | |||
Leung, K. and Y. Lee, "Content Distribution Network | Leung, K. and Y. Lee, "Content Distribution Network | |||
Interconnection (CDNI) Requirements", draft-ietf-cdni- | Interconnection (CDNI) Requirements", draft-ietf-cdni- | |||
requirements-14 (work in progress), December 2013. | requirements-16 (work in progress), January 2014. | |||
[I-D.vandergaast-edns-client-subnet] | [I-D.vandergaast-edns-client-subnet] | |||
Contavalli, C., Gaast, W., Leach, S., and E. Lewis, | Contavalli, C., Gaast, W., Leach, S., and E. Lewis, | |||
"Client Subnet in DNS Requests", draft-vandergaast-edns- | "Client Subnet in DNS Requests", draft-vandergaast-edns- | |||
client-subnet-02 (work in progress), July 2013. | client-subnet-02 (work in progress), July 2013. | |||
[RFC3466] Day, M., Cain, B., Tomlinson, G., and P. Rzewski, "A Model | [RFC3466] Day, M., Cain, B., Tomlinson, G., and P. Rzewski, "A Model | |||
for Content Internetworking (CDI)", RFC 3466, February | for Content Internetworking (CDI)", RFC 3466, February | |||
2003. | 2003. | |||
skipping to change at page 54, line 16 | skipping to change at page 54, line 12 | |||
K., and G. Watson, "Use Cases for Content Delivery Network | K., and G. Watson, "Use Cases for Content Delivery Network | |||
Interconnection", RFC 6770, November 2012. | Interconnection", RFC 6770, November 2012. | |||
[RFC6983] van Brandenburg, R., van Deventer, O., Le Faucheur, F., | [RFC6983] van Brandenburg, R., van Deventer, O., Le Faucheur, F., | |||
and K. Leung, "Models for HTTP-Adaptive-Streaming-Aware | and K. Leung, "Models for HTTP-Adaptive-Streaming-Aware | |||
Content Distribution Network Interconnection (CDNI)", RFC | Content Distribution Network Interconnection (CDNI)", RFC | |||
6983, July 2013. | 6983, July 2013. | |||
Authors' Addresses | Authors' Addresses | |||
Larry Peterson (editor) | Larry Peterson | |||
Akamai Technologies, Inc. | Akamai Technologies, Inc. | |||
8 Cambridge Center | 8 Cambridge Center | |||
Cambridge, MA 02142 | Cambridge, MA 02142 | |||
USA | USA | |||
Email: lapeters@akamai.com | Email: lapeters@akamai.com | |||
Bruce Davie | Bruce Davie | |||
VMware, Inc. | VMware, Inc. | |||
3401 Hillview Ave. | 3401 Hillview Ave. | |||
Palo Alto, CA 94304 | Palo Alto, CA 94304 | |||
USA | USA | |||
Email: bdavie@vmware.com | Email: bdavie@vmware.com | |||
Ray van Brandenburg (editor) | ||||
TNO | ||||
Brassersplein 2 | ||||
Delft 2612CT | ||||
the Netherlands | ||||
Phone: +31-88-866-7000 | ||||
Email: ray.vanbrandenburg@tno.nl | ||||
End of changes. 17 change blocks. | ||||
70 lines changed or deleted | 71 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |