Internet DRAFT - draft-bahk-pilc-tcp-wireless

draft-bahk-pilc-tcp-wireless









Internet Engineering Task Force                                  S. Bahk
INTERNET DRAFT                                                    J. Kim
                                               Seoul National University
                                                                  H. Kim
                                                         Ajou University
                                                            10 Apr. 2001


        Spurring TCP retransmission upon wireless uplink losses

                  draft-bahk-pilc-tcp-wireless-00.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC 2026.

   Comments should be submitted to the PILC mailing list at
   pilc@grc.nasa.gov.

   Distribution of this memo is unlimited.

   This document is an Internet-Draft.  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.

Abstract

   In this informational draft, a simple TCP-level method to tackle
   unnecessarily inflated TCP retransmission timeout (RTO) value due to
   non-congestion losses over wireless uplink is evaluated.  This method
   works between the handset and the intermediate node, and does not
   require the changes on legacy TCP implementations on wireline side.
   It uses one bit, named Kick (K) bit, from the TCP header to signal
   the handset or IN to override RTO. Also, this method does not
   undermine the congestion-control aspect of RTO exponential backoff.



Expires 10 Oct. 2001                                            [Page 1]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


   Simulations show that kicking TCP connections out of long RTO backoff
   induced by wireless losses reduces TCP response time significantly.
   The performance improvement is more pronounced under larger data
   sizes and worse channel quality.


1 Introduction


   TCP traditionally assumes that segment losses are congestion losses,
   but on wireless link losses are caused by shadowing, multipath
   fading, high bit error rate (BER) and handoff. TCP can erroneously
   react by exponentially reducing the congestion window size, which
   leads to TCP throughput degradation. Prior research shows that the
   effect can be mitigated by splitting the TCP connection[ITCP], by
   making link layer TCP aware[SNOOP], by making the TCP sender not
   react to non-congestion losses[ELN], or by freezing TCP during bad
   channel state [FREEZETCP].

   However, a related problem little addressed so far is TCP
   retransmission timeout (RTO) backoff. In TCP, repeated losses of the
   same segment force the RTO to be exponentially inflated. In other
   words, the gap between the successive retransmission attempts doubles
   every backoff.  In wireless environment, packet transmissions during
   elongated loss periods will be lost, and successively failed
   retransmissions will have inflated the RTO to a very high value by
   the time the wireless channel returns to good state. Then even if the
   wireless link is usable again, TCP sender could wait long until the
   next retransmission timer expiration.

   We propose a method to avoid large response times for TCP data
   transfers, due to unnecessarily inflated TCP RTO value induced by
   non-congestion losses on wireless link. In particular, we narrow our
   focus on _uplink_ losses in this draft. We require changes on mobile
   host (MH) TCP/IP and minimal support from an intermediate node (IN)
   on the TCP path. But we do not require any change of legacy TCP
   implementations on the wireline side so that this approach is
   amenable to deployment.


2 Spurring TCP over wireless uplink


   Although MHs are expected to function as clients for most
   applications, there are a group of applications where both MH and the
   wireline node take on peer's role.  telnet is a representative
   example. Albeit infrequent, data upload using such as ftp will still
   remain. And interactive applications such as real-time chat, network



