Articles via Databases
Articles via Journals
Online Catalog
E-books
Research & Information Literacy
Interlibrary loan
Theses & Dissertations
Collections
Policies
Services
About / Contact Us
Administration
Littman Architecture Library
This site will be removed in January 2019, please change your bookmarks.
This page will redirect to https://digitalcommons.njit.edu/dissertations/835 in 5 seconds

The New Jersey Institute of Technology's
Electronic Theses & Dissertations Project

Title: Design and implementation of split TCP in the Linux kernel
Author: Jain, Rahul
View Online: njit-etd2007-072
(xiii, 236 pages ~ 9.4 MB pdf)
Department: Department of Computer Science
Degree: Doctor of Philosophy
Program: Computer Science
Document Type: Dissertation
Advisory Committee: Ott, Teunis J. (Committee chair)
Borcea, Cristian (Committee member)
Sohn, Andrew (Committee member)
Ansari, Nirwan (Committee member)
Lakshman, T. V. (Committee member)
Date: 2007-08
Keywords: TCP performance
Quality of service
TCP with proxies
Linux kernel
Transmission Control Protocol (TCP)
Availability: Unrestricted
Abstract:

The Transmission Control Protocol (TCP) was designed for reliable communication between computers over networks of unpredictable quality. It has admirably succeeded in satisfying the needs of the growing internet. Yet, there are combinations of network problems too bad even for TCP. In particular, in the situation of simultaneously very high delay (e.g. a satellite link) and high loss or even fading (a low quality earthlink or wireless link) on the same connection TCP can break down.

A known solution is “Split TCP” where one or more proxies (called Helper Boxes) are introduced to break the end-to-end connection into few (almost) independent legs. Each of the legs has its own feedback, error control, congestion control etc.mechanism. Preferably, connections are split into legs having high RTT or high loss, but not both.

The main contribution of this dissertation is the design and implementation of “Split TCP” using the Netfilter System in the Linux kernel, and the use of IP over IP for transport. The dissertation also gives a mathematical guarantee for improved TCP performance with Split TCP. By analyzing the mathematical result, this dissertation concludes that localizing network problems one per leg will guarantee the maximum improvement possible with Split TCP. Through experiments conducted over an actual network, this deduction is proven to hold true.

The kernel implementation reduces overhead. The implementation used leaves TCP packets and flags intact, thus allowing use of SSH (etc) over a Split TCP connection. The implementation lets the helper box negotiate, for “inter-HB legs”, performance enhancing options like window scaling and Explicit Congestion Notification (ECN) support irrespective of the end-host capabilities. This allows a pair of helper boxes to have improved performance, thus increasing the throughput of the overall connection. Depending on the configuration of an end host, these options will also be negotiated between the end host and the HB. The use of IP over IP allows use of several helper boxes in a connection and makes it easier to achieve transparency for the original end-hosts.

The results of the experiments have been very promising. For example, with various drop probabilities, a connection with 1 helper box was, on an average, 9.5 times faster in comparison than one without. For a similar experiment with 3 HB's a Split TCP connection is on an average 8.29 times faster than a regular TCP, with the factor of improvement increasing with increasing drop probability. These results met the theoretical expectations of large improvements in situations with higher and asymmetric drop probabilities. The implementation was also tested in a heterogeneous environment where high loss and high delay are inherent in the wireless leg of the connection. The results have also shown the solution to be scalable.

The primary area of use is for internet connections, irrespective of the user application and the medium of connection, wired or wireless. This is unlike other proxies which are either application dependent or do not support certain applications (e.g.: interactive).


If you have any questions please contact the ETD Team, libetd@njit.edu.

 
ETD Information
Digital Commons @ NJIT
Theses and DIssertations
ETD Policies & Procedures
ETD FAQ's
ETD home

Request a Scan
NDLTD

NJIT's ETD project was given an ACRL/NJ Technology Innovation Honorable Mention Award in spring 2003