RFC 7736 INFORMATIONAL CDNI · MEDIA TYPES · IANA

Content Delivery Network Interconnection (CDNI) Media Type Registration

A shared media type and registry for identifying CDNI message payloads.

On rfc-editor.org ↗
PUBLISHED
December 2015
AUTHORS
K. Ma
STREAM
IETF
MEDIA TYPE
application/cdni
REQUIRED PARAMETER
ptype
MAXIMUM PAYLOAD TYPE LENGTH
256 characters
REGISTRATION POLICY
Specification Required
DOI
10.17487/RFC7736

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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

ISO Plain Language

On this page
PROBLEMCDNI interfaces carry different kinds of data, and registering a separate media type for every payload would require many registrations.
MECHANISMThe RFC registers application/cdni with a required ptype parameter and establishes a registry of valid payload-type values.
HOW IT WORKSNew payload types require a specification and designated-expert review to support interoperable parsing.

§1One Media Type for CDNI Payloads

Content Delivery Network Interconnection (CDNI) defines interfaces for interconnected content delivery networks. Those interfaces transfer different payloads, many encoded in JSON. This RFC defines one media type to identify CDNI messages without registering a separate type for each payload.

The payload type can also be used as a reference in other CDNI data. A CDNI protocol specification can define a payload type, its encoding, and how a receiver parses it.

CDNI messages can carry different kinds of information. One shared media type identifies them, while a parameter specifies the particular payload type.

§2.1The application/cdni Media Type

The registered type is application/cdni. Its required ptype parameter identifies the kind of CDNI message payload and must use a value from the CDNI Payload Types registry. The registration defines no optional parameters.

The media type is intended only for CDNI protocol exchanges. The RFC describes its use for sharing configuration and logging information and for content management and redirection requests. The payload encoding may be 8-bit or binary; generic logging information may be 7-bit or binary.

A CDNI message uses the label application/cdni and must include ptype. That parameter tells the receiver which registered payload format to parse.

§2.2Registering Payload Types

IANA created the CDNI Payload Types subregistry to list valid values for ptype. A value is a visible ASCII string that excludes an equal sign, a double quote, and a semicolon, and it cannot exceed 256 characters.

Registration uses Specification Required review. A designated expert checks that a proposed value has a clear purpose, relates to a CDNI interface, does not duplicate existing functionality without justification, and gives enough encoding detail for interoperable parsers. The RFC says the registry was initially empty.

A new payload type needs a written specification and expert review. The review checks that the type is distinct, useful to a CDNI interface, and described well enough for different systems to parse it.

§3Validation and Security

A generic media type does not explain how to interpret every possible payload. A receiver must understand the ptype value and the encoding associated with it. A non-CDNI or non-compliant implementation may misinterpret encoded data.

The RFC also warns that large logging payloads can overload clients and that failures to validate payloads can allow data extrusion. The individual CDNI interface specifications define their authentication, authorization, confidentiality, integrity, and privacy requirements.

The receiver must check the payload type and parse the data using its specified format. Large or incorrectly interpreted payloads can create security or resource problems.

§5References