Internet DRAFT - draft-montpetit-transport-use-cases
draft-montpetit-transport-use-cases
Transport-Services M.J. Montpetit
Internet Draft MIT
Intended status: Informational I. Zhovnirovsky
Expires: August 3, 2014 QFactor
February 3, 2014
Use Cases and Requirements
draft-montpetit-transport-use-cases-01
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), 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/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at:
http://www.ietf.org/shadow.html
This Internet-Draft will expire on June 5, 2014.
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.
Montpetit Expires August 5, 2014 [Page 1]
Internet-Draft draft-montpetit-transport-use-cases February 2014
Abstract
This document describes some of the services and application use
cases that may require specific transport services over an Internet
subnetwork. It also presents, when available, some derived
requirements and conditions of utilization that will allow to
choose the most appropriate transport service. The use cases assume
that choice of transport service is fully based on the requirements.
In all cases however, the fallback is considered to be TCP or UDP.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions used in this document. . . . . . . . . . . . . . . . 3
3. Application Use Cases and Derived Requirements . . . . . . . . . 3
3.1. Web Surfing/Browsing . . . . . . . . . . . . . . . . . . . . . 3
3.2. Streaming Video. . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Real-time Communications . . . . . . . . . . . . . . . . . . . 6
3.4. Photo/video Sharing. . . . . . . . . . . . . . . . . . . . . . 7
3.5. Data centers/storage . . . . . . . . . . . . . . . . . . . . . 7
3.6. Internet of Things (IoT) . . . . . . . . . . . . . . . . . . . 7
3.7. Public Safety. . . . . . . . . . . . . . . . . . . . . . . . . 7
3.8. Information Centric Networks/Content Centric Networks. . . . . 8
4. Security Considerations. . . . . . . . . . . . . . . . . . . . . 8
5. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . . 9
6. Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . .10
Montpetit Expires August 5, 2014 [Page 2]
Internet-Draft draft-montpetit-transport-use-cases February 2014
1. Introduction
Different transport services are now being developed in the Internet
Community to address the changing nature of services or applications
and of the an Internet subnetworks themselves. For example, a number
of these transports services are used to address performance
requirement that standards such as the TCP and UDP protocol meet
only partially either because of impairments in wireless
transmission or the need for added security. This document defines
the use cases most likely to necessitate the use of one of those
transport service and to list their derived requirements. It
will help define which transport service is best suited for an
application and which API(s) would enable the use of those
In general, the applications will request a connection by specifying
a set of requirements. The the API will connect it to the best-fit
"transport", falling back to TCP/UDP if nothing is compliant. Hence
the use cases will help define how to update applications or
middleware to perform in a better way without requiring any changes
to existing APIs. They also envision some futuristic situations
where applications would use a newer enhanced and common API,
to benefit from novel network services. In this document the
actual underlying link layer is not specified but it is
assumed that, for example, wireless transport services could
be used in many instances.
2. Conventions used in this document
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[1].
In this document, these words will appear with that interpretation
only when in ALL CAPS. Lower case uses of these words are not to be
interpreted as carrying RFC-2119 significance.
3. Application Use Cases and Derived Requirements
In this section we define the use cases for a number of
applications that require one (1) or more transport service.
The application should be able to use an API based on derived
requirements such as bandwidth or delay or security, beyond
the usual fallback of TCP and UDP.
3.1. Web Surfing/Browsing
Web surfing and browsing has been identified as applications that
will most likely profit from transport services will improve the
capacity occupancy, reduce slow start due to dropped packets or
multiple connections and other inefficiencies due to for example
Head-of-Line blocking.
Montpetit Expires August 5, 2014 [Page 3]
Internet-Draft draft-montpetit-transport-use-cases February 2014
3.1.1. Faster Browsing via multi-streaming for HTTP prior to 2.0
3.1.1.1. Description
Using a new TCP connection for every HTTP request is known to be
inefficient; it causes delay for connection setup and requires a TCP
connection to spend most of its time in slow start, operating at a
point that may be far from the capacity of the path between the
sender and receiver. HTTP/1.1 allows persistently using the same TCP
connection for multiple HTTP requests, but with a fixed sequence
that is defined by the browser, thereby creating Head-Of-Line (HOL)
blocking delay if e.g. the first of several such requests requires
accessing a database. SPDY and HTTP/2.0 seek to improve upon the
performance of HTTP/1.1 by asynchronously multiplexing multiple
application-level (web) flows onto a single TCP connection. However,
HOL blocking delay in the order of a Round-Trip Time (RTT) can still
occur whenever a packet is dropped, as TCP only allows delivering
data in the exact order in which they arrive. This problem is
addressed by QUIC [9], a UDP-based transport protocol that
operates under the SPDY protocol for browsing [2].
The SPDY/QUIC solution is not without issues. UDP may sometimes be
blocked; some middle-boxes rate-limit UDP more than TCP [5]. Running
a transport protocol in user space may have issues in very-low-RTT
environments due to less precise Operating System timing. Not all
clients and servers support both protocols. It seems that being able
to provide similar benefits without requiring changing the HTTP
implementation could be beneficial for many web browsers and
servers.
3.1.2. Derived requirements
It is possible to let applications that open the same set of
(seemingly) TCP connections between the same pair of hosts benefit
from for example the multi streaming features of the Stream Control
Transport Protocol(SCTP) [10]. In [11], this was prototypically
done with middle-boxes that terminated the TCP connections and
mapped them onto streams of a single SCTP association. This did not
require any change to the applications themselves. If a similar
function was provided by the Operating System, directly underneath
the socket interface, the same benefits could be attained with less
overhead. This requires hiding the use of SCTP (or any other
multi-streaming- capable transport, e.g. Minion [7]) from
applications, and it may need signaling inside the protocol
in use to tell the host on the receiving end that these streams
must be mapped back onto what an application believes to be TCP
sockets.
Montpetit Expires August 5, 2014 [Page 4]
Internet-Draft draft-montpetit-transport-use-cases February 2014
3.1.3. Other HTTP acceleration mechanisms
<To be provided>
3.2. Streaming Video
Streaming video is one of the dominant traffic types on the
Internet. Hence the choice of an appropriate transport service for
video may become essential in the future to minimize congestion
especially in edge subnetworks and improve user experience.
3.2.1. Adaptive Video Streaming
<To be provided>
3.2.2. Scavenger-Type Pre-Fetching Of Streaming Media
3.2.2.1. Description
Streaming media applications use a play-out buffer on the receiver
(consumer) side to avoid playback interruptions when the network
bandwidth temporarily drops below the bit-rate of the stream. As
visualized with the playback bar in most popular streaming systems
such as e.g. YouTube, this buffer is typically filled a number of
seconds ahead of the play-out time. If the network's capacity
could allow filling it much further ahead, this could have
multiple benefits for the viewer:
- if congestion happens later, the play-out would stay
uninterrupted for a longer period or the risk of interruptions
would be reduced
- if a user decides to skip ahead within the length of the already
buffered data, this request could be honored instantly as the
data are already available in the receiving host
This is, however, not typically done. One reason to avoid pre-
fetching much more than users need most of the time is that this may
be seen as a waste of network capacity that could otherwise be left
up to other applications. If, however, this was done in a scavenger-
like mode, using a congestion control that backs off as soon as
other flows compete for network capacity, this problem would
disappear, and it would probably be beneficial to pre-fetch
as much as possible at any time.
Montpetit Expires August 5, 2014 [Page 5]
Internet-Draft draft-montpetit-transport-use-cases February 2014
3.2.2.2. Derived Requirements
A transport protocol that is used for streaming media should, upon
request from the application, switch to a low-priority congestion
control mechanism such as LEDBAT on the fly. Switching back from
low-priority to "normal" congestion control must happen when e.g.
the user moves the playback bar beyond the end of the playback
buffer; this must therefore also be possible on the fly.
3.3. Real-time Communications
Real time communications can be divided into three (3)
categories, namely voice, video and gaming that may have
very different transport requirements.
3.3.1. Voice over IP
3.3.1.1. Description
Voice over IP uses the real time transport protocol (RTP) over UDP
transport. The transport requirements of VoIP have been defined and
solutions implemented including when there are interactions with
intermediate boxes including firewalls and NAT boxes.
3.3.1.2. Derived Requirements
In order for a transport service to provide VoIP services it
requires minimal delay, in-order delivery and adequate error
mitigation. And while UDP is the preferred protocol newer transports
(such as Minion or others) could provide better performance.
3.3.2. IP based real-time video
3.3.2.1. Description
TV over the Internet Protocol (IPTV) requires multicast streaming
as well as minimal caching, except for so called "trick plays"
(rewind, pause and fast forward) over linear transmission. The now
concluded reliable multicast working group (rmt) has defined a
number of mechanisms to provide IPTV services using
acknowledgements andforward error correction.
3.3.2.2. Derived Requirements
In order for a transport service to provide IPTV services it
requires minimal delay, in-order delivery and very good error
mitigation.
Montpetit Expires August 5, 2014 [Page 6]
Internet-Draft draft-montpetit-transport-use-cases February 2014
3.3.3. Gaming
Online games require very low delay and they use very small
packets to ensure this (small packet are also features of VoIP).
It is also beneficial to think that games could use tunneling and
other multiplexing mechanisms to ensure minimal delay and
synchronization between players.
3.3.3.1 Description
<to come>
3.3.3.2. Derived Requirements
<to come>
3.4. Photo/video Sharing
<to come>
3.5. Data centers/storage
There is a lot of work being performed in TCP for data centers (DCs)
and as such DCs require certain characteristics from the transport
layer.
3.5.1. Description
<reviewing DCTCP-slides][4] for inputs>
3.5.2 Derived Requirements
<to come>
3.6. Internet of Things (IoT)
While the Internet of Things has yes to define specific requirements
for transport services a number of protocols to collect sensor data
have been proposed, such a IBM Machine to Machine communication
protocol call Message Queuing Telemetry Transport (MQTT) which
covers part of the IoT spectrum of application.
<More to come>
3.7. Public Safety
In the past few years there has been a push for public safety
systems to use Internet based protocols and private and public
networks to ensure availability and resiliency.
Montpetit Expires August 5, 2014 [Page 7]
Internet-Draft draft-montpetit-transport-use-cases February 2014
3.7.1. Description
Public safety services are similar to the ones already defined above
(browsing, caching, real time services, streaming etc.). However,
the nature of these services requires strong security, high
reliability and 'always on' nature.
3.7.2. Derived Requirements
In order for transport services to be used in public safety strong
encryption like the one proposed by tcpcrypt [3] may be useful. In
addition low delay is essential. Reliability the and always-on
requirements can also be enhanced by mechanisms like FEC. Some
requirements are shared with multipath TCP [8].
3.8. Information Centric Networks/Content Centric Networks
Information Centric (ICN) and Content Centric (CCN) Networking
are emerging interest area in the Internet and define
new mechanisms to connect to resources. The IRTF has chartered an
ICN working group [6] that will investigate the issues like
scalability and naming conventions to ensure deployability.
3.8.1. Description
An ICN does not require a different transport but will signal
transport requirements in a different manner.
3.8.2. Derived Requirements
In the ICN/CCN work the access to a specific resource via the
transport mechanism will be in the form of a publish/subscribe.
It is for the transport to derive what this means in terms of
performance.
<To be completed>
4. Security Considerations
None relating to the document. Specific use case security
requirements to be detailed later.
Montpetit Expires August 5, 2014 [Page 8]
Internet-Draft draft-montpetit-transport-use-cases February 2014
5. IANA Considerations
This document makes no request of IANA.
Note to RFC Editor: this section may be removed on publication as an
RFC.
6. Conclusion
This document presents a number of use cases for applications that
could benefit from transport services other than the usual TCP and
UDP protocols. While there is no underlying architecture to the
document it is assumed that the transport services would be
chosen based on specific requirements and using standard APIs.
It is also assumed that APIs would not require major changes
with potential changes applied to applications or middle-boxes.
7. References
7.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
7.2. Informative References
[2] Mike Belshe, Robert Peon, "SPDY Protocol", draft-mbelshe-
httpbis-spdy-00, February 2012.
[3] A. Bittau, Dan Boneh, M. Hamburg, H. Handley, D. Mazieres,
Q. Slack, "Cryptographic protection of TCP Streams",
draft-bittau-tcp-crypt-03, September 3, 2012.
[4] DTCP Slide deck:
http://www.ietf.org/proceedings/80/slides/iccrg-3.pdf
[5] Seppo Hatonen, Aki Nyrhinen, Lars Eggert, Stephen Strowes,
Pasi Sarolahti and Markku Kojo. "An Experimental Study of Home
Gateway Characteristics." Proc. ACM SIGCOMM Internet
Measurement Conference (IMC), Melbourne, Australia, November
1-3, 2010.
[6] Information Centric Network IRTF charter:
http://irtf.org/icnrg.
Montpetit Expires August 5, 2014 [Page 9]
Internet-Draft draft-montpetit-transport-use-cases February 2014
[7] Jana Iyengar, Stuart Cheschire, Josh Graessley, "Minion -
Service Model and Conceptual API", draft-iyengar-minion-
concept-02, October 21 2013 (work in progress).
[8] Michael Scharf, Alan Ford, "Multipath TCP (MPTCP)
Application Interface Considerations", RFC 6897, March 2013.
[9] QUIC Slide Deck at IETF88,
http://www.ietf.org/proceedings/88/slides/slides-88-tsvarea-
10.pdf
[10] R. Stewart, ed. "Stream Control Transport Protocol", RFC
4960, September 2007.
[11] Michael Welzl, Florian Niederbacher, Stein Gjessing:
"Beneficial Transparent Deployment of SCTP: the Missing
Pieces",IEEE GlobeCom 2011, 5-9 February 2011,
Houston, Texas.
<others to come>
8. Acknowledgments
The author would like to thank Michael Welzl, Jose Saldana,
Lars Eggert and Martin Sustrik for use case suggestions and
technical discussions prior to and during the preparation of
this draft.
Copyright (c) 2014 IETF Trust and the persons identified
as authors.
All rights reserved.
Authors' Addresses
Marie-Jose Montpetit
MIT
Email: mariejo@mit.edu
Igor Zhovnirovsky
QFactor Communications
Email: iez@qfactor.com
Note:
Changes between version 00 and version 01
Minor changes:Rewrote the Abstract, fixed the introduction,
corrected spelling and some sentences, added a conclusion
and a reference to SCTP.
Montpetit Expires August 5, 2014 [Page 10]