Check out the new USENIX Web site. next up previous
Next: Isolation of virtual servers Up: Performance Previous: Controlling resource usage of

   
Immunity against SYN-flooding

We constructed an experiment to determine if resource containers, combined with the filtering mechanism described in Section 4.7, allow a server to protect against denial-of-service attacks using "SYN-flooding." In this experiment, a set of ``malicious'' clients sent bogus SYN packets to the server's HTTP port, at a high rate. We then measured the server's throughput for requests from well-behaved clients (for a cached, 1 KB static document).


  
Figure 14: Server behavior under SYN-flooding attack.
\begin{figure}
\centerline{%
\input data/dos.tex}
\end{figure}

Figure 14 shows that the throughput of the unmodified system falls drastically as the SYN-flood rate increases, and is effectively zero at about 10,000 SYNs/sec. We modified the kernel to notify the application when it drops a SYN (due to queue overflow). We also modified our server to isolate the misbehaving client(s) to a low-priority listen-socket, using the filter mechanism described in Section 4.8. With these modifications, even at 70,000 SYNs/sec., the useful throughput remains at about 73% of maximum. This slight degradation results from the interrupt overhead of the SYN flood. Note that LRP, in contrast to our system, cannot protect against such SYN floods; it cannot filter traffic to a given port based on the source address.


next up previous
Next: Isolation of virtual servers Up: Performance Previous: Controlling resource usage of
Gaurav Banga
1998-12-17