High Tech

BGP Explained : le protocole qui pourrait être à l’origine de la disparition de Facebook

Le lundi, Facebook a été complètement mis hors ligne, en prenant Instagram et WhatsApp (sans parler quelques autres sites) à bas. Beaucoup n’ont pas tardé à dire que l’incident avait à voir avec BGP, ou Border Gateway Protocol, citant des sources à l’intérieur de Facebook, analyse du trafic, et l’instinct que « c’est toujours DNS ou BGP ». Facebook est en train de revenir, mais tout cela soulève la question :

Qu’est-ce que BGP ?

À un niveau très basique, BGP est l’un des systèmes qu’Internet utilise pour acheminez votre trafic là où il doit aller le plus rapidement possible. Parce qu’il existe des tonnes de fournisseurs de services Internet, de routeurs de base et de serveurs différents responsables de la transmission de vos données à, disons, Facebook, il existe une tonne de routes différentes que vos paquets pourraient finir par emprunter. Le travail de BGP est de leur montrer le chemin et de s’assurer que c’est le meilleur itinéraire.

J’ai entendu BGP décrit comme un système des bureaux de poste, un contrôleur de trafic aérien, et plus encore, mais je pense que mon explication préférée était celle qui la comparait à une carte. Imaginez BGP comme un groupe de personnes créant et mettant à jour des cartes qui vous montrent comment accéder à YouTube ou Facebook.

En ce qui concerne BGP, Internet est divisé en grands réseaux, appelés systèmes autonomes. Vous pouvez en quelque sorte les imaginer comme des nations insulaires – ce sont des réseaux contrôlés par une seule entité, qui peut être un FAI, comme Comcast, une entreprise, comme Facebook, ou une autre grande organisation comme un gouvernement ou une grande université. Il serait extrêmement difficile de construire des ponts reliant chaque île à toutes les autres, donc BGP est responsable de vous dire quelles îles (ou systèmes autonomes) vous devez traverser pour arriver à votre destination.

Étant donné qu’Internet change constamment, les cartes doivent être mises à jour – vous ne voulez pas que votre FAI vous conduise sur une vieille route qui ne va plus à Google. Parce que ce serait une entreprise énorme de cartographier l’ensemble d’Internet tout le temps, les systèmes autonomes partagent leurs cartes. Ils parleront occasionnellement à leurs voisins insulaires pour voir et copier toutes les mises à jour qu’ils ont apportées à leurs cartes.

En utilisant les cartes comme cadre, il est facile d’imaginer comment les choses peuvent mal tourner. À l’époque où les consommateurs ont eu accès au GPS pour la première fois, il y avait toujours des blagues sur le fait que vous conduisiez du haut d’une falaise ou au milieu du désert. La même chose peut arriver avec BGP — si quelqu’un fait une erreur, il peut finir par diriger le trafic quelque part où il n’est pas censé aller, ce qui causera des problèmes. Si elle n’est pas détectée, cette erreur se retrouvera sur la carte de tout le monde. Il y a d’autres façons dont cela peut mal tourner, mais nous y reviendrons dans un instant.

Ouais, ouais, des cartes. Donne moi un exemple.

Bien sûr! C’est considérablement simplifié, mais imaginez que vous vouliez vous connecter à un site Web d’actualités technologiques imaginaire appelé Convergence. Convergence utilise le FAI NetSend et vous utilisez DecadeConnect. Dans cet exemple, DecadeConnect et NetSend ne peuvent pas communiquer directement entre eux, mais votre FAI peut communiquer avec Border Communications, qui peut communiquer avec Form, qui peut communiquer avec NetSend. Si c’est la seule route, alors BGP s’assurera que vous et Convergence pouvez communiquer à travers elle. Mais si alternativement, DecadeConnect et NetSend étaient connectés à ThirdLevel, BGP choisirait probablement d’acheminer votre trafic à travers lui, car il s’agit d’un saut plus court.

