What Took Down Facebook And Instagram
Unless you've healthily deleted all social media, on October 4th, you definitely noticed that Facebook, Instagram, and Whatsapp all went down. By the end of the day, you'd probably even heard the explanation. And while you read about backbone networks, DNS, BGP, routing software, and 5xx errors, your eyes probably glazed over, and the little scribe that writes your memories down just wrote, "Computers broke."
I don't blame you- I love this kinda tech stuff, and most of the reporting was bafflingly dull even for me! So, to set the record straight, here's a short, understandable explanation of what went wrong with Facebook on 10/4, good buddy.
Whatcha need to know going into this is that Facebook owns a lot of computers. I don't know exactly how many, but I'm going to go out on a limb and say a few more than you do.
The same way that you have to set up a router and modem in your home to have internet, Facebook has to set up their own internal network to get all of their computers to connect to the internet. I mean, theirs involves fiber optic that circles the globe, and yours is an ethernet cable you keep telling yourself you're going to pin to a wall, but the idea is the same. Facebook calls its internal network its backbone network.
The backbone network doesn't connect directly to the regular internet; it goes through two systems before anyone outside of Facebook could reach it. The first system it goes through is called DNS, and the second is called BGP.
No. I put it bold for a reason.
What are DNS and BGP?
Every couple of years, you'll hear about a site going down, and it will be linked to something called DNS. This means every couple of years, you'll see the term DNS and think, "I should really look that up!" before going back to enjoying your life. But now it's time to find out: what is DNS?
It all starts with a pretty basic concept that you probably take for granted- whenever you access a site online, a physical computer somewhere in the world has to send a signal to your physical computer. It can be helpful to imagine that the whole internet is a very fast version of regular postage- if your friend has a website you want, you write a letter to them asking for it and then they send a letter back to you with it inside.
But before you write a letter, you have to know where to send it. How does your computer know what computer to talk to? Well, at first, it doesn't. All it knows is it's looking for something called "facebook.com." So it reaches out to a computer that your router has heard of called a Domain Name Server. This is what DNS stands for. Domain Name Servers (there are lots of them) look at domains (such as facebook.com, cracked.com, anything you'd type in your URL bar to go to a website) and turn them into addresses. You've probably heard of an IP address by now- Domain Name Servers basically keep a list of domains and their associated IP addresses. If the DNS you reach out to doesn't know where to find a site, then it will reach out to a computer that does.
Earlier I mentioned that Facebook has an internal network they call their backbone network. That network is private, meaning Facebook doesn't want all of their computers' IP addresses on other peoples' Domain Name Servers. So Facebook has their OWN DNS that everyone reaches out to, and their private DNS figures out where to send their request. This is pretty common for medium and bigger tech companies.
But Facebook is also ginormous, so in addition to its own DNS, it uses something called Border Gateway Protocol, or BGP. Remember when we talked about how DNS figures out the address of the computer you want to connect to? Well, keeping with the letter metaphor, once you write a letter, address it to your friend and drop it in a mailbox, someone has to figure out all of the logistics of actually getting that letter from one place to another. For the internet, that's BGP. BGP figures out the best route from your computer to the computer you're requesting a website from. Most companies do not have their own BGP computers- this is a system at the level of Internet Service Providers and ginormo tech companies. Unfortunately for Facebook, that includes them.
So, now you know what facebook's backbone network is, what DNS is, and what BGP is.
What the heck happened?
During a routine maintenance check, an engineer accidentally took down facebook's entire backbone network. All the computers were still on and working; they just weren't connected anymore.
Once the backbone network was gone, Facebook's DNS noticed that it couldn't find any of the computers that it used to have addresses for. It cheerfully updated itself to reflect that it couldn't find those domains and let Facebook's BGP computers know.
Facebook's BGP computers updated themselves to basically tell everyone requesting a facebook domain, "Sorry, you can't get there from here." Since there were no more paths to Facebook's computers, you had to spend the day just telling people you like them face to face. Like a barbarian.
And now, when someone talks to you about the Facebook outage, you can whip out your new lingo, ruin a conversation and lose a friend. Hooray! Technology!
Top Image: Hassas_Arts/Pixabay