Skip to Main Content
Ideally, the throughput of a Multipath TCP (MPTCP) connection should be as high as that of multiple disjoint single-path TCP flows. In reality, the throughput of MPTCP is far lower than expected. This is fundamentally caused by the fact that a sub flow with high delay and loss affects the performance of other sub flows, and thus becomes the bottleneck of the MPTCP connection and significantly degrades the aggregate good put. To tackle this problem, we propose Fountain code-based Multipath TCP (FMTCP), which effectively mitigates the negative impact of the heterogeneity of different paths. FMTCP takes advantage of the random nature of the fountain code to flexibly transmit encoded symbols from the same or different data blocks over different sub flows. Moreover, we design a data allocation algorithm based on the expected packet arriving time and decoding demand to coordinate the transmissions of different sub flows. Quantitative analyses are provided to show the benefit of FMTCP. We also evaluate the performance of FMTCP through ns-2 simulations and demonstrate that FMTCP can outperform IETF-MPTCP, a typical MPTCP approach, when the paths have diverse loss and delay in terms of higher total good put, lower delay and jitter. In addition, FMTCP achieves much more stable performance under abrupt changes of path quality.