Выпуск MPTCP 0.91 (Multipath TCP) для Linux

После года разработки представлена новая версия (0.91) расширения MPTCP (MultiPath TCP) для ядра Linux, которое позволяет организовать работу TCP-соединения с доставкой пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. Для сетевых приложений подобное агрегированное соединение выглядит как обычное TCP-соединение, вся логика разделения потоков выполняется силами MPTCP. Новая версия выполнена в виде патча для ядра Linux 4.1 LTS. Бинарные пакеты собраны для Ubuntu 14.04 и Debian Jessie.

Multipath TCP может использоваться как для расширения пропускной способности, так и для увеличения надёжности. В качестве одного из практических применений Multipath TCP для обычных пользователей упоминается возможность организации передачи данных на смартфоне с использованием одновременно линков WiFi и 3G. Для серверных систем Multipath TCP может обеспечить сокращение расходов за счёт использования нескольких дешевых линков вместо одного более дорогого.

В новой версии:

  • Добавлена поддержка опции ADD_ADDR2, определённой в черновом варианте спецификации RFC6824bis (TCP Extensions for Multipath Operation with Multiple Addresses). Для использования ADD_ADDR2 требуется изменить значение версии MPTCP через «sysctl net.mptcp.mptcp_version=1», но поддержка RFC6824bis пока реализована не полностью и не рекомендуется для промышленного использования;
  • Представлен отказоустойчивый планировщик MPTCP, позволяющий сократить задержки и повысить однородность потока (jitter). Отказоустойчивость обеспечивается через дублирование всего трафика на всех доступных каналах. Для включения нового планировщика следует установить sysctl net.mptcp.mptcp_scheduler в значение «redundant»;
  • Внесена серия оптимизация производительности и исправлений ошибок;
  • Проведена синхронизация с кодовой базой новых выпусков ядра Linux.

© OpenNet