1

I have two TP-Link Routers running LEDE with MP-TCP kernel version 4.4.70. One of the routers runs as an AP and the other runs as a station. I use the two wireless interfaces 60 GHz and 2.4 GHz to establish either a single TCP flow or two concurrent flows using MP-TCP. I generate traffic using iPerf v2.0.9.

When I use the 60 GHz alone (802.11ad), I get 1.85 GHz of throughput. Whereas when I use the 2.4 GHz (802.11n) alone I get 20 Mbps. The strange thing is when I use MP-TCP (i.e. two flows at the same time), I get around 300 Mbps. So why am I getting this strange result? Should not MP-TCP achieves throughout of 1850 Mbps + 20 Mbps.

I tried to tune TCP parameters like maximum read/write buffer but with no success. Here is the network configuration:

60 GHz Interface:

IP Address: 11.0.0.0/24

2.5 GHz Interface:

IP Address: 10.0.0.0/24

MP-TCP Configuration:

Congestion Control: Cubic
MP-TCP Enabled: True
MP-TCP Checksum: False
MP-TCP Path Manager = Full Mesh
MP-TCP scheduler = default
MP-TCP syn retries = 3
MP-TCP version = 0
xhienne
  • 17,075
  • 2
  • 52
  • 68
IoT
  • 23
  • 3

1 Answers1

0

Maybe because this setup is very asymmetric. MPTCP default scheduler probably cant handle this high amount of packet reordering. Probably the slower path operates in a head of line blocker fashion. Try to limit the faster path to ~100mbps, and ensure if there is any aggregation between the paths. If there is, maybe try another scheduler. Currently there are few of them, but maybe help.

SPYFF
  • 51
  • 1
  • 1
  • I did the same test again using the same wireless chipsets but on two laptops with Ubuntu and MP-TCP Kernel instead of routers with LEDE and I achieved the expected throughput. I am using exactly the same configuration as above. – IoT Aug 13 '17 at 12:17
  • Can You able to monitor the CPU usage on the router somehow? There is a difference between the two case? – SPYFF Aug 14 '17 at 11:18
  • I think it has something to do with ip-route extension. Did you manage to install that on LEDE? – IoT Aug 24 '17 at 13:12
  • No I didnt. I use it with the default iproute2 package and MPTCP enabled on all interface. – SPYFF Aug 24 '17 at 21:49