The Internet is ever increasing since its creation in the early 70s. Nowadays, it is interconnection billions of digital devices, from smartphones to huge servers. In order to cope with the ever increasing demand of traffic, multiple paths are available between the end-hosts. An attempt to use these multiple paths is done by Multipath TCP, a major extension to the Transmission Control Protocol (TCP). It allows to transmit a single byte stream across different paths, enabling an efficient pooling of the Internet's resources and a better resilience against failures of one of the paths. This thesis is a contribution to make multipath communication not an exception, but the rule by improving Multipath TCP and its Linux Kernel implementation. These improvements enable Multipath TCP to achieve good performance in a very wide range of environments, as well as be scalable in an operating system implementation.