- CPU 资源瓶颈
- 连接请求处理压力:在 DDoS 攻击期间,网络服务器会面临海量连接请求。以 TCP SYN Flood 攻击为例,服务器会收到大量 SYN 数据包来建立 TCP 连接。服务器的 CPU 要对每个数据包进行检查,像验证数据包合法性、分配内存存储连接状态等操作。随着攻击流量增大,CPU 处理负担剧增。大量连接请求会让 CPU 一直处理这些请求,使其使用率达到极限,无法处理正常用户请求。例如,一个普通服务器 CPU 正常使用率在 30% – 60%,在遭受大规模 DDoS 攻击时,CPU 使用率可能瞬间飙升到 90% 以上,甚至满载。
- 复杂任务执行受阻:服务器除了处理连接,还会执行复杂计算任务,如数据库查询、加密解密。DDoS 攻击下这些任务受严重影响。例如在电商服务器中,用户下单后服务器要查询库存数据库并加密用户支付信息。遭受攻击时,CPU 资源被攻击请求占用,用于这些任务的计算资源减少,导致数据库查询缓慢、支付信息处理延迟,影响正常交易流程。
- 内存资源瓶颈
- 连接状态存储耗尽:对于基于连接的协议,服务器要为每个连接存储状态信息。在 DDoS 攻击下,如 TCP SYN Flood 攻击会使服务器建立大量半连接,消耗大量内存来存储这些半连接状态。一旦内存耗尽,服务器就无法建立新的合法连接。例如,服务器内存原本可以支持 10 万个连接状态存储,在遭受攻击后,大量半连接可能会在短时间内占用全部内存,导致新的正常用户连接请求无法被接受。
- 缓存数据占用与失效:服务器通常会使用缓存来提高性能,缓存一些经常访问的数据。在 DDoS 攻击时,由于大量非预期的请求涌入,缓存可能会被无效的数据填充,真正需要缓存的数据被挤出。同时,缓存系统可能会频繁更新或失效,导致服务器不得不从后端存储(如硬盘)重新读取数据,这大大增加了内存和磁盘 I/O 的压力。比如,在一个内容分发服务器中,正常情况下缓存热门内容,但攻击时大量恶意请求使缓存被无关内容占据,当正常用户请求热门内容时,服务器要从磁盘读取,使内存和磁盘 I/O 负载大增。
- 磁盘 I/O 资源瓶颈
- 日志记录压力:网络服务器在正常运行时会记录各种操作日志,在 DDoS 攻击下,大量的攻击尝试会导致日志文件急剧增长。服务器需要频繁地写入磁盘来记录这些信息,这会占用大量的磁盘 I/O 带宽。例如,一个服务器每秒可能只能处理 100 个日志写入操作,在遭受攻击时,每秒可能会有数千个日志写入请求,远远超过磁盘 I/O 的处理能力,导致日志记录延迟或者丢失。
- 数据读取与存储问题:如果服务器需要从磁盘读取大量数据来响应请求,如数据库服务器读取数据用于查询回复,DDoS 攻击会干扰这个过程。一方面,攻击导致的内存问题可能使服务器更多地依赖磁盘读取;另一方面,大量的攻击流量可能使磁盘 I/O 通道被占用,无法及时为正常用户请求提供数据读取服务。例如,在一个文件存储服务器中,正常用户请求下载文件,但由于磁盘 I/O 被攻击占用,文件读取速度变得很慢,甚至无法完成下载。
- 网络带宽瓶颈
- 入站流量拥塞:DDoS 攻击会产生大量的入站流量,这些流量会迅速占满服务器的网络带宽。例如,在 UDP Flood 攻击中,大量的 UDP 数据包涌向服务器,服务器的网络接口可能只有 1Gbps 的带宽,而攻击流量可能达到数 Gbps,导致网络拥塞。正常的用户请求数据包无法通过拥挤的网络通道到达服务器,使服务不可用。
- 出站流量受阻:即使服务器能够处理部分请求,由于入站流量的拥塞,服务器的出站流量也会受到影响。例如,在一个 Web 服务器中,服务器处理完用户的网页请求后,要将网页数据发送回用户。但由于入站流量堵塞了网络通道,出站的网页数据无法顺利发送,导致用户无法及时收到服务器的响应。