Internet DRAFT - draft-huang-tsvwg-tr-tcp-ps

draft-huang-tsvwg-tr-tcp-ps



 



INTERNET-DRAFT                                                  R. Huang
Intended Status: Informational                                    J. You
Expires: January 2, 2015                                          Huawei
                                                            July 1, 2014


                   Traditional TCP Problem Statement 
                     draft-huang-tsvwg-tr-tcp-ps-00


Abstract

   This draft discusses the problem statement and consideration for
   existing TCP.

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) 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
 


<Author>                Expires January 2, 2015                 [Page 1]

INTERNET DRAFT              <Document Title>                July 1, 2014


   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  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1 Relationship with TAPS . . . . . . . . . . . . . . . . . . .  3
   2  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3  Problem Statement . . . . . . . . . . . . . . . . . . . . . . .  3
     3.1  TCP Variants  . . . . . . . . . . . . . . . . . . . . . . .  3
       3.1.1 High-Speed Transmission  . . . . . . . . . . . . . . . .  4
       3.1.2 Latency for Apps . . . . . . . . . . . . . . . . . . . .  4
       3.1.3 Data Center  . . . . . . . . . . . . . . . . . . . . . .  5
       3.1.4 Wireless Network . . . . . . . . . . . . . . . . . . . .  6
     3.2 TCP Parameters . . . . . . . . . . . . . . . . . . . . . . .  6
   4  Security Considerations . . . . . . . . . . . . . . . . . . . .  7
   5  IANA Considerations . . . . . . . . . . . . . . . . . . . . . .  7
   6  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . .  7
   7  References  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     7.1  Normative References  . . . . . . . . . . . . . . . . . . .  7
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  8
























 


<Author>                Expires January 2, 2015                 [Page 2]

INTERNET DRAFT              <Document Title>                July 1, 2014


1  Introduction

   The Transmission Control Protocol (TCP) is a reliable, ordered,
   congestion-controlled, byte stream transport layer protocol that is
   widely used on the Internet. But many issues keep coming out all the
   time in all kinds of environments when using TCP, and many TCP
   variants are created to handle these problems. Although these variant
   TCPs have achieved success in their respective target applications,
   designing a certain TCP variant that could perform gracefully in all
   environments is still a great challenge. For example, with the
   deployment of high speed and bandwidth wireless networks, e.g., LTE
   and WiMAX, real-time applications such as multimedia over HTTP/TCP
   may require TCP to handle both wireless connections and typical wired
   high BDP (Bandwidth-Delay Product) networks. In addition, different
   applications may require different parameters of TCP to satisfy their
   specific requirements. However, current TCP is not flexible enough
   for applications to customize their own solutions based on their
   different requirements.

   This draft discusses the problem statement and consideration for
   existing TCP.

1.1 Relationship with TAPS

   TAPS [TAPS] is proposed to identify and specify services provided by
   existing IETF transport protocols and congestion control mechanisms.
   TAPS will provide guidance on choosing among available mechanisms and
   protocols to obtain a given transport service. However, TAPS will not
   work on a specific protocol, such as TCP. The issues associated with
   the TCP protocol may not be discussed in TAPS. This document focuses
   on the TCP issues and may be as a reference for TAPS.

2  Terminology

   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].

   BDP  Bandwidth-delay product refers to the product of a data link's
   capacity and its end-to-end delay.

3  Problem Statement

3.1  TCP Variants

   Network has been experiencing explosive growth in the last few
   decades, traditional TCP is struggling to meet the demands of today's
   high bandwidth and low latency applications. With its focus on
 


<Author>                Expires January 2, 2015                 [Page 3]

INTERNET DRAFT              <Document Title>                July 1, 2014


   reliability and successful delivery at the expense of efficiency, TCP
   has become a limiting factor in the request to utilize and extract
   more value from the increased bandwidth and enhanced processing
   capabilities that define today's physical Internet. In this section,
   some issues and their corresponding TCP variants are presented. From
   that, we can see that different scenarios require different TCP
   variants to guarantee the applications working well. But most of the
   TCP variants are not implemented in kernels or even standardized,
   which means applications have plenty of software work to do. 

