{"id":9185,"title":"\u0427\u0435\u0440\u043d\u0438\u043b\u0430 \u0438\u0437 \u0432\u044b\u0445\u043b\u043e\u043f\u043d\u044b\u0445 \u0433\u0430\u0437\u043e\u0432: \u043c\u0438\u0444 \u0438\u043b\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c?","url":"\/redirect?component=advertising&id=9185&url=https:\/\/vc.ru\/promo\/316632-odezhda-kotoraya-rastet-vmeste-s-rebenkom-biotoplivo-i-bizhuteriya-iz-chaynogo-griba&placeBit=1&hash=a88533bf78285d41072084482619c82803fd6598d1bcc2e142642ff721574ad7","isPaidAndBannersEnabled":false}
Иван Семин

Как лег Facebook по всему миру

«Facebook не может быть отключен, не так ли?» - на секунду подумали мы.

Сегодня в 1651 UTC мы открыли внутренний инцидент под названием «Поиск DNS в Facebook, возвращающий SERVFAIL», потому что мы беспокоились, что что-то не так с нашим преобразователем DNS 1.1.1.1 . Но когда мы собирались опубликовать сообщение на нашей публичной странице статуса, мы поняли, что происходит кое-что еще более серьезное.

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

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

Встречайте BGP

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

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

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

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

В нашем учебном центре есть хороший обзор того, что такое BGP и ASN и как они работают.

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

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

route-views>show ip bgp 185.89.218.0/23 % Network not in table route-views> route-views>show ip bgp 129.134.30.0/23 % Network not in table route-views>

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

