Network Working Group M. Green Internet-Draft Entera Expires: May 18, 2001 B. Cain Mirror Image Internet G. Tomlinson Entera S. Thomas TransNexus November 17, 2000 CDN Peering Architectural Overview draft-green-cdnp-gen-arch-02.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 May 18, 2001. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Discussion List & Archives This document and related documents are discussed on the cdn mailing list. To join the list, send mail to cdn-request@ops.ietf.org. To contribute to the discussion, send mail to cdn@ops.ietf.org. The archives are at ftp://ops.ietf.org/pub/lists/cdn.*. Green, et. al. Expires May 18, 2001 [Page 1] Internet-Draft CDNP Architecture November 2000 Abstract We present the general architecture and core building blocks used in the peering of content distribution networks (CDNs). The term "peering" used within this memo is defined as externally interfacing with a CDN. CDN peering encompasses both coupling CDNs with content providers as well as coupling multiple CDNs in order to build inter-networks of CDNs. The scope of this work is limited to external interconnections with CDNs and does not address internal mechanisms used within CDNs, which for the purpose of the document are considered to be black boxes. This work establishes an abstract architectural framework to be used in the development of protocols, interfaces, and system models for standardized CDN peering. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 5 2. CDN Peering System Architecture . . . . . . . . . . . . . 7 2.1 Conceptual View of Peered CDNs . . . . . . . . . . . . . . 7 2.2 CDN Peering Architectural Elements . . . . . . . . . . . . 9 3. Request-Routing Peering System . . . . . . . . . . . . . . 13 3.1 Request-Routing Overview . . . . . . . . . . . . . . . . . 13 3.2 Request Routing . . . . . . . . . . . . . . . . . . . . . 15 3.3 Requirements . . . . . . . . . . . . . . . . . . . . . . . 15 3.4 Example . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4.1 Modified DNS Request-Routing Model . . . . . . . . . . . 16 3.4.2 DNS Request-Routing Model using NS records . . . . . . . . 17 3.4.3 DNS Request-Routing Model using CNAME records . . . . . . 18 3.4.4 Hybrid DNS & Content Aware Request-Routing Models . . . . 18 3.4.4.1 Server-side Request-Routing Model . . . . . . . . . . . . 18 3.4.4.2 Client-side Request-Routing Model . . . . . . . . . . . . 19 3.5 Request-Routing Problems to Solve . . . . . . . . . . . . 19 4. Distribution Peering System . . . . . . . . . . . . . . . 21 4.1 Distribution Overview . . . . . . . . . . . . . . . . . . 21 4.2 Distribution Models . . . . . . . . . . . . . . . . . . . 23 4.3 Distribution Components . . . . . . . . . . . . . . . . . 24 4.4 Distribution Requirements . . . . . . . . . . . . . . . . 24 4.4.1 Replication Requirements . . . . . . . . . . . . . . . . . 24 4.4.2 Signaling Requirements . . . . . . . . . . . . . . . . . . 25 4.4.3 Advertising Requirements . . . . . . . . . . . . . . . . . 25 4.5 Distribution Problems to Solve . . . . . . . . . . . . . . 26 4.5.1 General Problems . . . . . . . . . . . . . . . . . . . . . 26 4.5.2 Replication Problems . . . . . . . . . . . . . . . . . . . 26 4.5.3 Signaling Problems . . . . . . . . . . . . . . . . . . . . 27 4.5.4 Advertising Problems . . . . . . . . . . . . . . . . . . . 27 5. Accounting Peering System . . . . . . . . . . . . . . . . 28 5.1 Accounting Overview . . . . . . . . . . . . . . . . . . . 28 5.2 Accounting Models, Requirements and Problems to Solve . . 30 6. Security Considerations . . . . . . . . . . . . . . . . . 31 Green, et. al. Expires May 18, 2001 [Page 2] Internet-Draft CDNP Architecture November 2000 6.1 Threats to CDN Peering . . . . . . . . . . . . . . . . . . 31 6.1.1 Threats to the CLIENT . . . . . . . . . . . . . . . . . . 31 6.1.1.1 Defeat of CLIENT's Security Settings . . . . . . . . . . . 31 6.1.1.2 Delivery of Bad Accounting Information . . . . . . . . . . 31 6.1.1.3 Delivery of Bad CONTENT . . . . . . . . . . . . . . . . . 32 6.1.1.4 Denial of Service . . . . . . . . . . . . . . . . . . . . 32 6.1.1.5 Exposure of Private Information . . . . . . . . . . . . . 32 6.1.1.6 Substitution of Security Parameters . . . . . . . . . . . 32 6.1.1.7 Substitution of Security Policies . . . . . . . . . . . . 32 6.1.2 Threats to the PUBLISHER . . . . . . . . . . . . . . . . . 32 6.1.2.1 Delivery of Bad Accounting Information . . . . . . . . . . 32 6.1.2.2 Denial of Service . . . . . . . . . . . . . . . . . . . . 33 6.1.2.3 Substitution of Security Parameters . . . . . . . . . . . 33 6.1.2.4 Substitution of Security Policies . . . . . . . . . . . . 33 6.1.3 Threats to a CDN . . . . . . . . . . . . . . . . . . . . . 33 6.1.3.1 Bad Accounting Information . . . . . . . . . . . . . . . . 33 6.1.3.2 Denial of Service . . . . . . . . . . . . . . . . . . . . 33 6.1.3.3 Transitive Threats . . . . . . . . . . . . . . . . . . . . 34 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 35 References . . . . . . . . . . . . . . . . . . . . . . . . 36 Authors' Addresses . . . . . . . . . . . . . . . . . . . . 37 Full Copyright Statement . . . . . . . . . . . . . . . . . 39 Green, et. al. Expires May 18, 2001 [Page 3] Internet-Draft CDNP Architecture November 2000 1. Introduction Terms in ALL CAPS, except those qualified with explicit citations are defined in [13]. [Editor Note: The term CONTENT has been deemed too vague for general use within this document. The general observation revolves around its lack of adequately addressing resource entities and entity variants. Upon settling on disambiguated terminology for CONTENT, this document will be edited with the new terminology.] In a typical (non-peered) CDN [13], a single service provider operates the REQUEST-ROUTING SYSTEM and the DISTRIBUTION SYSTEM. In addition, that service provider has the commercial relationship with the content source (operating the origin server). Typically, the value that this CDN presents to a PUBLISHER is based on the scale and reach of its combined systems. There are practical limits to the scale and reach of any single network. Increasing either scale or reach is ultimately limited by the cost of equipment, the space available for deploying equipment, and/or the demand for that scale/reach of infrastructure. Sometimes a particular audience is tied to a single service provider or a small set of providers by constraints of technology, economics, or law. CDN peering allows multiple CDN resources to be combined so as to provide larger scale and/or reach to participants than any single CDN could achieve by itself. Although this peering is similar in concept to IP [2] peering between autonomous systems using BGP [5], it differs fundamentally in that it involves the peering of application gateways as opposed to packet routers. This memo describes the overall architectural structure and the fundamental building blocks used in the composition of CDN peering. Consult [13] for a description of, and the vocabulary used in, this application domain. A key requirement of the architecture itself is that it be able to address each of the CDN peering scenarios enumerated in [14]. The scope of this work is limited to external interconnections between CDNs (i.e. INTER-CDN) and does not address internal mechanisms used within CDNs (i.e. INTRA-CDN), which for the purposes of the document are considered to be black boxes. INTER-CDN peering as specified in this architecture includes both CDN to CDN as well as content provider to CDN interactions. This work is intended to establish an abstract architectural framework to be used in the development of protocols, interfaces and system models for standardized, interoperable peering among CDNs. Green, et. al. Expires May 18, 2001 [Page 4] Internet-Draft CDNP Architecture November 2000 We first present the architecture as an abstract system. Then we develop a more concrete system architecture. For each architectural element, we first present known requirements followed by problems that need further investigation. The assumptions and scenarios constraining the architecture is explained in [14]. We intend that the architecture should support a wide variety of business models. At the core of CDN peering are three principal architectural elements that constitute the building blocks of the CDN peering system. These elements are the REQUEST-ROUTING PEERING SYSTEM, DISTRIBUTION PEERING SYSTEM, and ACCOUNTING PEERING SYSTEM. Collectively, they control selection of the delivery CDN, content distribution between peering CDNs, and usage accounting, including billing settlement among the peering CDNs. This work takes into consideration relevant IETF RFCs and IETF works-in-progress. In particular, it is mindful of the end-to-end nature [6][10] of the Internet, the current taxonomy of web replication and caching [11], and the accounting, authorization and authentication framework [12] Green, et. al. Expires May 18, 2001 [Page 5] Internet-Draft CDNP Architecture November 2000 2. CDN Peering System Architecture 2.1 Conceptual View of Peered CDNs Before developing the system architecture, a conceptual view of peered CDNs is presented to frame the problem space. CDNs are comprised principally of four core system elements [13], the REQUEST-ROUTING SYSTEM, the DISTRIBUTION SYSTEM, the ACCOUNTING SYSTEM, and SURROGATES. In order for CDNs to peer with one another, it is necessary to interconnect several of the core system elements of individual CDNs. The interconnection of CDN core system elements occurs through network elements called CDN Peering Gateways (CPG). Namely, the CDN core system elements that need to be interconnected are the REQUEST-ROUTING SYSTEM, the DISTRIBUTION SYSTEM, and the ACCOUNTING SYSTEM. Figure 1 contains a conceptual peered CDN diagram. Green, et. al. Expires May 18, 2001 [Page 6] Internet-Draft CDNP Architecture November 2000 +---------------+ +---------------+ | CDN A | | CDN B | |...............| +---------+ +---------+ |.......... ....+ |REQUEST-ROUTING|<=>| |<=>| |<=>|REQUEST-ROUTING| |...............| | CDN | | CDN | |...............| | DISTRIBUTION |<=>| PEERING |<=>| PEERING |<=>| DISTRIBUTION | |...............| | GATEWAY | | GATEWAY | |...............| | ACCOUNTING |<=>| |<=>| |<=>| ACCOUNTING | |---------------| +---------+ +---------+ +---------------+ | ^ \^ \^ \^ ^/ ^/ ^/ | ^ v | \\ \\ \\ // // // v | +---------------+ \\ \\ \\ // // // +---------------+ | SURROGATEs | \\ v\ v\ /v /v // | SURROGATEs | +---------------+ \\+---------+// +---------------+ ^ | v| |v ^ | | | | CDN | | | | | | PEERING | | | | | | GATEWAY | | | | | | | | | | | +---------+ | | | | ^| ^| ^| | | | | || || || | | | | |v |v |v | | | | +------------- -+ | | | | | CDN C | | | | | |...............| | | | | |REQUEST-ROUTING| | | | | |...............| | | \ \ | DISTRIBUTION | / / \ \ |...............| / / \ \ | ACCOUNTING | / / \ \ |---------------| / / \ \ | ^ / / \ \ v | / / \ \ +---------------+ / / \ \ | SURROGATEs | / / \ \ +---------------+ / / \ \ | ^ / / \ \ | | / / \ \ v | / / \ \ +---------+ / / \ \--->| CLIENTs |---/ / \-----| |<---/ +---------+ Figure 1 Conceptual View of Peered CDNs Green, et. al. Expires May 18, 2001 [Page 7] Internet-Draft CDNP Architecture November 2000 This conceptual view illustrates the peering of three CDNs; CDN A, CDN B, and CDN C. The CDNs are peered through interconnection at CDN Peering Gateways. The result is presented as a virtual CDN to CLIENTs for the DELIVERY of CONTENT by the aggregated set of SURROGATES. 2.2 CDN Peering Architectural Elements The system architecture revolves around the general premise that individual CDNs are wholly contained within an administrative domain [3] that is composed of either autonomous systems [1] (physical networks) or overlay networks (virtual networks). For the purpose of this memo, an overlay network is defined as a set of connected CDN network elements layered onto existing underlying networks, and present the result as a virtual application layer to both CLIENTs and ORIGINs. The system architecture for CDN peering accommodates this premise by assuring that the information and controls are available for inter-CDN-domain administration . CDN peering involves the interconnection of the individual CDN administrative domains through gateway protocols and mechanisms loosely modeled after BGP [5]. The system architecture depends on the following assumptions: 1. The URI [8] name space is the basis of PUBLISHER object identifiers. 2. PUBLISHERs delegate authority of their object URI name space being distributed by peering CDNs to the REQUEST-ROUTING PEERING SYSTEM. 3. Peering CDNs use a common convention for encoding CDN metadata into the URI name space. Figure 2 contains a system architecture diagram of the core elements involved in CDN peering. Green, et. al. Expires May 18, 2001 [Page 8] Internet-Draft CDNP Architecture November 2000 +---------------+ 1 /-------------|REQUEST-ROUTING|<----\ / 4 | PEERING | 7 | / /------------->| SYSTEM* |<-\ | / / +---------------+ | | / / ^ | | / / |3 | | / / | | | / / +--------------+ | | 5| | | DISTRIBUTION | 2| | V | __| PEERING |<-\ | +--------+ 6 +-----------+ 3 / | SYSTEM* | |\ | +---------+ | |<---| |<-/ +--------------+ | \ \_| | | CLIENT | | SURROGATE | | \__| ORIGIN | | |--->| |-\ +--------------+ | /-->| | +--------+ +-----------+ \ 7 | ACCOUNTING |--// 7 +---------+ \->| PEERING |--/ | SYSTEM* |--\ +---------+ +--------------+ \ 7 | BILLING | \-->| ORG. | | | +---------+ Note: * represents core elements of CDN peering Figure 2 System Architecture Elements of a CDN Peering System The System Architecture is comprised of 7 major elements, 3 of which constitute the CDN peering system itself. The peering elements are REQUEST-ROUTING PEERING SYSTEM, DISTRIBUTION PEERING SYSTEM, and ACCOUNTING PEERING SYSTEM. Correspondingly, the system architecture is a system of systems: 1. The ORIGIN delegates its URI name space for objects to be distributed and delivered by the peering CDNs to the REQUEST-ROUTING PEERING SYSTEM. 2. The ORIGIN publishes CONTENT that is to distributed and delivered by the peering CDNs into the DISTRIBUTION PEERING SYSTEM. Note: CONTENT which is to be pre-populated (pushed) within the peering CDNs is pro-actively published, while CONTENT which is to be pulled on demand is published at the time the object is being requested for DELIVERY. Green, et. al. Expires May 18, 2001 [Page 9] Internet-Draft CDNP Architecture November 2000 3. The DISTRIBUTION PEERING SYSTEM moves content between CDN DISTRIBUTION SYSTEMs. Additionally this system interacts with the REQUEST-ROUTING PEERING SYSTEM via feedback ADVERTISEMENTs to assist in the peered CDN selection process for CLIENT requests. 4. The CLIENT requests CONTENT from what it perceives to be the ORIGIN, however due to URI name space delegation, the request is actually made to the REQUEST-ROUTING PEERING SYSTEM. 5. The REQUEST-ROUTING PEERING SYSTEM routes the request to a suitable SURROGATE in a peering CDN. REQUEST-ROUTING PEERING SYSTEMs interact with one another via feedback ADVERTISEMENTs in order to keep request-routing tables current. 6. The selected SURROGATE delivers the requested content to the CLIENT. Additionally, the SURROGATE sends accounting information for delivered content to the ACCOUNTING PEERING SYSTEM. 7. The ACCOUNTING PEERING SYSTEM aggregates and distills the accounting information into statistics and content detail records for use by the ORIGIN and BILLING ORGANIZATION. Statistics are also used as feedback to the REQUEST-ROUTING PEERING SYSTEM. 8. The BILLING ORGANIZATION uses the content detail records to settle with each of the parties involved in the content distribution and delivery process. This process has been described in its simplest form in order to present the CDN peering architecture in the most abstract way possible. In reality, this process is more complex when applied to policies, business models and service level agreements that span multiple peering CDNs. The orthogonal core peering systems are discussed in greater depth in Section 3, Section 4 and Section 5 respectively. Note: Figure 2 simplifies the presentation of the core CDN peering elements as single boxes, when in fact they represent a collection of CPGs and interconnected individual CDN core system elements. This has been done to introduce the system architecture at its meta level. The system architecture does not impose any administrative domain [3] restrictions on the core peering elements (REQUEST-ROUTING PEERING SYSTEM, DISTRIBUTION PEERING SYSTEM and ACCOUNTING PEERING SYSTEM). The only requirement is that they be authorized by the Green, et. al. Expires May 18, 2001 [Page 10] Internet-Draft CDNP Architecture November 2000 principal parties (ORIGIN and peering CDNs) to act in their behalf. Thus, it is possible for each of the core elements to be provided by a different organization. It is important to note that the REQUEST-ROUTING PEERING SYSTEM is the only mandatory element for CDN peering to function. A DISTRIBUTION PEERING SYSTEM is needed when the PUBLISHER does not have a NEGOTIATED RELATIONSHIP with every peering CDN. Additionally, an ACCOUNTING PEERING SYSTEM is needed when statistical and usage information is needed in order to satisfy PUBLISHER and/or BILLING ORGANIZATION requirements. Green, et. al. Expires May 18, 2001 [Page 11] Internet-Draft CDNP Architecture November 2000 3. Request-Routing Peering System The REQUEST-ROUTING PEERING SYSTEM represents the request-routing function of the CDN peering system. It is responsible for routing CLIENT requests to an appropriate peered CDN for the delivery of content. Note: When the DISTRIBUTION PEERING SYSTEM and/or the ACCOUNTING PEERING SYSTEM is present, it is highly desirable to utilize content location information within the peered CDNs and/or system load information in the selection of appropriate peered CDNs in the routing of requests. 3.1 Request-Routing Overview REQUEST-ROUTING SYSTEMs route CLIENT requests to a suitable SURROGATE, which is able to service a client request. Many request-routing systems route users to the surrogate that is "closest" to the requesting user, or to the "least loaded" surrogate. However, the only requirement of the request-routing system is that it route users to a surrogate that can serve the requested content. REQUEST-ROUTING PEERING is the interconnection of two or more REQUEST-ROUTING SYSTEMs so as to increase the number of REACHABLE SURROGATEs for at least one of the interconnected systems. In order for a PUBLISHER's CONTENT to be delivered by multiple peering CDNs, it is necessary to federate each CDN REQUEST-ROUTING SYSTEM under the URI name space of the PUBLISHER object. This federation is accomplished by first delegating authority of the PUBLISHER URI name space to an AUTHORITATIVE REQUEST-ROUTING SYSTEM. The AUTHORITATIVE REQUEST-ROUTING SYSTEM subsequently splices each peering CDN REQUEST-ROUTING SYSTEM into this URI name space and transitively delegates URI name space authority to them for their participation in request-routing. Figure 3 is a diagram of the entities involved in the REQUEST-ROUTING PEERING SYSTEM. Green, et. al. Expires May 18, 2001 [Page 12] Internet-Draft CDNP Architecture November 2000 +---------------+ | CLIENT | +---------------+ | (Request-Routing Tree Root) +---------------+ | AUTHORITATIVE | |REQUEST-ROUTING| | SYSTEM | +---------------+ | | INTER-CDN Request-Routing /----------------/ \-----------------\ | | (1st Level) +---------------+ +---------------+ .........|REQUEST-ROUTING|.......... .........|REQUEST-ROUTING|......... . CDN A | CPG | . . CDN B | CPG | . . +---------------+ . . +---------------+ . . | . . | . . +---------------+ . . +---------------+ . . |REQUEST-ROUTING| . . |REQUEST-ROUTING| . . | SYSTEM | . . | SYSTEM | . . +---------------+ . . +---------------+ . . | | . . | | . . /---/ \-------\ . . /-----/ \----\ . . | | . . | | . . +---------------+ | . . | | . . |REQUEST-ROUTING| +------------+ . . +-----------+ +------------+ . ..| CPG |.| SURROGATEs |.. ..| SURROGATE |....| SURROGATES |.. +---------------+ +------------+ +-----------+ +------------+ | INTER-CDN Recursive Request-Routing \------\ | (2nd Level) +---------------+ .........|REQUEST-ROUTING|.......... . CDN C | CPG | . . +---------------+ . , | . . +---------------+ . . |REQUEST-ROUTING| . . | SYSTEM | . . +---------------+ . . | | . . /----/ \-----\ . . | | . . +-----------+ +------------+ . ..| SURROGATE |....| SURROGATEs |... +-----------+ +------------+ Figure 3 REQUEST-ROUTING PEERING SYSTEM Architecture Green, et. al. Expires May 18, 2001 [Page 13] Internet-Draft CDNP Architecture November 2000 The REQUEST-ROUTING PEERING SYSTEM is hierarchical in nature. There exists exactly one request-routing tree for each PUBLISHER URI. The AUTHORITATIVE REQUEST-ROUTING SYSTEM is the root of the request-routing tree. There may be only one AUTHORITATIVE REQUEST-ROUTING SYSTEM for a URI request-routing tree. Subordinate to the AUTHORITATIVE REQUEST-ROUTING SYSTEM are the REQUEST-ROUTING SYSTEMs of the first level peering CDNs. There may exist recursive subordinate REQUEST-ROUTING SYSTEMs of additional level peering CDNs. Note: A PUBLISHER object may have more than one URI associated with it and therefore be present in more than one request-routing tree. 3.2 Request Routing The actual "routing" of a client request is through REQUEST-ROUTING CPGs. The AUTHORITATIVE REQUEST-ROUTING CPG receives the CLIENT request and forwards the REQUEST to an appropriate DISTRIBUTING CDN. This process of INTER-CDN request-routing may occur multiple times in a recursive manner between REQUEST-ROUTING CPGs until the REQUEST-ROUTING SYSTEM arrives at an appropriate DISTRIBUTING CDN to deliver the content. Note: The Client request may be for resolution of a URI component and not the content of the URI itself. This is the case when DNS is being utilized in the request-routing process to resolve the URI server component. Request-Routing systems explicitly peer but do not have "interior" knowledge of surrogates from other CDNs. Each CDN operates its internal request-routing system. In this manner, request-routing systems peer very much like IP network layer peering. 3.3 Requirements We assume that there is a peering relationship between REQUEST-ROUTING CPGs. This peering relationship at a minimum must exchange a set of CLIENT IP addresses that can be serviced, and a set of information about the DISTRIBUTION SYSTEMs, for which they are performing request-routing. Request-Routing Requirements 1. Normalized canonical URI name space structure for peered CDN distribution of PUBLISHER objects. The default in the absence of encoded meta data is the standard components as defined by [8]. Encoded meta data must conform to the conform to the syntactical grammar defined in [7]. Green, et. al. Expires May 18, 2001 [Page 14] Internet-Draft CDNP Architecture November 2000 2. Single AUTHORITATIVE REQUEST-ROUTING SYSTEM for PUBLISHER object URI name space. 3. Use of a URI name space based request-routing mechanism. The request-routing mechanism is allowed to use as much of the URI name space as it needs to select the proper SURROGATE. For example, DNS based mechanisms utilize only the host subcomponent, while content aware mechanisms utilize use multiple components. 4. Assure that the request-routing tree remains a tree -- i.e., has no cycles. 5. Assure that adjacent request-routing systems from different administrative domains (different CDNs) use a compatible request-routing mechanism. 6. Assure that adjacent request-routing systems from different administrative domains (different CDNs) agree to forward requests for the CONTENT in question. 3.4 Example In order to provide a greater understanding of the REQUEST-ROUTING PEERING SYSTEM, the following four examples are described. While these don't represent all implementations, they are considered to be representative of the most common implementations deployed today. It is important to remember the INTRA-CDN REQUEST-ROUTING SYSTEM is opaque to the CDN peering architecture, since it is within the CDN black box. The following examples contain known INTRA-CDN implementations in order to present the reader with a complete scenario of REQUEST-ROUTING PEERING. 3.4.1 Modified DNS Request-Routing Model This example describes a DNS request-routing model that utilizes protocol extensions for proxies between peered REQUEST-ROUTING CPGs. Exclusively the AUTHORITATIVE REQUEST-ROUTING SYSTEM utilizes DNS for INTER-CDN request-routing and exclusively by the CDN REQUEST-ROUTING SYSTEM for INTRA-CDN request-routing. We assume in this example that the CDN DIRECTION SYSTEM R2 has a INTER-CDN peering relationship with the AUTHORITATIVE DIRECTION SYSTEM R1 and has informed R1 via a peering protocol of its willingness to service REQUESTS for a set of URIs'. We also assume the URI being requested is contained within a name space authoritatively serviced by R1. When the CLIENT contacts the authoritative DNS server R1 to resolve the URI domain name, R1 Green, et. al. Expires May 18, 2001 [Page 15] Internet-Draft CDNP Architecture November 2000 determines that the peering R2 needs to perform the INTRA-CDN request-routing to one of its SURROGATES for service of the forthcoming CLIENT request. Since, R2 cannot return the NS record, R1 proxies R2 with an DNS protocol extension carrying both the CLIENT address and the domain name of the URI. At this point the request-routing process has been delegated to the proper peering CDN for INTRA-CDN request-routing. R2 runs its request-routing computation as though the CLIENT had directly contacted it, and returns the result of the selected SURROGATE to R1, which in turn passes it on to the CLIENT. At this point the CLIENT has the correct SURROGATE to connect with for DELIVERY of the CONTENT. 3.4.2 DNS Request-Routing Model using NS records This example describes a pure DNS request-routing model. DNS is utilized exclusively by the AUTHORITATIVE REQUEST-ROUTING SYSTEM for INTER-CDN request-routing and exclusively by the CDN REQUEST-ROUTING SYSTEM for INTRA-CDN request-routing. We assume in this example that the CDN REQUEST-ROUTING SYSTEM R2 has a INTER-CDN peering relationship with the AUTHORITATIVE REQUEST-ROUTING SYSTEM R1. We also assume that the DNS name used by the PUBLISHER contains at least as many name levels as the INTER-CDN request-routing tree is deep. In our case, for example, using only R1 and R2 the name could be foo2.foo1.com. When the CLIENT requests CONTENT, the DNS resolution request will contain the domain name foo2.foo1.com. To resolve this domain name the client site DNS server will first contact the REQUEST-ROUTING SYSTEM of R1 since it is authoritative for the domain foo1.com. The REQUEST-ROUTING SYSTEM R1 has to decide now if it wants to serve the content from one of its own SURROGATEs or if the content should be served from the CDN with REQUEST-ROUTING SYSTEM R2. If R1 wants to serve the content it returns an A record with the IP address of the appropriate SURROGATE. If R1 decides R2 should serve the content, it returns a NS record to the client site DNS server, denying a recursive resolution and pointing the client site DNS server to the REQUEST-ROUTING SYSTEM of R2. R2 can now decide which SURROGATE to use and returns an appropriate A record. At this point, the CLIENT has the correct SURROGATE to connect with for DELIVERY of the CONTENT. Green, et. al. Expires May 18, 2001 [Page 16] Internet-Draft CDNP Architecture November 2000 3.4.3 DNS Request-Routing Model using CNAME records This example describes a pure DNS request-routing model. DNS is utilized exclusively by the AUTHORITATIVE REQUEST-ROUTING SYSTEM for INTER-CDN request-routing and exclusively by the CDN REQUEST-ROUTING SYSTEM for INTRA-CDN request-routing. We assume in this example that the CDN REQUEST-ROUTING SYSTEM R2 has a INTER-CDN peering relationship with the AUTHORITATIVE SYSTEM R1. When the CLIENT requests CONTENT, the DNS resolution request will first be made to REQUEST-ROUTING SYSTEM R1 since it is the authoritative REQUEST-ROUTING SYSTEM. The REQUEST-ROUTING SYSTEM R1 has to decide now if it wants to serve the content from one of its own SURROGATEs or if the content should be served from the CDN with REQUEST-ROUTING SYSTEM R2. If R1 wants to serve the content it returns an A record with the IP address of the appropriate SURROGATE. If R1 decides R2 should serve the content it returns a CNAME record to the CLIENT site DNS server denying a recursive resolution. In this case the AUTHORITATIVE REQUEST-ROUTING SYSTEM for the CNAME (not the original name requested by the CLIENT) has to be R2. R2 can now decide which SURROGATE to use and returns an appropriate A record. At this point, the CLIENT has the correct SURROGATE to connect with for DELIVERY of the CONTENT. This scheme allows for an easier introduction of additional request-routing levels as the NS scheme described in Section 3.4.2. 3.4.4 Hybrid DNS & Content Aware Request-Routing Models These examples describes hybrid DNS/Content-aware request-routing models: server-side and client-side request-routing models. 3.4.4.1 Server-side Request-Routing Model In the server-side request-routing model, DNS is used in the initial SURROGATE selection process by the CDN REQUEST-ROUTING SYSTEM while content-aware request-routing is employed to further forward the CLIENT request to a better SURROGATE based upon the content requested in the CLIENT request itself. Since there is more semantic information contained within the CLIENT request than was present in the DNS lookup, it is possible to more finely target the request-routing to a suitable SURROGATE. We assume the same R1 and R2 relationship that was present in the previous modified DNS REQUEST-ROUTING MODEL. We also assume the same process that caused R1 to determine R2 needs to perform the INTRA-CDN request-routing. However, in this case, R2 does not perform the request-routing computation, but rather selects a Green, et. al. Expires May 18, 2001 [Page 17] Internet-Draft CDNP Architecture November 2000 content-aware request-routing network element. R2 returns the result of the content-aware request-routing network element to R1 which in turn passes it on to the CLIENT. 3.4.4.2 Client-side Request-Routing Model In the client-side request-routing model, a content-aware network element is in the path between the client and the CDN REQUEST-ROUTING SYSTEM and performs CDN selection based on the content requested in the CLIENT request. In this case, the client is within R1's administration and R2 exchanges peering information with R1 that includes URI level information that enables R1 to proxy or forward content requests towards R2. In both cases, the CLIENT connects to the content-aware request-routing network element and sends the CLIENT request. This network element performs a content-aware request-routing computation and may either send an application level redirects such as an HTTP [9] or RTSP [7] 302 reply to the CLIENT; or proxy the CLIENT request to a remote SURROGATE. At this point, the CLIENT has the correct SURROGATE for the CONTENT. While the examples above provide a summary of request-routing systems, they are just that, a summary. Consult [16] for in-depth information on these request-routing systems. 3.5 Request-Routing Problems to Solve Specific problems in request-routing needing further investigation include: 1. What is the aggregated granularity of CLIENT IP address being serviced by a peering CDN's DISTRIBUTION SYSTEM? 2. How do DNS request-routing systems forward a request? If a given CDN is peered with many other CDNs, what are the criteria that forwards a request to another CDN? 3. How do content-aware request-routing systems forward a request? If a given CDN is peered with many other CDNs, what are the criteria that forwards a request to another CDN? 4. What are the merits of designing a generalized content routing protocol, rather than relying on request-routing mechanisms. 5. What is the normalized canonical URI name space for request-routing? Because request-routing is federated across Green, et. al. Expires May 18, 2001 [Page 18] Internet-Draft CDNP Architecture November 2000 multiple CDNs, it is necessary to have agreed upon standards for the encoding of meta data in URIs. There are many potential elements, which may be encoded. Some of these elements are: authoritative agent domain, publisher domain, content type, content length, etc. 6. How are policies communicated between the REQUEST-ROUTING SYSTEM and the DISTRIBUTION ADVERTISEMENT SYSTEM? A given CDN may wish to serve only a given content type or a particular set of users. These types of policies must be communicated between CDNs. 7. What are the request-routing protocols in DNS? When a request is routed to a particular REQUEST-ROUTING CPG, a clear set of DNS rules and policies must be followed in order to have a workable and predictable system. 8. How do we protect the REQUEST-ROUTING SYSTEM against denial of service attacks? 9. How do we select the appropriate peering CDN for DELIVERY? The selection process must to consider the distribution policies involved in Section 4. Investigation into other policy "work in progress" within the IETF is needed to understand the relationship of policies developed within CDN peering. [Editor Note: Detailed requirements concerning the information exchange between REQUEST-ROUTING CPGs needs to be developed in order to begin work on a REQUEST-ROUTING peering protocol.] Green, et. al. Expires May 18, 2001 [Page 19] Internet-Draft CDNP Architecture November 2000 4. Distribution Peering System The DISTRIBUTION PEERING SYSTEM represents the content distribution function of the CDN peering system. It is responsible for moving content from one DISTRIBUTION CPG to another DISTRIBUTION CPG and for supplying content location information to the REQUEST-ROUTING PEERING SYSTEM. 4.1 Distribution Overview One goal of the CDN peering system is to move content closer to the CLIENT. Typically this is accomplished by copying content from its ORIGIN to SURROGATEs. The SURROGATEs then have the CONTENT available when it is requested by a CLIENT. Even with a single PUBLISHER and single CDN, the copying of CONTENT to a SURROGATE may traverse a number of links, some in the PUBLISHER's network, some in the CDN's network, and some between those two networks. For DISTRIBUTION PEERING, we consider only the communication "between" two networks, and ignore the mechanisms for copying CONTENT within a network. In the above example the last server on the content provider's network in the path, and the first server on the CDN's network in the path, must contain DISTRIBUTION CPGs which communicate directly with each other. The DISTRIBUTION CPGs could be located in the ORIGIN server and the SURROGATE server. Thus in the simplest form the ORIGIN server is in direct contact with the SURROGATE. However the DISTRIBUTION CPG in the content provider's network could aggregate content from multiple ORIGIN servers and the DISTRIBUTION CPG in the CDN's network could represent multiple SURROGATEs. These DISTRIBUTION CPGs could then be co-located in an exchange facility. In fact, given the common practice of independently managed IP peering co-location exchange facilities for layer 3, there exists the distinct opportunity to create similar exchanges for CPGs. Figure 4 is a diagram of the entities involved in the DISTRIBUTION PEERING SYSTEM. Green, et. al. Expires May 18, 2001 [Page 20] Internet-Draft CDNP Architecture November 2000 +--------+ | ORIGIN | +--------+ | | ORIGIN DISTRIBUTION PEERING /------------------/ \----------------\ | | +--------------+ +--------------+ .........| DISTRIBUTION |........... ...........| DISTRIBUTION |........ . CDN A | CPG | . . CDN B | CPG | . . +--------------+ . . +--------------+ . . | . . | . . +--------------+ . . +--------------+ . . | DISTRIBUTION | . . | DISTRIBUTION | . . | SYSTEM | . . | SYSTEM | . . +--------------+ . . +--------------+ . . | | . . | | . . /-----/ \-------\ . . /-----/ \----\ . . | | . . | | . . | +--------------+ . . +--------------+ | . . +------------+ | DISTRIBUTION | . . | DISTRIBUTION | +------------+ . ..| SURROGATEs |.| CPG |... ..| CPG |.| SURROGATEs |.. +------------+ +--------------+ +--------------+ +------------+ | | | | | \-----------------/ | \----------\ /-----------/ | | INTER-CDN DISTRIBUTION PEERING | | +--------------+ .........| DISTRIBUTION |........... . CDN C | CPG | . . +--------------+ . . | . . +--------------+ . . | DISTRIBUTION | . . | SYSTEM | . . +--------------+ . . | | . . /-----/ \-------\ . . | | . . | | . . +-----------+ +------------+ . ..| SURROGATE |.....| SURROGATEs |.. +-----------+ +------------+ Figure 4 DISTRIBUTION PEERING SYSTEM Architecture Green, et. al. Expires May 18, 2001 [Page 21] Internet-Draft CDNP Architecture November 2000 While CDN peering in general relates to interfacing with CDNs, there are two CDN distribution peering relationships we expect to be common; INTER-CDN distribution peering and ORIGIN distribution peering. INTER-CDN distribution peering involves distributing CONTENT between individual CDNs in a inter-network of peered CDNs. ORIGIN distribution peering involves the publishing of CONTENT directly into multiple CDNs by ORIGINs. Note: It is not necessary for an ORIGIN to peer directly with multiple CDNs in order to participate in CDN peering. ORIGINs participating in a single home CDN will be indirectly peered by their home CDN with the inter-network of CDNs the home CDN is a member of. 4.2 Distribution Models Replication ADVERTISEMENTs may take place in a model similar to the way IP routing table updates are done between BGP routers. DISTRIBUTION CPGs could take care of exterior content replication between content providers and CDNs, while at the same time performing content replication interior to their networks in an independent manner. If this model is used then the internal structure of the networks is hidden and the only knowledge of other networks is the locations of DISTRIBUTION CPGs. Replication of content may take place using a push model, or a pull model, or a combination of both. Use initiated replication, where SURROGATEs, upon getting a cache miss, retrieve CONTENT from the DISTRIBUTION SYSTEM, represents the pull model. ORIGIN initiated replication of CONTENT to SURROGATEs represents the push model. DISTRIBUTION CPGs may be located at various points in these models depending on the topologies of the networks involved. With CDN peering it may be desirable to replicate content through a network, which has no internal SURROGATEs. For example add a exchange network between the content provider network and the CDN network to the example above. The exchange network could have a DISTRIBUTION CPG co-located with the content provider's DISTRIBUTION CPG, which acts as a proxy for the CDN. The exchange network could also have a DISTRIBUTION CPG co-located with the CDN's DISTRIBUTION CPG, which acts as a proxy for the content provider. In a consolidated example, the exchange network could have a single DISTRIBUTION CPG that acts as a proxy for both the content provider and the CDN. Replication of CONTINUOUS MEDIA that is not to be cached on SURROGATEs takes place in a different model from content that is to be persistently stored, such as live streaming broadcasts. Green, et. al. Expires May 18, 2001 [Page 22] Internet-Draft CDNP Architecture November 2000 Replication in this case, typically takes the form of splitting the live streaming data at various points in the network. In CDN peering, DISTRIBUTION CPGs may support CONTINUOUS MEDIA splitting replication, as they likely provide ideal network topologic points for application layer multicasting. 4.3 Distribution Components The three main components of DISTRIBUTION PEERING are replication, signaling and advertising. The first component of content distribution is replication. Replication involves moving the content from an ORIGIN server to SURROGATE servers. The immediate goal in CDN peering is moving the content between DISTRIBUTION CPGs. The second component of content distribution is content signaling. Content signaling is the propagation of content meta-data. This meta-data may include such information such as the immediate expiration of content or a change in the expiration time of CONTENT. The immediate goal in signaling is exchanging signals between DISTRIBUTION CPGs. The third component of content distribution is content advertising. Content providers must be able to advertise content that can be distributed by CDNs and its associated terms. It is important that the advertising of content must be able to aggregate content information. The immediate goal in advertising is exchanging advertisements between DISTRIBUTION CPGs. 4.4 Distribution Requirements Replication systems must have a peering relationship. This peering relationship must exchange sets of aggregated content and its meta-data. Meta-data may change over time independently of the content data and must be exchanged independently as well. 4.4.1 Replication Requirements The specific requirements in content replication are: 1. A common protocol for the replication of content. 2. A common format for the actual content data in the protocol. 3. A common format for the content meta-data in the protocol. 4. Security mechanisms (see Section 6). Green, et. al. Expires May 18, 2001 [Page 23] Internet-Draft CDNP Architecture November 2000 5. Scalable distribution of the content. 4.4.2 Signaling Requirements The specific requirements in content signaling are: 1. Signals for (at least) "flush" and "expiration time update". 2. Security mechanisms (see Section 6). 3. Scalable distribution of the signals on a large scale. Editor Note: We have to start being quantitative about what we mean by "large scale". Are we thinking in terms of the number of content items, the number of networks, or the number of signals? For each of those, how big is "large scale"? 4. Content location and serviced CLIENT IP aggregate address exchanges with REQUEST-ROUTING CPGs. 4.4.3 Advertising Requirements The specific requirements in CONTENT ADVERTISEMENT are: 1. A common protocol for the ADVERTISEMENT of CONTENT. 2. A common format for the actual ADVERTISEMENTs in the protocol. Editor Note: The following requirements need further discussion. As it stands now, there isn't sufficient information to substantiate them. 3. A well-known state machine. 4. Use of TCP or SCTP (because soft-state protocols will not scale). 5. Well-known error codes to diagnose protocols between different networks. 6. Capability negotiation. 7. Ability to represent policy. Green, et. al. Expires May 18, 2001 [Page 24] Internet-Draft CDNP Architecture November 2000 4.5 Distribution Problems to Solve Some of the problems in distribution revolve around supporting both a push model and a pull model for replication of content in that they are not symmetric. The push model is used for pre-loading of content and the pull model is used for on-demand fetching and pre-fetching of content. These models are not symmetric in that the amount of available resources in which to place the content on the target server must be known. In the fetching cases the server that pulls the content knows the available resources on the target server, itself. In the pre-loading case the server that pushes the content must find out the available resources from the target server before pushing the data. 4.5.1 General Problems General problems in distribution peering needing further investigation include: 1. How would a single distribution peering protocol adequately support replication, signaling and advertising? 2. Should a single distribution peering protocol be considered, rather than separate protocols for each component? 3. How do we prevent looping of distribution updates? That is to say, detect and stop propagating replication, signaling and advertisement of events a DISTRIBUTION CPG has already issued. Looping here has the possibility of becoming infinite, if not bounded by the protocol(s). IP route updating and forwarding has faced similar issues and has solved them. 4.5.2 Replication Problems Specific problems in replication needing further investigation include: 1. How do replication systems forward a request? 2. How do we keep pull based replication serviced within the DISTRIBUTION CPGs in order to prevent it from inadvertently bleeding out into REQUEST-ROUTING SYSTEM and potentially getting into a recursive loop? 3. How are policies communicated between the replication systems? 4. What are the replication protocols? 5. Does replication only take place between CPGs? Green, et. al. Expires May 18, 2001 [Page 25] Internet-Draft CDNP Architecture November 2000 4.5.3 Signaling Problems Specific problems in content signaling needing further investigation include: 1. How do we represent a content signal? 2. What content meta-data needs to be signaled? 3. How do we represent aggregates of meta-data in a concise and compressed manner? 4. What protocol(s) should be used for content signals? 5. What is a scalable architecture for delivering content signals? 6. Do content signals need a virtual distribution system of their own? 4.5.4 Advertising Problems Specific problems in CONTENT ADVERTISEMENT needing further investigation include: 1. How do we represent aggregates of content to be distributed in a concise and compressed manner? 2. What protocol(s) should be used for the aggregation of this data? 3. What are the issues involved in the creation of CPG exchanges? This is actually a broader question than just for distribution, but needs to be considered for all forms of CPGs {REQUEST-ROUTING, DISTRIBUTION, ACCOUNTING}. Green, et. al. Expires May 18, 2001 [Page 26] Internet-Draft CDNP Architecture November 2000 5. Accounting Peering System The ACCOUNTING PEERING SYSTEM represents the accounting data collection function of the CDN peering system. It is responsible for moving accounting data from one ACCOUNTING CPG to another ACCOUNTING CPG. 5.1 Accounting Overview CDN peering must provide the ability for the content provider to collect data regarding the delivery of their CONTENT by the peered CDNs. ACCOUNTING CPGs exchange the data collected by the interior ACCOUNTING SYSTEMS. This interior data may be collected from the SURROGATEs by ACCOUNTING CPGs using SNMP or FTP, for example. ACCOUNTING CPGs may transfer the data to exterior neighboring ACCOUNTING CPGs on request (push), in an asynchronous manner (push), or a combination of both. Accounting data may also be aggregated before it is transferred. Figure 5 is a diagram of the entities involved in the ACCOUNTING PEERING SYSTEM. Green, et. al. Expires May 18, 2001 [Page 27] Internet-Draft CDNP Architecture November 2000 +---------+ | BILLING | +--------+ | ORG. | | ORIGIN | +---------+ +--------+ BILLING | | ACCOUNTING PEERING | | ORIGIN ACCOUNTING PEERING /-----/ \-----------------------|-|----\ | /-----------------------------/ \----|-\ | | | | +--------------+ +--------------+ .........| ACCOUNTING |........... ...........| ACCOUNTING |........ . CDN A | CPG | . . CDN B | CPG | . . +--------------+ . . +--------------+ . . | . . | . . +--------------+ . . +--------------+ . . | ACCOUNTING | . . | ACCOUNTING | . . | SYSTEM | . . | SYSTEM | . . +--------------+ . . +--------------+ . . | | . . | | . . /-----/ \-------\ . . /-----/ \----\ . . | | . . | | . . | +--------------+ . . +--------------+ | . . +------------+ | ACCOUNTING | . . | ACCOUNTING | +------------+ . ..| SURROGATEs |.| CPG |... ..| CPG |.| SURROGATEs |.. +------------+ +--------------+ +--------------+ +------------+ | | | | | \-----------------/ | \----------\ /-----------/ | | INTER-CDN ACCOUNTING PEERING | | +--------------+ .........| ACCOUNTING |........... . CDN C | CPG | . . +--------------+ . . | . . +--------------+ . . | ACCOUNTING | . . | SYSTEM | . . +--------------+ . . | | . . /-----/ \-------\ . . | | . . | | . . +-----------+ +------------+ . ..| SURROGATE |.....| SURROGATEs |.. +-----------+ +------------+ Figure 5 ACCOUNTING Peering system Architecture Green, et. al. Expires May 18, 2001 [Page 28] Internet-Draft CDNP Architecture November 2000 There are three CDN accounting peering relationships we expect to be common; INTER-CDN accounting peering, BILLING ORGANIZATION accounting peering and ORIGIN accounting peering. INTER-CDN accounting peering involves exchanging accounting information between individual CDNs in a inter-network of peered CDNs. BILLING ORGANIZATION peering involves exchanging to accounting information between CDNs and a billing organization. ORIGIN accounting peering involves the exchanging of accounting information between CDNs and ORIGINs. Note: It is not necessary for an ORIGIN to peer directly with multiple CDNs in order to participate in CDN peering. ORIGINs participating in a single home CDN will be indirectly peered by their home CDN with the inter-network of CDNs the home CDN is a member of. Nor is it necessary to have a BILLING ORGANIZATION peer, since this function may also be provided by the home CDN. However, ORIGINs that directly peer for ACCOUNTING may have access to greater accounting detail. Also, through the use of ACCOUNTING peering, 3rd party billing can be provided. 5.2 Accounting Models, Requirements and Problems to Solve Detailed information pertaining to CDN accounting peering models, requirements, and problems to be solved is in "CDN Peering Authentication, Authorization, and Accounting Requirements" [15]. Green, et. al. Expires May 18, 2001 [Page 29] Internet-Draft CDNP Architecture November 2000 6. Security Considerations Security concerns with respect to CDN Peering can be generally categorized into trust within the system and protection of the system from threats. The trust model utilized with CDN peering is predicated largely on transitive trust between the ORIGIN, REQUEST-ROUTING PEERING SYSTEM, DISTRIBUTION PEERING SYSTEM, ACCOUNTING PEERING SYSTEM and SURROGATES. Network elements within the CDN Peering system are considered to be "insiders" and therefore trusted. 6.1 Threats to CDN Peering The following sections document key threats to CLIENTs, PUBLISHERs, and CDNs. The threats are classified according to the party that they most directly harm, but, of course, a threat to any party is ultimately a threat to all. (For example, having a credit card number stolen may most directly affect a CLIENT; however, the resulting dissatisfaction and publicity will almost certainly cause some harm to the PUBLISHER and CDN, even if the harm is only to those organizations' reputations.) 6.1.1 Threats to the CLIENT 6.1.1.1 Defeat of CLIENT's Security Settings Because the SURROGATE's location may differ from that of the ORIGIN, the use of a SURROGATE may inadvertently or maliciously defeat any location-based security settings employed by the CLIENT. And since the SURROGATE's location is generally transparent to the CLIENT, the CLIENT may be unaware that its protections are no longer in force. For example, a CDN may relocate CONTENT from a Internet Explorer user's "Internet Web Content Zone" to that user's "Local Intranet Web Content Zone." If the relocation is visible to the Internet Explorer browser but otherwise invisible to the user, the browser may be employing less stringent security protections than the user is expecting for that CONTENT. (Note that this threat differs, at least in degree, from the substitution of security parameters threat below, as Web Content Zones can control whether or not, for example, the browser executes unsigned active content.) 6.1.1.2 Delivery of Bad Accounting Information In the case of CONTENT with value, CLIENTs may be inappropriately charged for viewing content that they did not successfully access. Conversely, some PUBLISHERs may reward CLIENTs for viewing certain CONTENT (e.g. programs that "pay" users to surf the Web). Should a CDN fail to deliver appropriate accounting information, the CLIENT may not receive appropriate credit for viewing the required CONTENT. Green, et. al. Expires May 18, 2001 [Page 30] Internet-Draft CDNP Architecture November 2000 6.1.1.3 Delivery of Bad CONTENT A CDN that does not deliver the appropriate CONTENT may provide the user misleading information (either maliciously or inadvertently). This threat can be manifested as a failure of either the DISTRIBUTION SYSTEM (inappropriate content delivered to appropriate SURROGATEs) or REQUEST-ROUTING SYSTEM (request routing to inappropriate SURROGATEs, even though they may have appropriate CONTENT), or both. A REQUEST-ROUTING SYSTEM may also fail by forwarding the CLIENT request when no forwarding is appropriate, or by failing to forward the CLIENT request when forwarding is appropriate. 6.1.1.4 Denial of Service A CDN that does not forward the CLIENT appropriately may deny the CLIENT access to CONTENT. 6.1.1.5 Exposure of Private Information CDNs may inadvertently or maliciously expose private information (passwords, buying patterns, page views, credit card numbers) as it transits from SURROGATEs to ORIGINs and/or PUBLISHERs. 6.1.1.6 Substitution of Security Parameters If a SURROGATE does not duplicate completely the security facilities of the ORIGIN (e.g. encryption algorithms, key lengths, certificate authorities) CONTENT delivered through the SURROGATE may be less secure than the CLIENT expects. 6.1.1.7 Substitution of Security Policies If a SURROGATE does not employ the same security policies and procedures as the ORIGIN, the CLIENT's private information may be treated with less care than the CLIENT expects. For example, the operator of a SURROGATE may not have as rigorous protection for the CLIENT's password as does the operator of the ORIGIN server. This threat may also manifest itself if the legal jurisdiction of the SURROGATE differs from that of the ORIGIN, should, for example, legal differences between the jurisdictions require or permit different treatment of the CLIENT's private information. 6.1.2 Threats to the PUBLISHER 6.1.2.1 Delivery of Bad Accounting Information If a CDN does not deliver accurate accounting information, the PUBLISHER may be unable to charge CLIENTs for accessing CONTENT or Green, et. al. Expires May 18, 2001 [Page 31] Internet-Draft CDNP Architecture November 2000 it may reward CLIENTs inappropriately. Inaccurate accounting information may also cause a PUBLISHER to pay for services (e.g. content distribution) that were not actually rendered.) Invalid accounting information may also effect PUBLISHERs indirectly by, for example, undercounting the number of site visitors (and, thus, reducing the PUBLISHER's advertising revenue). 6.1.2.2 Denial of Service A CDN that does not distribute CONTENT appropriately may deny CLIENTs access to CONTENT. 6.1.2.3 Substitution of Security Parameters If a SURROGATE does not duplicate completely the security services of the ORIGIN (e.g. encryption algorithms, key lengths, certificate authorities, client authentication) CONTENT stored on the SURROGATE may be less secure than the PUBLISHER prefers. 6.1.2.4 Substitution of Security Policies If a SURROGATE does not employ the same security policies and procedures as the ORIGIN, the CONTENT may be treated with less care than the PUBLISHER expects. This threat may also manifest itself if the legal jurisdiction of the SURROGATE differs from that of the ORIGIN, should, for example, legal differences between the jurisdictions require or permit different treatment of the CONTENT. 6.1.3 Threats to a CDN 6.1.3.1 Bad Accounting Information If a CDN is unable to collect or receive accurate accounting information, it may be unable to collect compensation for its services from PUBLISHERs. 6.1.3.2 Denial of Service Misuse of a CDN may make that CDN's facilities unavailable, or available only at reduced functionality, to legitimate customers or the CDN provider itself. Denial of service attacks can be targeted at a CDN's ACCOUNTING SYSTEM, DISTRIBUTION SYSTEM, or REQUEST-ROUTING SYSTEM. Green, et. al. Expires May 18, 2001 [Page 32] Internet-Draft CDNP Architecture November 2000 6.1.3.3 Transitive Threats To the extent that a CDN acts as either a CLIENT or a PUBLISHER (such as, for example, in transitive implementations) such a CDN may be exposed to any or all of the threats described above for both roles. Green, et. al. Expires May 18, 2001 [Page 33] Internet-Draft CDNP Architecture November 2000 7. Acknowledgements The authors would like to acknowledge the contributions and comments of Mark Day (Cisco), Fred Douglis (AT&T), Patrik Falstrom (Cisco), Don Gilletti (Entera), Barron Housel (Cisco) John Martin (Network Appliance), Raj Nair (Cisco), Hilarie Orman (Novell), Doug Potter (Cisco), John Scharber (Entera), and Oliver Spatscheck (AT&T). Green, et. al. Expires May 18, 2001 [Page 34] Internet-Draft CDNP Architecture November 2000 References [1] Hawkinson, J. and T. Bates, "Guidelines for creation, selection, and registration of an Autonomous System (AS)", BCP 6, March 1996, . [2] Postel, J., "Internet Protocol, DARPA Internet Program Protocol Specification", RFC 791, September 1981, . [3] Hares, S. and D. Katz, "Administrative Domains and Routing Domains A Model for Routing in the Internet", RFC 1136, December 1989, . [4] Postel, J., "Domain Name Structure and Delegation", RFC 1591, March 1994, . [5] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995, . [6] Carpenter, B., "Architecture Principles of the Internet", RFC 1958, June 1996, . [7] Schulzrinne, H., Rao, A. and R. Lanphier, "Real Time Streaming Protocol", RFC 2326, April 1998, . [8] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998, . [9] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999, . [10] Carpenter, B., "Internet Transparency", RFC 2775, February 2000, . [11] Cooper, I., Melve, I. and G. Tomlinson, "Internet Web Replication and Caching Taxonomy", draft-ietf-wrec-taxonomy-04.txt (work in progress), June 2000, Green, et. al. Expires May 18, 2001 [Page 35] Internet-Draft CDNP Architecture November 2000 . [12] Volbrecht, J., Calhoun, P., Farrell, S., Gommans, L., Gross, G., de Bruijn, B., de Laat, C., Holdrege, M. and D. Spence, "AAA Authorization Framework", draft-ietf-aaa-authz-arch-00.txt (work in progress), October 1999, . [13] Day, M., Cain, B. and G. Tomlinson, "A Model for CDN Peering", draft-day-cdnp-model-03.txt (work in progress), November 2000, . [14] Day, M. and D. Gilletti, "Content Distribution Network Peering Scenarios", draft-day-cdnp-scenarios-02.txt (work in progress), November 2000, . [15] Gilletti, D., Nair, R. and J. Scharber, "CDN Peering Authentication, Authorization, and Accounting Requirements", draft-gilletti-cdnp-aaa-reqs-00.txt (work in progress), November 2000, . [16] Cain, B., Douglis, F., Green, M., Hofmann, M., Nair, R., Potter, D. and O. Spatscheck, "Known CDN Request-Routing Mechanisms", draft-cain-cdnp-known-req-route-00.txt (work in progress), November 2000. Authors' Addresses Mark Green Entera, Inc. 40971 Encyclopedia Circle Fremont, CA 94538 US Phone: +1 510 770 5268 EMail: markg@entera.com Green, et. al. Expires May 18, 2001 [Page 36] Internet-Draft CDNP Architecture November 2000 Brad Cain Mirror Image Internet 49 Dragon Court Woburn, MA 01801 US Phone: +1 781 276 1904 EMail: brad.cain@mirror-image.com Gary Tomlinson Entera, Inc. 40971 Encyclopedia Circle Fremont, CA 94538 US Phone: +1 510 580 3726 EMail: garyt@entera.com Stephen Thomas TransNexus, Inc. 430 Tenth Street NW Suite N204 Atlanta, GA 30318 US Phone: +1 404 872 4887 EMail: stephen.thomas@transnexus.com Green, et. al. Expires May 18, 2001 [Page 37] Internet-Draft CDNP Architecture November 2000 Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC editor function is currently provided by the Internet Society. Green, et. al. Expires May 18, 2001 [Page 38]