3.1.1 High-Speed Transmission

   The daily and rapid spread of the broadband environment is led by
   FTTx. In these circumstances, core networks are starting to see a
   genuine transition from 10 Gbps TO 40 Gbps. For example, 24 GB of
   genomic data may need to be transferred from Beijing to California
   for scientific researches; Some ISPs may create large media files,
   between 15-30GB, which must be transferred and manipulated multiple
   times; The inter-DC backup may have up to 40TB/day content
   synchronized with DR (Disaster Recovery) site. High-speed
   transmissions are everywhere, but TCP is weak for these scenarios.
   The CC (Congestion Control) algorithms are sensitive to loss and
   delay as they reduce the transmission speed. The reliability bound
   with CC suppresses the new data sending, and the in-order
   transmission cannot fit the out-order scenarios well.

   To solve the TCP issues in high-speed transmission scenario, many
   solutions have proposed. They can be classified into 2 types:
   Traditional approaches, which are just tuning the TCP; and aggressive
   approaches, which totally abandon TCP. Traditional approaches like
   Reno TCP [RFC3782], HSTCP [RFC3649], STCP, FAST TCP [FastTCP],
   produce their new CC algorithms. But they don't always run well. For
   example, Reno TCP has the limits of high loss rate, low increase and
   serious oscillation, which badly affect applications to properly use
   network bandwidth; FAST TCP may lead to sharp decline of network
   performance, or even collapse because of improper selection of
   balance point. Aggressive approaches like UDT [UDT], Fasp [FASP],
   JSCAPE, are all based on UDP and CC, which are not implemented on
   transport layer and not so easy to use.

3.1.2 Latency for Apps

   Some applications, such as voice, networked games and interactive
   services, are more affected by latency rather than throughput.
   Excessive network latency will cause applications to spend a large
   amount of time waiting for responses from their remote sides, then
   the bandwidth may not be fully utilized, and performance will
   suffer.
 


<Author>                Expires January 2, 2015                 [Page 4]

INTERNET DRAFT              <Document Title>                July 1, 2014


   TCP has 3-way handshakes occupying at least one RTT (Round-Trip Time)
   before sending content. Therefore, many applications don't run over
   TCP. TCP's InitCwnd and congestion control would also increase
   latency. The default initCwnd inside current kernel is 3 SMSS. Google
   suggests increasing InitCwnd to 10 SMSS recently. But, in our
   opinion, different applications may require different initCwnd
   values, and it's not so easy for applications to adjust it. TCP's in-
   order transmission is not friendly to multiplex and also unnecessary
   to some web applications due to HOL (Head-of-line Blocking). HTTP has
   suffered this issue for a long time and now Google is bringing new
   SPDY protocol to improve it.

   Currently, there are some TCP variants proposed to get rid of the 3-
   way handshakes. T/TCP [RFC1644] and TFO (TCP fast open) [I.D-ietf-
   tcpm-fastopen] are two proposals of bypassing 3-way handshakes to let
   SYN packet carry data. But T/TCP is vulnerable to DOS attacks because
   the source address could be forged and SYN packets with data that the
   receiver had to accept could be sent. Three-way handshakes make it
   much less likely for an off-path attacker to be able to open large
   numbers of TCP connections, which exhausts resources on the receiver.

3.1.3 Data Center

   Cloud computing has attracted widespread concern from industry. With
   the development of new Internet services and use of new technologies,
   significant changes and trends are taking place in data centers. It
   brings new challenges and problems to data center networks. Data
   center network traffic patterns are changing quickly from traditional
   "north-south" traffic to "east-west" traffic which results in a lot
   of one-to-many and many-to-many communication between the servers.
   TCP protocol is the wide-spread communication used among data center
   servers. However, TCP is originally designed for low bandwidth and
   low latency WAN, thus it's not quite suitable for data center network
   with high bandwidth and low latency. Therefore, 2 new issues emerge
   in data center network using TCP, i.e., TCP incast and TCP
   unfairness. TCP incast may be produced by MapReduce implementations,
   such as Hadoop. TCP unfairness is usually caused by different flows
   sharing the same link. In that case, big flows occupy most of the
   queues in switches resulting in high latency and bad performance to
   small flows, which contain relatively less data. IRTF is creating a
   research group to study the issues and solutions for TCP in data
   center.

   Current way to alleviate the TCP pains in DC is to increase the queue
   in switches so that it could avoid dropping packets by incast, but at
   the expense of high queuing delay and high cost of switches. Data
   Center TCP (DCTCP) [DCTCP] is a TCP variant for data center networks.
   It achieves better throughput than TCP, reducing queuing delays and
 


<Author>                Expires January 2, 2015                 [Page 5]

INTERNET DRAFT              <Document Title>                July 1, 2014


   congestive packet drops via Explicit Congestion Notification (ECN) to
   notify feedback to the hosts. However, DCTCP does not work well for
   deadline sensitive applications as deadlines of network flows are not
   regarded in the protocol and it is usually difficult to implement
   because of the modifications of end-hosts and switches.

