Abstract:
Internet connectivity via satellite link on small and remote Pacific Islands has historically suffered from poor performance regarding data transfers. The inherent propagation latency combined with the narrowband bottleneck nature of the link causes significantly delayed responses of the TCP congestion control algorithms that contribute to a poor Internet user experience. In more recent times, many of these problems have been mitigated through the development of more sophisticated satellites capable of carrying 1Gbps to 2Gbps feeds which would reduce the bottleneck effect considerably. Many affected islands in the Pacific, however, do not have the economic means to upgrade their satellite link and so are left with link data rates ranging from a few Mbps to a few hundred Mbps. Improvement to Internet connectivity in these places is still a work in progress. Performance Enhancing Proxies (PEP) solutions have been proposed as a way of solving this problem, but many of the commercial PEPs are costly and may not suit the low socio-economic budgetary constraints of many Pacific Island nations. Other less costly open source solutions adopt a TCP splitting/connection breaking PEP approach that violates the fundamental end to end semantics of TCP which causes its own problems. This research develops the first open source Linux based non-connection breaking PEP that is inexpensive and can be deployed easily on any computer along the link path. The PEP is coded in C using raw socket programming and has been tested on the University of Auckland’s Pacific Island Satellite Simulator. The PEP in its present state already offers small goodput gains for long downloads. The current codebase is intended as a platform for further development. This thesis describes the motivation for and the development of this platform and points out the future potential for ongoing development.