Summary form only given. Distributed denial of service (DDoS) attack is one of the most alarming threats on the Internet. DDoS attacks exhaust the critical resources of a target server in order to deny its services to the legitimate clients. In this paper, we propose a full set of techniques for defending against DDoS attacks. The complete countermeasure strategies are broken down to detection, segregation and mitigation techniques. Detection techniques are used to determine if any attack is taking place at any given moment. Segregation techniques aim to separate malicious traffic from legitimate traffic. Finally, the mitigation techniques are used to effectively minimizing the negative impact caused by DDoS attacks.