Design and Implementation of Split TCP in the Linux Kernel

  • Jain R
  • Ott T
  • 15


    Mendeley users who have this article in their library.
  • 7


    Citations of this article.


With all its history of reliable performance, the TCP protocol is known to break down in a situation with high loss and high RTT. A known solution is "Split TCP", where one or a few proxies (helper boxes) are used to break the end-to-end TCP connection into a few (almost) independent legs. Each leg has its own feedback, congestion control, error control mechanism, etc. The main contributions of our work are the design and implementation of "Split TCP" using Netfilter Hooks in the Linux kernel, and the use of IP over IP for transport. The kernel implementation reduces overhead. The implementation used leaves TCP packets and flags intact, thus allowing use of Telnet (etc) over a Split TCP connection. The primary area of use is for Internet connections, irrespective of the user application. Connections can be split into legs having high RTT or high loss, preferably not both. The use of IP over IP allows use of many helper boxes in a connection and makes it easier to achieve transparency for the original end-hosts.

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document


  • Rahul Jain

  • Teunis J. Ott

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free