Кратко
- В ACSP 2023.1 сказано, что
AS13335:AS-CUSTOMERSавтоматически обновлялся через XML API ARIN, а созданный RPSL поместил множество участников в одну физическую строкуmembers:. - Автор предложения показал рекурсивный запрос к зеркалу, которое считал экземпляром IRRd v3; полный ответ содержал только семь ASN. ARIN согласилась, что ограничение числа элементов в строке улучшит результаты, и оставила предложение открытым до реализации.
- Логическое множество, атрибуты RPSL, экспортированные байты, импорт зеркала, сохранённый объект, рекурсивный результат и сгенерированный фильтр — разные состояния. Корректность первого не доказывает полноту остальных.
- Межзеркальная квитанция сериализации должна связать канонические число и дайджест участников с точными байтами, границами строк, идентичностью импорта, числом разобранных участников и дайджестом результата, явно отмечая отказ или усечение.
Семь ASN в конце длинного пути
В ARIN ACSP 2023.1 Joe Abley сообщил, что Cloudflare автоматически публиковала AS13335:AS-CUSTOMERS XML-запросами. ARIN преобразовывала данные в RPSL и размещала большую последовательность номеров AS в одной строке members:.
На странице показаны длинное начало перечня, сокращённая середина и несколько последних значений. Этого достаточно, чтобы подтвердить историческую однострочную форму, но недостаточно, чтобы сегодня восстановить полный канонический состав и его дайджест.
Затем запись приводит вывод !iAS-CLOUDFLARE,1 с другого сервера. Автор осторожно написал, что, по его мнению, это был IRRd v3. Ответ считался полным на уровне протокола: семь ASN и терминатор. В этой статье исторический запрос не повторялся; доступность и нынешнее поведение зеркала не предполагаются.
7 февраля 2023 года ARIN ответила, что ограничение числа элементов в строке members улучшит результаты запросов AS-SET. Организация обещала изучить требования, запланировать функцию для будущей разработки и оставить предложение открытым до реализации. Страница по-прежнему помечена Open. Это состояние публичной заявки, а не доказательство неизменности нынешнего вывода ARIN.
Запись также не доказывает, что современные наборы, фильтры или объявления BGP Cloudflare ошибочны. Она не сообщает об утечке маршрута, сбое или перехвате. Доказан более узкий факт: историческое расхождение между богатым представлением источника и очень коротким производным ответом.
Множество, атрибут и строка — разные сущности
RFC 2622 определяет members как необязательный многозначный атрибут. Его значение может быть списком номеров AS или имён других AS-SET. Список внутри одного значения и возможность повторять атрибут — независимые свойства.
Текстовое представление добавляет физические строки. Пара «атрибут — значение» начинается на новой строке; значение продолжается, если следующая строка начинается пробелом, табуляцией или знаком плюс. Поскольку members многозначен, он может встречаться несколько раз. Одно логическое множество можно выразить длинной строкой, повторяющимися атрибутами или строками продолжения. Смысл может сохраниться, но байты, число строк и максимальная длина будут разными.
Так оформление становится интерфейсом совместимости. Новый парсер может принять строку размером в килобайты, а старый — предполагать меньший буфер или поле. Все байты могут быть доставлены, но импортёр сохранит только начало. После неудачного обновления зеркало может продолжить показывать старую версию.
В ACSP нет трассировки парсера и снимка базы зеркала, поэтому точный механизм не доказан. Нельзя без оснований называть конкретный буфер или дефект IRRd. Но физическую сериализацию следует измерять как самостоятельное состояние.
Сериализатор XML–RPSL входит в рабочий интерфейс
В актуальном описании IRR ARIN сказано, что простые объекты в XML преобразуются на сервере в RPSL. Руководство REST API описывает XML- и RPSL-представления и определяет members как ASN или другие AS-SET, входящие в множество.
Публикатор контролирует логический состав. ARIN контролирует физическую форму RPSL после преобразования. По словам автора исторического предложения, XML-схема не позволяла выбрать число участников в строке — это решал код ARIN.
Разбиение строки разумно снижает нагрузку на старые читатели. Однако оно не доказывает сквозную полноту. Интерфейс может визуально переносить строку, тогда как экспорт остаётся длинным. Зеркало может принять все строки, но применить отдельный предел участников. Рекурсивный запрос может отличаться из-за выбора источников при полном сыром объекте.
Поэтому проверка должна сопоставлять и смысл, и байты: канонические число и дайджест у источника, реально экспортированные байты, полученные байты и разобранное множество у зеркала.
Зеркало становится новой границей хранения доказательств
Сегодня ARIN предоставляет NRTM, файлы и Whois и указывает IRRd Version 4 как текущий сервер. Документация IRRd по зеркалированию описывает получение снимка или обновлений, разбор, проверку и запись в локальную базу.
Зеркало не является пассивным стеклом. У него собственные версия ПО, конфигурация, политика источников, история импорта и обработка ошибок. Полная публикация не доказывает полного локального хранения; полное хранение не доказывает, что запрос применил ожидаемые источник и глубину.
Нужны три сопоставления. Совпали ли экспортированные и полученные байты? Совпало ли нормализованное множество после разбора и хранения? Дал ли сохранённый объект ожидаемый результат при явно указанных параметрах запроса? Без средней проверки короткий ответ нельзя привязать к транспорту, импорту или разрешению.
Транзакционная загрузка современных версий IRRd не даёт пользователю увидеть импорт наполовину. Но атомарно зафиксированный частичный разбор всё равно остаётся частичным. Современную документацию нельзя ретроспективно применять к старому зеркалу 2023 года.
Рекурсивный ответ вычисляется по локальному графу
Документация Whois IRRd описывает !i как запрос обработанных данных. В рекурсивном режиме он следует вложенным множествам и возвращает разрешённых участников через пробел. Это не исходный текст RPSL.
Прямой запрос объекта показывает, что сохранило зеркало. Рекурсивный показывает, что выводит его локальный граф при данной политике. Генератор фильтров затем может искать префиксы этих ASN и создавать конфигурацию. Каждый артефакт зависит от предыдущего, но не тождествен ему.
Неполный ответ может иметь правильный терминатор и выглядеть пригодным для автоматизации. Код успеха подтверждает завершение протокола, но не полноту. До генерации фильтра результат надо сопоставить с ожидаемой идентичностью множества.
Квитанция, связывающая смысл и байты
Межзеркальная квитанция сериализации сделала бы границу наблюдаемой. Это редакционное предложение, а не заявленное обязательство ARIN, IRRd или Cloudflare.
Источник записывает ключ AS-SET, версию или серию публикации, каноническое число участников и дайджест по документированному порядку. Затем — сериализатор и его версию, дайджест точных байтов RPSL, общий размер, число физических строк и максимальную длину.
Зеркало записывает источник, снимок или диапазон NRTM, время импорта, версию парсера и результат. Оно сравнивает дайджест полученных байтов и публикует дайджест сохранённого объекта, число разобранных участников и их нормализованный дайджест. Состояние различает полноту, отказ, усечение, частичный разбор и сохранение старой версии после сбоя.
Квитанция запроса добавляет строку команды, источники, флаг или глубину рекурсии, исключения, время, число результатов и дайджест. Генератор фильтров может связать дайджест артефакта, не раскрывая частную конфигурацию.
Такая схема не навязывает единое ПО и не централизует решения о маршрутизации. Она показывает первую границу, где представления перестают нести один смысл.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
