Internet DRAFT - draft-you-taps-3red-model

draft-you-taps-3red-model







Taps Working Group                                                J. You
Internet-Draft                                                    Huawei
Intended status: Standards Track                            June 2, 2015
Expires: December 4, 2015


                          3RED Model for TAPS
                      draft-you-taps-3red-model-00

Abstract

   This document defines a 3RED model to describe transport service
   features.  Applications can make use of the 3RED model to request
   transport services from the TAPS by sending a request which contains
   the explicit 3RED requirement parameters.  The purpose of this
   document is to enable applications to make use of various transport
   services without customization or re-implementation.

Requirements Language

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

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 December 4, 2015.

Copyright Notice

   Copyright (c) 2015 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



You                     Expires December 4, 2015                [Page 1]

Internet-Draft                 3RED Model                      June 2015


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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  3RED Model  . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Rate  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  Response  . . . . . . . . . . . . . . . . . . . . . . . .   5
     3.3.  Reliability . . . . . . . . . . . . . . . . . . . . . . .   7
     3.4.  Efficiency  . . . . . . . . . . . . . . . . . . . . . . .   7
     3.5.  Differentiation . . . . . . . . . . . . . . . . . . . . .   8
   4.  3RED Implementation . . . . . . . . . . . . . . . . . . . . .   9
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   6.  Security considerations . . . . . . . . . . . . . . . . . . .  10
   7.  Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .  10
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  10
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   Application programmers face difficulty when they use the transport
   services provided by the transport protocols other than TCP or UDP,
   such as SCTP, DCCP, WebSockets, MPTCP, UDP-Lite, etc.  The goal of
   the TAPS working group is to help application and network stack
   programmers by describing an (abstract) interface for applications to
   make use of transport services.

   This document is to define a 3RED model to describe transport service
   features.  Applications can make use of the 3RED model to request
   transport services from the TAPS by sending a request which contains
   the explicit 3RED requirement parameters.  The purpose of this
   document is to enable applications to make use of various transport
   services without customization or re-implementation.

2.  Terminology

   This section contains definitions of terms used in this document.

      3RED: Rate, Response, Reliability, Efficiency and Differentiation

      BDP: Bandwidth-Delay Product



You                     Expires December 4, 2015                [Page 2]

Internet-Draft                 3RED Model                      June 2015


      DCCP: Datagram Congestion Control Protocol

      MPTCP: Multipath TCP

      RTO: Retransmission Timeout

      RTT: Round-Trip Time

      SCTP: Stream Control Transmission Protocol

      TCP: Transmission Control Protocol

      UDP: User Datagram Protocol

      UDP-Lite: Lightweight User Datagram Protocol

3.  3RED Model

                            +------------+
                            |            |
                            |    APPs    |
                            |            |
                            +-----+------+
                                  |
                                  |
                              3RED|Model
                                  |
                                  |
                            +-----v------+
                            |            |
                            |    TAPS    |
                            |            |
                            +-----^------+
                                  |
                                  |
                                  |
                                  |
                                  |
                            +-----v------+
                            | Transport  |
                            | Protocols  |
                            |            |
                            +------------+

                           Figure 1: 3RED Model

   The APP extracts or derives the service requirement parameters (i.e.
   3RED model) of the requested service, and then requests transport



You                     Expires December 4, 2015                [Page 3]

Internet-Draft                 3RED Model                      June 2015


   services from the TAPS by sending a request which contains the
   explicit 3RED requirement parameters.  The usage of 3RED model is
   depicted in Figure 1.

