Thread : pourquoi Facebook est tombé en panne ?
0
Si vous ne vivez pas dans une grotte ou plus particulièrement une grotte sans Wi-fi alors vous avez dû remarquer qu’une gigantesque panne de Facebook a eu lieu lundi et ce, pendant de nombreuses heures. Et comme vous êtes des petites curieuses et des petits curieux, vous vous demandez : mais d’où vient tout ce bazar ? Explication.
Un thread de @GuillaumeRozier
Comment Facebook, Insta et WhatsApp ont pu tomber ?
Cloudflare (qui fournit un CDN très utilisé), a écrit un article complet qui détaille ce qui s’est passé hier soir. https://t.co/10O5c23ZXlJ’essaye de vous le résumer en Français #Thread ⤵ pic.twitter.com/P3cRIxQyBz
— GRZ (@GuillaumeRozier) October 5, 2021
En fait, un DNS c'est quoi ? Ça signifie Domain Name Service. Ce sont des serveurs qui font la traduction entre une adresse humaine ("https://t.co/mpxYS1nY91"), et une adresse informatique ("216.3.128.12"). Un peu comme un GPS traduit une adresse postale en coordonnées géo. pic.twitter.com/GFcaUH0znI
— GRZ (@GuillaumeRozier) October 5, 2021
Hier, à 16:51 UTC, Cloudflare découvre que les serveurs DNS de Facebook sont injoignables, ainsi que la plupart des adresses IPs de leurs infrastructures. Qu'est-ce que cela veut dire ?
— GRZ (@GuillaumeRozier) October 5, 2021
Ça signifie tout simplement, que lorsque vous tapez "https://t.co/mpxYS1nY91" dans votre navigateur, personne ne sait où se trouvent leurs serveurs. Impossible de charger le contenu, les pages HTML, les images. Facebook est rayé de la carte, introuvable. pic.twitter.com/8115b8u9eD
— GRZ (@GuillaumeRozier) October 5, 2021
Comment c'est possible ? Pour cela, il faut s'intéresser à la manière dont internet est construit. C'est en fait un ensemble de réseaux autonomes (AS, Autonomous Systems) qui sont connectés entre eux. Chaque AS correspond à une organisation, ou grosse entreprise comme Facebook. pic.twitter.com/DOMC7WeouS
— GRZ (@GuillaumeRozier) October 5, 2021
Il est nécessaire que ces réseaux se parlent et se connaissent, pour qu'ils puissent échanger des informations. Pour pouvoir accéder à Facebook, il faut que votre box, et tous les routeurs entre Facebook et vous puissent savoir à qui (quel routeur) envoyer vos communications. pic.twitter.com/OBWL38Hxca
— GRZ (@GuillaumeRozier) October 5, 2021
C'est là qu'intervient eBGP (Border Gateway Protocol) ! C'est un protocole qui permet ça. Les gros routeurs qui font fonctionner internet échangent régulièrement entre eux, pour pouvoir connaitre la liste de leurs voisins, et les chemins les plus rapides pour aller à tel endroit. pic.twitter.com/S6t1G6KEid
— GRZ (@GuillaumeRozier) October 5, 2021
eBGP permet à un réseau (par exemple Facebook) de se faire connaître auprès des autres réseaux. Et d'exister. Un peu comme si vous indiquiez à vos voisins qui vous êtes, pour qu'ils vous transmettent votre courrier s'ils voient passer des lettres qui vous sont destinées.
— GRZ (@GuillaumeRozier) October 5, 2021
Par exemple ici, imaginons que AS1 c'est vous, et AS3 c'est Facebook. eBGP permet à chaque AS de se faire connaître auprès des voisins. Grâce à ce protocole, les routeurs vont trouver le chemin le plus rapide pour atteindre AS5. Si ce chemin est coupé, ils vont trouver un autre. pic.twitter.com/khHYxwlvMH
— GRZ (@GuillaumeRozier) October 5, 2021
Les AS communiquent régulièrement entre eux via des messages eBGP ("e" pour external, il existe iBGP pour gérer le routage *dans* un réseau), qui peuvent annoncer la modification d'un réseau (comme l'ajout d'un routeur, donc d'un voisin, ou sa suppression).
— GRZ (@GuillaumeRozier) October 5, 2021
A 16:58 UTC, Facebook a arrêté d'annoncer l'existence de ses serveurs DNS (via BGP, donc) à ses voisins. En gros, d'un coup, on ne savait où se situait le GPS qui faisait la traduction entre "https://t.co/mpxYS1FzxB" et une adresse informatique IP.
— GRZ (@GuillaumeRozier) October 5, 2021
Cloudflare conserve quasiment tous les messages BGP afin de pouvoir mettre à jour le "schéma" d'internet, pour acheminer les communications correctement. À 15:50 UTC, ils ont reçu de Facebook une vague de messages BGP indiquant… la suppression d'un réseau. pic.twitter.com/K349cxKasU
— GRZ (@GuillaumeRozier) October 5, 2021
En clair, Facebook s'est tout simplement lui même supprimé d'internet. Ils ont indiqué à tous leurs voisins de les oublier, ils leur ont indiqué qu'ils n'existaient plus, et ont arrêté de fournir le GPS qui permet de trouver ses serveurs. pic.twitter.com/9AyHvA7IYw
— GRZ (@GuillaumeRozier) October 5, 2021
Ainsi, hier, lorsque vous vouliez charger "https://t.co/mpxYS1FzxB", votre navigateur vous demandait si vous n'aviez pas fait une faute d'orthographe. Tout simplement car votre DNS ne connaissant pas ce nom, car les serveurs DNS de Facebook étaient rayés de la carte. pic.twitter.com/U4OVKCspPU
— GRZ (@GuillaumeRozier) October 5, 2021
Reste à savoir pourquoi ces messages BGP ont été envoyés par Facebook. Pas de communication officielle, mais d’après des messages sur Reddit, cela pourrait être la cause d’une mise à jour automatique de routeurs entrainant une mauvaise configuration.
— GRZ (@GuillaumeRozier) October 5, 2021
Pourquoi la résolution a été aussi longue ? Pas de communication officielle non plus, mais cela a probablement nécessité une intervention manuelle et un accès physique aux serveurs pour les re-configurer.
— GRZ (@GuillaumeRozier) October 5, 2021
Tous les outils internes de Facebook étaient aussi concernés, donc communication difficile entre les équipes.
Une rumeur sur Reddit indique que des employés auraient eu du mal à utiliser leur badge pour entrer dans les bâtiments (si c’est vrai, est-est-ce lié à la panne ?).
— GRZ (@GuillaumeRozier) October 5, 2021
Bref, c’est probablement une des pannes numériques les plus importantes depuis l’apparition d’internet (au moins en termes d’impact financier), qui va faire réfléchir beaucoup d’Ops avant de toucher à la configuration d’un routeur, ou BGP. 😂
— GRZ (@GuillaumeRozier) October 5, 2021
Autre question : pourquoi d’autres sites, totalement indépendants de Facebook (comme Twitter) ont subi des ralentissements ?
Tout simplement car les DNS (par exemple Cloudflare) ont été submergés de requêtes.— GRZ (@GuillaumeRozier) October 5, 2021
Les applications connectées à Facebook, et les humains souhaitant consulter Facebook, n’aiment pas avoir d’erreur. Ils ré-essayent donc, en boucle. Et submergent au passage les DNS.
Ici le nombre de requêtes liées à Facebook captées par Cloudflare. Énorme pic à partir de 16h UTC pic.twitter.com/zfohT5i4UC
— GRZ (@GuillaumeRozier) October 5, 2021
Donc le DNS que vous utilisez (probablement fourni par : Orange, SFR, Bouygues, Free, Google, ou Cloudflare) était ralenti, indirectement à cause de Facebook.
Conséquence : lorsque vous chargiez une page, il fallait plus de temps pour obtenir l’adresse de son contenu.
— GRZ (@GuillaumeRozier) October 5, 2021
Amusant, mais attendu : l’utilisation de services concurrents (Twitter, Signal, Telegram, Tiktok) a augmenté à partir de 15:45 UTC. pic.twitter.com/GEj8ZJA90O
— GRZ (@GuillaumeRozier) October 5, 2021