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 "&#160;">
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> <!ENTITY zwsp "&#8203;">
<?rfc toc="yes"?> <!ENTITY nbhy "&#8209;">
<?rfc tocompact="yes"?> <!ENTITY wj "&#8288;">
<?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 &amp; 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
&amp; Capabilities Advertisement interface (FCI) is needed to achieve the goals &amp; 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 &amp; 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 &amp; Capabilities into two functionalities: (1) the CDNI Footprint &amp; 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&nbsp;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 &amp; 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 &amp; 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 &amp; 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
&amp; 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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
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
iuyv7jUiJseu0iv4qd2Bg+AWMbCmR+42DZopyOSIDPxcR5N0i03qxFrYOwNY
HQJEjscm3uY1j2X+R1oDuiW6ThQ9MG4a+kmZy6XcdqgtF0dVAqabJEF5xYAI
dJGi15qy4kvUveS+anuTzYknvgq6qL2pgdhaZXLYI10pFDYCvEIaTK0A8aDz
/C/Xr35/+eL66i9fXz9/cfUX+Pvt846Au4Y5AIwrN9sZx1kgNpOPUDwWd/eP
1O23r9++uLLHTlhfIoy+k/RQylPdUpQzvREMAkdUR1rq8rXFW+oshcO3w2Cj
02Gn1ApaN1je7e/a1kJWHW4bik5LdGO+jHxTw3yOj5bg6bSUpb2s8LIovnBC
1OymDxIJPaDB7RW49VU5EwHTn4OGcS5rpgakcZKjqt/8JtDtXc39nugBrn87
N10V+aScF0hwY3cX0wDKvRIMvdf2XUONl35n67pPg4ZPf2M6wyJkpMGSd+Jb
4Z139HLl+cbT50vS19VbwtGfHbPL8k53Mq+CHFZPDTxNksGGZrS0Rp4kIO+8
vX6dWhrdUVJ5taLbYw+ssZu+thUpKZOBFPyjzqJvPmbMnsFLRC/ljvimM4+L
vHp4pEW7xKEav687+D+WDj64rb9OUIdUhUlhrhKghkncEObn9AqvJpxQfN4H
oy9VbaIPZny16FEOy0R1g80JDq40ImngMkd9x4tYQlGSrzKdcmT7Z42A2BME
jL8vbnoOlGSiQfM1s4a1c68gN752bUe8FTEp5aF/VEKLjqGHeUtWS7UstfZA
y3F5fsupDWg3xUmvqha87nKGPvXJpo5d87WJLNXXjbpRJfVavy8xrfbiVVPE
YPqLzeeB67sZRqPQAFGiZFWzBQ/LrM+rTK0G4HJrwpYFhA2eVb4qhcvK/XU+
UyFra3CsZIrXxcNOT5x4WJUP2hBxXevMrSP0m+rNGhK2/Si2eV8HkPn//tAa
BvN2e3y6vzmY+LlKdlu6V/y7ZvffFZ1PLzLcmPRAjHcUomzjq1DxBV1zB8wK
L2mqzfB3C7Dq0g78Gxn09Q7OeaFkXdGVJJiYzfnB83gRF6aRd7n9eId0Kl9B
CDy35ROzDeAhki+/93NLOzg8OmlNOzC8Yvs0gTb2wrCt6dnRxNwbKOPjOh1v
wxHorScx/SotbaKsf2dJ+JVnNUhWTlbYxup7YsJC26xeQNwPLv88g+M/x9yF
UlFQW/j8d3Txp1OzYQ1GpyzIu/vUXtpZvWOc8uFzcxWWc8crMnS5Csu7o4PE
EAdJXXh0taNF373pDmUu54mdy0urUQIzsHchjpucR34DW1AS5hIFJgGHfkvP
ftbNeivNt9FDm4RgbIBsfuAbtMSnweLZXTsvWVsj2l1sewKXC1c23jMrJmwu
IRadlMB3Vzq6AIjfNH0Hwt/dFN/BPY7BGF7B4t0bJb6mwv0gtnfZmOswbS1W
uXCbwhAEQHOniC0Do00GVOlCRffbDu13H9J9kAPft1GZSEpq4oRdfbFzC5Sx
rPV97mA+lk5Bcirr+zZLT3OTXFJG3DH6LuLa28111EF2iUNY4nttYehR3HMN
UDDi9ctFqsFM90VWKujpauyH1Dnsi9LNOf5VSsxU+uoyKD3y7oZLnZtqWPmj
sjX0T5PPI612cQ/CPE9HdFe9vQIVLxPOGbKl+q8dR9V2G9lw98Vu4DV1ZB++
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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/