A router includes a detection module to detect a presence of the network
attack, such as a denial of service (DOS) attack. The detection module
may, for example, include counters indicating a number of packets
processed for various network protocols supported by the router. The
detection module enables a rate-limiting operating mode for the router
when one or more of the counters exceed a protocol-specific threshold.
Under normal traffic levels, the router receives inbound packets using
interrupt-driven service routines. When a network attack is detected,
however, the router dynamically switches modes and processes the patents
using a finely controlled software process. This allows the software
process to control the computing resources allocated to servicing packets
during a network attack, thereby reserving sufficient resources for lower
priority software processes to process the packets and service other
tasks.