Nowadays the majority of hosts on the internet have multiple interfaces, and can reach each other via multiple routes. The TCP protocol, which transports most internet traffic, operates only on one path. The multipath TCP protocol is an extension of "normal" TCP that enables a single TCP connection to operate via multiple interfaces and paths. This increases throughput, fault-tolerance and availability, while being backwards compatible with TCP, which promotes its adoption.
The technology is relatively new as it was implemented in the Linux kernel a few years ago. However, it is not yet available for many platforms, including Windows. To mitigate this, utilization of a multipath TCP proxy is proposed. This acts as a protocol converter, and lets these hosts gain the benefits of the multihoming protocol. The multipath TCP proxy has been recently specified by the IETF.
In this thesis I examined the feasibility of using such a proxy. I created a simple test proxy, which implements some of the key points of the specification. The proxy was implemented in the Click modular router framework, which also runs on Linux. Click can be used to create software routers from modular elements.
I conducted measurements with the test proxy in the lab, to validate the feasibility of the concept. I simulated a realistic network environment, in which I measured the performance of the proxy, comparing it to the reference measurements taken not using a proxy. Results confirmed the feasibility of the concept.
Finally, I looked at options to improve and extend the test proxy, which would bring it closer the specifications of a full-featured one.