multipath-tcp / mptcp

⚠️⚠️⚠️ Deprecated 🚫 Out-of-tree Linux Kernel implementation of MultiPath TCP. 👉 Use https://github.com/multipath-tcp/mptcp_net-next repo instead ⚠️⚠️⚠️
https://github.com/multipath-tcp/mptcp_net-next
Other
889 stars 335 forks source link

MPTCP bad performance of redundant scheduler in single path environment #467

Closed tob-00 closed 1 year ago

tob-00 commented 2 years ago

Hi there, I am running the MPTCP kernel on Ubuntu and I have created a Mininet testbed with both redundant and non redundant topologies. In case I have a non-redundant/single path topology h1 <--10MBit/s 10ms--> s1 <--10MBit/s 10ms--> s2 <--10MBit/s--> h2 and sending data from h2 to h1, I only get around 2.8MBit/s of throughput and delays up to one second. How can that be? I tested all congestion controls of MPTCP and cubic. For MPTCP with the default and roundrobin scheduler I do not experience anything like that. The throughput is around 9.5MBit/s as expected. I checked wireshark and is says multiple times "TCP windows full". However, I thought the scheduler is only responsible for the subflow selection (of which we only have one) and the congestion control is responsible for the cwnd. I also tried different path managers but this also makes no difference as it shouldn't because there is only one path. My Problem seems to be similar to the issue in this case: https://github.com/multipath-tcp/mptcp/issues/435 . Does anybody have an idea or hint what causes this problem? Thanks a lot in advance. I appreciate any help.

matttbe commented 2 years ago

Hi,

Indeed maybe linked to #435.

Which kernel did you use? Did you compile the latest version of mptcp_v0.96 branch? Maybe good to try it with different kernel (e.g. mptcp_v0.94), I may suspect a regression between v0.94 and v0.95. (or maybe older)

tob-00 commented 2 years ago

Hi, thanks for the fast response! I am using kernel mptcp_v0.95.1 and did not compile on the newer version yet. However, I will try another version.

matttbe commented 2 years ago

This version is quite old. I will try to create an mptcp_v0.95.2 in the coming days. Not sure when exactly.

(and maybe a last v0.94 one)

tob-00 commented 2 years ago

This version is quite old.

Oh really? I thought this is the last stable version as referred to on the homepage on multipath-tcp.org

matttbe commented 2 years ago

I thought this is the last stable version as referred to on the homepage on multipath-tcp.org

It is but built 2 years ago. A lot of bug fixes for MPTCP or other parts in the Linux kernel have been added since then.

It is still good just for a quick test but from what we understood, when doing more advanced manipulation, most people are compiling the kernel from one of the stable branches.

It is not difficult to compile a kernel: https://multipath-tcp.org/pmwiki.php/Users/DoItYourself

matttbe commented 2 years ago

I just published two new releases: 0.95 and 0.94. Do not hesitate to try those two

mrconter1 commented 1 year ago

@tob-00 I am trying to setup MPTCP in Mininet in Ubuntu and I am really stuck! Would you mind sharing with me which version of Ubuntu, Mininet, and MPTCP you used?

Thank you!

tob-00 commented 1 year ago

@tob-00 I am trying to setup MPTCP in Mininet in Ubuntu and I am really stuck! Would you mind sharing with me which version of Ubuntu, Mininet, and MPTCP you used?

Thank you!

Hi there! These were the settings I used. I hope it helps!

image