Internet DRAFT - draft-nottingham-gin
draft-nottingham-gin
Network Working Group M. Nottingham
Internet-Draft
Intended status: Informational July 04, 2014
Expires: January 05, 2015
Granular Information about Networks
draft-nottingham-gin-00
Abstract
Protocol endpoints often want to adapt their behavior based upon the
current properties of the network path, but have limited information
available to aid these decisions. This document motivates discussion
of protocol work to make this information available.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on January 05, 2015.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
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.
Nottingham Expires January 05, 2015 [Page 1]
Internet-Draft GIN July 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Granular Information about Networks: Straw-Men . . . . . . . 4
3.1. DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4. TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Security Considerations . . . . . . . . . . . . . . . . . . . 6
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Normative References . . . . . . . . . . . . . . . . . . 6
5.2. Informative References . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
Protocol endpoints often want to adapt their behavior based upon the
current properties of the network path.
For example, it has become common practice for HTTP [RFC7230] servers
to adapt the responses they give based upon the IP address of the
client, client "fingerprinting" (e.g., using the User-Agent request
header field), and other properties.
Likewise, client using HTTP sometimes adapt their behavior in a
similar fashion; for example, a mobile client on a 3G network might
download a different video file then if it were on a wifi network.
Often, the goal of these adaptations is to improve user experience by
making content more suitable for the properties of the network it is
traversing, whilst utilizing the network resources more optimally.
There are currently a number of sources of information to inform
these decisions, but they share a few limitations. For example, it
is possible to measure delay to a given server using ICMP, but the
results are ephemeral, and may change if a different server has
changed.
There have also been attempts to provide relevant information in
APIs; for example, [netinfo]. Doing so has proven to be difficult,
because of the limited information available to the client.
To address these issues, network operators have been deploying
infrastructure that uses the information available to them to modify
content; e.g., [bytemobile], [verizon], [syniverse], [flashnet].
Nottingham Expires January 05, 2015 [Page 2]
Internet-Draft GIN July 2014
However, at the same time, encryption has become more prevalent on
the Internet, with many prominent (and heavily traffic'd) Web sites
going HTTPS-only. This frustrates attempts to adapt content in the
network.
This document proposes an alternative approach. By making the
information that the network operators have available to the
endpoints, it allows them to make more informed choices about
content, thereby allowing the user experience to be improved and the
network to be used more optimally without requiring that the end-to-
end nature of encryption (e.g., in HTTPS) to be compromised.
1.1. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2. Requirements
To be useful to endpoints, the information a network exposes needs to
be:
o Specific to the client - General information about network
properties is often an improvement over current practice, but to
be truly useful, it should be able to be tailored to a specific
client IP address.
o Reasonably current - Information from fifteen minutes ago is often
useless; when necessary, an endpoint ought to be able to get
information that is fresh (on the granularity of a few seconds).
o Scalable - The overhead of conveying information to clients ought
to be minimal, and it needs to be usable on the scale of a large
Web site.
o Private - The protocol ought not expose details of private
networks, or any personally identifying information beyond that
already available.
A protocol for exposing this information necessarily must choose the
scope of its applicability. Due to the nature of the Internet, it is
not practical to meet the goals above for the end-to-end path(s)
between any given pair of IP addresses; the permutations are
impractical, and discovering meaningful information on this scale is
likewise unlikely.
Nottingham Expires January 05, 2015 [Page 3]
Internet-Draft GIN July 2014
However, it is comparatively easy for a network operator to expose
what it considers to be the "last mile" properties of an IP address.
For example, an ISP providing ADSL access to its subscribers could
advertise the properties of those end links, whereas a mobile
operator could use the information available to advertise the
properties of individual subscriber handset IP addresses (whether
they be globally routable, or behind NAT).
This partial information is not a complete picture, of course, but it
is information that's difficul to aquire now, and often has a
disproprionate impact upon the delivery of content.
A protocol for such information ought to expose a minimum of:
o Bandwidth - an approximation of the bandwidth currently unused on
the "last mile" connection, in bits per second.
o Delay - an approximation of delay seen on the "last mile"
connection, in milliseconds.
o Packet Loss - the current packet loss seen on "last mile"
connections from the client, expressed as a percentage.
Additional metrics (including some that are operator-specific) might
also be useful, and ought to be accommodated.
This information, in turn, could be used by Web servers, browsers and
other tools to optimize both the responses and requests made. For
example, MPEG-DASH clients could use the information about their own
address to better choose an encoding; servers could re-encode images
and HTML to account for slow networks, based upon the requesting
client's IP address.
3. Granular Information about Networks: Straw-Men
NOTE: the technical mechanisms discussed are straw-men, and might not
be the "real" approach. Readers are encouraged to consider and
discuss the overall viability of the idea expressed above before
focusing too much upon the details below.
3.1. DNS
One approach would be to using DNS [RFC1035] to convey this
information. This has several advantages:
o DNS works at the granularity of an IP address
Nottingham Expires January 05, 2015 [Page 4]
Internet-Draft GIN July 2014
o Reverse DNS for a public IP address is often administered by the
access network that provisions it
o DNS is lightweight and has a built-in caching mechanism
Potential disadvantages include:
o Servers receiving requests from clients that are unknown (or where
there is only stale information available) will need to either
wait for the lookup, or act without information for such requests
o Additional load on DNS infrastructure may be considerable
This would require a new RRTYPE to be defined to carry the
information outlined above.
3.2. HTTP
It might be possible to provide such information with a lightweight
HTTP [RFC7230] service exposed by the network operator. However,
discovery of that service would still need to be established; this
might be possible through DNS.
This approach's advantages include:
o Built-in caching and scaling mechanisms
o Rich extensibility
o Familiarity for developers and ops
Potential disadvantages include:
o Servers receiving requests from clients that are unknown (or where
there is only stale information available) will need to either
wait for the lookup, or act without information for such requests
o Comparatively high overhead
3.3. TLS
Another approach would be to add another channel in TLS [RFC5246]
that does not form part of teh encrypted session, to allow the
network to annotate connections directly.
This has a few advantages:
o Immediate availability of network information in-channel
Nottingham Expires January 05, 2015 [Page 5]
Internet-Draft GIN July 2014
o Direct binding to a single connection
o Annotations could be added on subsequent hops
However:
o Doing so is likely to be technically invasive, my have interop
problems with deployed infrastructure
o May be seen as a layering violation / security issue
3.4. TCP
Yet another approach would be to define simliar side-channel
mechanisms in TCP [RFC0793].
The advantages and disadvantages of this approach are similar to
those around TLS; however, there is an additional disadvantage, in
that TCP extensibility is even more constrained than TLS'.
4. Security Considerations
This document is only exploratory now, but there are already clearly
evident security and privacy implications, including:
o Whether the information exposed can be used to identify a user
o Whether denial of service attacks are possible using this
mechanism
5. References
5.1. Normative References
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC7230] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol
(HTTP/1.1): Message Syntax and Routing", RFC 7230, June
2014.
5.2. Informative References
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC
793, September 1981.
Nottingham Expires January 05, 2015 [Page 6]
Internet-Draft GIN July 2014
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008.
[bytemobile]
Citrix, "ByteMobile Adaptive Traffic Management", 2014,
<http://www.citrix.com/products/bytemobile-adaptive-
traffic-management/overview.html>.
[flashnet]
Flash Networks, "Optimization Overview", 2014,
<http://www.flashnetworks.com/Optimization-Overview>.
[netinfo] W3C, "The Network Information API", 2014,
<http://www.w3.org/TR/netinfo-api/>.
[syniverse]
Syniverse, "Hosted Data Optimization", 2014, <http://
www.syniverse.com/products-services/product/Hosted-Data-
Optimization>.
[verizon] Verizon, "VERIZON WIRELESS OPTIMIZED VIEW FOR MOBILE WEB",
2014, <http://www.vzwdevelopers.com/aims/downloads/
wapoptout/
Optimized_View_for_Mobile_Website_Developers_Guide.pdf>.
Author's Address
Mark Nottingham
Email: mnot@mnot.net
URI: http://www.mnot.net/
Nottingham Expires January 05, 2015 [Page 7]