Резюме
- Оценка CRTC относит сбой к периоду с 04:58 EDT 8 июля до 07:00 EDT 9 июля и сообщает, что более 12 миллионов абонентов беспроводной и проводной связи потеряли обслуживание [1].
- На шестом этапе из семиэтапного обновления ядра персонал удалил фильтр политики ACL; в отчёте говорится, что полные таблицы BGP были затем перераспределены в OSPF и исчерпали ресурсы процессора и памяти на маршрутизаторах ядра [1].
- Более ранние этапы обновления прошли успешно, и запускающий этап был понижен с высокого до низкого уровня риска, что сняло требования дополнительной проверки, более высокого уровня утверждения и лабораторного тестирования [1].
- Сеть управления Rogers зависела от вышедшего из строя IP-ядра, а на критически важных площадках отсутствовала управленческая связь от альтернативных провайдеров; это задержало диагностику, и потребовался физический доступ [1].
- Достоверное завершение должно подтвердить ограничения объёма маршрутов, проверку различий конфигурации, автоматический откат, независимость управления, результаты работы экстренных служб и контролируемый отрицательный тест на повторение.
Что произошло
Более поздняя оценка CRTC представляет собой наиболее полное публичное техническое описание. В ней говорится, что Rogers эксплуатировала сети беспроводного и проводного доступа через общее IP-ядро. За несколько недель до 8 июля компания выполняла семиэтапное обновление этого ядра. Сбой произошёл на шестом этапе [1].
Инициирующее изменение удалило фильтр политики Access Control List из конфигурации маршрутизаторов распределения. Согласно оценке, это позволило полным таблицам маршрутизации BGP Интернета попасть в OSPF. BGP переносит информацию о достижимости между автономными системами; OSPF распространяет внутреннюю топологию и достижимость внутри оператора. Импорт неконтролируемого набора внешних маршрутов во внутренний протокол может превратить внешне корректное действие по конфигурации в огромный рост состояния [1].
В отчёте говорится, что возникшие обновления исчерпали ресурсы процессора и памяти в маршрутизаторах ядра. Фильтр политики был удалён в 04:43 EDT. В течение двух минут начали отказывать шлюзы ядра. К 04:58, согласно хронологии сбоя в отчёте, маршрутизаторы распределения наводнили ядро большим числом маршрутов, чем оно могло обработать [1]. Мобильная связь, домашние телефоны, Интернет, деловая проводная связь и доступ к 9-1-1 перестали функционировать. Восстановление шло постепенно до 07:00 следующего утра [1].
Ранние публичные сообщения Rogers были, что вполне объяснимо, менее конкретными. 8 июля генеральный директор признал сбой в беспроводных и проводных услугах и принял на себя ответственность [4]. 9 июля Rogers сообщила, что причина сузилась до обновления в обслуживании ядра сети, которое вызвало сбой в работе маршрутизаторов, и что команды отключили определённое оборудование и перенаправили трафик, пока услуги восстанавливались [5]. Эти заявления являются полезными современными свидетельствами. Более поздняя оценка CRTC даёт подробный механизм перераспределения маршрутов и должна определять технические утверждения.
Нарушенная граница находилась между системами маршрутизации
Это был не просто случай, когда один маршрутизатор получил слишком много клиентского трафика. Сообщённый сбой пересёк границу протокола маршрутизации. BGP и OSPF служат разным целям. BGP может переносить очень большие наборы маршрутов Интернета и пути с богатой политикой. OSPF предназначен для того, чтобы маршрутизаторы внутри одного административного домена строили согласованное представление о состоянии каналов. Перенос выбранных маршрутов между ними может быть легитимным.
Перенос неограниченной полной таблицы во внутренний протокол может заставить многие устройства обрабатывать состояние, которое никогда не предназначалось для этого домена.
Поверхность подотчётности начинается с явного контракта на перераспределение. Оператор должен быть в состоянии назвать, какие маршруты могут переходить из BGP в OSPF, зачем они нужны, их максимальное количество, какие атрибуты сохраняются, какие устройства их получают и что происходит, когда количество превышает ожидание. Фильтр политики — это не просто синтаксис конфигурации. Это исполняемая граница между двумя системами состояния.
В оценке CRTC говорится, что стандартная конфигурация маршрутизаторов распределения Rogers позволяла маршрутам BGP попадать в OSPF, когда оператор политики больше их не блокировал. В документе перечислены четыре отсутствующих или неадекватных средства контроля, относящихся к событию: защита от перегрузки на маршрутизаторах ядра, ограничения на маршруты BGP, анонсируемые в OSPF, ручные и автоматические аудиты команд политики и автоматический откат [1]. В отчёте также говорится, что на маршрутизаторах ядра не было настроенного предела перегрузки для принимаемой маршрутной информации [1].
Это важно, потому что резервная пара может воспроизвести тот же сбой. Если каждое устройство ядра получает одинаковый неограниченный поток маршрутов, резервирование дублирует уязвимость, а не создаёт независимость. Топология может иметь несколько маршрутизаторов, каналов, поставщиков и площадок, сохраняя при этом один общий домен отказа политики. Правильный тест не в том, сколько устройств существует. Вопрос в том, может ли одно недопустимое состояние пересечь границу и исчерпать все их до того, как ограничитель, валидатор или откат остановит его.
Риск изменений снижался вслед за успешными этапами
Ошибка конфигурации была также провалом управления в исполняемой форме. В оценке CRTC говорится, что Rogers первоначально оценила семиэтапный процесс как высокий риск. После того как более ранние этапы прошли успешно, алгоритм риска понизил шестой этап до низкого, включая изменение, удалившее фильтр маршрутов. Этот более низкий рейтинг означал, что изменение не требовало дополнительной проверки, более высокого уровня утверждения или лабораторного тестирования [1].
Успех на более раннем этапе не доказывает, что более поздний этап эквивалентен. Поэтапная программа может затрагивать разные устройства, ветви политики, объёмы трафика или домены отказа на каждом шаге. Изменение, удаляющее фильтр, особенно асимметрично: разница в конфигурации может быть невелика, а достижимое пространство состояний становится гораздо больше. Оценка риска должна анализировать семантику текущего изменения, а не вознаграждать программу за то, что она пережила предыдущие работы.
Надёжная запись об изменении должна поэтому связывать заявку с точной конфигурацией до изменения и предлагаемой конфигурацией, машиночитаемым намерением политики маршрутов, результатами лабораторных испытаний, ожидаемым количеством маршрутов, утверждением, масштабом развёртывания, окном наблюдения, триггером отката и ответственным лицом. Рецензент должен видеть, что фильтр удаляется, и спросить, что ранее от него зависело. Автоматическая проверка должна отклонять увеличение количества маршрутов за пределы заявленного диапазона до развёртывания в производственной среде.
Канареечное тестирование также должно соответствовать режиму отказа. Применение изменения к одному устройству полезно только в том случае, если это устройство можно изолировать и наблюдать за состоянием его маршрутов до того, как то же обновление получат соседние устройства. Канареечное развёртывание, которое немедленно экспортирует небезопасное состояние в общее ядро, не является малым радиусом поражения. План развёртывания должен доказывать, что тестовое устройство не может заразить каждого резервного соседа.
Общее ядро сделало последствия национальными
В оценке описывается общее IP-ядро, несущее и беспроводные, и проводные услуги. В ней прямо говорится, что сбой не был вызван конструктивным недостатком в остальном типичной архитектуры уровня Tier 1. Также говорится, что конвергенция сделала масштаб чрезвычайным, поскольку общий отказ вывел из строя оба семейства доступа одновременно [1]. Эти два вывода должны оставаться вместе.
Конвергенция может сократить дублирование и улучшить использование ресурсов. Она также может сконцентрировать голосовую связь, мобильные данные, домашний Интернет, деловую связь, экстренные вызовы, публичные оповещения, мониторинг и внутренние коммуникации за одним общим решением маршрутизации. Вопрос не в том, категорически ли ошибочна конвергенция. Вопрос в том, какие услуги должны пережить один отказ плоскости управления и какие зависимости нуждаются в отдельных доменах отказа.
В резюме CRTC говорится, что Rogers позже решила разделить беспроводное и проводное IP-ядра, оставив существующее ядро для проводной связи и внедрив новое ядро для беспроводной. На момент этого отчёта внедрение ещё не было завершено [2]. Оценка представляет разделение как способ ограничить будущий сбой одной сетью доступа. Это архитектурное средство контроля, но оно всё равно требует независимой политики, развёртывания изменений, управленческого доступа и тестирования. Два ядра, управляемые одной и той же небезопасной автоматизацией, могут оставаться коррелированными.
Экстренные коммуникации ужесточают стандарт. В подробном отчёте говорится, что связь с 9-1-1 и доставка публичных оповещений пострадали. Rogers уведомила провайдеров сети 9-1-1 в 08:39, через три часа 56 минут после начала сбоя, и отправила первое сообщение клиентам в 08:54 [1]. В письме CRTC от 12 июля критиковалось отсутствие ранних указаний об альтернативном доступе к 9-1-1 и содержалось требование всеобъемлющего отчёта [3]. Точные показатели успешности вызовов в некоторых частях отчёта отредактированы, поэтому публичная статья не должна их выдумывать.
Сеть управления отказала вместе с сетью данных
Наиболее серьёзной проблемой восстановления стала потеря управляющего доступа. В оценке CRTC говорится, что сеть управления Rogers зависела от того же IP-ядра, которое вышло из строя. Удалённые сотрудники не могли получить доступ к критически важным сетевым элементам, а центр эксплуатации сети и другие важные площадки не имели резервной управленческой связи от альтернативных провайдеров. Персоналу пришлось добираться до оборудования для физического доступа, что задержало диагностику и ремонт [1].
Собственные коммуникации оператора также сильно зависели от его услуг. В отчёте говорится, что у персонала инцидента было ограниченное количество сторонних мобильных SIM-карт, и люди с трудом общались, когда и фиксированные, и мобильные сети отказали. Журналы ошибок с отказавших маршрутизаторов изначально не были доступны, и корневую причину не могли определить около 14 часов [1]. В окне обслуживания было внесено несколько изменений, что затруднило определение того, какую заявку следует откатить.
Это строгий тест на независимость. Плоскость управления, работающая поверх производственной плоскости данных, удобна в обычной эксплуатации, но она не является путём восстановления при отказе общего ядра. Достоверный проект требует раздельного физического и логического доступа, независимых учётных данных, проверенных каналов альтернативных провайдеров, локально достижимых путей консоли и коммуникаций инцидента, не зависящих от пострадавшего оператора.
RFC 6192 рассматривает защиту плоскости управления маршрутизатора как общий инженерный принцип: определить легитимный управляющий трафик, фильтровать или ограничивать по скорости другой трафик и сохранять стабильность плоскости управления несмотря на нагрузку [8]. Этот документ не диагностирует событие Rogers и не определяет политику перераспределения BGP-в-OSPF. Он подкрепляет более широкую мысль: пропускная способность пересылки и пропускная способность управления — это разные ресурсы, и система управления должна оставаться стабильной при росте нагрузки на данные или маршрутизацию.
Доказательства восстановления должны связывать команды с услугами
Публичная оценка фиксирует значимые изменения после инцидента. Rogers добавила средства защиты от лавинного потока маршрутных данных, построила физически и логически отдельную сеть управления, добавила резервную связь от сторонних провайдеров на критических площадках, инвестировала в инструменты проверки конфигурации, пересмотрела алгоритм риска, увеличила лабораторное тестирование, улучшила автоматизацию отката, уточнила роли при инцидентах, приоритизировала аварийные сигналы и снабдила группы реагирования резервными средствами связи [1][2].
Оценка сочла совокупность мер удовлетворительной для устранения корневой причины и повышения устойчивости [2].
Это заявления о контроле. Подотчётное завершение требует также работающих доказательств. Для безопасности маршрутов доказательством являются настроенный потолок перераспределения, наблюдаемое количество маршрутов BGP и OSPF, отклонённый тест на превышение лимита и подтверждение того, что процессор и память ядра остаются ограниченными. Для безопасности изменений — точная разница конфигурации, независимое утверждение, лабораторный результат, наблюдение за канареечным развёртыванием и автоматический откат при провале проверки.
Для независимости управления доказательством является упражнение, в котором производственное ядро недоступно, а инженеры всё равно могут аутентифицироваться, достигать устройств, извлекать журналы, координироваться и выполнять обратимое изменение. Схемы или контракта с оператором недостаточно. Альтернативный путь должен работать при тех же ограничениях по электропитанию, идентификации и персоналу, которые действуют во время инцидента.
Для непрерывности услуг доказательство является внешним. Проверяйте регистрацию беспроводных устройств, голос, SMS, мобильные данные, фиксированный Интернет, деловой доступ, маршрутизацию 9-1-1, публичные оповещения и репрезентативные платежи или облачные транзакции. Фиксируйте каждую услугу отдельно. Восстановленный маршрут не доказывает, что вызов завершается, а зелёный маршрутизатор не доказывает, что экстренное оповещение достигает телефона.
Реестр фиксирует идентичность, а не непрерывность
Текущие записи ARIN RDAP идентифицируют AS812 как ROGERS-COMMUNICATIONS и указывают Rogers Communications Canada Inc. как регистранта [6]. Текущие данные PeeringDB идентифицируют AS812 как Rogers Cable и публикуют текущие атрибуты межсоединений [7]. Эти записи устанавливают публичную сетевую идентичность и поверхность контактов. Они не восстанавливают частное ядро июля 2022 года, не доказывают исторических пиров и не показывают, что фильтр маршрутов оставался на месте.
Это различие и есть поверхность доктрины Heng.lu. Реестр — это журнал и хранитель записей. Он может сказать, кто владеет номером автономной системы и что оператор в настоящее время публикует о своей сети. Работающий код и наблюдаемое состояние маршрутов определяют, движется ли трафик. Запись о подотчётности должна связывать идентичность из реестра с конфигурацией, количеством маршрутов, состоянием устройства, результатом услуги и ответственным владельцем в конкретный момент времени.
То же правило относится к системам изменений. Заявка, помеченная как утверждённая, не доказывает, что развёрнутая конфигурация соответствует проверке. Команда отката, помеченная как успешная, не доказывает, что небезопасные маршруты были отозваны. Инвентаризация резервных путей не доказывает, что управленческий доступ сохранился. Каждой административной записи требуется соответствующее наблюдение из работающей сети.
Что должен содержать достоверный тест на повторение
Во-первых, воспроизведите точный класс политики в лаборатории с производственным масштабом объёма маршрутов. Удалите или измените фильтр перераспределения в контролируемых условиях. Подтвердите, что жёсткий потолок маршрутов отклоняет состояние до существенного роста ресурсов ядра. Убедитесь, что аварийные сигналы идентифицируют устройство, границу протокола, количество маршрутов и инициирующее изменение.
Во-вторых, запустите производственное канареечное развёртывание, экспорт которого не может достичь всего ядра до успешного прохождения проверок. Сравните намеренные и наблюдаемые маршруты BGP-в-OSPF. Принудительно провалите одну проверку и докажите, что автоматический откат восстанавливает предыдущую конфигурацию без импровизации оператора.
В-третьих, изолируйте производственное IP-ядро в упражнении. Потребуйте от реагирующих использовать отдельный путь управления, связь альтернативных провайдеров, независимую службу идентификации и локально сохранённые журналы. Измерьте время доступа, время диагностики, время до безопасного изменения и время до внешнего подтверждения услуги.
В-четвёртых, протестируйте общий отказ услуг. Удалите общий компонент или путь политики и докажите намеренное разделение беспроводной и проводной связи. Подтвердите поведение 9-1-1 и публичных оповещений с ответственными внешними организациями, а не только с внутренними симуляторами. Фиксируйте случаи, когда телефон остаётся подключённым к радиосети, но не может совершить экстренный вызов.
Наконец, сведите все слои в единую хронологию: утверждённая заявка, развёрнутые байты, изменения маршрутов, использование ресурсов устройств, аварийные сигналы, доступ реагирующих, откат, внешние проверки, результаты экстренных служб и коммуникации с клиентами. Тест проходит только тогда, когда эти записи согласуются или объясняют свои расхождения.
За чем следить дальше
Первый сигнал — это доказательство того, что перераспределение маршрутов имеет заявленный и соблюдаемый максимум. Операторы должны уметь обнаруживать неожиданный рост до того, как состояние OSPF достигнет каждого маршрутизатора ядра. Второй — рассматривает ли оценка риска изменений удаление фильтра, перераспределение протокола и достижимость общего ядра как изначально требующие повышенного внимания даже после успеха более ранних этапов.
Третий сигнал — проверенная независимость управления. Резервные каналы и сторонние SIM-карты должны появляться в упражнениях с проверкой срока действия, владения, ёмкости и аутентификации. Четвёртый — отчётность о восстановлении по каждой услуге: беспроводная, проводная, деловая связь, экстренные вызовы, публичные оповещения и внутренние операции не должны сжиматься в одну временную метку восстановления.
Устойчивый урок уже, чем заявление «плохая конфигурация обрушила Канаду». Публичные доказательства подтверждают конкретную цепочку: фильтр политики маршрутов был удалён; полные таблицы BGP попали в OSPF; маршрутизаторы общего ядра были перегружены; общие услуги и управленческий доступ отказали; диагностика и восстановление затянулись. Подотчётность означает доказательство того, что следующее эквивалентное состояние будет ограничено до того, как оно сможет стать национальным сбоем.
Источники
- https://crtc.gc.ca/eng/publications/reports/xonarp2023.htm
- https://crtc.gc.ca/eng/publications/reports/xona2024.htm
- https://crtc.gc.ca/eng/archive/2022/lt220712.htm
- https://about.rogers.com/news-ideas/a-message-from-tony-staffieri-president-and-ceo-at-rogers/
- https://about.rogers.com/news-ideas/a-message-from-rogers-president-and-ceo/
- https://rdap.arin.net/registry/autnum/812
- https://www.peeringdb.com/api/net?asn=812
- https://www.rfc-editor.org/rfc/rfc6192.html
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
