Кратко

  • Максимальное допустимое значение Generic Metric не удаляет канал из расчёта Flex-Algorithm, а оставляет его как последний вариант.
  • Если победившей FAD нужна не-IGP-метрика, которой у канала нет, канал отсекается. Если нет лишь значения полосы или задержки для порогового ограничения, именно это правило канал не отсекает.
  • Проверяемая квитанция должна хранить признак наличия, источник, способ получения, потребляющее правило, первую причину отсечения, вычисленную топологию и отдельные наблюдения FIB и трафика.

Во время обслуживания инженер поставил всем каналам узла максимальную метрику и сообщил, что трафик выведен. Почти весь трафик ушёл, один путь остался. Это не обязательно ошибка реализации: без альтернативы максимальная метрика может быть последним разрешённым путём.

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

RFC 9843, опубликованный в сентябре 2025 года как Standards Track и имеющий отдельную карточку RFC Editor, обновляет RFC 9350. Текстовая и XML-версия задают Generic Metric, ограничения минимальной полосы и максимальной задержки, Bandwidth Metric и автоматическое вычисление для IS-IS и OSPF. Стандарт задаёт общую семантику, но не подтверждает внедрение или маршрут в конкретной сети.

Максимум остаётся рабочим

Для IS-IS максимальное допустимое значение Generic Metric равно 0xFFFFFF, для OSPF — 0xFFFFFFFF. RFC 9843 требует использовать такой канал как последний вариант. При обслуживании он уступает более коротким путям, но сохраняет связность, если альтернативы нет.

Поэтому «максимальная метрика» и «выведен из эксплуатации» — не синонимы. Изменение доказывает деприоритизацию. Для изоляции нужна отдельная управляющая операция и наблюдение, что канал действительно исчез из нужного расчёта. Квитанция связывает намерение, тип метрики, победившую FAD, затронутые объявления и результат SPF.

RFC 1195 и RFC 2328 сохраняют различия основ IS-IS и OSPF. RFC 5305 и RFC 3630 задают Traffic Engineering-атрибуты. Если у типа метрики уже есть прежний механизм объявления, именно он используется, а дублирующее Generic Metric игнорируется. Источник значения — часть доказательства.

Отсутствие обязательной метрики исключает

Победившая Flexible Algorithm Definition выбирает тип расчёта, метрику и ограничения. Правило RFC 9350 требует отсечь канал, если алгоритм использует метрику, отличную от обычной IGP, а канал её не объявляет. Подставлять ноль нельзя.

Ноль сделал бы канал с наименьшим объёмом доказательств самым дешёвым. Локальный default сделал бы результат зависимым от реализации. Отсечение сохраняет единое значение входа среди участников одного набора совместимости.

Автоматический расчёт Bandwidth Metric — не произвольный fallback. Если FAD явно выбирает его, отсутствующую явную метрику можно вывести из объявленной Link Bandwidth. Если нет и полосы, вычислять не из чего, и канал отсекается. В модели данных нужны отдельные состояния: «явной нет, производная есть» и «необходимый вход отсутствует».

Отсутствие порогового свидетельства не даёт отрицательного результата

FAEMB сравнивает объявленную Maximum Link Bandwidth с минимальным порогом. Значение ниже порога удаляет канал. Если значение полосы не объявлено, RFC 9843 запрещает удалять канал по этому ограничению; расчёт переходит к дальнейшим правилам.

FAEMD сравнивает Min Unidirectional Link Delay с максимумом. Формат данных поддерживают RFC 8570 и RFC 7471. Слишком высокая задержка исключает, отсутствующая задержка — нет, по крайней мере на этом шаге.

Такой канал не «прошёл проверку». Проверка не получила предпосылку для отказа. RFC 9479 и RFC 9492 показывают дополнительную границу: атрибут должен находиться в применимом контейнере и области приложения. Значение где-то ещё в link state не обязательно доступно выбранному расчёту.

Оператор может локально запретить активацию FAD при неполных измерениях. Это разумная fail-closed-политика, но её следует записать как дополнительное условие допуска. В логике docs/heng-lu-note.md общий слой обязан точно определить только совместимые биты и решения; пороги, риск неизвестности и момент внедрения остаются у участника, который запускает код.

Формула ёмкости не наблюдает текущую загрузку

Метод reference bandwidth делит опорную полосу на полосу канала. Granularity сглаживает небольшие изменения, чтобы метрика не дрожала. Метод thresholds сопоставляет диапазонам ёмкости заранее выбранные метрики. Одновременное присутствие обоих методов делает FAD недействительной; нулевая reference bandwidth делает недействительным соответствующий sub-TLV.

Явная Bandwidth Metric имеет приоритет. В Interface Group Mode параллельные каналы рассматриваются согласованно. Если явные метрики есть у всех, используются индивидуальные значения. Если только у части, частичные значения игнорируются и автоматическая функция применяется ко всей группе. RFC 8668 и RFC 9356 описывают атрибуты участников Layer 2 bundle, из-за которых отказ компонента меняет суммарную ёмкость.

Однако ёмкость не равна свободной полосе. RFC 9843 прямо говорит, что эти процедуры не обновляют метрику по фактическому трафику и не заменяют динамический взгляд PCE из RFC 4655. Низкая производная стоимость означает применение политики ёмкости, а не гарантию места для следующего большого потока.

Квитанция должна назвать решившее правило

RFC 8919 и RFC 8920 дают контекст определения Flex-Algorithm в IS-IS и OSPF. Сначала сохраняются победившая FAD, её источник и версия, тип расчёта, тип метрики и упорядоченные ограничения. RFC 2119 и RFC 8174 отделяют нормативное требование от описания.

Для каждого канала требуются: битовая карта наличия выбранной метрики, полосы, задержки и application-specific-контейнера; значение, единица, возраст, LSA или фрагмент; явное, производное или недоступное происхождение; reference, granularity или таблица порогов; группа интерфейсов; решение по дублям и недействительным комбинациям; первое правило отсечения либо факт прохождения всех правил. SPF, FIB, пакет и результат услуги — следующие независимые события.

Негативные тесты меняют по одному входу. Максимум без альтернативы должен оставить путь. Отсутствующая выбранная метрика — удалить. Автоматический режим без Link Bandwidth — удалить. Отсутствующее значение FAEMB или FAEMD — не удалить этим правилом и не объявить соответствие. Частичные явные метрики в группе — игнорировать. Два автоматических метода — отклонить FAD.

Совместимость — это одинаковая причина решения из одинаковых байтов, а не одинаковый цвет панели.

Границы вывода

Не тестировались маршрутизатор, продукт, default производителя, номер алгоритма, порог, канал, задержка, домен или обслуживание. Не наблюдались FIB, пакет, предотвращённая перегрузка или SLA. Standards Track не доказывает реализацию. Вычисленная топология не доказывает фактический путь.

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

Источники