[要約] RFC 9241 aims to enhance Content Delivery Network Interconnection (CDNI) by introducing an ALTO-based CDNI Advertisement Service for efficient footprint and capabilities advertisement, building upon RFC 6707 and RFC 8008 guidelines.

Internet Engineering Task Force (IETF)                        J. Seedorf
Request for Comments: 9241                                 HFT Stuttgart
Category: Standards Track                                        Y. Yang
ISSN: 2070-1721                                          Yale University
                                                                   K. Ma
                                                                Ericsson
                                                             J. Peterson
                                                                 NeuStar
                                                                J. Zhang
                                                       Tongji University
                                                               July 2022
        

Content Delivery Network Interconnection (CDNI) Footprint and Capabilities Advertisement Using Application-Layer Traffic Optimization (ALTO)

コンテンツ配信ネットワークの相互接続(CDNI)フットプリントと機能アプリケーションレイヤートラフィック最適化(ALTO)を使用した広告広告

Abstract

概要

The Content Delivery Networks Interconnection (CDNI) framework in RFC 6707 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 & Capabilities Advertisement interface (FCI) is needed to achieve the goals of a CDNI. RFC 8008 defines the FCI semantics and provides guidelines on the FCI protocol, but the exact protocol is not specified. 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.

RFC 6707のコンテンツ配信ネットワークの相互接続(CDNI)フレームワークは、特定のCDNのリーチを拡張するなど、複数の目標を達成するためにCDNを相互接続するプロトコルのセットを定義します。CDNIの目標を達成するには、CDNI要求ルーティングフットプリントと機能広告インターフェイス(FCI)が必要です。RFC 8008はFCIセマンティクスを定義し、FCIプロトコルのガイドラインを提供しますが、正確なプロトコルは指定されていません。このドキュメントでは、RFC 8008で定義されたガイドラインに従って、FCIの実装を提供する「CDNI広告サービス」と呼ばれる新しいアプリケーション層トラフィック最適化(ALTO)サービスを定義します。

Status of This Memo

本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 7841のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9241.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9241で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2022 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、修正されたBSDライセンスで説明されているように保証なしで提供される修正されたBSDライセンステキストを含める必要があります。

Table of Contents

目次

   1.  Introduction
   2.  Terminology and Background
     2.1.  Terminology
     2.2.  Semantics of FCI Advertisement
     2.3.  ALTO Background and Benefits
   3.  CDNI Advertisement Service
     3.1.  Media Type
     3.2.  HTTP Method
     3.3.  Accept Input Parameters
     3.4.  Capabilities
     3.5.  Uses
     3.6.  Response
     3.7.  Examples
       3.7.1.  IRD
       3.7.2.  A Basic Example
       3.7.3.  Incremental Updates
   4.  CDNI Advertisement Service Using ALTO Network Map
     4.1.  Network Map Footprint Type: altopid
     4.2.  Examples
       4.2.1.  ALTO Network Map for CDNI Advertisements
       4.2.2.  ALTO PID Footprints in CDNI Advertisements
       4.2.3.  Incremental Updates
   5.  Filtered CDNI Advertisement Using CDNI Capabilities
     5.1.  Media Type
     5.2.  HTTP Method
     5.3.  Accept Input Parameters
     5.4.  Capabilities
     5.5.  Uses
     5.6.  Response
     5.7.  Examples
       5.7.1.  A Basic Example
       5.7.2.  Incremental Updates
   6.  Query Footprint Properties Using ALTO Property Map Service
     6.1.  Representing Footprint Objects as Property Map Entities
       6.1.1.  ASN Domain
       6.1.2.  COUNTRYCODE Domain
     6.2.  Representing CDNI Capabilities as Property Map Entity
           Properties
       6.2.1.  Defining Information Resource Media Type for Property
               Type cdni-capabilities
       6.2.2.  Intended Semantics of Property Type cdni-capabilities
     6.3.  Examples
       6.3.1.  Property Map
       6.3.2.  Filtered Property Map
       6.3.3.  Incremental Updates
   7.  IANA Considerations
     7.1.  application/alto-cdni+json Media Type
     7.2.  application/alto-cdnifilter+json Media Type
     7.3.  CDNI Metadata Footprint Types Registry
     7.4.  ALTO Entity Domain Types Registry
     7.5.  ALTO Entity Property Types Registry
   8.  Security Considerations
   9.  References
     9.1.  Normative References
     9.2.  Informative References
   Acknowledgments
   Contributors
   Authors' Addresses
        
1. Introduction
1. はじめに

The ability to interconnect multiple content delivery networks (CDNs) has many benefits, including increased coverage, capability, and reliability. The Content Delivery Networks Interconnection (CDNI) framework [RFC6707] defines four interfaces to interconnect CDNs: (1) the CDNI Request Routing Interface, (2) the CDNI Metadata Interface, (3) the CDNI Logging Interface, and (4) the CDNI Control Interface.

複数のコンテンツ配信ネットワーク(CDN)を相互接続する機能には、カバレッジ、能力、信頼性の向上など、多くの利点があります。コンテンツ配信ネットワークの相互接続(CDNI)フレームワーク[RFC6707]は、4つのインターフェイスを相互接続CDNSに定義します。制御インターフェイス。

Among these four interfaces, the CDNI Request Routing Interface provides key functions, as specified in [RFC6707]:

これらの4つのインターフェイスの中で、CDNI要求ルーティングインターフェイスは、[RFC6707]で指定されているように、重要な機能を提供します。

   |  The CDNI Request Routing interface enables a Request Routing
   |  function in an Upstream CDN to query a Request Routing function in
   |  a Downstream CDN to determine if the Downstream CDN is able (and
   |  willing) to accept the delegated Content Request.  It also allows
   |  the Downstream CDN to control what should be returned to the User
   |  Agent in the redirection message by the upstream Request Routing
   |  function.
        

At a high level, therefore, the scope of the CDNI Request Routing Interface 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.

したがって、高レベルでは、CDNIリクエストルーティングインターフェイスの範囲には2つの主要なタスクが含まれています。(1)DCDN(下流CDN)が委任されたコンテンツ要求を受け入れる意思があるかどうかを判断し、(2)からのコンテンツリクエストをリダイレクトするDCDNの適切なエントリポイントまたはエンティティへのUCDN(上流CDN)。

Correspondingly, the Request Routing Interface is broadly divided into two functionalities: (1) the CDNI Footprint & Capabilities Advertisement interface (FCI) defined in [RFC8008] and (2) the CDNI Request Routing Redirection interface (RI) defined in [RFC7975]. This document focuses on the first functionality (CDNI FCI).

それに応じて、要求ルーティングインターフェイスは、[RFC8008]で定義されているCDNIフットプリントおよび機能広告インターフェイス(FCI)と(2)[RFC7975]で定義されたCDNIリクエストルーティングリダイレクトインターフェイス(RI)を広く2つの機能に広く分割します。このドキュメントは、最初の機能(CDNI FCI)に焦点を当てています。

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 knows whether it can redirect a particular user request to that dCDN.

具体的には、CDNI FCIは、DCDNからUCDN(プッシュ)への広告とUCDNからDCDN(プル)へのクエリの両方を許可し、UCDNが特定のユーザー要求をそのDCDNにリダイレクトできるかどうかを知っています。

A key component in defining the CDNI FCI is defining the objects that describe the footprints and capabilities of a dCDN. Such objects are already specified in Section 5 of [RFC8008]. However, no protocol is defined to transport and update such objects between a uCDN and a dCDN.

CDNI FCIを定義する重要なコンポーネントは、DCDNのフットプリントと機能を記述するオブジェクトを定義することです。このようなオブジェクトは、[RFC8008]のセクション5ですでに指定されています。ただし、UCDNとDCDNの間でそのようなオブジェクトを輸送および更新するためのプロトコルは定義されていません。

To define such a protocol, this document specifies an extension of the Application-Layer Traffic Optimization (ALTO) Protocol [RFC7285] by introducing a new ALTO service called "CDNI Advertisement Service".

このようなプロトコルを定義するために、このドキュメントは、「CDNI Advertisement Service」と呼ばれる新しいALTOサービスを導入することにより、アプリケーション層トラフィック最適化(ALTO)プロトコル[RFC7285]の拡張を指定します。

Section 2.3 discusses the benefits in using ALTO as a transport protocol.

セクション2.3では、ALTOを輸送プロトコルとして使用することの利点について説明します。

2. Terminology and Background
2. 用語と背景

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

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 of both.

ALTOを使用したCDNI FCI輸送の設計は、FCIセマンティクスとALTOの両方の理解を前提としています。したがって、このドキュメントは、両方の非規範的なレビューから始まります。

2.1. Terminology
2.1. 用語

The document uses the CDNI terms defined in [RFC6707], [RFC8006], and [RFC8008]. Also, the document uses the ALTO terms defined in [RFC7285] and [RFC9240]. This document uses the following abbreviations:

このドキュメントでは、[RFC6707]、[RFC8006]、および[RFC8008]で定義されたCDNI用語を使用しています。また、このドキュメントでは、[RFC7285]および[RFC9240]で定義されているALTO用語を使用しています。このドキュメントでは、次の略語を使用しています。

ALTO: Application-Layer Traffic Optimization

ALTO:アプリケーション層トラフィックの最適化

ASN: Autonomous System Number

ASN:自律システム番号

CDN: Content Delivery Network

CDN:コンテンツ配信ネットワーク

CDNI: CDN Interconnection

CDNI:CDN相互接続

dCDN: Downstream CDN

DCDN:ダウンストリームCDN

FCI: CDNI FCI, CDNI Request Routing Footprint & Capabilities Advertisement interface

FCI:CDNI FCI、CDNIリクエストルーティングフットプリントと機能広告インターフェイス

IRD: Information Resource Directory in ALTO

IRD:ALTOの情報リソースディレクトリ

PID: Provider-defined Identifier in ALTO

PID:ALTOのプロバイダー定義識別子

uCDN: Upstream CDN

UCDN:上流CDN

2.2. Semantics of FCI Advertisement
2.2. FCI広告のセマンティクス

[RFC8008] defines the semantics 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 definitions in [RFC8008] depend on [RFC8006]. Below is a non-normative review of key related points of [RFC8008] and [RFC8006]. For detailed information and normative specification, the reader should refer to these two RFCs.

[RFC8008] CDNI FCIのセマンティクスを定義し、CDNIコンテキストでフットプリントと機能が意味するものに関するガイダンスを提供し、CDNI FCI輸送プロトコルの要件を指定します。[RFC8008]の定義は[RFC8006]に依存します。以下は、[RFC8008]および[RFC8006]の重要な関連点の非規範的なレビューです。詳細情報と規範的仕様については、読者はこれら2つのRFCを参照する必要があります。

* Multiple types of mandatory-to-implement footprints (i.e., "ipv4cidr", "ipv6cidr", "asn", and "countrycode") are defined in [RFC8006]. A "set of IP prefixes" can 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 multiple IP address versions, i.e., IPv4 and IPv6, in such a footprint.

* 複数のタイプの必須から実装のフットプリント(つまり、 "IPv4cidr"、 "ipv6cidr"、 "asn"、および "countrycode")は[RFC8006]で定義されています。「IPプレフィックスのセット」には、完全なIPアドレス(つまり、IPv4の場合はA /32またはIPv6の場合はA /128)と、任意のプレフィックス長のIPプレフィックスの両方を含めることができます。また、このようなフットプリントには、複数のIPアドレスバージョン、つまりIPv4とIPv6のサポートも必要です。

* Multiple initial types of capabilities are defined in [RFC8008] including (1) Delivery Protocol, (2) Acquisition Protocol, (3) Redirection Mode, (4) capabilities related to CDNI Logging, and (5) capabilities related to CDNI Metadata. They are required in all cases and, therefore, considered as mandatory-to-implement capabilities for all CDNI FCI implementations.

* [RFC8008]では、(1)配信プロトコル、(2)取得プロトコル、(3)リダイレクトモード、(4)CDNIロギングに関連する(4)CDNIメタデータに関連する(5)機能を含む、複数の初期タイプの機能が[RFC8008]で定義されています。これらはすべての場合に必要であり、したがって、すべてのCDNI FCI実装に必須の能力と見なされます。

* Footprint and capabilities are defined together and cannot be interpreted independently from each other. Specifically, [RFC8008] integrates footprint and capabilities with an approach of "capabilities with footprint restrictions", by expressing capabilities on a per footprint basis.

* フットプリントと機能は一緒に定義されており、互いに独立して解釈することはできません。具体的には、[RFC8008]は、フットプリントごとに機能を表現することにより、フットプリントと機能を「フットプリント制限のある機能」のアプローチと統合します。

* Specifically, for all mandatory-to-implement footprint types, footprints can 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 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 Routing source falls within the prefix set or ASN, respectively. The CDNI 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 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 country of the Request Routing source. Different types of footprint 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 satisfies all the types of footprint constraints in the advertisement.

* 具体的には、すべての義務的な予定のフットプリントタイプについて、フットプリントは、リクエストをDCDNに委任するための制約と見なすことができます。DCDNフットプリント広告は、UCDNにDCDNにリクエストを委任するための制限を示します。 IPプレフィックスまたは自律システム番号(ASNS)の場合、フットプリントはUCDNに、リクエストルーティングソースのIPアドレスがそれぞれプレフィックスセットまたはASN内に収まる場合にのみ、DCDNを候補と見なす必要があるということを示します。 CDNI仕様は、特定のUCDNが特定のASNのどのアドレス範囲を決定するかを定義するものではありません。同様に、カントリーコードの場合、UCDNは、Requestルーティングソースの国をカバーする場合にのみ、DCDNを候補者と見なす必要があります。 CDNI仕様は、特定のUCDNがリクエストルーティングソースの国をどのように決定するかを定義しません。さまざまなタイプのフットプリント制約を組み合わせてDCDN立候補を絞り込むことができます。つまり、UCDNは、リクエストルーティングソースが広告のすべてのタイプのフットプリント制約を満たしている場合にのみ、DCDNを候補と考える必要があります。