Expires 10 Oct. 2001                                            [Page 2]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


   game, or whiteboard, can also use TCP.  All proposed TCP improvements
   so far, however, focus on guarding TCP throughput against downlink
   wireless losses only. In this draft, we evaluate a mean-and-lean TCP-
   level ``kicking" mechanism, which forces a TCP connection dormant in
   a large RTO backoff to immediately resume transmission as soon as the
   wireless uplink outage is over.

   This solution does not require any new ICMP message type, interlayer
   signaling, or channel state monitoring on physical layer as in
   Karn[KICKTCP]. Rather, ``kicking" in our scheme is simply manifest in
   the form of an early retransmission, done earlier than the
   retransmission timer suggests. Also in the same vein, we do not
   require the datalink layer retransmission support as in [RLP].  Also
   for feasibility, we do not require changes on legacy TCP
   implementations on wireline side[FREEZETCP].  For instance, we avoid
   requiring wireline side TCP to bound RTO to a small value or to
   change the backoff ratio to less than 2 [SHORTRTO]. Furthermore,
   modifying RTO backoff itself is undesirable since it potentially
   undermines its role as a congestion control measure. To avoid
   interfering with congestion control aspect of the RTO backoff,
   kicking is done independently of the retransmission based on RTO
   values. Moreover, we limit the kicking to between IN and MH, since
   the kicking traffic spilled into the wireline network may worsen the
   congestion.  Namely, if the congestion is inside the wireline network
   not on the wireless link, data transmission earlier than RTO suggests
   will defeat the congestion control purpose of RTO backoff.
   Monitoring the wireless link and freezing the wireline TCP sender
   before the wireless link using zero window advertisement is shown to
   boost downlink throughput [FREEZETCP], but it may be difficult to
   warn the sender fast enough in face of fast to moderate fading
   situation.  Also, fast change in the channel state may render the
   congestion window backoff due to triplicate ACK[TRIPLICATEACK] too
   frequent.  So we retain the reactive approach, where the
   retransmission is allowed to happen, but the impact on the RTO by
   those induced by wireless losses are quickly resolved.

   We use one bit among the 6 reserved bits in the TCP header.  We call
   this bit the ``K (kick) bit", and we require MH's TCP and IN be aware
   of the bit and take appropriate actions when they see it. With the K
   bit set, a ``kick segment" is simply the data segment that has been
   scheduled to be retransmitted by the retransmission timer.  In case
   the kick TCP segments are leaked into the global Internet, it may
   adversely affect the congestion. So the IP layer of MH may be
   modified to set TTL to a small value so that the kick segments do not
   go beyond the wireless network backbone, even in case IN is not kick-
   aware.  In order to override the retransmission timer and attempt an
   early retransmission (i.e. kick), we run a new timer in MH TCP,
   called the ``kick timer".  The basic idea here is to start the kick



