RFC 7736

Content Delivery Network Interconnection (CDNI) Media Type Registration

πŸ“… published December 2015, from ietf

Abstract ✨

okay so this doc is basically the official "here's how to label CDNI messages" guide πŸŽ€. It defines the standard media type used by the Content Delivery Network Interconnection (CDNI) protocol suite, and it covers the registration procedure plus the recommended way to use the required payload-type parameter πŸ’….

Status of This Memo 🌸

This document is not an Internet Standards Track specification. It's published for informational purposes, so no, it's not a standard πŸ™ˆ.

It's still a product of the Internet Engineering Task Force (IETF) πŸ¦‹. It represents the consensus of the IETF community, got public review, and was approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is a candidate for any level of Internet Standard, see Section 2 of RFC 5741 πŸ€“.

Want the current status, errata, or a way to send feedback? Check http://www.rfc-editor.org/info/rfc7736 πŸ’œ.

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) as they stood on the publication date. Read them carefully, bestie, because they spell out your rights and restrictions for this doc πŸ“œ. Any Code Components pulled out of this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes πŸ”₯.

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

Title Block πŸ‘‘

This is RFC 7736, "Content Delivery Network Interconnection (CDNI) Media Type Registration" πŸŽ€. The author is Kevin J. Ma from Ericsson, and the category is Informational. It's dated December 2015 and has ISSN 2070-1721 πŸ“…. It doesn't list anything it obsoletes or updates, so it's a fresh one 🌈.

1. Introduction and Scope ✨

okay so the Content Delivery Network Interconnection (CDNI) working group is building a bunch of protocols so multiple content delivery networks (CDNs) can connect to each other, as discussed in [RFC6770] 🌐. The CDNI protocol suite is made of several HTTP-based interfaces, and lots of them move payloads encoded in JSON (JavaScript Object Notation) [RFC7159] πŸ’….

The main interfaces are the CDNI Control interface, the CDNI Footprint & Capabilities Advertisement interface, the CDNI Request Routing Redirection interface, the CDNI Metadata interface, and the CDNI Logging interface. They're all described in [RFC7336] 🫢.

Here's the vibe: it'd be so nice to say what type of object is inside the HTTP entity-body without registering a separate media type for every single CDNI object 😭. So this doc defines ONE new CDNI media type with a required payload-type parameter πŸ¦‹. It also defines a separate registry of CDNI payload-type parameters πŸ“.

CDNI protocol specs can register interface-specific payload types. Those specs say how the payload is encoded and how to parse it for that message, like JSON serialization for a CDNI metadata object 🧚. The same payload-type parameter can also be used as a reference for other stuff, like pointing from CDNI capability advertisement objects to CDNI metadata objects πŸ’œ.

2. IANA Considerations 🌸

This section has the CDNI media type registration and the payload-type parameter registry definition for IANA πŸ“‹.

2.1. CDNI Media Type πŸ’–

Here's the registration, bestie πŸŽ€:

Type name: application
Subtype name: cdni

Required parameters: just one, called ptype πŸ”₯. It describes the type of CDNI message 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 has interfaces with encoded messages that can be 8bit or binary, and generic logging info that can be 7bit or binary πŸ’….

Security considerations: Okay, this one matters, so read it closely πŸ’€. CDNI interfaces that return encoded data can get (mis)interpreted if non-CDNI or non-compliant CDNI implementations parse them 😭. CDNI logging info is also likely to move huge amounts of data, which could overload clients that aren't expecting it 🌊. The individual CDNI interface specs go deeper into security and privacy concerns, and they define the requirements for authentication, authorization, confidentiality, integrity, and privacy for each interface πŸ”.

The application/cdni media type is a generic one that multiple CDNI interfaces use to move different kinds of control and logging info 🧚. Proper validation of message data means parsing and understanding the ptype parameter and the data encoding tied to it 🫢. If you don't validate payloads properly, data extrusion can happen under the cover of the application/cdni media type 🚨.

Interoperability considerations: The required ptype field is meant to fully describe how CDNI messages are structured and parsed, as enforced by the ptype registry's designated expert πŸ‘‘.

Published specification: RFC 7736 πŸ“œ.

Applications that use this media type: CDNI is for interconnected CDNs to share configuration and logging data, and to send content management and redirection requests 🌈.

The rest of the template, verbatim πŸ“‹:

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 only for 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 made a new "CDNI Payload Types" subregistry inside the "Content Delivery Network Interconnection (CDNI) Parameters" registry πŸŽ€. This namespace defines the valid values for the required ptype parameter of the application/cdni media type πŸ’–.

A CDNI payload type is an ASCII string made of only visible (printing) characters. It can't include equal signs (=), double quotes ("), or semicolons (;) 🚫. It also can't go over 256 characters πŸ“. The Augmented Backus-Naur Form (ABNF) for it is below, just 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 (;)

New additions to the "CDNI Payload Types" namespace go through "Specification Required" as defined in [RFC5226] πŸ“‹. The designated expert checks that new type definitions don't duplicate existing ones (in name or functionality) πŸ”. They also stop gratuitous additions to the namespace, and they block anything that would hurt CDNI implementation interoperability πŸ›‘. The designated expert reviews the spec, even if it's a Standards Track RFC, to confirm it has the following info 🧐:

  • The review confirms the spec has a reasonably defined purpose for the new payload type. A reasonable purpose relates to an existing or proposed CDNI interface, and it doesn't copy any existing CDNI protocol feature without a rational reason (e.g., updating an obsolete feature) πŸ”. It also needs 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) πŸ›€οΈ.
  • The review confirms the spec says which CDNI interface the new payload type pertains to or affects. The payload type can apply to multiple CDNI interfaces, but the justification must have a reasonable relationship to at least one Standards Track CDNI interface 🎯.
  • The review confirms the spec has enough 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). That way senders and receivers can build compliant, interoperable payload parsers 🧩.

The registry holds the payload type and the spec that describes it. It starts out totally empty 🫧:

                     +--------------+---------------+
                     | Payload Type | Specification |
                     +--------------+---------------+
                     +--------------+---------------+

3. Security Considerations πŸ”

Just check the "Security considerations" part of Section 2.1 πŸ’…. It's all there.

4. References πŸ“š

4.1. Normative References πŸ’œ

4.2. Informative References πŸ¦‹

Acknowledgments 🫢

This doc is the result of tons of work from the CDNI working group. The people, listed alphabetically, are 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

πŸ“¦ where this page comes from