route-views>show ip bgp 129.134.30.0 BGP routing table entry for 129.134.0.0/17, version 1025798334 Paths: (24 available, best #14, table default) Not advertised to any peer Refresh Epoch 2 3303 6453 32934 217.192.89.50 from 217.192.89.50 (138.187.128.158) Origin IGP, localpref 100, valid, external Community: 3303:1004 3303:1006 3303:3075 6453:3000 6453:3400 6453:3402 path 7FE1408ED9C8 RPKI State not found rx pathid: 0, tx pathid: 0 Refresh Epoch 1 route-views>

Мы отслеживаем все обновления и объявления BGP, которые мы видим в нашей глобальной сети. В нашем масштабе данные, которые мы собираем, дают нам представление о том, как подключен Интернет, и где предполагается, что трафик будет идти от и до любой точки планеты.

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

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

Если мы разделим это представление на объявления о маршрутах и снятие средств, мы получим еще лучшее представление о том, что произошло. Маршруты были отменены, DNS-серверы Facebook отключились, и через минуту после возникновения проблемы инженеры Cloudflare находились в комнате, недоумевая, почему 1.1.1.1 не может разрешить facebook.com, и беспокоясь о том, что это каким-то образом неисправно в наших системах.

Из-за этого отказа Facebook и его сайты фактически отключились от Интернета.

DNS затронут

Как прямое следствие этого, DNS-преобразователи во всем мире перестали разрешать свои доменные имена.

➜ ~ dig @1.1.1.1 facebook.com ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322 ;facebook.com. IN A ➜ ~ dig @1.1.1.1 whatsapp.com ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322 ;whatsapp.com. IN A ➜ ~ dig @8.8.8.8 facebook.com ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322 ;facebook.com. IN A ➜ ~ dig @8.8.8.8 whatsapp.com ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322 ;whatsapp.com. IN A

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

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

Опять же, наш учебный центр дает хорошее объяснение того, как работает DNS.

Из-за того, что Facebook перестал объявлять свои маршруты префиксов DNS через BGP, наши и все остальные DNS-преобразователи не могли подключиться к своим серверам имен. Следовательно, 1.1.1.1, 8.8.8.8 и другие основные общедоступные преобразователи DNS начали выдавать (и кэшировать) ответы SERVFAIL.

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

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

Это увеличение трафика (количества запросов), которое мы видели в 1.1.1.1:

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

К счастью, версия 1.1.1.1 была бесплатной, частной, быстрой (как может подтвердить независимый DNS-монитор DNSPerf ) и масштабируемой, и мы смогли продолжать обслуживать наших пользователей с минимальным воздействием.

Подавляющее большинство наших DNS-запросов разрешалось менее чем за 10 мс. В то же время минимальная доля процентилей p95 и p99 увеличила время отклика, вероятно, из-за того, что с истекшим сроком жизни пришлось прибегать к серверам имен Facebook и тайм-ауту. Предел тайм-аута DNS в 10 секунд хорошо известен инженерам.

Влияние на другие службы

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

Мы также можем видеть еще один побочный эффект этой недоступности в нашем трафике WARP к и от затронутого Facebook ASN 32934. На этой диаграмме показано, как трафик изменился с 15:45 UTC на 16:45 UTC по сравнению с тремя часами ранее в каждой стране. Во всем мире трафик WARP в и из сети Facebook просто исчез.

Интернет

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

Обновлять

Примерно в 21:00 UTC мы увидели возобновление активности BGP в сети Facebook, которая достигла пика в 21:17 UTC.

Эта диаграмма показывает доступность DNS-имени facebook.com на DNS-преобразователе Cloudflare 1.1.1.1. Он перестал быть доступен примерно в 15:50 UTC и вернулся в 21:20 UTC.

Несомненно, сервисам Facebook, WhatsApp и Instagram потребуется больше времени, чтобы подключиться к сети, но по состоянию на 21:28 UTC Facebook, похоже, снова подключен к глобальному Интернету, и DNS снова работает.

0
2 комментария
Популярные
По порядку

хабр так же взял с сайта клауда, так что ничего страшного

0
Читать все 2 комментария
«Неслучайная случайность», или как рождаются крипто стартапы на примере Freya

Статья носит сугубо ознакомительный характер и не призывает к инвестированию в какие либо активы.

re:Store продал Macbook Pro с раскладкой azerty и серийный номер ноутбка не совпадает с серийным номером на коробке
OZON не доставил холодильник и не решает проблему 3 недели

16 ноября 2021 был заказан холодильник Атлант ХМ 6025-031. Заказ 09322259-0218 был оформлен не на тот адрес по ошибке. Технической возможности изменить адрес доставки в пределах одного города у OZON отсутствует. Пришлось отменять. В результате в этот же день был оформлен заказ 09322259-0219 с датой доставки 20 ноября.

Доказал, что миллиардеры не видят разницы между вином за $500 и $10 тысяч: история Руди Курниавана Статьи редакции

Курниаван продавал подделки под видом редких вин предпринимателям, генеральным директорам и голливудским продюсерам и обманул их более чем на $35 млн.

Руди Курниаван LA Times
Продавец eBay из Кургана стала победителем в финале Всероссийского конкурса «Молодой предприниматель России 2021»

27 ноября в Москве состоялся финал ежегодного конкурса «Молодой предприниматель России 2021». В нём приняли участие предприниматели и самозанятые в возрасте до 35 лет. Всего было подано более 300 заявок из 43 регионов страны.

SkillFactory раздает подарки: повышенная ставка и новогодний марафон для вебмастеров

В преддверии Нового года мы решили порадовать своих настоящих и будущих партнеров — участников партнерской программы школ Skillfactory, Contented и Product LIVE. Это возможность получить денежный бонус и заодно увеличить прибыль от продажи наших курсов.

Дайджест новостей Сбера: сайт Digital Пётр, сценарии для умного дома и платина от Forbes

Прошлый дайджест мы целиком посвятили 180-летию Сбера, поэтому новостей накопилось много. Среди них — запуск сайта по распознаванию рукописей Петра I, большое обновление на платформе умного дома Sber и другие. Рассказываем всё самое интересное.

Картинка, сгенерированная ruDALL-E по запросу «рыжий котик»
Откуда берут взрослые деревья для парков и улиц

А также сколько они стоят и почему выращивать их — неплохой бизнес.

Хоум кредит про меня забыли. Долг с 2009года

Решил я значит проверить свою кредитную историю на одном из известных ресурсах. И что я обнаружил? Действующий долг в #хоум_кредит с 2009 года и как следствие краснющую историю! Я конечно же позвонил в эту контору, говорю каким образом банк забыл про меня? - а вы знаете? Мы вам звонили звонили... но не дозвонились ... Так же как и вашим…

И сотрудников тоже касается: кибербуллинг на рабочем месте
Design vector created by pikisuperstar - www.freepik.com
Глава американской компании Better.com уволил 900 сотрудников одним видеозвонком Статьи редакции

«Если вы сейчас смотрите это, значит вы в той невезучей группе, которую увольняют», — сказал работникам директор.

Я пришёл к вам с плохой новостью. Рынок изменился, как вы знаете, и мы должны двигаться за ним вперёд, чтобы выжить, процветать и исполнять нашу миссию. [...] Я делаю это второй раз в своей карьере и не хочу повторять. В последний раз, я плакал, но на этот раз надеюсь быть сильнее. [...] Если вы сейчас смотрите это, значит вы в той невезучей группе, которую увольняют.

Вишал Гарг
null