Expires 10 Oct. 2001                                            [Page 3]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


   timer whenever the retransmission timer is started, but expire it
   earlier than the retransmission timer when RTO becomes too large.

   When MH's TCP transmits data towards the wireline network, the kick
   timer is set or reset whenever the retransmission timer is set or
   reset, respectively.  When the kick timer expires before the
   retransmit timer does, MH transmits a kick segment.  When the kick-
   aware IN receives a kick segment, it checks if it already forwarded
   the segment to the global Internet. For this purpose, IN is required
   to remember the largest sequence number for each TCP connection from
   a MH. If IN did forward, it sends an ACK for the segment with the K
   bit set (a ``kick-back").  If it did not, it forwards the segment
   after resetting the kick flag and TTL (if necessary), and sends a
   kickback to MH for the segment. Upon receiving a kickback, MH stops
   the kick timer, suppressing further kicks. This is because MH has
   been assured by the kickback that the segment was delivered to IN.
   In case the segment is lost further down the path (i.e. on wireline
   portion of the connection), normal congestion control rather than the
   wireless retransmission mechanism (i.e. kick) should react to it.
   Note that the kickback should NOT be considered a normal ACK, and it
   should be discarded after stopping the kick timer. This is not to
   break the end-to-end semantics of the TCP connection.  Finally, as to
   the wireline side transmitting data towards MH, existing proposals
   such as using an intermediate node[SNOOP] or an end-to-end
   approach[FREEZETCP] can be used.

3 Simulation

   In our simulation using ns-2, the physical channel state is modeled
   by a continuous time 2-state Markov chain[2STATE].  A single TCP Reno
   connection is run between a wireline side host and a MH (which will
   be a typical case in reality), where the host functions as the
   intermediate node as well. The kick timer interval is set to the
   connection RTT, which upper bounds the airlink RTT. (In this
   simulation the two RTTs are equivalent).  The wireless bandwidth is
   set to 64Kb/s. The link delay is set to 10ms. The TCP segment size
   was set to 536 bytes, making a packet time to be 0.0067 seconds. The
   buffer in the router has 32 slots, much larger than the bandwidth-
   delay product of the network. We vary the file size up to 50KB. These
   small file sizes fit in with our model where small uploads and
   interactive traffic are assumed to be dominant.

   --------------------------------------------------------------------
   moderate fading |  10KB      20KB       30KB       40KB      50KB
   --------------------------------------------------------------------
      TCP, avg     |  1.524    3.940      6.421      8.911     12.100
      TCP, 95%     |  3.000    8.331     12.689     29.660     30.916
   --------------------------------------------------------------------



Expires 10 Oct. 2001                                            [Page 4]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


      Kick, avg    |  1.634    3.934      5.712      8.618     10.995
      Kick, 95%    |  2.959    8.097     10.904     17.225     19.410
   --------------------------------------------------------------------

   Table 1. Average and 95 percentile response times, moderate fading

   Table 1 shows the average and 95 percentile response times of vanilla
   TCP and Kick TCP, respectively, when we vary the data size to be
   transported from 10KB to 50KB. The numbers are obtained from 100
   simulation runs for each data size.  We set the average good and bad
   intervals to 0.8 and 0.2 seconds (i.e. a moderate fading),
   respectively [2STATE]. The average good interval can allow for
   approximately 10 segment transmissions, taking account of TCP/IP and
   link layer header such as PPP.  The 95th percentile response time of
   TCP is very high and unstable, and the time difference from the Kick
   TCP gets larger with data size.

   --------------------------------------------------------------------
      fast fading  | 10KB      20KB       30KB       40KB      50KB
   --------------------------------------------------------------------
      TCP, avg     |  2.867    7.014     13.353     20.609     29.694
      TCP, 95%     | 33.916   54.756    129.551     75.567    168.706
   --------------------------------------------------------------------
      Kick, avg    |  2.525    5.889      8.986     12.649     16.395
      Kick, 95%    |  6.505   17.239     19.760     31.705     40.047
   --------------------------------------------------------------------

       Table 2. Average and 95 percentile response times, fast fading

   Table 2 shows the average and 95 percentile response times (in
   seconds) of vanilla TCP and Kick TCP with fast fading.  The average
   good and bad intervals are set to 0.08 and 0.02 seconds.  The average
   good state interval is barely enough to accommodate one packet
   transmission. As expected, response times are much worse than the
   moderate fading case, and the performance difference between the
   vanilla TCP and Kick TCP is evident even in small data transfers.  In
   the table, TCP is shown to have extremely large response times in
   general. In contrast, Kick TCP remains smaller and more stable.

   --------------------------------------------------------------------
      slow fading  | 10KB      20KB       30KB       40KB      50KB
   --------------------------------------------------------------------
      TCP, avg     |  1.309    2.582      3.788      8.811     10.688
      TCP, 95%     |  2.859    7.131     16.438     24.035     31.561
   --------------------------------------------------------------------
      Kick, avg    |  1.309    2.582      3.788      8.911     10.688
      Kick, 95%    |  2.159    6.206      8.337     14.611     21.545
   --------------------------------------------------------------------



Expires 10 Oct. 2001                                            [Page 5]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


       Table 3. Average and 95 percentile response times, slow fading

   Table 3 is the 95th percentile and average response times under slow
   fading. The good and bad intervals were set to 8 and 2 seconds. A
   noticeable change from earlier tables is that the average response
   times are almost identical. This is because the good channel state
   persists long enough to transmit the entire files. But as for 95
   percentile response times, Kick TCP is 1.5 to 2 times better as data
   size gets larger.


4 Conclusion

   In summary, we presented and evaluated a mean-and-lean TCP-level
   scheme to reduce the response time under wireless uplink losses.  In
   spirit, the evaluated scheme is a transport-level equivalent of the
   traditional datalink-level retransmission timer mechanisms.  However,
   the merit of the evaluated scheme is that it is simpler to implement
   on mobile host's TCP. For instance, it does not require coordination
   with any other protocol layers.  And the modification needed for
   mobile host TCP code is about 5 additional lines in the ns execution
   path. We expect similar complexity in real TCP codes.  The
   intermediate node modification is also minimal, compared with
   existing schemes[SNOOP,ELN]. When SNOOP-like techniques are used for
   downlink performance boosting, the Kick TCP scheme can exploit the
   intermediate node's capability to enable kicking, without incurring
   too much additional overhead.  The Kick TCP scheme significantly
   improves the TCP response time especially under fast fading, a
   difficult condition for TCP connection crossing a wireless hop.
   Although relatively smaller, we observe consistent performance
   improvement in moderate and slow fading conditions as well.


References

   [2STATE] A. A. Abouzeid, S. Roy, and M. Azizoglu, ``Stochastic
   Modeling of TCP over Lossy Links," Proceedings of Infocom 2000.

   [ELN] H Balakrishnan, V. Padmanabhan, S. Seshan, and R. H. Katz. A
   Comparison of Mechanisms for Improving TCP Performance over Wireless
   Links. IEEE/ACM Transactions on Networking, 5(6):756ff, 1997.

   [FREEZETCP] T. Goff , J. Moronski, D. S. Phatak, and V. Gupta,
   ``Freeze-TCP: A true end-to-end enhancement mechanism for mobile
   environments," in INFOCOM, (Israel), 2000.

   [IS707] TIA/EIA/IS--707, "Data services option standard for wideband
   spread spectrum digital cellular system," Feb. 1998.



Expires 10 Oct. 2001                                            [Page 6]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


   [ITCP] Bakre A., and Badrinath B.R. I-TCP: Indirect TCP for Mobile
   Hosts. In: Proc. of the 15th International Conference on Distributed
   Computing Systems (ICDCS), Vancouver, British Columbia, Canada, May
   1995.

   [KICKTCP] Phil Karn, ``Kicking TCP," a contribution to PILC mailing
   list, March 2000. Available at
   http://pilc.grc.nasa.gov/pilc/list/archive/0690.html.

   [SHORTRTO] Y. Bai et al., ``TCP/RLP Coordination and Interprotocol
   Signaling for Wireless Internet," Proceedings of Vehicular Technology
   Conference Spring, 1999.

   [SNOOP] H. Balakrishnan et al., ``Improving TCP/IP Performance over
   Wireless Networks," Proc. 1st ACM Conf. on Mobile Computing and
   Networking, Berkeley, CA, Nov. 1995.

   [TCPPROBING] V. Tsaoussidis and H. Badr, ``TCP-Probing: Towards an
   Error Control Schema with Energy and Throughput Performance Gains,"
   Proceedings of ICNP 2000.

   [TRIPLICATEACK] R. Caceres and L. Iftode, ``Improving the Performance
   of Reliable Transport Protocols in Mobile Computing Environments,"
   IEEE JSAC Special Issue on Mobile Computing Network, 1994.

   [WTCP] K. Ratnam and I. Matta. WTCP: An Efficient Mechanism for
   Improving TCP Performance over Wireless Links. In Proc. Third IEEE
   Symposium on Computer and Communications (ISCC '98), June 1998. Code
   available from http://www.cs.bu.edu/faculty/matta/software.html.



Authors' Address

   Saewoong Bahk
   Seoul National University
   New Media Laboratory
   Sinlim-dong San 56-1, Kwanak-gu
   Seoul 151-742, Korea

   Phone: +82-2-880-8414
   EMail: sbahk@netlab.snu.ac.kr

   Jin-Ho Kim
   Seoul National University
   New Media Laboratory
   Sinlim-dong San 56-1, Kwanak-gu
   Seoul 151-742, Korea



Expires 10 Oct. 2001                                            [Page 7]





INTERNET DRAFT  Spurring TCP upon wireless uplink losses       Apr. 2001


   Phone: +82-2-880-8434
   EMail: jhkim@netlab.snu.ac.kr

   Hyogon Kim
   Ajou University
   7F Daewoo Foundation Building
   Namdaemoon-ro 5-ga, Joong-gu
   Seoul 100-095, Korea

   Phone: +82-2-319-4080
   EMail: hyogon@madang.ajou.ac.kr

Full Copyright Statement

      Copyright (C) The Internet Society (2000).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.  This
   document and the information contained herein is provided on an "AS
   IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
   FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
   NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY
   OR FITNESS FOR A PARTICULAR PURPOSE.













Expires 10 Oct. 2001                                            [Page 8]