Transport-Services | A.P. Petlund |
Internet-Draft | Simula Research Laboratory |
Intended status: Informational | February 14, 2014 |
Expires: August 18, 2014 |
Transport Services and low latency
draft-petlund-latency-transport-services-00
This document categorises different classes of network latency, discusses possible metrics for determining the characteristics of latency-sensitive flows and addresses the use of transport services as a means for achieving transport latency reduction.
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 August 18, 2014.
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.
Modern operating systems provide a myriad of different protocols and options to tweak the network performance. Even for veterans within the field of transport protocols it is hard to stay fully up to date on all possibilities and combinations of options that may help reduce latency for a networked application. Also, care needs to be taken so that the transport protocols and options chosen will not be disruptive to other services or to an application if it changes network behaviour. For application developers in general to be able to select the best possible subset of mechanisms and protocols to support their time-dependent networked application, a measure of abstraction is required. This document discusses different classes of network latency with examples of how to reduce the delay for each class. It also makes suggestions for how an application can specify its intended behaviour to the transport services as a foundation for optimising the underlying services with regard to latency.
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 RFC 2119 [RFC2119].
While completion time for bulk data transfer is deemed important, the focus of industry and research has lately shifted towards understanding the diversity of Internet traffic today. Many flows are in some way application limited, that is, their sending pattern is not exclusively determined by congestion control, but also by the timing of data received from the application. Such applications are in many cases time-dependent, since the events driving the data production is triggered by real-life interaction or events [AP09].
While downloading applications dominated the Internet for a long time, overprovisioning in backbone networks has allowed interactive applications to succeed. Audio and video conferences that previously required leased lines are conducted over the Internet. Multiplayer games that are played over the Internet are also prevalent. Even Web applications generate increasingly interactive Internet traffic as more web pages are generated dynamically and contain interactively updated elements. The flows of such time-dependent applications now represent a large proportion of the total number of flows in the Internet. These flows have to tackle a large variety of access network technologies, all with different characteristics. Depending on the type of application, "low latency" may carry several meanings from a transport viewpoint. The next section elaborates on different classes of latency.
The scenarios described in this section are derived from a set of known latency-creating factors from which networked applications suffer. These categories are not exclusive, an application may suffer from more than one of them. They are, however, distinguishable at the transport layer and may require different avoidance techniques. The main categories of application latency that have been identified so far are:
There is also the latency induced by extra RTTs needed to set up a connection, for instance to initiate a security protocol or to negotiate options.
There are flows that fluctuate between the behaviours described above. In such cases, care must be taken to not blindly apply mechanisms that will reduce the latency for one of the cases, but increase latency for others. In addition, some particular applications suffer more when there is a large variation in latency (jitter) than from a somewhat higher mean latency. This includes applications with real-time interaction, such as on-line games. In general, latency is characterised by a number of features including its higher order moments and distribution. The most important set of features varies between different latency-sensitive applications. There is a need to consider all of these traffic behaviours to properly address the topic of latency for transport services.
It can be hard to reliably identify the flow characteristics from the viewpoint of the transport layer. At the time when a flow starts, the transport can make no assumptions about what its traffic patterns can be [MF14] (AP: unless guessing from 5-tuple). In order for the transport to make qualified decision on which protocols and options to apply for a given flow to reduce latency, more information must be provided to the transport:
For the transport layer to be able to identify relevant traffic characteristics, it is useful to review the metrics that are available to the transport layer. Examples of metrics are:
The combination of information provided by the above listed metrics may help the transport services to make qualified decisions on the flow characteristics and choose the right services for reducing latency.
List examples of protocols and options that influence latency.
Examples of protocols with a short discussion on latency implications.
Examples of protocol options and mechanisms with a short discussion on their influence on latency.
Whether properties should be submitted by the applications in addition to services is an item for discussion and should be treated in future revisions of the document.
This memo includes no request to IANA.
This document does not raise any new security issues.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC5681] | Allman, M., Paxson, V. and E. Blanton, "TCP Congestion Control", RFC 5681, September 2009. |
[AP09] | Petlund, A.P., "Improving Latency for interactive, thin-stream applications over reliable transport", Thesis Unipub, Kristian Ottosens hus, Pb. 33 Blindern, 0313 Oslo, December 2009. |
[MF14] | Fuchs, M.F., "Time-Dependent Thin Transport Layer Streams: Characterization, Empirical Observation and Protocol Support", Master Thesis University of Kaiserslautern, Germany, January 2014. |