D’accord, alors BGP est comme des cartes qui détaillent tous les chemins les plus rapides pour vous rendre à un site Web ?

Droit! Malheureusement, cela peut devenir encore plus compliqué car le plus court n’est pas toujours égal au meilleur. Il existe de nombreuses raisons pour lesquelles un algorithme de routage choisirait un chemin plutôt qu’un autre – le coût peut aussi être un facteur, certains réseaux facturant d’autres s’ils souhaitent les inclure dans leurs itinéraires.

De plus, les cartes sont super délicates! J’ai découvert cela récemment en essayant de préparer un voyage où les routes existaient sur une carte et pas sur une autre ou étaient différentes entre les cartes. Une route avait même trois noms différents sur trois cartes. Si c’est si difficile à cerner pour une « ville » qui a cinq routes, imaginez ce que c’est essayer de connecter tout l’internet ensemble. Les vraies routes ne changent pas si souvent, mais les sites Web peuvent se déplacer d’un pays à l’autre ou changer, ajouter ou soustraire des fournisseurs de services, et Internet doit simplement s’en occuper.

Je me souviens de quelque chose comme ça de ma classe d’algorithmes et de structures de données – en essayant de construire des algos pour trouver le chemin le plus court.

Je vais vous croire sur parole. J’ai abandonné dès que j’ai entendu parler des graphiques.

Mais Facebook ne l’a pas fait ! En fait, il a construit son propre système BGP, ce qui lui permet d’effectuer des « mises à jour incrémentielles rapides », selon un document présenté plus tôt cette année. Cela dit, le système décrit par l’entreprise est destiné à la communication dans centres de données – à ce stade, il est difficile de dire ce qui a causé les problèmes de Facebook lundi, et il faudrait quelqu’un de plus intelligent que moi pour dire si les communications du centre de données de Facebook pourraient causer ce genre de problème. Journaliste en cybersécurité Les revendications de Bryan Krebs que la panne a été causée par une « mise à jour BGP de routine ».

Mise à jour technique d’InFacebook, il a déclaré que le problème était causé par « des changements de configuration sur les routeurs principaux qui coordonnent le trafic réseau entre nos centres de données ». Cela a ensuite conduit à un « effet de cascade sur le chemin [Facebook’s] les centres de données communiquent, apportant [its] l’arrêt des services. Au moins à mes yeux, cela se lit comme si le problème était que Facebook communiquait en lui-même, pas avec le monde extérieur (bien que cela puisse évidemment provoquer une panne mondiale, étant donné combien de sa propre pile réseau contrôles Facebook).

Qu’est-ce que le DNS a à voir avec tout ça ?

Emprunter une explication de Cloudflare: DNS vous indique où vous allez et BGP vous indique comment vous y rendre. Le DNS est la façon dont les ordinateurs savent à quelle adresse IP se trouve un site Web ou une autre ressource, mais cette connaissance en elle-même n’est pas utile – si vous demandez à votre ami où se trouve sa maison, vous aurez probablement toujours besoin d’un GPS pour vous y rendre .

Cloudflare a également un bon bilan technique de la façon dont les erreurs BGP peuvent également gâcher les requêtes DNS – l’article concerne spécifiquement l’incident Facebook de lundi, il vaut donc la peine d’être lu si vous cherchez une explication de ce à quoi cela ressemblait du point de vue d’un système autonome.

Qu’est-ce qui peut mal tourner avec BGP ?

Plusieurs choses. Selon Cloudflare, deux incidents notables incluent un FAI turc disant accidentellement à l’ensemble d’Internet d’acheminer son trafic vers son service en 2004 et un FAI pakistanais interdisant accidentellement YouTube dans le monde entier après avoir essayé de le faire uniquement pour ses utilisateurs. En raison de la capacité de BGP à se propager de système autonome à système autonome (ce qui, pour rappel, est l’une des choses qui le rend si utile), un groupe commettant une erreur peut cascader.

