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

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

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

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

  • В состав включен алгоритм управления перегрузкой TCP Balia (Balanced Linked Adaptation Congestion Control Algorithm), специально реализованный для MPTCP и учитывающий балансировку потока через несколько разнородных линков;
  • Добавлена поддержка режима быстрого открытия TCP-соединений FastOpen для Multipath TCP. TCP FastOpen позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения, и давая возможность отправки данных на начальном этапе установки соединения (данные посылаются одновременно с SYN-сегментом);
  • Улучшена поддержка опций настройки TCP-сокета;
  • Возможность настройки метода контроля перегрузки для отдельных потоков через опцию настройки сокета TCP_CONGESTION;
  • Поддержка неотслеживаемой (stateless) установки соединений (например, TCP SYN-Cookies);
  • Возможность использования TCP SYN-Cookies для защиты web-серверов от SYN-флуда;
  • Добавлены дополнительные счётчики MIB/SNMP для статистики и отладки;
  • Поддержка мониторинга за состоянием MPTCP через команду "netstat -s" (требуется установка модифицированной версии пакета net-tools);
  • Проведение работы по оптимизации производительности.

© OpenNet