В контексте 5 июля 2019

Распад интернета: крупные отключения происходят еженедельно

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

Под угрозой не только сайты, но и сервисы мобильных экосистем. 4 июля Apple, чья репутация держится на бережном отношении к пользовательским данным, уронила облачный сервис iCloud. Что происходит с интернетом и когда это кончится?

Этот материал был первоначально написан для технорассылки The Bell. Подписаться на нее можно здесь.

Интернет на доверии

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

Пострадали сервисы Cloudflare, Amazon, Facebook и другие — включая их клиентов (в их числе оказался и The Bell). Это могло бы стать хорошей демонстрацией хрупкости интернета, если бы произошло один раз. Но с конца июня произошло уже четыре крупных отключения.

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

Для магистральных каналов связи используется протокол BGP, и он основан на доверии владельцев систем связи друг другу. BGP уже не раз становился проблемой для крупных компаний и всего интернета. В конце 2018 года, например, неправильная настройка BGP привела к падению Google — кто-то по ошибке пустил трафик через Китай.

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

Протокол просто не был предназначен для такого числа маршрутов, 12 августа 2014 года, когда это число было превышено, назвали 512K day. Провайдеры AT&T, BT, Comcast, Sprint и тот же Verizon в тот день легли. По иронии судьбы, именно Verizon тогда добавил 12 тысяч дополнительных маршрутов, которые и переполнили таблицу. Спустя пять лет, в мае 2019 года, интернет приготовился и пережил — 768K day. К счастью, он прошел гораздо легче.

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

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

Предел сложности

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

Задачи, которые стоят перед интернетом в 2019 году, не совпадают с теми, которые ставили проектировщики. Поэтому очень надежную систему начали модернизировать и усложнять.

Например, технокорпорации, пользователи которых потребляют существенную часть мирового трафика, проложили по дну собственные кабели (на изображении кабели Google, Microsoft, Amazon и Facebook отмечены черным, а остальные — серым).

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

Например, ровно через неделю после пенсильванского отключения уже сами сотрудники сервиса Cloudflare, обеспечивающего доступность сайтов по всему миру, доставку видеотрафика и защиту от DDoS-атак, неправильно обновили программное обеспечение. Результат — 30 минут нестабильной работы интернета в понедельник.

Но проблема не исчерпывается неправильными настройками где-то у технических специалистов. От крупных технокомпаний и предоставляемых ими услуг зависят сотни миллионов — а в случае экосистемы Facebook и миллиарды людей.

Именно эта экосистема перестала стабильно работать 3 июля — сообщения в Facebook Messenger и WhatsApp не проходили, а сториз в Instagram не показывались. Легче других отделался сам Facebook — там исчезла часть картинок, и на их месте стали видны текстовые описания, сочиненные нейросетями компании Цукерберга. На изображении ниже — характерный вид профиля одного из пользователей Facebook во время отключения.

Объяснение, которое дал Facebook, — «рутинная операция во время обслуживания привела к возникновению неисправности» — ничего на деле не объясняет. По не подтвержденным официально данным, сбой в Facebook Messenger привел к оттоку пользователей в Twitter и там положил сервис обмена прямыми сообщениями.

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

Сбои в облаках

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

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

Последний пример — Apple, которая свою экосистему построила вокруг приватности и защиты данных.

Прямо на День независимости США в Apple вырубилась облачная инфраструктура хранилища iCloud.

Подобные сбои затрагивают не только пользователей и репутацию компании. Перестают работать многие приложения; как видно по скриншоту, не работал и платежный сервис Apple Pay.

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

Например, у Google в начале июня ошибка в конфигурации привела к падению трафика YouTube на 10%, а трафика в облаке Google Cloud Storage — на 30%. Поражен оказался и 1% пользователей Gmail. Один процент от миллиарда — это 10 миллионов учетных записей.

Вместе с Google пострадали Snapchat, Vimeo, Shopify, Discord и даже ловцы покемонов в Pokemon GO — они зависели от этого облака.

Главное тут, что положиться по-настоящему на все компоненты, усложняющие сеть, нельзя.

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

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

В основном — нервотрепка. Раньше хранить данные в облаке боялись из-за недоверия. Затем — из-за плохих облачных инструментов.

Теперь выбора нет — добрая половина веб-приложений использует облачные хранилища; самые быстрые и стабильные сайты являются такими благодаря системам доставки контента вроде Cloudflare; весь рынок облаков оценивается более чем в $200 млрд, а в 2022 году его объем превысит $330 млрд.

При этом инфраструктурные ошибки будут обходиться все дороже. Подорожают и альтернативные решения.

Российским пользователям в ноябре, когда частично вступит в силу закон о суверенном интернете, следует ждать перемежающихся сбоев. Доступность облачных серверов может меняться в зависимости от настроения Роскомнадзора. Нечто подобное, но в сравнительно небольших масштабах мы наблюдали во время апрельской охоты за Telegram в 2018 году, когда выходили из строя многие блокируемые сервисы.

Александр Амзин