Multipath Wi-Fi bridging with transparent MPTCP proxy

Поділитися
Вставка
  • Опубліковано 2 жов 2024
  • This video is related for my GSoC 2017 project linked below.
    What happens in this video:
    There is two end devices (a PC and a notebook) connected to two routers. There is 3 VLAN on each router:
    LAN - the VLAN for the end devices, 192.168.70.0/24 and 192.168.78.0/24 on the routers.
    WAN1 - VLAN for the path #1 Wi-Fi bridges, 10.1.1.0/24
    WAN2 - VLAN for the path #2 Wi-Fi bridges, 10.2.2.0/24
    PC got the IP address from 192.168.78.0/24 pool, notebook from the 192.168.70.0/24 DHCP pool.
    iperf3 running between the two end device, measuring the throughput between them. One router with MPTCP LEDE kernel intercept the TCP flow and splits them into two TCP subflows. The other router aggregate the two flow back into one. So the end devices using regular TCP, but between the routers running MPTCP transparently.
    When the connection torn down (I pull the UTP cable from the router which connects the Wi-Fi bridge to it) only one MPTCP subflow destroyed, the other flow still alive, so the transmission dont disconnects. When the cable plugged back, the bridge got IP from DHCP and another the MPTCP kernel build up a new subflow. One bridge connection is about 20 Mbps, if MPTCP use both the end devices gains 40 Mbps.
    Link: blog.freifunk....
    Tutorial: spyff.github.i...

КОМЕНТАРІ • 4

  • @lionwangsinovoip
    @lionwangsinovoip 5 років тому

    ==OpenMPTCProuter==
    *2018-10-12 update, OpenMPTCProuter use MultiPath TCP (MPTCP) to aggregate multiple Internet connections and OpenWrt. and have official support BPI-R2.
    ::image download:www.openmptcprouter.com/download
    ::source code on github:github.com/Ysurac/openmptcprouter
    ::forum pthread: forum.banana-pi.org/t/banana-pi-bpi-r2-new-image-openmptcprouter-official-support/7229

  • @EricAmbiel
    @EricAmbiel 6 років тому

    Hello, this is Eric.
    I'm having a high CPU consumption problem with my router using MPTCP, I'm using a "Lede-mptcp-17.01 branch with compatible MPTCP compatible kernel". I have two TP-Link wdr3600 routers with 560MHz CPU, 128 Ram. I compiled the "nocrypto" version as you suggested and I did not put any type of ciphers. It could be normal to use 97% of CPU when using MPTCP.
    NOTE: When I connect the MPTCP the transfer rate drops from 500 Mbits to 30 Mbits but redundancy works normally.
    Thanks for the turorial and for your work.
    Grateful.

    • @SPYFFzero
      @SPYFFzero  6 років тому

      Hello Eric! Thanks for your interest! Sadly, for now this is normal. My router equipped with a pretty fast dual core 1.7GHz CPU but it cant go over 200 Mbit/s. According to other experimenters and my measurements, thats because of the architectural/cache size differences between ARM and x86. On a x86 CPU around 2 GHz can do 600-800 Mbit/s.
      For now, you may try to search and try shadowsocks optimization guides but I'm not sure if they help: maxlv.net/optimize-a-shadowsocks-server/
      But, because of this, in this summer (2018) I try to make a kernel space SOCKS/TCP redirector. That means you can replace ss-redir/ss-local with a kernel module, which will be much more faster (like native, not redirected TCP connections) and you may reach 1 Gbit/s with your router with MPTCP (or the max speed as you get without MPTCP).
      projects.freifunk.net/#/projects?project=multipathtcp_and_openwrt:_port_the_kernel_socks_bouncer_(ksb)_from_linux_kernel_2.6_to_4.x&lang=en