rfc9241.original.xml | rfc9241.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | <!DOCTYPE rfc [ | |||
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.6 --> | <!ENTITY nbsp " "> | |||
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | <!ENTITY zwsp "​"> | |||
<?rfc toc="yes"?> | <!ENTITY nbhy "‑"> | |||
<?rfc tocompact="yes"?> | <!ENTITY wj "⁠"> | |||
<?rfc tocdepth="3"?> | ]> | |||
<?rfc iprnotified="no"?> | ||||
<?rfc sortrefs="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | |||
<?rfc symrefs="yes"?> | -ietf-alto-cdni-request-routing-alto-22" number="9241" obsoletes="" updates="" s | |||
<?rfc compact="yes"?> | ubmissionType="IETF" category="std" consensus="true" xml:lang="en" tocInclude="t | |||
<?rfc subcompact="no"?> | rue" tocDepth="3" sortRefs="true" symRefs="true" version="3"> | |||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | ||||
-ietf-alto-cdni-request-routing-alto-22" category="std" obsoletes="" updates="" | ||||
submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" sortRefs="tru | ||||
e" symRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.6.0 --> | ||||
<front> | <front> | |||
<title abbrev="CDNI FCI using ALTO">Content Delivery Network Interconnection | ||||
(CDNI) Request Routing: CDNI Footprint and Capabilities Advertisement using ALT | <title abbrev="CDNI FCI Using ALTO"> Content Delivery Network Interconnectio | |||
O</title> | n (CDNI) Footprint and Capabilities Advertisement Using | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-alto-cdni-request-routin | Application-Layer Traffic Optimization (ALTO)</title> | |||
g-alto-22"/> | <seriesInfo name="RFC" value="9241"/> | |||
<author initials="J." surname="Seedorf" fullname="Jan Seedorf"> | <author initials="J." surname="Seedorf" fullname="Jan Seedorf"> | |||
<organization>HFT Stuttgart - Univ. of Applied Sciences</organization> | <organization abbrev="HFT Stuttgart">HFT Stuttgart - Univ. of Applied Scie nces</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Schellingstrasse 24</street> | <street>Schellingstrasse 24</street> | |||
<city>Stuttgart</city> | <city>Stuttgart</city> | |||
<code>70174</code> | <code>70174</code> | |||
<country>Germany</country> | <country>Germany</country> | |||
</postal> | </postal> | |||
<phone>+49-0711-8926-2801</phone> | <phone>+49-0711-8926-2801</phone> | |||
<email>jan.seedorf@hft-stuttgart.de</email> | <email>jan.seedorf@hft-stuttgart.de</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="Y." surname="Yang" fullname="Y. Richard Yang"> | <author initials="Y." surname="Yang" fullname="Y. Richard Yang"> | |||
<organization>Yale University</organization> | <organization>Yale University</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>51 Prospect Street</street> | <street>51 Prospect Street</street> | |||
<city>New Haven</city> | <city>New Haven</city> | |||
<code>CT 06511</code> | <region>CT</region> | |||
<code>06511</code> | ||||
<country>USA</country> | <country>USA</country> | |||
</postal> | </postal> | |||
<phone>+1-203-432-6400</phone> | <phone>+1-203-432-6400</phone> | |||
<email>yry@cs.yale.edu</email> | <email>yry@cs.yale.edu</email> | |||
<uri>http://www.cs.yale.edu/~yry/</uri> | <uri>http://www.cs.yale.edu/~yry/</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="K." surname="Ma" fullname="Kevin J. Ma"> | <author initials="K." surname="Ma" fullname="Kevin J. Ma"> | |||
<organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>43 Nagog Park</street> | <street>43 Nagog Park</street> | |||
<city>Acton</city> | <city>Acton</city> | |||
<code>MA 01720</code> | <region>MA</region> | |||
<code>01720</code> | ||||
<country>USA</country> | <country>USA</country> | |||
</postal> | </postal> | |||
<phone>+1-978-844-5100</phone> | <phone>+1-978-844-5100</phone> | |||
<email>kevin.j.ma.ietf@gmail.com</email> | <email>kevin.j.ma.ietf@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="J." surname="Peterson" fullname="Jon Peterson"> | <author initials="J." surname="Peterson" fullname="Jon Peterson"> | |||
<organization>NeuStar</organization> | <organization>NeuStar</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>1800 Sutter St Suite 570</street> | <street>1800 Sutter St., Suite 570</street> | |||
<city>Concord</city> | <city>Concord</city> | |||
<code>CA 94520</code> | <region>CA</region> | |||
<code>94520</code> | ||||
<country>USA</country> | <country>USA</country> | |||
</postal> | </postal> | |||
<email>jon.peterson@neustar.biz</email> | <email>jon.peterson@neustar.biz</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="J." surname="Zhang" fullname="Jingxuan Jensen Zhang"> | <author initials="J." surname="Zhang" fullname="Jingxuan Jensen Zhang"> | |||
<organization>Tongji University</organization> | <organization>Tongji University</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>4800 Cao'an Hwy</street> | <street>4800 Cao'an Hwy</street> | |||
<city>Shanghai</city> | <city>Shanghai</city> | |||
<code>201804</code> | <code>201804</code> | |||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>jingxuan.zhang@tongji.edu.cn</email> | <email>jingxuan.zhang@tongji.edu.cn</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2022" month="February" day="17"/> | <date year="2022" month="July"/> | |||
<area>Networks</area> | <area>tsv</area> | |||
<workgroup>ALTO & CDNI WGs</workgroup> | <workgroup>ALTO</workgroup> | |||
<keyword>ALTO</keyword> | <keyword>ALTO</keyword> | |||
<abstract> | <abstract> | |||
<!-- Skip header line --> | ||||
<t>The Content Delivery Networks Interconnection (CDNI) framework in RFC 6707 | <t>The Content Delivery Networks Interconnection (CDNI) framework in RFC 6707 | |||
defines a set of protocols to interconnect CDNs to achieve multiple goals, | defines a set of protocols to interconnect CDNs to achieve multiple goals, | |||
including extending the reach of a given CDN. A CDNI Request Routing Footprint | including extending the reach of a given CDN. A CDNI Request Routing Footprint | |||
& Capabilities Advertisement interface (FCI) is needed to achieve the goals | & Capabilities Advertisement interface (FCI) is needed to achieve the goals | |||
of a CDNI. RFC 8008 defines the FCI semantics and provides | of a CDNI. RFC 8008 defines the FCI semantics and provides | |||
guidelines on the FCI protocol, but the exact protocol is not specified. This | guidelines on the FCI protocol, but the exact protocol is not specified. This | |||
document defines a new Application-Layer Traffic Optimization (ALTO) service, | document defines a new Application-Layer Traffic Optimization (ALTO) service, | |||
called "CDNI Advertisement Service", that provides an implementation of the FCI, | called "CDNI Advertisement Service", that provides an implementation of the FCI, | |||
following the guidelines defined in RFC 8008.</t> | following the guidelines defined in RFC 8008.</t> | |||
<!-- | ||||
The Content Delivery Networks Interconnection (CDNI) framework | ||||
defines a set of protocols to interconnect CDNs, to achieve multiple | ||||
goals such as extending the reach of a given CDN to areas that are | ||||
not covered by that particular CDN. One component that is needed to | ||||
achieve the goal of CDNI described in CDNI framework is the CDNI | ||||
Request Routing Footprint & Capabilities Advertisement interface | ||||
(FCI). RFC 8008 defines precisely the semantics of FCI and provides | ||||
guidelines on the FCI protocol, but the exact protocol is explicitly | ||||
outside the scope of that document. This document defines a new | ||||
Application-Layer Traffic Optimization (ALTO) service called "CDNI | ||||
Advertisement Service" that provides an implementation of the FCI, following | ||||
the guidelines defined in RFC 8008. | ||||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<!-- Skip header line --> | ||||
<section anchor="intro" numbered="true" toc="default"> | <section anchor="intro" numbered="true" toc="default"> | |||
<name>Introduction</name> | <name>Introduction</name> | |||
<t>The ability to interconnect multiple content delivery networks (CDNs) | <t>The ability to interconnect multiple content delivery networks (CDNs) | |||
has many benefits, including increased coverage, capability, and | has many benefits, including increased coverage, capability, and | |||
reliability. The Content Delivery Networks Interconnection (CDNI) | reliability. The Content Delivery Networks Interconnection (CDNI) | |||
framework <xref target="RFC6707" format="default"/> defines four interfaces to | framework <xref target="RFC6707" format="default"/> defines four interfaces to | |||
interconnect CDNs: (1) the CDNI Request Routing | interconnect CDNs: (1) the CDNI Request Routing | |||
Interface, (2) the CDNI Metadata Interface, (3) the CDNI Logging | Interface, (2) the CDNI Metadata Interface, (3) the CDNI Logging | |||
Interface, and (4) the CDNI Control Interface.</t> | Interface, and (4) the CDNI Control Interface.</t> | |||
<t>Among these four interfaces, the CDNI Request Routing Interface | <t>Among these four interfaces, the CDNI Request Routing Interface | |||
provides key functions, as specified in <xref target="RFC6707" format="default"/ | provides key functions, as specified in <xref target="RFC6707" format="default"/ | |||
>: | >:</t> | |||
"The CDNI Request Routing interface enables a Request Routing | <blockquote> | |||
The CDNI Request Routing interface enables a Request Routing | ||||
function in an Upstream CDN to query a Request Routing function in a | function in an Upstream CDN to query a Request Routing function in a | |||
Downstream CDN to determine if the Downstream CDN is able (and | Downstream CDN to determine if the Downstream CDN is able (and | |||
willing) to accept the delegated Content Request. It also allows the | willing) to accept the delegated Content Request. It also allows the | |||
Downstream CDN to control what should be returned to the User Agent | Downstream CDN to control what should be returned to the User Agent | |||
in the redirection message by the upstream Request Routing function." | in the redirection message by the upstream Request Routing function.</blockquote | |||
At a high level, the scope of the CDNI Request Routing Interface, | > | |||
therefore, contains two main tasks: (1) determining if the dCDN | <t>At a high level, therefore, the scope of the CDNI Request Routing Inter | |||
(downstream CDN) is willing to accept a delegated content request, | face | |||
and (2) redirecting the content request coming from a uCDN (upstream | contains two main tasks: (1) determining if the dCDN | |||
(downstream CDN) is willing to accept a delegated Content Request | ||||
and (2) redirecting the Content Request coming from a uCDN (upstream | ||||
CDN) to the proper entry point or entity in the dCDN.</t> | CDN) to the proper entry point or entity in the dCDN.</t> | |||
<t>Correspondingly, the Request Routing Interface is broadly divided | <t>Correspondingly, the Request Routing Interface is broadly divided | |||
into two functionalities: (1) the CDNI Footprint & Capabilities | into two functionalities: (1) the CDNI Footprint & Capabilities | |||
Advertisement interface (FCI) defined in <xref target="RFC8008" format="default" />, | Advertisement interface (FCI) defined in <xref target="RFC8008" format="default" /> | |||
and (2) the CDNI Request Routing Redirection interface (RI) defined | and (2) the CDNI Request Routing Redirection interface (RI) defined | |||
in <xref target="RFC7975" format="default"/>. This document focuses on the | in <xref target="RFC7975" format="default"/>. This document focuses on the | |||
first functionality (CDNI FCI).</t> | first functionality (CDNI FCI).</t> | |||
<t>Specifically, CDNI FCI allows both an advertisement from a dCDN to a | <t>Specifically, CDNI FCI allows both an Advertisement from a dCDN to a | |||
uCDN (push) and a query from a uCDN to a dCDN (pull) so that the uCDN | uCDN (push) and a query from a uCDN to a dCDN (pull) so that the uCDN | |||
knows whether it can redirect a particular user request to that dCDN.</t> | knows whether it can redirect a particular user request to that dCDN.</t> | |||
<t>A key component in defining CDNI FCI is defining objects describing the | <t>A key component in defining the CDNI FCI is defining the objects that d | |||
footprints and capabilities of a dCDN. Such objects are already defined in | escribe the | |||
Section 5 of <xref target="RFC8008" format="default"/>. However, no protocol is | footprints and capabilities of a dCDN. Such objects are already specified in | |||
defined to transport and | <xref target="RFC8008" section="5" sectionFormat="of" format="default"/>. Howeve | |||
r, no protocol is defined to transport and | ||||
update such objects between a uCDN and a dCDN.</t> | update such objects between a uCDN and a dCDN.</t> | |||
<t>To define such a protocol, this document specifies an extension of the | <t>To define such a protocol, this document specifies an extension of the | |||
Application-Layer Traffic Optimization (ALTO) <xref target="RFC7285" format="def ault"/> protocol by | Application-Layer Traffic Optimization (ALTO) Protocol <xref target="RFC7285" fo rmat="default"/> by | |||
introducing a new ALTO service called "CDNI Advertisement Service".</t> | introducing a new ALTO service called "CDNI Advertisement Service".</t> | |||
<t><xref target="bgALTO" format="default"/> discusses the benefits in usin g ALTO as a transport protocol.</t> | <t><xref target="bgALTO" format="default"/> discusses the benefits in usin g ALTO as a transport protocol.</t> | |||
<!-- | ||||
The rest of this document is organized as follows. [](#background) provides | ||||
non-normative background on both CDNI FCI and ALTO. [](#cdnifci) introduces the | ||||
most basic service, called "CDNI Advertisement Service", to realize CDNI FCI | ||||
using ALTO. [](#cdnifcinetworkmap) demonstrates a key benefit of using ALTO: the | ||||
ability to integrate CDNI FCI with ALTO network maps. Such integration provides | ||||
new granularity to describe footprints. [](#filteredcdnifci) introduces | ||||
"Filtered CDNI Advertisement Service" to allow a uCDN to get footprints with | ||||
given capabilities instead of getting the full resource, which can be large. | ||||
[](#unifiedpropertymap) further shows another benefit of using ALTO: the ability | ||||
to query footprint properties using ALTO entity property map extension. In this | ||||
way, a uCDN can effectively fetch capabilities of footprints in which it is | ||||
interested. IANA and security considerations are discussed in [](#iana) and | ||||
[](#security) respectively. | ||||
<!-- Skip header line --> | ||||
</section> | </section> | |||
<section anchor="background" numbered="true" toc="default"> | <section anchor="background" numbered="true" toc="default"> | |||
<name>Terminology and Background</name> | <name>Terminology and Background</name> | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SH | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
OULD", | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", | |||
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14 | |||
document are to be interpreted as described in BCP 14 <xref target="RFC2119" for | >", | |||
mat="default"/><xref target="RFC8174" format="default"/> | "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bc | |||
when, and only when, they appear in all capitals, as shown here.</t> | p14>" | |||
in this document are to be interpreted as described in BCP 14 <xref target= | ||||
"RFC2119"/> | ||||
<xref target="RFC8174"/> when, and only when, they appear in all capitals, as sh | ||||
own here.</t> | ||||
<t>The design of CDNI FCI transport using ALTO assumes an understanding of both | <t>The design of CDNI FCI transport using ALTO assumes an understanding of both | |||
FCI semantics and ALTO. Hence, this document starts with a non-normative review | FCI semantics and ALTO. Hence, this document starts with a non-normative review | |||
for both.</t> | of both.</t> | |||
<section anchor="term" numbered="true" toc="default"> | <section anchor="term" numbered="true" toc="default"> | |||
<name>Terminology</name> | <name>Terminology</name> | |||
<t>The document uses the CDNI terms defined in <xref target="RFC6707" fo rmat="default"/>, <xref target="RFC8006" format="default"/> and | <t>The document uses the CDNI terms defined in <xref target="RFC6707" fo rmat="default"/>, <xref target="RFC8006" format="default"/>, and | |||
<xref target="RFC8008" format="default"/>. Also, the document uses the ALTO term s defined in <xref target="RFC7285" format="default"/> and | <xref target="RFC8008" format="default"/>. Also, the document uses the ALTO term s defined in <xref target="RFC7285" format="default"/> and | |||
<xref target="I-D.ietf-alto-unified-props-new" format="default"/>. This document uses the following | <xref target="RFC9240" format="default"/>. This document uses the following | |||
abbreviations:</t> | abbreviations:</t> | |||
<ul spacing="normal"> | <dl spacing="normal" indent="8"> | |||
<li>ALTO: Application-Layer Traffic Optimization</li> | <dt>ALTO:</dt> | |||
<li>ASN: Autonomous System Number</li> | <dd>Application-Layer Traffic Optimization</dd> | |||
<li>CDN: Content Delivery Network</li> | <dt>ASN:</dt> | |||
<li>CDNI: CDN Interconnection</li> | <dd>Autonomous System Number</dd> | |||
<li>dCDN: Downstream CDN</li> | <dt>CDN:</dt> | |||
<li>FCI: CDNI FCI, CDNI Request Routing Footprint & Capabilities A | <dd>Content Delivery Network</dd> | |||
dvertisement interface</li> | <dt>CDNI:</dt> | |||
<li>IRD: Information Resource Directory in ALTO</li> | <dd>CDN Interconnection</dd> | |||
<li>PID: Provider-defined Identifier in ALTO</li> | <dt>dCDN:</dt> | |||
<li>uCDN: Upstream CDN</li> | <dd>Downstream CDN</dd> | |||
</ul> | <dt>FCI:</dt> | |||
<dd>CDNI FCI, CDNI Request Routing Footprint & Capabilities Advert | ||||
isement interface</dd> | ||||
<dt>IRD:</dt> | ||||
<dd>Information Resource Directory in ALTO</dd> | ||||
<dt>PID:</dt> | ||||
<dd>Provider-defined Identifier in ALTO</dd> | ||||
<dt>uCDN:</dt><dd>Upstream CDN</dd> | ||||
</dl> | ||||
</section> | </section> | |||
<section anchor="bgSemantics" numbered="true" toc="default"> | <section anchor="bgSemantics" numbered="true" toc="default"> | |||
<name>Semantics of FCI Advertisement</name> | <name>Semantics of FCI Advertisement</name> | |||
<t><xref target="RFC8008" format="default"/> defines the semantics | <t><xref target="RFC8008" format="default"/> defines the semantics | |||
of CDNI FCI, provides guidance on what Footprint and Capabilities mean in a CDNI | of CDNI FCI, provides guidance on what footprint and capabilities mean in a CDNI | |||
context, and specifies the requirements on the CDNI FCI transport protocol. The | context, and specifies the requirements on the CDNI FCI transport protocol. The | |||
definitions in <xref target="RFC8008" format="default"/> depend on <xref target= "RFC8006" format="default"/>. Below is a non-normative | definitions in <xref target="RFC8008" format="default"/> depend on <xref target= "RFC8006" format="default"/>. Below is a non-normative | |||
review of key related points of <xref target="RFC8008" format="default"/> and <x ref target="RFC8006" format="default"/>. For detailed | review of key related points of <xref target="RFC8008" format="default"/> and <x ref target="RFC8006" format="default"/>. For detailed | |||
information and normative specification, the reader should refer to these two | information and normative specification, the reader should refer to these two | |||
RFCs.</t> | RFCs.</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Multiple types of mandatory-to-implement footprints (i.e., ipv4cid | <li>Multiple types of mandatory-to-implement footprints (i.e., "ipv4ci | |||
r, ipv6cidr, asn, | dr", "ipv6cidr", "asn", | |||
and countrycode) are defined in <xref target="RFC8006" format="default"/>. A "Se | and "countrycode") are defined in <xref target="RFC8006" format="default"/>. A " | |||
t of IP-prefixes" can | set of IP prefixes" can | |||
contain both full IP addresses (i.e., a /32 for IPv4 or a /128 for IPv6) and | contain both full IP addresses (i.e., a /32 for IPv4 or a /128 for IPv6) and | |||
IP prefixes with an arbitrary prefix length. There must also be support for | IP prefixes with an arbitrary prefix length. There must also be support for | |||
multiple IP address versions, i.e., IPv4 and IPv6, in such a footprint.</li> | multiple IP address versions, i.e., IPv4 and IPv6, in such a footprint.</li> | |||
<li>Multiple initial types of capabilities are defined in <xref target ="RFC8008" format="default"/> including | <li>Multiple initial types of capabilities are defined in <xref target ="RFC8008" format="default"/> including | |||
(1) Delivery Protocol, (2) Acquisition Protocol, (3) Redirection Mode, (4) | (1) Delivery Protocol, (2) Acquisition Protocol, (3) Redirection Mode, (4) | |||
Capabilities related to CDNI Logging, and (5) Capabilities related to CDNI | capabilities related to CDNI Logging, and (5) capabilities related to CDNI | |||
Metadata. They are required in all cases and, therefore, considered as | Metadata. They are required in all cases and, therefore, considered as | |||
mandatory-to-implement capabilities for all CDNI FCI implementations.</li> | mandatory-to-implement capabilities for all CDNI FCI implementations.</li> | |||
<li>Footprint and capabilities are defined together and cannot be inte rpreted | <li>Footprint and capabilities are defined together and cannot be inte rpreted | |||
independently from each other. Specifically, <xref target="RFC8008" format="defa ult"/> integrates footprint | independently from each other. Specifically, <xref target="RFC8008" format="defa ult"/> integrates footprint | |||
and capabilities with an approach of "capabilities with footprint | and capabilities with an approach of "capabilities with footprint | |||
restrictions", by expressing capabilities on a per footprint basis.</li> | restrictions", by expressing capabilities on a per footprint basis.</li> | |||
<li>Specifically, for all mandatory-to-implement footprint types, foot prints can | <li>Specifically, for all mandatory-to-implement footprint types, foot prints can | |||
be viewed as constraints for delegating requests to a dCDN: A dCDN footprint | be viewed as constraints for delegating requests to a dCDN: a dCDN footprint | |||
advertisement tells the uCDN the limitations for delegating a request to the | advertisement tells the uCDN the limitations for delegating a request to the | |||
dCDN. For IP prefixes or Autonomous System Numbers (ASNs), the footprint signals to the uCDN that it | dCDN. For IP prefixes or Autonomous System Numbers (ASNs), the footprint signals to the uCDN that it | |||
should consider the dCDN a candidate only if the IP address of the request | should consider the dCDN a candidate only if the IP address of the Request | |||
routing source falls within the prefix set or ASN, respectively. The CDNI | Routing source falls within the prefix set or ASN, respectively. The CDNI | |||
specifications do not define how a given uCDN determines what address ranges | specifications do not define how a given uCDN determines what address ranges | |||
are in a particular ASN. Similarly, for country codes, a uCDN should only | are in a particular ASN. Similarly, for country codes, a uCDN should only | |||
consider the dCDN a candidate if it covers the country of the request routing | consider the dCDN a candidate if it covers the country of the Request Routing | |||
source. The CDNI specifications do not define how a given uCDN determines the | source. The CDNI specifications do not define how a given uCDN determines the | |||
country of the request routing source. Different types of footprint | country of the Request Routing source. Different types of footprint | |||
constraints can be combined together to narrow the dCDN candidacy, i.e., the | constraints can be combined together to narrow the dCDN candidacy, i.e., the | |||
uCDN should consider the dCDN a candidate only if the request routing source | uCDN should consider the dCDN a candidate only if the request routing source | |||
satisfies all the types of footprint constraints in the advertisement.</li> | satisfies all the types of footprint constraints in the advertisement.</li> | |||
<li>Given that a large part of Footprint and Capabilities Advertisemen t may | <li>Given that a large part of Footprint and Capabilities Advertisemen t may | |||
happen in contractual agreements, the semantics of CDNI Footprint and | happen in contractual agreements, the semantics of CDNI Footprint and | |||
Capabilities advertisement refers to answering the following question: what | Capabilities Advertisement refers to answering the following question: what | |||
exactly still needs to be advertised by the CDNI FCI? For instance, updates | exactly still needs to be advertised by the CDNI FCI? For instance, updates | |||
about temporal failures of part of a footprint can be useful information to | about temporal failures of part of a footprint can be useful information to | |||
convey via the CDNI FCI. Such information would provide updates on information | convey via the CDNI FCI. Such information would provide updates on information | |||
previously agreed in contracts between the participating CDNs. In other words, | previously agreed to in contracts between the participating CDNs. In other words | |||
the CDNI FCI is a means for a dCDN to provide changes/updates | , | |||
the CDNI FCI is a means for a dCDN to provide changes and updates | ||||
regarding a footprint and/or capabilities that it has previously agreed to serve in | regarding a footprint and/or capabilities that it has previously agreed to serve in | |||
a contract with a uCDN. Hence, server push and incremental | a contract with a uCDN. Hence, server push and incremental | |||
encoding will be necessary techniques.</li> | encoding will be necessary techniques.</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="bgALTO" numbered="true" toc="default"> | <section anchor="bgALTO" numbered="true" toc="default"> | |||
<name>ALTO Background and Benefits</name> | <name>ALTO Background and Benefits</name> | |||
<t>Application-Layer Traffic Optimization (ALTO) <xref target="RFC7285" format="default"/> defines an approach | <t>Application-Layer Traffic Optimization (ALTO) <xref target="RFC7285" format="default"/> defines an approach | |||
for conveying network layer (topology) information to "guide" the resource | for conveying network-layer (topology) information to "guide" the resource | |||
provider selection process in distributed applications that can choose among | provider selection process in distributed applications that can choose among | |||
several candidate resources providers to retrieve a given resource. Usually, it | several candidate resources providers to retrieve a given resource. Usually, it | |||
is assumed that an ALTO server conveys information that these applications | is assumed that an ALTO server conveys information that these applications | |||
cannot measure or have difficulty measuring themselves <xref target="RFC5693" fo rmat="default"/>.</t> | cannot measure or have difficulty measuring themselves <xref target="RFC5693" fo rmat="default"/>.</t> | |||
<t>Originally, ALTO was motivated by optimizing cross-ISP traffic genera ted by P2P | <t>Originally, ALTO was motivated by optimizing cross-ISP traffic genera ted by peer-to-peer | |||
applications <xref target="RFC5693" format="default"/>. However, ALTO can also b e used for improving the | applications <xref target="RFC5693" format="default"/>. However, ALTO can also b e used for improving the | |||
request routing in CDNs. In particular, Section 5 of <xref target="RFC7971" form at="default"/> | Request Routing in CDNs. In particular, <xref target="RFC7971" section="5" secti onFormat="of" format="default"/> | |||
explicitly mentions ALTO as a candidate protocol to improve the selection of a | explicitly mentions ALTO as a candidate protocol to improve the selection of a | |||
CDN surrogate or origin.</t> | CDN surrogate or origin.</t> | |||
<t>The following reasons make ALTO a suitable candidate protocol for dCD N | <t>The following reasons make ALTO a suitable candidate protocol for dCD N | |||
selection as part of CDNI request routing and, in particular, | selection as part of CDNI Request Routing and, in particular, | |||
for an FCI protocol:</t> | for an FCI protocol:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Application Layer-oriented: ALTO is a protocol specifically design | <li>Application-Layer-oriented: ALTO is a protocol specifically design | |||
ed to | ed to | |||
improve application layer traffic (and application layer connections among | improve application-layer traffic (and application-layer connections among | |||
hosts on the Internet) by providing additional information to applications | hosts on the Internet) by providing additional information to applications | |||
that these applications could not easily retrieve themselves. This matches the | that these applications could not easily retrieve themselves. This matches the | |||
need of CDNI, where a uCDN wants to improve application layer CDN request routin g by | need of CDNI, where a uCDN wants to improve application-layer CDN request routin g by | |||
using information (provided by a dCDN) that the uCDN could not easily obtain | using information (provided by a dCDN) that the uCDN could not easily obtain | |||
otherwise. Hence, ALTO can help a uCDN to select a proper dCDN by first | otherwise. Hence, ALTO can help a uCDN to select a proper dCDN by first | |||
providing dCDNs' capabilities as well as footprints (see <xref target="cdnifci" format="default"/>) and | providing dCDNs' capabilities as well as footprints (see <xref target="cdnifci" format="default"/>) and | |||
then providing costs of surrogates in a dCDN by ALTO cost maps.</li> | then providing costs of surrogates in a dCDN by ALTO cost maps.</li> | |||
<li>Security: The identification between uCDNs and dCDNs is an importa nt | <li>Security: The identification between uCDNs and dCDNs is an importa nt | |||
requirement (see <xref target="security" format="default"/>). ALTO maps can be s igned and hence provide | requirement (see <xref target="security" format="default"/>). ALTO maps can be s igned and hence provide | |||
inherent origin protection. Please see Section 15.1.2 of <xref target="RFC7285" format="default"/> for | inherent origin protection. Please see <xref target="RFC7285" section="15.1.2" s ectionFormat="of" format="default"/> for | |||
detailed protection strategies.</li> | detailed protection strategies.</li> | |||
<li>RESTful design: The ALTO protocol has undergone extensive revision s in order | <li>RESTful design: The ALTO Protocol has undergone extensive revision s in order | |||
to provide a RESTful design regarding the client-server interaction specified | to provide a RESTful design regarding the client-server interaction specified | |||
by the protocol. It is flexible and extensible enough to handle existing and | by the protocol. It is flexible and extensible enough to handle existing and | |||
potential future data formats defined by CDNI. It can provide the consistent | potential future data formats defined by CDNI. It can provide the consistent | |||
client-server interaction model for other existing CDNI interfaces or | client-server interaction model for other existing CDNI interfaces or | |||
potential future extensions and therefore reduce the learning cost for both | potential future extensions and therefore reduce the learning cost for both | |||
users and developers, although they are not in the scope of this | users and developers, although they are not in the scope of this | |||
document. A CDNI FCI interface based on ALTO would inherit this RESTful | document. A CDNI FCI interface based on ALTO would inherit this RESTful | |||
design. Please see <xref target="cdnifci" format="default"/>.</li> | design. Please see <xref target="cdnifci" format="default"/>.</li> | |||
<li>Error-handling: The ALTO protocol provides extensive error-handlin | <li>Error handling: The ALTO Protocol provides extensive error handlin | |||
g in the | g in the | |||
whole request and response process (see Section 8.5 of <xref target="RFC7285" fo | whole request and response process (see <xref target="RFC7285" section="8.5" sec | |||
rmat="default"/>). A CDNI | tionFormat="of" format="default"/>). A CDNI | |||
FCI interface based on ALTO would inherit this extensive error-handling | FCI interface based on ALTO would inherit this extensive error-handling | |||
framework. Please see <xref target="filteredcdnifci" format="default"/>.</li> | framework. Please see <xref target="filteredcdnifci" format="default"/>.</li> | |||
<li>Map Service: The semantics of an ALTO network map is an exact matc h for the | <li>Map Service: The semantics of an ALTO network map is an exact matc h for the | |||
needed information to convey a footprint by a dCDN, in | needed information to convey a footprint by a dCDN, in | |||
particular, if such a footprint is being expressed by IP-prefix | particular, if such a footprint is being expressed by IP prefix | |||
ranges. Please see <xref target="cdnifcinetworkmap" format="default"/>.</li> | ranges. Please see <xref target="cdnifcinetworkmap" format="default"/>.</li> | |||
<li>Filtered Map Service: The ALTO map filtering service would allow a uCDN to | <li>Filtered Map Service: The ALTO map filtering service would allow a uCDN to | |||
query only for parts of an ALTO map. For example, the ALTO filtered property | query only for parts of an ALTO map. For example, the ALTO filtered property | |||
map service can enable a uCDN to query properties of a part of footprints | Map Service can enable a uCDN to query properties of a part of footprints | |||
efficiently. Please see <xref target="unifiedpropertymap" format="default"/>.</l i> | efficiently. Please see <xref target="unifiedpropertymap" format="default"/>.</l i> | |||
<li>Server-initiated notifications and incremental updates: When the f ootprint or | <li>Server-initiated notifications and incremental updates: When the f ootprint or | |||
the capabilities of a dCDN change (i.e., unexpectedly from the perspective of | the capabilities of a dCDN change (i.e., unexpectedly from the perspective of | |||
a uCDN), server-initiated notifications would enable a dCDN to inform a uCDN | a uCDN), server-initiated notifications would enable a dCDN to inform a uCDN | |||
about such changes directly. Consider the case where - due to failure - part | about such changes directly. Consider the case where -- due to failure -- part | |||
of the footprint of the dCDN is not functioning, i.e., the CDN cannot serve | of the footprint of the dCDN is not functioning, i.e., the CDN cannot serve | |||
content to such clients with reasonable QoS. Without server-initiated | content to such clients with reasonable QoS. Without server-initiated | |||
notifications, the uCDN might still use a recent network and cost map from the | notifications, the uCDN might still use a recent network and cost map from the | |||
dCDN, and therefore redirect requests to the dCDN which it cannot serve. | dCDN and therefore redirect requests to the dCDN that it cannot serve. | |||
Similarly, the possibility for incremental updates would enable efficient | Similarly, the possibility for incremental updates would enable efficient | |||
conveyance of the aforementioned (or similar) status changes by the dCDN to | conveyance of the aforementioned (or similar) status changes by the dCDN to | |||
the uCDN. The newest design of ALTO supports server pushed incremental updates | the uCDN. The newest design of ALTO supports server-pushed incremental updates | |||
<xref target="RFC8895" format="default"/>.</li> | <xref target="RFC8895" format="default"/>.</li> | |||
<li>Content availability on hosts: A dCDN might want to express CDN ca pabilities | <li>Content availability on hosts: A dCDN might want to express CDN ca pabilities | |||
in terms of certain content types (e.g., codecs/ formats, or content from | in terms of certain content types (e.g., codecs and/or formats, or content from | |||
certain content providers). ALTO Entity Property Map | certain content providers). ALTO Entity Property Map | |||
<xref target="I-D.ietf-alto-unified-props-new" format="default"/> would enable a | <xref target="RFC9240" format="default"/> would enable a dCDN to make such | |||
dCDN to make such | information available to a uCDN. This would enable a uCDN to assess whether | |||
information available to a uCDN. This would enable a uCDN to access whether | ||||
a dCDN has the capabilities for a given type of content requested.</li> | a dCDN has the capabilities for a given type of content requested.</li> | |||
<li>Resource availability on hosts or links: The capabilities on links (e.g., | <li>Resource availability on hosts or links: The capabilities on links (e.g., | |||
maximum bandwidth) or caches (e.g., average load) might be useful information | maximum bandwidth) or caches (e.g., average load) might be useful information | |||
for a uCDN for optimized dCDN selection. For instance, if a uCDN receives a | for a uCDN for optimized dCDN selection. For instance, if a uCDN receives a | |||
streaming request for content with a certain bitrate, it needs to know if it | streaming request for content with a certain bitrate, it needs to know if it | |||
is likely that a dCDN can fulfill such stringent application-level | is likely that a dCDN can fulfill such stringent application-level | |||
requirements (i.e., can be expected to have enough consistent bandwidth) | requirements (i.e., can be expected to have enough consistent bandwidth) | |||
before it redirects the request. In general, if ALTO could convey such | before it redirects the request. In general, if ALTO could convey such | |||
information via ALTO Entity Property Map <xref target="I-D.ietf-alto-unified-pro | information via ALTO Entity Property Map <xref target="RFC9240" format="default" | |||
ps-new" format="default"/>, | />, | |||
it would enable more sophisticated means for dCDN selection with ALTO. ALTO | it would enable more sophisticated means for dCDN selection with ALTO. The ALTO | |||
Path Vector Extension <xref target="I-D.ietf-alto-path-vector" format="default"/ | Path Vector extension <xref target="I-D.ietf-alto-path-vector" format="default"/ | |||
> is designed to allow ALTO | > is designed to allow ALTO | |||
clients to query information such as capacity regions for a given set of | clients to query information such as capacity regions for a given set of | |||
flows. | flows. | |||
<!-- Skip header line --> | ||||
</li> | </li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="cdnifci" numbered="true" toc="default"> | <section anchor="cdnifci" numbered="true" toc="default"> | |||
<name>CDNI Advertisement Service</name> | <name>CDNI Advertisement Service</name> | |||
<t>The ALTO protocol relies upon the ALTO Information Service framework wh | <t>The ALTO Protocol relies upon the ALTO information service framework, w | |||
ich | hich | |||
consists of multiple services. All ALTO services are "provided through a | consists of multiple services. All ALTO services are "provided through a common | |||
common transport protocol, messaging structure and encoding, and transaction | transport protocol; messaging structure and encoding; and transaction | |||
model" <xref target="RFC7285" format="default"/>. The ALTO protocol specificatio | model" <xref target="RFC7285" format="default"/>. The ALTO Protocol specificatio | |||
n defines multiple | n defines multiple | |||
initial services, e.g., the ALTO network map service and cost map service.</t> | initial services, e.g., the ALTO Network Map Service and Cost Map Service.</t> | |||
<t>This document defines a new ALTO service, called "CDNI Advertisement Se rvice", | <t>This document defines a new ALTO service, called "CDNI Advertisement Se rvice", | |||
which conveys JSON <xref target="RFC8259" format="default"/> objects of media ty pe "application/alto-cdni+json". These | which conveys JSON <xref target="RFC8259" format="default"/> objects of media ty pe "application/alto-cdni+json". These | |||
JSON objects are used to transport BaseAdvertisementObject objects defined in | JSON objects are used to transport BaseAdvertisementObject objects defined in | |||
<xref target="RFC8008" format="default"/>. This document specifies how to transp ort such | <xref target="RFC8008" format="default"/>. This document specifies how to transp ort such | |||
BaseAdvertisementObject objects via the ALTO protocol with the ALTO "CDNI | BaseAdvertisementObject objects via the ALTO Protocol with the ALTO CDNI | |||
Advertisement Service". Similar to other ALTO services, this document defines | Advertisement Service. Similar to other ALTO services, this document defines | |||
the ALTO information resource for the "CDNI Advertisement Service" as follows.</ | the ALTO information resource for the CDNI Advertisement Service as follows.</t> | |||
t> | ||||
<t>Note that the encoding of BaseAdvertisementObject reuses the one | <t>Note that the encoding of BaseAdvertisementObject reuses the one | |||
defined in <xref target="RFC8008" format="default"/> and therefore also follows the recommendations of I-JSON | defined in <xref target="RFC8008" format="default"/> and therefore also follows the recommendations of I-JSON | |||
(Internet JSON) <xref target="RFC7493" format="default"/>, which is required by <xref target="RFC8008" format="default"/>.</t> | (Internet JSON) <xref target="RFC7493" format="default"/>, which is required by <xref target="RFC8008" format="default"/>.</t> | |||
<section anchor="cdnifcimediatype" numbered="true" toc="default"> | <section anchor="cdnifcimediatype" numbered="true" toc="default"> | |||
<name>Media Type</name> | <name>Media Type</name> | |||
<t>The media type of the CDNI Advertisement resource is | <t>The media type of the CDNI Advertisement resource is | |||
"application/alto-cdni+json" (see <xref target="iana" format="default"/>).</t> | "application/alto-cdni+json" (see <xref target="iana" format="default"/>).</t> | |||
</section> | </section> | |||
<section anchor="cdnifcimethod" numbered="true" toc="default"> | <section anchor="cdnifcimethod" numbered="true" toc="default"> | |||
<name>HTTP Method</name> | <name>HTTP Method</name> | |||
skipping to change at line 376 ¶ | skipping to change at line 355 ¶ | |||
<section anchor="cdnifciinput" numbered="true" toc="default"> | <section anchor="cdnifciinput" numbered="true" toc="default"> | |||
<name>Accept Input Parameters</name> | <name>Accept Input Parameters</name> | |||
<t>There are no applicable Accept Input parameters.</t> | <t>There are no applicable Accept Input parameters.</t> | |||
</section> | </section> | |||
<section anchor="cdnifcicap" numbered="true" toc="default"> | <section anchor="cdnifcicap" numbered="true" toc="default"> | |||
<name>Capabilities</name> | <name>Capabilities</name> | |||
<t>There are no applicable capabilities.</t> | <t>There are no applicable capabilities.</t> | |||
</section> | </section> | |||
<section anchor="cdnifciuses" numbered="true" toc="default"> | <section anchor="cdnifciuses" numbered="true" toc="default"> | |||
<name>Uses</name> | <name>Uses</name> | |||
<t>The "uses" field MUST NOT appear unless the CDNI Advertisement resour ce | <t>The "uses" field <bcp14>MUST NOT</bcp14> appear unless the CDNI Adver tisement resource | |||
depends on other ALTO information resources. If the CDNI Advertisement | depends on other ALTO information resources. If the CDNI Advertisement | |||
resource has dependent resources, the resource IDs of its | resource has dependent resources, the resource IDs of its | |||
dependent resources MUST be included into the "uses" field. This | dependent resources <bcp14>MUST</bcp14> be included into the "uses" field. This | |||
document only defines one potential dependent resource for the CDNI | document only defines one potential dependent resource for the CDNI | |||
Advertisement resource. See <xref target="cdnifcinetworkmap" format="default"/> for details | Advertisement resource. See <xref target="cdnifcinetworkmap" format="default"/> for details | |||
of when and how to use it. Future documents may extend the CDNI Advertisement | of when and how to use it. Future documents may extend the CDNI Advertisement | |||
resource and allow other dependent resources.</t> | resource and allow other dependent resources.</t> | |||
</section> | </section> | |||
<section anchor="cdnifciencoding" numbered="true" toc="default"> | <section anchor="cdnifciencoding" numbered="true" toc="default"> | |||
<name>Response</name> | <name>Response</name> | |||
<t>The "meta" field of a CDNI Advertisement response MUST include the "v | <t>The "meta" field of a CDNI Advertisement response <bcp14>MUST</bcp14> | |||
tag" | include the "vtag" | |||
field defined in Section 10.3 of <xref target="RFC7285" format="default"/>. This | field defined in <xref target="RFC7285" section="10.3" sectionFormat="of" format | |||
="default"/>. This | ||||
field provides the version of the retrieved CDNI FCI resource.</t> | field provides the version of the retrieved CDNI FCI resource.</t> | |||
<t>If a CDNI Advertisement response depends on other ALTO information re sources, it | <t>If a CDNI Advertisement response depends on other ALTO information re sources, it | |||
MUST include the "dependent-vtags" field, whose value is an array to indicate | <bcp14>MUST</bcp14> include the "dependent-vtags" field, whose value is an array to indicate | |||
the version tags of the resources used, where each resource is specified in | the version tags of the resources used, where each resource is specified in | |||
"uses" of its Information Resource Directory (IRD) entry.</t> | "uses" of its Information Resource Directory (IRD) entry.</t> | |||
<t>The data component of an ALTO CDNI Advertisement response is named | <t>The data component of an ALTO CDNI Advertisement response is named | |||
"cdni-advertisement", which is a JSON object of type CDNIAdvertisementData:</t> | "cdni-advertisement", which is a JSON object of type CDNIAdvertisementData:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<sourcecode type="json"><![CDATA[ | ||||
object { | object { | |||
CDNIAdvertisementData cdni-advertisement; | CDNIAdvertisementData cdni-advertisement; | |||
} InfoResourceCDNIAdvertisement : ResponseEntityBase; | } InfoResourceCDNIAdvertisement : ResponseEntityBase; | |||
object { | object { | |||
BaseAdvertisementObject capabilities-with-footprints<0..*>; | BaseAdvertisementObject capabilities-with-footprints<0..*>; | |||
} CDNIAdvertisementData; | } CDNIAdvertisementData; | |||
]]></artwork> | ]]></sourcecode> | |||
<t>Specifically, a CDNIAdvertisementData object is a JSON object that in cludes | <t>Specifically, a CDNIAdvertisementData object is a JSON object that in cludes | |||
only one property named "capabilities-with-footprints", whose value is an array | only one property named "capabilities-with-footprints", whose value is an array | |||
of BaseAdvertisementObject objects. It provides capabilities with footprint | of BaseAdvertisementObject objects. It provides capabilities with footprint | |||
restrictions for uCDN to decide the dCDN selection. If the value of this | restrictions for the uCDN to decide the dCDN selection. If the value of this | |||
property is an empty array, it means the corresponding dCDN cannot provide any | property is an empty array, it means the corresponding dCDN cannot provide any | |||
mandatory-to-implement CDNI capabilities for any footprints.</t> | mandatory-to-implement CDNI capabilities for any footprints.</t> | |||
<t>The syntax and semantics of BaseAdvertisementObject are well defined | <t>The syntax and semantics of BaseAdvertisementObject are well defined | |||
in Section | in | |||
5.1 of <xref target="RFC8008" format="default"/>. A BaseAdvertisementObject obje | <xref target="RFC8008" section="5.1" sectionFormat="of" format="default"/>. A Ba | |||
ct includes multiple | seAdvertisementObject object includes multiple | |||
properties, including capability-type, capability-value, and footprints, where | properties, including "capability-type", "capability-value", and "footprints", w | |||
footprints are defined in Section 4.2.2.2 of <xref target="RFC8006" format="defa | here | |||
ult"/>.</t> | "footprints" are defined in <xref target="RFC8006" section="4.2.2.2" sectionForm | |||
<t>To be self-contained, below is an equivalent specification of | at="of" format="default"/>.</t> | |||
BaseAdvertisementObject described in the ALTO-style notation (see Section 8.2 | ||||
of <xref target="RFC7285" format="default"/>). As mentioned above, the normative | <t> | |||
specification of | An equivalent specification in the ALTO-style notation (see | |||
<xref target="RFC7285" section="8.2" sectionFormat="of" format="default"/>) | ||||
creates a self-contained description of the BaseAdvertisementObject. | ||||
As mentioned above, the normative specification of | ||||
BaseAdvertisementObject is in <xref target="RFC8008" format="default"/>.</t> | BaseAdvertisementObject is in <xref target="RFC8008" format="default"/>.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode type="json"><![CDATA[ | |||
object { | object { | |||
JSONString capability-type; | JSONString capability-type; | |||
JSONValue capability-value; | JSONValue capability-value; | |||
Footprint footprints<0..*>; | Footprint footprints<0..*>; | |||
} BaseAdvertisementObject; | } BaseAdvertisementObject; | |||
object { | object { | |||
JSONString footprint-type; | JSONString footprint-type; | |||
JSONString footprint-value<1..*>; | JSONString footprint-value<1..*>; | |||
} Footprint; | } Footprint; | |||
]]></artwork> | ]]></sourcecode> | |||
<t>For each BaseAdvertisementObject, the ALTO client MUST interpret foot | <t>For each BaseAdvertisementObject, the ALTO client <bcp14>MUST</bcp14> | |||
prints | interpret "footprints" | |||
appearing multiple times as if they appeared only once. If footprints in a | appearing multiple times as if they appeared only once. If "footprints" in a | |||
BaseAdvertisementObject is null or empty or not appearing, the ALTO client MUST | BaseAdvertisementObject is null or empty or does not appear, the ALTO client <bc | |||
p14>MUST</bcp14> | ||||
understand that the capabilities in this BaseAdvertisementObject have the | understand that the capabilities in this BaseAdvertisementObject have the | |||
"global" coverage, i.e., the corresponding dCDN can provide them for any | "global" coverage, i.e., the corresponding dCDN can provide them for any | |||
request routing source.</t> | Request Routing source.</t> | |||
<t>Note: Further optimization of BaseAdvertisement objects to effectivel | <t>Note: Further optimization of BaseAdvertisementObjects to effectively | |||
y provide | provide | |||
the advertisement of capabilities with footprint restrictions is certainly | the advertisement of capabilities with footprint restrictions is certainly | |||
possible. For example, these two examples below both describe that the dCDN can | possible. For example, these two examples below both describe that the dCDN can | |||
provide capabilities ["http/1.1", "https/1.1"] for the same footprints. However, | provide capabilities ["http/1.1", "https/1.1"] for the same footprints. However, | |||
the latter one is smaller in its size.</t> | the latter one is smaller in its size.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
EXAMPLE 1 | EXAMPLE 1 | |||
{ | { | |||
"meta": {...}, | "meta": {...}, | |||
"cdni-advertisement": { | "cdni-advertisement": { | |||
"capabilities-with-footprints": [ | "capabilities-with-footprints": [ | |||
{ | { | |||
"capability-type": "FCI.DeliveryProtocol", | "capability-type": "FCI.DeliveryProtocol", | |||
"capability-value": { | "capability-value": { | |||
"delivery-protocols": [ | "delivery-protocols": [ | |||
skipping to change at line 474 ¶ | skipping to change at line 458 ¶ | |||
"https/1.1" | "https/1.1" | |||
] | ] | |||
}, | }, | |||
"footprints": [ | "footprints": [ | |||
<Footprint objects> | <Footprint objects> | |||
] | ] | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
]]></artwork> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
EXAMPLE 2 | EXAMPLE 2 | |||
{ | { | |||
"meta": {...}, | "meta": {...}, | |||
"cdni-advertisement": { | "cdni-advertisement": { | |||
"capabilities-with-footprints": [ | "capabilities-with-footprints": [ | |||
{ | { | |||
"capability-type": "FCI.DeliveryProtocol", | "capability-type": "FCI.DeliveryProtocol", | |||
"capability-value": { | "capability-value": { | |||
"delivery-protocols": [ | "delivery-protocols": [ | |||
"https/1.1", | "https/1.1", | |||
skipping to change at line 501 ¶ | skipping to change at line 486 ¶ | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
]]></artwork> | ]]></artwork> | |||
<t>Since such optimizations are not required for the basic interconnecti on of CDNs, | <t>Since such optimizations are not required for the basic interconnecti on of CDNs, | |||
the specifics of such mechanisms are outside the scope of this document.</t> | the specifics of such mechanisms are outside the scope of this document.</t> | |||
<t>This document only requires the ALTO server to provide the initial FC I-specific | <t>This document only requires the ALTO server to provide the initial FC I-specific | |||
CDNI Payload Types defined in <xref target="RFC8008" format="default"/> as the m andatory-to-implement CDNI | CDNI Payload Types defined in <xref target="RFC8008" format="default"/> as the m andatory-to-implement CDNI | |||
capabilities.</t> | capabilities.</t> | |||
<!-- | ||||
There may be other documents extending BaseAdvertisementObject and | ||||
additional CDNI capabilities. They are outside the scope of this document. To | ||||
support them, future documents can extend the specification defined in this | ||||
document. | ||||
</section> | </section> | |||
<section anchor="cdnifciexamples" numbered="true" toc="default"> | <section anchor="cdnifciexamples" numbered="true" toc="default"> | |||
<name>Examples</name> | <name>Examples</name> | |||
<section anchor="IRDexample" numbered="true" toc="default"> | <section anchor="IRDexample" numbered="true" toc="default"> | |||
<name>IRD</name> | <name>IRD</name> | |||
<t>Below is the IRD of a simple, example ALTO | <t>Below is the IRD of a simple, example ALTO | |||
server. The server provides both base ALTO information resources (e.g., network | server. The server provides both base ALTO information resources (e.g., network | |||
maps) and CDNI FCI related information resources (e.g., CDNI Advertisement | maps) and CDNI FCI-related information resources (e.g., CDNI Advertisement | |||
resources), demonstrating a single, integrated environment.</t> | resources), demonstrating a single, integrated environment.</t> | |||
<t>Specifically, the IRD announces nine information resources as follo ws:</t> | <t>Specifically, the IRD announces nine information resources as follo ws:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>two network maps,</li> | <li>two network maps,</li> | |||
<li>one CDNI Advertisement resource without dependency,</li> | <li>one CDNI Advertisement resource without dependency,</li> | |||
<li>one CDNI Advertisement resource depending on a network map,</li> | <li>one CDNI Advertisement resource depending on a network map,</li> | |||
<li>one filtered CDNI Advertisement resource to be defined in <xref target="filteredcdnifci" format="default"/>,</li> | <li>one filtered CDNI Advertisement resource to be defined in <xref target="filteredcdnifci" format="default"/>,</li> | |||
<li>one property map including "cdni-capabilities" as its entity pro perty,</li> | <li>one property map including "cdni-capabilities" as its entity pro perty,</li> | |||
<li>one filtered property map including "cdni-capabilities" and "pid " as its entity properties, and</li> | <li>one filtered property map including "cdni-capabilities" and "pid " as its entity properties, and</li> | |||
<li> | <li> | |||
skipping to change at line 649 ¶ | skipping to change at line 628 ¶ | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="fullcdnifciexample" numbered="true" toc="default"> | <section anchor="fullcdnifciexample" numbered="true" toc="default"> | |||
<name>A Basic Example</name> | <name>A Basic Example</name> | |||
<t>This basic example demonstrates a simple CDNI Advertisement resourc e, which does | <t>This basic example demonstrates a simple CDNI Advertisement resourc e, which does | |||
not depend on other resources. There are three BaseAdvertisementObjects in this | not depend on other resources. There are three BaseAdvertisementObjects in this | |||
resource and these objects' capabilities are http/1.1 delivery protocol, | resource and these objects' capabilities are "http/1.1" delivery protocol, | |||
[http/1.1, https/1.1] delivery protocol, and https/1.1 acquisition protocol, | ["http/1.1", "https/1.1"] delivery protocol, and "https/1.1" acquisition protoco | |||
l, | ||||
respectively.</t> | respectively.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
GET /cdnifci HTTP/1.1 | GET /cdnifci HTTP/1.1 | |||
Host: alto.example.com | Host: alto.example.com | |||
Accept: application/alto-cdni+json,application/alto-error+json | Accept: application/alto-cdni+json,application/alto-error+json | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 1411 | Content-Length: 1411 | |||
Content-Type: application/alto-cdni+json | Content-Type: application/alto-cdni+json | |||
skipping to change at line 730 ¶ | skipping to change at line 709 ¶ | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="incremental-updates" numbered="true" toc="default"> | <section anchor="incremental-updates" numbered="true" toc="default"> | |||
<name>Incremental Updates</name> | <name>Incremental Updates</name> | |||
<t>A benefit of using ALTO to provide CDNI Advertisement resources is that such | <t>A benefit of using ALTO to provide CDNI Advertisement resources is that such | |||
resources can be updated using ALTO incremental updates <xref target="RFC8895" f ormat="default"/>. Below is | resources can be updated using ALTO incremental updates <xref target="RFC8895" f ormat="default"/>. Below is | |||
an example that also shows the benefit of having both JSON merge patch and JSON | an example that also shows the benefit of having both JSON merge patch and JSON | |||
patch to encode updates.</t> | patch to encode updates.</t> | |||
<t>At first, an ALTO client requests updates for "my-default-cdnifci", and the ALTO | <t>At first, an ALTO client requests updates for "my-default-cdnifci", and the ALTO | |||
server returns the "control-uri" followed by the full CDNI Advertisement | server returns the "control-uri" followed by the full CDNI Advertisement | |||
response. Then when there is a change in the delivery-protocols in that http/1.1 | response. Then when there is a change in the "delivery-protocols" in that "http/ | |||
is removed (from [http/1.1, https/1.1] to only https/1.1) due to maintenance of | 1.1" | |||
the http/1.1 clusters, the ALTO server regenerates the new CDNI Advertisement | is removed (from ["http/1.1", "https/1.1"] to only "https/1.1") due to maintenan | |||
ce of | ||||
the "http/1.1" clusters, the ALTO server regenerates the new CDNI Advertisement | ||||
resource and pushes the full replacement to the ALTO client. Later on, the ALTO | resource and pushes the full replacement to the ALTO client. Later on, the ALTO | |||
server notifies the ALTO client that "192.0.2.0/24" is added into the "ipv4" | server notifies the ALTO client that "192.0.2.0/24" is added into the "ipv4" | |||
footprint object for delivery-protocol https/1.1 by sending the change encoded | footprint object for delivery protocol "https/1.1" by sending the change encoded | |||
by JSON patch to the ALTO client.</t> | by JSON patch to the ALTO client.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
POST /updates/cdnifci HTTP/1.1 | POST /updates/cdnifci HTTP/1.1 | |||
Host: alto.example.com | Host: alto.example.com | |||
Accept: text/event-stream,application/alto-error+json | Accept: text/event-stream,application/alto-error+json | |||
Content-Type: application/alto-updatestreamparams+json | Content-Type: application/alto-updatestreamparams+json | |||
Content-Length: 94 | Content-Length: 94 | |||
{ | { | |||
"add": { | "add": { | |||
skipping to change at line 807 ¶ | skipping to change at line 786 ¶ | |||
data: "path": "/cdni-advertisement/capabilities-with-footprints | data: "path": "/cdni-advertisement/capabilities-with-footprints | |||
/0/footprints/0/footprint-value/-", | /0/footprints/0/footprint-value/-", | |||
data: "value": "192.0.2.0/24" | data: "value": "192.0.2.0/24" | |||
data: } | data: } | |||
data: ] | data: ] | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="cdnifcinetworkmap" numbered="true" toc="default"> | <section anchor="cdnifcinetworkmap" numbered="true" toc="default"> | |||
<name>CDNI Advertisement Service using ALTO Network Map</name> | <name>CDNI Advertisement Service Using ALTO Network Map</name> | |||
<section anchor="network-map-footprint-type-altopid" numbered="true" toc=" default"> | <section anchor="network-map-footprint-type-altopid" numbered="true" toc=" default"> | |||
<name>Network Map Footprint Type: altopid</name> | <name>Network Map Footprint Type: altopid</name> | |||
<t>The ALTO protocol defines a concept called Provider-defined Identifie | <t>The ALTO Protocol defines a concept called Provider-defined Identifie | |||
r (PID) to | r (PID) to | |||
represent a group of IPv4 or IPv6 addresses which can be applied the same | represent a group of IPv4 or IPv6 addresses to which can be applied the same | |||
management policy. The PID is an alternative to the pre-defined CDNI footprint | management policy. The PID is an alternative to the predefined CDNI footprint | |||
types (i.e., ipv4cidr, ipv6cidr, asn, and countrycode).</t> | types (i.e., "ipv4cidr", "ipv6cidr", "asn", and "countrycode").</t> | |||
<t>To leverage this concept, this document defines a new CDNI Footprint Type called | <t>To leverage this concept, this document defines a new CDNI Footprint Type called | |||
"altopid". A CDNI Advertisement resource can depend on an ALTO network map | "altopid". A CDNI Advertisement resource can depend on an ALTO network map | |||
resource and use "altopid" footprints to compress its CDNI Footprint Payload.</t > | resource and use "altopid" footprints to compress its CDNI Footprint Payload.</t > | |||
<t>Specifically, the "altopid" footprint type indicates that the corresp onding | <t>Specifically, the "altopid" footprint type indicates that the corresp onding | |||
footprint value is a list of PIDNames as defined in <xref target="RFC7285" forma t="default"/>. | footprint value is a list of PIDNames as defined in <xref target="RFC7285" forma t="default"/>. | |||
These PIDNames are references of PIDs in a network map resource. Hence a CDNI | These PIDNames are references of PIDs in a network map resource. Hence a CDNI | |||
Advertisement resource using "altopid" footprints depends on a network map. For | Advertisement resource using "altopid" footprints depends on a network map. For | |||
such a CDNI Advertisement resource, the resource id of its dependent network map | such a CDNI Advertisement resource, the resource ID of its dependent network map | |||
MUST be included in the "uses" field of its IRD entry, and the "dependent-vtags" | <bcp14>MUST</bcp14> be included in the "uses" field of its IRD entry, and the "d | |||
field with a reference to this network map MUST be included in its response (see | ependent-vtags" | |||
field with a reference to this network map <bcp14>MUST</bcp14> be included in it | ||||
s response (see | ||||
the example in <xref target="networkmapfootprint" format="default"/>).</t> | the example in <xref target="networkmapfootprint" format="default"/>).</t> | |||
</section> | </section> | |||
<section anchor="examples" numbered="true" toc="default"> | <section anchor="examples" numbered="true" toc="default"> | |||
<name>Examples</name> | <name>Examples</name> | |||
<t>The following examples use the same IRD given in <xref target="IRDexa mple" format="default"/>.</t> | <t>The following examples use the same IRD given in <xref target="IRDexa mple" format="default"/>.</t> | |||
<section anchor="networkmapexample" numbered="true" toc="default"> | <section anchor="networkmapexample" numbered="true" toc="default"> | |||
<name>ALTO Network Map for CDNI Advertisements</name> | <name>ALTO Network Map for CDNI Advertisements</name> | |||
<t>Below provides a sample network map whose resource id is "my-eu-net map". This | <t>Below provides a sample network map whose resource ID is "my-eu-net map". This | |||
map is referenced by the CDNI Advertisement example in <xref target="networkmapf ootprint" format="default"/>.</t> | map is referenced by the CDNI Advertisement example in <xref target="networkmapf ootprint" format="default"/>.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
GET /myeunetmap HTTP/1.1 | GET /myeunetmap HTTP/1.1 | |||
Host: alto.example.com | Host: alto.example.com | |||
Accept: application/alto-networkmap+json,application/alto-error+json | Accept: application/alto-networkmap+json,application/alto-error+json | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 344 | Content-Length: 344 | |||
Content-Type: application/alto-networkmap+json | Content-Type: application/alto-networkmap+json | |||
skipping to change at line 911 ¶ | skipping to change at line 890 ¶ | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="incremental-updates-1" numbered="true" toc="default"> | <section anchor="incremental-updates-1" numbered="true" toc="default"> | |||
<name>Incremental Updates</name> | <name>Incremental Updates</name> | |||
<t>In this example, the ALTO client is interested in changes of | <t>In this example, the ALTO client is interested in changes of | |||
"my-cdnifci-with-pid-footprints" and its dependent network map "my-eu-netmap". | "my-cdnifci-with-pid-footprints" and its dependent network map "my-eu-netmap". | |||
Considering two changes, the first one is to change footprints of the https/1.1 | Considering two changes, the first one is to change footprints of the "https/1.1 " | |||
delivery protocol capability, and the second one is to remove the | delivery protocol capability, and the second one is to remove the | |||
"south-france" PID from the footprints of the https/1.1 acquisition protocol | "south-france" PID from the footprints of the "https/1.1" acquisition protocol | |||
capability.</t> | capability.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
POST /updates/cdnifci HTTP/1.1 | POST /updates/cdnifci HTTP/1.1 | |||
Host: alto.example.com | Host: alto.example.com | |||
Accept: text/event-stream,application/alto-error+json | Accept: text/event-stream,application/alto-error+json | |||
Content-Type: application/alto-updatestreamparams+json | Content-Type: application/alto-updatestreamparams+json | |||
Content-Length: 185 | Content-Length: 185 | |||
{ | { | |||
"add": { | "add": { | |||
skipping to change at line 978 ¶ | skipping to change at line 957 ¶ | |||
data: "path": | data: "path": | |||
data: "/cdni-advertisement/capabilities-with-footprints | data: "/cdni-advertisement/capabilities-with-footprints | |||
/1/footprints/0/footprint-value/1" | /1/footprints/0/footprint-value/1" | |||
data: } | data: } | |||
data: ] | data: ] | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="filteredcdnifci" numbered="true" toc="default"> | <section anchor="filteredcdnifci" numbered="true" toc="default"> | |||
<name>Filtered CDNI Advertisement using CDNI Capabilities</name> | <name>Filtered CDNI Advertisement Using CDNI Capabilities</name> | |||
<t><xref target="cdnifci" format="default">Sections 3</xref> and <xref tar | <t>Sections <xref target="cdnifci" format="counter"/> and <xref target="cd | |||
get="cdnifcinetworkmap" format="default">4</xref> describe CDNI Advertisement Se | nifcinetworkmap" format="counter"/> describe the CDNI Advertisement Service | |||
rvice | that can be used to enable a uCDN to get capabilities with footprint | |||
which can be used to enable a uCDN to get capabilities with footprint | ||||
restrictions from dCDNs. However, since always getting full CDNI Advertisement | restrictions from dCDNs. However, since always getting full CDNI Advertisement | |||
resources from dCDNs is inefficient, this document introduces a new service | resources from dCDNs is inefficient, this document introduces a new service | |||
named "Filtered CDNI Advertisement Service", to allow a client to filter a CDNI | named "Filtered CDNI Advertisement Service" to allow a client to filter a CDNI | |||
Advertisement resource using a client-given set of CDNI capabilities. For each | Advertisement resource using a client-given set of CDNI capabilities. For each | |||
entry of the CDNI Advertisement response, an entry will only be returned to the | entry of the CDNI Advertisement response, an entry will only be returned to the | |||
client if it contains at least one of the client given CDNI capabilities. The | client if it contains at least one of the client-given CDNI capabilities. The | |||
relationship between a filtered CDNI Advertisement resource and a CDNI | relationship between a filtered CDNI Advertisement resource and a CDNI | |||
Advertisement resource is similar to the relationship between a filtered | Advertisement resource is similar to the relationship between a filtered | |||
network/cost map and a network/cost map.</t> | network/cost map and a network/cost map.</t> | |||
<section anchor="media-type" numbered="true" toc="default"> | <section anchor="media-type" numbered="true" toc="default"> | |||
<name>Media Type</name> | <name>Media Type</name> | |||
<t>A filtered CDNI Advertisement resource uses the same media type defin ed for the | <t>A filtered CDNI Advertisement resource uses the same media type defin ed for the | |||
CDNI Advertisement resource in <xref target="cdnifcimediatype" format="default"/ >: "application/alto-cdni+json".</t> | CDNI Advertisement resource in <xref target="cdnifcimediatype" format="default"/ >: "application/alto-cdni+json".</t> | |||
</section> | </section> | |||
<section anchor="http-method" numbered="true" toc="default"> | <section anchor="http-method" numbered="true" toc="default"> | |||
<name>HTTP Method</name> | <name>HTTP Method</name> | |||
<t>A filtered CDNI Advertisement resource is requested using the HTTP PO ST method.</t> | <t>A filtered CDNI Advertisement resource is requested using the HTTP PO ST method.</t> | |||
</section> | </section> | |||
<section anchor="filteredcdnifciinputs" numbered="true" toc="default"> | <section anchor="filteredcdnifciinputs" numbered="true" toc="default"> | |||
<name>Accept Input Parameters</name> | <name>Accept Input Parameters</name> | |||
<t>The input parameters for a filtered CDNI Advertisement resource are s upplied in | <t>The input parameters for a filtered CDNI Advertisement resource are s upplied in | |||
the entity body of the POST request. This document specifies the input | the entity body of the POST request. This document specifies the input | |||
parameters with a data format indicated by the media type | parameters with a data format indicated by the media type | |||
"application/alto-cdnifilter+json" which is a JSON object of type | "application/alto-cdnifilter+json", which is a JSON object of type | |||
ReqFilteredCDNIAdvertisement, where:</t> | ReqFilteredCDNIAdvertisement where:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode type="json"><![CDATA[ | |||
object { | object { | |||
JSONString capability-type; | JSONString capability-type; | |||
JSONValue capability-value; | JSONValue capability-value; | |||
} CDNICapability; | } CDNICapability; | |||
object { | object { | |||
CDNICapability cdni-capabilities<0..*>; | CDNICapability cdni-capabilities<0..*>; | |||
} ReqFilteredCDNIAdvertisement; | } ReqFilteredCDNIAdvertisement; | |||
]]></sourcecode> | ||||
]]></artwork> | ||||
<t>with fields:</t> | <t>with fields:</t> | |||
<dl> | <dl> | |||
<dt> | <dt> | |||
capability-type: </dt> | capability-type: </dt> | |||
<dd> | <dd> | |||
<t>The same as Base Advertisement Object's capability-type defined i | <t>The same as Base Advertisement Object's "capability-type" defined | |||
n Section 5.1 | in | |||
of <xref target="RFC8008" format="default"/>.</t> | <xref target="RFC8008" section="5.1" sectionFormat="of" format="default"/>.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
capability-value: </dt> | capability-value: </dt> | |||
<dd> | <dd> | |||
<t>The same as Base Advertisement Object's capability-value defined | <t>The same as Base Advertisement Object's "capability-value" define | |||
in Section | d in | |||
5.1 of <xref target="RFC8008" format="default"/>.</t> | <xref target="RFC8008" section="5.1" sectionFormat="of" format="default"/>.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
cdni-capabilities: </dt> | cdni-capabilities: </dt> | |||
<dd> | <dd> | |||
<t>A list of CDNI capabilities defined in Section 5.1 of <xref targe t="RFC8008" format="default"/> for which | <t>A list of CDNI capabilities defined in <xref target="RFC8008" sec tion="5.1" sectionFormat="of" format="default"/> for which | |||
footprints are to be returned. If this list is empty, the ALTO | footprints are to be returned. If this list is empty, the ALTO | |||
server MUST interpret it as a request for the full CDNI Advertisement | server <bcp14>MUST</bcp14> interpret it as a request for the full CDNI Advertise | |||
resource. The ALTO server MUST interpret entries appearing in this list multiple | ment | |||
resource. The ALTO server <bcp14>MUST</bcp14> interpret entries appearing in thi | ||||
s list multiple | ||||
times as if they appeared only once. If the ALTO server does not define any | times as if they appeared only once. If the ALTO server does not define any | |||
footprints for a CDNI capability, it MUST omit this capability from the | footprints for a CDNI capability, it <bcp14>MUST</bcp14> omit this capability fr om the | |||
response.</t> | response.</t> | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="capabilities" numbered="true" toc="default"> | <section anchor="capabilities" numbered="true" toc="default"> | |||
<name>Capabilities</name> | <name>Capabilities</name> | |||
<t>There are no applicable capabilities.</t> | <t>There are no applicable capabilities.</t> | |||
</section> | </section> | |||
<section anchor="uses" numbered="true" toc="default"> | <section anchor="uses" numbered="true" toc="default"> | |||
<name>Uses</name> | <name>Uses</name> | |||
<t>Same to the "uses" field of the CDNI Advertisement resource (see | <t> | |||
<xref target="cdnifciuses" format="default"/>).</t> | The same rules as for the "uses" field of the CDNI Advertisement | |||
resource apply (see <xref target="cdnifciuses" format="default"/>).</t> | ||||
</section> | </section> | |||
<section anchor="response" numbered="true" toc="default"> | <section anchor="response" numbered="true" toc="default"> | |||
<name>Response</name> | <name>Response</name> | |||
<t>If the request is invalid, the response MUST indicate an error, using | <t>If the request is invalid, the response <bcp14>MUST</bcp14> indicate | |||
ALTO | an error using ALTO | |||
protocol error handling specified in Section 8.5 of <xref target="RFC7285" forma | Protocol error handling specified in <xref target="RFC7285" section="8.5" sectio | |||
t="default"/>.</t> | nFormat="of" format="default"/>.</t> | |||
<t>Specifically, a filtered CDNI Advertisement request is invalid if:</t > | <t>Specifically, a filtered CDNI Advertisement request is invalid if:</t > | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>the value of "capability-type" is null;</li> | <li>the value of "capability-type" is null;</li> | |||
<li>the value of "capability-value" is null;</li> | <li>the value of "capability-value" is null; or</li> | |||
<li>the value of "capability-value" is inconsistent with "capability-t ype".</li> | <li>the value of "capability-value" is inconsistent with "capability-t ype".</li> | |||
</ul> | </ul> | |||
<t>When a request is invalid, the ALTO server MUST return an | <t>When a request is invalid, the ALTO server <bcp14>MUST</bcp14> return | |||
"E_INVALID_FIELD_VALUE" error defined in Section 8.5.2 of <xref target="RFC7285" | an | |||
format="default"/>, and the | "E_INVALID_FIELD_VALUE" error defined in <xref target="RFC7285" section="8.5.2" | |||
"value" field of the error message SHOULD indicate this CDNI capability.</t> | sectionFormat="of" format="default"/>, and the | |||
"value" field of the error message <bcp14>SHOULD</bcp14> indicate this CDNI capa | ||||
bility.</t> | ||||
<t>The ALTO server returns a filtered CDNI Advertisement resource for a valid | <t>The ALTO server returns a filtered CDNI Advertisement resource for a valid | |||
request. The format of a filtered CDNI Advertisement resource is the same as a | request. The format of a filtered CDNI Advertisement resource is the same as a | |||
full CDNI Advertisement resource (See <xref target="cdnifciencoding" format="def | full CDNI Advertisement resource (see <xref target="cdnifciencoding" format="def | |||
ault"/>.)</t> | ault"/>).</t> | |||
<!-- | ||||
The returned CDNI Advertisement resource MUST contain only | ||||
BaseAdvertisementObject objects whose CDNI capability object is the superset of | ||||
one of CDNI capability object in "cdni-fci-capabilities". Specifically, that a | ||||
CDNI capability object A is the superset of another CDNI capability object B | ||||
means that these two CDNI capability objects have the same capability type and | ||||
mandatory properties in capability value of A MUST include mandatory properties | ||||
in capability value of B semantically. | ||||
<t>The returned filtered CDNI Advertisement resource MUST contain all the | <t>The returned filtered CDNI Advertisement resource <bcp14>MUST</bcp14> contain | |||
BaseAdvertisementObject objects satisfying the following condition: The CDNI | all the | |||
capability object of each included BaseAdvertisementObject object MUST follow | BaseAdvertisementObject objects satisfying the following condition: the CDNI | |||
capability object of each included BaseAdvertisementObject object <bcp14>MUST</b | ||||
cp14> follow | ||||
two constraints:</t> | two constraints:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>The "cdni-capabilities" field of the input includes a CDNI capabil ity object | <li>The "cdni-capabilities" field of the input includes a CDNI capabil ity object | |||
X having the same capability type as it.</li> | X having the same "capability-type" as it.</li> | |||
<li>All the mandatory properties in its capability value is a superset | <li>All the mandatory properties in its "capability-value" is a supers | |||
of | et of | |||
mandatory properties in capability value of X semantically.</li> | mandatory properties in "capability-value" of X semantically.</li> | |||
</ul> | </ul> | |||
<t>See <xref target="filteredcdnifciexample" format="default"/> for a co ncrete example.</t> | <t>See <xref target="filteredcdnifciexample" format="default"/> for a co ncrete example.</t> | |||
<t>The version tag included in the "vtag" field of the response MUST cor respond to | <t>The version tag included in the "vtag" field of the response <bcp14>M UST</bcp14> correspond to | |||
the full CDNI Advertisement resource from which the filtered CDNI Advertisement | the full CDNI Advertisement resource from which the filtered CDNI Advertisement | |||
resource is provided. This ensures that a single, canonical version tag is used | resource is provided. This ensures that a single, canonical version tag is used | |||
independently of any filtering that is requested by an ALTO client.</t> | independently of any filtering that is requested by an ALTO client.</t> | |||
</section> | </section> | |||
<section anchor="examples-1" numbered="true" toc="default"> | <section anchor="examples-1" numbered="true" toc="default"> | |||
<name>Examples</name> | <name>Examples</name> | |||
<t>The following examples use the same IRD example as in <xref target="I RDexample" format="default"/>.</t> | <t>The following examples use the same IRD example as in <xref target="I RDexample" format="default"/>.</t> | |||
<section anchor="filteredcdnifciexample" numbered="true" toc="default"> | <section anchor="filteredcdnifciexample" numbered="true" toc="default"> | |||
<name>A Basic Example</name> | <name>A Basic Example</name> | |||
<t>This example filters the full CDNI Advertisement resource in | <t>This example filters the full CDNI Advertisement resource in | |||
<xref target="fullcdnifciexample" format="default"/> by selecting only the http/ | <xref target="fullcdnifciexample" format="default"/> by selecting only the "http | |||
1.1 delivery protocol | /1.1" delivery protocol | |||
capability. Only the second BaseAdvertisementObjects in the full resource will | capability. Only the second BaseAdvertisementObject in the full resource will | |||
be returned because the second object's capability is http/1.1 and https/1.1 | be returned because the second object's capability is "http/1.1" and "https/1.1" | |||
delivery protocols which is the superset of https/1.1 delivery protocol.</t> | delivery protocols, which is the superset of "https/1.1" delivery protocol.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
POST /cdnifci/filtered HTTP/1.1 | POST /cdnifci/filtered HTTP/1.1 | |||
Host: alto.example.com | Host: alto.example.com | |||
Accept: application/alto-cdni+json | Accept: application/alto-cdni+json | |||
Content-Type: application/cdnifilter+json | Content-Type: application/cdnifilter+json | |||
Content-Length: 176 | Content-Length: 176 | |||
{ | { | |||
"cdni-capabilities": [ | "cdni-capabilities": [ | |||
{ | { | |||
skipping to change at line 1217 ¶ | skipping to change at line 1187 ¶ | |||
data: "/cdni-advertisement/capabilities-with-footprints | data: "/cdni-advertisement/capabilities-with-footprints | |||
/0/footprints/0/footprint-value/-", | /0/footprints/0/footprint-value/-", | |||
data: "value": "192.0.2.0/24" | data: "value": "192.0.2.0/24" | |||
data: } | data: } | |||
data: ] | data: ] | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="unifiedpropertymap" numbered="true" toc="default"> | <section anchor="unifiedpropertymap" numbered="true" toc="default"> | |||
<name>Query Footprint Properties using ALTO Property Map Service</name> | <name>Query Footprint Properties Using ALTO Property Map Service</name> | |||
<t>Besides the requirement of retrieving footprints of given capabilities, another | <t>Besides the requirement of retrieving footprints of given capabilities, another | |||
common requirement for uCDN is to query CDNI capabilities of given footprints.</ t> | common requirement for uCDN is to query CDNI capabilities of given footprints.</ t> | |||
<t>Considering each footprint as an entity with properties including CDNI | <t>Considering each footprint as an entity with properties including CDNI | |||
capabilities, a natural way to satisfy this requirement is to use the ALTO | capabilities, a natural way to satisfy this requirement is to use the ALTO | |||
property map as defined in <xref target="I-D.ietf-alto-unified-props-new" format ="default"/>. This section | property map as defined in <xref target="RFC9240" format="default"/>. This secti on | |||
describes how ALTO clients look up properties for individual footprints. First, | describes how ALTO clients look up properties for individual footprints. First, | |||
it describes how to represent footprint objects as entities in the ALTO property | it describes how to represent footprint objects as entities in the ALTO property | |||
map. Then it describes how to represent footprint capabilities as entity | map. Then it describes how to represent footprint capabilities as entity | |||
properties in the ALTO property map. Finally, it provides examples of the full | properties in the ALTO property map. Finally, it provides examples of the full | |||
property map and the filtered property map supporting CDNI capabilities, and | property map and the filtered property map supporting CDNI capabilities, and | |||
their incremental updates.</t> | their incremental updates.</t> | |||
<section anchor="footprinttoentities" numbered="true" toc="default"> | <section anchor="footprinttoentities" numbered="true" toc="default"> | |||
<name>Representing Footprint Objects as Property Map Entities</name> | <name>Representing Footprint Objects as Property Map Entities</name> | |||
<t>A footprint object has two properties: footprint-type and footprint-v | <t>A footprint object has two properties: "footprint-type" and "footprin | |||
alue. A | t-value". A | |||
footprint-value is an array of footprint values conforming to the specification | "footprint-value" is an array of footprint values conforming to the specificatio | |||
n | ||||
associated with the registered footprint type ("ipv4cidr", "ipv6cidr", "asn", | associated with the registered footprint type ("ipv4cidr", "ipv6cidr", "asn", | |||
"countrycode", and "altopid"). Considering each ALTO entity defined in | "countrycode", and "altopid"). Considering each ALTO entity defined in | |||
<xref target="I-D.ietf-alto-unified-props-new" format="default"/> also has two p roperties: entity domain type | <xref target="RFC9240" format="default"/> also has two properties: entity domain type | |||
and domain-specific identifier, a straightforward approach to represent a | and domain-specific identifier, a straightforward approach to represent a | |||
footprint as an ALTO entity is to represent its footprint-type as an entity | footprint as an ALTO entity is to represent its "footprint-type" as an entity | |||
domain type, and its footprint value as a domain-specific identifier.</t> | domain type, and its footprint value as a domain-specific identifier.</t> | |||
<t>Each existing footprint type can be represented as an entity domain t ype as | <t>Each existing footprint type can be represented as an entity domain t ype as | |||
follows:</t> | follows:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>According to <xref target="I-D.ietf-alto-unified-props-new" format ="default"/>, "ipv4" and "ipv6" are two | <li>According to <xref target="RFC9240" format="default"/>, "ipv4" and "ipv6" are two | |||
predefined entity domain types, which can be used to represent "ipv4cidr" and | predefined entity domain types, which can be used to represent "ipv4cidr" and | |||
"ipv6cidr" footprints respectively. Note that both "ipv4" and "ipv6" domains | "ipv6cidr" footprints respectively. Note that both "ipv4" and "ipv6" domains | |||
can include not only hierarchical addresses but also individual addresses. | can include not only hierarchical addresses but also individual addresses. | |||
Therefore, a "ipv4cidr" or "ipv6cidr" footprint with the longest prefix can | Therefore, a "ipv4cidr" or "ipv6cidr" footprint with the longest prefix can | |||
also be represented by an individual address entity. When the uCDN receives a | also be represented by an individual address entity. When the uCDN receives a | |||
property map with individual addresses in an "ipv4" or "ipv6" domain, it can | property map with individual addresses in an "ipv4" or "ipv6" domain, it can | |||
translate them as corresponding "ipv4cidr" or "ipv6cidr" footprints with the | translate them as corresponding "ipv4cidr" or "ipv6cidr" footprints with the | |||
longest prefix.</li> | longest prefix.</li> | |||
<li>"pid" is also a predefined entity domain type, which can be used t o represent | <li>"pid" is also a predefined entity domain type, which can be used t o represent | |||
"altopid" footprints. Note that "pid" is a resource-specific entity domain. To | "altopid" footprints. Note that "pid" is a resource-specific entity domain. To | |||
represent an "altopid" footprint, the specifying information resource of the | represent an "altopid" footprint, the specifying information resource of the | |||
corresponding "pid" entity domain MUST be the dependent network map used by | corresponding "pid" entity domain <bcp14>MUST</bcp14> be the dependent network m ap used by | |||
the CDNI Advertisement resource providing this "altopid" footprint.</li> | the CDNI Advertisement resource providing this "altopid" footprint.</li> | |||
<li>However, no existing entity domain type can represent "asn" and "c ountrycode" | <li>However, no existing entity domain type can represent "asn" and "c ountrycode" | |||
footprints. To represent footprint-type "asn" and "countrycode", this document | footprints. To represent footprint-type "asn" and "countrycode", this document | |||
registers two new entity domains in <xref target="iana" format="default"/> in ad dition to the ones in | registers two new entity domains in <xref target="iana" format="default"/> in ad dition to the ones in | |||
<xref target="I-D.ietf-alto-unified-props-new" format="default"/>.</li> | <xref target="RFC9240" format="default"/>.</li> | |||
</ul> | </ul> | |||
<t>Here is an example of representing a footprint object of "ipv4cidr" t ype as a | <t>Here is an example of representing a footprint object of "ipv4cidr" t ype as a | |||
set of "ipv4" entities in the ALTO property map. The representation of the | set of "ipv4" entities in the ALTO property map. The representation of the | |||
footprint object of "ipv6cidr" type is similar.</t> | footprint object of "ipv6cidr" type is similar.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
{ "footprint-type": "ipv4cidr", | { "footprint-type": "ipv4cidr", | |||
"footprint-value": ["192.0.2.0/24", "198.51.100.0/24"] | "footprint-value": ["192.0.2.0/24", "198.51.100.0/24"] | |||
} --> "ipv4:192.0.2.0/24", "ipv4:198.51.100.0/24" | } --> "ipv4:192.0.2.0/24", "ipv4:198.51.100.0/24" | |||
]]></artwork> | ]]></artwork> | |||
<t>And here is an example of corresponding footprint object of "ipv4cidr " type | <t>And here is an example of the corresponding footprint object of "ipv4 cidr" type | |||
represented by an individual address in an "ipv4" domain in the ALTO property | represented by an individual address in an "ipv4" domain in the ALTO property | |||
map. The translation of the entities in an "ipv6" domain is similar.</t> | map. The translation of the entities in an "ipv6" domain is similar.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
"ipv4:203.0.113.100" --> { | "ipv4:203.0.113.100" --> { | |||
"footprint-type": "ipv4cidr", | "footprint-type": "ipv4cidr", | |||
"footprint-value": ["203.0.113.100/32"] | "footprint-value": ["203.0.113.100/32"] | |||
} | } | |||
]]></artwork> | ]]></artwork> | |||
<section anchor="asn-domain" numbered="true" toc="default"> | <section anchor="asn-domain" numbered="true" toc="default"> | |||
<name>ASN Domain</name> | <name>ASN Domain</name> | |||
<t>The ASN domain associates property values with Autonomous Systems i n the | <t>The ASN domain associates property values with Autonomous Systems i n the | |||
Internet.</t> | Internet.</t> | |||
<section anchor="entity-domain-type" numbered="true" toc="default"> | <section anchor="entity-domain-type" numbered="true" toc="default"> | |||
<name>Entity Domain Type</name> | <name>Entity Domain Type</name> | |||
<t>The entity domain type of the ASN domain is "asn" (in lowercase). </t> | <t>The entity domain type of the ASN domain is "asn" (in lowercase). </t> | |||
</section> | </section> | |||
<section anchor="asn-entity-id" numbered="true" toc="default"> | <section anchor="asn-entity-id" numbered="true" toc="default"> | |||
<name>Domain-Specific Entity Identifiers</name> | <name>Domain-Specific Entity Identifiers</name> | |||
<t>The entity identifier of an entity in an ASN domain MUST be encod ed as a string | <t>The entity identifier of an entity in an ASN domain <bcp14>MUST</ bcp14> be encoded as a string | |||
consisting of the characters "as" (in lowercase) followed by the ASN | consisting of the characters "as" (in lowercase) followed by the ASN | |||
<xref target="RFC6793" format="default"/> as a decimal number without leading ze ros.</t> | <xref target="RFC6793" format="default"/> as a decimal number without leading ze ros.</t> | |||
</section> | </section> | |||
<section anchor="hierarchy-and-inheritance" numbered="true" toc="defau lt"> | <section anchor="hierarchy-and-inheritance" numbered="true" toc="defau lt"> | |||
<name>Hierarchy and Inheritance</name> | <name>Hierarchy and Inheritance</name> | |||
<t>There is no hierarchy or inheritance for properties associated wi th ASN.</t> | <t>There is no hierarchy or inheritance for properties associated wi th ASN.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="countrycode-domain" numbered="true" toc="default"> | <section anchor="countrycode-domain" numbered="true" toc="default"> | |||
<name>COUNTRYCODE Domain</name> | <name>COUNTRYCODE Domain</name> | |||
skipping to change at line 1319 ¶ | skipping to change at line 1289 ¶ | |||
<section anchor="hierarchy-and-inheritance-1" numbered="true" toc="def ault"> | <section anchor="hierarchy-and-inheritance-1" numbered="true" toc="def ault"> | |||
<name>Hierarchy and Inheritance</name> | <name>Hierarchy and Inheritance</name> | |||
<t>There is no hierarchy or inheritance for properties associated wi th country | <t>There is no hierarchy or inheritance for properties associated wi th country | |||
codes.</t> | codes.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="capabilitytoproperties" numbered="true" toc="default"> | <section anchor="capabilitytoproperties" numbered="true" toc="default"> | |||
<name>Representing CDNI Capabilities as Property Map Entity Properties</ name> | <name>Representing CDNI Capabilities as Property Map Entity Properties</ name> | |||
<t>This document defines a new entity property type called "cdni-capabil ities". An | <t>This document defines a new entity property type called "cdni-capabil ities". An | |||
ALTO server can provide a property map resource mapping the "cdni-capablities" | ALTO server can provide a property map resource mapping the "cdni-capabilities" | |||
entity property type for a CDNI Advertisement resource that it provides to an | entity property type for a CDNI Advertisement resource that it provides to an | |||
"ipv4", "ipv6", "asn" or "countrycode" entity domain.</t> | "ipv4", "ipv6", "asn", or "countrycode" entity domain.</t> | |||
<section anchor="defining-information-resource-media-type-for-property-t ype-cdni-capabilities" numbered="true" toc="default"> | <section anchor="defining-information-resource-media-type-for-property-t ype-cdni-capabilities" numbered="true" toc="default"> | |||
<name>Defining Information Resource Media Type for Property Type cdni- capabilities</name> | <name>Defining Information Resource Media Type for Property Type cdni- capabilities</name> | |||
<t>The entity property type "cdni-capabilities" allows defining resour ce-specific | <t>The entity property type "cdni-capabilities" allows defining resour ce-specific | |||
entity properties. When resource-specific entity properties are defined with | entity properties. When resource-specific entity properties are defined with | |||
entity property type "cdni-capabilities", the defining information resource for | entity property type "cdni-capabilities", the defining information resource for | |||
a "cdni-capabilities" property MUST be a CDNI Advertisement resource provided by | a "cdni-capabilities" property <bcp14>MUST</bcp14> be a CDNI Advertisement resou rce provided by | |||
the ALTO server. The media type of the defining information resource for a | the ALTO server. The media type of the defining information resource for a | |||
"cdni-capabilities" property is therefore:</t> | "cdni-capabilities" property is therefore:</t> | |||
<t>application/alto-cdni+json</t> | <t>application/alto-cdni+json</t> | |||
</section> | </section> | |||
<section anchor="intended-semantics-of-property-type-cdni-capabilities" numbered="true" toc="default"> | <section anchor="intended-semantics-of-property-type-cdni-capabilities" numbered="true" toc="default"> | |||
<name>Intended Semantics of Property Type cdni-capabilities</name> | <name>Intended Semantics of Property Type cdni-capabilities</name> | |||
<t>A "cdni-capabilities" property for an entity is to indicate all the CDNI | <t>The purpose of a "cdni-capabilities" property for an entity is to i ndicate all the CDNI | |||
capabilities that a corresponding CDNI Advertisement resource provides for the | capabilities that a corresponding CDNI Advertisement resource provides for the | |||
footprint represented by this entity. Thus, the value of a "cdni-capabilities" | footprint represented by this entity. Thus, the value of a "cdni-capabilities" | |||
property MUST be a JSON array. Each element in a "cdni-capabilities" property | property <bcp14>MUST</bcp14> be a JSON array. Each element in a "cdni-capabiliti | |||
MUST be an JSON object as format of CDNICapability (see | es" property | |||
<bcp14>MUST</bcp14> be a JSON object in the format of CDNICapability (see | ||||
<xref target="filteredcdnifciinputs" format="default"/>). The value of a "cdni-c apabilities" property for an | <xref target="filteredcdnifciinputs" format="default"/>). The value of a "cdni-c apabilities" property for an | |||
"ipv4", "ipv6", "asn", "countrycode" or "altopid" entity MUST include all the | "ipv4", "ipv6", "asn", "countrycode", or "altopid" entity <bcp14>MUST</bcp14> in clude all the | |||
CDNICapability objects satisfying the following conditions: (1) they are | CDNICapability objects satisfying the following conditions: (1) they are | |||
provided by the defining CDNI Advertisement resource; and (2) the represented | provided by the defining CDNI Advertisement resource, and (2) the represented | |||
footprint object of this entity is in their footprint restrictions.</t> | footprint object of this entity is in their footprint restrictions.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="examples-2" numbered="true" toc="default"> | <section anchor="examples-2" numbered="true" toc="default"> | |||
<name>Examples</name> | <name>Examples</name> | |||
<t>The following examples use the same IRD example given by <xref target ="IRDexample" format="default"/>.</t> | <t>The following examples use the same IRD example given by <xref target ="IRDexample" format="default"/>.</t> | |||
<section anchor="property-map" numbered="true" toc="default"> | <section anchor="property-map" numbered="true" toc="default"> | |||
<name>Property Map</name> | <name>Property Map</name> | |||
<t>This example shows a full property map in which entities are footpr ints and | <t>This example shows a full property map in which entities are footpr ints and | |||
entities' property is "cdni-capabilities".</t> | entities' property is "cdni-capabilities".</t> | |||
skipping to change at line 1412 ¶ | skipping to change at line 1382 ¶ | |||
{ "capability-type": "FCI.DeliveryProtocol", | { "capability-type": "FCI.DeliveryProtocol", | |||
"capability-value": { | "capability-value": { | |||
"delivery-protocols": ["https/1.1", "http/1.1"]}}] | "delivery-protocols": ["https/1.1", "http/1.1"]}}] | |||
} | } | |||
} | } | |||
} | } | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="filtered-property-map" numbered="true" toc="default"> | <section anchor="filtered-property-map" numbered="true" toc="default"> | |||
<name>Filtered Property Map</name> | <name>Filtered Property Map</name> | |||
<t>This example uses the filtered property map service to get "pid" an d | <t>This example uses the filtered property Map Service to get "pid" an d | |||
"cdni-capabilities" properties for two footprints "ipv4:192.0.2.0/24" and | "cdni-capabilities" properties for two footprints "ipv4:192.0.2.0/24" and | |||
"ipv6:2001:db8::/32".</t> | "ipv6:2001:db8::/32".</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
POST /propmap/lookup/cdnifci-pid HTTP/1.1 | POST /propmap/lookup/cdnifci-pid HTTP/1.1 | |||
Host: alto.example.com | Host: alto.example.com | |||
Content-Type: application/alto-propmapparams+json | Content-Type: application/alto-propmapparams+json | |||
Accept: application/alto-propmap+json,application/alto-error+json | Accept: application/alto-propmap+json,application/alto-error+json | |||
Content-Length: 181 | Content-Length: 181 | |||
{ | { | |||
skipping to change at line 1531 ¶ | skipping to change at line 1501 ¶ | |||
data: "path": "/meta/dependent-vtags/0/tag", | data: "path": "/meta/dependent-vtags/0/tag", | |||
data: "value": "61b23185a50dc7b334577507e8f00ff8c3b409e4" | data: "value": "61b23185a50dc7b334577507e8f00ff8c3b409e4" | |||
data: }, | data: }, | |||
data: { "op": "replace", | data: { "op": "replace", | |||
data: "path": | data: "path": | |||
data: "/property-map/countrycode:fr/my-default-networkmap.pid", | data: "/property-map/countrycode:fr/my-default-networkmap.pid", | |||
data: "value": "pid5" | data: "value": "pid5" | |||
data: } | data: } | |||
data: ] | data: ] | |||
]]></artwork> | ]]></artwork> | |||
<!-- Skip header line --> | ||||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="iana" numbered="true" toc="default"> | <section anchor="iana" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
<t>This document defines two new media types: "application/alto-cdni+json" , as | <t>This document defines two new media types: "application/alto-cdni+json" , as | |||
described in <xref target="iana-cdni" format="default"/>, and "application/cdnif ilter+json", as described in | described in <xref target="iana-cdni" format="default"/>, and "application/cdnif ilter+json", as described in | |||
<xref target="iana-cdnifilter" format="default"/>. It also defines a new CDNI me tadata footprint type | <xref target="iana-cdnifilter" format="default"/>. It also defines a new CDNI Me tadata Footprint Type | |||
(<xref target="iana-footprint-type" format="default"/>), two new ALTO entity dom ain types | (<xref target="iana-footprint-type" format="default"/>), two new ALTO entity dom ain types | |||
(<xref target="iana-entity-domain-type" format="default"/>), and a new ALTO enti ty property type | (<xref target="iana-entity-domain-type" format="default"/>), and a new ALTO enti ty property type | |||
(<xref target="iana-entity-prop-type" format="default"/>).</t> | (<xref target="iana-entity-prop-type" format="default"/>).</t> | |||
<section anchor="iana-cdni" numbered="true" toc="default"> | <section anchor="iana-cdni" numbered="true" toc="default"> | |||
<name>application/alto-cdni+json Media Type</name> | <name>application/alto-cdni+json Media Type</name> | |||
<dl newline="true"> | <dl newline="true"> | |||
<dt> | <dt> | |||
Type name: </dt> | Type name: </dt> | |||
<dd> | <dd> | |||
<t>application</t> | <t>application</t> | |||
skipping to change at line 1577 ¶ | skipping to change at line 1546 ¶ | |||
<dt> | <dt> | |||
Encoding considerations: </dt> | Encoding considerations: </dt> | |||
<dd> | <dd> | |||
<t>Encoding considerations are identical to those specified for the | <t>Encoding considerations are identical to those specified for the | |||
"application/json" media type. See <xref target="RFC8259" format="default"/>.</t > | "application/json" media type. See <xref target="RFC8259" format="default"/>.</t > | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Security considerations: </dt> | Security considerations: </dt> | |||
<dd> | <dd> | |||
<t>Security considerations related to the generation and consumption of ALTO | <t>Security considerations related to the generation and consumption of ALTO | |||
Protocol messages are discussed in Section 15 of <xref target="RFC7285" format=" default"/>.</t> | Protocol messages are discussed in <xref target="RFC7285" section="15" sectionFo rmat="of" format="default"/>.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Interoperability considerations: </dt> | Interoperability considerations: </dt> | |||
<dd> | <dd> | |||
<t>N/A</t> | <t>N/A</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Published specification: </dt> | Published specification: </dt> | |||
<dd> | <dd> | |||
<t><xref target="cdnifci" format="default"/> of RFCthis</t> | <t><xref target="cdnifci" format="default"/> of RFC 9241</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Applications that use this media type: </dt> | Applications that use this media type: </dt> | |||
<dd> | <dd> | |||
<t>ALTO servers and ALTO clients <xref target="RFC7285" format="defa ult"/> either stand alone or are embedded within other | <t>ALTO servers and ALTO clients <xref target="RFC7285" format="defa ult"/> either stand alone or are embedded within other | |||
applications that provides CDNI interfaces for uCDNs or dCDNs.</t> | applications that provide CDNI interfaces for uCDNs or dCDNs.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Fragment identifier considerations: </dt> | Fragment identifier considerations: </dt> | |||
<dd> | <dd> | |||
<t>N/A</t> | <t>N/A</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Additional information: </dt> | Additional information: </dt> | |||
<dd> | <dd> | |||
<dl> | <dl> | |||
skipping to change at line 1644 ¶ | skipping to change at line 1613 ¶ | |||
<t>N/A</t> | <t>N/A</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Author: </dt> | Author: </dt> | |||
<dd> | <dd> | |||
<t>See Authors' Addresses section.</t> | <t>See Authors' Addresses section.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Change controller: </dt> | Change controller: </dt> | |||
<dd> | <dd> | |||
<t>Internet Engineering Task Force (mailto:iesg@ietf.org).</t> | <t>Internet Engineering Task Force (iesg@ietf.org)</t> | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="iana-cdnifilter" numbered="true" toc="default"> | <section anchor="iana-cdnifilter" numbered="true" toc="default"> | |||
<name>application/alto-cdnifilter+json Media Type</name> | <name>application/alto-cdnifilter+json Media Type</name> | |||
<dl newline="true"> | <dl newline="true"> | |||
<dt> | <dt> | |||
Type name: </dt> | Type name: </dt> | |||
<dd> | <dd> | |||
<t>application</t> | <t>application</t> | |||
skipping to change at line 1681 ¶ | skipping to change at line 1650 ¶ | |||
<dt> | <dt> | |||
Encoding considerations: </dt> | Encoding considerations: </dt> | |||
<dd> | <dd> | |||
<t>Encoding considerations are identical to those specified for the | <t>Encoding considerations are identical to those specified for the | |||
"application/json" media type. See <xref target="RFC8259" format="default"/>.</t > | "application/json" media type. See <xref target="RFC8259" format="default"/>.</t > | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Security considerations: </dt> | Security considerations: </dt> | |||
<dd> | <dd> | |||
<t>Security considerations related to the generation and consumption of ALTO | <t>Security considerations related to the generation and consumption of ALTO | |||
Protocol messages are discussed in Section 15 of <xref target="RFC7285" format=" default"/>.</t> | Protocol messages are discussed in <xref target="RFC7285" section="15" sectionFo rmat="of" format="default"/>.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Interoperability considerations: </dt> | Interoperability considerations: </dt> | |||
<dd> | <dd> | |||
<t>N/A</t> | <t>N/A</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Published specification: </dt> | Published specification: </dt> | |||
<dd> | <dd> | |||
<t><xref target="filteredcdnifci" format="default"/> of RFCthis</t> | <t><xref target="filteredcdnifci" format="default"/> of RFC 9241</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Applications that use this media type: </dt> | Applications that use this media type: </dt> | |||
<dd> | <dd> | |||
<t>ALTO servers and ALTO clients <xref target="RFC7285" format="defa ult"/> either stand alone or are embedded | <t>ALTO servers and ALTO clients <xref target="RFC7285" format="defa ult"/> either stand alone or are embedded | |||
within other applications that provides CDNI interfaces for uCDNs or dCDNs | within other applications that provide CDNI interfaces for uCDNs or dCDNs | |||
and supports CDNI capability-based filtering.</t> | and supports CDNI capability-based filtering.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Fragment identifier considerations: </dt> | Fragment identifier considerations: </dt> | |||
<dd> | <dd> | |||
<t>N/A</t> | <t>N/A</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Additional information: </dt> | Additional information: </dt> | |||
<dd> | <dd> | |||
skipping to change at line 1749 ¶ | skipping to change at line 1718 ¶ | |||
<t>N/A</t> | <t>N/A</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Author: </dt> | Author: </dt> | |||
<dd> | <dd> | |||
<t>See Authors' Addresses section.</t> | <t>See Authors' Addresses section.</t> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Change controller: </dt> | Change controller: </dt> | |||
<dd> | <dd> | |||
<t>Internet Engineering Task Force (mailto:iesg@ietf.org).</t> | <t>Internet Engineering Task Force (iesg@ietf.org)</t> | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="iana-footprint-type" numbered="true" toc="default"> | <section anchor="iana-footprint-type" numbered="true" toc="default"> | |||
<name>CDNI Metadata Footprint Type Registry</name> | <name>CDNI Metadata Footprint Types Registry</name> | |||
<t>This document updates the CDNI Metadata Footprint Types Registry crea | <t>This document updates the "CDNI Metadata Footprint Types" registry cr | |||
ted by | eated by | |||
Section 7.2 of <xref target="RFC8006" format="default"/>. A new footprint type i | <xref target="RFC8006" section="7.2" sectionFormat="of" format="default"/>. A ne | |||
s to be registered, listed in | w footprint type, which is listed in | |||
<xref target="tbl_footprint-type" format="default"/>.</t> | <xref target="tbl_footprint-type" format="default"/>, has been registered.</t> | |||
<table anchor="tbl_footprint-type" align="center"> | <table anchor="tbl_footprint-type" align="center"> | |||
<name>CDNI Metadata Footprint Type</name> | <name>CDNI Metadata Footprint Type</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">Footprint Type</th> | <th align="left">Footprint Type</th> | |||
<th align="left">Description</th> | <th align="left">Description</th> | |||
<th align="left">Specification</th> | <th align="left">Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">altopid</td> | <td align="left">altopid</td> | |||
<td align="left">A list of PID names</td> | <td align="left">A list of PID names</td> | |||
<td align="left"> | <td align="left"> | |||
<xref target="cdnifcinetworkmap" format="default"/> of RFCthis</ td> | RFC 9241, <xref target="cdnifcinetworkmap" format="default"/></t d> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<t>[RFC Editor: Please replace RFCthis with the published RFC number for | ||||
this | ||||
document.]</t> | ||||
</section> | </section> | |||
<section anchor="iana-entity-domain-type" numbered="true" toc="default"> | <section anchor="iana-entity-domain-type" numbered="true" toc="default"> | |||
<name>ALTO Entity Domain Type Registry</name> | <name>ALTO Entity Domain Types Registry</name> | |||
<t>This document updates the ALTO Entity Domain Type Registry created by | <t>This document updates the "ALTO Entity Domain Types" registry created | |||
Section | by | |||
11.2 of <xref target="I-D.ietf-alto-unified-props-new" format="default"/>. Two n | <xref target="RFC9240" section="11.2" sectionFormat="of" format="default"/>. Two | |||
ew entity domain types are to | new entity domain types, | |||
be registered, listed in <xref target="tbl_entity-domain" format="default"/>.</t | which are listed in <xref target="tbl_entity-domain" format="default"/>, have be | |||
> | en registered.</t> | |||
<table anchor="tbl_entity-domain" align="center"> | <table anchor="tbl_entity-domain" align="center"> | |||
<name>Additional ALTO Entity Domain Types</name> | <name>Additional ALTO Entity Domain Types</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">Identifier</th> | <th align="left">Identifier</th> | |||
<th align="left">Entity Address Encoding</th> | <th align="left">Entity Identifier Encoding</th> | |||
<th align="left">Hierarchy & Inheritance</th> | <th align="left">Hierarchy and Inheritance</th> | |||
<th align="left">Media Type of Defining Resource</th> | <th align="left">Media Type of Defining Resource</th> | |||
<th align="left">Mapping to ALTO Address Type</th> | <th align="left">Mapping to ALTO Address Type</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">asn</td> | <td align="left">asn</td> | |||
<td align="left">See <xref target="asn-entity-id" format="default" /> of RFCthis</td> | <td align="left">See RFC 9241, <xref target="asn-entity-id" format ="default"/></td> | |||
<td align="left">None</td> | <td align="left">None</td> | |||
<td align="left">None</td> | <td align="left">None</td> | |||
<td align="left">false</td> | <td align="left">false</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">countrycode</td> | <td align="left">countrycode</td> | |||
<td align="left">See <xref target="countrycode-entity-id" format=" default"/> of RFCthis</td> | <td align="left">See RFC 9241, <xref target="countrycode-entity-id " format="default"/></td> | |||
<td align="left">None</td> | <td align="left">None</td> | |||
<td align="left">None</td> | <td align="left">None</td> | |||
<td align="left">false</td> | <td align="left">false</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<t>[RFC Editor: Please replace RFCthis with the published RFC number for | ||||
this | ||||
document.]</t> | ||||
</section> | </section> | |||
<section anchor="iana-entity-prop-type" numbered="true" toc="default"> | <section anchor="iana-entity-prop-type" numbered="true" toc="default"> | |||
<name>ALTO Entity Property Type Registry</name> | <name>ALTO Entity Property Types Registry</name> | |||
<t>This document updates the ALTO Entity Property Type Registry created | <t>This document updates the "ALTO Entity Property Types" registry creat | |||
by Section | ed by | |||
11.3 of <xref target="I-D.ietf-alto-unified-props-new" format="default"/>. A new | <xref target="RFC9240" section="11.3" sectionFormat="of" format="default"/>. A n | |||
entity property type is to | ew entity property type, | |||
be registered, listed in <xref target="tbl_prop-type-register" format="default"/ | which is listed in <xref target="tbl_prop-type-register" format="default"/>, has | |||
>.</t> | been registered.</t> | |||
<table anchor="tbl_prop-type-register" align="center"> | <table anchor="tbl_prop-type-register" align="center"> | |||
<name>Additional ALTO Entity Property Type</name> | <name>Additional ALTO Entity Property Type</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">Identifier</th> | <th align="left">Identifier</th> | |||
<th align="left">Intended Semantics</th> | <th align="left">Intended Semantics</th> | |||
<th align="left">Media Type of Defining Resource</th> | <th align="left">Media Type of Defining Resource</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">cdni-capabilities</td> | <td align="left">cdni-capabilities</td> | |||
<td align="left"> | <td align="left"> | |||
<xref target="capabilitytoproperties" format="default"/> of RFCt his</td> | See RFC 9241, <xref target="capabilitytoproperties" format="defa ult"/></td> | |||
<td align="left">application/alto-cdni+json</td> | <td align="left">application/alto-cdni+json</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<t>[RFC Editor: Please replace RFCthis with the published RFC number for | ||||
this | ||||
document.]</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="security" numbered="true" toc="default"> | <section anchor="security" numbered="true" toc="default"> | |||
<name>Security Considerations</name> | <name>Security Considerations</name> | |||
<t>As an extension of the base ALTO protocol <xref target="RFC7285" format | <t>As an extension of the base ALTO Protocol <xref target="RFC7285" format | |||
="default"/>, this document fits into | ="default"/>, this document fits into | |||
the architecture of the base protocol. And hence Security Considerations of the | the architecture of the base protocol, and hence Security Considerations of the | |||
base protocol (Section 15 of <xref target="RFC7285" format="default"/>) fully ap | base protocol (<xref target="RFC7285" section="15" sectionFormat="of" format="de | |||
ply when this extension is | fault"/>) fully apply when this extension is | |||
provided by an ALTO server.</t> | provided by an ALTO server.</t> | |||
<t>In the context of CDNI Advertisement, the following security risk scena rios | <t>In the context of CDNI Advertisement, the following security risk scena rios | |||
should be considered:</t> | should be considered:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>For authenticity and integrity of ALTO information, an attacker may | <li>Authenticity and integrity of ALTO information: an attacker may disg | |||
disguise | uise | |||
itself as an ALTO server for a dCDN (e.g., by starting a man-in-the-middle | itself as an ALTO server for a dCDN (e.g., by starting a on-path | |||
attack), and provide false capabilities and footprints to a uCDN using the | attack) and provide false capabilities and footprints to a uCDN using the | |||
CDNI Advertisement service. Such false information may lead a uCDN to (1) | CDNI Advertisement Service. Such false information may lead a uCDN to (1) | |||
select an incorrect dCDN to serve user requests, or (2) skip uCDNs in good | select an incorrect dCDN to serve user requests or (2) skip uCDNs in good | |||
conditions. To address this risk, protection strategies in Section 15.1.2 of | conditions. To address this risk, protection strategies in | |||
<xref target="RFC7285" format="default"/> can be applied.</li> | <xref target="RFC7285" section="15.1.2" sectionFormat="of" format="default"/> ca | |||
<li>For potential undesirable guidance from authenticated ALTO informati | n be applied.</li> | |||
on, a dCDN | <li>Potential undesirable guidance from authenticated ALTO information: | |||
a dCDN | ||||
can provide a uCDN with limited capabilities and smaller footprint coverage so | can provide a uCDN with limited capabilities and smaller footprint coverage so | |||
that the dCDN can avoid transferring traffic for a uCDN which they should have | that the dCDN can avoid transferring traffic for a uCDN that they should have | |||
to transfer. To reduce this risk, the protection strategies in Section 15.2.2 | to transfer. To reduce this risk, the protection strategies in | |||
of <xref target="RFC7285" format="default"/> can be considered.</li> | <xref target="RFC7285" section="15.2.2" sectionFormat="of" format="default"/> ca | |||
<li>For confidentiality and privacy of ALTO information, footprint prope | n be considered.</li> | |||
rties | <li>Confidentiality and privacy of ALTO information: footprint propertie | |||
s | ||||
integrated with ALTO property maps may expose network location identifiers | integrated with ALTO property maps may expose network location identifiers | |||
(e.g., IP addresses or fine-grained PIDs). To address this risk, the | (e.g., IP addresses or fine-grained PIDs). To address this risk, the | |||
protection strategy for risk types (1) and (3) as described in Section 15.3 of | protection strategy for risk types (1) and (3) as described in | |||
<xref target="RFC7285" format="default"/> can be considered.</li> | <xref target="RFC7285" section="15.3" sectionFormat="of" format="default"/> can | |||
<li>For availability of ALTO services, an attacker may conduct service d | be considered.</li> | |||
egradation | <li>For availability of ALTO services, an attacker may conduct service-d | |||
egradation | ||||
attacks using services defined in this document to disable ALTO services of a | attacks using services defined in this document to disable ALTO services of a | |||
network. It may request potentially large, full CDNI Advertisement resources | network. It may request potentially large, full CDNI Advertisement resources | |||
from an ALTO server in a dCDN continuously, to consume the bandwidth resources | from an ALTO server in a dCDN continuously in order to consume the bandwidth res | |||
of that ALTO server. It may also query filtered property map services with | ources | |||
many smaller individual footprints, to consume the computation resources of | of that ALTO server. It may also query filtered property Map Services with | |||
many smaller individual footprints in order to consume the computation resources | ||||
of | ||||
the ALTO server. To mitigate these risks, the protection strategies in | the ALTO server. To mitigate these risks, the protection strategies in | |||
Section 15.5.2 of <xref target="RFC7285" format="default"/> can be applied.</li> | <xref target="RFC7285" section="15.5.2" sectionFormat="of" format="default"/> ca n be applied.</li> | |||
</ul> | </ul> | |||
<t>Although protection strategies as described in Section 15 of <xref targ et="RFC7285" format="default"/> should | <t>Although protection strategies as described in <xref target="RFC7285" s ection="15" sectionFormat="of" format="default"/> should | |||
be applied to address aforementioned security and privacy considerations, | be applied to address aforementioned security and privacy considerations, | |||
two special cases need to be included as follows:</t> | two special cases need to be included as follows:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li> | |||
<t>As required by section 7 of <xref target="RFC8008" format="default" | <t>As required by <xref target="RFC8008" section="7" sectionFormat="of | |||
/>, </t> | " format="default"/>, </t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <blockquote> | |||
"All protocols that implement these capabilities and footprint | All protocols that implement these capabilities and footprint | |||
advertisement objects are REQUIRED to provide integrity and | advertisement objects are <bcp14>REQUIRED</bcp14> to provide integrity and | |||
authentication services." | authentication services. | |||
]]></artwork> | </blockquote> | |||
<t> | <t> | |||
Therefore, the uCDN (ALTO Client) | Therefore, the uCDN (ALTO Client) | |||
MUST be authenticated to the dCDN (ALTO Server). And the dCDN (ALTO Server) | <bcp14>MUST</bcp14> be authenticated to the dCDN (ALTO Server). And the dCDN (AL | |||
MUST support HTTP Digest Authentication and MAY also support TLS mutual | TO Server) | |||
authentication. The authentication method will need to be negotiated out of | <bcp14>MUST</bcp14> support HTTP Digest Authentication <xref target="RFC7616"/> | |||
and <bcp14>MAY</bcp14> also support TLS mutual | ||||
authentication <xref target="RFC8446"/>. The authentication method will need to | ||||
be negotiated out of | ||||
band and is out of scope for this document, as is the approach for | band and is out of scope for this document, as is the approach for | |||
provisioning and managing these credentials.</t> | provisioning and managing these credentials.</t> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>One specific information leakage risk introduced by this document c | <t>One specific information leakage risk introduced by this document c | |||
ould not | annot | |||
be addressed by these strategies. In particular, if a dCDN signs agreements | be addressed by these strategies. | |||
with multiple uCDNs without any isolation, this dCDN may disclose extra | In particular, if a | |||
information of one uCDN to another one. In that case, one uCDN may redirect | dCDN A signs agreements with multiple uCDNs without any isolation, | |||
requests which should not have to be served by this dCDN to it. </t> | dCDN A may disclose extra information of one uCDN to another one. | |||
In that case, one uCDN may redirect requests that should not have | ||||
to be served by dCDN A to dCDN A.</t> | ||||
<t> | <t> | |||
To reduce the risk, a dCDN SHOULD isolate full/filtered CDNI Advertisement | To reduce the risk, a dCDN <bcp14>SHOULD</bcp14> isolate full and/or filtered CD NI Advertisement | |||
resources for different uCDNs. It could consider generating URIs of different | resources for different uCDNs. It could consider generating URIs of different | |||
full/filtered CDNI Advertisement resources by hashing its company ID, a | full and/or filtered CDNI Advertisement resources by hashing its company ID, a | |||
uCDN's company ID as well as their agreements. A dCDN SHOULD avoid exposing | uCDN's company ID as well as their agreements. A dCDN <bcp14>SHOULD</bcp14> avoi | |||
all full/filtered CDNI Advertisement resources in one of its IRDs.</t> | d exposing | |||
all full and/or filtered CDNI Advertisement resources in one of its IRDs.</t> | ||||
</li> | </li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<displayreference target="I-D.ietf-alto-path-vector" to="ALTO-PATH-VECTOR"/> | ||||
<references> | <references> | |||
<name>References</name> | <name>References</name> | |||
<references> | <references> | |||
<name>Normative References</name> | <name>Normative References</name> | |||
<reference anchor="ISO3166-1"> | <reference anchor="ISO3166-1"> | |||
<front> | <front> | |||
<title>ISO 3166-1: Codes for the representation of names of countrie | <title>Codes for the representation of names of countries and their | |||
s and their subdivisions -- Part 1: Country codes</title> | subdivisions -- Part 1: Country codes</title> | |||
<author initials="." surname="ISO (International Organization for St | <author> | |||
andardization)" fullname="ISO (International Organization for Standardization)"> | <organization>International Organization for Standardization</orga | |||
<organization/> | nization> | |||
</author> | ||||
<date year="2020"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="I-D.ietf-alto-unified-props-new"> | ||||
<front> | ||||
<title>An ALTO Extension: Entity Property Maps</title> | ||||
<author fullname="Wendy Roome"> | ||||
<organization>Nokia Bell Labs</organization> | ||||
</author> | ||||
<author fullname="Sabine Randriamasy"> | ||||
<organization>Nokia Bell Labs</organization> | ||||
</author> | ||||
<author fullname="Y. Richard Yang"> | ||||
<organization>Yale University</organization> | ||||
</author> | ||||
<author fullname="Jingxuan Jensen Zhang"> | ||||
<organization>Tongji University</organization> | ||||
</author> | ||||
<author fullname="Kai Gao"> | ||||
<organization>Sichuan University</organization> | ||||
</author> | ||||
<date day="25" month="January" year="2022"/> | ||||
<abstract> | ||||
<t> This document specifies an extension to the base Application | ||||
-Layer | ||||
Traffic Optimization (ALTO) protocol that generalizes the concept of | ||||
"endpoint properties", which were so far tied to IP addresses, to | ||||
entities defined by a wide set of objects. Further, these properties | ||||
are presented as maps, similar to the network and cost maps in the | ||||
base ALTO protocol. While supporting the endpoints and related | ||||
endpoint property service defined in RFC7285, the ALTO protocol is | ||||
extended in two major directions. First, from endpoints restricted | ||||
to IP addresses to entities covering a wider and extensible set of | ||||
objects; second, from properties on specific endpoints to entire | ||||
entity property maps. These extensions introduce additional features | ||||
allowing entities and property values to be specific to a given | ||||
information resource. This is made possible by a generic and | ||||
flexible design of entity and property types. | ||||
</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-alto-unified-props | ||||
-new-22"/> | ||||
</reference> | ||||
<reference anchor="RFC2119"> | ||||
<front> | ||||
<title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
le> | ||||
<author fullname="S. Bradner" initials="S." surname="Bradner"> | ||||
<organization/> | ||||
</author> | ||||
<date month="March" year="1997"/> | ||||
<abstract> | ||||
<t>In many standards track documents several words are used to sig | ||||
nify the requirements in the specification. These words are often capitalized. | ||||
This document defines these words as they should be interpreted in IETF document | ||||
s. This document specifies an Internet Best Current Practices for the Internet | ||||
Community, and requests discussion and suggestions for improvements.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="2119"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
</reference> | ||||
<reference anchor="RFC6793"> | ||||
<front> | ||||
<title>BGP Support for Four-Octet Autonomous System (AS) Number Spac | ||||
e</title> | ||||
<author fullname="Q. Vohra" initials="Q." surname="Vohra"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="E. Chen" initials="E." surname="Chen"> | ||||
<organization/> | ||||
</author> | ||||
<date month="December" year="2012"/> | ||||
<abstract> | ||||
<t>The Autonomous System number is encoded as a two-octet entity i | ||||
n the base BGP specification. This document describes extensions to BGP to carr | ||||
y the Autonomous System numbers as four-octet entities. This document obsoletes | ||||
RFC 4893 and updates RFC 4271. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="6793"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6793"/> | ||||
</reference> | ||||
<reference anchor="RFC7285"> | ||||
<front> | ||||
<title>Application-Layer Traffic Optimization (ALTO) Protocol</title | ||||
> | ||||
<author fullname="R. Alimi" initials="R." role="editor" surname="Ali | ||||
mi"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="R. Penno" initials="R." role="editor" surname="Pen | ||||
no"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="Y. Yang" initials="Y." role="editor" surname="Yang | ||||
"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="S. Kiesel" initials="S." surname="Kiesel"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="S. Previdi" initials="S." surname="Previdi"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="W. Roome" initials="W." surname="Roome"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="S. Shalunov" initials="S." surname="Shalunov"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="R. Woundy" initials="R." surname="Woundy"> | ||||
<organization/> | ||||
</author> | ||||
<date month="September" year="2014"/> | ||||
<abstract> | ||||
<t>Applications using the Internet already have access to some top | ||||
ology information of Internet Service Provider (ISP) networks. For example, vie | ||||
ws to Internet routing tables at Looking Glass servers are available and can be | ||||
practically downloaded to many network application clients. What is missing is | ||||
knowledge of the underlying network topologies from the point of view of ISPs. | ||||
In other words, what an ISP prefers in terms of traffic optimization -- and a wa | ||||
y to distribute it.</t> | ||||
<t>The Application-Layer Traffic Optimization (ALTO) services defi | ||||
ned in this document provide network information (e.g., basic network location s | ||||
tructure and preferences of network paths) with the goal of modifying network re | ||||
source consumption patterns while maintaining or improving application performan | ||||
ce. The basic information of ALTO is based on abstract maps of a network. Thes | ||||
e maps provide a simplified view, yet enough information about a network for app | ||||
lications to effectively utilize them. Additional services are built on top of | ||||
the maps.</t> | ||||
<t>This document describes a protocol implementing the ALTO servic | ||||
es. Although the ALTO services would primarily be provided by ISPs, other entiti | ||||
es, such as content service providers, could also provide ALTO services. Applic | ||||
ations that could use the ALTO services are those that have a choice to which en | ||||
d points to connect. Examples of such applications are peer-to-peer (P2P) and c | ||||
ontent delivery networks.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7285"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7285"/> | ||||
</reference> | ||||
<reference anchor="RFC7493"> | ||||
<front> | ||||
<title>The I-JSON Message Format</title> | ||||
<author fullname="T. Bray" initials="T." role="editor" surname="Bray | ||||
"> | ||||
<organization/> | ||||
</author> | ||||
<date month="March" year="2015"/> | ||||
<abstract> | ||||
<t>I-JSON (short for "Internet JSON") is a restricted profile of J | ||||
SON designed to maximize interoperability and increase confidence that software | ||||
can process it successfully with predictable results.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7493"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7493"/> | ||||
</reference> | ||||
<reference anchor="RFC8006"> | ||||
<front> | ||||
<title>Content Delivery Network Interconnection (CDNI) Metadata</tit | ||||
le> | ||||
<author fullname="B. Niven-Jenkins" initials="B." surname="Niven-Jen | ||||
kins"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="R. Murray" initials="R." surname="Murray"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="M. Caulfield" initials="M." surname="Caulfield"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="K. Ma" initials="K." surname="Ma"> | ||||
<organization/> | ||||
</author> | </author> | |||
<date month="December" year="2016"/> | <date year="2020" month="August"/> | |||
<abstract> | ||||
<t>The Content Delivery Network Interconnection (CDNI) Metadata in | ||||
terface enables interconnected Content Delivery Networks (CDNs) to exchange cont | ||||
ent distribution metadata in order to enable content acquisition and delivery. | ||||
The CDNI Metadata associated with a piece of content provides a downstream CDN w | ||||
ith sufficient information for the downstream CDN to service content requests on | ||||
behalf of an upstream CDN. This document describes both a base set of CDNI Met | ||||
adata and the protocol for exchanging that metadata.</t> | ||||
</abstract> | ||||
</front> | </front> | |||
<seriesInfo name="RFC" value="8006"/> | <seriesInfo name="ISO" value="3166-1:2020"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC8006"/> | ||||
</reference> | </reference> | |||
<reference anchor="RFC8008"> | <reference anchor='RFC9240' target='https://www.rfc-editor.org/info/rfc9 240'> | |||
<front> | <front> | |||
<title>Content Delivery Network Interconnection (CDNI) Request Routi | <title>An Extension for Application-Layer Traffic Optimization (ALTO | |||
ng: Footprint and Capabilities Semantics</title> | ): Entity Property Maps</title> | |||
<author fullname="J. Seedorf" initials="J." surname="Seedorf"> | <author initials='W' surname='Roome' fullname='Wendy Roome'> | |||
<organization/> | <organization /> | |||
</author> | ||||
<author fullname="J. Peterson" initials="J." surname="Peterson"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="S. Previdi" initials="S." surname="Previdi"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="R. van Brandenburg" initials="R." surname="van Bra | ||||
ndenburg"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="K. Ma" initials="K." surname="Ma"> | ||||
<organization/> | ||||
</author> | </author> | |||
<date month="December" year="2016"/> | <author initials='S' surname='Randriamasy' fullname='Sabine Randriam | |||
<abstract> | asy'> | |||
<t>This document captures the semantics of the "Footprint and | <organization /> | |||
Capabilities Advertisement" part of the Content Delivery Ne | ||||
twork Interconnection (CDNI) Request Routing interface, i.e., the desired meanin | ||||
g of "Footprint" and "Capabilities" in the CDNI context and what the "Footprint | ||||
& Capabilities Advertisement interface (FCI)" offers within CDNI. The docum | ||||
ent also provides guidelines for the CDNI FCI protocol. It further defines a Ba | ||||
se Advertisement Object, the necessary registries for capabilities and footprint | ||||
s, and guidelines on how these registries can be extended in the future.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8008"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8008"/> | ||||
</reference> | ||||
<reference anchor="RFC8259"> | ||||
<front> | ||||
<title>The JavaScript Object Notation (JSON) Data Interchange Format | ||||
</title> | ||||
<author fullname="T. Bray" initials="T." role="editor" surname="Bray | ||||
"> | ||||
<organization/> | ||||
</author> | </author> | |||
<date month="December" year="2017"/> | <author initials='Y' surname='Yang' fullname='Y. Yang'> | |||
<abstract> | <organization /> | |||
<t>JavaScript Object Notation (JSON) is a lightweight, text-based, | ||||
language-independent data interchange format. It was derived from the ECMAScri | ||||
pt Programming Language Standard. JSON defines a small set of formatting rules | ||||
for the portable representation of structured data.</t> | ||||
<t>This document removes inconsistencies with other specifications | ||||
of JSON, repairs specification errors, and offers experience-based interoperabi | ||||
lity guidance.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="STD" value="90"/> | ||||
<seriesInfo name="RFC" value="8259"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8259"/> | ||||
</reference> | ||||
<reference anchor="RFC8174"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
tle> | ||||
<author fullname="B. Leiba" initials="B." surname="Leiba"> | ||||
<organization/> | ||||
</author> | </author> | |||
<date month="May" year="2017"/> | <author initials='J' surname='Zhang' fullname='Jingxuan Zhang'> | |||
<abstract> | <organization /> | |||
<t>RFC 2119 specifies common key words that may be used in protoco | ||||
l specifications. This document aims to reduce the ambiguity by clarifying tha | ||||
t only UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
</reference> | ||||
<reference anchor="RFC8895"> | ||||
<front> | ||||
<title>Application-Layer Traffic Optimization (ALTO) Incremental Upd | ||||
ates Using Server-Sent Events (SSE)</title> | ||||
<author fullname="W. Roome" initials="W." surname="Roome"> | ||||
<organization/> | ||||
</author> | </author> | |||
<author fullname="Y. Yang" initials="Y." surname="Yang"> | <author initials='K' surname='Gao' fullname='Kai Gao'> | |||
<organization/> | <organization /> | |||
</author> | </author> | |||
<date month="November" year="2020"/> | <date year='2022' month='July'/> | |||
<abstract> | ||||
<t>The Application-Layer Traffic Optimization (ALTO) protocol (RFC | ||||
7285) provides network-related information, called network information resource | ||||
s, to client applications so that clients can make informed decisions in utilizi | ||||
ng network resources. This document presents a mechanism to allow an ALTO server | ||||
to push updates to ALTO clients to achieve two benefits: (1) updates can be inc | ||||
remental, in that if only a small section of an information resource changes, th | ||||
e ALTO server can send just the changes and (2) updates can be immediate, in tha | ||||
t the ALTO server can send updates as soon as they are available.</t> | ||||
</abstract> | ||||
</front> | </front> | |||
<seriesInfo name="RFC" value="8895"/> | <seriesInfo name="RFC" value="9240"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC8895"/> | <seriesInfo name="DOI" value="10.17487/RFC9240"/> | |||
</reference> | </reference> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2119.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6793.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7285.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7493.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7616.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8006.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8008.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8259.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8895.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8446.xml"/> | ||||
</references> | </references> | |||
<references> | <references> | |||
<name>Informative References</name> | <name>Informative References</name> | |||
<reference anchor="I-D.ietf-alto-path-vector"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
<front> | .ietf-alto-path-vector.xml"/> | |||
<title>An ALTO Extension: Path Vector</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<author fullname="Kai Gao"> | FC.5693.xml"/> | |||
<organization>Sichuan University</organization> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
</author> | FC.6707.xml"/> | |||
<author fullname="Young Lee"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<organization>Samsung</organization> | FC.7971.xml"/> | |||
</author> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<author fullname="Sabine Randriamasy"> | FC.7975.xml"/> | |||
<organization>Nokia Bell Labs</organization> | ||||
</author> | ||||
<author fullname="Yang Richard Yang"> | ||||
<organization>Yale University</organization> | ||||
</author> | ||||
<author fullname="Jingxuan Jensen Zhang"> | ||||
<organization>Tongji University</organization> | ||||
</author> | ||||
<date day="2" month="February" year="2022"/> | ||||
<abstract> | ||||
<t> This document is an extension to the base Application-Layer | ||||
Traffic | ||||
Optimization (ALTO) protocol. It extends the ALTO Cost Map and ALTO | ||||
Property Map services so that an application can decide which | ||||
endpoint(s) to connect based on not only numerical/ordinal cost | ||||
values but also details of the paths. This is useful for | ||||
applications whose performance is impacted by specified components of | ||||
a network on the end-to-end paths, e.g., they may infer that several | ||||
paths share common links and prevent traffic bottlenecks by avoiding | ||||
such paths. This extension introduces a new abstraction called | ||||
Abstract Network Element (ANE) to represent these components and | ||||
encodes a network path as a vector of ANEs. Thus, it provides a more | ||||
complete but still abstract graph representation of the underlying | ||||
network(s) for informed traffic optimization among endpoints. | ||||
</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-alto-path-vector-2 | ||||
1"/> | ||||
</reference> | ||||
<reference anchor="RFC5693"> | ||||
<front> | ||||
<title>Application-Layer Traffic Optimization (ALTO) Problem Stateme | ||||
nt</title> | ||||
<author fullname="J. Seedorf" initials="J." surname="Seedorf"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="E. Burger" initials="E." surname="Burger"> | ||||
<organization/> | ||||
</author> | ||||
<date month="October" year="2009"/> | ||||
<abstract> | ||||
<t>Distributed applications -- such as file sharing, real-time com | ||||
munication, and live and on-demand media streaming -- prevalent on the Internet | ||||
use a significant amount of network resources. Such applications often transfer | ||||
large amounts of data through connections established between nodes distributed | ||||
across the Internet with little knowledge of the underlying network topology. | ||||
Some applications are so designed that they choose a random subset of peers from | ||||
a larger set with which to exchange data. Absent any topology information guid | ||||
ing such choices, or acting on suboptimal or local information obtained from mea | ||||
surements and statistics, these applications often make less than desirable choi | ||||
ces.</t> | ||||
<t>This document discusses issues related to an information-sharin | ||||
g service that enables applications to perform better-than-random peer selection | ||||
. This memo provides information for the Internet community.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="5693"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC5693"/> | ||||
</reference> | ||||
<reference anchor="RFC6707"> | ||||
<front> | ||||
<title>Content Distribution Network Interconnection (CDNI) Problem S | ||||
tatement</title> | ||||
<author fullname="B. Niven-Jenkins" initials="B." surname="Niven-Jen | ||||
kins"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="F. Le Faucheur" initials="F." surname="Le Faucheur | ||||
"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="N. Bitar" initials="N." surname="Bitar"> | ||||
<organization/> | ||||
</author> | ||||
<date month="September" year="2012"/> | ||||
<abstract> | ||||
<t>Content Delivery Networks (CDNs) provide numerous benefits for | ||||
cacheable content: reduced delivery cost, improved quality of experience for End | ||||
Users, and increased robustness of delivery. For these reasons, they are frequ | ||||
ently used for large-scale content delivery. As a result, existing CDN Provider | ||||
s are scaling up their infrastructure, and many Network Service Providers (NSPs) | ||||
are deploying their own CDNs. It is generally desirable that a given content i | ||||
tem can be delivered to an End User regardless of that End User's location or at | ||||
tachment network. This is the motivation for interconnecting standalone CDNs so | ||||
they can interoperate as an open content delivery infrastructure for the end-to | ||||
-end delivery of content from Content Service Providers (CSPs) to End Users. Ho | ||||
wever, no standards or open specifications currently exist to facilitate such CD | ||||
N Interconnection.</t> | ||||
<t>The goal of this document is to outline the problem area of CDN | ||||
Interconnection for the IETF CDNI (CDN Interconnection) working group. This do | ||||
cument is not an Internet Standards Track specification; it is published for in | ||||
formational purposes.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="6707"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6707"/> | ||||
</reference> | ||||
<reference anchor="RFC7971"> | ||||
<front> | ||||
<title>Application-Layer Traffic Optimization (ALTO) Deployment Cons | ||||
iderations</title> | ||||
<author fullname="M. Stiemerling" initials="M." surname="Stiemerling | ||||
"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="S. Kiesel" initials="S." surname="Kiesel"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="M. Scharf" initials="M." surname="Scharf"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="H. Seidel" initials="H." surname="Seidel"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="S. Previdi" initials="S." surname="Previdi"> | ||||
<organization/> | ||||
</author> | ||||
<date month="October" year="2016"/> | ||||
<abstract> | ||||
<t>Many Internet applications are used to access resources such as | ||||
pieces of information or server processes that are available in several equival | ||||
ent replicas on different hosts. This includes, but is not limited to, peer-to- | ||||
peer file sharing applications. The goal of Application-Layer Traffic Optimizat | ||||
ion (ALTO) is to provide guidance to applications that have to select one or sev | ||||
eral hosts from a set of candidates capable of providing a desired resource. Thi | ||||
s memo discusses deployment-related issues of ALTO. It addresses different use | ||||
cases of ALTO such as peer-to-peer file sharing and Content Delivery Networks (C | ||||
DNs) and presents corresponding examples. The document also includes recommendat | ||||
ions for network administrators and application designers planning to deploy ALT | ||||
O, such as recommendations on how to generate ALTO map information.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7971"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7971"/> | ||||
</reference> | ||||
<reference anchor="RFC7975"> | ||||
<front> | ||||
<title>Request Routing Redirection Interface for Content Delivery Ne | ||||
twork (CDN) Interconnection</title> | ||||
<author fullname="B. Niven-Jenkins" initials="B." role="editor" surn | ||||
ame="Niven-Jenkins"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="R. van Brandenburg" initials="R." role="editor" su | ||||
rname="van Brandenburg"> | ||||
<organization/> | ||||
</author> | ||||
<date month="October" year="2016"/> | ||||
<abstract> | ||||
<t>The Request Routing interface comprises (1) the asynchronous ad | ||||
vertisement of footprint and capabilities by a downstream Content Delivery Netwo | ||||
rk (CDN) that allows an upstream CDN to decide whether to redirect particular us | ||||
er requests to that downstream CDN; and (2) the synchronous operation of an upst | ||||
ream CDN requesting whether a downstream CDN is prepared to accept a user reques | ||||
t and of a downstream CDN responding with how to actually redirect the user requ | ||||
est. This document describes an interface for the latter part, i.e., the CDNI R | ||||
equest Routing Redirection interface.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7975"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7975"/> | ||||
</reference> | ||||
</references> | </references> | |||
</references> | </references> | |||
<!-- Skip header line --> | ||||
<section anchor="ack" numbered="false" toc="default"> | <section anchor="ack" numbered="false" toc="default"> | |||
<name>Acknowledgments</name> | <name>Acknowledgments</name> | |||
<t>The authors thank Matt Caulfield, Danny Alex Lachos Perez, Daryl Malas | <t>The authors thank <contact fullname="Matt Caulfield"/>, <contact fullna | |||
and | me="Danny Alex Lachos Perez"/>, | |||
Sanjay Mishra for their timely reviews and invaluable comments. Big thanks also | <contact fullname="Daryl Malas"/>, and | |||
to ALTO WG Chairs (Qin Wu and Vijay Gurbani), and all the directorate reviewers | <contact fullname="Sanjay Mishra"/> for their timely reviews and invaluable comm | |||
and IESG reviewers (Martin Duke, Erik Kline, Martin Vigoureux, Murray | ents. Big thanks also | |||
Kucherawy, Roman Danyliw, Zaheduzzaman Sarker, Eric Vyncke, and Francesca | to the ALTO WG Chairs (<contact fullname="Qin Wu"/> and <contact fullname="Vijay | |||
Palombini), for their thorough reviews, discussions, guidance and shepherding, | Gurbani"/>), all the directorate reviewers, | |||
that further improve this document.</t> | and the IESG reviewers (<contact fullname="Martin Duke"/>, <contact fullname="Er | |||
<t>Jan Seedorf has been partially supported by the GreenICN project (Green | ik Kline"/>, | |||
ICN: | <contact fullname="Martin Vigoureux"/>, <contact fullname="Murray Kucherawy"/>, | |||
<contact fullname="Roman Danyliw"/>, <contact fullname="Zaheduzzaman Sarker"/>, | ||||
<contact fullname="Éric Vyncke"/>, and <contact fullname="Francesca Palombini"/> | ||||
), | ||||
for their thorough reviews, discussions, guidance, and shepherding, | ||||
which further improve this document.</t> | ||||
<t><contact fullname="Jan Seedorf"/> has been partially supported by the G | ||||
reenICN project (GreenICN: | ||||
Architecture and Applications of Green Information Centric Networking), a | Architecture and Applications of Green Information Centric Networking), a | |||
research project supported jointly by the European Commission under its 7th | research project supported jointly by the European Commission under its 7th | |||
Framework Program (contract no. 608518) and the National Institute of | Framework Program (contract no. 608518) and the National Institute of | |||
Information and Communications Technology (NICT) in Japan (contract no. 167). | Information and Communications Technology (NICT) in Japan (contract no. 167). | |||
The views and conclusions contained herein are those of the authors and should | The views and conclusions contained herein are those of the authors and should | |||
not be interpreted as necessarily representing the official policies or | not be interpreted as necessarily representing the official policies or | |||
endorsements, either expressed or implied, of the GreenICN project, the European | endorsements, either expressed or implied, of the GreenICN project, the European | |||
Commission, or NICT.</t> | Commission, or NICT.</t> | |||
<t>This document has also been supported by the Coordination Support Actio n | <t>This document has also been supported by the Coordination Support Actio n | |||
entitled 'Supporting European Experts Presence in lnternational Standardisation | entitled 'Supporting European Experts Presence in International Standardisation | |||
Activities in ICT' ("StandlCT.eu") funded by the European Commission under the | Activities in ICT' (<eref target="https://www.standict.eu/" brackets="angle">Sta | |||
ndICT.eu</eref>) funded by the European Commission under the | ||||
Horizon 2020 Programme with Grant Agreement no. 780439. The views and | Horizon 2020 Programme with Grant Agreement no. 780439. The views and | |||
conclusions contained herein are those of the authors and should not be | conclusions contained herein are those of the authors and should not be | |||
interpreted as necessarily representing the official policies or endorsements, | interpreted as necessarily representing the official policies or endorsements, | |||
either expressed or implied, of the European Commission.</t> | either expressed or implied, of the European Commission.</t> | |||
</section> | </section> | |||
<section anchor="contributors" numbered="false" toc="include" removeInRFC="f alse"> | <section anchor="contributors" numbered="false" toc="include"> | |||
<name>Contributors</name> | <name>Contributors</name> | |||
<contact initials="X." surname="Lin" fullname="Xiao Shawn Lin"> | <contact initials="X." surname="Lin" fullname="Xiao Shawn Lin"> | |||
<organization>Huawei</organization> | <organization>Huawei</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>2222 Newjinqiao Rd</street> | <street>2222 Newjinqiao Rd</street> | |||
<city>Shanghai</city> | <city>Shanghai</city> | |||
<code>200125</code> | <code>200125</code> | |||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<phone>+86-15316812351</phone> | <phone>+86-15316812351</phone> | |||
<email>x.shawn.lin@gmail.com</email> | <email>x.shawn.lin@gmail.com</email> | |||
</address> | </address> | |||
</contact> | </contact> | |||
</section> | </section> | |||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
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 | ||||
QW/nQ2dU87wB/0vOlmYCcCAHEEvJKSqCygdSB0ve8dc9pJM9pIs9pAL/JQ23 | ||||
TqstHI7GRwcHh4PhJOrUU4NZC/LehnVUCWavjUACtbe/Z//p/oOPe6/XtBlP | ||||
wNYcwg+iprZV3ztKpNzhwT0OqlWBlFTlvWSzAEWqAXdbxuO6Mn5bWD7CtPdl | ||||
ocvJ227c2Lm5vsKbAgNzgTk2H8jS1ZLvQOALDPC6AOeiA+/6JcK9aGzSprGe | ||||
JpwyBJYpoKU09IaJdGnRXG4cv4/sHYWRWR1B0pYNSfuV9mseKpc8cOHJPJKW | ||||
IJQ3J2BpqO6WgvxSL2YqZGY4Bh0Bfsd0W2uQTggZ6zqs6QLma4tY6mnGdisV | ||||
qPnXglvWYIJSaW2S51ibb1YzHpfc6dLD3KlTcIsKHF3RloOpecyXuMEhvgql | ||||
4qL+np1+QM0EnDepuRG1GB9x/6obrN6NS0lmTtEsda7U96k0gJhpqhZqTkWn | ||||
NwMVFQTSG63VC+yVGsdjXVJpy2fdo6ypNa5UGpuizDdXXHNpza5K+aiUvErT | ||||
GAM5phS619rCrG5unMeUZ2IFFBk62iCVhDzLcgzgdOW8TvksN7E1pReIrqZG | ||||
AnfEvUpkZJsKyuN9UWV8aHxU4Y85pnZZ5XRSeys0zos7ceHA5YvukQGg/Iif | ||||
1BNLCz4DVr/puY8QW8Cs72bq2VStT0nVKyVvfXKu3tHRRsuoNGVTrp4oxMZ/ | ||||
9KHO5qmPPIvSfBhFB6PhaXQ2Pjkcn0/C4elgeD48PBoNJ6cnR0eHJ4eD4+Oj | ||||
g8j4tcQvRG4hyfmrTerrwDJQ5Gdo3HeUa5bZFAxPlnfLbsFjL9nDZlLUO29N | ||||
IHMaZXibd6d+ygZfWF2YC6kEZeTXlpPpW+lb6MSgog6BaaSV6w7bc3XpatcG | ||||
dhl4JZY+ATgUbtHfT8H7FBLYNma0EflPD082Ir8bL2pIUfUZtEsBDor/L5BC | ||||
Wwhp6wjSh48KKtSZhd+7pp2X29PigK411rRYLzmc6600n/Q9b7PjbDbPrWe8 | ||||
eecbnPk/o81r9tN9OhxcfAo2+tvlFtOaLqzikKT6Z30rKV24IZ0h00mwKe2E | ||||
+6I2qVhlSR7oxqLknnxI9Uxy5RFdyy21mYX+0VUQpceGOa6gEjl3qq6tppZH | ||||
YECMnZHZH81Fuz7wkY+bHqwtM9eG5G3dkY3Hb/Kkbg7MP9GX+tHO1GrU/uzY | ||||
icR7DlX/YGt8qu1cVYfVu85oMlSzm7ZuyC2y2nRBHRVFNiQr1Dput/DcfoTr | ||||
tsl3+ynO2/N9ct42rqasmNacnV2YdeO6mj/2pHO+Mm7cVj8unIyZsPZ462bd | ||||
xnm8pfesfc7vzV/1brTt/Gi1vqftXcyeI63Rk1Zdiv/s6W617fxqtZvTgstd | ||||
vPn7h3+B03mCm3PD8bAc+alOaNB+QoOmExC/Ztt97+yEoR9KnepKBX9Abd/f | ||||
6vteDp1rBUi4fn9U3yHNNHZo9q0GnitS96usdDfGy+e3b02EgnvMFwuZK4py | ||||
qqEO5w/hOjc307cEvyWdwI7F+pFpt112QsbIxvHKCO2HlArDQPo3tR2DaQ1q | ||||
O9CGJkycSm3kVv40/VnPbT9bV6Wsu7oEkXvFYEujMMpQ4JfpwjEK0Q8jyTSQ | ||||
NqOgSGllUm5PpH5BAJICb9EQtU4mkzd5pfWF1AEV/+KhzuKluSUm3K6QlZrn | ||||
tcIMe3/YPqLsNGydLxDs3jNNYnmS8uNyJ03MdtlqzaY5KPnmnDab2ler75po | ||||
bX+ZuC0LTe/O3fZCtErbza0X3dZuk/Te7fptllgO9d3UjS7jUndNabK8HR5k | ||||
fNPyXNrscatWqhQepmOD+7RS0xC7qd9toRcTOIsRV69zxY3x0hv3pD3Lhmao | ||||
bnnfhrZ7wZvob5qfVJrNSccv24Sv1Chqi+ZVm7pXcTs8IzHW3JGqPI//jqqU | ||||
ADnNrh5V246+4q0EzPPRuY6l9aW1XwRyfwsSTshtmkoYwQndX+blbdd1Qzsm | ||||
o6zUx82blMDxkbNyYKameZxSNe3jYNoy7HDeSxPUqXa6q99R+Y54JCJuBK5c | ||||
I5dy4lOXuUsfP2prn5OngHprOdlOSmdblZp/gRCgq/nctvptaWfKCSOZCGn9 | ||||
0CiMKN3eNBXTLbpokaaTntq6x1g5cwzLCNwre7Eplwcp5kI++LmHIa01Xej7 | ||||
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 | ||||
</rfc> | </rfc> | |||
End of changes. 166 change blocks. | ||||
1252 lines changed or deleted | 448 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |