Use Cases and Requirements
The information below is for an old version of the document.
This is an older version of an Internet-Draft whose latest revision state is "Expired".
|Authors||Marie-Jose Montpetit , Igor Zhovnirovsky|
|Stream||Stream state||(No stream defined)|
|RFC Editor Note||(None)|
|IESG||IESG state||I-D Exists|
|Send notices to||(None)|
Transport-Services M.J. Montpetit Internet Draft MIT Intended status: Informational I. Zhovnirovsky Expires: June 5, 2014 QFactor December 5, 2013 Use Cases and Requirements draft-montpetit-transport-use-cases-00.txt 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) 2013 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 June 5, 2014 [Page 1] Internet-Draft draft-montpetit-transport-use-case December 2013 Abstract This document describes some of the use cases that will allow choosing different transport services. It also presents their derived requirements and conditions of utilization, when available, to an application attached to an Internet subnetwork. The use cases assume that a transport "choice" is based on the requirements of the application. The fallback is considered to be TCP/UDP. Table of Contents 1. Introduction 2. Conventions used in this document 3. Application Use Cases and Derived Requirements 3.1. Web Surfing/Browsing 3.2. Streaming Video 3.3. Real-time Communications 3.4. Photo/video Sharing 3.5. Data centers/storage 3.6. Internet of Things (IoT) 3.7. Public Safety 3.8. Information Centric Networks/Content Centric Networks 4. Security Considerations 5. IANA Considerations 6. Conclusions 7. References 8. Acknowledgments Montpetit Expires June 5, 2014 [Page 2] Internet-Draft draft-montpetit-transport-use-case December 2013 1. Introduction Different transport services are now being developed in the Internet Community. A number of these are used to address performance requirements that standard transport such as the TCP and UDP protocol meet only partially especially over wireless. 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 responds to a need to define which transport service is best suited for an application and which API(s) would allow the use of those services. The APIs are considered to be native to the platform. The applications will request a connection by specifying a set of requirements. The will then API 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 middleware to work better without requiring a change to existing API and 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 enhanced transport services will be used in many of the cases. 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. 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 <Will add text> Montpetit Expires June 5, 2014 [Page 3] Internet-Draft draft-montpetit-transport-use-case December 2013 3.1.1. Faster Browsing via multi-streaming for HTTP prior to 2.0 18.104.22.168. 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 alleviated with QUIC , a UDP-based transport protocol that operates under SPDY . The SPDY/QUIC solution is not without issues. UDP may sometimes be blocked; some middle-boxes rate-limit UDP more than TCP . 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 SCTP's multi-streaming. In , 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 fewer overheads. This requires hiding the use of SCTP (or any other multi-streaming- capable transport, e.g. Minion ) from applications, and it needs a signal 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 June 5, 2014 [Page 4] Internet-Draft draft-montpetit-transport-use-case December 2013 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 and increase user experience. 3.2.1. Adaptive Video Streaming <To be provided> 3.2.2. Scavenger-Type Pre-Fetching Of Streaming Media 22.214.171.124. 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 bitrate 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 couple of seconds ahead of the play-out time. If the network's capacity would allow filling it much further ahead, this could have multiple benefits: - if congestion happens later, the play-out would stay uninterrupted for a longer period or the risk of interruptions would be reduced further - 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 June 5, 2014 [Page 5] Internet-Draft draft-montpetit-transport-use-case December 2013 126.96.36.199. 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 and 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 different requirements. 3.3.1. Voice over IP 188.8.131.52. 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. 184.108.40.206. 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 TV over the Internet Protocol (IPTV) adds multicast requirements as well as the use of minimal caching, except for so called "trick plays" over linear transmission, to streaming. The now concluded reliable multicast working group (rmt) has defined a number of mechanisms to provide multicast services using acknowledgements and forward error correction. <reviewing rmt documentation and more inputs to come> 220.127.116.11. 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 June 5, 2014 [Page 6] Internet-Draft draft-montpetit-transport-use-case December 2013 3.3.3. Gaming Online games require very low delay and because of that use small packets (and in this share requirements with VoIP). It is also beneficial to think that games could use tunneling and other multiplexing mechanisms to ensure minimal delay and synchronization between players. 18.104.22.168 Description <to come> 22.214.171.124. 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] > 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 June 5, 2014 [Page 7] Internet-Draft draft-montpetit-transport-use-case December 2013 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  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 . 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  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 June 5, 2014 [Page 8] Internet-Draft draft-montpetit-transport-use-case December 2013 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 <Will add a conclusion> 7. References 7.1. Normative References  Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 7.2. Informative References  Mike Belshe, Robert Peon, "SPDY Protocol", draft-mbelshe- httpbis-spdy-00, February 2012.  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.  DTCP Slide deck: http://www.ietf.org/proceedings/80/slides/iccrg-3.pdf  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.  Information Centric Network IRTF charter: http://irtf.org/icnrg.  Jana Iyengar, Stuart Cheschire, Josh Graessley, "Minion - Service Model and Conceptual API", draft-iyengar-minion- concept-02, October 21 2013 (work in progress).  Michael Sharf, Alan Ford, "Multipath TCP (MPTCP) Application Interface Considerations", RFC 6897, March 2013. Montpetit Expires June 5, 2014 [Page 9] Internet-Draft draft-montpetit-transport-use-case December 2013  QUIC Slide Deck at IETF88, http://www.ietf.org/proceedings/88/slides/slides-88-tsvarea- 10.pdf  Michael Welzl, Florian Niederbacher, Stein Gjessing: "Beneficial Transparent Deployment of SCTP: the Missing Pieces",IEEE GlobeCom 2011, 5-9 December 2011, Houston, Texas. <others to come> 8. Acknowledgments The author would like to thank Michael Welzl, Jose Saldana, Igor Zhovnirovsky, Lars Eggert and Martin Sustrik for use case suggestions and technical discussions prior to and during the preparation of this draft. Copyright (c) 2013 IETF Trust and the persons identified as authors. All rights reserved. Authors' Addresses Marie-Jose Montpetit MIT Email: email@example.com Igor Zhovnirovsky QFactor Communications Email: firstname.lastname@example.org Montpetit Expires June 5, 2014 [Page 10]