Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Ограничение скорости передачи данных на сетевых контроллерах. Компьютерные сети
В компьютерных сетях ограничение скорости используется для контроля скорости запросов, отправляемых или получаемых сетевым контроллером интерфейса. Это может быть использовано для предотвращения DoS-атак.
Limiting the data rate on network controllers. computer networks
In computer networks, rate limiting is used to control the rate of requests sent or received by a network interface controller. It can be used to prevent DoS attacks
Исследования показывают, что скорость наводнения с одной машины-зомби превышает 20 HTTP GET запросов в секунду, в то время как легитимные скорости значительно ниже.
Research indicates flooding rates for one zombie machine are in excess of 20 HTTP GET requests per second, legitimate rates much less.
Аппаратные приборы
Аппаратные устройства могут ограничивать скорость запросов на 4-м или 5-м уровне модели OSI. Ограничение скорости может быть вызвано сетевым стеком протоколов отправителя при получении пакета с установленным флагом ECN, а также сетевым планировщиком любого маршрутизатора на пути следования пакета. В то время как аппаратное устройство может ограничивать скорость для заданного диапазона IP-адресов на 4-м уровне, существует риск блокировки сети с большим количеством пользователей, скрывающихся за NAT с использованием единого IP-адреса провайдера. Глубокая проверка пакетов может быть использована для фильтрации на сеансовом уровне, но при этом фактически отключатся протоколы шифрования, такие как TLS и SSL, между устройством и сервером протокола (например, веб-сервером).
Hardware appliances can limit the rate of requests on layer 4 or 5 of the OSI model. Rate limiting can be induced by the network protocol stack of the sender due to a received ECN marked packet and also by the network scheduler of any router along the way. While a hardware appliance can limit the rate for a given range of IP addresses on layer 4, it risks blocking a network with many users which are masked by NAT with a single IP address of an ISP. Deep packet inspection can be used to filter on the session layer but will effectively disarm encryption protocols like TLS and SSL between the appliance and the protocol server (i. e. web server).
Протокольные серверы
Протокольные серверы, использующие модель запрос-ответ, такие как FTP-серверы или, как правило, веб-серверы, могут использовать централизованную базу данных типа «ключ-значение» в оперативной памяти, например Redis или Aerospike, для управления сеансами. Алгоритм ограничения скорости используется для проверки, необходимо ли ограничить сеанс пользователя (или IP-адрес) на основе информации в кэше сеансов. Если клиент отправляет слишком много запросов за определенный промежуток времени, HTTP-серверы могут отвечать кодом состояния 429: Too Many Requests (Слишком много запросов). Однако в некоторых случаях (например, для веб-серверов) алгоритм управления сеансами и ограничения скорости следует встраивать в приложение (используемое для динамического контента), работающее на веб-сервере, а не в сам веб-сервер. Когда протокольный сервер или сетевое устройство обнаруживает, что достигнут настроенный лимит запросов, он отклоняет новые запросы и не отвечает на них. Иногда их можно поместить в очередь для обработки, когда скорость входящих запросов снизится до приемлемого уровня, но в периоды пиковой нагрузки скорость запросов может даже превысить пропускную способность таких очередей, и запросы приходится отбрасывать.
Protocol servers using a request / response model, such as FTP servers or typically Web servers may use a central in memory key value database, like Redis or Aerospike, for session management. A rate limiting algorithm is used to check if the user session (or IP address) has to be limited based on the information in the session cache. In case a client made too many requests within a given time frame, HTTP servers can respond with status code 429: Too Many Requests. However, in some cases (i. e. web servers) the session management and rate limiting algorithm should be built into the application (used for dynamic content) running on the web server, rather than the web server itself. When a protocol server or a network device notice that the configured request limit is reached, then it will offload new requests and not respond to them. Sometimes they may be added to a queue to be processed once the input rate reaches an acceptable level, but at peak times the request rate can even exceed the capacities of such queues and requests have to be thrown away.