* Given that a large part of Footprint and Capabilities Advertisement may happen in contractual agreements, the semantics of CDNI Footprint and Capabilities Advertisement refers to answering the following question: what 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 convey via the CDNI FCI. Such information would provide updates on information previously agreed to in contracts between the participating CDNs. In other words, 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 a contract with a uCDN. Hence, server push and incremental encoding will be necessary techniques.

* フットプリントと機能の広告の大部分が契約上の合意で起こる可能性があることを考えると、CDNIフットプリントと機能広告のセマンティクスは、次の質問に答えることを指します。たとえば、フットプリントの一部の時間的障害に関する更新は、CDNI FCIを介して伝えるのに役立つ情報です。このような情報は、参加しているCDN間の契約で以前に合意された情報に関する最新情報を提供します。言い換えれば、CDNI FCIは、DCDNがUCDNとの契約で以前にサービスを提供することに同意したフットプリントおよび/または機能に関する変更と更新を提供する手段です。したがって、サーバーのプッシュとインクリメンタルエンコードが必要な手法です。

2.3. ALTO Background and Benefits
2.3. アルトの背景と利点

Application-Layer Traffic Optimization (ALTO) [RFC7285] defines an approach for conveying network-layer (topology) information to "guide" the resource provider selection process in distributed applications that can choose among several candidate resources providers to retrieve a given resource. Usually, it is assumed that an ALTO server conveys information that these applications cannot measure or have difficulty measuring themselves [RFC5693].

アプリケーション層トラフィック最適化(ALTO)[RFC7285]は、特定のリソースを取得するためにいくつかの候補リソースプロバイダーから選択できる分散アプリケーションで、ネットワーク層(トポロジ)情報を伝達するためのアプローチを定義します。通常、ALTOサーバーは、これらのアプリケーションが自分自身を測定することができない、または困難な情報を伝えていると想定されています[RFC5693]。

Originally, ALTO was motivated by optimizing cross-ISP traffic generated by peer-to-peer applications [RFC5693]. However, ALTO can also be used for improving the Request Routing in CDNs. In particular, Section 5 of [RFC7971] explicitly mentions ALTO as a candidate protocol to improve the selection of a CDN surrogate or origin.

もともと、アルトはピアツーピアアプリケーションによって生成されたクロスISPトラフィックを最適化することで動機付けられました[RFC5693]。ただし、ALTOはCDNのリクエストルーティングを改善するためにも使用できます。特に、[RFC7971]のセクション5は、CDNの代理または起源の選択を改善するための候補プロトコルとしてAltoを明示的に言及しています。

The following reasons make ALTO a suitable candidate protocol for dCDN selection as part of CDNI Request Routing and, in particular, for an FCI protocol:

以下の理由により、ALTOはCDNIリクエストルーティングの一部としてDCDN選択に適した候補プロトコルになります。特に、FCIプロトコルのための:

* Application-Layer-oriented: ALTO is a protocol specifically designed to improve application-layer traffic (and application-layer connections among hosts on the Internet) by providing additional information to applications that these applications could not easily retrieve themselves. This matches the need of CDNI, where a uCDN wants to improve application-layer CDN request routing by 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 providing dCDNs' capabilities as well as footprints (see Section 3) and then providing costs of surrogates in a dCDN by ALTO cost maps.

* アプリケーション層指向:ALTOは、これらのアプリケーションが簡単に取得できないというアプリケーションに追加情報を提供することにより、アプリケーション層トラフィック(およびインターネット上のホスト間のアプリケーションレイヤー接続)を改善するために特別に設計されたプロトコルです。これは、UCDNがそれ以外の場合は簡単に取得できない情報(DCDNが提供)を使用して、UCDNがアプリケーション層CDNリクエストルーティングを改善したいCDNIの必要性と一致します。したがって、ALTOは、最初にDCDNSの機能とフットプリントを提供し(セクション3を参照)、ALTOコストマップによるDCDNでのサロゲートのコストを提供することにより、UCDNが適切なDCDNを選択するのを支援できます。

* Security: The identification between uCDNs and dCDNs is an important requirement (see Section 8). ALTO maps can be signed and hence provide inherent origin protection. Please see Section 15.1.2 of [RFC7285] for detailed protection strategies.

* セキュリティ:UCDNSとDCDNSの識別は重要な要件です(セクション8を参照)。アルトマップに署名することができ、したがって固有の原点保護を提供します。詳細な保護戦略については、[RFC7285]のセクション15.1.2を参照してください。

* RESTful design: The ALTO Protocol has undergone extensive revisions in order to provide a RESTful design regarding the client-server interaction specified 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 client-server interaction model for other existing CDNI interfaces or potential future extensions and therefore reduce the learning cost for both users and developers, although they are not in the scope of this document. A CDNI FCI interface based on ALTO would inherit this RESTful design. Please see Section 3.

* RESTFUL DESIGN:ALTOプロトコルは、プロトコルによって指定されたクライアントサーバーの相互作用に関するRESTFUL DESIGNを提供するために、広範な改訂を受けました。CDNIによって定義された既存および潜在的な将来のデータ形式を処理するのに十分柔軟で拡張可能です。他の既存のCDNIインターフェイスまたは潜在的な将来の拡張機能に一貫したクライアントサーバーインタラクションモデルを提供することができ、したがって、ユーザーと開発者の両方の学習コストを削減できますが、このドキュメントの範囲はありません。ALTOに基づいたCDNI FCIインターフェイスは、この安らかなデザインを継承します。セクション3を参照してください。

* Error handling: The ALTO Protocol provides extensive error handling in the whole request and response process (see Section 8.5 of [RFC7285]). A CDNI FCI interface based on ALTO would inherit this extensive error-handling framework. Please see Section 5.

* エラー処理:ALTOプロトコルは、要求と応答プロセス全体で広範なエラー処理を提供します([RFC7285]のセクション8.5を参照)。ALTOに基づくCDNI FCIインターフェイスは、この広範なエラー処理フレームワークを継承します。セクション5を参照してください。

* Map Service: The semantics of an ALTO network map is an exact match for the needed information to convey a footprint by a dCDN, in particular, if such a footprint is being expressed by IP prefix ranges. Please see Section 4.

* マップサービス:ALTOネットワークマップのセマンティクスは、特にそのようなフットプリントがIPプレフィックス範囲で表現されている場合、DCDNによってフットプリントを伝えるために必要な情報と正確な一致です。セクション4を参照してください。

* 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 Map Service can enable a uCDN to query properties of a part of footprints efficiently. Please see Section 6.

* フィルタリングされたマップサービス:ALTOマップフィルタリングサービスにより、UCDNはALTOマップの一部のみをクエリできます。たとえば、ALTOフィルタリングされたプロパティマップサービスにより、UCDNはフットプリントの一部のプロパティを効率的に照会できます。セクション6を参照してください。

* Server-initiated notifications and incremental updates: When the footprint or 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 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 content to such clients with reasonable QoS. Without server-initiated notifications, the uCDN might still use a recent network and cost map from the dCDN and therefore redirect requests to the dCDN that it cannot serve. Similarly, the possibility for incremental updates would enable efficient conveyance of the aforementioned (or similar) status changes by the dCDN to the uCDN. The newest design of ALTO supports server-pushed incremental updates [RFC8895].

* サーバーが開始した通知と増分更新:DCDNのフットプリントまたは機能(つまり、UCDNの観点から予期せず)の機能(つまり、UCDNの観点から)の場合、サーバーが開始する通知により、DCDNはそのような変更についてUCDNに直接通知できます。障害のために、DCDNのフットプリントの一部が機能していない場合を考えてみましょう。つまり、CDNは、合理的なQoSを持つクライアントにコンテンツを提供できない場合を考えてください。サーバー開始通知がなければ、UCDNは依然としてDCDNからの最近のネットワークとコストマップを使用する可能性があるため、提供できないDCDNにリクエストをリダイレクトする場合があります。同様に、増分更新の可能性により、DCDNによる前述の(または類似の)ステータスの変更をUCDNに効率的に伝達することができます。ALTOの最新の設計は、サーバープッシュされた増分更新[RFC8895]をサポートしています。

* Content availability on hosts: A dCDN might want to express CDN capabilities in terms of certain content types (e.g., codecs and/ or formats, or content from certain content providers). ALTO Entity Property Map [RFC9240] would enable a dCDN to make such information available to a uCDN. This would enable a uCDN to assess whether a dCDN has the capabilities for a given type of content requested.

* ホストのコンテンツの可用性:DCDNは、特定のコンテンツタイプ(コードや形式、または特定のコンテンツプロバイダーのコンテンツなど)の観点からCDN機能を表現することをお勧めします。ALTO ENTITYプロパティマップ[RFC9240]により、DCDNがUCDNでそのような情報を利用できるようになります。これにより、UCDNがDCDNに特定のタイプのコンテンツの機能が要求されているかどうかを評価できます。

