Content Distribution Internetworking IETF BOF December 12, 2000 Phil Rzewski Gary Tomlinson Content Networking • Using IETF “application layer” protocols as transport – e.g. HTTP, RTSP • Routing & forwarding of requests & responses instead of packets Example Content Network: Hierarchical caching “parent” cache(s) ISP bar.com foo.com “edge” / “access” caches • Typically static forwarding rules – HTTP parenting – ICP • Example request forwarding – Single path – Redundant – URL partitioning client Example Content Network: Content Distribution Network (CDN)s “request-routing” system(s) CDN “surrogates” • Request routing systems map a client to a surrogate – e.g. DNS Local DNS • Example request forwarding – Ask another surrogate – Seek origin client Content Distribution Internetworking CDN ISP • Interconnect Content Networks • Different administrative domains • Different technologies Content Distribution Internetworking ??? ??? ??? ??? • Area of CDI interest lies in communication across these boundaries • Details within each Content Network should be irrelevant Key Terms & Concepts Surrogate “A delivery server, other than the origin. Receives a mapped request and delivers the corresponding content.” Delivery “The activity of presenting a publisher’s content for consumption by a client.” origin Content Network surrogate delivery client Distribution “The activity of moving a publisher’s content from its origin to one or more surrogates. Injection origin CN (aka “origin distribution peering”) “Publishing of content into one-or-more Content Networks by origins.” CN CN Content Signal “A message delivered through a distribution system that specifies information about an item of content.” e.g. to indicate the origin has a new version of some piece of content Request-Routing “The activity of steering or directing a request from a client to a suitable surrogate.” CN CN client Accounting “Measurement and recording of distribution and delivery activities, especially when the information recorded is ultimately used as a basis for the subsequent transfer of money, goods, or obligations” CN CN CN Drafting teams • Two design teams produced 8 of the 9 drafts • The two teams were aligned with Content Bridge & Content Alliance • Sharing and cooperation developed late so there is some overlap Understanding the Strawman Drafts draft-day-cdnp-model-04.txt • Introduction, background, & vocabulary on CDNs – CDN examples provided • Introduction & vocabulary on developing CDN interconnection technology – CDN peering examples provided – Content Peering Gateways (CPG) defined • Some high-level operational considerations included draft-day-cdnp-scenarios-02.txt • Used to collect the communities of interest requirements • Describes representative configurations that can be realized when internetworking CDNs. • Framed by the concepts: – CONTENT has value – DISTRIBUTION has value – CLIENTS have value draft-green-cdnp-gen-arch-02.txt • Presents three main architectural elements – Request-Routing Peering System – Distribution Peering System – Accounting Peering System • For each architectural element, presents: – Known requirements – Problems that need further investigation • Security considerations draft-green-cdnp-gen-arch-02.txt Conceptual View of Peered CDNs CDN A CDN B Request-Routing Request-Routing Distribution CPG CPG Distribution Accounting Accounting CPG surrogates surrogates CDN C Request-Routing Distribution Accounting surrogates clients draft-green-cdnp-gen-arch-02.txt Request-Routing Peering System Architecture client Authoritative Request-Routing System Inter-CDN Request-Routing (1stdraft-cain-cdnp-known-request-routing-00.txt Level) Request-Routing Request-Routing • Presents known mechanisms to direct client CPG CPG requests to surrogate servers. Request-Routing draft-deleuze-cdnp-dnsmap-peer-00.txt – DNS CDN A request-routing CDN B Request-Routing System System • Proposes a DNS-based Mapping – Transport-layer request-routing System – Application-layer Request-Routing request-routing Surrogates Surrogate Surrogates CPG • Discusses measurements, metrics, and feedback• Focused on determining the next hop Inter-CDN Recursive Request-Routing toward the appropriate surrogate Request-Routing (2nd Level) • Describes an approach using CNAME CPG • Proposes naming criteria to describe CDN C Request-Routing – Delivery service System Surrogate – Delivery Footprint Surrogates draft-green-cdnp-gen-arch-02.txt Distribution Peering System Architecture Origin Origin Distribution Peering Distribution CPG CDN A Distribution CPG Distribution System Surrogates CDN B Distribution CPG Distribution System Distribution CPG Inter-CDN Distribution Peering Distribution CPG CDN C Distribution System Surrogate Surrogates Surrogates draft-green-cdnp-gen-arch-02.txt Accounting Peering System Architecture Billing Organization Origin Billing Accounting Peering Origin Accounting Peering Accounting CPG CDN A Accounting CPG Accounting System Surrogates CDN B Accounting CPG • Accounting System draft-gilletti-cdnp-aaa-reqs-00.txt Accounting Surrogates Requirements for CDN Accounting Peering CPG – Framed against ongoing work of AAA WG Inter-CDN Accounting Peering Accounting • Details CPG CDN C on CDN Accounting Peering models – Additional terminology Accounting – Transaction models System – Accounting messaging • Lists problems to be solved Surrogate Surrogates draft-rzewski-oacp-00.txt • Origin/Access Content Peering for HTTP • Specific (“vertical”) implementation proposal of a way to pass control & accounting between origin & access endpoints. – Roles described for specific types of content networks (Hoster/CDN, Operator, Access Provider) • Note Request- Routing is a “null case” in the implementation draft-rzewski-oacp-00.txt Hoster/CDN Access Provider (ISP) Operator Origin www. com Content Injector Access Caches Content Relay Content Relay Content Relay Surrogate Access Clients New Content Published by Content Provider draft-rzewski-cndistcs-00.txt Content signals for changed URLs sent to Content Relay at Hoster/CDN Proposes specific content signals Content• signals for changed URLs forwarded to Content Relay at Operator – HTTP DELETE method for Content signals for changed URLs forwarded to Content Relay Surrogate at Access “invalidation” – Also additional “CND: GET” header Changed content may be retrieved by Content Relay at Access Provider (HTTP GET) to kick off pre-load Provider Content signals for changed URLs forwarded to Access Caches Access clients request content from Access Caches, if it is not in Access Cache, content is pulled from Content Gateway Surrogate (parent cache) draft-rzewski-oacp-00.txt Hoster/CDN Access Providers (ISPs) Operator Accounting Relay Origin ISP 1 Access Caches Accounting Relay Settlement & Billing Accounting Relay ISP 2 Summary Logging Access Caches draft-rzewski-cnacct-00.txt Log info is collected and summarized at Access Proposes SQUID-like Caches in•regular intervals summary log Access log infoformat is collated at Accounting Relay at Access Provider • Proposes using HTTP POST to pass Access log information centralized & passed log information between networks through Operator for settlement and billing Near real-time summaries are forwarded to Accounting Gateway at Hoster/CDN Accounting Relay Summary Logging Access Clients Organization Going Forward Possible Informal Structure Models Scenarios Architecture Framework Other WGs A A A W E B I D N S e x t “umbrella” . . . “communities of interest” Accounting Distribution Request-Routing Known methods Requirement specifications Proposed protocols Implementation debate Known methods Requirement specifications Proposed protocols Implementation debate Known methods Requirement specifications Proposed protocols Implementation debate