Почему Facebook, Instagram и WhatsApp упали по всему миру: детальное объяснение
фото: Shutterstock
В мире

Почему Facebook, Instagram и WhatsApp упали по всему миру: детальное объяснение

Otkrito.lv

4 октября 2021 года все популярные сервисы компании Facebook ушли в офлайн. В отличие от большинства подобных случаев, которые быстро исправляются, на этот раз сбой продлился несколько часов — сейчас сервисы опять доступны. В самой компании причину объясняют скупо: ошибками конфигурации маршрутизаторов, которые координируют сетевой трафик между дата-центрами. В компании Cloudfare этот инцидент проанализировали детальнее.

AIN.UA приводит основные тезисы этого объяснения

  • Команда Cloudfare обратила внимание на ошибку Facebook DNS lookup returning SERVFAIL, поначалу испугавшись, что что-то не в порядке с их собственным DNS-резолвером 1.1.1.1. И уже собирались опубликовать об этом публичный пост, когда поняли, что дела обстоят серьезнее.
  • Facebook и его аффилированные сервисы WhatsApp и Instagram ушли в офлайн. Их DNS-имена перестали резолвиться, а IP-адреса были недоступны. «Было ощущение, как будто кто-то выдернул шнуры во всех их дата-центрах одновременно и отрубил их от интернета», — пишет компания в блоге.
  • Что стало основной причиной? Для этого нужно понять, как работает протокол BGP — Border Gateway Protocol. Если систему DNS часто сравнивают с адресной книгой интернета, то BGP — его навигационная система, которая определяет, каким маршрутом будут передаваться пакеты данных.

«BGP — это механизм обмена информацией о маршрутизации между автономными системами (AS) в интернете. У маршрутизаторов, от которых зависит работа интернета, есть огромные и постоянно обновляющиеся списки маршрутов, которые могут быть использованы для доставки каждого сетевого пакета. Без BGP все интернет-маршрутизаторы «не знали бы, что делать» и интернет не работал. Интернет — это буквально сеть из сетей, и она связана воедино с помощью BGP. Этот протокол дает возможность одной сети (к примеру, Facebook) объявить о своем присутствии другим сетям, которые формируют интернет», — объясняют в компании.

  • У каждой автономной сети есть свой номер: ASN, Autonomous System Number, а также единая политика внутренней маршрутизации. Такие сети могут формировать префиксы (указывать, что они контролируют определенную группу IP-адресов), а также транзитные префиксы (указывать, как связываются с определенными группами IP-адресов). Например, ASN у Cloudfare выглядит как AS13335. Каждая ASN должна «объявлять» о своих маршрутах интернету, используя BGP. Иначе никто другой из интернета не сможет с ней связаться.
  • 4 октября в Cloudfare заметили, что Facebook перестал отдавать информацию о маршрутах для своих DNS-префиксов. Это как минимум означало, что DNS-серверы Facebook стали недоступными. Из-за этого DNS-резолвер Cloudflare 1.1.1.1 больше не мог отвечать на запросы об IP-адресах для facebook.com or instagram.com.
  • В Cloudflare следят за всеми обновлениями BGP в глобальной сети, в частности: об изменениях в префиксе или его отзыве. Обычно от Facebook таких собощений мало, но когда они появились — это и стало началом проблем: Facebook отозвал свои маршруты и отключил себя от сети.
  • Как прямое следствие этого, DNS-резолверы по всему миру перестали резолвить доменные имена facebook.com, whatsapp.com и instagram.com. Это случилось, потому что в DNS, как и во многих других интернет-системах, используется своя схема маршрутизации. Когда кто-то вводит адрес типа https://facebook.com, DNS-резолвер (который переводит доменные имена в IP-адреса), сначал проверяет, есть ли у него данные в кеше для этого адреса. Если их нет, он берет информацию с серверов, которые обычно хостит владелец домена. Если же с ними связаться невозможно, возвращается ошибка SERVFAIL, а пользователь не может открыть этот сайт в браузере.
  • Из-за того, что Facebook перестал отдавать маршруты для DNS-префиксов, все DNS-резолверы в мире не могли с ними связаться. И 1.1.1.1, 8.8.8.8, и другие основные резолверы начали возвращать ошибку SERVFAIL.
  • Но и это еще не все. После этого поведение пользователей и логика работы приложений привели к другому экспоненциальному эффекту и к цунами дополнительного DNS-трафика.

  • Частично это случилось, потому что приложения не принимают сообщение об ошибке как ответ и пытаются, иногда довольно агрессивно, продолжать попытки соединения. Частично — потому что пользователи тоже не хотят смиряться с ошибкой и начинают перегружать страницу, либо же закрывать и открывать приложения, в надежде, что они заработают — порой также довольно агрессивно.
  • DNS-резолверы по всему миру вынуждены были справляться с количеством запросов, в 30 раз превышающим обычные нагрузки. Из-за этого начали «тормозить» и другие сервисы.
  • Одновременно с этим пользователи бросились искать другие площадки для общения. В Cloudfare отметили рост DNS-трафика для Twitter, Signal и других социальных платформ: «Эти события — напоминание всем нам, что интернет — очень сложная и взаимозависимая система с миллионами подсистем и протоколов, которые работают сообща. Доверие, стандартизация и совместная работа разных интернет-платформ — это основа работы интернета, сети с почти пятью миллиардами пользователей по всему миру», — пишут в компании.
  • По неподтвержденным данным, проблема усугубилась еще и тем, что сотрудники Facebook какое-то время не могли попасть внутрь зданий и дата-центров: из-за падения сети их бейджи перестали работать.

Компании Facebook и лично Марку Цукербергу падение стоило миллиарды долларов: стоимость акций компании упала, снизилось и состояние Цукерберга. Отключение сервисов произошло в момент, когда в США на Facebook и так обращено пристальное внимание: в СМИ одна за другой вышли несколько публикаций, которые представляют компанию и работу ее алгоритмов не в лучшем свете: пресса активно пишет, что Цукерберга ждут непростые времена.

Другие сервисы от падения Facebook частично выиграли: в Viber, например, заявили что число регистраций выросло на 500%, соцсети и мессенджеры указывали, что число новых пользователей стремительно росло. Правда, резкий наплыв пользователей привел к тому, что некоторые сервисы начали работать медленнее. Кроме того, все начали активно показывать свои юмористические способности.