  Pushback is a mechanism for defending against Distributed Denial-of-Service
(DDoS) attacks. DDoS attacks are treated as a congestion-control problem, but
because most such congestion is caused by malicious hosts not obeying
traditional end-to-end congestion control, the problem must be handled by the
routers. Functionality is added to each router to detect and preferentially
drop packets that probably belong to an attack. Upstream routers are also
notified to drop such packets in order that the router's resources be used to
route legitimate traffic hence term pushback. Client puzzles have been
advocated as a promising countermeasure to DoS attacks in the recent years. In
order to identify the attackers, the victim server issues a puzzle to the
client that sent the traffic. When the client is able to solve the puzzle, it
is assumed to be authentic and the traffic from it is allowed into the server.
If the victim suspects that the puzzles are solved by most of the clients, it
increases the complexity of the puzzles. This puzzle solving technique allows
the traversal of the attack traffic throughout the intermediate routers before
reaching the destination. In order to attain the advantages of both pushback
and puzzle solving techniques, a hybrid scheme called Router based Pushback
technique, which involves both the techniques to solve the problem of DDoS
attacks is proposed. In this proposal, the puzzle solving mechanism is pushed
back to the core routers rather than having at the victim. The router based
client puzzle mechanism checks the host system whether it is legitimate or not
by providing a puzzle to be solved by the suspected host.
