Кратко

  • RFC 3277 описывает гонку, в которой соседи успевают объявить новые IS-IS adjacency, а домен ещё использует собственный LSP маршрутизатора из предыдущей инкарнации и возвращает через него транзит до восстановления BGP.
  • Sequence number, adjacency UP и снятый Overload имеют ограниченные полномочия: они не доказывают общую идентичность поколения, полный набор маршрутов, установку FIB или доставку пакета.

RtrB был кратчайшим путём от RtrA к внешней сети за RtrD. После отказа трафик пошёл через RtrC, который давно работал и располагал полным forwarding state, включая маршруты BGP. RtrB загрузился снова. IS-IS быстро сформировал соседства и вернул низкую стоимость пути. BGP не успел восстановить внешнюю достижимость. Пакеты пришли к RtrB раньше маршрутов и были отброшены.

RFC 3277, опубликованный в апреле 2002 года как Informational, предлагает не новый формат, а эксплуатационное применение LSP Overload bit. Возвращающийся узел продолжает объявлять непосредственно подключённые сети, однако другие маршрутизаторы временно не строят через него транзит. После синхронизации BGP или другого локального trigger он может выпустить LSP со снятым Overload.

Самая тонкая часть возникает до этой проверки готовности: какой собственный LSP домен связывает с уже восстановленными соседствами?

Монотонный номер не заменяет идентичность процесса

Когда RtrB исчезает, выпущенный им LSP может оставаться в базах других узлов. Вернувшись, RtrB формирует adjacency с RtrA и RtrD. Соседи выпускают новые LSP, описывающие эти связи. Сам RtrB ещё синхронизируется и может не успеть распространить новую запись с Overload.

SPF получает новые рёбра и старый узел. Все объекты могут быть подлинными и синтаксически допустимыми. Но рёбра относятся к текущему процессу, а собственное описание — к предыдущему. Граф становится вычислимым раньше, чем становится временно целостным.

RFC 3277 рекомендует обновлять и немедленно разливать self-LSP при каждом установлении adjacency, ещё до database synchronization. Текущий Overload должен дойти раньше, чем соседнее объявление сделает старую запись пригодной для транзита.

RFC 8706 позднее формулирует дополнительную проблему. После start sequence numbers нового процесса могут быть переинициализированы, поэтому копии LSP прежней инкарнации выглядят новее первых сообщений текущей. Порядок внутри одной жизни нельзя безусловно продолжить через границу reboot.

Журналу нужны boot identity, происхождение и sequence self-LSP, порядок формирования соседств, квитанции flooding, поколение базы SPF и итоговый путь. Время чтения объекта не определяет время состояния, которое он описывает.

Overload оставляет адрес узла, но отзывает роль коридора

Полностью пустой LSP мешал бы восстановлению. В операторских сетях iBGP часто использует loopback-адреса. Если убрать их достижимость, сессия, чьего восстановления ожидают, не сможет собраться.

Overload выражает промежуточное состояние: к узлу и его локальным префиксам можно обращаться, но через него пока нельзя нести чужой трафик. Это мандат на роль, а не общая справка о здоровье.

Снятие бита допускает узел обратно в SPF. Оно не удостоверяет количество и состав BGP, resolution next hops, запись в аппаратную FIB или результат сервиса.

RFC 3137 использует родственную идею в OSPF, и существующая статья BTW уже владеет темой MaxLinkMetric, собственной достижимости и поведения единственного пути. Здесь другой центр: граница инкарнаций, старый LSP, новое соседство и более позднее подавление ребра.

SA удерживает ребро, пока новая жизнь не догонит старую

RFC 5306 стандартизировал IS-IS Restart Signaling в 2008 году. RFC 8706 заменил его в 2020-м и разделил restart, при котором forwarding state сохранён, и start, при котором он не сохранён.

