Content Delivery Network Interconnection (CDNI) Media Type Registration
One shared media type, application/cdni, that labels every kind of message passed between interconnected CDNs.
Ma, K., "Content Delivery Network Interconnection (CDNI) Media Type Registration", RFC 7736, DOI 10.17487/RFC7736, December 2015, <https://www.rfc-editor.org/info/rfc7736>.
@misc{rfc7736,
series = {Request for Comments},
number = 7736,
howpublished = {RFC 7736},
publisher = {RFC Editor},
doi = {10.17487/RFC7736},
url = {https://www.rfc-editor.org/info/rfc7736},
author = {K. Ma},
title = {{Content Delivery Network Interconnection (CDNI) Media Type Registration}},
pagetotal = 7,
year = 2015,
month = dec,
} RFC text
Contents
Internet Engineering Task Force (IETF) K. Ma Request for Comments: 7736 Ericsson Category: Informational December 2015 ISSN: 2070-1721 Content Delivery Network Interconnection (CDNI) Media Type Registration Abstract This document defines the standard media type used by the Content Delivery Network Interconnection (CDNI) protocol suite, including the registration procedure and recommended usage of the required payload- type parameter. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7736. Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction and Scope . . . . . . . . . . . . . . . . . . . 2 2. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 2.1. CDNI Media Type . . . . . . . . . . . . . . . . . . . . . 3 2.2. CDNI Payload-Types Parameters Registry . . . . . . . . . 5 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 4. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Normative References . . . . . . . . . . . . . . . . . . 6 4.2. Informative References . . . . . . . . . . . . . . . . . 6 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction and Scope The Content Delivery Network Interconnection (CDNI) working group is developing a set of protocols to enable the interconnection of multiple content delivery networks (CDNs), as discussed in [RFC6770]. The CDNI protocol suite consists of multiple HTTP-based interfaces, many of which transfer various payloads encoded in JSON (JavaScript Object Notation) [RFC7159]. The main interfaces (i.e., CDNI Control interface, CDNI Footprint & Capabilities Advertisement interface, CDNI Request Routing Redirection interface, CDNI Metadata interface, and CDNI Logging interface) are described in [RFC7336]. It is desirable to be able to indicate the type of object carried in the HTTP entity-body without having to register separate media types for each CDNI object. To accomplish this aim, this document defines a single new media type for CDNI that includes a required payload-type parameter. A separate registry of CDNI payload-type parameters is also defined. CDNI protocol specifications may register interface- specific payload types, specifying the payload encoding and parsing semantics for that message (e.g., JSON serialization for a CDNI metadata object). The same payload-type parameter may also be used as references for other purposes (e.g., referencing CDNI metadata objects from CDNI capability advertisement objects). 2. IANA Considerations This section contains the CDNI media type registration as well as the payload-type parameter registry definition for IANA. 2.1. CDNI Media Type Type name: application Subtype name: cdni Required parameters: ptype The required parameter "ptype" describes the type of CDNI message contained in the message payload, as registered in the "Content Delivery Network Interconnection (CDNI) Parameters" registry (Section 2.2) defined below. Optional parameters: none Encoding considerations: The CDNI protocol suite includes interfaces with encoded messages that may be 8bit or binary, as well as generic logging information that may be 7bit or binary. Security considerations: CDNI interfaces that return encoded data may be (mis)interpreted if parsed by non-CDNI or non-compliant CDNI implementations. In addition, CDNI logging information is likely to transfer large amounts of data that may overload unexpecting clients. The individual CDNI interface specifications provide more detailed analysis of security and privacy concerns, and define the requirements for authentication, authorization, confidentiality, integrity, and privacy for each interface. The application/cdni media type is a generic media type to be used by multiple CDNI interfaces for transporting different types of control and logging information. Proper validation of message data requires parsing and understanding the ptype parameter and the associated data encoding. Failure to properly validate payloads may allow data extrusion under the auspices of the application/cdni media type. Interoperability considerations: The required ptype field is intended to fully describe the structure and parsing of CDNI messages, as enforced by the ptype registry designated expert. Published specification: RFC 7736 Applications that use this media type: CDNI is intended for use between interconnected CDNs for sharing configuration and logging data, as well as for issuing content management and redirection requests. Fragment identifier considerations: N/A Additional information: N/A Deprecated alias names for this type: N/A Magic number(s): N/A File extension(s): N/A Macintosh file type code(s): N/A Person & email address to contact for further information: Kevin Ma <kevin.j.ma@ericsson.com> Intended usage: LIMITED USE Restrictions on usage: This media type is intended only for use in CDNI protocol message exchanges. Author: IETF CDNI working group Change controller: IETF CDNI working group Provisional registration: no 2.2. CDNI Payload-Types Parameters Registry IANA has created a new "CDNI Payload Types" subregistry within the "Content Delivery Network Interconnection (CDNI) Parameters" registry. The "CDNI Payload Types" namespace defines the valid values for the required "ptype" parameter of the "application/cdni" media type. The CDNI payload type is an ASCII string value that consists of only visible (printing) characters but excludes equal signs (=), double quotes ("), and semicolons (;). It will not exceed 256 characters in length. The following Augmented Backus-Naur Form (ABNF) definition of the CDNI payload type is provided for clarity [RFC5234] ptype = 1*256(ptype-char) ptype-char = %x21 / %x23-3A / %x3C / %x3E-7E ; Includes ALPHA, DIGIT, and other printables ; Excludes equal signs (=), double quotes ("), semicolons (;) Additions to the "CDNI Payload Types" namespace will be made via "Specification Required" as defined in [RFC5226]. The designated expert will verify that new type definitions do not duplicate existing type definitions (in name or functionality), prevent gratuitous additions to the namespace, and prevent any additions to the namespace that would impair the interoperability of CDNI implementations. The designated expert will review the specification, even if it is a Standards Track RFC, to verify that it contains the following information: o The review will verify that the specification contains a reasonably defined purpose for the new payload type. A reasonably defined purpose will relate to an existing or proposed CDNI interface and will not duplicate the functionality of any existing CDNI protocol feature without specifying a rational reason (e.g., updating an obsolete feature), a method for detecting and handling conflicts (e.g., a versioning system with prioritization matrix), and a suggested migration path (e.g., deprecation of the overlapped feature, or justification for co-existence). o The review will verify that the specification contains information as to which CDNI interface the new payload type pertains or affects. The payload type may be applicable to multiple CDNI interfaces, but the justification for the new payload type will include a reasonable relationship to at least one Standards Track CDNI interface. o The review will verify that the specification contains sufficient detail about the data encoding (e.g., JSON serialization for new CDNI metadata or capability advertisement objects, or ABNF and description for new CDNI logging file formats) to allow senders and receivers of the new payload type to implement compliant and interoperable payload parsers. The registry contains the payload type and the specification describing the payload type. The registry will initially be unpopulated. +--------------+---------------+ | Payload Type | Specification | +--------------+---------------+ +--------------+---------------+ 3. Security Considerations See the portion of Section 2.1 labeled "Security considerations". 4. References 4.1. Normative References [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May 2008, <http://www.rfc-editor.org/info/rfc5226>. [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, January 2008, <http://www.rfc-editor.org/info/rfc5234>. 4.2. Informative References [RFC6770] Bertrand, G., Ed., Stephan, E., Burbridge, T., Eardley, P., Ma, K., and G. Watson, "Use Cases for Content Delivery Network Interconnection", RFC 6770, DOI 10.17487/RFC6770, November 2012, <http://www.rfc-editor.org/info/rfc6770>. [RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 2014, <http://www.rfc-editor.org/info/rfc7159>. [RFC7336] Peterson, L., Davie, B., and R. van Brandenburg, Ed., "Framework for Content Distribution Network Interconnection (CDNI)", RFC 7336, DOI 10.17487/RFC7336, August 2014, <http://www.rfc-editor.org/info/rfc7336>. Acknowledgments This document is the culmination of the efforts of many in the CDNI working group, including (in alphabetical order): Francois Le Faucheur, Daryl Malas, Rob Murray, Ben Niven-Jenkins, Iuniana Oprescu, Jon Peterson, and Jan Seedorf. Author's Address Kevin J. Ma Ericsson 43 Nagog Park Acton, MA 01720 United States Phone: +1 978-844-5100 Email: kevin.j.ma@ericsson.com
AI ELI5
On this page
§1Introduction and Scope
The CDNI working group develops protocols that let multiple content delivery networks (CDNs) interconnect. The suite consists of several HTTP-based interfaces, many carrying payloads encoded in JSON: Control, Footprint and Capabilities Advertisement, Request Routing Redirection, Metadata and Logging.
It is desirable to indicate the type of object in the HTTP entity-body without registering a separate media type for each CDNI object. So this document defines one new media type with a required ptype parameter, plus a registry of payload types. The same payload type may also be used as a reference elsewhere, for example to point to metadata objects from capability advertisements.
Instead of making a new kind of sticker for every kind of parcel, CDNI makes one sticker with a blank to fill in saying what is inside.
§2The application/cdni Media Type
The registration uses type name application and subtype cdni. It has one required parameter, ptype, which describes the type of CDNI message in the payload as registered in the CDNI Payload Types registry. There are no optional parameters.
The messages may be 8bit or binary, and generic logging information may be 7bit or binary. The intended usage is LIMITED USE, and the media type is meant only for CDNI protocol message exchanges. Interconnected CDNs use it for sharing configuration and logging data and for issuing content management and redirection requests. The author and change controller are the IETF CDNI working group.
The label always says application/cdni, and it must have a ptype blank filled in so the receiver knows how to read what is inside.
§3The Payload Types Registry
IANA created a CDNI Payload Types subregistry inside the Content Delivery Network Interconnection (CDNI) Parameters registry. It defines the valid values of ptype. A payload type is an ASCII string of visible characters that excludes equal signs, double quotes and semicolons, and it will not exceed 256 characters.
Additions require Specification Required. A designated expert checks that a new type does not duplicate existing ones, prevents gratuitous additions, and prevents additions that would hurt interoperability. The specification must show a reasonably defined purpose tied to a CDNI interface, include a reasonable relationship to at least one Standards Track CDNI interface, and give enough encoding detail for interoperable parsers. The registry will initially be unpopulated.
A librarian keeps the list of allowed labels. Before adding a new one, the librarian checks that it is not a copy of an old one and that it is explained well enough for everyone to use.
ptype = 1*256(ptype-char)
ptype-char = %x21 / %x23-3A / %x3C / %x3E-7E
; Includes ALPHA, DIGIT, and other printables
; Excludes equal signs (=), double quotes ("), semicolons (;)§4Security Considerations
CDNI interfaces that return encoded data may be misinterpreted by non-CDNI or non-compliant implementations. CDNI logging information is likely to carry large amounts of data that may overload unexpecting clients.
Because application/cdni is generic, proper validation requires parsing and understanding the ptype parameter and its data encoding. Failing to validate properly may allow data extrusion under the cover of this media type. The individual CDNI interface specifications define the authentication, authorization, confidentiality, integrity and privacy requirements for each interface.
A label alone does not make a parcel safe. The receiver has to check the contents really match the label.