Network Working Group                                         J. Seedorf
Request for Comments: 5693                                           NEC
Category: Informational                                        E. Burger
                                                            Neustar Inc.
                                                            October 2009
    Application-Layer Traffic Optimization (ALTO) Problem Statement



Distributed applications -- such as file sharing, real-time communication, and live and on-demand media streaming -- prevalent on the Internet use a significant amount of network resources. Such applications often transfer large amounts of data through connections established between nodes distributed across the Internet with little knowledge of the underlying network topology. Some applications are so designed that they choose a random subset of peers from a larger set with which to exchange data. Absent any topology information guiding such choices, or acting on suboptimal or local information obtained from measurements and statistics, these applications often make less than desirable choices.

分散アプリケーション - などのファイル共有、リアルタイム通信、およびライブとオンデマンドメディアのストリーミングなど - 普及し、インターネット上では、ネットワークリソースを大量に使用します。このようなアプリケーションは、多くの場合、基礎となるネットワーク・トポロジーの少しの知識と、インターネット上に分散ノード間で確立された接続を通じて大量のデータを転送します。一部のアプリケーションは、そう、彼らはデータを交換すると、より大きなセットからピアのランダムなサブセットを選択するように設計されています。そのような選択を導く任意のトポロジ情報を非表示か、または測定と統計から得られ、次善またはローカル情報に作用し、これらのアプリケーションは、多くの場合、望ましい選択肢未満を作ります。

This document discusses issues related to an information-sharing service that enables applications to perform better-than-random peer selection.


Status of This Memo


This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.


Copyright Notice


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

