Σιόλος, Νικόλαος Δ.
KeywordsMultipath TCP ; MPTCP ; Multipath transport ; Path manager ; Congestion control ; Scheduler ; Subflows ; Meta-Socket ; Sub-Socket
Τhe need for greater reliability and greater speed was evident even since the appearance of early networks. Various techniques for ensuring data transfers have been developed, and more money was invested for systems to have the possibility of alternative paths in case of failures. TCP is a communication protocol that provides for the exchange of packets between users efficiently. However, the increase of users has created the problem of IPv4 addresses shortage and the demand for higher speeds and uninterrupted internet access gave birth to Multihoming techniques. In addition, Wi-Fi and use 3G / 4G mobile internet penetration intensified the problem. Although IPv6 solved the addressing problem, multihoming remained a complex issue taking into account that TCP is single path oriented. Over the years several multihoming solutions have been presented, like Link aggregation, Shim6 and SCTP, but these techniques are not always applicable because they are not supported by existing applications. Multipath TCP (MPTCP) is an application which is based on the existing internet structure and creates multipath connections extending TCP options, surpassing the known Multihoming solutions and taking into account the problems created by middleboxes. In this thesis, we will see the basic principles and structures of MPTCP and it implementation in a real and virtual environment. Specifically, Chapter 1 describes the structure and terminology of the Multipath TCP. Chapter 2 describes how the installation of the first and the individual subflows is done, which is the first step for a synchronized and secure data transmission. Chapter 3 describes how the selection of a subflow for data transfer is performed, ensuring the retransmission of lost packets and justice among the remaining flows of the same bottleneck. In Chapter 4, the installation, adjustment and implementation of MPTCP in a real environment using Linux operating system is described. In Chapter 5, the installation, adjustment and implementation of MPTCP in a virtual environment using VMware and Linux operating systems is described. In Chapter 6, we performed measurements using different congestion control algorithms. In Chapter 7 we present the overall conclusions reached.