#сети

7 постов
пост №1421

Новостной эпизод подкаста сегодня по мотивам падения фб.

Гости: технический директор ВКонтакте Александр Тоболь и глава сетевой инфраструктуры Mail.ru Group Елена Якупова 🔥

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

Записывались прям ночью во вторник, очень старались успеть к четвергу :)

Слушайте и подписывайтесь: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.

пост №1419

ФБ рассказал, почему они упали в понедельник.

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

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

В этот момент все сервера Фейсбука пропали с радаров интернета, Фейсбук для внешнего мира сломался.

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

DNS — адресная книга интернета. Эта система переводит человеческий адрес Facebook.com в машинный айпи-адрес 157.240.224.35. Формально, интернет может работать и без DNS, в реальности на работе DNS завязано почти ВСЁ. Например, внутренние сервисы — инструменты, которыми пользуются инженеры фейсбука для решения проблем. Да что там сервисы, сотрудники фб в офисы не могли попасть, потому что автоматической системе контроля дверей тоже нужна DNS.

Дополнительная вишенка на торте — сломалась не только основная сеть фейсбука, но и запасная, которая построена специально для доступа к управлению сетевым железом в случае аварии основной сети. В общем, инженерам пришлось ножками топать в дата-центр и подключаться к сетевому оборудованию напрямую, буквально проводочком. Это непросто, потому что современные дата-центры — это крепости, попасть в них кому-то сверх обычного персонала — то ещё приключение. А теперь попробуйте это сделать, когда все корпоративные IT-системы недоступны. Подозреваю, что высшему руководству буквально по телефону приходилось подтверждать личность инженеров. Да и современное железо в ДЦ построено так, чтобы даже наличие физического доступа не дает контроля над ним — придется доказать, что ты не верблюд.

В общем, горячие были 6 часов у инженеров. Респект фб, что так быстро описали суть произошедшего и жаль, что подробный отчет, по которому, безусловно, можно снять боевик — мы вряд ли увидим.

Конкретно от этой проблемы фб вряд ли пострадает во второй раз — программу проверки команд теперь будут тестировать на порядок лучше, да и DNS в будущем, вряд ли будет отключаться так легко. При этом, мы говорим об очень сложных системах и в них рано или поздно что-то пойдет не так. Такие крупные аварии, «идеальные штормы» происходят каждые несколько лет. Этот — не последний.

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

пост №1416

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

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

Представляю, какой ад там сейчас творится.

пост №1415

Фейсбук, Инстаграм и вацап упали. Судя по всему — что-то с сетью.

Ожидаемо, все последние крупные падения: что у гугла/ютуба, что у Яндекса — именно про сеть. Ее сложнее всего дублировать, разделять и тестировать, в ней больше всего ручного труда инженеров и возможностей для ошибок.

На картинке — твит техдира Cloudflare https://mobile.twitter.com/jgrahamc/status/1445068309288951820

пост №864

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

Каждую минуту, на пару секунд, latency (задержка) беспроводной сети вырастал до 200-300 мс, появлялись потери пакетов. Сетевое взаимодействие компьютеров и видеосвязь устроена так, что даже временное повышение latency роняет качество связи надолго. Я не слышал собеседника, коллеги не слышали меня.

Я грешил на беспроводные сети, на фазу луны и, конечно же, на Госдеп США. Купил за 30 долларов программу PingPlotter, чтобы убедиться, что меня не глючит и проблема на самом деле регулярная. Задумывался уже поменять роутер, когда догадался поступить как нормальный инженер и почитать логи (бортовой журнал системы). Виноват оказался locationd.

Оказывается, ровно раз в минуту macOS пытался определить физическое местоположение ноутбука и собирал для этого список близлежащих беспроводных сетей. Это «тяжелая» операция, вот всё и затупляло.

Решение оказалось простым — выключить сервис определения местоположения (Location services) в настройках системы. Я уверен, что переустановка системы с нуля (классическое решение любых проблем с компьютерами) тоже бы помогла (и Location services остался бы включенным); но то, что приносило радость в 15 лет, не кажется таким же заманчивым в 30.

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

пост №815

Сказка на ночь для взрослых!

Рассказ «The route of a text messsage» (путь смски) — про путешествие смски «я тебя люблю». Он описывает последовательность событий, которые переводят движения пальцев жены писателя в фотоны света, попадающие в глаза автора. Вы узнаете, как работают тач-скрины, почему в смсках 160 символов, что значит Super AMOLED и даже увидите видео, где Фейнман объясняет концепцию радио на примере жучка, плавающего в бассейне.

Рассказ затянут в одних местах и опускает важные детали в других — видно, что автор не эксперт в этой области (он историк астрономии), но всё равно — неплохое чтение на ночь.

Кстати, классический вопрос на собеседованиях для сисадминов — «что происходит, когда вы набираете google.com в строке браузера и нажимаете enter на клавиатуре?». Ответ и дальнейшее его обсуждение покажет, как глубоко инженер разбирается в технологиях, хорошо ли он умеет обсуждать проблемы с другими технарями и способен ли видеть за деревьями лес. Достаточно полный ответ на этот вопрос состоит из 24 глав и занимает 10 страниц A4.

пост №254

Про совпадения.

Прямо сейчас Серебреников в наручниках в зале суда в Москве. Медуза ведет онлайн.

За 5 минут до начала трансляции что-то происходит со связностью между Lattelecom и Amazon (пару минут всё отлично, пару минут пакеты не ходят совсем). Редакция замечает это, в первую очередь, по недоступности Slackа.

Мы переключаем uplink на резервный LTE-роутер от LMT (латышский аналог МТС). Всё хорошо, пока редакторы не пытаются зайти на HTTP-сайты (смотрю нехорошим взглядом на tass.ru и interfax.ru). Происходит мистический 302 редирект на 192.168.8.2, который не грузится. Времени на поиск причины нет, решаем заплаткой с Chrome Data Saver (де-факто, VPN).

Оказалось, что LTE-роутер хочет обновить прошивку, делает DPI HTTP-сессий (но не HTTPS) и заменяет ответ сервера на 302 редирект. Из-за того, что таких запросов много — его веб-сервер не выдержал и ничего не отдавал. Одна из редакторов оказалась достаточно терпеливой, чтобы дождаться загрузку админки, я кликнул там «не сообщать об этом больше» и проблема решилась окончательно.

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

Ах да, только что мой провайдер написал, что изменил роуты и всё должно стать ок, но я, пожалуй, дождусь конца трансляции.