Рубрики
*NIX информация

MPTCP / использовать несколько физических каналов для передачи данных

MPTCP (Multipath TCP)
Multipath TCP позволяет одному TCP-соединению использовать несколько физических каналов для передачи данных. 
Это означает, что ваш клиент может одновременно поддерживать соединение через несколько точек доступа (с разными IP-адресами),
и весь трафик будет распределен по этим соединениям, увеличивая общую пропускную способность.

Как работает MPTCP:
MPTCP добавляет несколько путей к одному TCP-соединению, поэтому даже если один из путей теряет соединение (например, при отключении от точки доступа), 
остальные остаются активными, что снижает риск обрыва.
Клиенты могут одновременно подключаться к нескольким точкам доступа, и MPTCP динамически распределяет трафик между ними на уровне TCP.
Это особенно полезно для устройств, которые перемещаются между несколькими сетями или точками доступа, как в вашем случае с автомобилями.

Проверка:
sysctl net.mptcp.enabled
ss -M
dmesg | grep MPTCP


!!! Начиная с версии ядра 5.6, MPTCP был интегрирован в ядро Linux.


Пример использования mptcpize для curl:
apt install mptcp-tools
mptcpize curl http://example.com

echo "net.mptcp.enabled = 1" | sudo tee -a /etc/sysctl.conf
echo "net.mptcp.mptcp_path_manager=fullmesh" | sudo tee -a /etc/sysctl.conf
echo "net.mptcp.mptcp_subflows=4" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p