3.1.  Rate

   Rate, also known as bandwidth utilization rate, is the percentage of
   the access bandwidth (in bit/s) that goes to the actually achieved
   throughput when transmitting enough data.

   For example, TCP Reno throughput is measured as:

        Throughput <= min ( BW, WindowSize/RTT, MSS/(RTT*sqrt(p)) )

      BW: maximum bandwidth

      WindowSize: congestion window size

      RTT: round trip time

      MSS: maximum segment size (fixed for each Internet path, typically
      1460Bytes)

      p: packet loss probability

   For basic 4K streaming, it requires TCP throughput no less than
   45Mbps.  Assuming 100M network with RTT=50ms; p=0.01%; MSS=1460Bytes;
   WindowSize=256KBytes.  Then,

                TCP Throughput <= min ( 100, 40.96, 23.36 )
                               <= 23.36Mbps

   As we can see TCP responds to loss of packets and RTT, this results
   in poor throughput.  TCP is inefficiency in high bandwidth-delay
   product (BDP) networks.  It has an inherent throughput bottleneck
   that becomes obvious and severe with increased packet loss and
   latency.

   Table 1 shows the throughput and bandwidth utilization rate of
   different congestion algorithms under different packet loss
   conditions on a 100Mbps link with RTT=100ms when downloading a file.
   The simulation topology is shown in Figure 2.









You                     Expires December 4, 2015                [Page 4]

Internet-Draft                 3RED Model                      June 2015


    +---------+    100M +---------+                 +---------+
    | Sender  +---------+ Switch  |       +---------+ Receiver|
    +---------+         +-----+---+       |         +---------+
                              |100M       |
                              |           |
                              |           |
                              |       +---+-----+
                              +-------+ Network |
                                      | Emulator|
                                      +---------+

                         Figure 2: Simulation Topology

                   Table 1: Throughput and Rate
   +--------+-----------------+-----------------+-----------------+
   |        |      p=0.1%     |    p=0.01%      |    p=0.005%     |
   +--------+----------+------+----------+------+----------+------+
   |        |Throughput|Rate  |Throughput|Rate  |Throughput|Rate  |
   +--------+----------+------+----------+------+----------+------+
   |Cubic   |641 KB/s  |5.26% |3.14 MB/s |26.38%|4.93 MB/s |41.41%|
   +--------+----------+------+----------+------+----------+------+
   |Westwood|1.19 MB/s |10.00%|3.97 MB/s |33.25%|5.41 MB/s |45.44%|
   +--------+----------+------+----------+------+----------+------+
   |Veno    |637 KB/s  |5.23% |1.99 MB/s |16.72%|2.80 MB/s |23.52%|
   +--------+----------+------+----------+------+----------+------+
   |Illinois|3.12 MB/s |26.21%|10.2 MB/s |85.68%|9.82 MB/s |82.49%|
   +--------+----------+------+----------+------+----------+------+

   So Rate can be graded into 5 levels, as shown in Table 2.

             Table 2: Rate
     Rate Level    Utilization Rate
   -----------------------------------
       5              80%-100%
       4              60%-80%
       3              40%-60%
       2              20%-40%
       1              0%-20%

3.2.  Response

   Response (i.e. response time) is the time elapsed between the
   emission of the first bit of a data and the accumulated data that is
   able to make a service usable.

   For web browsing, the response time is the time elapsed between the
   emission of the first bit of a web page and the reception of the last
   bit of that web page.  For example, with an initial window of 3



You                     Expires December 4, 2015                [Page 5]

