Internet DRAFT - draft-picconi-alto-home-proxy
draft-picconi-alto-home-proxy
ALTO Fabio Picconi
Internet-Draft Technicolor
Intended Status: Informational
Expires: April 23, 2012 October 21, 2011
ALTO home proxy
draft-picconi-alto-home-proxy-00
Abstract
This documents discusses the use of ALTO proxies running on home
devices such as gateways or home NAS servers. An ALTO home proxy
caches ALTO information obtained from an origin ALTO server, and uses
that information to serve queries originating from the home network.
ALTO home proxies reduce ALTO traffic and query latency, improve
scalability, and enhance user privacy.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
Fabio Picconi Expires April 23, 2012 [Page 1]
Internet-Draft Gateway-based distribution October 21, 2011
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Devices to run home proxies . . . . . . . . . . . . . . . . . . 4
3. Proxy configuration and discovery . . . . . . . . . . . . . . . 4
3.1. Configuration . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Proxy discovery . . . . . . . . . . . . . . . . . . . . . . 5
4. Proxy behavior . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Transparent vs. non-transparent . . . . . . . . . . . . . . 5
4.2. Caching proxies vs. local ALTO servers . . . . . . . . . . 6
5. Obtaining ALTO information . . . . . . . . . . . . . . . . . . 6
6 Security Considerations . . . . . . . . . . . . . . . . . . . . 6
7 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
8 References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1 Informative References . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1 Introduction
The ALTO service allows applications to obtain information about the
network cost between two peers. Applications use this information to
optimize their traffic (e.g., through proximity-based neighbor
selection), leading to better performance for end users, and
potentially lower operational costs for network operators. See
[RFC5693] for the ALTO problem statement.
The ALTO protocol [I-D.ietf-alto-protocol] defines communications
between an ALTO client (requesting cost information) and an ALTO
server (providing such information). Clients are typically peer-to-
peer applications run by users, while servers are typically run by
network operators. Peer-to-peer trackers may also behave as ALTO
clients, using the retrieved ALTO information to return localized
peer sets. This document considers only the first scenario, in which
peers contact an ALTO server directly to obtain ALTO information.
Fabio Picconi Expires April 23, 2012 [Page 2]
Internet-Draft Gateway-based distribution October 21, 2011
To improve scalability, peers may exchange the cost information
retrieved from an ALTO server, thus reducing server load. This is
known as ALTO information redistribution, and is discussed in [I-
D.ietf-alto-protocol] and [I-D.gu-alto-redistribution]. The ALTO
protocol does not make redistribution mandatory, and does not define
how it should be performed. It is up to each application to decide
whether to implement redistribution, and how (e.g., by using DHT or a
gossip-based protocol).
In this document we argue that distribution of ALTO information can
be enhanced by employing home proxies. An ALTO home proxy caches ALTO
information obtained from an origin ALTO server, and uses it to
respond to ALTO queries originating from the local home network. This
presents several advantages compared to using a remotely located ALTO
server:
1) Reduced ALTO traffic. Application-dependent redistribution might
result in unnecessary ALTO traffic. Consider, for instance, a home
network with two different active applications (e.g., a file sharing
application and a streaming application) which both implement
redistribution but using different mechanisms. The network and cost
maps downloaded by one application cannot be shared with the other.
If both applications use the ALTO home proxy, the ALTO information
will be fetched only once.
2) Increased redistribution. ALTO home proxies may redistribute
information to the home proxies of other peers. Therefore,
applications which do not implement redistribution may still generate
little or no load on the ALTO server if they use an ALTO home proxy
that implements redistribution.
3) Reduced latency. In case of a cache hit, the ALTO home proxy can
serve queries quickly given the low RTT and high bandwidth of home
networks. This may improve the performance of delay-sensitive
applications.
4) Background updates. If the home proxy is executed in a device that
is always on and connected to the network (such as a home gateway or
a home NAS), ALTO information updates can be pushed to the proxy
during off-peak hours, when there is plenty of available bandwidth
and ALTO servers are lightly loaded.
5) Discovery. If the home proxy has been configured to use a default
origin ALTO server, then applications using the proxy do not need to
use ALTO discovery to select an ALTO server. Moreover, applications
may easily discover the home proxy using protocols such as SLP
[RFC2608], uPnP, or Bonjour.
Fabio Picconi Expires April 23, 2012 [Page 3]
Internet-Draft Gateway-based distribution October 21, 2011
6) User privacy. Serving ALTO queries within the home makes it more
difficult for a third party (e.g., a remote ALTO server) to infer the
user's communications patterns by analyzing ALTO traffic.
The following sections discuss in more detail several aspects of
using ALTO home proxies.
2. Devices to run home proxies
ALTO home proxies may run on any home device which is connected to
the home network and has Internet access. This includes PCs, home NAS
servers, home gateways, etc. However, it may be preferable to run
home proxies on devices which are always on, such as a home gateway
or a NAS. This allows the proxy to optimize traffic (e.g., download
ALTO information updates during off-peak hours), and to maximize the
number of queries that can be served locally.
Many users employ home gateways which are owned and managed by their
Internet Service Provider (ISP). Typically, the ISP ships the gateway
to the user when he or she signs up for the Internet access plan. The
gateway is remotely configured by the ISP, which retains control on
the firmware, and in particular all the services, that run on the
gateway. This is typically the case for triple-play subscriptions,
where the gateway runs VoIP and IPTV services in addition to Internet
access.
ISPs that deploy ALTO servers in their network will probably consider
implementing ALTO home proxies as well. The computing power of
current gateways should easily support the small increase in CPU load
caused by the ALTO proxy service, especially given that the service
only replies to queries originating from the local network. Moreover,
the home proxy can be added to already deployed gateways by means of
a remote firmware upgrade.
Some users employ gateways which are not managed by their ISP. In
this case, gateway vendors may provide firmware upgrades which can be
installed by the user. Similarly, vendors or home NAS servers or
other networked home devices may provide firmware upgrades which
include an ALTO home proxy.
3. Proxy configuration and discovery
Two steps must be executed before applications can use an ALTO home
proxy: configuration and discovery.
Fabio Picconi Expires April 23, 2012 [Page 4]
Internet-Draft Gateway-based distribution October 21, 2011
3.1. Configuration
This step involves configuring the ALTO home proxy parameters. One
important parameter is the default origin ALTO server, i.e., the
server from which ALTO information will be fetched and cached, and
which will be used by default to answer queries. This can be obtained
using the mechanisms described in [I-D.ietf-alto-server-discovery].
If the ALTO home proxy runs on an ISP-managed gateway, the ISP may
also provide a default origin ALTO proxy (the ISP's own).
Another important parameter is whether the proxy will behave as a
caching proxy or a local server (see Section 3.1 for more details).
Other parameters may specify the maximum amount of data that can be
cached, the expiration time, etc. The user may be able to configure
these parameters through a local management interface (e.g., a web
page).
3.2. Proxy discovery
Applications running on the home can discover a local ALTO home proxy
by employing protocols such as SLP [RFC2608], uPnP, or Bonjour. An
important point is that application need not apply the discovery
mechanisms that are needed to use a remote ALTO server [I-D.ietf-
alto-server-discovery], as the home proxy has already been configured
with a default origin ALTO server.
4. Proxy behavior
Similarly to HTTP proxies, ALTO home proxies may be transparent or
non-transparent. Also, ALTO home proxies may behave as caching
proxies or local ALTO servers.
4.1. Transparent vs. non-transparent
A non-transparent proxy requires ALTO clients to be aware of their
presence, and direct ALTO queries to them instead of remote ALTO
servers. ALTO clients must be configured, either manually or
automatically, to use the home proxy. Manual configuration is
typically achieved by prompting the user for an IP address belonging
to the home network (e.g., 192.168.0.x). Automatic configuration can
be achieved by using a discovery protocol such as SLP, uPnP, or
Bonjour.
A transparent proxy intercepts ALTO requests directed to a remote
ALTO server. Therefore, they do not require ALTO clients to be aware
of their presence, or to discover them using protocols such as SLP,
Fabio Picconi Expires April 23, 2012 [Page 5]
Internet-Draft Gateway-based distribution October 21, 2011
uPnP, or Bonjour. Transparent proxies would typically run in home
gateways so that they can intercept requests originating from
multiple devices of the home network.
4.2. Caching proxies vs. local ALTO servers
ALTO home proxies may behave as simple HTTP caching proxies. The main
advantage of this is caching large responses from ALTO servers, such
as full network and cost maps. A caching proxy may also use
redistribution to fetch cacheable responses from other caching
proxies, thus reducing the load on the ALTO server. Caching proxies
may also prefetch ALTO information (e.g., an updated version of the
cost map) to reduce latency.
The disadvantage of caching proxies is that client-specific requests,
such as filtered maps, will probably result in a cache miss. To
counter this limitation, a home proxy may behave as a local ALTO
server. In this case, it uses the entire cost and network maps
previously downloaded from the remote ALTO server to produce,
whenever possible, a valid response to the client. A proxy acting as
a local server may return filtered maps even though such response has
not been previously cached.
The main limitation of proxies acting as local ALTO server is that
not all the functionalities of the origin ALTO server may be
available, e.g., generating signed data, or obtaining information
based on non-standard cost models which are not publicly known.
5. Obtaining ALTO information
Besides from caching responses from ALTO servers, home proxies may
obtain ALTO information from wide variety of sources. Update
dissemination may be pull-based or push-based [I-D.gu-alto-
redistribution], and peer-to-peer protocols such as BitTorrent may be
used for redistribution between home proxies.
An important issue is deciding which information to obtain, i.e.,
which resources and from which ALTO servers. Some users may manually
configure their applications to use an ALTO server different from
that obtained through the standard ALTO discovery mechanism. Home
proxies should be aware of such scenarios, and obtain the appropriate
ALTO information to maximize their hit ratio.
6 Security Considerations
ALTO home proxying loses its benefits when clients employ SSL/TLS to
Fabio Picconi Expires April 23, 2012 [Page 6]
Internet-Draft Gateway-based distribution October 21, 2011
verify the identity of the remote ALTO server. Clients may switch
back to HTTP to use the home proxy, but should be aware of the
possibility of integrity attacks on non-signed data. In the case of
ALTO home proxies running on ISP-managed gateways, the ISP may
provide SSL/TLS certificates for each gateway, thus supporting
SSL/TLS communications between clients and proxies. In this scenario,
clients may reasonably assume that home proxies acting as local ALTO
servers provides authoritative responses equivalent to those of the
ISP's remote ALTO server.
As mentioned before, serving ALTO queries within the home reduces the
amount of user-sensitive information that leaks to external parties
(e.g., a remote ALTO server). Therefore, ALTO home proxies should
enhance user privacy.
7 IANA Considerations
This document does not mandate any IANA actions.
8 References
8.1 Informative References
[RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic
Optimization (ALTO) Problem Statement", RFC 5693, October
2009.
[RFC2608] Guttman, E., Perkins, C., Veizades, J., and M. Day,
"Service Location Protocol, Version 2", RFC 2608, June
1999.
[I-D.gu-alto-redistribution]
Yingjie, G., Alimi, R., and R. Even, "ALTO Information
Redistribution", draft-gu-alto-redistribution-03 (work in
progress), July 2010.
[I-D.ietf-alto-server-discovery]
Kiesel, S., Siemerling, M., Schwan, N., Scharf, M., and H.
Song, "ALTO Server Discovery", draft-ietf-alto-server-
discovery-02 (work in progress), September 2011.
[I-D.ietf-alto-protocol]
Alimi, R., Penno, R. and Y. Yang, "ALTO Protocol", draft-
ietf-alto-protocol-09 (work in progress), June 2011.
Fabio Picconi Expires April 23, 2012 [Page 7]
Internet-Draft Gateway-based distribution October 21, 2011
Authors' Addresses
Fabio Picconi
Technicolor
1 rue Jeanne d'Arc
92443 Issy les Moulineaux cedex
France
EMail: fabio.picconi@technicolor.com
Fabio Picconi Expires April 23, 2012 [Page 8]