* Resource availability on hosts or links: The capabilities on links (e.g., 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 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 requirements (i.e., can be expected to have enough consistent bandwidth) before it redirects the request. In general, if ALTO could convey such information via ALTO Entity Property Map [RFC9240], it would enable more sophisticated means for dCDN selection with ALTO. The ALTO Path Vector extension [ALTO-PATH-VECTOR] is designed to allow ALTO clients to query information such as capacity regions for a given set of flows.

* ホストまたはリンクのリソースの可用性:リンク上の機能(最大帯域幅など)またはキャッシュ(平均負荷など)は、最適化されたDCDN選択のためのUCDNの有用な情報です。たとえば、UCDNが特定のビットレートを使用してコンテンツのストリーミングリクエストを受信した場合、DCDNがそのような厳しいアプリケーションレベルの要件を満たすことができるかどうかを知る必要があります(つまり、十分な一貫した帯域幅を持つことが予想される可能性があります)リクエストをリダイレクトします。一般に、ALTOがALTO Entity Property Map [RFC9240]を介してそのような情報を伝えることができれば、ALTOを使用したDCDN選択のより洗練された手段を可能にします。ALTO PATH VECTOR拡張[ALTO-PATH-VECTOR]は、ALTOクライアントが特定の一連のフローの容量領域などの情報を照会できるように設計されています。

3. CDNI Advertisement Service
3. CDNI広告サービス

The ALTO Protocol relies upon the ALTO information service framework, which consists of multiple services. All ALTO services are "provided through a common transport protocol; messaging structure and encoding; and transaction model" [RFC7285]. The ALTO Protocol specification defines multiple initial services, e.g., the ALTO Network Map Service and Cost Map Service.

ALTOプロトコルは、複数のサービスで構成されるALTO情報サービスフレームワークに依存しています。すべてのALTOサービスは、「一般的な輸送プロトコル、メッセージング構造とエンコード、およびトランザクションモデルを通じて提供されます」[RFC7285]。ALTOプロトコル仕様は、ALTOネットワークマップサービスとコストマップサービスなど、複数の初期サービスを定義しています。

This document defines a new ALTO service, called "CDNI Advertisement Service", which conveys JSON [RFC8259] objects of media type "application/alto-cdni+json". These JSON objects are used to transport BaseAdvertisementObject objects defined in [RFC8008]. This document specifies how to transport such BaseAdvertisementObject objects via the ALTO Protocol with the ALTO CDNI Advertisement Service. Similar to other ALTO services, this document defines the ALTO information resource for the CDNI Advertisement Service as follows.

このドキュメントでは、メディアタイプ「Application/Alto-CDNI JSON」のJSON [RFC8259]オブジェクトを伝える「CDNI広告サービス」と呼ばれる新しいALTOサービスを定義します。これらのJSONオブジェクトは、[RFC8008]で定義されているBaseAdvertisementObjectオブジェクトを輸送するために使用されます。このドキュメントは、ALTO CDNI Advertisement Serviceを使用して、ALTOプロトコルを介してそのようなBaseAdvertisementObjectオブジェクトを輸送する方法を指定しています。他のALTOサービスと同様に、このドキュメントは、次のようにCDNI広告サービスのALTO情報リソースを定義しています。

Note that the encoding of BaseAdvertisementObject reuses the one defined in [RFC8008] and therefore also follows the recommendations of I-JSON (Internet JSON) [RFC7493], which is required by [RFC8008].

BaseadvertisementObjectのエンコードは、[RFC8008]で定義されているものを再利用するため、[RFC8008]が必要とするI-JSON(インターネットJSON)[RFC7493]の推奨にも従うことに注意してください。

3.1. Media Type
3.1. メディアタイプ

The media type of the CDNI Advertisement resource is "application/ alto-cdni+json" (see Section 7).

CDNI広告リソースのメディアタイプは「Application/ Alto-CDNI JSON」です(セクション7を参照)。

3.2. HTTP Method
3.2. HTTPメソッド

A CDNI Advertisement resource is requested using the HTTP GET method.

HTTP GETメソッドを使用して、CDNI広告リソースが要求されます。

3.3. Accept Input Parameters
3.3. 入力パラメーターを受け入れます

There are no applicable Accept Input parameters.

該当する受け入れ入力パラメーターはありません。

3.4. Capabilities
3.4. 機能

There are no applicable capabilities.

適用される機能はありません。

3.5. Uses
3.5. 使用します

The "uses" field MUST NOT appear unless the CDNI Advertisement resource depends on other ALTO information resources. If the CDNI Advertisement resource has dependent resources, the resource IDs of its dependent resources MUST be included into the "uses" field. This document only defines one potential dependent resource for the CDNI Advertisement resource. See Section 4 for details of when and how to use it. Future documents may extend the CDNI Advertisement resource and allow other dependent resources.

CDNI広告リソースが他のALTO情報リソースに依存しない限り、「使用」フィールドが表示されてはなりません。CDNI広告リソースに依存リソースがある場合、その依存リソースのリソースIDを「使用」フィールドに含める必要があります。このドキュメントは、CDNI広告リソースの1つの潜在的な従属リソースのみを定義します。いつ、どのように使用するかについては、セクション4を参照してください。将来のドキュメントは、CDNI広告リソースを拡張し、他の依存リソースを許可する場合があります。

3.6. Response
3.6. 応答

The "meta" field of a CDNI Advertisement response MUST include the "vtag" field defined in Section 10.3 of [RFC7285]. This field provides the version of the retrieved CDNI FCI resource.

CDNI広告応答の「メタ」フィールドには、[RFC7285]のセクション10.3で定義されている「VTAG」フィールドを含める必要があります。このフィールドは、取得したCDNI FCIリソースのバージョンを提供します。

If a CDNI Advertisement response depends on other ALTO information resources, it MUST 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 "uses" of its Information Resource Directory (IRD) entry.

CDNI広告の応答が他のALTO情報リソースに依存している場合、「依存vtags」フィールドを含める必要があります。その値は、使用されるリソースのバージョンタグを示す配列です。リソースディレクトリ(IRD)エントリ。

The data component of an ALTO CDNI Advertisement response is named "cdni-advertisement", which is a JSON object of type CDNIAdvertisementData:

ALTO CDNI広告応答のデータコンポーネントは、「CDNI-Advertisement」と呼ばれます。

       object {
         CDNIAdvertisementData cdni-advertisement;
       } InfoResourceCDNIAdvertisement : ResponseEntityBase;
        
       object {
         BaseAdvertisementObject capabilities-with-footprints<0..*>;
       } CDNIAdvertisementData;
        

Specifically, a CDNIAdvertisementData object is a JSON object that includes only one property named "capabilities-with-footprints", whose value is an array of BaseAdvertisementObject objects. It provides capabilities with footprint 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 mandatory-to-implement CDNI capabilities for any footprints.

具体的には、cdniAdvertisementDataオブジェクトは、「フットプリントのある機能」という名前の1つのプロパティのみを含むJSONオブジェクトです。UCDNがDCDN選択を決定するためのフットプリント制限を備えた機能を提供します。このプロパティの値が空の配列である場合、対応するDCDNがフットプリントに必須のCDNI機能を提供できないことを意味します。

The syntax and semantics of BaseAdvertisementObject are well defined in Section 5.1 of [RFC8008]. A BaseAdvertisementObject object includes multiple properties, including "capability-type", "capability-value", and "footprints", where "footprints" are defined in Section 4.2.2.2 of [RFC8006].

BaseadvertisementObjectの構文とセマンティクスは、[RFC8008]のセクション5.1で明確に定義されています。BaseadvertisementObjectオブジェクトには、[rfc8006]のセクション4.2.2.2で「フットプリント」が定義されている「能力タイプ」、「機能値」、「フットプリント」などの複数のプロパティが含まれます。

An equivalent specification in the ALTO-style notation (see Section 8.2 of [RFC7285]) creates a self-contained description of the BaseAdvertisementObject. As mentioned above, the normative specification of BaseAdvertisementObject is in [RFC8008].

ALTOスタイルの表記の同等の仕様([RFC7285]のセクション8.2を参照)は、BaseadvertisementObjectの自己完結型の説明を作成します。上記のように、BaseadvertisementObjectの規範的仕様は[RFC8008]にあります。

       object {
         JSONString capability-type;
         JSONValue capability-value;
         Footprint footprints<0..*>;
       } BaseAdvertisementObject;
        
       object {
         JSONString footprint-type;
         JSONString footprint-value<1..*>;
       } Footprint;
        

For each BaseAdvertisementObject, the ALTO client MUST interpret "footprints" appearing multiple times as if they appeared only once. If "footprints" in a BaseAdvertisementObject is null or empty or does not appear, the ALTO client MUST understand that the capabilities in this BaseAdvertisementObject have the "global" coverage, i.e., the corresponding dCDN can provide them for any Request Routing source.

各BaseadvertisementObjectについて、ALTOクライアントは、「フットプリント」を1回だけ表示したかのように複数回表示すると解釈する必要があります。BaseadvertisementObjectの「フットプリント」がnullまたは空であるか、表示されない場合、ALTOクライアントは、このBaseadvertementementObjectの機能に「グローバル」カバレッジがあることを理解する必要があります。

Note: Further optimization of BaseAdvertisementObjects to effectively provide the advertisement of capabilities with footprint restrictions is certainly 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, the latter one is smaller in its size.

注:baseadvertisementObjectsをさらに最適化して、フットプリント制限を備えた機能の広告を効果的に提供することは確かに可能です。たとえば、以下のこれらの2つの例は、DCDNが同じフットプリントに対して["http/1.1"、 "https/1.1"]機能を提供できることを説明しています。ただし、後者のサイズは小さくなっています。

   EXAMPLE 1
       {
         "meta": {...},
         "cdni-advertisement": {
           "capabilities-with-footprints": [
             {
               "capability-type": "FCI.DeliveryProtocol",
               "capability-value": {
                 "delivery-protocols": [
                   "http/1.1"
                 ]
               },
               "footprints": [
                 <Footprint objects>
               ]
             },
             {
        
               "capability-type": "FCI.DeliveryProtocol",
               "capability-value": {
                 "delivery-protocols": [
                   "https/1.1"
                 ]
               },
               "footprints": [
                 <Footprint objects>
               ]
             }
           ]
         }
       }
        
   EXAMPLE 2
       {
         "meta": {...},
         "cdni-advertisement": {
           "capabilities-with-footprints": [
             {
               "capability-type": "FCI.DeliveryProtocol",
               "capability-value": {
                 "delivery-protocols": [
                   "https/1.1",
                   "http/1.1"
                 ]
               },
               "footprints": [
                 <Footprint objects>
               ]
             }
           ]
         }
       }
        

Since such optimizations are not required for the basic interconnection of CDNs, the specifics of such mechanisms are outside the scope of this document.

このような最適化はCDNの基本的な相互接続には必要ないため、そのようなメカニズムの詳細はこのドキュメントの範囲外です。

This document only requires the ALTO server to provide the initial FCI-specific CDNI Payload Types defined in [RFC8008] as the mandatory-to-implement CDNI capabilities.

このドキュメントでは、ALTOサーバーが[RFC8008]で定義された最初のFCI固有のCDNIペイロードタイプを必須のCDNI機能として提供することのみを必要とします。

3.7. Examples
3.7. 例
3.7.1. IRD
3.7.1. ird

Below is the IRD of a simple, example ALTO server. The server provides both base ALTO information resources (e.g., network maps) and CDNI FCI-related information resources (e.g., CDNI Advertisement resources), demonstrating a single, integrated environment.

以下は、単純な例のALTOサーバーのIRDです。サーバーは、ベースのALTO情報リソース(ネットワークマップなど)とCDNI FCI関連の情報リソース(CDNI広告リソースなど)の両方を提供し、単一の統合環境を実証します。

Specifically, the IRD announces nine information resources as follows:

具体的には、IRDは次のように9つの情報リソースを発表します。

* two network maps,

* 2つのネットワークマップ、

* one CDNI Advertisement resource without dependency,

* 依存関係のない1つのCDNI広告リソース、

* one CDNI Advertisement resource depending on a network map,

* ネットワークマップに応じて1つのCDNI広告リソース、

* one filtered CDNI Advertisement resource to be defined in Section 5,

* セクション5で定義される1つのフィルタリングされたCDNI広告リソース、

* one property map including "cdni-capabilities" as its entity property,

* エンティティプロパティとしての「cdni-capabilities」を含む1つのプロパティマップ、

* one filtered property map including "cdni-capabilities" and "pid" as its entity properties, and

* エンティティプロパティとしての「CDNI-キャピリティ」と「PID」を含む1つのフィルタリングされたプロパティマップ、および

* two update stream services:

* 2つの更新ストリームサービス:

- one for updating CDNI Advertisement resources,

- CDNI広告リソースを更新するための1つ、

- one for updating property maps

- プロパティマップを更新するための1つ

    GET /directory HTTP/1.1
    Host: alto.example.com
    Accept: application/alto-directory+json,application/alto-error+json
        
    HTTP/1.1 200 OK
    Content-Length: 3531
    Content-Type: application/alto-directory+json
        
    {
      "meta": {
        "default-alto-network-map": "my-default-network-map"
      },
      "resources": {
        "my-default-network-map": {
          "uri": "https://alto.example.com/networkmap",
          "media-type": "application/alto-networkmap+json"
        },
        "my-eu-netmap": {
          "uri": "https://alto.example.com/myeunetmap",
          "media-type": "application/alto-networkmap+json"
        },
        "my-default-cdnifci": {
          "uri": "https://alto.example.com/cdnifci",
          "media-type": "application/alto-cdni+json"
        },
        "my-cdnifci-with-pid-footprints": {
          "uri": "https://alto.example.com/networkcdnifci",
          "media-type": "application/alto-cdni+json",
          "uses": [ "my-eu-netmap" ]
        },
        "my-filtered-cdnifci": {
          "uri": "https://alto.example.com/cdnifci/filtered",
          "media-type": "application/alto-cdni+json",
          "accepts": "application/alto-cdnifilter+json"
        },
        "cdnifci-property-map": {
          "uri": "https://alto.example.com/propmap/full/cdnifci",
          "media-type": "application/alto-propmap+json",
          "uses": [ "my-default-cdni" ],
          "capabilities": {
            "mappings": {
              "ipv4": [ "my-default-cdni.cdni-capabilities" ],
              "ipv6": [ "my-default-cdni.cdni-capabilities" ],
              "countrycode": [
                "my-default-cdni.cdni-capabilities" ],
              "asn": [ "my-default-cdni.cdni-capabilities" ]
            }
          }
        },
        "filtered-cdnifci-property-map": {
          "uri": "https://alto.example.com/propmap/lookup/cdnifci-pid",
          "media-type": "application/alto-propmap+json",
          "accepts": "application/alto-propmapparams+json",
          "uses": [ "my-default-cdni", "my-default-network-map" ],
          "capabilities": {
            "mappings": {
              "ipv4": [ "my-default-cdni.cdni-capabilities",
                        "my-default-network-map.pid" ],
              "ipv6": [ "my-default-cdni.cdni-capabilities",
                        "my-default-network-map.pid" ],
              "countrycode": [
                "my-default-cdni.cdni-capabilities" ],
              "asn": [ "my-default-cdni.cdni-capabilities" ]
            }
          }
        },
        "update-my-cdni-fci": {
          "uri": "https://alto.example.com/updates/cdnifci",
          "media-type": "text/event-stream",
          "accepts": "application/alto-updatestreamparams+json",
          "uses": [
            "my-default-network-map",
            "my-eu-netmap",
            "my-default-cdnifci",
            "my-filtered-cdnifci",
            "my-cdnifci-with-pid-footprints"
          ],
          "capabilities": {
            "incremental-change-media-types": {
             "my-default-network-map": "application/json-patch+json",
             "my-eu-netmap": "application/json-patch+json",
             "my-default-cdnifci":
             "application/merge-patch+json,application/json-patch+json",
             "my-filtered-cdnifci":
             "application/merge-patch+json,application/json-patch+json",
             "my-cdnifci-with-pid-footprints":
             "application/merge-patch+json,application/json-patch+json"
            }
          }
        },
        "update-my-props": {
          "uri": "https://alto.example.com/updates/properties",
          "media-type": "text/event-stream",
          "uses": [
            "cdnifci-property-map",
            "filtered-cdnifci-property-map"
          ],
          "capabilities": {
            "incremental-change-media-types": {
             "cdnifci-property-map":
             "application/merge-patch+json,application/json-patch+json",
             "filtered-cdnifci-property-map":
             "application/merge-patch+json,application/json-patch+json"
            }
          }
        }
      }
    }
        
3.7.2. A Basic Example
3.7.2. 基本的な例

This basic example demonstrates a simple CDNI Advertisement resource, which does not depend on other resources. There are three BaseAdvertisementObjects in this 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, respectively.

この基本的な例は、他のリソースに依存しない単純なCDNI広告リソースを示しています。このリソースには3つのBaseadvertisementementObjectがあり、これらのオブジェクトの機能は「HTTP/1.1」配信プロトコル、["HTTP/1.1"、「HTTPS/1.1」]配信プロトコル、および「HTTPS/1.1」取得プロトコルです。

     GET /cdnifci HTTP/1.1
     Host: alto.example.com
     Accept: application/alto-cdni+json,application/alto-error+json
        
     HTTP/1.1 200 OK
     Content-Length: 1411
     Content-Type: application/alto-cdni+json
        
     {
       "meta": {
         "vtag": {
           "resource-id": "my-default-cdnifci",
           "tag": "da65eca2eb7a10ce8b059740b0b2e3f8eb1d4785"
         }
       },
       "cdni-advertisement": {
         "capabilities-with-footprints": [
           {
             "capability-type": "FCI.DeliveryProtocol",
             "capability-value": {
               "delivery-protocols": [
                 "http/1.1"
               ]
             },
             "footprints": [
               {
                 "footprint-type": "ipv4cidr",
                 "footprint-value": [ "192.0.2.0/24" ]
               },
               {
                 "footprint-type": "ipv6cidr",
                 "footprint-value": [ "2001:db8::/32" ]
               }
             ]
           },
           {
             "capability-type": "FCI.DeliveryProtocol",
             "capability-value": {
               "delivery-protocols": [
                 "https/1.1",
                 "http/1.1"
               ]
             },
             "footprints": [
               {
                 "footprint-type": "ipv4cidr",
                 "footprint-value": [ "198.51.100.0/24" ]
               }
             ]
           },
           {
             "capability-type": "FCI.AcquisitionProtocol",
             "capability-value": {
               "acquisition-protocols": [
                 "https/1.1"
               ]
             },
             "footprints": [
               {
                 "footprint-type": "ipv4cidr",
                 "footprint-value": [ "203.0.113.0/24" ]
               }
             ]
           }
         ]
       }
     }
        
3.7.3. Incremental Updates
3.7.3. 増分更新

A benefit of using ALTO to provide CDNI Advertisement resources is that such resources can be updated using ALTO incremental updates [RFC8895]. Below is an example that also shows the benefit of having both JSON merge patch and JSON patch to encode updates.

ALTOを使用してCDNI広告リソースを提供することの利点は、ALTOのインクリメンタル更新[RFC8895]を使用してそのようなリソースを更新できることです。以下は、更新をエンコードするためにJSONマージパッチとJSONパッチの両方を持っていることの利点も示す例です。

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 response. Then when there is a change in the "delivery-protocols" in that "http/1.1" is removed (from ["http/1.1", "https/1.1"] to only "https/1.1") due to maintenance 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 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 by JSON patch to the ALTO client.

最初は、ALTOクライアントが「My-Default-CDNIFCI」の更新を要求し、ALTOサーバーは「Control-URI」と続いて完全なCDNI広告応答を返します。次に、その「http/1.1」の「配信プロトコル」に変更がある場合(["http/1.1"から "https/1.1"から)削除されます。「HTTP/1.1」クラスター、ALTOサーバーは新しいCDNI広告リソースを再生し、ALTOクライアントに完全な交換をプッシュします。その後、ALTOサーバーは、JSONパッチによってエンコードされた変更をALTOクライアントに送信することにより、「192.0.2.0/24」が「IPv4」フットプリントオブジェクト「HTTPS/1.1」の「IPv4」フットプリントオブジェクトに「192.0.2.0/24」が追加されることをALTOクライアントに通知します。

    POST /updates/cdnifci HTTP/1.1
    Host: alto.example.com
    Accept: text/event-stream,application/alto-error+json
    Content-Type: application/alto-updatestreamparams+json
    Content-Length: 94
        
    {
      "add": {
        "my-cdnifci-stream": {
          "resource-id": "my-default-cdnifci"
        }
      }
    }
        

HTTP/1.1 200 OK Connection: keep-alive Content-Type: text/event-stream

http/1.1 200 ok接続:キープアライブコンテンツタイプ:テキスト/イベントストリーム

    event: application/alto-updatestreamcontrol+json
    data: {"control-uri":
    data: "https://alto.example.com/updates/streams/3141592653589"}
        
    event: application/alto-cdni+json,my-cdnifci-stream
    data: { ... full CDNI Advertisement resource ... }
        
    event: application/alto-cdni+json,my-cdnifci-stream
    data: {
    data:   "meta": {
    data:     "vtag": {
    data:       "tag": "dasdfa10ce8b059740bddsfasd8eb1d47853716"
    data:     }
    data:   },
    data:   "cdni-advertisement": {
    data:     "capabilities-with-footprints": [
    data:       {
    data:         "capability-type": "FCI.DeliveryProtocol",
    data:         "capability-value": {
    data:           "delivery-protocols": [
    data:             "https/1.1"
    data:           ]
    data:         },
    data:         "footprints": [
    data:           { "footprint-type": "ipv4cidr",
    data:             "footprint-value": [ "203.0.113.0/24" ]
    data:           }
    data:         ]
    data:       },
    data:       { ... other CDNI advertisement object ... }
    data:     ]
    data:   }
    data: }
        
    event: application/json-patch+json,my-cdnifci-stream
    data: [
    data:   { "op": "replace",
    data:     "path": "/meta/vtag/tag",
    data:     "value": "a10ce8b059740b0b2e3f8eb1d4785acd42231bfe"
    data:   },
    data:   { "op": "add",
    data:     "path": "/cdni-advertisement/capabilities-with-footprints
    /0/footprints/0/footprint-value/-",
    data:     "value": "192.0.2.0/24"
    data:   }
    data: ]
        
4. CDNI Advertisement Service Using ALTO Network Map
4. ALTOネットワークマップを使用したCDNI広告サービス
4.1. Network Map Footprint Type: altopid
4.1. ネットワークマップフットプリントタイプ:Altopid

The ALTO Protocol defines a concept called Provider-defined Identifier (PID) to represent a group of IPv4 or IPv6 addresses to which can be applied the same management policy. The PID is an alternative to the predefined CDNI footprint types (i.e., "ipv4cidr", "ipv6cidr", "asn", and "countrycode").

ALTOプロトコルは、同じ管理ポリシーを適用できるIPv4またはIPv6アドレスのグループを表すために、プロバイダー定義識別子(PID)と呼ばれる概念を定義します。PIDは、事前に定義されたCDNIフットプリントタイプ(つまり、「IPv4CIDR」、「IPV6CIDR」、「ASN」、および「CountryCode」)に代わるものです。

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 resource and use "altopid" footprints to compress its CDNI Footprint Payload.

この概念を活用するために、このドキュメントでは、「Altopid」と呼ばれる新しいCDNIフットプリントタイプを定義します。CDNI広告リソースは、ALTOネットワークマップリソースに依存し、「AltoPID」フットプリントを使用してCDNIフットプリントペイロードを圧縮できます。

Specifically, the "altopid" footprint type indicates that the corresponding footprint value is a list of PIDNames as defined in [RFC7285]. 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 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" field with a reference to this network map MUST be included in its response (see the example in Section 4.2.2).

具体的には、「altopid」フットプリントタイプは、対応するフットプリント値が[RFC7285]で定義されているPIDNAMEのリストであることを示しています。これらのピドネームは、ネットワークマップリソースのPIDの参照です。したがって、「altopid」フットプリントを使用したCDNI広告リソースは、ネットワークマップに依存します。このようなCDNI広告リソースの場合、その依存ネットワークマップのリソースIDはIRDエントリの「使用」フィールドに含める必要があり、このネットワークマップを参照する「依存VTAG」フィールドは、その応答に含める必要があります。(セクション4.2.2の例を参照)。

4.2. Examples
4.2. 例

The following examples use the same IRD given in Section 3.7.1.

次の例は、セクション3.7.1で与えられた同じIRDを使用しています。

4.2.1. ALTO Network Map for CDNI Advertisements
4.2.1. CDNI広告用のALTOネットワークマップ

Below provides a sample network map whose resource ID is "my-eu-netmap". This map is referenced by the CDNI Advertisement example in Section 4.2.2.

以下に、リソースIDが「my-eu-netmap」であるサンプルネットワークマップを示します。このマップは、セクション4.2.2のCDNI広告の例で言及されています。

    GET /myeunetmap HTTP/1.1
    Host: alto.example.com
    Accept: application/alto-networkmap+json,application/alto-error+json
        
    HTTP/1.1 200 OK
    Content-Length: 344
    Content-Type: application/alto-networkmap+json
        
    {
      "meta": {
        "vtag": [
          { "resource-id": "my-eu-netmap",
            "tag": "3ee2cb7e8d63d9fab71b9b34cbf764436315542e"
          }
        ]
      },
      "network-map": {
        "south-france" : {
          "ipv4": [ "192.0.2.0/24", "198.51.100.0/25" ],
          "ipv6": [ "2001:db8::/32" ]
        },
        "germany": {
          "ipv4": [ "203.0.113.0/24" ]
        }
      }
    }
        
4.2.2. ALTO PID Footprints in CDNI Advertisements
4.2.2. CDNI広告のアルトPIDフットプリント

This example shows a CDNI Advertisement resource that depends on a network map described in Section 4.2.1.

この例は、セクション4.2.1で説明されているネットワークマップに依存するCDNI広告リソースを示しています。

    GET /networkcdnifci HTTP/1.1
    Host: alto.example.com
    Accept: application/alto-cdni+json,application/alto-error+json
        
    HTTP/1.1 200 OK
    Content-Length: 736
    Content-Type: application/alto-cdni+json
        
    {
      "meta": {
        "dependent-vtags": [
          {
            "resource-id": "my-eu-netmap",
            "tag": "3ee2cb7e8d63d9fab71b9b34cbf764436315542e"
          }
        ]
      },
      "cdni-advertisement": {
        "capabilities-with-footprints": [
          { "capability-type": "FCI.DeliveryProtocol",
            "capability-value": [ "https/1.1" ],
            "footprints": [
              { "footprint-type": "altopid",
                "footprint-value": [ "south-france" ]
              }
            ]
          },
          { "capability-type": "FCI.AcquisitionProtocol",
            "capability-value": [ "https/1.1" ],
            "footprints": [
              { "footprint-type": "altopid",
                "footprint-value": [ "germany", "south-france" ]
              }
            ]
          }
        ]
      }
    }
        
4.2.3. Incremental Updates
4.2.3. 増分更新

In this example, the ALTO client is interested in changes of "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" delivery protocol capability, and the second one is to remove the "south-france" PID from the footprints of the "https/1.1" acquisition protocol capability.

この例では、ALTOのクライアントは、「My-CDNIFCI-With-Pid-Footprints」とその依存したネットワークマップ「My-EU-NetMap」の変更に興味があります。2つの変更を考慮すると、最初の変更は「HTTPS/1.1」配信プロトコル機能のフットプリントを変更することです。2つ目は、「HTTPS/1.1」取得プロトコル機能のフットプリントから「サウスフランス」PIDを削除することです。

     POST /updates/cdnifci HTTP/1.1
     Host: alto.example.com
     Accept: text/event-stream,application/alto-error+json
     Content-Type: application/alto-updatestreamparams+json
     Content-Length: 185
        
     {
       "add": {
         "my-eu-netmap-stream": {
           "resource-id": "my-eu-netmap"
         },
         "my-netmap-cdnifci-stream": {
           "resource-id": "my-cdnifci-with-pid-footprints"
         }
       }
     }
        

HTTP/1.1 200 OK Connection: keep-alive Content-Type: text/event-stream

http/1.1 200 ok接続:キープアライブコンテンツタイプ:テキスト/イベントストリーム

     event: application/alto-updatestreamcontrol+json
     data: {"control-uri":
     data: "https://alto.example.com/updates/streams/3141592653590"}
        
     event: application/alto-networkmap+json,my-eu-netmap-stream
     data: { ... full Network Map of my-eu-netmap ... }
        
     event: application/alto-cdnifci+json,my-netmap-cdnifci-stream
     data: { ... full CDNI Advertisement resource ... }
        
     event: application/json-patch+json,my-netmap-cdnifci-stream
     data: [
     data:   { "op": "replace",
     data:     "path": "/meta/vtag/tag",
     data:     "value": "dasdfa10ce8b059740bddsfasd8eb1d47853716"
     data:   },
     data:   { "op": "add",
     data:     "path":
     data:     "/cdni-advertisement/capabilities-with-footprints
     /0/footprints/0/footprint-value/-",
     data:     "value": "germany"
     data:   }
     data: ]
        
     event: application/json-patch+json,my-netmap-cdnifci-stream
     data: [
     data:   { "op": "replace",
     data:     "path": "/meta/vtag/tag",
     data:     "value": "a10ce8b059740b0b2e3f8eb1d4785acd42231bfe"
     data:   },
     data:   { "op": "remove",
     data:     "path":
     data:     "/cdni-advertisement/capabilities-with-footprints
     /1/footprints/0/footprint-value/1"
     data:   }
     data: ]
        
5. Filtered CDNI Advertisement Using CDNI Capabilities
5. CDNI機能を使用したフィルタリングCDNI広告

Sections 3 and 4 describe the CDNI Advertisement Service that can be used to enable a uCDN to get capabilities with footprint restrictions from dCDNs. However, since always getting full CDNI Advertisement resources from dCDNs is inefficient, this document introduces a new service 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 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 relationship between a filtered CDNI Advertisement resource and a CDNI Advertisement resource is similar to the relationship between a filtered network/cost map and a network/cost map.

セクション3および4は、UCDNがDCDNSからフットプリント制限で機能を取得できるようにするために使用できるCDNI広告サービスについて説明します。ただし、DCDNSから常に完全なCDNI広告リソースを取得することは非効率的であるため、このドキュメントでは、クライアントがCDNI機能のセットを使用してCDNI広告リソースをフィルタリングできるようにする「フィルタリングされたCDNI広告サービス」という名前の新しいサービスを紹介します。CDNI広告応答の各エントリについて、クライアントが提供するCDNI機能の少なくとも1つが含まれている場合にのみ、クライアントにエントリが返されます。フィルター処理されたCDNI広告リソースとCDNI広告リソースの関係は、フィルタリングされたネットワーク/コストマップとネットワーク/コストマップの関係に似ています。

5.1. Media Type
5.1. メディアタイプ

A filtered CDNI Advertisement resource uses the same media type defined for the CDNI Advertisement resource in Section 3.1: "application/alto-cdni+json".

フィルタリングされたCDNI広告リソースは、セクション3.1のCDNI広告リソースで定義された同じメディアタイプを使用します。

5.2. HTTP Method
5.2. HTTPメソッド

A filtered CDNI Advertisement resource is requested using the HTTP POST method.

HTTP POSTメソッドを使用して、フィルタリングされたCDNI広告リソースが要求されます。

5.3. Accept Input Parameters
5.3. 入力パラメーターを受け入れます

The input parameters for a filtered CDNI Advertisement resource are supplied in the entity body of the POST request. This document specifies the input parameters with a data format indicated by the media type "application/alto-cdnifilter+json", which is a JSON object of type ReqFilteredCDNIAdvertisement where:

フィルタリングされたCDNI広告リソースの入力パラメーターは、POSTリクエストのエンティティボディに提供されます。このドキュメントは、メディアタイプ「Application/ALTO-CDNIFILTER JSON」で示されるデータ形式で入力パラメーターを指定します。

      object {
          JSONString capability-type;
          JSONValue capability-value;
      } CDNICapability;
        
      object {
          CDNICapability cdni-capabilities<0..*>;
      } ReqFilteredCDNIAdvertisement;
        

with fields:

フィールドで:

capability-type: The same as Base Advertisement Object's "capability-type" defined in Section 5.1 of [RFC8008].

機能タイプ:[RFC8008]のセクション5.1で定義されているBase Advertisement Objectの「Capability-Type」と同じです。

capability-value: The same as Base Advertisement Object's "capability-value" defined in Section 5.1 of [RFC8008].

機能値:[RFC8008]のセクション5.1で定義されているベース広告オブジェクトの「能力値」と同じ。

cdni-capabilities: A list of CDNI capabilities defined in Section 5.1 of [RFC8008] for which footprints are to be returned. If this list is empty, the ALTO server MUST interpret it as a request for the full CDNI Advertisement resource. The ALTO server MUST interpret entries appearing in this list multiple 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 response.

cdni-キャピリティ:フットプリントが返される[RFC8008]のセクション5.1で定義されたCDNI機能のリスト。このリストが空の場合、ALTOサーバーはそれを完全なCDNI広告リソースのリクエストとして解釈する必要があります。ALTOサーバーは、このリストに表示されているエントリを何度も複数回表示しているかのように解釈する必要があります。ALTOサーバーがCDNI機能のフットプリントを定義していない場合、応答からこの機能を省略する必要があります。

5.4. Capabilities
5.4. 機能

There are no applicable capabilities.

適用される機能はありません。

5.5. Uses
5.5. 使用します

The same rules as for the "uses" field of the CDNI Advertisement resource apply (see Section 3.5).

CDNI広告リソースの「使用」フィールドと同じルールが適用されます(セクション3.5を参照)。

5.6. Response
5.6. 応答

If the request is invalid, the response MUST indicate an error using ALTO Protocol error handling specified in Section 8.5 of [RFC7285].

要求が無効である場合、応答は[RFC7285]のセクション8.5で指定されたALTOプロトコルエラー処理を使用したエラーを示す必要があります。

Specifically, a filtered CDNI Advertisement request is invalid if:

具体的には、フィルター処理されたCDNI広告リクエストは、次の場合に無効です。

* the value of "capability-type" is null;

* 「機能タイプ」の値はnullです。

* the value of "capability-value" is null; or

* 「能力値」の値はnullです。また

* the value of "capability-value" is inconsistent with "capability-type".

* 「能力価値」の値は、「能力タイプ」と矛盾しています。

When a request is invalid, the ALTO server MUST return an "E_INVALID_FIELD_VALUE" error defined in Section 8.5.2 of [RFC7285], and the "value" field of the error message SHOULD indicate this CDNI capability.

要求が無効な場合、ALTOサーバーは[RFC7285]のセクション8.5.2で定義されている「e_invalid_field_value」エラーを返す必要があり、エラーメッセージの「値」フィールドはこのcDNI能力を示す必要があります。

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 full CDNI Advertisement resource (see Section 3.6).

ALTOサーバーは、有効なリクエストのためにフィルタリングされたCDNI広告リソースを返します。フィルタリングされたCDNI広告リソースの形式は、完全なCDNI広告リソースと同じです(セクション3.6を参照)。

The returned filtered CDNI Advertisement resource MUST contain all the BaseAdvertisementObject objects satisfying the following condition: the CDNI capability object of each included BaseAdvertisementObject object MUST follow two constraints:

返されたフィルタリングされたCDNI広告リソースには、次の条件を満たすすべてのBaseadisementObjectオブジェクトを含める必要があります。

* The "cdni-capabilities" field of the input includes a CDNI capability object X having the same "capability-type" as it.

* 入力の「cdni-キャピタリティ」フィールドには、同じ「能力タイプ」を持つCDNI機能オブジェクトxが含まれています。

* All the mandatory properties in its "capability-value" is a superset of mandatory properties in "capability-value" of X semantically.

* 「能力値」のすべての必須プロパティは、xの「能力価値」の必須プロパティのスーパーセットです。

See Section 5.7.1 for a concrete example.

具体的な例については、セクション5.7.1を参照してください。

The version tag included in the "vtag" field of the response MUST correspond to the full CDNI Advertisement resource from which the filtered CDNI Advertisement resource is provided. This ensures that a single, canonical version tag is used independently of any filtering that is requested by an ALTO client.

応答の「VTAG」フィールドに含まれるバージョンタグは、フィルタリングされたCDNI広告リソースが提供される完全なCDNI広告リソースに対応する必要があります。これにより、単一のCanonicalバージョンタグが、ALTOクライアントが要求するフィルタリングとは独立して使用されることが保証されます。

5.7. Examples
5.7. 例

The following examples use the same IRD example as in Section 3.7.1.

次の例では、セクション3.7.1と同じIRD例を使用しています。

5.7.1. A Basic Example
5.7.1. 基本的な例

This example filters the full CDNI Advertisement resource in Section 3.7.2 by selecting only the "http/1.1" delivery protocol 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" delivery protocols, which is the superset of "https/1.1" delivery protocol.

この例は、「HTTP/1.1」配信プロトコル機能のみを選択することにより、セクション3.7.2の完全なCDNI広告リソースをフィルタリングします。2番目のオブジェクトの機能が「HTTP/1.1」と「HTTPS/1.1」のスーパーセットである「HTTPS/1.1」配信プロトコルであるため、完全なリソースの2番目のBaseAdvertisementObjectのみが返されます。

     POST /cdnifci/filtered HTTP/1.1
     Host: alto.example.com
     Accept: application/alto-cdni+json
     Content-Type: application/cdnifilter+json
     Content-Length: 176
        
     {
       "cdni-capabilities": [
         {
           "capability-type": "FCI.DeliveryProtocol",
           "capability-value": {
             "delivery-protocols": [ "https/1.1" ]
           }
         }
       ]
     }
        
     HTTP/1.1 200 OK
     Content-Length: 570
     Content-Type: application/alto-cdni+json
        
     {
       "meta": {
         "vtag": {
           "resource-id": "my-filtered-cdnifci",
           "tag": "da65eca2eb7a10ce8b059740b0b2e3f8eb1d4785"
         }
       },
       "cdni-advertisement": {
         "capabilities-with-footprints": [
           {
             "capability-type": "FCI.DeliveryProtocol",
             "capability-value": {
               "delivery-protocols": [
                 "https/1.1",
                 "http/1.1"
               ]
             },
             "footprints": [
               {
                 "footprint-type": "ipv4cidr",
                 "footprint-value": [ "198.51.100.0/24" ]
               }
             ]
           }
         ]
       }
     }
        
5.7.2. Incremental Updates
5.7.2. 増分更新

In this example, the ALTO client only cares about the updates of one advertisement object for delivery protocol capability whose value includes "https/1.1". Thus, it adds its limitation of capabilities in "input" field of the POST request.

この例では、ALTOクライアントは、「HTTPS/1.1」を含む値を含む配信プロトコル機能の1つの広告オブジェクトの更新のみを気にします。したがって、POSTリクエストの「入力」フィールドに機能の制限を追加します。

     POST /updates/cdnifci HTTP/1.1
     Host: fcialtoupdate.example.com
     Accept: text/event-stream,application/alto-error+json
     Content-Type: application/alto-updatestreamparams+json
     Content-Length: 346
        
     {
       "add": {
         "my-filtered-fci-stream": {
           "resource-id": "my-filtered-cdnifci",
           "input": {
             "cdni-capabilities": [
               {
                 "capability-type": "FCI.DeliveryProtocol",
                 "capability-value": {
                   "delivery-protocols": [ "https/1.1" ]
                 }
               }
             ]
           }
         }
       }
     }
        

HTTP/1.1 200 OK Connection: keep-alive Content-Type: text/event-stream

http/1.1 200 ok接続:キープアライブコンテンツタイプ:テキスト/イベントストリーム

     event: application/alto-updatestreamcontrol+json
     data: {"control-uri":
     data: "https://alto.example.com/updates/streams/3141592653590"}
        
     event: application/alto-cdni+json,my-filtered-fci-stream
     data: { ... filtered CDNI Advertisement resource ... }
        
     event: application/json-patch+json,my-filtered-fci-stream
     data: [
     data:   {
     data:     "op": "replace",
     data:     "path": "/meta/vtag/tag",
     data:     "value": "a10ce8b059740b0b2e3f8eb1d4785acd42231bfe"
     data:   },
     data:   { "op": "add",
     data:     "path":
     data:     "/cdni-advertisement/capabilities-with-footprints
     /0/footprints/0/footprint-value/-",
     data:     "value": "192.0.2.0/24"
     data:   }
     data: ]
        
6. Query Footprint Properties Using ALTO Property Map Service
6. ALTOプロパティマップサービスを使用したフットプリントプロパティをクエリします

Besides the requirement of retrieving footprints of given capabilities, another common requirement for uCDN is to query CDNI capabilities of given footprints.

特定の機能のフットプリントを取得する要件に加えて、UCDNのもう1つの一般的な要件は、特定のフットプリントのCDNI機能を照会することです。

Considering each footprint as an entity with properties including CDNI capabilities, a natural way to satisfy this requirement is to use the ALTO property map as defined in [RFC9240]. This section describes how ALTO clients look up properties for individual footprints. First, it describes how to represent footprint objects as entities in the ALTO property map. Then it describes how to represent footprint capabilities as entity properties in the ALTO property map. Finally, it provides examples of the full property map and the filtered property map supporting CDNI capabilities, and their incremental updates.

各フットプリントをCDNI機能を含むプロパティを備えたエンティティとして考慮すると、この要件を満たす自然な方法は、[RFC9240]で定義されているALTOプロパティマップを使用することです。このセクションでは、ALTOクライアントが個々のフットプリントのプロパティを検索する方法について説明します。まず、ALTOプロパティマップのエンティティとしてフットプリントオブジェクトを表現する方法について説明します。次に、ALTOプロパティマップのエンティティプロパティとしてフットプリント機能を表現する方法について説明します。最後に、CDNI機能をサポートする完全なプロパティマップとフィルタリングされたプロパティマップの例と、それらの増分更新を提供します。

6.1. Representing Footprint Objects as Property Map Entities
6.1. プロパティマップエンティティとしてフットプリントオブジェクトを表す

A footprint object has two properties: "footprint-type" and "footprint-value". A "footprint-value" is an array of footprint values conforming to the specification associated with the registered footprint type ("ipv4cidr", "ipv6cidr", "asn", "countrycode", and "altopid"). Considering each ALTO entity defined in [RFC9240] also has two properties: entity domain type and domain-specific identifier, a straightforward approach to represent a 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.

フットプリントオブジェクトには、「フットプリントタイプ」と「フットプリント値」の2つのプロパティがあります。「フットプリント値」は、登録されたフットプリントタイプ(「IPv4CIDR」、「IPV6CIDR」、「ASN」、「カントリーコード」、および「AltoPID」に関連付けられた仕様に準拠するフットプリント値の配列です。[RFC9240]で定義されている各ALTOエンティティには、エンティティドメインタイプとドメイン固有の識別子、ALTOエンティティとしてのフットプリントを表す簡単なアプローチは、エンティティドメインタイプとしての「フットプリントタイプ」を表すことが2つのプロパティにもあります。ドメイン固有の識別子としてのフットプリント値。

Each existing footprint type can be represented as an entity domain type as follows:

既存の各フットプリントタイプは、次のようにエンティティドメインタイプとして表すことができます。

* According to [RFC9240], "ipv4" and "ipv6" are two predefined entity domain types, which can be used to represent "ipv4cidr" and "ipv6cidr" footprints respectively. Note that both "ipv4" and "ipv6" domains can include not only hierarchical addresses but also individual addresses. Therefore, a "ipv4cidr" or "ipv6cidr" footprint with the longest prefix can 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 translate them as corresponding "ipv4cidr" or "ipv6cidr" footprints with the longest prefix.

* [RFC9240]によると、「IPv4」と「IPv6」は2つの事前定義されたエンティティドメインタイプであり、それぞれ「IPv4CIDR」および「IPV6CIDR」フットプリントを表すために使用できます。「IPv4」ドメインと「IPv6」ドメインの両方が、階層アドレスだけでなく、個々のアドレスも含めることができることに注意してください。したがって、最長のプレフィックスを備えた「IPV4CIDR」または「IPV6CIDR」フットプリントは、個々のアドレスエンティティで表現することもできます。UCDNが「IPv4」または「IPv6」ドメインで個々のアドレスを持つプロパティマップを受信すると、最長のプレフィックスを使用して対応する「IPv4CIDR」または「IPV6CIDR」フットプリントとしてそれらを翻訳できます。

* "pid" is also a predefined entity domain type, which can be used to represent "altopid" footprints. Note that "pid" is a resource-specific entity domain. To represent an "altopid" footprint, the specifying information resource of the corresponding "pid" entity domain MUST be the dependent network map used by the CDNI Advertisement resource providing this "altopid" footprint.

* 「PID」は事前定義されたエンティティドメインタイプでもあり、「Altopid」フットプリントを表すために使用できます。「PID」はリソース固有のエンティティドメインであることに注意してください。「AltoPID」フットプリントを表すには、対応する「PID」エンティティドメインの指定された情報リソースは、この「AltoPID」フットプリントを提供するCDNI広告リソースで使用される従属ネットワークマップでなければなりません。

* However, no existing entity domain type can represent "asn" and "countrycode" footprints. To represent footprint-type "asn" and "countrycode", this document registers two new entity domains in Section 7 in addition to the ones in [RFC9240].

* ただし、既存のエンティティドメインタイプは、「ASN」および「カントリーコード」のフットプリントを表すことはできません。フットプリントタイプの「ASN」および「カントリーコード」を表すために、このドキュメントは[RFC9240]のものに加えて、セクション7の2つの新しいエンティティドメインを登録します。

Here is an example of representing a footprint object of "ipv4cidr" type as a set of "ipv4" entities in the ALTO property map. The representation of the footprint object of "ipv6cidr" type is similar.

以下は、ALTOプロパティマップの「IPv4」エンティティのセットとして「IPv4CIDR」タイプのフットプリントオブジェクトを表す例です。「IPv6CIDR」タイプのフットプリントオブジェクトの表現は似ています。

   { "footprint-type": "ipv4cidr",
     "footprint-value": ["192.0.2.0/24", "198.51.100.0/24"]
   } --> "ipv4:192.0.2.0/24", "ipv4:198.51.100.0/24"
        

And here is an example of the corresponding footprint object of "ipv4cidr" type 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.

また、ALTOプロパティマップの「IPv4」ドメインの個々のアドレスで表される「IPV4CIDR」タイプの対応するフットプリントオブジェクトの例を示します。「IPv6」ドメインでのエンティティの翻訳は似ています。

   "ipv4:203.0.113.100" --> {
     "footprint-type": "ipv4cidr",
     "footprint-value": ["203.0.113.100/32"]
   }
        
6.1.1. ASN Domain
6.1.1. ASNドメイン

The ASN domain associates property values with Autonomous Systems in the Internet.

ASNドメインは、プロパティ値をインターネット内の自律システムに関連付けます。

6.1.1.1. Entity Domain Type
6.1.1.1. エンティティドメインタイプ

The entity domain type of the ASN domain is "asn" (in lowercase).

ASNドメインのエンティティドメインタイプは「ASN」です(小文字で)。

6.1.1.2. Domain-Specific Entity Identifiers
6.1.1.2. ドメイン固有のエンティティ識別子

The entity identifier of an entity in an ASN domain MUST be encoded as a string consisting of the characters "as" (in lowercase) followed by the ASN [RFC6793] as a decimal number without leading zeros.

ASNドメイン内のエンティティのエンティティ識別子は、「as」(小文字で)に続いて、asn [rfc6793]が先頭のゼロなしの小数のない数十進数として構成される文字列としてエンコードする必要があります。

6.1.1.3. Hierarchy and Inheritance
6.1.1.3. 階層と継承

There is no hierarchy or inheritance for properties associated with ASN.

ASNに関連するプロパティの階層または継承はありません。

6.1.2. COUNTRYCODE Domain
6.1.2. カントリーコードドメイン

The COUNTRYCODE domain associates property values with countries.

CountryCodeドメインは、プロパティの価値を国と関連付けます。

6.1.2.1. Entity Domain Type
6.1.2.1. エンティティドメインタイプ

The entity domain type of the COUNTRYCODE domain is "countrycode" (in lowercase).

カントリーコードドメインのエンティティドメインタイプは「カントリーコード」(小文字で)です。

6.1.2.2. Domain-Specific Entity Identifiers
6.1.2.2. ドメイン固有のエンティティ識別子

The entity identifier of an entity in a COUNTRYCODE domain is encoded as an ISO 3166-1 alpha-2 code [ISO3166-1] in lowercase.

カントリーコードドメインのエンティティのエンティティ識別子は、小文字のISO 3166-1アルファ-2コード[ISO3166-1]としてエンコードされます。

6.1.2.3. Hierarchy and Inheritance
6.1.2.3. 階層と継承

There is no hierarchy or inheritance for properties associated with country codes.

国コードに関連するプロパティの階層や継承はありません。

6.2. Representing CDNI Capabilities as Property Map Entity Properties
6.2. プロパティマップエンティティプロパティとしてCDNI機能を表す

This document defines a new entity property type called "cdni-capabilities". An 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 "ipv4", "ipv6", "asn", or "countrycode" entity domain.

このドキュメントでは、「cdni-capability」と呼ばれる新しいエンティティプロパティタイプを定義します。ALTOサーバーは、「IPv4」、「IPv6」、「ASN」、または「カントリーコード」エンティティドメインに提供するCDNI広告リソースの「cdni-capabilities」エンティティプロパティタイプをマッピングするプロパティマップリソースを提供できます。

6.2.1. Defining Information Resource Media Type for Property Type cdni-capabilities

6.2.1. プロパティタイプのcdni-容量の情報リソースメディアタイプの定義

The entity property type "cdni-capabilities" allows defining resource-specific entity properties. When resource-specific entity properties are defined with entity property type "cdni-capabilities", the defining information resource for a "cdni-capabilities" property MUST be a CDNI Advertisement resource provided by the ALTO server. The media type of the defining information resource for a "cdni-capabilities" property is therefore:

エンティティプロパティタイプの「CDNIキャピール」により、リソース固有のエンティティプロパティを定義できます。リソース固有のエンティティプロパティがエンティティプロパティタイプの「CDNIキャピリティ」で定義されている場合、「cdni-キャピアリティ」プロパティの定義情報リソースは、ALTOサーバーが提供するCDNI広告リソースでなければなりません。したがって、「cdni-キャピタリティ」プロパティの定義情報リソースのメディアタイプは次のとおりです。

application/alto-cdni+json

Application/Alto-CDNI JSON

6.2.2. Intended Semantics of Property Type cdni-capabilities
6.2.2. プロパティタイプのCDNIキャピリティの意図されたセマンティクス

The purpose of a "cdni-capabilities" property for an entity is to indicate all the CDNI capabilities that a corresponding CDNI Advertisement resource provides for the 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 MUST be a JSON object in the format of CDNICapability (see Section 5.3). The value of a "cdni-capabilities" property for an "ipv4", "ipv6", "asn", "countrycode", or "altopid" entity MUST include all the CDNICapability objects satisfying the following conditions: (1) they are provided by the defining CDNI Advertisement resource, and (2) the represented footprint object of this entity is in their footprint restrictions.

エンティティの「cdni-キャピアリティ」プロパティの目的は、対応するCDNI広告リソースがこのエンティティで表されるフットプリントに提供するすべてのCDNI機能を示すことです。したがって、「cdni-capability」プロパティの値はJSONアレイでなければなりません。「cdni-capability」プロパティの各要素は、cdnicapabilityの形式のJSONオブジェクトでなければなりません(セクション5.3を参照)。「IPv4」、「IPv6」、「ASN」、「カントリーコード」、または「altoPID」エンティティの「cdni-capabilities」プロパティの値の値には、次の条件を満たすすべてのcdnicapabilityオブジェクトを含める必要があります。CDNI広告リソースを定義すること、および(2)このエンティティの表現されたフットプリントオブジェクトは、フットプリント制限にあります。

6.3. Examples
6.3. 例

The following examples use the same IRD example given by Section 3.7.1.

次の例は、セクション3.7.1で与えられた同じIRD例を使用しています。

6.3.1. Property Map
6.3.1. プロパティマップ

This example shows a full property map in which entities are footprints and entities' property is "cdni-capabilities".

この例は、エンティティがフットプリントであり、エンティティのプロパティが「cdni-capability」である完全なプロパティマップを示しています。

    GET /propmap/full/cdnifci HTTP/1.1
    Host: alto.example.com
    Accept: application/alto-propmap+json,application/alto-error+json
        
    HTTP/1.1 200 OK
    Content-Length: 1522
    Content-Type: application/alto-propmap+json
        
    {
      "property-map": {
        "meta": {
          "dependent-vtags": [
            { "resource-id": "my-default-cdnifci",
              "tag": "7915dc0290c2705481c491a2b4ffbec482b3cf62"}
          ]
        },
        "countrycode:us": {
          "my-default-cdnifci.cdni-capabilities": [
            { "capability-type": "FCI.DeliveryProtocol",
              "capability-value": {
                "delivery-protocols": ["http/1.1"]}}]
        },
        "ipv4:192.0.2.0/24": {
          "my-default-cdnifci.cdni-capabilities": [
            { "capability-type": "FCI.DeliveryProtocol",
              "capability-value": {
                "delivery-protocols": ["http/1.1"]}}]
        },
        "ipv4:198.51.100.0/24": {
          "my-default-cdnifci.cdni-capabilities": [
            { "capability-type": "FCI.DeliveryProtocol",
              "capability-value": {
                "delivery-protocols": ["https/1.1", "http/1.1"]}}]
        },
        "ipv4:203.0.113.0/24": {
          "my-default-cdnifci.cdni-capabilities": [
            { "capability-type": "FCI.AcquisitionProtocol",
              "capability-value": {
                "acquisition-protocols": ["http/1.1"]}}]
        },
        "ipv6:2001:db8::/32": {
          "my-default-cdnifci.cdni-capabilities": [
            { "capability-type": "FCI.DeliveryProtocol",
              "capability-value": {
                "delivery-protocols": ["http/1.1"]}}]
        },
        "asn:as64496": {
          "my-default-cdnifci.cdni-capabilities": [
            { "capability-type": "FCI.DeliveryProtocol",
              "capability-value": {
                "delivery-protocols": ["https/1.1", "http/1.1"]}}]
        }
      }
    }
        
6.3.2. Filtered Property Map
6.3.2. フィルター付きプロパティマップ

This example uses the filtered property Map Service to get "pid" and "cdni-capabilities" properties for two footprints "ipv4:192.0.2.0/24" and "ipv6:2001:db8::/32".

この例では、フィルタリングされたプロパティマップサービスを使用して、2つのフットプリント「IPv4:192.0.2.0/24」および「IPv6:2001:DB8 ::/32」の「PID」および「CDNIキャピタリティ」プロパティを取得します。

      POST /propmap/lookup/cdnifci-pid HTTP/1.1
      Host: alto.example.com
      Content-Type: application/alto-propmapparams+json
      Accept: application/alto-propmap+json,application/alto-error+json
      Content-Length: 181
        
      {
        "entities": [
          "ipv4:192.0.2.0/24",
          "ipv6:2001:db8::/32"
        ],
        "properties": [ "my-default-cdnifci.cdni-capabilities",
                        "my-default-networkmap.pid" ]
      }
        
    HTTP/1.1 200 OK
    Content-Length: 796
    Content-Type: application/alto-propmap+json
        
    {
      "property-map": {
        "meta": {
          "dependent-vtags": [
             {"resource-id": "my-default-cdnifci",
               "tag": "7915dc0290c2705481c491a2b4ffbec482b3cf62"},
             {"resource-id": "my-default-networkmap",
               "tag": "7915dc0290c2705481c491a2b4ffbec482b3cf63"}
          ]
        },
        "ipv4:192.0.2.0/24": {
          "my-default-cdnifci.cdni-capabilities": [
            {"capability-type": "FCI.DeliveryProtocol",
             "capability-value": {"delivery-protocols": ["http/1.1"]}}],
          "my-default-networkmap.pid": "pid1"
        },
        "ipv6:2001:db8::/32": {
          "my-default-cdnifci.cdni-capabilities": [
            {"capability-type": "FCI.DeliveryProtocol",
             "capability-value": {"delivery-protocols": ["http/1.1"]}}],
          "my-default-networkmap.pid": "pid3"
        }
      }
    }
        
6.3.3. Incremental Updates
6.3.3. 増分更新

In this example, the ALTO client is interested in updates for the properties "cdni-capabilities" and "pid" of two footprints "ipv4:192.0.2.0/24" and "countrycode:fr".

この例では、ALTOクライアントは、2つのフットプリント「IPv4:192.0.2.0/24」および「CountryCode:FR」のプロパティ「cdni-capability」と「pid」の更新に関心があります。

    POST /updates/properties HTTP/1.1
    Host: alto.example.com
    Accept: text/event-stream,application/alto-error+json
    Content-Type: application/alto-updatestreamparams+json
    Content-Length: 339
        
    {
      "add": {
        "fci-propmap-stream": {
          "resource-id": "filtered-cdnifci-property-map",
          "input": {
            "properties": [ "my-default-cdnifci.cdni-capabilities",
                            "my-default-networkmap.pid" ],
            "entities": [ "ipv4:192.0.2.0/24",
                          "ipv6:2001:db8::/32" ]
          }
        }
      }
    }
        

HTTP/1.1 200 OK Connection: keep-alive Content-Type: text/event-stream

http/1.1 200 ok接続:キープアライブコンテンツタイプ:テキスト/イベントストリーム

    event: application/alto-updatestreamcontrol+json
    data: {"control-uri":
    data: "https://alto.example.com/updates/streams/1414213562373"}
        
    event: application/alto-cdni+json,fci-propmap-stream
    data: { ... filtered property map ... }
        
    event: application/merge-patch+json,fci-propmap-stream
    data: {
    data:   "property-map": {
    data:     "meta": {
    data:       "dependent-vtags": [
    data:         { "resource-id": "my-default-cdnifci",
    data:           "tag": "2beeac8ee23c3dd1e98a73fd30df80ece9fa5627"},
    data:         { "resource-id": "my-default-networkmap",
    data:           "tag": "7915dc0290c2705481c491a2b4ffbec482b3cf63"}
    data:       ]
    data:     },
    data:     "ipv4:192.0.2.0/24": {
    data:       "my-default-cdnifci.cdni-capabilities": [
    data:         { "capability-type": "FCI.DeliveryProtocol",
    data:           "capability-value": {
    data:             "delivery-protocols": ["http/1.1", "https/1.1"]}}]
    data:     }
    data:   }
    data: }
        
    event: application/json-patch+json,fci-propmap-stream
    data: [
    data:   { "op": "replace",
    data:     "path": "/meta/dependent-vtags/0/tag",
    data:     "value": "61b23185a50dc7b334577507e8f00ff8c3b409e4"
    data:   },
    data:   { "op": "replace",
    data:     "path":
    data:     "/property-map/countrycode:fr/my-default-networkmap.pid",
    data:     "value": "pid5"
    data:   }
    data: ]
        
7. IANA Considerations
7. IANAの考慮事項

This document defines two new media types: "application/alto-cdni+json", as described in Section 7.1, and "application/ cdnifilter+json", as described in Section 7.2. It also defines a new CDNI Metadata Footprint Type (Section 7.3), two new ALTO entity domain types (Section 7.4), and a new ALTO entity property type (Section 7.5).

このドキュメントでは、セクション7.1で説明されているように、「Application/ Alto-CDNI JSON」という2つの新しいメディアタイプと、セクション7.2で説明されている「アプリケーション/ CDNifilter JSON」を定義します。また、新しいCDNIメタデータフットプリントタイプ(セクション7.3)、2つの新しいALTOエンティティドメインタイプ(セクション7.4)、および新しいALTOエンティティプロパティタイプ(セクション7.5)を定義します。

7.1. application/alto-cdni+json Media Type
7.1. アプリケーション/ALTO-CDNI JSONメディアタイプ

Type name: application

タイプ名:アプリケーション

Subtype name: alto-cdni+json

サブタイプ名:Alto-Cdni Json

Required parameters: N/A

必要なパラメーター:n/a

Optional parameters: N/A

オプションのパラメーター:n/a

Encoding considerations: Encoding considerations are identical to those specified for the "application/json" media type. See [RFC8259].

考慮事項のエンコーディング:エンコーディングの考慮事項は、「アプリケーション/JSON」メディアタイプに指定されたものと同一です。[RFC8259]を参照してください。

Security considerations: Security considerations related to the generation and consumption of ALTO Protocol messages are discussed in Section 15 of [RFC7285].

セキュリティ上の考慮事項:ALTOプロトコルメッセージの生成と消費に関連するセキュリティ上の考慮事項[RFC7285]のセクション15で説明されています。

Interoperability considerations: N/A

相互運用性の考慮事項:n/a

Published specification: Section 3 of RFC 9241

公開された仕様:RFC 9241のセクション3

Applications that use this media type: ALTO servers and ALTO clients [RFC7285] either stand alone or are embedded within other applications that provide CDNI interfaces for uCDNs or dCDNs.

このメディアタイプを使用するアプリケーション:ALTOサーバーとALTOクライアント[RFC7285]は、独立しているか、UCDNSまたはDCDNSにCDNIインターフェイスを提供する他のアプリケーションに組み込まれています。

Fragment identifier considerations: N/A

フラグメント識別子の考慮事項:n/a

   Additional information:
      Magic number(s):  N/A
        
      File extension(s):  N/A
        
      Macintosh file type code(s):  N/A
        

Person & email address to contact for further information: See Authors' Addresses section.

連絡先の個人とメールアドレス詳細については、著者のアドレスセクションを参照してください。

Intended usage: COMMON

意図された使用法:共通

Restrictions on usage: N/A

使用に関する制限:n/a

Author: See Authors' Addresses section.

著者:著者のアドレスセクションを参照してください。

Change controller: Internet Engineering Task Force (iesg@ietf.org)

Change Controller:インターネットエンジニアリングタスクフォース(iesg@ietf.org)

7.2. application/alto-cdnifilter+json Media Type
7.2. Application/ALTO-CDNIFILTER JSONメディアタイプ

Type name: application

タイプ名:アプリケーション

Subtype name: alto-cdnifilter+json

サブタイプ名:ALTO-CDNIFILTER JSON

Required parameters: N/A

必要なパラメーター:n/a

Optional parameters: N/A

オプションのパラメーター:n/a

Encoding considerations: Encoding considerations are identical to those specified for the "application/json" media type. See [RFC8259].

考慮事項のエンコーディング:エンコーディングの考慮事項は、「アプリケーション/JSON」メディアタイプに指定されたものと同一です。[RFC8259]を参照してください。

Security considerations: Security considerations related to the generation and consumption of ALTO Protocol messages are discussed in Section 15 of [RFC7285].

セキュリティ上の考慮事項:ALTOプロトコルメッセージの生成と消費に関連するセキュリティ上の考慮事項[RFC7285]のセクション15で説明されています。

Interoperability considerations: N/A

相互運用性の考慮事項:n/a

Published specification: Section 5 of RFC 9241

公開された仕様:RFC 9241のセクション5

Applications that use this media type: ALTO servers and ALTO clients [RFC7285] either stand alone or are embedded within other applications that provide CDNI interfaces for uCDNs or dCDNs and supports CDNI capability-based filtering.

このメディアタイプを使用するアプリケーション:ALTOサーバーとALTOクライアント[RFC7285]は、独立しているか、UCDNSまたはDCDNSにCDNIインターフェイスを提供し、CDNI能力ベースのフィルタリングをサポートする他のアプリケーションに組み込まれています。

Fragment identifier considerations: N/A

フラグメント識別子の考慮事項:n/a

   Additional information:
      Magic number(s):  N/A
        
      File extension(s):  N/A
        
      Macintosh file type code(s):  N/A
        

Person & email address to contact for further information: See Authors' Addresses section.

連絡先の個人とメールアドレス詳細については、著者のアドレスセクションを参照してください。

Intended usage: COMMON

意図された使用法:共通

Restrictions on usage: N/A

使用に関する制限:n/a

Author: See Authors' Addresses section.

著者:著者のアドレスセクションを参照してください。

Change controller: Internet Engineering Task Force (iesg@ietf.org)

Change Controller:インターネットエンジニアリングタスクフォース(iesg@ietf.org)

7.3. CDNI Metadata Footprint Types Registry
7.3. CDNIメタデータフットプリントタイプレジストリ

This document updates the "CDNI Metadata Footprint Types" registry created by Section 7.2 of [RFC8006]. A new footprint type, which is listed in Table 1, has been registered.

このドキュメントは、[RFC8006]のセクション7.2によって作成された「CDNIメタデータフットプリントタイプ」レジストリを更新します。表1にリストされている新しいフットプリントタイプが登録されています。

      +================+=====================+=====================+
      | Footprint Type | Description         | Reference           |
      +================+=====================+=====================+
      | altopid        | A list of PID names | RFC 9241, Section 4 |
      +----------------+---------------------+---------------------+
        

Table 1: CDNI Metadata Footprint Type

表1:CDNIメタデータフットプリントタイプ

7.4. ALTO Entity Domain Types Registry
7.4. Alto Entityドメインタイプレジストリ

This document updates the "ALTO Entity Domain Types" registry created by Section 11.2 of [RFC9240]. Two new entity domain types, which are listed in Table 2, have been registered.

このドキュメントは、[RFC9240]のセクション11.2によって作成された「ALTO ENTITYドメインタイプ」レジストリを更新します。表2にリストされている2つの新しいエンティティドメインタイプが登録されています。

    +=============+============+=============+=============+=========+
    | Identifier  | Entity     | Hierarchy   | Media Type  | Mapping |
    |             | Identifier | and         | of Defining | to ALTO |
    |             | Encoding   | Inheritance | Resource    | Address |
    |             |            |             |             | Type    |
    +=============+============+=============+=============+=========+
    | asn         | See RFC    | None        | None        | false   |
    |             | 9241,      |             |             |         |
    |             | Section    |             |             |         |
    |             | 6.1.1.2    |             |             |         |
    +-------------+------------+-------------+-------------+---------+
    | countrycode | See RFC    | None        | None        | false   |
    |             | 9241,      |             |             |         |
    |             | Section    |             |             |         |
    |             | 6.1.2.2    |             |             |         |
    +-------------+------------+-------------+-------------+---------+
        

Table 2: Additional ALTO Entity Domain Types

表2:追加のALTOエンティティドメインタイプ

7.5. ALTO Entity Property Types Registry
7.5. ALTO ENTITYプロパティタイプレジストリ

This document updates the "ALTO Entity Property Types" registry created by Section 11.3 of [RFC9240]. A new entity property type, which is listed in Table 3, has been registered.

このドキュメントは、[RFC9240]のセクション11.3によって作成された「ALTO Entity Property Types」レジストリを更新します。表3にリストされている新しいエンティティプロパティタイプが登録されています。

      +===================+====================+===================+
      | Identifier        | Intended Semantics | Media Type of     |
      |                   |                    | Defining Resource |
      +===================+====================+===================+
      | cdni-capabilities | See RFC 9241,      | application/alto- |
      |                   | Section 6.2        | cdni+json         |
      +-------------------+--------------------+-------------------+
        

Table 3: Additional ALTO Entity Property Type

表3:追加のALTOエンティティプロパティタイプ

8. Security Considerations
8. セキュリティ上の考慮事項

As an extension of the base ALTO Protocol [RFC7285], this document fits into the architecture of the base protocol, and hence Security Considerations of the base protocol (Section 15 of [RFC7285]) fully apply when this extension is provided by an ALTO server.

ベースALTOプロトコル[RFC7285]の拡張として、このドキュメントはベースプロトコルのアーキテクチャに適合し、したがって、この拡張機能がALTOサーバーによって提供されている場合、ベースプロトコル([RFC7285]のセクション15)のセキュリティ上の考慮事項に適合します。。

In the context of CDNI Advertisement, the following security risk scenarios should be considered:

CDNI広告のコンテキストでは、次のセキュリティリスクシナリオを考慮する必要があります。

* Authenticity and integrity of ALTO information: an attacker may disguise 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 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 conditions. To address this risk, protection strategies in Section 15.1.2 of [RFC7285] can be applied.

* ALTO情報の真正性と整合性:攻撃者は、DCDNのALTOサーバーとして(たとえば、オンパス攻撃を開始することで)偽装し、CDNI広告サービスを使用してUCDNに誤った機能とフットプリントを提供する場合があります。このような虚偽の情報は、UCDNを(1)ユーザー要求を提供するために誤ったDCDNを選択するか、(2)適切な条件でUCDNをスキップするようにする場合があります。このリスクに対処するために、[RFC7285]のセクション15.1.2の保護戦略を適用できます。

* Potential undesirable guidance from authenticated ALTO information: a dCDN can provide a uCDN with limited capabilities and smaller footprint coverage so 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 of [RFC7285] can be considered.

* 認証されたALTO情報からの潜在的な望ましくないガイダンス:DCDNは、DCDNが転送する必要があるUCDNのトラフィックを転送することを避けることができるように、限られた機能とより小さなフットプリントカバレッジをUCDNに提供できます。このリスクを減らすために、[RFC7285]のセクション15.2.2の保護戦略を考慮することができます。

* Confidentiality and privacy of ALTO information: footprint properties integrated with ALTO property maps may expose network location identifiers (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 [RFC7285] can be considered.

* ALTO情報の機密性とプライバシー:ALTOプロパティマップと統合されたフットプリントプロパティは、ネットワークの位置識別子(例:IPアドレスまたは細粒PID)を公開する場合があります。このリスクに対処するために、[RFC7285]のセクション15.3で説明されているリスクタイプ(1)および(3)の保護戦略を考慮することができます。

* For availability of ALTO services, an attacker may conduct service-degradation attacks using services defined in this document to disable ALTO services of a network. It may request potentially large, full CDNI Advertisement resources from an ALTO server in a dCDN continuously in order to consume the bandwidth resources 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 Section 15.5.2 of [RFC7285] can be applied.

* ALTOサービスの可用性のために、攻撃者は、ネットワークのALTOサービスを無効にするために、このドキュメントで定義されているサービスを使用してサービス分解攻撃を行うことができます。そのALTOサーバーの帯域幅リソースを消費するために、DCDN内のALTOサーバーから継続的に潜在的に大規模な完全なCDNI広告リソースを要求する場合があります。また、ALTOサーバーの計算リソースを消費するために、多くの小さな個別のフットプリントを備えたフィルタリングされたプロパティマップサービスをクエリすることもできます。これらのリスクを軽減するために、[RFC7285]のセクション15.5.2の保護戦略を適用できます。

Although protection strategies as described in Section 15 of [RFC7285] should be applied to address aforementioned security and privacy considerations, two special cases need to be included as follows:

[RFC7285]のセクション15で説明されている保護戦略は、前述のセキュリティとプライバシーの考慮事項に対処するために適用する必要がありますが、次のように2つの特別なケースを含める必要があります。

* As required by Section 7 of [RFC8008],

* [RFC8008]のセクション7で要求されるように、

      |  All protocols that implement these capabilities and footprint
      |  advertisement objects are REQUIRED to provide integrity and
      |  authentication services.
        

Therefore, the uCDN (ALTO Client) MUST be authenticated to the dCDN (ALTO Server). And the dCDN (ALTO Server) MUST support HTTP Digest Authentication [RFC7616] and MAY also support TLS mutual authentication [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 provisioning and managing these credentials.

したがって、UCDN(ALTOクライアント)をDCDN(ALTOサーバー)に認証する必要があります。また、DCDN(ALTOサーバー)は、HTTPダイジェスト認証[RFC7616]をサポートする必要があり、TLS相互認証[RFC8446]もサポートする必要があります。認証方法はバンドから交渉する必要があり、これらの資格情報のプロビジョニングと管理のアプローチと同様に、このドキュメントの範囲外です。

* One specific information leakage risk introduced by this document cannot be addressed by these strategies. In particular, if a dCDN A signs agreements with multiple uCDNs without any isolation, 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.

* このドキュメントによって導入された特定の情報漏れリスクの1つは、これらの戦略によって対処することはできません。特に、DCDNが分離せずに複数のUCDNと署名する場合、DCDN Aは1つのUCDNの追加情報を別のUCDNに開示する場合があります。その場合、1つのUCDNは、DCDN AがDCDN Aにサービスを提供する必要はないリクエストをリダイレクトする場合があります。

To reduce the risk, a dCDN SHOULD isolate full and/or filtered CDNI Advertisement resources for different uCDNs. It could consider generating URIs of different 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 all full and/or filtered CDNI Advertisement resources in one of its IRDs.

リスクを減らすために、DCDNは異なるUCDNの完全および/またはフィルタリングされたCDNI広告リソースを分離する必要があります。UCDNの会社ID、および契約である会社IDをハッシュすることにより、さまざまなフルおよび/またはフィルタリングされたCDNI広告リソースのURIを生成することを検討できます。DCDNは、IRDSの1つで、すべてのフルおよび/またはフィルタリングされたCDNI広告リソースを公開することを避ける必要があります。

9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[ISO3166-1] International Organization for Standardization, "Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes", ISO 3166-1:2020, August 2020.

[ISO3166-1]国際標準化機関、「国の名前とその下位区分の表現のためのコード - パート1:国コード」、ISO 3166-1:2020、2020年8月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487/RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。

[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10.17487/RFC6793, December 2012, <https://www.rfc-editor.org/info/rfc6793>.

[RFC6793] Vohra、Q。およびE. Chen、「4オクテットの自律システム(AS)番号スペースのBGPサポート」、RFC 6793、DOI 10.17487/RFC6793、<https://www.rfc-editor。org/info/rfc6793>。

[RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., Previdi, S., Roome, W., Shalunov, S., and R. Woundy, "Application-Layer Traffic Optimization (ALTO) Protocol", RFC 7285, DOI 10.17487/RFC7285, September 2014, <https://www.rfc-editor.org/info/rfc7285>.

[RFC7285] Alimi、R.、Ed。、Penno、R.、Ed。、Yang、Y.、ed。、Kiesel、S.、Previdi、S.、Roome、W.、Shalunov、S.、およびR.傷、「アプリケーションレイヤートラフィック最適化(ALTO)プロトコル」、RFC 7285、DOI 10.17487/RFC7285、2014年9月、<https://www.rfc-editor.org/info/rfc7285>。

[RFC7493] Bray, T., Ed., "The I-JSON Message Format", RFC 7493, DOI 10.17487/RFC7493, March 2015, <https://www.rfc-editor.org/info/rfc7493>.

[RFC7493] Bray、T.、ed。、「I-JSONメッセージ形式」、RFC 7493、DOI 10.17487/RFC7493、2015年3月、<https://www.rfc-editor.org/info/rfc7493>

[RFC7616] Shekh-Yusef, R., Ed., Ahrens, D., and S. Bremer, "HTTP Digest Access Authentication", RFC 7616, DOI 10.17487/RFC7616, September 2015, <https://www.rfc-editor.org/info/rfc7616>.

[RFC7616] Shekh-Yusef、R.、Ed。、Ahrens、D.、およびS. Bremer、「HTTP Digest Access Authentication」、RFC 7616、DOI 10.17487/RFC7616、2015年9月、<https://www.rfc-editor.org/info/rfc7616>。

[RFC8006] Niven-Jenkins, B., Murray, R., Caulfield, M., and K. Ma, "Content Delivery Network Interconnection (CDNI) Metadata", RFC 8006, DOI 10.17487/RFC8006, December 2016, <https://www.rfc-editor.org/info/rfc8006>.

[RFC8006] Niven-Jenkins、B.、Murray、R.、Caulfield、M。、およびK. Ma、「コンテンツ配信ネットワーク相互接続(CDNI)メタデータ」、RFC 8006、DOI 10.17487/RFC8006、2016年12月、<https://www.rfc-editor.org/info/rfc8006>。

[RFC8008] Seedorf, J., Peterson, J., Previdi, S., van Brandenburg, R., and K. Ma, "Content Delivery Network Interconnection (CDNI) Request Routing: Footprint and Capabilities Semantics", RFC 8008, DOI 10.17487/RFC8008, December 2016, <https://www.rfc-editor.org/info/rfc8008>.

[RFC8008] Seedorf、J.、Peterson、J.、Previdi、S.、Van Brandenburg、R.、およびK. Ma、「コンテンツ配信ネットワークの相互接続(CDNI)リクエストルーティング:フットプリントと機能セマンティクス」、RFC 8008、doi10.17487/rfc8008、2016年12月、<https://www.rfc-editor.org/info/rfc8008>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8174] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487/RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。

[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data Interchange Format", STD 90, RFC 8259, DOI 10.17487/RFC8259, December 2017, <https://www.rfc-editor.org/info/rfc8259>.

[RFC8259] Bray、T.、ed。、「JavaScriptオブジェクト表記(JSON)データインターチェンジ形式」、STD 90、RFC 8259、DOI 10.17487/RFC8259、2017年12月、<https://www.rfc-editor.org/info/rfc8259>。

[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, <https://www.rfc-editor.org/info/rfc8446>.

[RFC8446] Rescorla、E。、「輸送層セキュリティ(TLS)プロトコルバージョン1.3」、RFC 8446、DOI 10.17487/RFC8446、2018年8月、<https://www.rfc-editor.org/info/rfc846>

[RFC8895] Roome, W. and Y. Yang, "Application-Layer Traffic Optimization (ALTO) Incremental Updates Using Server-Sent Events (SSE)", RFC 8895, DOI 10.17487/RFC8895, November 2020, <https://www.rfc-editor.org/info/rfc8895>.

[RFC8895] Roome、W。and Y. Yang、「アプリケーションレイヤートラフィック最適化(ALTO)サーバーセントイベント(SSE)を使用した増分更新」、RFC 8895、DOI 10.17487/RFC8895、2020年11月、<https:// wwwwwwwwwwwwww.rfc-editor.org/info/rfc8895>。

[RFC9240] Roome, W., Randriamasy, S., Yang, Y., Zhang, J., and K. Gao, "An Extension for Application-Layer Traffic Optimization (ALTO): Entity Property Maps", RFC 9240, DOI 10.17487/RFC9240, July 2022, <https://www.rfc-editor.org/info/rfc9240>.

[RFC9240] Roome、W.、Randriamasy、S.、Yang、Y.、Zhang、J。、およびK. Gao、「アプリケーションレイヤートラフィック最適化の拡張(ALTO):エンティティプロパティマップ」、RFC 9240、doi10.17487/rfc9240、2022年7月、<https://www.rfc-editor.org/info/rfc9240>。

9.2. Informative References
9.2. 参考引用

[ALTO-PATH-VECTOR] Gao, K., Lee, Y., Randriamasy, S., Yang, Y. R., and J. J. Zhang, "An ALTO Extension: Path Vector", Work in Progress, Internet-Draft, draft-ietf-alto-path-vector-25, 20 March 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-alto-path-vector-25>.

[Alto-Path-Vector] Gao、K.、Lee、Y.、Randriamasy、S.、Yang、Y。R。、およびJ. J. Zhang、「Alto Extension:Path Vector」、Work in Progress、Internet-Draft、Draft-Iitf-Alto-Path-Vector-25、2022年3月20日、<https://datatracker.ietf.org/doc/html/draft-ietf-alto-path-vector-25>。

[RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic Optimization (ALTO) Problem Statement", RFC 5693, DOI 10.17487/RFC5693, October 2009, <https://www.rfc-editor.org/info/rfc5693>.

[RFC5693] Seedorf、J。およびE. Burger、「アプリケーションレイヤートラフィック最適化(ALTO)問題ステートメント」、RFC 5693、DOI 10.17487/RFC5693、2009年10月、<https://www.rfc-editor.org/info/RFC5693>。

[RFC6707] Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content Distribution Network Interconnection (CDNI) Problem Statement", RFC 6707, DOI 10.17487/RFC6707, September 2012, <https://www.rfc-editor.org/info/rfc6707>.

[RFC6707] Niven-Jenkins、B.、Le Faucheur、F.、およびN. Bitar、「コンテンツ配信ネットワーク相互接続(CDNI)問題ステートメント」、RFC 6707、DOI 10.17487/RFC6707、2012年9月、<https:// wwwwwwwwwwwwwwwwwww.rfc-editor.org/info/rfc6707>。

[RFC7971] Stiemerling, M., Kiesel, S., Scharf, M., Seidel, H., and S. Previdi, "Application-Layer Traffic Optimization (ALTO) Deployment Considerations", RFC 7971, DOI 10.17487/RFC7971, October 2016, <https://www.rfc-editor.org/info/rfc7971>.

[RFC7971] Stiemerling、M.、Kiesel、S.、Scharf、M.、Seidel、H.、およびS. Previdi、「アプリケーション層トラフィック最適化(ALTO)展開の考慮事項」、RFC 7971、DOI 10.17487/RFC7971、10月2016、<https://www.rfc-editor.org/info/rfc7971>。

[RFC7975] Niven-Jenkins, B., Ed. and R. van Brandenburg, Ed., "Request Routing Redirection Interface for Content Delivery Network (CDN) Interconnection", RFC 7975, DOI 10.17487/RFC7975, October 2016, <https://www.rfc-editor.org/info/rfc7975>.

[RFC7975] Niven-Jenkins、B.、ed。and R. Van Brandenburg、ed。、「コンテンツ配信ネットワーク(CDN)相互接続のルーティングリダイレクトインターフェイスをリクエスト」、RFC 7975、DOI 10.17487/RFC7975、2016年10月、<https://www.rfc-editor.org/info/RFC7975>。

Acknowledgments

謝辞

The authors thank Matt Caulfield, Danny Alex Lachos Perez, Daryl Malas, and Sanjay Mishra for their timely reviews and invaluable comments. Big thanks also to the ALTO WG Chairs (Qin Wu and Vijay Gurbani), all the directorate reviewers, and the IESG reviewers (Martin Duke, Erik Kline, Martin Vigoureux, Murray Kucherawy, Roman Danyliw, Zaheduzzaman Sarker, Éric Vyncke, and Francesca Palombini), for their thorough reviews, discussions, guidance, and shepherding, which further improve this document.

著者は、マット・コールフィールド、ダニー・アレックス・ラチョス・ペレス、ダリル・マラス、サンジェイ・ミシュラのタイムリーなレビューと貴重なコメントに感謝します。すべての監督レビュアー、IESGレビュアー(Martin Duke、Erik Kline、Marray Kucherawy、Roman Danyliw、Zaheduzzuzaman Sarker、Eric Vyncke、Francesca PalombiniのIESGレビュアー(すべての監督レビュアー)、およびIESGレビュアー(すべての監督レビュアー)、Alto WGチェア(Qin WuおよびVijay Gurbani)、およびIESGレビュアーにも感謝します。)、徹底的なレビュー、ディスカッション、ガイダンス、および羊飼いのために、この文書をさらに改善します。

Jan Seedorf has been partially supported by the GreenICN project (GreenICN: Architecture and Applications of Green Information Centric Networking), a research project supported jointly by the European Commission under its 7th Framework Program (contract no. 608518) and the National Institute of Information and Communications Technology (NICT) in Japan (contract no. 167). The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the GreenICN project, the European Commission, or NICT.

Jan Seedorfは、Greenicnプロジェクト(Greenicn:Architecture and Green Information Centric Networkingのアプリケーション)、第7回フレームワークプログラム(契約番号608518)および国立情報研究所および国立情報および国立委員会の下で共同でサポートされている研究プロジェクトによって部分的にサポートされています。日本の通信技術(NICT)(契約番号167)。本明細書に含まれる見解と結論は著者の見解であり、Greenicnプロジェクト、欧州委員会、またはNICTの表明または暗示された公式の政策または承認を必ずしも表現するものとして解釈すべきではない。

This document has also been supported by the Coordination Support Action entitled 'Supporting European Experts Presence in International Standardisation Activities in ICT' (StandICT.eu <https://www.standict.eu/>) funded by the European Commission under the Horizon 2020 Programme with Grant Agreement no. 780439. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the European Commission.

この文書は、Horizon 2020の下で欧州委員会によって資金提供された「ICTの国際標準化活動におけるヨーロッパの専門家の存在をサポートする欧州の専門家の存在」(Standict.eu <https://www.standict.eu/>)というタイトルの調整サポート行動によってもサポートされています。グラント契約を備えたプログラム番号780439.ここに含まれる見解と結論は著者の見解であり、欧州委員会の表明または黙示のいずれかの公式政策または承認を必ずしも代表するものとして解釈すべきではありません。

Contributors

貢献者

Xiao Shawn Lin Huawei 2222 Newjinqiao Rd Shanghai 200125 China Phone: +86-15316812351 Email: x.shawn.lin@gmail.com

Xiao Shawn Lin Huawei 2222 Newjinqiao Rd Shanghai 200125 China電話:86-15316812351メール:x.shawn.lin@gmail.com

Authors' Addresses

著者のアドレス

Jan Seedorf HFT Stuttgart - Univ. of Applied Sciences Schellingstrasse 24 70174 Stuttgart Germany Phone: +49-0711-8926-2801 Email: jan.seedorf@hft-stuttgart.de

Jan Seedorf Hft Stuttgart -Univ。Applied Sciences Schellingstrasse 24 70174 Stuttgart Germany電話:49-0711-8926-2801メール:jan.seedorf@hft-stutgart.de

   Y. Richard Yang
   Yale University
   51 Prospect Street
   New Haven, CT 06511
   United States of America
   Phone: +1-203-432-6400
   Email: yry@cs.yale.edu
   URI:   http://www.cs.yale.edu/~yry/
        

Kevin J. Ma Ericsson 43 Nagog Park Acton, MA 01720 United States of America Phone: +1-978-844-5100 Email: kevin.j.ma.ietf@gmail.com

Kevin J. Ma Ericsson 43 Nagog Park Acton、MA 01720アメリカ合衆国電話:1-978-844-5100メール:kevin.j.ma.ietf@gmail.com

Jon Peterson NeuStar 1800 Sutter St., Suite 570 Concord, CA 94520 United States of America Email: jon.peterson@neustar.biz

Jon Peterson Neustar 1800 Sutter St.、Suite 570 Concord、CA 94520アメリカ合衆国電子メール:jon.peterson@neustar.biz

Jingxuan Jensen Zhang Tongji University 4800 Cao'an Hwy Shanghai 201804 China Email: jingxuan.zhang@tongji.edu.cn

Jingxuan Jensen Zhang Tongji University 4800 Cao'an Hwy Shanghai 201804 China Email:jingxuan.zhang@tongji.edu.cn