Для start предусмотрен SA bit в Restart TLV. Маршрутизатор просит соседей подавить объявление adjacency. Пока не получен IIH со снятым SA, сосед не помещает связь в свой LSP и не использует её в локальном SPF.

Это иной контроль порядка. RFC 3277 требует, чтобы новое Overload-LSP выиграло гонку у соседних объявлений. RFC 8706 позволяет задержать само ребро, которое активировало бы старый узел. В обоих случаях поколение влияет на право объекта участвовать в расчёте.

Planned restart допустим только при действительно сохранённой forwarding plane. Сигнал без этого состояния поддержал бы обещание, которое данные не выполняют; RFC 8706 запрещает такую комбинацию.

Публикация стандарта не доказывает, что конкретное оборудование поддерживает SA, что функция включена или что смешанный домен ведёт себя одинаково. Это проверяется в running configuration и испытании.

N секунд и N префиксов не являются завершением

RFC 3277 оставляет trigger реализации. Среди примеров — N секунд после boot или N BGP prefixes в Loc-RIB.

Таймер доказывает длительность. Он не видит отсутствующего peer, AFI/SAFI, ошибочную policy, неразрешённый next hop или задержку FIB. Рост таблицы и нагрузка превращают старое безопасное значение в раннее.

Count доказывает размер, не состав. Равные множества по численности могут различаться по членам. Важный default или infrastructure prefix может отсутствовать, пока другие маршруты заполняют порог. Loc-RIB не равна установленной FIB.

Локальная политика может сочетать ожидаемые peers, обязательные routes, digest множества, resolution, RIB/FIB readback и контролируемый probe. RFC не предписывает этот набор; он нужен, чтобы не приписывать одному показателю чужие утверждения.

Консервативное исключение зависит от альтернативы

С Overload транзит через узел вообще не рассчитывается. Если RtrB — единственный путь к downstream, защита убирает последнюю достижимость. То, что предотвращает blackhole при наличии RtrC, может вызвать outage без RtrC.

Альтернативное ребро в LSDB ещё не доказывает capacity, независимость отказов, правильную policy и полную FIB. Предположение RFC о давно работающем RtrC в конкретной сети надо подтверждать.

RFC предупреждает и о loops, если системы неправильно реализуют Overload. Authentication подтверждает автора LSP, но не одинаковую интерпретацию и hardware action.

Поэтому решение должно учитывать готовность возвращающегося узла и способность остальной топологии жить без него. Fail closed не освобождает от анализа availability.

Быстрое восстановление не делает одну общую квитанцию

BGP Graceful Restart может удерживать некоторые forwarding entries. IP Fast Reroute выбирает локальный repair path. Ordered FIB convergence упорядочивает изменения после topology event.

Ни один механизм не связывает автоматически новое соседство с текущим self-LSP. BGP stale state не доказывает комплект маршрутов, repair не наполняет таблицу, правильный порядок не создаёт отсутствующую запись, а FIB не доказывает доставку.

Следует хранить раздельно Restart TLV, Overload, SPF output, BGP set, RIB, FIB readback и packet observation. Их связь даёт объяснение; единый зелёный индикатор его стирает.

Доктрина Heng Lu в раскрытом наборе источников требует тонкого общего слоя и проверяемой локальной власти. В этом случае стандарт может определить «не используй меня для transit» и порядок раскрытия adjacency. Он не может объявить BGP полным или service успешным.

Защитимая цепь проходит через incarnation, custody forwarding, adjacency, current self-LSP, flooding, Overload interpretation, IS-IS synchronization, required BGP set, next-hop resolution, FIB, controlled admission, packet, outcome и rollback.

Неопределённость

Материал исследует документы, а не именованный сбой, vendor или современную статистику внедрения. RFC 3277 исторически упоминает несколько крупных IS-IS сетей без имён и измерений. Поддержка RFC 8706, mixed implementations, trigger policy, FIB и capacity обхода должны проверяться в конкретной среде. Объём потерь и улучшение не заявляются.

Источники