Distributed Denial-of-Service (DDoS) is a rapidly growing problem. The multitude and variety of both the attacks and the defense approaches is overwhelming. This paper is a survey on the problem of Denial-of-Service (DoS) and Distributed Denial of Service (DDoS) attacks and proposed ways to deal with it. The authors describe the nature of the problem and look for its root causes, further presenting brief insights and suggested approaches for defending against DDoS. They point out both the positive and negative sides of each potential solution. Future work identifies and justifies open research issues.