Кратко

  • RFC 6996 требует удалить ASN частного использования из AS_PATH и, когда применимо, AS4_PATH до глобального объявления префиксов, возникших в таких AS. Это обязательный результат на границе, а не единый алгоритм для всех реализаций.
  • Удаление только начальной группы, всех вхождений, замена публичным ASN и исключение номера соседа формируют разные публичные пути. Удаление способно сократить путь и изменить выбор; замена может сохранить число позиций, уничтожив различие внутренних субъектов.
  • Надёжное доказательство связывает исходные AS_PATH и AS4_PATH, реконструкцию, версию правила по соседу и AFI/SAFI, Adj-RIB-Out, приём и решение downstream, FIB и пакеты. Чистый путь коллектора показывает лишь финальную проекцию.

Три выхода как проверка реальной семантики

Пусть синтетический лабораторный провайдер использует зарезервированный для документации ASN 64497 как пример пограничной идентичности и получает от клиента тестовый префикс через 65020, 65030 и 4200000041. 64497 не является глобально назначенным публичным производственным ASN. Второй тестовый путь содержит непубличный документационный ASN между двумя частными значениями. Такой смешанный случай отделяет реализации, которые на полностью частном пути выглядят одинаково.

Выход A просматривает путь слева, удаляет непрерывную начальную группу и останавливается на первом неприватном ASN в документационном лабораторном пути. Выход B удаляет все вхождения из обеих частных областей. Выход C заменяет каждое из них на документационный ASN 64497 лабораторного провайдера. Затем каждый eBGP-говорящий добавляет обычный локальный prepend.

На A частный номер после публичного может сохраниться. На B маршрут становится на несколько позиций короче и получает преимущество. На C downstream видит несколько 64497 и может применить ограничение повторного prepend. Старая версия способна принять команду, но не распознать 4200000041 в AS4-представлении.

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

Частный — это область смысла, а не тайна

IANA отводит под Private Use диапазоны 64512–65534 и 4200000000–4294967294. Номера 64496–64511 предназначены для документации и примеров. 65535 и 4294967295 отдельно зарезервированы RFC 7300.

Регулярное выражение по принципу «большое число» может стереть документальный или резервный номер и одновременно пропустить четырёхоктетный частный диапазон. Классификация IANA должна быть версионированным входом автоматизации. Успех команды в CLI не доказывает, что установленная реализация знает актуальные области.

Внутри разрешённого контура частный ASN несёт реальную операционную идентичность. RFC 7938 описывает Clos-фабрики, где частные номера обозначают leaf и кластеры, участвуют в обнаружении петель и повторно используются в изолированных доменах. Неоднозначность появляется за пределами локального реестра: другая организация может назначить то же число иному субъекту.

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

Инвариант RFC 6996 и пространство локального выбора

RFC 6996 требует очистки перед объявлением в глобальный Интернет, прямо включая AS4_PATH, и допускает обычную фильтрацию маршрутов как способ не выпустить их. Минимальный общий результат ясен: неуникальный локальный номер не выдаётся за глобально распознаваемый AS-hop.

Документ не добавляет меток на места удалённых узлов, не согласует режим с получателем и не уравнивает all, limited, replace, nearest или исключения соседа. Он предупреждает, что известные реализации могли вообще ничего не удалить из смешанного публично-частного пути.

Это полезная минимальная исходная спецификация: она закрепляет общее условие и оставляет развитие механизма локальным. Свобода не отменяет необходимости назвать, версионировать и проверить выбранную семантику. Текст настройки выражает намерение; работающий код и Adj-RIB-Out выражают исполнение.

AS_PATH управляет, а не только рассказывает

RFC 4271 определяет AS_PATH как обязательный атрибут из упорядоченных AS_SEQUENCE и AS_SET. Внешний говорящий обычно добавляет свой ASN. Получатель ищет собственный номер для обнаружения петли. Длина часто влияет на best path, политики сопоставляют конкретные последовательности.

Удаление трёх позиций меняет управляющий вход. Маршрут может победить альтернативу без изменения физической топологии или договора. Трафик смещается из-за новой проекции. Nokia прямо отмечает, что удаление сокращает AS_PATH и может повысить предпочтение.

Замена сохраняет лишь количество. Три внутренних субъекта, превращённые в три 64497, выглядят как многократный prepend провайдера. Фильтры могут отреагировать, а различия между внутренними доменами пропадают.

Если частный номер совпадает с ASN downstream-соседа, сохранение значения позволяет тому увидеть себя и отклонить петлю. Junos предлагает no-peer-loop-check, Nokia — skip-peer-as. Снять исключение значит удалить конкретный сигнал защиты, а не просто дочистить строку.

Одинаковые глаголы у вендоров не равны одинаковым алгоритмам

