Is there no ordering for incoming requests that would just slow a server down instead of breaking? What actually breaks?
Slowing down enough is the same thing than being unavailable. Imagine someone is sending you 1000 text messages per minute from different numbers all over the world. Your phone handles it fine but you have to manually read every single message to check if it’s spam or something important. By the time you reach that one real message where your crush asked if you wanna hang out, it’s way too late and they already asked someone else.
Imagine a server is a store with staff that handle customer requests in a first in / first out kind of order. Now imagine you’ve got 20 years worth of black Friday traffic trying to get to it.
The server might be able to handle the requests that get to it, but the sheer volume of traffic makes it impossible to get in or out effectively.
Yeah and one of the stores staff member actually has to remember the name and request of every guest until the sever is ready to get them their order
20 years of Black Friday traffic because some anonymous person put up realistic looking advertisements all over the city offering 90% off from 9:00 to noon.
I’ve been in the field a long time, this is probably the best analogy I’ve heard for it.
Others mentioned good points but don’t really capture the scale or techniques. A high volume DDoS may even overwhelm the network equipment, so simply saturating the network with garbage traffic. On the smaller scale, a server has limited resources to handle connections. So in the most extreme case, you simple run out of memory to store all the incoming requests. More likely you exhaust a thread pool or run out of connection handles. This “breaks” the server as it may not have resources left to recover to a working state even after the attack has stopped.
As for techniques, DDoS don’t just spam genuine requests. Usually the requests are malformed to have the worst impact on the servers. For example you only send the connection request without completing the full handshake. Now the server has to wait until the connection times out which consumes resources for a potentially long time.
CDN & security companies like Akamai actually have data centers designed to intercept and “scrub” DDoS traffic. Akamai has a few dozen of them around the world. From their website:
Prolexic is the industry pioneer in cloud-based DDoS protection. Network traffic is directed in one of two ways via a border gateway protocol route advertisement change or DNS redirection (A record or CNAME record). Available as an always-on or on demand service, Prolexic offers flexible integration models based on the needs of a customer’s desired security posture across hybrid origins. With global high-capacity scrubbing centers in 32 metro locations, Prolexic can stop attacks closer to the source to maximize performance for users and maintain network resiliency through cloud distribution. Traffic is routed via anycast through the closest scrubbing center, at which the Akamai SOCC deploys proactive and/or custom mitigation controls designed to stop attacks instantly — ensuring fast and accurate DDoS defenses. Clean traffic is then returned to the customer origin via Generic Routing Encapsulation (GRE) tunnels, Layer 2 VLAN connections, and/or VIP-to-origin back-end mapping.
A buncha different clients all try and access the same thing at the same time. This overwhelms the thing they are accessing and prevents other, legitimate users accessing it.
Imagine the website or server like a retail store, the connection point the front door, and the DDOS as a bunch of obese people attempting to go through the doors all at once and getting stuck.
Ah, I see, like the diseases in Mr Burns’ body
you see, the internet is tubes, and when they fill, the internet gets stuck
the internet is not a big truck.
DDOS is a symptom. A DDOS can cause different failure scenarios at different points.
Maybe the attack is causing the service to access a backend database that isn’t equipped to handle the traffic. The web server queues requests but they can’t be handled in a timely manner.
Maybe the attack causes a firewall to spend too much time inspecting the traffic by sending a malformed packet.
Maybe the attack simply overwhelms the bandwidth of the firewall or router. The Reddit “hug of death” is a common example.
In short, lots of things can lead to a service interruption. A DDOS is just a description of a way to cause that interruption by using distributed source hosts.
What is the reddit hug of death? I noticed reddit drains my battery like several times quicker than lemmy, and it gets wonky, crashes sometimes.
The Reddit hug of death is when someone posts a link in a big community and thousands of people visit it, generating so much traffic at once that, while legitimate, ends up having the same effect as an actual attack does of overloading a website and causing it to become unavailable. Has nothing to do with the Reddit app being hot garbage.
When a post to a website gets popular but the website doesn’t have enough resources to handle the number of people visiting it.
I could be wrong but I believe the “breaking” you’re talking about is the fact that requests need to be responded to within a certain amount of time, so if you slow things down to the point that requests timeout before they can be responded to, it fully “breaks” instead.
So, you’ve got 100 requests per second typically. Each requests must be completed within 5 seconds, or the connection between requester and server fails. Normally not a problem, each one only takes 10 milliseconds. So 100/second x 10 milliseconds = 1 second. All good! Even if you get 5 times the normal server load, you’ll scrape by because you’ve got a 5 second timeout limit.
Now let’s say I decide to DDOS you. Im going to send you 10000 requests/second. You’re server is fucked. Ypu’ll respond to only 1/100 of MY requests, meaning the odds you respond to one of your customers is almost nil.
Thats the basic premise. Many servers have automatic halts to protect themselves, meaning if they get an influx higher than either a set number or a multiple of the last batch, it just scrubs requests for a while then reboots. It also usually happens in the millions of requests, with the DDOS being billions
Thousands or millions of hosts start sending traffic at one thing. Tthe target host gets overwhelmed.
Typically the hosts doing the attacking re infected with malware.









