
В TCP/IP мы устанавливаем соединение с определённым IP-адресом, после чего обмениваемся пакетами только с этим адресом. Разработчики нового расширения для протокола Multipath TCP (RFC 6824) предлагают снять это историческое ограничение. По их мнению, использование многопутевой (multipath) модификации TCP упро��тит использование этого протокола во многих прикладных задачах, таких как прозрачное перенаправление трафика с одного устройства на другое и балансировка нагрузки.
Многопутевая модификация Multipath TCP или MPTCP позволяет легко подключать сервер сразу к нескольким каналам Ethernet, а на смартфоне использовать одновременно WiFi и 3G, да и вообще появляется много других интересных возможностей.
Конечно, под Linux и сейчас можно вручную распределить трафик по нескольким каналам, но это не слишком эффективно: см. статью «Объединение пропускной способности двух интернет-каналов и простая отказоустойчивость»
Если соединение установлено по Multipath TCP (MPTCP), то возможен обмен пакетами с несколькими адресами/интерфейсами одновременно, в рамках одного соединения. В то же время соединение MPTCP сохраняет обратную совместимость со старыми версиями TCP и допускает подключение устройства по обычному TCP. Другими словами, если ваш компьютер поддерживает MPTCP, то вы можете подключиться к трём провайдерам без поддержки MPTCP — и установить соединение с другим клиентом MPTCP на тройной скорости.
Разработчики MPTCP приводят типичные примеры его использования (pdf).
- Увеличение скорости доступа за счёт подключения к нескольким провайдерам (например, подключение сервера по нескольким интерфейсам).
- Улучшение качества мобильной связи за счёт подключения к нескольким точкам доступа одновременно.
- Одновременное использование WiFi и 3G.

Естественно, есть и много других вариантов. Подключать каналы по разным интерфейсам и пропускать трафик по всем этим каналам одновременно — очень удобно, не говоря уже о значительной прибавке в скорости.
Один из авторов спецификаций MPTCP с коллегами недавно провёл первый эксперимент MPTCP, установив прямое соединение между двумя серверами HP DL380p G7. В каждом из них было установлено по три двухпортовые карточки Intel 82599EB 10Gb Ethernet, так что в итоге канал состоял из шести параллельных кабелей 10Gb. В результате, на единственном TCP-соединении была зафиксирована скорость 51,8 Гбит/с.
Для эксперимента разработчикам пришлось вручную внести изменения в ядро Linux, добавив туда поддержку MPTCP.
