Кратко

  • Маршрутизатор AS7007 принял около 23 тысяч маршрутов без входного фильтра, а затем создал десятки тысяч более специфичных префиксов с AS7007 как видимым источником.
  • Ошибка разошлась, потому что соседи её приняли; правило самого длинного совпадения затем отвело трафик от остававшихся правильных агрегатов.
  • Устойчивое решение разделило реестр и исполнение: записи дают доказательства, а оператор ставит фильтр и отвечает за принятый маршрут.

Утро, когда один AS выглядел источником Интернета

Около 11:30 по восточному времени в пятницу 25 апреля 1997 года пограничный маршрутизатор MAI Network Services в AS7007 получил от нижестоящего клиента почти полную таблицу — примерно 23 тысячи маршрутов. В последующем объяснении MAI признала отсутствие входного списка, ограничивающего клиента ожидаемыми префиксами.

По словам компании, устройство раздробило таблицу и удалило прежние AS-пути. Другой маршрутизатор MAI увидел более 73 тысяч записей. Для удалённых сетей множество узких префиксов теперь выглядело исходящими из AS7007.

Цифры зависят от точки наблюдения. Avi Freedman видел около 60 тысяч маршрутов в ядре, другой современный отчёт называл 72 тысячи, MAI — свыше 73 тысяч. Это разные моменты, а не единый мировой счётчик.

Не определена и внутренняя причина. MAI подчёркивала отсутствие IGP и подозревала дефект программного обеспечения. Другие обсуждали перераспределение, конфигурацию и знание оборудования. Преобразование маршрутов и отсутствие фильтра доказаны лучше любой одной версии.

Почему победила более специфичная ошибка

Правильные агрегаты не исчезли полностью. AS7007 объявляла более узкие альтернативы. IPv4 сначала выбирает самое длинное совпадение префикса. Поэтому ложный /24 притягивает свой трафик даже при наличии верного /16.

Это правило поддерживает multihoming и управление трафиком, но тогда усилило сбой. Удаление прежнего AS_PATH сделало AS7007 непосредственным источником. Однако AS-путь — не документ о праве на адреса, а принятая маршрутизаторами история распространения.

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

Отключение источника не удалило копии

MAI сообщила, что закрыла сессию около 11:45, перезапустила устройство в полдень, поставила фильтры и отключила всё примерно в 12:15. Но пути AS7007 возвращались через других провайдеров. Уже скопированное состояние не исчезает вместе с первым отправителем.

Операторы очищали BGP-сессии, вводили аварийные фильтры и объявляли собственные более специфичные маршруты ради клиентов. Route flap damping сохранял память изменений: после повторных отзывов маршруты могли оставаться подавленными уже после стабилизации.

15 мая Curtis Villamizar писал, что одни провайдеры фильтровали за 15–20 минут, другие не сделали этого вовсе, а upstream блокировал источник более двух с половиной часов. У каждой границы были свои правила, люди и время реакции.

Превратить извинение в исполняемую границу

MAI приняла конкретную ответственность: входные объявления клиента не были ограничены. После инцидента компания ввела полные списки. Такое исправление можно проверить.

Позднейшая практика сформулировала правило прямо: от клиента принимаются только его префиксы. Лимит количества останавливает полную таблицу; фильтры путей и специальных диапазонов добавляют защиту; мониторинг сравнивает полученное с договором и ожидаемой топологией.

Провайдер не управляет компанией клиента. Он управляет своим маршрутизатором и отвечает за ущерб третьим лицам, когда передаёт неправдоподобное объявление. Его полномочие реально, но ограничено собственной границей.

Полезный, но неполный реестр маршрутов

Реакция 1997 года усилила распределённый Internet Routing Registry. Объекты route и aut-num могли описывать источники и политики, из которых инструменты строили фильтры.

ANS объявила фильтрацию по базам ANS, CANET, MCI, RIPE и RADB. Проверка нашла 2 829 объявленных префиксов без регистрации и покрывающего агрегата. Уведомления получили 312 исходных AS по 2 108 префиксам; для 151 AS и 721 префикса контактов не нашлось.

После исправлений оставались 2 096 незарегистрированных префиксов от 333 AS. Строгий фильтр по неполной базе мог убрать законную связность, а отсутствие фильтра пропускало ложь. Название «авторитетная» не исправляло данные.

RFC 2622 формализовал RPSL. RFC 2725 усилил полномочия на изменения, но признал устаревшие записи после агрегации, исчезновения сетей и смены провайдера. Аутентификация защищает транзакцию, но не заполняет реестр и не настраивает маршрутизатор.

От предполагаемых отношений к объявленным ролям

Долгое время предотвращение зависело от правильной настройки ролей клиента, провайдера и пира. RFC 9234 в 2022 году добавил BGP Roles и атрибут Only-to-Customer: стороны могут объявить отношения, а некоторые утечки — отклоняться или обнаруживаться.

В 1997 году механизма не было; он не универсален и не подтверждает всякий источник. Но он превращает скрытое коммерческое ожидание в проверяемое свойство протокола.

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

Источники и пределы

Хронология основана на объяснении MAI, наблюдении Avi Freedman и сообщении ANS о фильтрах. Механизм подтверждают RFC 1812, RFC 2439, RFC 2622, RFC 2725, RFC 7454 и RFC 9234.

Полного мирового знаменателя ущерба нет. Причина, объём и длительность различаются по наблюдателям. Источники подтверждают широкую случайную утечку, отсутствующий фильтр и распределённое восстановление, но не точное число пострадавших и не всеобщее внедрение поздних защит.