cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tcp-thin.rst (2378B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3====================
      4Thin-streams and TCP
      5====================
      6
      7A wide range of Internet-based services that use reliable transport
      8protocols display what we call thin-stream properties. This means
      9that the application sends data with such a low rate that the
     10retransmission mechanisms of the transport protocol are not fully
     11effective. In time-dependent scenarios (like online games, control
     12systems, stock trading etc.) where the user experience depends
     13on the data delivery latency, packet loss can be devastating for
     14the service quality. Extreme latencies are caused by TCP's
     15dependency on the arrival of new data from the application to trigger
     16retransmissions effectively through fast retransmit instead of
     17waiting for long timeouts.
     18
     19After analysing a large number of time-dependent interactive
     20applications, we have seen that they often produce thin streams
     21and also stay with this traffic pattern throughout its entire
     22lifespan. The combination of time-dependency and the fact that the
     23streams provoke high latencies when using TCP is unfortunate.
     24
     25In order to reduce application-layer latency when packets are lost,
     26a set of mechanisms has been made, which address these latency issues
     27for thin streams. In short, if the kernel detects a thin stream,
     28the retransmission mechanisms are modified in the following manner:
     29
     301) If the stream is thin, fast retransmit on the first dupACK.
     312) If the stream is thin, do not apply exponential backoff.
     32
     33These enhancements are applied only if the stream is detected as
     34thin. This is accomplished by defining a threshold for the number
     35of packets in flight. If there are less than 4 packets in flight,
     36fast retransmissions can not be triggered, and the stream is prone
     37to experience high retransmission latencies.
     38
     39Since these mechanisms are targeted at time-dependent applications,
     40they must be specifically activated by the application using the
     41TCP_THIN_LINEAR_TIMEOUTS and TCP_THIN_DUPACK IOCTLS or the
     42tcp_thin_linear_timeouts and tcp_thin_dupack sysctls. Both
     43modifications are turned off by default.
     44
     45References
     46==========
     47More information on the modifications, as well as a wide range of
     48experimental data can be found here:
     49
     50"Improving latency for interactive, thin-stream applications over
     51reliable transport"
     52http://simula.no/research/nd/publications/Simula.nd.477/simula_pdf_file