Воскресенье, 22 декабря, 2024

Как Facebook на этой неделе исчез из интернета

Примерно в семь часов вечера весь онлайновый мир застыл изумленным: отключили Facebook, Instagram, WhatsApp и другие сервисы этой соцсети. Они полностью перестали работать и как будто исчезли из интернета. Пользователи не растерялись и массово начали регистрироваться в других мессенджерах и соцсетях. Остался вопрос, как удалось отключить Facebook?

Facebook отключили

Сперва мало кто думал, что проблема очень серьезная. В CloudFlare, например, сначала думали, что проблема с их распознавателем DNS 1.1.1.1 и уже готовились опубликовать соответствующее заявление на своем сайте, но более детальный анализ показал, что проблемы гораздо серьезнее.

Facebook и его дочерние службы WhatsApp и Instagram, по сути, были полностью отключены. Их DNS-имена перестали определяться, а IP-адреса их серверов были недоступны. Это было так, как если бы кто-то одновременно выдернул все кабели из своих центров обработки данных и отключил их от интернета.

Как это вообще возможно

Facebook опубликовал сообщение в блоге, в котором приводятся некоторые подробности того, что произошло внутри компании. Сторонние специалисты видели проблемы с BGP и DNS описаны в этом посте, но на самом деле проблема началась с изменения конфигурации, которое повлияло на всю внутреннюю магистраль. Это привело к исчезновению Facebook и других объектов.

Проблема существовала около трех часов. Такую продолжительность некоторые эксперты объясняют тем, что стали недоступны все внутренние ресурсы компании, включая мессенджеры и корпоративные адресные книги. Еще исчезли почти все привычные способы коммуникации.

Сотрудники Facebook не могли попасть в офис, поскольку бейджики привязаны к интернет-авторизации. Также значительную часть проблем можно было решить только при физическом доступе к серверам, что осложнялось дистанционной работой.

Знакомьтесь с BGP

BGP расшифровывается как протокол пограничного шлюза. Это механизм обмена информацией о маршрутизации между автономными системами (AS) в интернете.

Большие маршрутизаторы, которые обеспечивают работу интернета, имеют огромные, постоянно обновляемые списки возможных маршрутов, которые можно использовать для доставки каждого сетевого пакета в конечные пункты назначения. Без BGP интернет-маршрутизаторы не знали бы, что делать, и интернет не работал бы.

Интернет-это буквально сеть сетей, и они связаны между собой BGP. BGP позволяет одной сети (скажем, Facebook) рекламировать свое присутствие в других сетях, образуют интернет. Если, Facebook не рекламирует свое присутствие, интернет-провайдеры и другие сети не могут найти сеть Facebook, и поэтому она недоступна.

У каждой отдельной сети есть ASN: номер автономной системы. Автономная система (AS) — это отдельная сеть с единой внутренней политикой маршрутизации. AS может создавать префиксы (скажем, они контролируют группу IP-адресов), а также транзитные префиксы (скажем, они знают, как достичь определенных групп IP-адресов).

ASN Номер Cloudflare — AS13335. Каждый ASN должен объявлять свои префиксные маршруты в интернет с помощью BGP, иначе никто не будет знать, как подключиться и где найти.

На этой упрощенной схеме шесть автономных систем в Интернете и два возможных маршрута, по которым один пакет может пройти от начала до конца. AS1 > AS2 > AS3 — самый быстрый, а AS1 > AS6 > AS5 > AS4 > AS3 — самый медленный, но его можно использовать, если первый не сработает.

В 15: 58 UTC в CloudFlare заметили, что Facebook перестал объявлять маршруты к своим DNS-префиксов. Это означало, что по крайней мере DNS-серверы Facebook были недоступны. Из-за этого распознаватель DNS Cloudflare 1.1.1.1 больше не мог отвечать на запросы, запрашивающие IP-адрес facebook.com .

Между тем, другие IP-адреса Facebook оставались маршрутизированными, но не были особенно полезными, поскольку без DNS Facebook и связанные с ним службы были фактически недоступны.

Уведомление об обновлении BGP информирует маршрутизатор о любых изменениях, внесенных в объявление префикса, или полностью удаляет префикс. Это можно четко видеть по количеству обновлений от Facebook. Обычно этот график довольно спокойный: Facebook не вносит много изменений в свою сеть ежеминутно.

Но примерно в 15: 40 UTC произошел пик изменений маршрутизации с Facebook. Вот тогда-то и начались неприятности.

Что именно произошло

Маршруты были отменены, DNS-серверы Facebook отключились. Сайты Facebook фактически отключились от интернета.

Как прямое следствие этого, знатоки DNS по всему миру перестали разрешать доменные имена сайтов соцсети. Это связано с тем, что DNS, как и многие другие системы в интернете, также имеет свой механизм маршрутизации.

Когда кто-то набирает https://facebook.com URL-адрес в браузере, распознаватель DNS, ответственный за преобразование доменных имен в фактические IP-адреса для подключения, сначала проверяет, есть ли что-то в его кэше, и использует это. Если нет, он пытается получить ответ от серверов доменных имен, которые обычно размещаются организацией, которой он принадлежит.

Если серверы имен недоступны или не отвечают из какой-либо иной причине, возвращается SERVFAIL, и браузер выдает пользователю ошибку.

Приложения и люди игнорируют ошибку

Но это еще не все. Теперь человеческое поведение и логика приложений срабатывают и вызывают еще один экспоненциальный эффект. За этим следует цунами дополнительного DNS-трафика.

Это произошло отчасти потому, что приложения не принимают ошибку за ответ и начинают повторять попытки подключения, иногда агрессивно. Также конечные пользователи также не принимают ошибку за ответ и начинают перезагружать страницы и перезапускать приложения, иногда агрессивно.

Поскольку Facebook и их узлы настолько велики, DNS-знатоки по всему миру начали обрабатывать в 30 раз больше запросов, чем обычно. Это привело к проблемам с задержкой и временем ожидания для других сайтов интернета.

Влияние на другие интернет-сервисы

Люди ищут альтернативы и хотят узнать больше или обсудить, что происходит. Когда Facebook стал недоступным, увеличилось количество запросов DNS на Twitter, Signal и другие платформы обмена сообщениями и социальные сети.

В итоге

Во всем мире трафик, поступавший в сеть Facebook и выходивший из нее, просто исчез.

Эти события являются мягким напоминанием о том, что интернет — это очень сложная и взаимосвязана система, состоящая из миллионов систем и протоколов, которые работают вместе. Это доверие, стандартизация и сотрудничество между организациями лежат в основе того, чтобы ИТ работали почти для пяти миллиардов активных пользователей по всему миру.

По материалам: CloudFlare

Євген
Євген
Евгений пишет для TechToday с 2012 года. По образованию инженер,. Увлекается реставрацией старых автомобилей.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися