Ограничение скорости
В сетях компьютерных ограничение скорости используется для управления скоростью запросов, отправляемых или получаемых контроллером сетевого интерфейса . Его можно использовать для предотвращения DoS-атак. [1] и ограничить парсинг веб-страниц . [2]
Исследования показывают, что скорость флуда для одной машины-зомби превышает 20 HTTP- запросов GET в секунду. [3] законные ставки гораздо меньше.
Ограничение скорости следует использовать вместе с шаблоном регулирования, чтобы минимизировать количество ошибок регулирования. [4]
Аппаратные средства
[ редактировать ]Аппаратные устройства могут ограничивать скорость запросов на уровне 4 или 5 модели OSI .
Ограничение скорости может быть вызвано стеком сетевых протоколов отправителя из-за полученного пакета с маркировкой ECN , а также сетевым планировщиком любого маршрутизатора на пути.
Хотя аппаратное устройство может ограничить скорость для заданного диапазона IP-адресов на уровне 4, оно рискует заблокировать сеть со многими пользователями, которые замаскированы NAT с одним IP-адресом провайдера интернет- .
Глубокую проверку пакетов можно использовать для фильтрации на уровне сеанса, но она эффективно отключит протоколы шифрования, такие как TLS и SSL, между устройством и сервером протоколов (т. е. веб-сервером).
Серверы протоколов
[ редактировать ]Серверы протоколов, использующие модель запроса/ответа, такие как FTP-серверы или обычно веб-серверы, могут использовать центральную в памяти базу данных «ключ-значение» , например Redis или Aerospike , для управления сеансами. Алгоритм ограничения скорости используется для проверки необходимости ограничения сеанса пользователя (или IP-адреса) на основе информации в кэше сеанса.
Если клиент сделал слишком много запросов в течение определенного периода времени, HTTP- серверы могут ответить кодом состояния 429: Too Many Requests .
Однако в некоторых случаях (например, веб-серверы) алгоритм управления сеансами и ограничения скорости должен быть встроен в приложение (используемое для динамического контента), работающее на веб-сервере, а не в сам веб-сервер.
Когда сервер протокола или сетевое устройство замечают, что настроенный лимит запросов достигнут, он выгружает новые запросы и не отвечает на них. Иногда их можно добавить в очередь для обработки, как только скорость ввода достигнет приемлемого уровня, но в часы пик скорость запросов может даже превышать пропускную способность таких очередей, и запросы приходится отбрасывать.
Дата-центры
[ редактировать ]Центры обработки данных широко используют ограничение скорости для контроля доли ресурсов, предоставляемых различным арендаторам и приложениям в соответствии с их соглашением об уровне обслуживания. [5] В центрах обработки данных применяются различные методы ограничения скорости с использованием программного и аппаратного обеспечения. Виртуализированные центры обработки данных также могут применять ограничение скорости на уровне гипервизора. Двумя важными показателями производительности ограничителей скорости в центрах обработки данных являются объем ресурсов (загрузка памяти и ЦП), который определяет масштабируемость и точность. Обычно существует компромисс: более высокая точность может быть достигнута за счет выделения большего количества ресурсов ограничителям скорости. Значительный объем исследований с упором на повышение производительности ограничения скорости в центрах обработки данных. [5]
См. также
[ редактировать ]- Алгоритмы
- Корзина токенов [6]
- Дырявое ведро
- Исправлен счетчик окон [6]
- Раздвижное окно журнала [6]
- Счетчик раздвижного окна [6]
- Библиотеки
- Ограничитель скорости веб-API ASP.NET
- Промежуточное программное обеспечение ASP.NET Core, ограничивающее скорость
- Ограничение скорости для .NET (библиотека PCL)
- Ограничение скорости для Node.JS
Ссылки
[ редактировать ]- ^ Ричард А. Дил (22 сентября 2004 г.). «Безопасность брандмауэра маршрутизатора Cisco: защита от DoS» . Сиско Пресс . Проверено 16 апреля 2017 г.
- ^ Гринберг, Энди (12 января 2021 г.). «Абсурдная ошибка, позволяющая любому захватить все данные Парлера» . Проводной . Архивировано из оригинала 12 января 2021 года . Проверено 12 января 2021 г.
- ^ Цзинхэ Джин; Назаров Нодир; Четы Им; Сын Ёб Нам (7 ноября 2014 г.). «Уменьшение атак HTTP GET Flooding с помощью модифицированного эталонного маршрутизатора NetFPGA» . п. 1. Архивировано из оригинала 6 марта 2023 г. Проверено 19 декабря 2021 г. - через ResearchGate.
- ^ Cloud Native с использованием контейнеров, функций и данных для создания приложений следующего поколения . О'Рейли Медиа. 2019. ISBN 9781492053798 .
- ^ Jump up to: а б Нурмохаммадпур, М.; Рагхавендра, CS (май 2018 г.). «Управление трафиком центра обработки данных: понимание методов и компромиссов» . Опросы и учебные пособия IEEE по коммуникациям . 20 (2): 1. arXiv : 1712.03530 . дои : 10.1109/COMST.2017.2782753 . Архивировано из оригинала 16 января 2024 г. – через ResearchGate.
- ^ Jump up to: а б с д Никрад Махди (12 апреля 2017 г.). «Альтернативный подход к ограничению ставок» . Середина . Проверено 16 апреля 2017 г.