Почему фирма не работает без интернета

Обновлено: 13.05.2024

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

«Разве Facebook может упасть?» — задумались мы на секунду…

Сегодня в 16:51 UTC (в 19:51 MSK — прим. перев.) у нас был открыт внутренний инцидент под названием «Facebook DNS lookup returning SERVFAIL» («DNS-поиск для Facebook возвращает SERVFAIL»). Мы решили, что это с нашим DNS-ресолвером 1.1.1.1 что-то не так. Однако к моменту размещения соответствующего обновления на публичной статус-странице стало ясно, что здесь что-то серьёзное.

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

Встречайте BGP

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

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

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

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

В этой упрощённой схеме можно увидеть шесть автономных систем в интернете и два возможных маршрута, по которым один пакет может пройти от начала (Start) до конца (End). Самый быстрый маршрут — это AS1 → AS2 → AS3. Самый медленный — AS1 → AS6 → AS5 → AS4 → AS3; он используется в случаях, когда первый не срабатывает.


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

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

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



После отзыва этих маршрутов Facebook и его сайты были отключены от интернета.

DNS тоже в деле

Прямым последствием этого события стала невозможность для DNS-ресолверов со всего мира получать IP для связанных с проектами доменных имён:

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

Опять же, в онлайн-центре обучения Cloudflare есть хорошее объяснение, как работает DNS.


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

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

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

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


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

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


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


Также недоступность проявилась в статистике по WARP-трафику от и к автономной сети Facebook’а (ASN 32934). Эта карта показывает, как трафик изменился в интервале с 15:45 UTC до 16:45 UTC по сравнению с тремя часами до этого в каждой стране. По всему миру WARP-трафик от и к сети Facebook практически исчез.


Интернет

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

Обновление

Около 21:00 UTC (полночь в MSK — прим. перев.) мы увидели новую BGP-активность в сети Facebook, пик которой пришёлся на 21:17 UTC:



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

Компания-аноним №2

С нами работает в буквальном смысле весь мир, «положить» производимое нами ПО даже на час — огромная проблема и для нас, и для бизнесов из самых разных стран.

Границы не открылись, и пришлось искать альтернативы России. Рассмотрели Турцию и Украину, выбрали соседей, оперативно отправили туда первую команду для поддержания наших продуктов и инфраструктуры компании в целом. На всякий случай оговорили план работы каждого подразделения на 2—3 дня в офлайн-режиме.

Сейчас отправили еще одну группу ребят, ответственных за работу наших продуктов, готовим следующую. Команда IT-специалистов всеми силами старается минимизировать бизнес-риски компании. Пытаемся кое-как работать через VPN, делимся в чатах работающими инструментами. Работа не встала благодаря сознательности наших ребят, но пострадала очень сильно — даже несмотря на то, что у нас нет значимой внутренней инфраструктуры в облачных сервисах, многие ресурсы недоступны даже с помощью всех возможных программных решений. Часть задач смогли взять на себя наши удаленные офисы — команды стараются заверить наших клиентов, что все будет хорошо и происходящее не скажется на работе ПО.

2. Все обсуждается прямо сейчас, пока решение не принято.

Вопрос №3 остался без ответа.

«Часть сотрудников пришлось перевезти в другую страну». Как выживают IT-компании без интернета?

В Беларуси с воскресенья наблюдаются серьезнейшие проблемы с интернетом: многие сервисы недоступны или же работают только через VPN-соединения. Когда все это закончится, провайдеры и сами не знают. Однако рабочая неделя идет и компании вынуждены адаптировать свои процессы под новые реалии. Мы связались с белорусскими IT-компаниями и узнали, как они работают в эти дни.

Вопросы, которые мы отправили PR-менеджерам компаний, звучали так:

1. Как сейчас работает компания?

2. Какие действия рассматриваются в случае длительных (больше недели) перебоев в работе интернета?

3. На ваш взгляд, как это повлияет на белорусскую IT-индустрию в долгосрочной перспективе?

На момент публикации мы получили ответы не от всех компаний, в которые обращались. Некоторые отказались сразу, другие попросили больше времени на ответ, третьи согласились прислать ответы на условиях анонимности. Мы будем дополнять материал по мере получения новых комментариев.

ID Finance

Мы работаем в штатном режиме. как и работали с 16 марта, с начала карантина: кто-то дома, кто-то приезжает в офис. Кому как удобнее! В офисе интернет работает, но слабо.

Надеемся, что сложности, которые возникли в связи с техническими проблемами у белорусских интернет-провайдеров, будут краткосрочными. А связанные с этим замедленные рабочие процессы, длительная коммуникация и затрудненное решение рабочих задач станут лишь временным явлением. Прогнозов делать не беремся. Надеемся и очень ждем, что скоро удастся восстановить все процессы на прежнем уровне.

Компания-аноним №3

1. Работаем через VPN, более или менее стабильно.