L’acquisition d’un groupe peut également causer des problèmes – en 2018, les pirates ont pu détourner des requêtes vers le DNS d’Amazon et voler des milliers de dollars dans Ethereum en compromettant les serveurs BGP d’un FAI distinct. Amazon n’était pas celui piraté, mais le trafic qui lui était destiné s’est retrouvé ailleurs.

Ou, vous pouvez le gâcher et supprimer l’intégralité de votre service sur Internet avec une mauvaise mise à jour BGP. BGP est affectueusement appelé le ruban adhésif d’Internet, mais aucun adhésif n’est parfait.

Alors, qu’est-il arrivé à Facebook ?

Il semble que les serveurs de Facebook, pour une raison quelconque, aient dit à tout le monde de les retirer de leurs cartes. Facebook a publié un premier rapport, mais c’est léger sur les détails – il est possible que Facebook envisage de publier une explication plus détaillée plus tard, expliquant pourquoi les changements ont été apportés, mais c’est peut-être aussi la dernière fois que nous en entendons parler (au moins officiellement).

Cependant, CTO de Cloudflare rapporte que le service a vu une tonne de mises à jour BGP de Facebook (dont la plupart étaient des retraits d’itinéraires ou des lignes d’effacement sur la carte menant à Facebook) juste avant la tombée de la nuit. L’un des responsables techniques de Fastly a tweeté que Facebook a cessé de fournir des itinéraires vers Fastly lorsqu’il s’est déconnecté, et KrebsOnSecurity soutient l’idée que c’est une mise à jour du BGP de Facebook qui a mis hors d’état ses services.

je recommanderais L’explication de Cloudflare si vous voulez des détails techniques précis.

Si BGP était le problème, comment Facebook le résout-il ?

Étant donné que la panne a duré des heures, la réponse semble être « pas facilement ». Facebook devait s’assurer qu’il faisait la publicité des bons enregistrements et que ces enregistrements étaient récupérés par Internet en général. En d’autres termes, il devait s’assurer que ses cartes étaient exactes et que tout le monde pouvait les voir.

C’est plus facile à dire qu’à faire, cependant. Il y avait des rapports d’employés de Facebook être verrouillé des portes protégées par badge et des employés qui ont du mal à communiquer. Dans des situations comme celles-ci, vous devez non seulement déterminer qui a les connaissances nécessaires pour résoudre le problème et qui a les autorisations pour résoudre le problème, mais aussi comment connecter ces personnes. Et quand toute votre entreprise est morte dans l’eau, ce n’est pas une tâche facile — Le bord rapports reçus d’ingénieurs étant physiquement envoyés dans un centre de données Facebook en Californie pour tenter de résoudre le problème.

Web3 résoudrait-il ce problème ?

Arrête ça. Je vais pleurer.

Mais pour répondre rapidement à la question, probablement pas – même si Facebook sautait dans le train décentralisé, il faudrait quand même un protocole vous indiquant où trouver ses ressources. Nous avons vu qu’il est possible de mal configurer ou gâcher les contrats blockchain auparavant, je me méfierais donc un peu de quiconque aurait dit qu’un Internet basé sur un contrat et une blockchain serait à l’abri de ce genre de problème.

Le timing de cette panne était sûr, compte tenu de toutes les mauvaises nouvelles de Facebook, hein ?

D’accord, donc évidemment, le fait que tout cela s’est passé alors que un dénonciateur passait à la télévision et diffusait le linge sale de Facebook permet de trouver très facilement des explications alternatives. Mais il est tout aussi possible qu’il s’agisse d’une erreur innocente commise par une personne (très, très malheureuse) de l’équipe informatique de Facebook.

Pour ce que ça vaut, c’est l’explication de Facebook. Il rejette la faute sur un « changement de configuration défectueux » qu’il a effectué, et non sur des piratages sournois.

Mise à jour le 4 octobre à 22 h 44 HE : Mis à jour avec les informations de la publication d’ingénierie officielle de Facebook.




Source link

Articles similaires

Bouton retour en haut de la page