- PVSM.RU - https://www.pvsm.ru -
-modifikaciya-dlya-protokola-TCP-pervyi-eksperiment.png)
В TCP/IP мы устанавливаем соединение с определённым IP-адресом, после чего обмениваемся пакетами только с этим адресом. Разработчики нового расширения для протокола Multipath TCP (RFC 6824 [1]) предлагают снять это историческое ограничение. По их мнению, использование многопутевой (multipath) модификации TCP упростит использование этого протокола во многих прикладных задачах, таких как прозрачное перенаправление трафика с одного устройства на другое и балансировка нагрузки.
Многопутевая модификация Multipath TCP или MPTCP позволяет легко подключать сервер сразу к нескольким каналам Ethernet, а на смартфоне использовать одновременно WiFi и 3G, да и вообще появляется много других интересных возможностей.
Конечно, под Linux и сейчас можно вручную распределить трафик по нескольким каналам, но это не слишком эффективно: см. статью «Объединение пропускной способности двух интернет-каналов и простая отказоустойчивость [2]»
Если соединение установлено по Multipath TCP (MPTCP), то возможен обмен пакетами с несколькими адресами/интерфейсами одновременно, в рамках одного соединения. В то же время соединение MPTCP сохраняет обратную совместимость со старыми версиями TCP и допускает подключение устройства по обычному TCP. Другими словами, если ваш компьютер поддерживает MPTCP, то вы можете подключиться к трём провайдерам без поддержки MPTCP — и установить соединение с другим клиентом MPTCP на тройной скорости.
Разработчики MPTCP приводят типичные примеры его использования (pdf) [3].
-modifikaciya-dlya-protokola-TCP-pervyi-eksperiment-2.png)
Естественно, есть и много других вариантов. Подключать каналы по разным интерфейсам и пропускать трафик по всем этим каналам одновременно — очень удобно, не говоря уже о значительной прибавке в скорости.
Один из авторов спецификаций MPTCP с коллегами недавно провёл первый эксперимент MPTCP [4], установив прямое соединение между двумя серверами HP DL380p G7. В каждом из них было установлено по три двухпортовые карточки Intel 82599EB 10Gb Ethernet, так что в итоге канал состоял из шести параллельных кабелей 10Gb. В результате, на единственном TCP-соединении была зафиксирована скорость 51,8 Гбит/с.
Для эксперимента разработчикам пришлось вручную внести изменения в ядро Linux [5], добавив туда поддержку MPTCP.
Автор: alizar
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/tcp/30407
Ссылки в тексте:
[1] RFC 6824: https://tools.ietf.org/html/rfc6824
[2] Объединение пропускной способности двух интернет-каналов и простая отказоустойчивость: http://habrahabr.ru/post/54748/
[3] примеры его использования (pdf): https://www.usenix.org/system/files/conference/nsdi12/nsdi12-final125.pdf
[4] первый эксперимент MPTCP: http://multipath-tcp.org/pmwiki.php?n=Main.50Gbps
[5] внести изменения в ядро Linux: http://github.com/multipath-tcp/mptcp
[6] Источник: http://habrahabr.ru/post/174271/
Нажмите здесь для печати.