HayACK: Exploiting Characteristically Diverse Paths to Achieve Quick ACKing in MPTCP
Yusuke Morikoshi, Hirotake Abe, Kazuhiko Kato · 2017
Prompt acknowledgment (ACK) of received packets is key to achieving high throughputs in the Transmission Control Protocol (TCP) data flows. This also applies to Multipath TCP (MPTCP), a variant of TCP that bundles multiple paths into a single logical flow. However, the original MPTCP takes advantage of multiple paths only when sending data packets, not ACK packets. In the original MPTCP, an ACK packet goes through the same path that its originating packet has come through, even if a better path is available. The path that the originating packet came through is not always an appropriate path because the characteristics of the path (RTT, bandwidth, etc.) can be diverse. However, it is possible to improve the promptness of ACKing if we can select the appropriate path that an ACK packet goes through, regardless of what path the original data packets came through. In this study, we propose a method for improving MPTCP throughputs by improving the promptness of receiving ACK. The method is referred to as HayACK. HayACK returns an ACK packet via a path with the lowest round-trip time (RTT), even if it is not a path that received a data packet. To examine the effectiveness of our proposal, we conducted experiments in Linux using our modified version of a MPTCP protocol stack. The evaluation results show that HayACK can improve MPTCP throughputs by a maximum of 1.74x, and by 1.52x on average.