stringtranslate.com

Ограничение скорости

В компьютерных сетях ограничение скорости используется для управления скоростью запросов, отправляемых или получаемых контроллером сетевого интерфейса . Его можно использовать для предотвращения DoS-атак [1] ​​и ограничения веб-скрейпинга [2] .

Исследования показывают, что скорость потока запросов на одну зомби-машину превышает 20 HTTP- запросов GET в секунду [3] , тогда как у обычных машин она намного ниже.

Ограничение скорости следует использовать вместе с шаблоном регулирования, чтобы свести к минимуму количество ошибок регулирования. [4]

Аппаратные средства

Аппаратные устройства могут ограничивать частоту запросов на уровне 4 или 5 модели OSI .

Ограничение скорости может быть вызвано стеком сетевых протоколов отправителя из-за полученного пакета с меткой ECN , а также сетевым планировщиком любого маршрутизатора на пути.

Хотя аппаратное устройство может ограничить скорость для заданного диапазона IP-адресов на уровне 4, оно рискует заблокировать сеть со многими пользователями, которые замаскированы NAT с помощью одного IP-адреса интернет- провайдера .

Глубокую проверку пакетов можно использовать для фильтрации на уровне сеанса, но она эффективно отключает протоколы шифрования, такие как TLS и SSL, между устройством и сервером протоколов (т. е. веб-сервером).

Протокольные серверы

Серверы протоколов, использующие модель запрос/ответ, такие как FTP-серверы или, как правило, веб-серверы, могут использовать центральную базу данных ключей и значений в памяти , например Redis или Aerospike , для управления сеансами. Алгоритм ограничения скорости используется для проверки того, должен ли быть ограничен сеанс пользователя (или IP-адрес) на основе информации в кэше сеанса.

В случае, если клиент сделал слишком много запросов в течение определенного периода времени, HTTP- серверы могут ответить кодом состояния 429: Слишком много запросов .

Однако в некоторых случаях (например, на веб-серверах) алгоритм управления сеансами и ограничения скорости должен быть встроен в приложение (используемое для динамического контента), работающее на веб-сервере, а не в сам веб-сервер.

Когда сервер протокола или сетевое устройство замечает, что достигнут настроенный лимит запросов, он выгружает новые запросы и не отвечает на них. Иногда они могут быть добавлены в очередь для обработки, как только скорость ввода достигнет приемлемого уровня, но в пиковые моменты скорость запросов может даже превышать возможности таких очередей, и запросы приходится отбрасывать.

Центры обработки данных

Центры обработки данных широко используют ограничение скорости для управления долей ресурсов, предоставляемых различным арендаторам и приложениям в соответствии с их соглашением об уровне обслуживания. [5] Различные методы ограничения скорости применяются в центрах обработки данных с использованием программного и аппаратного обеспечения. Виртуализированные центры обработки данных также могут применять ограничение скорости на уровне гипервизора. Двумя важными показателями производительности ограничителей скорости в центрах обработки данных являются объем ресурсов (память и использование ЦП), который определяет масштабируемость, и точность. Обычно существует компромисс, то есть более высокой точности можно достичь, выделив больше ресурсов ограничителям скорости. Значительный объем исследований с упором на улучшение производительности ограничения скорости в центрах обработки данных. [5]

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

Алгоритмы
Библиотеки

Ссылки

  1. ^ Ричард А. Дил (22 сентября 2004 г.). «Безопасность межсетевого экрана маршрутизатора Cisco: защита от DoS-атак». Cisco Press . Получено 16 апреля 2017 г.
  2. ^ Гринберг, Энди (12 января 2021 г.). «Нелепо простая ошибка, позволяющая любому завладеть всеми данными Парлера» . Wired . Архивировано из оригинала 12 января 2021 г. Получено 12 января 2021 г.
  3. ^ Jinghe Jin; Nazarov Nodir; Chaetae Im; Seung Yeob Nam (7 ноября 2014 г.). «Mitigating HTTP GET Flooding Attacks through Modified NetFPGA Reference Router». стр. 1. Архивировано из оригинала 6 марта 2023 г. Получено 19 декабря 2021 г. – через ResearchGate.
  4. ^ Cloud Native Использование контейнеров, функций и данных для создания приложений следующего поколения . O'Reilly Media. 2019. ISBN 9781492053798.
  5. ^ ab Noormohammadpour, M.; Raghavendra, CS (май 2018 г.). «Управление трафиком центра обработки данных: понимание методов и компромиссов». IEEE Communications Surveys & Tutorials . 20 (2): 1. arXiv : 1712.03530 . doi : 10.1109/COMST.2017.2782753. Архивировано из оригинала 16 января 2024 г. – через ResearchGate.
  6. ^ abcd Nikrad Mahdi (12 апреля 2017 г.). "Альтернативный подход к ограничению скорости". Medium . Получено 16 апреля 2017 г. .