Internet-Draft                 3RED Model                      June 2015


   segments (IW3), a transfer of 25 segments of web page will require 5
   round trips to complete.  While with the larger initial window (e.g.
   IW=10 [RFC6928]), it will require only 2 round trips.  An increase of
   the initial window from 3 segments to 10 segments improves the
   response latency.

   For 4K streaming video, the response time is the time elapsed between
   the emission of the first bit of a data and the accumulated data that
   is ready to play 4K video.

   For most non real time applications, such as web browsing, email,
   FTP, a response time of 2-5 seconds is suggested.  For most real time
   applications, such as video conferencing, videophony, VoIP, a
   response time of less than 150ms is suggested [QoS-Requirements].

   Table 3 shows the average response time of different congestion
   algorithms when downloading files with different size on a 100Mbps
   link with IW=10, meanwhile assuming a packet loss occurs during the
   first RTT.  The simulation topology is the same as shown in Figure 2.

                          Table 3: Response Time
  +--------+-----------+-----------+-----------+-----------+-----------+
  |        |Object Size|Object Size|Object Size|Object Size|Object Size|
  |        |10K Bytes  |40K Bytes  |100K Bytes |256K Bytes |3.75M Bytes|
  +--------+-----------+-----------+-----------+-----------+-----------+
  |Cubic   |  3RTT     |  4RTT     |    8RTT   |   16RTT   |   85RTT   |
  +--------+-----------+-----------+-----------+-----------+-----------+
  |Westwood|  3RTT     |  5RTT     |   10RTT   |   18RTT   |  110RTT   |
  +--------+-----------+-----------+-----------+-----------+-----------+
  |Veno    |  3RTT     |  4RTT     |    8RTT   |   13RTT   |   98RTT   |
  +--------+-----------+-----------+-----------+-----------+-----------+
  |Illinois|  3RTT     |  5RTT     |    9RTT   |   15RTT   |   50RTT   |
  +--------+-----------+-----------+-----------+-----------+-----------+


   Response can be graded into 5 levels, as shown in Table 4.

          Table 4: Response
    Response Level     Response Time
   ------------------------------------
         5               <10ms
         4               10-100ms
         3               100-400ms
         2               400-5000ms
         1               >5000ms






You                     Expires December 4, 2015                [Page 6]

Internet-Draft                 3RED Model                      June 2015


3.3.  Reliability

   Reliability is measured by a maximum application-level packet loss
   rate that is tolerable for the applications.

   For web-browsing using HTTP over TCP, the expected data loss of HTTP
   objects is zero since TCP is a reliable transfer protocol in which
   erroneous packets are sent again using a retransmission policy.  For
   HDTV quality MPEG-2 video streams, the tolerable loss rate should be
   less than 0.0001%. For broadcast audio streams, a tolerable loss rate
   of no more than 0.1% is recommended.  For VoIP, the tolerable loss
   rate should be less than 1% in the G.729 codec [QoS-Requirements].
   When addressing the QoS needs of streaming video traffic, loss should
   be no more than 5%.

   So Reliability can be graded into 5 levels, as shown in Table 5.

             Table 5: Reliability
     Reliability Level    Tolerable Loss Rate
   ---------------------------------------------
           5                  0%
           4                  0%-0.1%
           3                  0.1%-1%
           2                  1%-5%
           1                  >5%

3.4.  Efficiency

   Efficiency, also known as bandwidth utilization efficiency, is the
   percentage of network bottleneck bandwidth (in bit/s) that goes to
   the actually achieved throughput when a number of competing
   connections traverse the same network bottleneck.
   [Performance-Evaluation] evaluates a set of TCP variants over a
   single bottleneck network.

   Table 6 shows the efficiency of different congestion algorithms under
   different packet loss conditions when downloading files using
   different number of flows.  The simulation topology is shown in
   Figure 3, Access Bandwidth= 1Gbps, Bottleneck Bandwidth=100Mbps,
   RTT=100ms.











You                     Expires December 4, 2015                [Page 7]

Internet-Draft                 3RED Model                      June 2015


    +---------+      1G +---------+                 +---------+
    | Sender  +---------+ Switch  |       +---------+ Receiver|
    +---------+         +-----+---+       |         +---------+
                              |100M       |
                              |           |
                              |           |
                              |       +---+-----+
                              +-------+ Network |
                                      | Emulator|
                                      +---------+

                         Figure 3: Simulation Topology

                           Table 6: Efficiency
  +--------+-----------------------+-----------------+-----------------+
  |        |        p=0.1%:        |    p=0.01%      |    p=0.005%     |
  |        +------+-------+--------+--------+--------+--------+--------+
  |        |1 flow|5 flows|10 flows|1 flow  |5 flows |1 flow  |5 flows |
  +--------+------+-------+--------+--------+--------+--------+--------+
  |Cubic   |5%    |23%    |43%     |25%     |100%    |43%     |100%    |
  +--------+------+-------+--------+--------+--------+--------+--------+
  |Westwood|9%    |67%    |100%    |33%     |100%    |40%     |100%    |
  +--------+------+-------+--------+--------+--------+--------+--------+
  |Veno    |5%    |26%    |53%     |17%     |85%     |23%     |100%    |
  +--------+------+-------+--------+--------+--------+--------+--------+
  |Illinois|26%   |100%   |100%    |75%     |100%    |96%     |100%    |
  +--------+------+-------+--------+--------+--------+--------+--------+

   Efficiency can be graded into 5 levels, as shown in Table 7.

          Table 7: Efficiency
     Efficiency Level     Efficiency
   ------------------------------------
            5              90%-100%
            4              60%-80%
            3              30%-60%
            2              10%-30%
            1              0%-10%

