Jump to content

КУБИЧЕСКИЙ TCP

CUBIC — это алгоритм предотвращения перегрузки сети для TCP , который позволяет быстрее и надежнее обеспечивать соединения с высокой пропускной способностью в условиях высокой задержки, чем более ранние алгоритмы. Это помогает оптимизировать длинные жирные сети . [ 1 ] [ 2 ]

В 2006 году была выпущена первая реализация CUBIC в ядре Linux 2.6.13 . [ 3 ] Начиная с версии ядра 2.6.19, [ 4 ] CUBIC заменяет BIC-TCP в качестве алгоритма управления перегрузкой TCP по умолчанию в ядре Linux. [ 3 ]

MacOS приняла TCP CUBIC с выпуском OS X Yosemite в 2014 году. [ 5 ] [ 6 ] в то время как предыдущий выпуск OS X Mavericks все еще использовал TCP New Reno. [ 7 ] [ 8 ]

Microsoft приняла его по умолчанию в обновлении Windows 10.1709 Fall Creators Update (2017) и обновлении Windows Server 2016 1709. [ 9 ]

Характеристики

[ редактировать ]

CUBIC — это менее агрессивная и более систематическая производная от BIC TCP , в которой размер окна является кубической функцией времени с момента последнего события перегрузки, при этом точка перегиба устанавливается на размер окна до события. Поскольку это кубическая функция, рост окна состоит из двух компонентов. Первая представляет собой вогнутую часть, где размер окна быстро увеличивается до размера, существовавшего до последнего события перегрузки. Далее следует выпуклый рост, когда CUBIC ищет большую пропускную способность, сначала медленно, а затем очень быстро. CUBIC проводит много времени на плато между вогнутой и выпуклой областью роста, что позволяет сети стабилизироваться до того, как CUBIC начнет искать дополнительную пропускную способность. [ 10 ]

Еще одно важное различие между CUBIC и многими более ранними алгоритмами TCP заключается в том, что он не полагается на частоту RTT для увеличения размера окна. [ 11 ] Размер окна CUBIC зависит только от последнего события перегрузки. При использовании более ранних алгоритмов, таких как TCP New Reno, потоки с очень короткими временами двусторонней задержки (RTT) будут получать ACK быстрее и, следовательно, их окна перегрузки будут расти быстрее, чем у других потоков с более длинными RTT. CUBIC обеспечивает большую справедливость между потоками, поскольку рост окна не зависит от RTT.

Алгоритм

[ редактировать ]

CUBIC увеличивает свое окно, чтобы оно зависело от реального времени, а не от RTT, как BIC. Расчет cwnd (окна перегрузки) также проще, чем BIC.

Определите следующие переменные:

  • β : коэффициент мультипликативного уменьшения.
  • w max : Размер окна непосредственно перед последним уменьшением.
  • T : время, прошедшее с момента последнего сокращения окна.
  • C : константа масштабирования
  • cwnd : Окно перегрузки в текущий момент.

RFC 8312 указывает следующее:

  • Единицей измерения всех размеров окон в этом документе являются сегменты максимального размера сегмента (MSS), а единицей измерения всех времен — секунды. (Раздел 4)
  • β СЛЕДУЕТ установить равным 0,7 (раздел 4.5).
  • C СЛЕДУЕТ установить на 0,4 (раздел 5).

Тогда cwnd можно смоделировать следующим образом:

См. также

[ редактировать ]

Помимо оконных алгоритмов, таких как Cubic, существуют алгоритмы, основанные на скорости (включая BBR от Google), которые работают по-другому, используя «скорость отправки» вместо окна. [ 12 ]

  1. ^ Сангтэ Ха; Инджонг Ри; Лисонг Сюй (июль 2008 г.). «CUBIC: новый высокоскоростной вариант TCP, дружественный к TCP» (PDF) . Обзор операционных систем ACM SIGOPS . 42 (5): 64–74. дои : 10.1145/1400097.1400105 . S2CID   9391153 . Архивировано из оригинала (PDF) 26 июля 2015 года . Проверено 29 сентября 2015 г.
  2. ^ Сангтэ Ха; Инджонг Ри; Лисонг Сюй; Ларс Эггерт; Ричард Шеффенеггер (февраль 2018 г.). CUBIC для быстрых сетей дальней связи . дои : 10.17487/RFC8312 . RFC 8312 .
  3. ^ Перейти обратно: а б Ха, Сангте; Ри, Инджонг; Сюй, Лисонг (2008). «CUBIC: новый высокоскоростной вариант TCP, дружественный к TCP». Обзор операционных систем ACM SIGOPS . 42 . ACM Нью-Йорк, штат Нью-Йорк, США: 11. doi : 10.1145/1400097.1400105 . S2CID   9391153 . {{cite journal}}: CS1 maint: дата и год ( ссылка )
  4. ^ «[TCP]: сделать кубическим по умолчанию · torvalds/Linux@597811e» . Гитхаб .
  5. ^ «apple-oss-distributions/distribution-macOS в os-x-1010» . Гитхаб . Контроль перегрузки TCP реализован в ядре XNU, этот коммит ссылается на ядро ​​XNU, используемое в Mac OS X Yosemite.
  6. ^ «xnu/tcp_cc.h at a3bb9fcc43a00154884a30c9080595284c26cec9 · apple-oss-distributions/xnu» . Гитхаб . 29 апреля 2022 г. Заголовочный файл реализации управления перегрузкой TCP ядра XNU, используемого в Mac OS X Yosemite, с указанием CUBIC по умолчанию.
  7. ^ «apple-oss-distributions/distribution-macOS at os-x-1095» . Гитхаб . Ссылки Ядро XNU, используемое в Mac OS X Mavericks
  8. ^ «xnu/tcp_cc.h at d2a0abf2ede8152c5a107fe51e032c1193d2015b · apple-oss-distributions/xnu» . Гитхаб . 29 апреля 2022 г. Заголовочный файл реализации управления перегрузкой TCP ядра XNU, используемого в Mac OS X Mavericks, с указанием New Reno по умолчанию.
  9. ^ Microsoft (15 ноября 2017 г.). «Обновления Windows TCP» (PDF) .
  10. ^ Теткос Инжиниринг (2014). «Сравнение алгоритмов контроля перегрузки TCP» (PDF) . Архивировано (PDF) из оригинала 31 марта 2017 г. Проверено 6 августа 2017 г.
  11. ^ Ла Роза, Александр (10 июля 2019 г.). «Почему CUBIC возвращает нас к контролю перегрузки TCP?» . Пандора ФМС . Архивировано из оригинала (html) 12 июля 2019 года . Проверено 12 июля 2019 г. Целью является создание алгоритма, работающего с окнами перегрузки, инкрементные процессы которых более агрессивны, но не позволяют перегружать сеть. Для этого предлагается схему повышения и понижения передаточного отношения устанавливать по кубической функции.
  12. ^ «Контроль перегрузки, скорость модуля ядра PK3C на основе серверов потокового видео и данных» . Гитхаб . Проверено 1 августа 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a3b1c75e4e4fcb5579ad339b55899901__1703174100
URL1:https://arc.ask3.ru/arc/aa/a3/01/a3b1c75e4e4fcb5579ad339b55899901.html
Заголовок, (Title) документа по адресу, URL1:
CUBIC TCP - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)