menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 Hardware appliances 2 Protocol servers 3 Data centers 4 See also 5 References Toggle the table of contents Rate limiting 5 languages Čeština Deutsch فارسی Français 中文 Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Switch to legacy parser Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Limiting the data rate on network controllers This article is about computer networks control. For the rate-limiting step in chemical kinetics, see Rate-determining step . 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 [ 1 ] and limit web scraping . [ 2 ] Research indicates flooding rates for one zombie machine are in excess of 20 HTTP GET requests per second, [ 3 ] legitimate rates much less. Rate limiting should be used along with throttling pattern to minimize the number of throttling errors. [ 4 ] Hardware appliances [ edit ] 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). Protocol servers [ edit ] 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. Data centers [ edit ] Data centers widely use rate limiting to control the share of resources given to different tenants and applications according to their service level agreement. [ 5 ] A variety of rate limiting techniques are applied in data centers using software and hardware. Virtualized data centers may also apply rate limiting at the hypervisor layer. Two important performance metrics of rate limiters in data centers are resource footprint (memory and CPU usage) which determines scalability, and precision. There usually exists a trade-off, that is, higher precision can be achieved by dedicating more resources to the rate limiters. A considerable body of research with focus on improving performance of rate limiting in data centers. [ 5 ] See also [ edit ] Bandwidth management Bandwidth throttling Project Shield Algorithms Token bucket [ 6 ] Leaky bucket Fixed window counter [ 6 ] Sliding window log [ 6 ] Sliding window counter [ 6 ] Libraries ASP.NET Web API rate limiter ASP.NET Core rate limiting middleware Rate limiting for .NET (PCL Library) Rate limiting for Node.JS References [ edit ] <a href=\"./Rate_limiting#cite_note-cisco-1\" id=\"mweA\"><span class=\"mw-reflink-text\" id=\"mweQ\"><span class=\"cite-bracket\" id=\"mweg\">[</span>1<span class=\"cite-bracket\" id=\"mwew\">]</span></span></a></sup>\n<sup about=\"#mwt27\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwfA\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"algo\"},\"body\":{\"id\":\"mw-reference-text-cite_note-algo-6\"}}'><a href=\"./Rate_limiting#cite_note-algo-6\" id=\"mwfQ\"><span class=\"mw-reflink-text\" id=\"mwfg\"><span class=\"cite-bracket\" id=\"mwfw\">[</span>6<span class=\"cite-bracket\" id=\"mwgA\">]</span></span></a></sup>\n"}}'> ↑ Richard A. Deal (September 22, 2004). "Cisco Router Firewall Security: DoS Protection" . Cisco Press . Retrieved April 16, 2017 . ↑ Greenberg, Andy (12 January 2021). "An Absurdly Basic Bug Let Anyone Grab All of Parler's Data" . Wired . Archived from the original on 12 January 2021 . Retrieved 12 January 2021 . ↑ Jinghe Jin; Nazarov Nodir; Chaetae Im; Seung Yeob Nam (7 November 2014). "Mitigating HTTP GET Flooding Attacks through Modified NetFPGA Reference Router" . p. 1. Archived from the original on Mar 6, 2023 . Retrieved 19 December 2021 – via ResearchGate. ↑ Cloud Native Using Containers, Functions, and Data to Build Next-Generation Applications . O'Reilly Media. 2019. ISBN 9781492053798 . 1 2 Noormohammadpour, M.; Raghavendra, C. S. (May 2018). "Datacenter Traffic Control: Understanding Techniques and Trade-offs" . IEEE Communications Surveys & Tutorials . 20 (2): 1. arXiv : 1712.03530 . doi : 10.1109/COMST.2017.2782753 . Archived from the original on Jan 16, 2024 – via ResearchGate. 1 2 3 4 Nikrad Mahdi (April 12, 2017). "An alternative approach to rate limiting" . Medium . Retrieved April 16, 2017 . Retrieved from " https://en.wikipedia.org/w/index.php?title=Rate_limiting&oldid=1324916842 " Category : Network performance Hidden categories: Articles with short description Short description is different from Wikidata This page was last edited on 30 November 2025, at 06:09  (UTC) . Page was rendered with Parsoid . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Rate limiting 5 languages Add topic