Cisco документирует границу релизов: старое поведение не обрабатывало смешанные пути, новые режимы способны удалять частные значения среди публичных; all replace-as подставляет локальный AS. Настройка по address family способна создать разные истории IPv4 и IPv6 для одного соседа.

Junos обычно идёт с левого края и останавливается на первом публичном ASN либо частном значении, равном ASN peer. all расширяет область, replace и nearest выбирают замену. Сегменты конфедерации уже обрабатываются раньше.

Nokia SR OS разделяет limited, skip-peer-as и replace, определяет замену по local-as, router AS или конфедерации и выполняет удаление перед as-override. Arista различает сохранение, удаление и замену со своим описанным ограничением смешанных путей.

Поэтому смешанному парку нужна семантическая матрица: платформа, версия, распознанные диапазоны, начальная группа или все вхождения, смешанный путь, peer-исключение, заменяющее значение, порядок с конфедерацией и override, AS4, AFI/SAFI и наблюдаемость.

Частичная очистка AS4_PATH

При взаимодействии новых и старых BGP-говорящих информация может делиться между AS_PATH и AS4_PATH. RFC 6793 задаёт реконструкцию и случаи, когда она неполна. Поэтому требование RFC 6996 к обоим атрибутам имеет практический смысл.

Неполная реализация может удалить 65020 из видимого AS_PATH и оставить 4200000041 в AS4_PATH. Команда отображения иногда показывает только реконструированный путь, иногда — один сырой компонент. Тест хранит сырой AS_PATH, сырой AS4_PATH и эффективную реконструкцию до политики, после преобразования и у способного получателя.

AS_TRANS — не Private Use, а резервное значение переходного механизма. Слишком широкий классификатор, удаляющий его, повреждает реконструкцию.

Конфедерация осуществляет другую власть удаления

Конфедерации применяют AS_CONFED_SEQUENCE и AS_CONFED_SET для внутренней Member-AS-структуры, а наружу показывают идентификатор конфедерации согласно RFC 5065. Частные номера часто используются участниками, но категории независимы.

Если конфедерационные сегменты исчезают до remove-private, алгоритм не видит тот путь, который был в ранней диагностике. Реестр доказательств различает три причины: удалено границей конфедерации, удалено как IANA Private Use, заменено экспортной политикой. Метка «санитизировано» не восстанавливает причинность.

Повторное использование превращается в конфликт

Изолированные кластеры могут повторно использовать leaf-ASN. При слиянии, аварийном восстановлении или временном backbone они соединяются, и маршрутизатор получает собственный номер от другого физического субъекта, отклоняя допустимый путь как петлю.

Некоторые схемы используют allowas-in; RFC 7938 обсуждает приём и отмечает отсутствие стандартизации. Иные топологические барьеры могут сделать исключение обоснованным, но обычное правило обнаружения петли уже не даёт полного доказательства.

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

Коллектор хранит проекцию, не полную историю

В синтетической лаборатории документационных ASN путь 64497 64498 без частных значений доказывает только то, что один наблюдатель получил чистое представление. Он не превращает эти документационные ASN в глобально назначенные публичные идентичности и не раскрывает исходные ASN, удаление или замену, равенство других соседей и AFI, разрешение внутреннего origin.

RFC 6996 допускает необходимость трассировки к соседнему глобально уникальному AS или другим атрибутам. Провайдер наследует обязанность доказательства. Для каждой очищенной маршрутизации он связывает публичное объявление с клиентом, входной сессией, сырыми атрибутами и эпохой политики.

Минимальный реестр включает префикс, AFI/SAFI, source peer, тип отношения, сырые AS_PATH и AS4_PATH, реконструкцию, версию IANA-классификации, policy и software, область совпадения, peer-исключение, замену, post-policy путь и локальный prepend. Затем присоединяются Adj-RIB-Out по соседу, downstream Adj-RIB-In, причина best path, FIB next hop и пакеты.

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

Canary должен разделять реализации

Кроме полностью частного пути, нужны: начальная частная группа перед публичным ASN; частный после публичного; повторы; ASN соседа; значение из каждого Private Use диапазона; документальный ASN; AS_TRANS; соседство конфедерационных сегментов; AS4_PATH через старого говорящего.

Для каждого входа фиксируется точная ожидаемая последовательность при limited, all и replace. Нераспознанное четырёхоктетное значение останавливает rollout. Peer-исключение доказывается одной по-прежнему отклонённой петлёй и одной явно разрешённой ситуацией.

Кандидаты сравниваются до и после. Превращение четырёх hops в один требует одобрения изменения предпочтения. Повторяющийся 64497 проверяется против prepend-фильтров.

Rollback включает повторное объявление. Удаление команды не доказывает замену старой проекции в удалённых Adj-RIB-In. Ограниченная переоценка policy, route refresh или действие сессии восстанавливает точный путь, после чего проверяются выбор, FIB и пакеты.

Источники