3.1.4 Wireless Network

   As TCP was designed specifically for wired networks, where the packet
   loss was mainly caused by congestions. When applied in wireless
   network, the performance of traditional TCP is significantly affected
   by the channel errors, random losses and temporary link failures in
   wireless network.

   Many approaches, both Transport Level Proposals and Link Level
   Proposals, have been proposed to improve the performance of TCP over
   networks with wireless links. TCP Westwood+ [TCP Westwood+], one of
   Transport Level Proposals, optimizes the control of cwnd (Congestion
   Window) and ssthresh (Slow Start Threshold) by estimating the
   available bandwidth, which solve the traditional TCP problem, that
   lost packets will result in decreasing bandwidth utilization, to a
   certain extend. Although Westwood+ [TCP Westwood+] is able to
   outperform standard TCP in a wide range of application scenarios, it
   still suffers in the presence of a large BDP, due to the low
   responsiveness after a packet loss. Another Transport Level Proposal,
   like Indirect TCP, splits the TCP connection into two, each of which
   applies independent, optimized flow and congestion control. But this
   method loses TCP's end-to-end semantics and increases the overheads
   of the proxy. Link Level Proposals, such as Snoop protocol [Snoop],
   propose to deploy an agent at the base station and performing
   retransmission of lost segments based on duplicate TCP ACKs while
   retaining end-to-end semantics.

3.2 TCP Parameters

   The performance of initial TCP connection and congestion control is
   often affected by TCP parameters, such as slow start threshold and
   maximum sending window size, which are usually default in systems.
   Obviously, these default values set by system may not be most
   suitable for all the usages in current networks. For example, Google
   has increased TCP's initial congestion window, i.e., Initcwnd, to 10
   for its searching service, which turns out to have a better
   performance; Taobao, the biggest online shopping mall in china, sets
   the TCP InitCwnd to 7 to get the best end-user experience.

   Current TCP parameters which are all global parameters can be changed
   by modifying the regedit and kernel, and they can't be changed
   dynamically or based on TCP flows. However, if they can be adjusted
 


<Author>                Expires January 2, 2015                 [Page 6]

INTERNET DRAFT              <Document Title>                July 1, 2014


   according to peak and off-peak time of Internet, ability of servers,
   network bandwidth and the amount of users, won't it maximize the
   performance of transport? For example, when there is no network
   congestion, server overloading, TCP initial window size could be set
   bigger; While when meeting peak time of Internet, e.g. "Double-11"
   Shopping Festival in China, TCP initial window size could be set
   smaller to avoid unnecessary congestion. Another example is that
   setting different slow start cwnd for different services.


4  Security Considerations

   TBD

5  IANA Considerations

   There is no IANA action in this document.

6  Acknowledgments

   The authors would like to thank Spencer Dawkins for giving valuable
   comments and suggestions.

7  References

7.1  Normative References

   [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3782]  Floyd, S., Henderson, T., and A. Gurtov, "The NewReno
              Modification to TCP's Fast Recovery Algorithm", RFC 3782,
              April 2004.

   [RFC3649]  Floyd, S., "HighSpeed TCP for Large Congestion Windows",
              RFC 3649, December 2003.

   [RFC1644]  Braden, R., "T/TCP -- TCP Extensions for Transactions
              Functional Specification", RFC 1644, July 1994.

   [TAPS]     https://sites.google.com/site/transportprotocolservices/
              charter-proposal

   [FastTCP]  Nick, Barone; Jin, Cheng; Low, Steven H. and Hegde, Sanjay
              (2006). "FAST TCP: motivation, architecture, algorithms,
              performance"

   [UDT]      Y.Gu, R.L.Grossman, UDTv4:Improvements on Performance and
 


<Author>                Expires January 2, 2015                 [Page 7]

INTERNET DRAFT              <Document Title>                July 1, 2014


              Usability[J]. Gridnets, 2008, 2(1):9-23

   [FASP]     http://asperasoft.com/technology/transport/fasp/

   [I.D-ietf-tcpm-fastopen] Y. Cheng, "TCP Fast Open", draft-ietf-tcpm-
              fastopen-08, March 2014.

   [DCTCP]    M. Alizadeh, A. Greenberg, D. A. Maltz, J. Padhye, P.
              Patel, B. Prabhakar, S. Sengupta, and M. Sridharan, "Data
              center TCP (DCTCP)," in Proc. of ACM SIGCOMM 2010, New
              Delhi, India, Aug. 2010

   [TCP Westwood+] L. A. Grieco and S. Mascolo, "Performance evaluation
              and comparison of Westwood+, New Reno, and Vegas TCP
              congestion control", ACM Comp. Comm. Rev.,vol. 34, pp. 25
              - 38, April 2004

   [I-TCP]    A. Bakre and B.Badrinath, "I-TCP, Indirect TCP for Mobile
              Hosts," in 15th International Conference on Distributed
              Computing Systems (ICDCS), 1995.

   [Snoop]    http://nms.lcs.mit.edu/~hari/papers/snoop.html



Authors' Addresses


   Rachel Huang
   Huawei Technologies Co., Ltd.
   101 Software, Yuhua District

   EMail: rachel.huang@huawei.com



   Jianjie You
   Huawei Technologies Co., Ltd.
   101 Software, Yuhua District

   EMail: youjianjie@huawei.com










<Author>                Expires January 2, 2015                 [Page 8]