CDNI Working Group Xiaoyan.He Internet Draft Spencer.Dawkins Intended status: Standards Track Huawei Expires: August 2012 Ge.Chen China Telecom Yunfei.Zhang Wei.Ni China Mobile February 16, 2012 Capability Information Advertising for CDN Interconnection draft-he-cdni-cap-info-advertising-00.txt Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on August 16, 2012. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code He et all Expires August 16, 2012 [Page 1] Internet-Draft cap-info-advertising February 2012 Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Abstract This document describes protocol for Capability Information Advertising which is used to communicate capability information among interconnected Content Delivery Networks(CDNs). Table of Contents 1. Introduction ..................................................... 2 1.1. Terminology ................................................. 3 1.2. Reference Model .............................................. 3 2. Conventions used in this document.................................... 4 3. Capability information description ................................... 4 4. Protocol Function and Operation Overview ............................. 5 5. Protocol Specification ............................................. 5 5.1. Capability information description .............................. 5 5.2. Message description........................................... 6 5.2.1. Report mode............................................. 7 5.2.2. Query mode ............................................. 7 5.3. Message examples ............................................. 7 5.3.1. Report mode............................................. 7 5.3.2. Query mode ............................................. 8 6. Security Considerations ............................................ 8 7. IANA Considerations ............................................... 9 8. References ....................................................... 9 8.1. Normative References .......................................... 9 8.2. Informative References ........................................ 9 9. Acknowledgments.................................................. 10 1. Introduction Some discussion happened on request routing interface of CDNI among the CDNI working group, consensus has been achieved that the request routing interface comprises two main parts and these two parts should be addressed in different documents to progress separately: * the asynchronous advertisement of footprint and capabilities by a dCDN that allows a uCDN to decide whether to redirect particular user requests to that dCDN; and * The synchronous operation of actually redirecting a user request. He et all Expires August 16, 2012 [Page 2] Internet-Draft cap-info-advertising February 2012 This document hence focuses on defining the Capability Information Advertising Protocol for CDNI, which is one of the main building blocks of request routing interface. 1.1. Terminology This document reuses the terminology defined in [I-D.draft-cdni-problem-statement]. 1.2. Reference Model Figure 1 from [I-D.draft-cdni-problem-statement] illustrating the CDNI model and the CDNI interfaces are replicated below. The Capability Information Advertising Protocol is not explicitly shown in figure 1. Although that might be changed later upon the working group's decision, but now it is thought that capability advertisement is part of the function of the Request Routing interface. -------- / \ | CSP | \ / -------- * * * /\ * / \ ---------------------- |CDNI| ---------------------- / Upstream CDN \ | | / Downstream CDN \ | +-------------+ | Control Interface| +-------------+ | |******* Control |<======|====|========>| Control *******| |* +------*----*-+ | | | | +-*----*------+ *| |* * * | | | | * * *| |* +------*------+ | Logging Interface| +------*------+ *| |* ***** Logging |<======|====|========>| Logging ***** *| |* * +-*-----------+ | | | | +-----------*-+ * *| |* * * * | Request Routing | * * * *| .....*...+-*---------*-+ | Interface | +-*---------*-+...*.*... . |* * *** Req-Routing |<======|====|========>| Req-Routing *** * *| . . |* * * +-------------+.| | | | +-------------+ * * *| . . |* * * . CDNI Metadata | * * *| . . |* * * +-------------+ |. Interface | +-------------+ * * *| . . |* * * | Distribution|<==.===|====|========>| Distribution| * * *| . . |* * * | | | . \ / | | | * * *| . . |* * * |+---------+ | | . \/ | | +---------+| * * *| . He et all Expires August 16, 2012 [Page 3] Internet-Draft cap-info-advertising February 2012 . |* * ***| +---------+| | ....Request......+---------+ |*** * *| . . |* *****+-|Surrogate|************************|Surrogate|-+***** *| . . |******* +---------+| | Acquisition | |+----------+ *******| . . | +-------------+ | | +-------*-----+ | . . \ / \ * / . . ---------------------- ---------*------------ . . * . . * Delivery . . * . . +--*---+ . ...............Request.............................| User |..Request.. | Agent| +------+ <==> interfaces inside the scope of CDNI **** interfaces outside the scope of CDNI .... interfaces outside the scope of CDNI Figure 1: CDNI Model 2. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [RFC2119]. 3. Capability information description The Capability Information Advertising Protocol allows the Downstream CDN to provide the Upstream CDN with information (e.g. resources, footprint, load) to facilitate selection of the Downstream CDN by the Upstream CDN request routing system when processing subsequent content requests from User Agents. From the perspective of an Upstream CDN, to make a routing decision from multiple Downstream CDNs which will meet the local policy or requirement of the CP, the information needed may includes: O Status of each CDN, e.g. in service or out of service; O Resource status of each Downstream CDN, e.g. usage percentage of acquisition bandwidth, usage percentage of delivery bandwidth, available acquisition bandwidth, available delivery bandwidth etc.; O Footprint of each Downstream CDN; He et all Expires August 16, 2012 [Page 4] Internet-Draft cap-info-advertising February 2012 O Delivery protocol supported by each Downstream CDN; O Cost information of each Downstream CDN; O Authentication type to end user supported by each of the Downstream CDNs (Optional) 4. Protocol Function and Operation Overview CDN capability is information coupling with a specified application (CDNI), it should be conveyed via an application layer protocol rather than any other underlying layer protocol e.g. IP layer which should de-coupling with any application. In this document HTTP/1.1 protocol [RFC2616] is used for capability information advertising. The CDNs which have contracted for providing interconnection service to each other send capability advertisement messages to their interconnected peers. The detailed capability information description and message definition is described in section 5 of this document. The Capability Information Advertising Protocol takes two modes. One is report mode, where the Downstream CDN advertises its capability information to the Upstream CDN during at a periodic interval, e.g. every 5 minutes. The other one is query mode, where the Upstream CDN acquires the capability information from the Downstream CDN periodically, e.g. every 5 minutes. The Upstream CDN utilizes the capability information to makes its routing decision upon receiving a content request from an end user. To enable the communications over the Capability Information Advertising Protocol, the two interconnected CDNs need to know each other's contact address. The contact address may be statically pre-configured, dynamically discovered via control interface, or other means. However, they are not specified in this document, as this is considered not in the scope of the CDNI Capability Information Advertising Protocol. 5. Protocol Specification This section describes the details of the Capability Information Advertising Protocol. 5.1. Capability information description The Downstream CDN exposes its capability information to an Upstream CDN to facilitate CDN selection among other functions. The exposure should be of appropriate granularity to ensure the self-administrative nature of Downstream CDN. The following information in Table 2 is considered for capability exchange. +----------+-----------+-----------------+------+-------------------------+ | Name | Type | Value | Cat. | Description | +----------+-----------+-----------------+------+-------------------------+ He et all Expires August 16, 2012 [Page 5] Internet-Draft cap-info-advertising February 2012 | IPVersion|ENUM,4 byte|1:IPV4;2:IPV6 | M |IP address version of | | | |3:IPV4&IPV6 | |which a CDN can serve for| | | | | |end users | +----------+-----------+-----------------+------+-------------------------+ | Service- |ENUM,4 byte|1:in-service; | M | CDNI service status | | Status | |2:out-of-service | | | +----------+-----------+-----------------+------+-------------------------+ |maxDelive-| | Integer starts | |Maximum bandwidth commit-| |ryBW | UNIT32 | from zero | M |ted for content delivery | | | | Unit:Mbps | | | +----------+-----------+-----------------+------+-------------------------+ | | | Integer starts | | Current usage percentage| |DeliveryBW| UNIT8 |from zero to 100 | M | of bandwidth for | |Usage | | | | content delivery | +----------+-----------+-----------------+------+-------------------------+ |maxConnec-| UNIT32 | Integer starts | M |Maximum number of simult-| |tion | | from zero | |neous HTTP connections | | | | | |committed for content | | | | | |delivery | +----------+-----------+-----------------+------+-------------------------+ |usedConne-| UNIT32 | Integer starts | M |Number of HTTP connection| |ction | | from zero | | for content delivery | +----------+-----------+-----------------+------+-------------------------+ |Delivery- | List |A list of protoc-| M | Supported delivery | |Protocol | |ols,e.g.HTTP,RTSP| | protocols | +----------+-----------+-----------------+------+-------------------------+ |Coverage | List |Coverage represe-| | CDN coverage | | | |nted by ASN or | | | | | |Contry,State,City| M | | | | |combination of | | | | | |the covered | | | | | |region | | | +----------+-----------+-----------------+------+-------------------------+ |Cost | Object |A Currency and a | M | CDN Cost | | | |Price subelement | | | +----------+-----------+-----------------+------+-------------------------+ |Currency | String |USD,CNY, EUR etc.| M | CDN Currency | +----------+-----------+-----------------+------+-------------------------+ |Price | UNIT32 | Integer starts | | CDN Price for per GB | | | | From zero | M | data delivery | +----------+-----------+-----------------+------+-------------------------+ |UserAuth |ENUM,4 byte| 1:urlSigning; | | Authentication type to | | | | 2:urlToken | O | end user supported byCDN| +----------+-----------+-----------------+------+-------------------------+ Note: The value of "maxDeliveryBW" and "DeliveryBWUsage" may be an absolute value taking only the physical bandwidth of the CDN into account or it may be a normalized value which may also consider the disk I/O capacity and CPU usage as a whole. This depends on the CDN specific implementation and is out of scope of CDNI. Table 2 capability information description 5.2. Message description The HTTP/1.1 protocol is used for capability advertising. He et all Expires August 16, 2012 [Page 6] Internet-Draft cap-info-advertising February 2012 The HTTP request is HTTP POST for Report mode and HTTP GET for Query mode respectively. The request URI in both modes conforms to [RFC3986]. The URI format in this document is as follows: HTTP:///, where the specifies a destination, and the conveys the message name. The message body representation specified in this document is JavaScript Object Notation(JSON). 5.2.1. Report mode The Downstream CDN issues an HTTP POST message to the Upstream CDN to report its capability information. The message name in the request URI is "CdniCapReport". The Content-Type header field is "application/json". The message body includes capability information. Upon successful receipt of the POST request, the Upstream CDN responds with a 200 OK message. 5.2.2. Query mode The Upstream CDN issues a HTTP GET message to a Downstream CDN to query its capability information. The message name in the request URI is "CdniCapQuery". Upon successful receipt of the GET request, the Downstream CDN responds a 200 OK message with its capability information. The Content-Type header field for the response is "application/json". 5.3. Message examples This section gives some message examples for Capability Information Advertising Protocol. 5.3.1. Report mode The POST request and corresponding response are illustrated as below. Request example (Downstream CDN to Upstream CDN): POST http://contact-address.ucdn.example/CdniCapReport HTTP/1.1 Content-Type: application/json Content-Length: 350 He et all Expires August 16, 2012 [Page 7] Internet-Draft cap-info-advertising February 2012 { "IPVersion":1, "ServiceStatus":1, "maxDeliveryBW":5000, "DeliveryBWUsage":40, "maxConnection": 2000, "usedConnection": 600, "DeliveryProtocol":["HTTP","RSTP"], "Cost": {"Currency":USD, "Price":200, }, "Coverage": [ { "ASN":1000 }, { "ASN":2000 } ] } Response example: HTTP/1.1 200 OK 5.3.2. Query mode The GET request and corresponding response are illustrated as below. Request example (Upstream CDN to Downstream CDN): GET http://contact-address.dcdn.example/CdniCapQuery HTTP/1.1 Response example: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 350 The content of message body is the same as that of POST message illustrated in section 4.3.1. 6. Security Considerations Capability advertising is a main function which will affect the final routing decision of an upstream CDN, security threats on it He et all Expires August 16, 2012 [Page 8] Internet-Draft cap-info-advertising February 2012 include that any identity spoofing of the downstream CDN or changing of the capability advertising message with malicious intent which would cause the upstream CDN redirect an end user request to an inappropriate downstream CDN which possible cannot provide service to the end user. It is mentioned in section 8 of the requirement draft [I-D.draft-cdni- requirements], all the CDNI interface shall support secure operation over unsecured IP connectivity (e.g. The Internet). This includes authentication, confidentiality, integrity protection as well as protection against spoofing and replay. As this security requirement applies to all the CDNI interfaces and it is recommended that the working group addresses this issue and considers a consistent solution in another separate document later. 7. IANA Considerations If the approach described in this document is adopted, we would request that IANA allocate the message name "CdniCapReport" and CdniCapQuery" in the HTTP Parameters registry. 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2616] 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. [RFC3986] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax and Semantics", RFC 3986, January 2005. 8.2. Informative References [I-D.draft-cdni-use-cases] "Use Cases for Content Delivery Network Interconnection", Gilles Bertrand, Stephan Emile, Grant Watson, Trevor Burbridge, Philip Eardley, Kevin Ma, 22-Sep-11, . [I-D.draft-cdni-problem-statement] "Content Distribution Network Interconnection (CDNI) Problem Statement", Ben Niven-Jenkins, Francois Faucheur, Nabil Bitar, 9-Sep-11, . [I-D.draft-cdni-requirements] "Content Distribution Network Interconnection (CDNI) Requirements", Kent Leung, Yiu Lee, 9-Sep-11, . He et all Expires August 16, 2012 [Page 9] Internet-Draft cap-info-advertising February 2012 [I-D.davie-cdni-framework] Davie, B. and L. Peterson, "Framework for CDN Interconnection", draft-davie-cdni-framework-01 (work in progress), July 2011. 9. Acknowledgments This document was prepared using 2-Word-v2.0.template.dot. He et all Expires August 16, 2012 [Page 10] Internet-Draft cap-info-advertising February 2012 Authors' Addresses Xiaoyan He Huawei B2, Huawei Industrial Base, 518129 China Email: hexiaoyan@huawei.com Spencer Dawkins Huawei Email: spencer@wonderhamster.org Ge Chen China Telecom 109 West Zhongshan Ave,Tianhe District,Guangzhou,P.R.C Email: cheng@gsta.com Yunfei Zhang China Mobile Email: zhangyunfei@chinamobile.com Wei Ni China Mobile No.32 Xuanwumen West Street Xicheng District Beijing, 100053 China Email: niwei@chinamobile.com He et all Expires August 16, 2012 [Page 11]