著作権(C)2009 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents ( 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the BSD License.

この文書では、BCP 78と、この文書の発行日に有効なIETFドキュメント(に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。コードコンポーネントは、トラスト法規定のセクション4.eに記載されており、BSDライセンスで説明したように、保証なしで提供されているよう簡体BSDライセンスのテキストを含める必要があり、この文書から抽出されました。

Table of Contents


   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  State-of-the-Art . . . . . . . . . . . . . . . . . . . . .  4
   2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  The Problem  . . . . . . . . . . . . . . . . . . . . . . . . .  7
   4.  Use Cases  . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     4.1.  File sharing . . . . . . . . . . . . . . . . . . . . . . .  8
     4.2.  Cache/Mirror Selection . . . . . . . . . . . . . . . . . .  8
     4.3.  Live Media Streaming . . . . . . . . . . . . . . . . . . .  8
     4.4.  Real-Time Communications . . . . . . . . . . . . . . . . .  9
     4.5.  Distributed Hash Tables  . . . . . . . . . . . . . . . . .  9
   5.  Aspects of the Problem . . . . . . . . . . . . . . . . . . . .  9
     5.1.  Information Provided by an ALTO Service  . . . . . . . . .  9
     5.2.  ALTO Service Providers . . . . . . . . . . . . . . . . . . 10
     5.3.  ALTO Service Implementation  . . . . . . . . . . . . . . . 10
     5.4.  User Privacy . . . . . . . . . . . . . . . . . . . . . . . 10
     5.5.  Topology Hiding  . . . . . . . . . . . . . . . . . . . . . 11
     5.6.  Coexistence with Caching . . . . . . . . . . . . . . . . . 11
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 11
   7.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 12
   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Informative References . . . . . . . . . . . . . . . . . . . . 13
1. Introduction
1. はじめに
1.1. Overview
1.1. 概要

Distributed applications, both peer-to-peer (P2P) and client/server used for file sharing, real-time communication, and live and on-demand media streaming, use a significant amount of network capacity and CPU cycles in the routers [WWW.wired.fuel]. In contrast to centralized applications, distributed applications access resources such as files or media relays distributed across the Internet and exchange large amounts of data in connections that they establish directly with nodes sharing such resources.

分散アプリケーション、ピア・ツー・ピア(P2P)ファイル共有に使用されるクライアント/サーバー、リアルタイム通信、およびライブとオンデマンドメディアのストリーミングの両方は、ルータでネットワーク容量とCPUサイクルを大量に使用して、[WWW .wired.fuel]。中央集中型のアプリケーションとは対照的に、そのようなファイルやメディアリレーなどの分散アプリケーションのアクセスリソースは、インターネット上に分散して、彼らはそのようなリソースを共有するノードと直接確立接続で大量のデータを交換します。

One advantage of highly distributed systems results from the fact that the resources such systems offer are often available through multiple replicas. However, applications generally do not have reliable information of the underlying network and thus have to select among the available peers that provide such replicas randomly or based on information they deduce from partial observations that, in some situations, lead to suboptimal choices. For example, one peer-selection algorithm is based only on the measurements during initial connection establishment between two peers. Since actual data transmission does not begin, the algorithm measures only the round-trip time and cannot reliably deduce actual throughput between the peers. Thus, such a peer-selection algorithm that simply uses round-trip time may result in a suboptimal choice of peers.


Many of today's P2P systems use an overlay network consisting of direct peer connections. Such connections often do not account for the underlying network topology. In addition to having suboptimal performance, such networks can lead to congestion and cause serious inefficiencies. As shown in [ACM.fear], traffic generated by popular P2P applications often cross network boundaries multiple times, overloading links that are frequently subject to congestion [ACM.bottleneck]. Moreover, such transits, besides resulting in a poor experience for the user, can be quite costly to the network operator.

今日のP2Pシステムの多くは、直接ピア接続からなるオーバーレイネットワークを使用しています。このような接続は、多くの場合、基本的なネットワークトポロジを考慮していません。次善の性能を有することに加えて、このようなネットワークが輻輳につながり、深刻な非効率性を引き起こす可能性があります。 [ACM.fear]に示すように、人気のP2Pアプリケーションによって生成されるトラフィックは、多くの場合、頻繁に[ACM.bottleneck]渋滞の対象となるリンクの過負荷を、複数回のネットワークの境界を越えます。また、そのような遷移は、ユーザに対する貧体験をもたらす以外に、ネットワークオペレータに非常に高価であることができます。

Recent studies ([ACM.ispp2p], [WWW.p4p.overview], [ACM.ono]) show a possible solution to this problem. Internet Service Providers (ISPs), network operators, or third parties can collect more reliable network information. This information includes relevant information such as topology or link capacity. Normally, such information changes on a much longer time scale than information used for congestion control on the transport layer. Providing this information to P2P applications can enable them to apply better-than-random peer selection with respect to the underlying network topology. As a result, it may be possible to increase application performance, reduce congestion, and decrease the overall amount of traffic across different networks. Presumably, both applications and the network operator can benefit from such information. Thus, network operators have an incentive to provide, either directly themselves or indirectly through a third party, such information; applications have an incentive to use such information. This document discusses issues related to an information-sharing service that enables applications to perform better-than-random peer selection.

最近の研究では、([ACM.ispp2p]、[WWW.p4p.overview]、[ACM.ono])は、この問題に対する可能な解決策を示しています。インターネットサービスプロバイダ(ISP)、ネットワークオペレータ、または第三者が、より信頼性の高いネットワークの情報を収集することができます。この情報は、トポロジーやリンク容量などの関連情報を含んでいます。通常、そのような情報は、トランスポート層の輻輳制御に使用される情報よりもはるかに長い時間スケールで変化します。 P2Pアプリケーションにこの情報を提供することは、基本的なネットワークトポロジに対するよりも良いランダムピア選択を適用し、それらを有効にすることができます。その結果、アプリケーションのパフォーマンスを向上させる輻輳を軽減し、異なるネットワーク間でトラフィックの全体量を減少させることが可能です。おそらく、両方のアプリケーションと、ネットワークオペレータは、このような情報から利益を得ることができます。これにより、ネットワークオペレータは、直接または間接的に自分自身の第三者は、そのような情報を介して、提供するインセンティブを有します。アプリケーションは、このような情報を使用するインセンティブを持っています。この文書では、より良い、よりランダムピア選択を実行するアプリケーションを可能に情報共有サービスに関連する問題について説明します。

Section 2 provides definitions. Section 3 introduces the problem. Section 4 describes some use cases where both P2P applications and network operators benefit from a solution to such a problem. Section 5 describes the main issues to consider when designing such a solution. Note a companion document to this document, "Application-Layer Traffic Optimization (ALTO) Requirements" [ALTO-REQS], goes into the details of these issues.


1.2. State-of-the-Art
1.2. 最先端

The papers [ACM.ispp2p], [PATH-SEL], and [WWW.p4p.overview] present examples of contemporary solution proposals that address the problem described in this document. Moreover, these proposals have encouraging simulation and field test results. These and similar, independent, solutions all consist of two essential parts:


o a discovery mechanism that a P2P application uses to find a reliable information source, and


o a protocol that P2P applications use to query such sources in order to retrieve the information needed to perform better-than-random selection of the endpoints providing a desired resource.


It is not clear how such solutions will perform if deployed globally on the Internet. However, wide adoption is unlikely without agreement on a common solution, based upon an open standard.


2. Definitions

The following terms have special meaning in the definition of the Application-Layer Traffic Optimization (ALTO) problem.


Application: A distributed communication system (e.g., file sharing) that uses the ALTO service to improve its performance or quality of experience while improving resource consumption in the underlying network infrastructure. Applications may use the P2P model to organize themselves, use the client-server model, or use a hybrid of both (i.e., a mixture between the P2P model and the client-server model).


Peer: A specific participant in an application. Colloquially, a peer refers to a participant in a P2P network or system, and this definition does not violate that assumption. If the basis of the application is the client-server or hybrid model, then the usage of the terms "client" and "server" disambiguates the peer's role.

ピア:アプリケーション内の特定の参加者。口語、ピアはP2Pネットワークやシステムへの参加者を意味し、この定義は、その仮定に違反しません。アプリケーションの基本は、クライアント - サーバまたはハイブリッドモデルの場合、用語「クライアント」と「サーバ」の用法は、ピアの役割を曖昧性を除去します。

P2P: Peer-to-Peer.


Resource: Content (such as a file or a chunk of a file) or a server process (for example, to relay a media stream or perform a computation) that applications can access. In the ALTO context, a resource is often available in several equivalent replicas. In addition, different peers share these resources, often simultaneously.

アプリケーションがアクセスできるコンテンツまたはサーバ・プロセス(例えば、ファイル又はファイルのチャンクとして)(例えば、メディア・ストリームを中継または演算を実行する):リソース。 ALTOのコンテキストでは、リソースは、いくつかの同等のレプリカに頻繁に利用可能です。また、異なるピアは、多くの場合、同時に、これらのリソースを共有しています。

Resource Identifier: An application-layer identifier used to identify a resource, no matter how many replicas exist.


Resource Provider: For P2P applications, a resource provider is a specific peer that provides some resources. For client-server or hybrid applications, a provider is a server that hosts a resource.


Resource Consumer: For P2P applications, a resource consumer is a specific peer that needs to access resources. For client-server or hybrid applications, a consumer is a client that needs to access resources.


Transport Address: All address information that a resource consumer needs to access the desired resource at a specific resource provider. This information usually consists of the resource provider's IP address and possibly other information, such as a transport protocol identifier or port numbers.


Overlay Network: A virtual network consisting of direct connections on top of another network and established by a group of peers.


Resource Directory: An entity that is logically separate from the resource consumer and that assists the resource consumer to identify a set of resource providers. Some P2P applications refer to the resource directory as a P2P tracker.


ALTO Service: Several resource providers may be able to provide the same resource. The ALTO service gives guidance to a resource consumer and/or resource directory about which resource provider(s) to select in order to optimize the client's performance or quality of experience, while improving resource consumption in the underlying network infrastructure.

ALTOサービス:いくつかのリソースプロバイダが同じリソースを提供することができます。 ALTOサービスは、基盤となるネットワークインフラストラクチャ内のリソース消費を改善しながら、経験のクライアントのパフォーマンスや品質を最適化するために選択したリソース・プロバイダーに関するリソースの消費者および/またはリソースディレクトリ(複数可)へのガイダンスを提供します。

ALTO Server: A logical entity that provides interfaces to the queries to the ALTO service.


ALTO Client: The logical entity that sends ALTO queries. Depending on the architecture of the application, one may embed it in the resource consumer and/or in the resource directory.


ALTO Query: A message sent from an ALTO client to an ALTO server; it requests guidance from the ALTO service.


ALTO Response: A message that contains guiding information from the ALTO service as a reply to an ALTO query.


ALTO Transaction: A transaction that consists of an ALTO query and the corresponding ALTO response.


Local Traffic: Traffic that stays within the network infrastructure of one Internet Service Provider (ISP). This type of traffic usually results in the least cost for the ISP.


Peering Traffic: Internet traffic exchanged by two Internet Service Providers whose networks connect directly. Apart from infrastructure and operational costs, peering traffic is often free to the ISPs, within the contract of a peering agreement.


Transit Traffic: Internet traffic exchanged on the basis of economic agreements amongst Internet Service Providers (ISPs). An ISP generally pays a transit provider for the delivery of traffic flowing between its network and remote networks to which the ISP does not have a direct connection.

トランジットトラフィックは:インターネットのトラフィックは、インターネットサービスプロバイダ(ISP)の間で経済協定に基づいて交換しました。 ISPは、一般的にISPが直接接続されていないために、そのネットワークとリモートネットワーク間を流れるトラフィックの配信のためのトランジットプロバイダを支払います。

Application Protocol: A protocol used by the application for establishing an overlay network between the peers and exchanging data on it, as well as for data exchange between peers and resource directories, if applicable. These protocols play an important role in the overall ALTO architecture. However, defining them is out of the scope of the ALTO WG.

アプリケーションプロトコル:ピアとの間のオーバーレイネットワークを構築し、その上にデータを交換するための、ならびにピアとリソースディレクトリの間のデータ交換のためにアプリケーションによって使用されるプロトコル、該当する場合。これらのプロトコルは、全体的なALTOアーキテクチャにおいて重要な役割を果たしています。しかし、それらを定義するALTO WGの範囲外です。

ALTO Client Protocol: The protocol used for sending ALTO queries and ALTO replies between an ALTO client and ALTO server.


Provisioning Protocol: A protocol used for populating the ALTO server with information.


                                          +-----+   | Peers
          +-----+       +------+    +=====|     |-*-+
          |     |.......|      |====+     +-*-*-+ *
          +-----+       +------+    |       * *****
        Source of        ALTO       |       *
        Information      Server     |     +-*---+
                                    +=====|     | Resource Directory
                                          +-----+ (Tracker, proxy)
        === ALTO client protocol
        *** Application protocol (out of scope)
        ... Provisioning or initialization (out of scope)

Figure 1: Overview of Protocol Interaction between ALTO Elements


Figure 1 shows the scope of the ALTO client protocol: peers or resource directories can use such a protocol as ALTO clients to query an ALTO server. The mapping of topological information onto an ALTO service as well as the application protocol interaction between peers and resource directories are out of scope for the ALTO client protocol.

図1は、ALTOクライアントプロトコルの範囲を示しています。ピアまたはリソースディレクトリは、ALTOサーバーを照会するALTOクライアントなどのプロトコルを使用することができます。 ALTOサービスへのトポロジ情報のマッピングだけでなく、同僚やリソースディレクトリ間のアプリケーションプロトコルの相互作用は、ALTOクライアントプロトコルの範囲外です。

3. The Problem

Network engineers have been facing the problem of traffic optimization for a long time and have designed mechanisms like MPLS [RFC3031] and Diffserv [RFC3260] to deal with it. The problem these protocols address consists in finding (or setting) optimal routes (or optimal queues in routers) for packets traveling between specific source and destination addresses. Solutions are based on requirements such as low latency, high reliability, and priority. Such solutions are usually implemented at the link and network layers and tend to be almost transparent.

ネットワークエンジニアは、長い時間のために、トラフィックの最適化の問題に直面してきたし、それに対処するためにMPLS [RFC3031]とDiffservの[RFC3260]のようなメカニズムを設計しました。問題これらのプロトコル・アドレスは、特定の送信元アドレスと宛先アドレスとの間を移動するパケットの最適ルート(またはルータに最適なキュー)を求める(又は設定)することからなります。ソリューションは、低遅延、高信頼性、および優先順位などの要件に基づいています。このような溶液は、通常、リンク層とネットワーク層で実装されており、ほぼ透明になる傾向があります。

However, distributed applications in general and, in particular, bandwidth-greedy P2P applications that are used, for example, for file sharing, cannot directly use the aforementioned techniques. By cooperating with external services that are aware of the network topology, applications could greatly improve the traffic they generate. In fact, when a P2P application needs to establish a connection, the logical target is not a stable host, but rather a resource (e.g., a file or a media relay) that can be available in multiple instances on different peers. Selection of a good host from an overlay topological proximity has a large impact on the overall traffic generated.

しかしながら、一般的にアプリケーションを分散して、使用される特定の、帯域幅貪欲P2Pアプリケーションでは、例えば、ファイル共有のために、直接、前述の技術を使用することはできません。ネットワークトポロジを認識している外部サービスと連携することで、アプリケーションは非常に彼らが発生するトラフィックを向上させることができます。 P2Pアプリケーションは、接続を確立する必要が実際に、論理ターゲットが安定ホストではなく、異なるピアに複数のインスタンスに利用可能であるリソース(例えば、ファイル又はメディア・リレー)。オーバーレイトポロジカル近接から良いホストの選択は、生成されたトラフィック全体に大きな影響を与えます。

Note that while traffic considerations are important, several other factors also play a role on the performance experienced by users of distributed applications. These include the need to avoid overloading individual nodes, fetching rare pieces of a file before those pieces are available at a multiplicity of nodes, and so on. However, better information about topological conditions does improve the overall selection algorithm on an important aspect.


Better-than-random peer selection is helpful in the initial phase of the process. Consider a P2P protocol in which a querying peer receives a list of candidate destinations where a resource resides. From this list, the peer will derive a smaller set of candidates to connect to and exchange information with. In another example, a streaming video client may be provided with a list of destinations from which it can stream content. In both cases, the use of topology information in an early stage will allow applications to improve their performance and will help ISPs make a better use of their network resources. In particular, an economic goal for ISPs is to reduce the transit traffic on interdomain links.


Addressing the Application-Layer Traffic Optimization (ALTO) problem means, on the one hand, deploying an ALTO service to provide applications with information regarding the underlying network and, on the other hand, enhancing applications in order to use such information to perform better-than-random selection of the endpoints with which they establish connections.


4. Use Cases
4.1. File sharing
4.1. ファイル共有

File-sharing applications allow users to search for content shared by other users and to download respective resources from other users. For instance, search results can consist of many instances of the same file (or chunk of a file) available from multiple sources. The goal of an ALTO solution is to help peers find the best ones according to the underlying networks.

ファイル共有アプリケーションは、ユーザーが他のユーザーと共有コンテンツを検索すると、他のユーザーからの各リソースをダウンロードすることができます。例えば、検索結果は、複数のソースから入手可能な同じファイル(またはファイルのチャンク)の多くのインスタンスで構成することができます。 ALTOソリューションの目標は、ピアは、基礎となるネットワークに応じて最高のものを見つけることです。

On the application side, integration of ALTO functionalities may happen at different levels. For example, in the completely decentralized Gnutella network, selection of the best sources is totally up to the user. In systems like BitTorrent and eDonkey, central elements such as trackers or servers act as mediators. Therefore, in the former case, improvement would require modification in the applications, while in the latter it could just be implemented in some central elements.


4.2. Cache/Mirror Selection
4.2. キャッシュ/ミラーの選択

Providers of popular content, like media and software repositories, usually resort to geographically distributed caches and mirrors for load balancing. Today, selection of the proper mirror/cache for a given user is based on inaccurate geolocation data, on proprietary network-location systems, or is often delegated to the user herself. An ALTO solution could be easily adopted to ease such a selection in an automated way.

メディアとソフトウェアリポジトリのような人気のあるコンテンツの提供者は、通常、負荷分散のために、地理的に分散キャッシュや鏡に頼ります。今日では、所与のユーザのための適切なミラー/キャッシュの選択は、独自のネットワーク・ロケーション・システムでは、不正確なジオロケーションデータに基づいて、または多くの場合、ユーザ自身に委任されています。 ALTO溶液を容易に自動化された方法でこのような選択を容易にするために採用することができます。

4.3. Live Media Streaming
4.3. ライブメディアストリーミング

P2P applications for live streaming allow users to receive multimedia content produced by one source and targeted to multiple destinations, in a real-time or near-real-time way. This is particularly important for users or networks that do not support multicast. Peers often participate in the distribution of the content, acting as both receivers and senders. The goal of an ALTO solution is to help a peer to find effective communicating peers that exchange the media content.

ライブストリーミングのためのP2Pアプリケーションは、ユーザが一つのソースによって生成され、複数の宛先にターゲットに、リアルタイムまたはほぼリアルタイムの方法でマルチメディア・コンテンツを受信することができます。これは、マルチキャストをサポートしていないユーザーやネットワークのために特に重要です。ピアは、多くの場合、受信機と送信者の両方として機能する、コンテンツの配信に参加しています。 ALTOソリューションの目標は、メディアコンテンツを交換する効果的な通信ピアを見つけるためにピアを支援することです。

4.4. Real-Time Communications
4.4. リアルタイムコミュニケーション

P2P real-time communications allow users to establish direct media flows for real-time audio, video, and real-time text calls or to have text chats. In the basic case, media flows directly between the two endpoints. Unfortunately, however, a significant portion of users have limited access to the Internet due to NATs, firewalls, or proxies. Thus, other elements need to relay the media. Such media relays are distributed over the Internet with public addresses. An ALTO solution needs to help peers find the best relays.

P2Pのリアルタイム通信は、直接メディアを確立するため、ユーザーは、リアルタイムのオーディオ、ビデオ、およびリアルタイムのテキストコールに流れ、またはテキストチャットを持つことができます。基本的なケースでは、メディアは、2つのエンドポイント間で直接流れます。しかし、残念ながら、ユーザーのかなりの部分が原因のNAT、ファイアウォール、またはプロキシにインターネットへのアクセスが制限されています。このように、他の要素は、メディアを中継する必要があります。このようなメディアリレーは、パブリックアドレスでインターネット上に分散されています。 ALTOソリューションは、ピアが最高のリレーを見つける必要があります。

4.5. Distributed Hash Tables
4.5. 分散ハッシュテーブル

Distributed hash tables (DHTs) are a class of overlay algorithms used to implement lookup functionalities in popular P2P systems, without using centralized elements. In such systems, a peer maintains the addresses of a set of other peers participating in the same DHT in a routing table, sorted according to specific criteria. An ALTO solution can provide valuable information for DHT algorithms.

分散ハッシュテーブル(のDHT)集中型素子を用いることなく、人気のP2Pシステムにおける検索機能を実装するために使用されるオーバーレイアルゴリズムのクラスです。このようなシステムでは、ピアは、特定の基準に従ってソートされたルーティングテーブルに同一のDHTに参加している他のピアのセットのアドレスを維持します。 ALTOソリューションは、DHTアルゴリズムのための貴重な情報を提供することができます。

5. Aspects of the Problem

This section introduces some aspects of the problem that some people may not be aware of when they first start studying the problem space.


5.1. Information Provided by an ALTO Service
5.1. ALTOサービスによって提供された情報

The goal of an ALTO service is to provide applications with information they can use to perform better-than-random peer selection. In principle, there are many types of information that can help applications in peer selection. However, not all of the information to be conveyed is amenable to an ALTO-like service. More specifically, information that can change very rapidly, such as transport-layer congestion, is out of scope for an ALTO service. Such information is better suited to be transferred through an in-band technique at the transport layer instead of an ALTO-like, out-of-band technique at the application layer. An ALTO solution for congestion will either have outdated information or must be contacted too frequently by applications. And finally, information such as end-to-end delay and available bandwidth can be more accurately measured by applications, themselves.


The kind of information that is meaningful to convey to applications via an out-of-band ALTO service is any information that applications cannot easily obtain themselves and that changes on a much longer time scale than the instantaneous information used for congestion control on the transport layer. Examples for such information are operator's policies, geographical location or network proximity (e.g., the topological distance between two peers), the transmission costs associated with sending/receiving a certain amount of data to/ from a peer, or the remaining amount of traffic allowed by a peer's operator (e.g., in case of quotas or limited flat-rate pricing models).


5.2. ALTO Service Providers
5.2. ALTOサービスプロバイダ

At least three different kinds of entities can provide ALTO services:


1. Network operators. Network operators usually have full knowledge of the network they administer and are aware of their network topology and policies.


2. Third parties. Third parties are entities separate from network operators but that may either have collected network information or have arrangements with network operators to learn the network information. Examples of such entities are content-delivery networks like Akamai, which control wide and highly distributed infrastructures, or companies providing an ALTO service on behalf of ISPs.


3. User communities. User communities run distributed algorithms, for example, for estimating the topology of the Internet.


5.3. ALTO Service Implementation
5.3. ALTOサービスの実装

It is important for the reader to understand there are significant user communities that expect an ALTO server to be a centralized service. Likewise, there are other user communities that expect the ALTO service be a distributed service, possibly even based on or integrating with a P2P service.


As a result, one can reasonably expect there to be some sort of service-discovery mechanism to go along with the ALTO protocol definition.


5.4. User Privacy
5.4. ユーザーのプライバシー

On the one hand, there are data elements an ALTO client could provide in its query to an ALTO server that could help increase the level of accuracy in the replies. For example, if the querying client indicates what kind of application it is using (e.g., real-time communications or bulk data transfer), the server will be able to indicate priorities in its replies, accommodating the requirements of the traffic the application will generate. On the other hand, applications might consider such information private. In addition, some applications may not know a priori what kind of request they will be making.


5.5. Topology Hiding
5.5. トポロジ隠蔽

Operators, with their intimate knowledge of their network topology, can play an important role in addressing the ALTO problem. However, operators often consider revealing details of such network information to be confidential.


5.6. Coexistence with Caching
5.6. キャッシュとの共存

Caching is an approach to improving traffic generated by applications, and it requires large amounts of data transfers. In some cases, such techniques have proven to be extremely effective in both enhancing user experience and saving network resources.


A cache, either explicitly or transparently, replaces the content source. Thus, a cache must, in principle, use and support the same protocol as the querying peer. That is, if a cache stores web content, it must present an HTTP interface to the web client. Any cache solution for a given protocol needs to present that same protocol to the client. Said differently, each caching solution for a different protocol needs to implement that specific protocol. For this reason, one can only reasonably expect caching solutions for the most popular protocols, such as HTTP and BitTorrent.


It is extremely important to realize that caching and ALTO are entirely orthogonal. ALTO, especially if it is aware of caches, can in fact direct clients to nearby caches where the user could get a much better quality of experience.

キャッシングやALTOが完全に直交していることを理解することが非常に重要です。 ALTOは、それがキャッシュを認識している場合は特に、実際には近くのキャッシュへの直接のクライアントには、ユーザーは、経験のより良い品質を得ることができますすることができます。

6. Security Considerations

This document is neither a requirements document nor a protocol specification. However, we believe it is important for the reader to understand areas of security and privacy that will be important for the design and implementation of an ALTO solution. Moreover, issues such as digital rights management are out of scope for ALTO, as they are not technically enforceable at this level.


Some environments and use cases of ALTO may require client or server authentication before providing sensitive information. In order to support those environments interoperably, the ALTO requirements document [ALTO-REQS] outlines minimum-to-implement authentication and other security requirements.


Applications can decide to rely on information provided by an ALTO server to enhance the peer-selection process. In principle, this enables the ALTO service that provides such information to influence the behavior of the application, basically letting a third-party -- the ALTO service provider -- take an important role in a distributed system it was not previously involved in.

アプリケーションは、ピア選択プロセスを強化するためにALTOサーバーによって提供される情報に依存することを決定することができます。 ALTOサービスプロバイダ - - 原則として、これは基本的には、サードパーティをさせる、アプリケーションの動作に影響を与えるような情報を提供しALTOサービスを有効にし、それは以前に関与していなかった分散システムで重要な役割を担います。

For example, in the case of an ALTO server deployed and run by an ISP, the P2P community might consider such a server hostile because the operator could:


o use ALTO to prevent content distribution and enforce copyrights;


o redirect applications to corrupted mediators providing malicious content;


o track connections to perform content inspection or logging;


o apply policies based on criteria other than network efficiency. For example, the service provider may suggest routes suboptimal from the user's perspective in order to avoid peering points regulated by inconvenient economic agreements.


It is important to note there is no protocol mechanism to require ALTO for P2P applications. If, for some reason, ALTO fails to improve the performance of P2P applications, ALTO will not gain popularity and the P2P community will not use it.

P2PアプリケーションのためALTOを必要とする一切のプロトコルメカニズムはありません注意することが重要です。 、何らかの理由で、ALTOは、P2Pアプリケーションのパフォーマンスを向上させるために失敗した場合、ALTOは人気を得るず、P2Pコミュニティは、それを使用しません。

At the time of this writing, the privacy issues described in Section 5.4 are relevant for an ALTO solution. Users may be reluctant to disclose sensitive information to an ALTO server. Operators, on the other hand, may not wish to disclose information that would expose details of their interior topology. When exploring the solution space in detail, one needs to consider these issues so that an ALTO protocol does not presume mandatory information disclosure, by either clients or servers.


7. Contributors

This document was initially edited by Enrico Marocco and Vijay Gurbani. In the role of Working Group chairs, they have continued to provide significant edits and inputs to the current authors.


8. Acknowledgments

Vinay Aggarwal and the P4P working group conducted the research work done outside the IETF. Emil Ivov, Rohan Mahy, Anthony Bryan, Stanislav Shalunov, Laird Popkin, Stefano Previdi, Reinaldo Penno,


Dimitri Papadimitriou, Sebastian Kiesel, Greg DePriest, and many others provided insightful discussions, specific comments, and much needed corrections.


Jan Seedorf and Sebastian Kiesel are partially supported by the NAPA-WINE project (Network-Aware P2P-TV Application over Wise Networks,, a research project supported by the European Commission under its 7th Framework Program (contract no. 214412). 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 NAPA-WINE project or the European Commission.


Thanks in particular to Richard Yang for several reviews.


9. Informative References

[ACM.bottleneck] Akella, A., Seshan, S., and A. Shaikh, "An Empirical Evaluation of WideArea Internet Bottlenecks", Proceedings of ACM SIGCOMM, October 2003.

[ACM.bottleneck] Akella、A.、Seshan、S.、およびA.シェイク、 "該ワイド・エリアインターネットボトルネックの実証的評価"、ACM SIGCOMM、2003年10月の議事録。

[ACM.fear] Karagiannis, T., Rodriguez, P., and K. Papagiannaki, "Should ISPs fear Peer-Assisted Content Distribution?", ACM USENIX IMC, Berkeley 2005.

[ACM.fear] Karagiannis、T.、ロドリゲス、P.、およびK. Papagiannaki、 "ISPはピアアシストコンテンツ配信を恐れるべきですか?"、ACM USENIX IMC、バークレー2005。

[ACM.ispp2p] Aggarwal, V., Feldmann, A., and C. Scheideler, "Can ISPs and P2P systems co-operate for improved performance?", ACM SIGCOMM Computer Communications Review (CCR), 37:3, pp. 29-40.

[ACM.ispp2p]アガルワル、V.、フェルドマン、A.、およびC. Scheideler、 "ISPやP2Pシステムは、性能向上のために協力することはできますか?"、ACM SIGCOMMコンピュータコミュニケーションレビュー(CCR)、37:3頁。 29-40。

[ACM.ono] Choffnes, D. and F. Bustamante, "Taming the Torrent: A practical approach to reducing cross-ISP traffic in P2P systems", Proceedings of ACM SIGCOMM, August 2008.

【ACM.ono] Choffnes、D.およびF.ブスタマンテ、「トレントを飼いならす:P2PシステムにおけるクロスISPトラフィックを低減する実用的なアプローチ」、ACM SIGCOMM、2008年8月議事。

[ALTO-REQS] Kiesel, S., Popkin, L., Previdi, S., Woundy, R., and Y. Yang, "Application-Layer Traffic Optimization (ALTO) Requirements", Work in Progress, April 2009.

[ALTO-REQS]キーセル、S.、Popkin、L.、Previdi、S.、Woundy、R.、およびY.ヤン、 "アプリケーション層のトラフィックの最適化(ALTO)の要件"、進歩、2009年4月の作業。

[PATH-SEL] Saucez, D. and B. Donnet, "The case for an informed path selection service", Work in Progress, February 2008.

[PATH-SEL] Saucez、D.とB. Donnet、 "通知パス選択サービス用のケース"、進歩、2008年2月に作業。

[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001.

[RFC3031]ローゼン、E.、Viswanathanの、A.、およびR. Callon、 "マルチプロトコルラベルスイッチングアーキテクチャ"、RFC 3031、2001年1月。

[RFC3260] Grossman, D., "New Terminology and Clarifications for Diffserv", RFC 3260, April 2002.

[RFC3260]グロスマン、D.、 "Diffservのための新しい用語と明確化"、RFC 3260、2002年4月。

[WWW.p4p.overview] Xie, H., Krishnamurthy, A., Silberschatz, A., and R. Yang, "P4P: Explicit Communications for Cooperative Control Between P2P and Network Providers", <>.

【WWW.p4p.overview]謝、H.、Krishnamurthy、A.、Silberschatz、A.、およびR.ヤン、 "P4P:P2Pとネットワークプロバイダ間の協調制御の明示的な通信"、<HTTP://www.dcia .info /文書/ P4P_Overview.pdf>。

[WWW.wired.fuel] Glasner, J., "P2P Fuels Global Bandwidth Binge", April 2005, <>.

【WWW.wired.fuel] Glasner、J.、 "P2Pの燃料グローバル帯域過食症"、2005年4月、<>。

Authors' Addresses


Jan Seedorf NEC Laboratories Europe, NEC Europe Ltd. Kurfuersten-Anlage 36 Heidelberg 69115 Germany

ヤン・セードルフNEC欧州研究所、NECヨーロッパ社Kurfuerstenコンディショニング36 69115ハイデルベルクドイツ

Phone: +49 (0) 6221 4342 221 EMail: URI:

電話:+49(0)6221 4342 221電子メール URI:

Eric W. Burger Neustar Inc. 46000 Center Oak Plaza Sterling, VA 20166-6579 USA

エリック・W.バーガーNeustar社46000センターオークプラザスターリング、バージニア州20166から6579 USA

Phone: Fax: +1 530 267 7447 EMail: URI:

電話:ファックス:+1 530 267 7447 Eメール URI: