draft-ietf-cdni-metadata-16.txt   draft-ietf-cdni-metadata-17.txt 
Network Working Group B. Niven-Jenkins Network Working Group B. Niven-Jenkins
Internet-Draft R. Murray Internet-Draft R. Murray
Intended status: Standards Track Velocix (Alcatel-Lucent) Intended status: Standards Track Velocix (Alcatel-Lucent)
Expires: October 30, 2016 M. Caulfield Expires: November 21, 2016 M. Caulfield
Cisco Systems Cisco Systems
K. Ma K. Ma
Ericsson Ericsson
April 28, 2016 May 20, 2016
CDN Interconnection Metadata CDN Interconnection Metadata
draft-ietf-cdni-metadata-16 draft-ietf-cdni-metadata-17
Abstract Abstract
The Content Delivery Networks Interconnection (CDNI) metadata The Content Delivery Networks Interconnection (CDNI) metadata
interface enables interconnected Content Delivery Networks (CDNs) to interface enables interconnected Content Delivery Networks (CDNs) to
exchange content distribution metadata in order to enable content exchange content distribution metadata in order to enable content
acquisition and delivery. The CDNI metadata associated with a piece acquisition and delivery. The CDNI metadata associated with a piece
of content provides a downstream CDN with sufficient information for of content provides a downstream CDN with sufficient information for
the downstream CDN to service content requests on behalf of an the downstream CDN to service content requests on behalf of an
upstream CDN. This document describes both a base set of CDNI upstream CDN. This document describes both a base set of CDNI
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 30, 2016. This Internet-Draft will expire on November 21, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 24, line 15 skipping to change at page 24, line 15
{ {
"generic-metadata-type": "MI.SourceMetadata", "generic-metadata-type": "MI.SourceMetadata",
"generic-metadata-value": "generic-metadata-value":
{ {
"sources": [ "sources": [
{ {
"endpoints": [ "endpoints": [
"a.service123.ucdn.example", "a.service123.ucdn.example",
"b.service123.ucdn.example" "b.service123.ucdn.example"
], ],
"protocol": "http1.1" "protocol": "http/1.1"
}, },
{ {
"endpoints": ["origin.service123.example"], "endpoints": ["origin.service123.example"],
"protocol": "http1.1" "protocol": "http/1.1"
} }
] ]
} }
} }
4.2.1.1. Source 4.2.1.1. Source
A Source object describes the source to be used by the dCDN for A Source object describes the source to be used by the dCDN for
content acquisition (e.g., a Surrogate within the uCDN or an content acquisition (e.g., a Surrogate within the uCDN or an
alternate Origin Server), the protocol to be used, and any alternate Origin Server), the protocol to be used, and any
skipping to change at page 25, line 29 skipping to change at page 25, line 29
Example Source object that describes a pair of endpoints (servers) Example Source object that describes a pair of endpoints (servers)
the dCDN can use for acquiring content for the applicable host and/or the dCDN can use for acquiring content for the applicable host and/or
URI path: URI path:
{ {
"endpoints": [ "endpoints": [
"a.service123.ucdn.example", "a.service123.ucdn.example",
"b.service123.ucdn.example" "b.service123.ucdn.example"
], ],
"protocol": "http1.1" "protocol": "http/1.1"
} }
4.2.2. LocationACL Metadata 4.2.2. LocationACL Metadata
LocationACL metadata defines which locations a User Agent needs to be LocationACL metadata defines which locations a User Agent needs to be
in, in order to be able to receive the associated content. in, in order to be able to receive the associated content.
A LocationACL which does not include a locations property results in A LocationACL which does not include a locations property results in
an action of allow all, meaning that delivery can be performed an action of allow all, meaning that delivery can be performed
regardless of the User Agent's location, otherwise a CDN MUST take regardless of the User Agent's location, otherwise a CDN MUST take
skipping to change at page 32, line 12 skipping to change at page 32, line 12
Example ProtocolACL object (which contains a ProtocolRule object) Example ProtocolACL object (which contains a ProtocolRule object)
that only allows the dCDN to deliver content using HTTP/1.1: that only allows the dCDN to deliver content using HTTP/1.1:
{ {
"generic-metadata-type": "MI.ProtocolACL", "generic-metadata-type": "MI.ProtocolACL",
"generic-metadata-value": "generic-metadata-value":
{ {
"protocol-acl": [ "protocol-acl": [
{ {
"action": "allow", "action": "allow",
"protocols": ["http1.1"] "protocols": ["http/1.1"]
} }
] ]
} }
} }
4.2.4.1. ProtocolRule 4.2.4.1. ProtocolRule
A ProtocolRule contains or references a list of Protocol objects and A ProtocolRule contains or references a list of Protocol objects and
the corresponding action. the corresponding action.
skipping to change at page 32, line 45 skipping to change at page 32, line 45
Type: Enumeration [allow|deny] encoded as a lowercase string Type: Enumeration [allow|deny] encoded as a lowercase string
Mandatory-to-Specify: No. Default is deny. Mandatory-to-Specify: No. Default is deny.
Example ProtocolRule object (which contains a ProtocolRule object) Example ProtocolRule object (which contains a ProtocolRule object)
that allows the dCDN to deliver content using HTTP/1.1: that allows the dCDN to deliver content using HTTP/1.1:
{ {
"action": "allow", "action": "allow",
"protocols": ["http1.1"] "protocols": ["http/1.1"]
} }
4.2.5. DeliveryAuthorization Metadata 4.2.5. DeliveryAuthorization Metadata
Delivery Authorization defines authorization methods for the delivery Delivery Authorization defines authorization methods for the delivery
of content to User Agents. of content to User Agents.
Property: delivery-auth-methods Property: delivery-auth-methods
Description: Options for authorizing content requests. Description: Options for authorizing content requests.
skipping to change at page 37, line 25 skipping to change at page 37, line 25
4.3.2. Protocol 4.3.2. Protocol
Protocol objects are used to specify registered protocols for content Protocol objects are used to specify registered protocols for content
acquisition or delivery (see Section 7.3). acquisition or delivery (see Section 7.3).
Type: String Type: String
Example: Example:
"http1.1" "http/1.1"
4.3.3. Endpoint 4.3.3. Endpoint
A Hostname (with optional port) or an IP address (with optional A Hostname (with optional port) or an IP address (with optional
port). port).
Note: All implementations MUST support IPv4 addresses encoded as Note: All implementations MUST support IPv4 addresses encoded as
specified by the 'IPv4address' rule in Section 3.2.2 of [RFC3986]. specified by the 'IPv4address' rule in Section 3.2.2 of [RFC3986].
IPv6 addresses MUST be encoded in one of the IPv6 address formats IPv6 addresses MUST be encoded in one of the IPv6 address formats
specified in [RFC5952] although receivers MUST support all IPv6 specified in [RFC5952] although receivers MUST support all IPv6
skipping to change at page 47, line 37 skipping to change at page 47, line 37
of "MI.HostMetadata": of "MI.HostMetadata":
{ {
"metadata": [ "metadata": [
{ {
"generic-metadata-type": "MI.SourceMetadata", "generic-metadata-type": "MI.SourceMetadata",
"generic-metadata-value": { "generic-metadata-value": {
"sources": [ "sources": [
{ {
"endpoint": "acq1.ucdn.example", "endpoint": "acq1.ucdn.example",
"protocol": "http1.1" "protocol": "http/1.1"
}, },
{ {
"endpoint": "acq2.ucdn.example", "endpoint": "acq2.ucdn.example",
"protocol": "http1.1" "protocol": "http/1.1"
} }
] ]
} }
}, },
{ {
"generic-metadata-type": "MI.LocationACL", "generic-metadata-type": "MI.LocationACL",
"generic-metadata-value": { "generic-metadata-value": {
"locations": [ "locations": [
{ {
"footprints": [ "footprints": [
skipping to change at page 48, line 19 skipping to change at page 48, line 19
} }
] ]
} }
}, },
{ {
"generic-metadata-type": "MI.ProtocolACL", "generic-metadata-type": "MI.ProtocolACL",
"generic-metadata-value": { "generic-metadata-value": {
"protocol-acl": [ "protocol-acl": [
{ {
"protocols": [ "protocols": [
"http1.1" "http/1.1"
], ],
"action": "allow" "action": "allow"
} }
] ]
} }
} }
], ],
"paths": [ "paths": [
{ {
"path-pattern": { "path-pattern": {
skipping to change at page 55, line 38 skipping to change at page 55, line 38
Protocol namespace conform to the "Specification Required" policy as Protocol namespace conform to the "Specification Required" policy as
defined in [RFC5226], where the specification defines the Protocol defined in [RFC5226], where the specification defines the Protocol
Type and the protocol to which it is associated. The designated Type and the protocol to which it is associated. The designated
expert will verify that new protocol definitions do not duplicate expert will verify that new protocol definitions do not duplicate
existing protocol definitions and prevent gratuitous additions to the existing protocol definitions and prevent gratuitous additions to the
namespace. namespace.
The following table defines the initial Protocol values corresponding The following table defines the initial Protocol values corresponding
to the HTTP and HTTPS protocols: to the HTTP and HTTPS protocols:
+----------+-----------------------+---------------+----------------+ +-----------+----------------------+---------------+----------------+
| Protocol | Description | Type | Protocol | | Protocol | Description | Type | Protocol |
| Type | | Specification | Specification | | Type | | Specification | Specification |
+----------+-----------------------+---------------+----------------+ +-----------+----------------------+---------------+----------------+
| http1.1 | Hypertext Transfer | RFCthis | RFC7230 | | http/1.1 | Hypertext Transfer | RFCthis | RFC7230 |
| | Protocol -- HTTP/1.1 | | | | | Protocol -- HTTP/1.1 | | |
| https1.1 | HTTP/1.1 Over TLS | RFCthis | RFC2818 | | https/1.1 | HTTP/1.1 Over TLS | RFCthis | RFC2818 |
+----------+-----------------------+---------------+----------------+ +-----------+----------------------+---------------+----------------+
[RFC Editor: Please replace RFCthis with the published RFC number for [RFC Editor: Please replace RFCthis with the published RFC number for
this document.] this document.]
7.4. CDNI Metadata Auth Types Registry 7.4. CDNI Metadata Auth Types Registry
The IANA is requested to create a new "CDNI Metadata Auth Types" The IANA is requested to create a new "CDNI Metadata Auth Types"
subregistry in the "Content Delivery Networks Interconnection (CDNI) subregistry in the "Content Delivery Networks Interconnection (CDNI)
Parameters" registry. The "CDNI Metadata Auth Type" namespace Parameters" registry. The "CDNI Metadata Auth Type" namespace
defines the valid Auth object types used by the Auth object in defines the valid Auth object types used by the Auth object in
skipping to change at page 60, line 34 skipping to change at page 60, line 34
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
"Recommendations for Secure Use of Transport Layer "Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
2015, <http://www.rfc-editor.org/info/rfc7525>. 2015, <http://www.rfc-editor.org/info/rfc7525>.
11.2. Informative References 11.2. Informative References
[I-D.ietf-cdni-control-triggers] [I-D.ietf-cdni-control-triggers]
Murray, R. and B. Niven-Jenkins, "CDNI Control Interface / Murray, R. and B. Niven-Jenkins, "CDNI Control Interface /
Triggers", draft-ietf-cdni-control-triggers-13 (work in Triggers", draft-ietf-cdni-control-triggers-15 (work in
progress), April 2016. progress), May 2016.
[I-D.ietf-cdni-redirection] [I-D.ietf-cdni-redirection]
Niven-Jenkins, B. and R. Brandenburg, "Request Routing Niven-Jenkins, B. and R. Brandenburg, "Request Routing
Redirection interface for CDN Interconnection", draft- Redirection interface for CDN Interconnection", draft-
ietf-cdni-redirection-18 (work in progress), April 2016. ietf-cdni-redirection-18 (work in progress), April 2016.
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818,
DOI 10.17487/RFC2818, May 2000, DOI 10.17487/RFC2818, May 2000,
<http://www.rfc-editor.org/info/rfc2818>. <http://www.rfc-editor.org/info/rfc2818>.
 End of changes. 15 change blocks. 
23 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/