Кратко

  • draft-ietf-bier-bfd-12 переносит BFD «точка — множество точек» в BIER. BFER, потерявший непрерывность от BFIR, отправляет самопроизвольное IP/UDP-уведомление по пути, который должен быть отделён от multicast-дерева.
  • Ответ Final подтверждает, что BFIR сопоставил сообщение с сессией. Он не локализует разрыв, не описывает все хвосты и не подтверждает ремонт дерева или доставку приложению.

На одном BFER истёк таймер. Узел объявил Down, указал Control Detection Time Expired и отправил сообщение на UDP 4784. BFIR вернул Final. Это успешная передача сведений о неисправности, но не успешная передача multicast-данных.

Такую границу проводит редакция 12 BIER BFD от 29 сентября 2026 года. Активный Internet-Draft группы BIER нацелен на Standards Track и истекает 2 апреля 2027 года. Это не RFC, не итоговое решение IETF, не назначение IANA, не реализация и не отчёт о внедрении. Три запрошенных значения всё ещё обозначены TBD1, TBD2 и TBD3.

Хвост наблюдает только направление от головы

BFIR играет роль MultipointHead и рассылает BFD Control внутри BIER выбранному набору BFER. Каждый хвост следит за входящим потоком. Когда время обнаружения заканчивается, он может заявить о потере непрерывности.

Точное утверждение узко: этот BFER не получил ожидаемый пакет от этого BFIR в этой сессии. Оно не называет повреждённую линию, промежуточный узел или запись пересылки. Другие хвосты могут продолжать получать данные. Локальный timeout не равен состоянию всего дерева.

Сессию можно запустить через BIER Ping, BGP или статическую конфигурацию. Target SI-BitString задаёт набор BFER, а предлагаемый TLV несёт My Discriminator. При изменении значения bootstrap повторяется. Распространённые параметры не доказывают одинаковую установку на всех хвостах и фактический путь последующих пакетов.

Дискриминатор неотделим от BFIR

Обычный BFD использует Your Discriminator для выбора сессии у получателя. P2MP-хвост получает My Discriminator, назначенный MultipointHead, и нуждается в дополнительном контексте. Число может повториться у другой головы.

BIER добавляет BFIR-id. Поэтому редакция 12 требует ключ (BFIR-id, My Discriminator). Если журнал сохраняет только четыре октета, он теряет область уникальности и может связать тревогу с неверным корнем.

Надёжная запись включает также поддомен, целевой набор, локальный BFER, источник bootstrap и историю изменений. Составная идентичность защищает последующее решение от ошибки атрибуции.

Тревога не должна разделять судьбу дерева

После обнаружения BFER устанавливает Poll, состояние Down и диагноз Control Detection Time Expired. Поле Your Discriminator получает My Discriminator сбойной сессии. Пакет идёт к адресу BFIR по IP/UDP unicast на порт 4784.

Обратный путь должен быть disjoint относительно multicast-дерева. Иначе один сбой поглотил бы и измеряемый поток, и его сигнал. Независимый маршрут даёт шанс увидеть неисправность извне её общей судьбы.

Однако приём сообщения доказывает только прохождение этого unicast-пакета. Он не показывает, где сломалось прямое BIER-направление. Нужно отдельно хранить происхождение сессии, на которой истёк таймер, и маршрут, интерфейсы и контекст безопасности возврата.

Логическое различие ещё не означает физической независимости. Два маршрута могут делить линейную карту, канал, питание или очередь control plane. Проект задаёт требование, а реальные домены отказа проверяет оператор.

Final завершает уведомление, а не аварию

BFER передаёт одно сообщение в секунду, пока не получит действительный Final или пока дефект не исчезнет. Кроме того, ему рекомендуется передать три пакета через псевдослучайные интервалы в течение секунды.

BFIR сопоставляет уведомление по Your Discriminator и отвечает unicast-пакетом с Final. Хвост узнаёт, что голова приняла и распознала сообщение. Он не узнаёт, что дерево отремонтировано, маршрут изменён или приложение снова получает multicast.

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

Молчание хвоста имеет несколько объяснений

Один общий сбой способен затронуть много BFER, вызвав поток сообщений к одному BFIR. Редакция 12 требует контролировать число уведомлений, передаваемых для обработки в control plane.

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

Следует сопоставлять ожидаемые активные хвосты, установленные пары, Down, входные отбрасывания, допущенные пакеты, найденные сессии, Final и последующее восстановление. Счётчики ограничения объясняют, какие отрицательные факты система вообще могла увидеть.

Цепочка состоит из точной редакции, полномочия bootstrap, составной личности, последнего пакета, timeout, построения тревоги, обратного пути, сопоставления на голове, Final или очистки дефекта, учёта хвостов, диагностики, ремонта, возврата BFD и результата приложения. Ни один этап не доказывает следующий.

Принцип минимальной начальной спецификации Heng Lu здесь уместен. Общий слой стандартизует идентичность, сигнал, повторы и подтверждение. Выбор активных хвостов, физическая независимость, защита control plane, диагностика и ремонт остаются местными решениями. Публикация проекта не доказывает принятие; работающий код, пакеты и результаты доказывают.

Источники