3.5.  Differentiation

   Differentiation means that a number of competing connections are
   provided with differential opportunity to transfer data when they
   sharing a single bottleneck link.

   To provide a numerical measure reflecting the differential share
   distribution across the various connections, the differentiation
   index for one specified connection is defined as:



You                     Expires December 4, 2015                [Page 8]

Internet-Draft                 3RED Model                      June 2015


      (maximum throughput from all competing connections
                - the throughput of the specified connection)
   ---------------------------------------------------------------
        maximum throughput from all competing connections

   For example, for three competing connections, their throughputs are
   5Mbps, 4Mbps and 1Mbps respectively; then their differentiation
   indexes are 0, 20% and 80% respectively.

   Differentiation determines whether users or applications are
   receiving a differential share of network resources when network is
   congested.  Application may specify differentiation to individual
   media, in order to facilitate appropriate priority handling; for
   example, when the congestion is experienced, it informs the
   downstream nodes to downgrade their data transmission rate to some
   degree and vice versa.

   Assuming beta is a constant multiplication decrease factor applied
   for window reduction at the time of loss in TCP Reno, the throughput
   is measured as:

Throughput <= min ( BW, WindowSize/RTT, sqrt(1/beta-1/2)*MSS/(RTT*sqrt(p)) )

   So through adjusting beta, the throughput could be controlled.
   Accordingly, the differentiation level could be implemented.

   Differentiation can be graded into 5 levels, as shown in Table 8.

            Table 8: Differentiation
      Differentiation Level    Differentiation
   ----------------------------------------------
                5                0%-10%
                4                10%-30%
                3                30%-50%
                2                50%-70%
                1                >70%

4.  3RED Implementation

   3RED (i.e.  Rate, Response, Reliability, Efficiency and
   Differentiation) usually cannot be satisfied at the same time.  For
   example, if Reliability would be preferred, then Rate and Response
   have to be downgraded.  When several flows share a single bottleneck
   link, if Response would be preferred, then Efficiency may be
   sacrificed.

   The application could belong to end-user or service provider.  For
   end-user, it may care more about Rate, Response and Reliability;



You                     Expires December 4, 2015                [Page 9]

Internet-Draft                 3RED Model                      June 2015


   however for service provider, it may care more about Efficiency and
   Differentiation.

5.  IANA Considerations

   This document has no actions for IANA.

6.  Security considerations

   This document does not introduce any new security considerations.

7.  Acknowledgement

   TBD.

8.  Normative References

   [Performance-Evaluation]
              Alrshah, M. and M. Othman, "Performance Evaluation of
              Parallel TCP, and its Impact on Bandwidth Utilization and
              Fairness in High-BDP Networks Based on Test-bed", 2013
              IEEE 11th Malaysia International Conference on
              Communications, November 2013.

   [QoS-Requirements]
              Chen, R., Farley, T., and N. Ye, "QoS Requirements of
              Network Applications on the Internet", Information
              Knowledge Systems Management, January 2004.

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

   [RFC6928]  Chu, J., Dukkipati, N., Cheng, Y., and M. Mathis,
              "Increasing TCP's Initial Window", RFC 6928, April 2013.

Author's Address

   Jianjie You
   Huawei
   101 Software Avenue, Yuhuatai District
   Nanjing,  210012
   China

   Email: youjianjie@huawei.com







You                     Expires December 4, 2015               [Page 10]