~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/networking/tcp-thin.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php