CDNI Request Routing Extensions
Qwilt
6, Ha'harash
Hod HaSharon
4524079
Israel
nir@apache.org
Verizon13100 Columbia PikeSilver SpringMD20904USAsanjay.mishra@verizon.com
Open Caching architecture is a use case of Content Delivery Networks Interconnection (CDNI) in which the
commercial Content Delivery Network (CDN) is the upstream CDN (uCDN) and the ISP caching layer serves as the
downstream CDN (dCDN). This document supplements to the CDNI Metadata Footprint Types defined in RFC 8006.
The Footprint Types defined in this document can be used for Footprint objects as part of
the Footprint & Capabilities Advertisement interface (FCI) defined in RFC 8008. The defined Footprint Types
are derived from requirements raised by Open Caching but are also applicable to CDNI use cases in general.
The Streaming Video Alliance is a global association
that works to solve streaming video challenges in an effort to improve end-user experience
and adoption. The Open Caching Working Group of the
Streaming Video Alliance is focused on the delegation
of video delivery requests from commerical CDNs to a caching layer at the ISP's network.
Open Caching architecture is a specific use case of CDNI where the commercial CDN is the
upstream CDN (uCDN) and the ISP caching layer is the downstream CDN (dCDN).
The Open Caching Request Routing Specification
defines the Request Routing process and the interfaces that are required for its provisioning.
This document defines and registers CDNI Footprint and Capabilities objects
that are required for Open Caching Request Routing.
For consistency with other CDNI documents this document follows the
CDNI convention of uCDN (upstream CDN) and dCDN (downstream CDN) to represent the commercial CDN and ISP caching
layer respectively.
This document registers two CDNI Metadata Footprint Types (section 7.2 of
) for the defined objects:
ISO3166-2Code Footprint Type (e.g. for dCDN advertising a footprint that is specific to
a State in the USA)
Collection Footprint Type (for dCDN advertising a footprint that consists of a group built
from multiple Footprints Types. E.g. both IPv4 and IPv6 client addresses)
The following terms are used throughout this document:
CDN - Content Delivery Network
Additionally, this document reuses the terminology defined in
,
,
,
,
, and
.
Specifically, we use the following CDNI acronyms:
uCDN, dCDN - Upstream CDN and Downstream CDN respectively (see
)
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14
when, and only when, they appear in all capitals, as shown here.
Section 5 of describes the FCI Capability Advertisement Object, which
includes an array of CDNI Footprint Objects. Each such object has a footprint-type and
a footprint-value, as described in section 4.2.2.2 of .
This document defines additional footprint types, beyond those mentioned in CDNI metadata
.
For consistency, this document follows the CDNI notation of uCDN for
(the commercial CDN) and dCDN (the ISP caching layer).
Section 4.3.8 of
specifies the "Country Code" footprint type
for listing alpha-2 codes. Using Footprint Objects of this type, one can define an
FCI Capability Advertisement Object footprint constraints that match a specific country.
Here we define the iso3166-2code simple data type, as well as a footprint type
allowing the dCDN to define constraints matching geographic areas
with better granularity, specifically using the Country Subdivision codes.
The "ISO3166-2Code" data type specified in
,
describes a country specific subdivision using an code.
The data type is added to the list of data types described in section 4.3 of
that are used as properties of CDNI Metadata objects.
A code in lower case. Each code consists of two parts, separated by a hyphen.
The first part is the code of the country. The second part is a string of up to three alphanumeric characters.
Type: String
Example ISO3166-2Codes:
"ca-ns"
"us-ny"
The "ISO3166-2Code" simple data type specified in
, is added
to the data types listed as footprint types in section 4.2.2.2 of
.
Below is an adjustment for the example in
,
now embedding a footprint object of type "ISO3166-2Code". The Footprint Object in this example creates
a constraints matching clients both in Nova-Scotia province of Canada (ISO code "CA-NS"), as well as in the state of
New-York In the US (ISO code "US-NY").
As described in section 5 of ,
the FCI Capability Advertisement Object includes an array of CDNI Footprint Objects.
Appendix B of specifies the
semantics of a Footprint Objects array as a multiple, additive, footprint constraints.
Meaning, the advertisement of different footprint types narrows
the dCDN's candidacy cumulatively.
Sections 4.3.5 and 4.3.6 of specify the "IPv4CIDR" and "IPv6CIDR"
footprint types, respectively, for listing IP addresses blocks. Using Footprint Objects of these
types, one can define an FCI Capability Advertisement Object footprint constraints that match IPv4
or IPv6 clients. However, the described "narrowing" semantic of the Footprint Objects array prevents
the usage of these objects together in order to create a footprint constraint that matches IPv4
clients together with IPv6 clients.
Below is an example for an attempt at creating an object matching
IPv4 clients of subnet "192.0.2.0/24", as well as IPv6 clients of subnet "2001:db8::/32".
Such a definition results with an empty list of clients, as the constraints are additives and
a client address cannot be both IPv4 and IPv6.
To overcome the described limitation, and allow a list of footprint constraints that
matches both IPv4 and IPv6 client addresses, we introduce below the "FootprintUnion" footprint type.
This footprint type allows the collection of multiple footprint-objects into a unified object.
It is useful for resolving the above limitaion, as well as for unifying footprints of additional types such as
countrycode and iso3166-2code.
The "FootprintUnion" data type is based on the Footprint Object already defined in
section 4.2.2.2 of . It includes a footprint-type property and a footprint-value
array values.
The "footprintunion" data type specified in ,
is added to the data types listed as footprint types in section 4.2.2.2 of .
Below is an adjustment for the example in ,
now embedding a footprint object of type "footprintunion".
An additional example is the collection of countrycode and iso3166-2code based footprint objects. In the example below
we create a constraint covering autonomous system 64496 within the US (ISO alpha-2 code "US"),
as well as Nova-Scotia province of Canada (ISO code "CA-NS").
As described in section 7.2 of
, the "CDNI Metadata Footprint Types" subregistry
was created within the "Content Delivery Network Interconnection (CDNI) Parameters" registry. The created
namespace defines the valid values for Footprint Object Types, and is already populated with the types
described in Section 4.2.2.2 of
.
This document requests the registration of the two additional footprint type
as defined in
and
:
Footprint Type
Description
Specification
FCI.iso3166-2code
ISO 3166-2 Country or Subdivision Code
RFCthis
FCI.footprintunion
Footprint Object as specified in
[RFC Editor: Please replace RFCthis with the published RFC
number for this document.]
This specification is in accordance with the CDNI Request Routing:
Footprint and Capabilities Semantics. As such, it is subject to the security and privacy considerations as
defined in Section 8 of
and in Section 7 of
respectively.
The authors would like to express their gratitude to Ori Finkelman and
Kevin J. Ma for their guidance and reviews throughout the development of this
document.
Codes for the representation of names of countries and their subdivisions -- Part 1: Country code
ISO
Codes for the representation of names of countries and their subdivisions -- Part 2: Country subdivision code
ISO
Streaming Video Alliance Home Page
Open Caching Home Page
Open Caching - Request Routing Functional Specification
Qwilt
Limelight Networks
Disney Streaming Services
Verizon
Disney Streaming Services
Qwilt
Disney Streaming Services