BIC TCP - BIC TCP

BIC TCP (Контроль перегрузки двоичного кода) один из алгоритмы контроля перегрузки что можно использовать для Протокол управления передачей (TCP). BIC оптимизирован для высокоскоростных сетей с высокой задержкой: так называемый "длинные толстые сети ". Для этих сетей BIC имеет значительное преимущество по сравнению с предыдущими схемами управления перегрузкой в ​​исправлении сильно недоиспользованной полосы пропускания.[1]

BIC реализует уникальный алгоритм окна перегрузки (cwnd). Этот алгоритм пытается найти максимальное cwnd путем поиска в трех частях: бинарный поиск увеличивать, аддитивное увеличение, и медленный старт. Когда происходит сбой сети, BIC использует мультипликативное уменьшение для исправления cwnd.[2]

BIC TCP реализован и используется по умолчанию в Linux ядра 2.6.8 и выше. Реализация по умолчанию снова была изменена на КУБИЧЕСКИЙ TCP в версии 2.6.19.

Алгоритм

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

 SМаксимум: максимальное приращение Sмин: минимальное приращение wМаксимум: максимальный размер окна β: коэффициент уменьшения мультипликативного окна cwnd: размер окна перегрузки bic_inc: приращение окна на RTT (время приема-передачи)

При каждом интервале RTT обновляйте cwnd со следующим:

Если пакеты не отбрасываются, окно перегрузки (cwnd) увеличивается тремя различными способами: увеличение двоичного поиска, аддитивное увеличение и медленный запуск. На каждом шаге один используется как приращение.

Один шаг увеличения cwnd:

 если (cwnd Максимум) // бинарный поиск ИЛИ добавление bic_inc = (wМаксимум - cwnd) / 2; else // медленный старт ИЛИ добавка bic_inc = cwnd - wМаксимум; если (bic_inc> SМаксимум) // добавка bic_inc = SМаксимум; иначе, если (bic_inc мин) // двоичный поиск ИЛИ медленный старт bic_inc = Sмин; cwnd = cwnd + (bic_inc / cwnd);

Если один или несколько пакетов отброшены, cwnd уменьшается с помощью мультипликативное уменьшение. Для этого требуется β, который используется для уменьшения cwnd на (100 × β)%. В случае двух потоков, один с большим cwnd, а другой - с маленьким, быстрая сходимость используется для уменьшения большего потока cwnd wМаксимум с большей скоростью, чем поток меньшего cwnd, чтобы обеспечить более быстрое схождение потока большего cwnd при увеличении его cwnd.

Один шаг уменьшения cwnd:

 если (cwnd Максимум) // быстрая сходимость wМаксимум = cwnd * (2-β) / 2; еще жМаксимум = cwnd; cwnd = cwnd * (1-β);

Смотрите также

Рекомендации

  1. ^ «BIC FAQ». www4.ncsu.edu. Получено 25 декабря, 2018.
  2. ^ «Управление двоичным увеличением перегрузки (BIC) для быстрых сетей дальней связи - Публикация конференции IEEE». Дои:10.1109 / INFCOM.2004.1354672. S2CID  11750446. Цитировать журнал требует | журнал = (помощь)

внешняя ссылка

  • [1] Домашняя страница.