2. Финального решения пока нет, рассматриваем вариант с перевозкой ключевых сотрудников в страны, где интернет стабильный.

Пошаговые действия при отключение интернета в офисе?

hint000

Если на точке белый статический адрес, то удалённо пропинговать роутер или попробовать удалённый доступ.
Если пинга нет, то позвонить провайдеру; быть готовым продиктовать название юр.лица и точный адрес (часто в организации есть несколько юр.лиц и нужно называть правильное, на которое оформлен договор). Если проблема с отсутствием денег на балансе, то техподдержка обычно сразу об этом скажет.
Перезагрузку роутера не ставлю первым пунктом, т.к. очевидно, что в момент обращения вы находитесь в другом месте и самостоятельно сделать это не можете, а в офисе не всегда есть сотрудники, с которыми можно поговорить на одном языке и попросить перезагрузить роутер. Если "продвинутых пользователей" нет, то перезагрузку оставить на крайний случай, а то могут вместо роутера перезагрузить кофеварку.
Ну а если вы находитесь рядом, то проще всего самостоятельно перезагрузить роутер первым делом.

Если техподдержка провайдера не смогла найти причину в течение звонка, а пообещали разобраться и перезвонить, то я обычно сразу выезжаю на точку, чтобы лично всё проверить (индикацию на медиаконвертере (если подключение по оптике), индикацию на роутере, подключиться локально к роутеру и посмотреть состояние и т.д.). В противном случае может получиться, что провайдер часа через два ответит: "мы всё проверили, с нашей стороны проблем нет, проверяйте своё оборудование". А в это время в офисе, например, подвис даже не роутер, а свитч, или кабель из роутера вывалился, потому что уборщица задела.

P.S. а похоже, что этот вопрос вам задали на собеседовании :)

hint000, я совсем согласен, кроме перезагрузки роутер.
В идеале надо стремится ставить нормально оборудование, которое виснет раз в столетие)

Компания-аноним №1

  1. Работа серьезно тормозится. Часть сотрудников пришлось перевезти в наш офис в другой стране для того, чтобы не прерывать основные рабочие процессы.
  2. Продолжим перевозить сотрудников в офисы в других странах.
  3. Однозначно отразится негативно, так как репутация страны серьезно пострадала.

Ростелеокм не проводит инет мол нету технический условий. Как объяснить что они не правы? Или все таки не прав я?

2.5 метра.
В низу подъезда стоит коробка провайдера.
На 3 этаже висит розетка провайдера.

f20ea0c7ec4f48fab58e8c550b20a2a1.jpg


С первого этажа по пятый этаж идет пластиковая труба в которой болтаются сетевые провода на этажах дырки в трубе чтобы значит эти провода до квартиры провести.
Тетенька из ростелекома сказала мол нет технических условий инет может только до 38 квартиры (3 этаж).
Вопрос почему нет технических условий?
И можно ли поставить роутер в подъезде по закону?

Это не розетка провайдера. Это распределенный щиток телефонии.
В него приходит телефонный кабель на xx пар (возможно десятка).
Если все пары уже кем-то заняты, то техусловий нет.

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

Во-вторых неизвестно что в этих проводах идет и как распределяется. Это же не оптика, что ей расстояние почти по барабану. Это обычная телефонная пара, с модемами, там могут быть и с портами проблемы и с качеством, и канал может быть ужат.

В общем слушайте тетеньку.

Телефон? Там жилы цвета витой пары.
В соседнем доме такаая же штука таким же провайдером используется в качесве штуки для подключения к свичу. Чем витая пара вас не устраивает как телефонная линия?
Или вы не знаете как работает ADSL? Saboteur: работать то будет.
Но не выгодно. Телефонный кабель дешевле должер быть не?

Вы путаете витую пару cat 5 и ту витую пару в толстом кабеле, похожий на 10-парку или 20-парку.

В отличие от 60-х годов, сейчас многие провайдеры связи переходят на цифру, и небольшая экономия на кабеле (это практически самое дешевое, что вообще есть в непосредственно самой прокладке связи) невыгодна провайдерам.
Последнюю милю можно хоть советской лапшой кидать, если конечный абонент будет работать аналоговым телефоном или модемом на 56600, но для ADSL, цифровой телефонии/факсов и например сжатых каналов, когда по кабелю подается десяток номеров - лучше использовать витую пару разных категорий.

Jump

Ростелеокм не проводит инет мол нету технический условий. Как объяснить что они не правы? Или все таки не прав я?

Ничего не надо объяснять. Разумеется прав провайдер.
Это его инфраструктура, и он лучше знает что у него есть, а чего у него нет.
Если он говорит что технической возможности нет - значит в данный момент подключить невозможно.
По какой именно причине невозможно он объяснять вам не должен.
Например у провайдера в данный момент бригада монтажников ушла в запой - все, нет технической возможности для подключения.

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

Читайте также: