Синий является планирование дисциплины для сетевого планировщика , разработанный аспирантом Ву-чан Feng для профессора Кан Г. Шин в Мичиганском университете и других на Томаса Уотсона исследовательского центра в IBM в 1999 году [1]
Функционирование
Как и случайное раннее обнаружение (RED), Blue работает путем случайного отбрасывания или маркировки пакета явной меткой уведомления о перегрузке до того, как буфер передачи контроллера сетевого интерфейса переполнится. Однако, в отличие от RED, сетевой администратор не требует или почти не требует настройки. Очередь Blue поддерживает вероятность сброса / отметки p и отбрасывает / маркирует пакеты с вероятностью p по мере их поступления в очередь. Когда очередь переполняется, p увеличивается на небольшую константу p i , а когда очередь пуста, p уменьшается на константу p d
i .Если смесь трафика на интерфейсе не изменится, p будет медленно сходиться к значению, которое удерживает очередь в пределах ее границ с полным использованием канала.
Стохастический справедливый синий
Главный недостаток Blue, который он разделяет с большинством дисциплин организации очередей с одной очередью , заключается в том, что он не различает потоки трафика , а рассматривает все потоки как единый агрегат. Следовательно, один агрессивный поток может выталкивать пакеты из очереди, принадлежащие другим, более управляемым потокам.
Stochastic Fair Blue (SFB) - это стохастический справедливый вариант Blue, который хэширует потоки и поддерживает различную вероятность отметки / падения для каждого значения хеширования. Предполагая, что хеш-коллизии отсутствуют, SFB может предоставить справедливую долю буферного пространства для каждого потока. При наличии хеш-коллизий SFB справедлив только стохастически. [2]
В отличие от других дисциплин стохастической справедливой организации очередей, таких как SFQ ( Stochastic Fairness Queuing ), SFB может быть реализован с использованием фильтра Блума, а не хэш-таблицы , что значительно снижает требования к хранилищу при большом количестве потоков. Когда вероятность отбрасывания / отметки потока достигает 1, было показано, что поток не реагирует на сообщения о перегрузке из сети. Такой неупругий поток ставится в « штрафную » и ограничен по скорости.
Устойчивый стохастический справедливый синий
Многие алгоритмы планирования, в том числе алгоритмы, ориентированные на справедливость, особенно уязвимы для спуфинговых атак распределенного отказа в обслуживании (DDoS). В 2009 году был предложен устойчивый алгоритм стохастического справедливого синего (RSFB) против спуфинговых DDoS-атак. Основная идея RSFB состоит в том, чтобы записывать ответные обычные TCP-потоки и восстанавливать их отброшенные пакеты. Алгоритм RSFB эффективен для сохранения пропускной способности TCP при наличии спуфинговых DDoS-атак. [3]
Реализации
Реализация Blue является частью ALTQ , сетевого планировщика для BSD Unix. [4]
Реализация SFB для Linux была включена в ядро Linux в версии 2.6.39. [5] [6] [7]
Рекомендации
- ^ У-чанг Фэн; Дилип Д. Кандлур; Дебанджан Саха; Кан Г. Шин (апрель 1999 г.). «СИНИЙ: новый класс алгоритмов активного управления очередью» (PDF) . Технический отчет по информатике . Мичиганский университет (CSE – TR – 387–99) . Проверено 8 июня 2013 года .
- ^ У-Чанг Фэн; Дилип Д. Кандлур; Дебанджан Саха; Кан Г. Шин (апрель 2001 г.), «Stochastic Fair Blue: алгоритм обеспечения справедливости» (PDF) , Proceedings of INFOCOM 2001 , 3 : 1520–1529, CiteSeerX 10.1.1.11.4235 , doi : 10.1109 / INFCOM.2001.916648 , ISBN 978-0-7803-7016-6, получено 8 июня 2013 г.
- ^ Чангван Чжан; Цзяньпин Инь и Чжипин Цай (2009). RSFB: устойчивый стохастический алгоритм Fair Blue против спуфинговых DDoS-атак (PDF) . Международный симпозиум по коммуникационным и информационным технологиям (ISCIT) . С. 1566–1567. ISBN 978-1-4244-4521-9. Проверено 8 июня 2013 года . Абстрактный
- ^ У-Чан Фэн. «Синий» . Веб-страница . Проверено 8 июня 2013 года .
- ^ Ядро новичков - Linux 2.6.39 - Сеть
- ^ "Модуль сетевого планировщика ядра SFB Linux" . kernel.org . Проверено 7 сентября 2013 .
- ^ Юлиуш Хробочек. «Stochastic Fair Blue для ядра Linux» . Проверено 8 июня 2013 года .