Кратко
- RFC 3137 сохраняла router-LSA и обычную стоимость stub-связей, но назначала нестабовым связям значение
0xFFFF, чтобы при наличии резерва другие маршрутизаторы обходили узел транзитом. - Максимальная метрика выражала предпочтение, а не удаление или доказательство завершённой разгрузки. Если другого пути не было, семантика OSPF начиная с RFC 1583 могла выбрать дорогой единственный маршрут.
Между исправным узлом и исчезнувшим узлом было состояние
Маршрутизатор может ещё отвечать на управление, но уже не справляться с чужим трафиком. Процессор перегружен, памяти не хватает на все LSA и таблицу маршрутизации, либо устройство готовят к обслуживанию. Транзит желательно вывести, хотя адреса самого узла и напрямую подключённые префиксы должны оставаться достижимыми.
Удаление router-LSA решило бы задачу слишком грубо. OSPF вычисляет граф. В RFC 2328 первая стадия дерева кратчайших путей строится по маршрутизаторам и транзитным сетям, а stub-сети добавляются листьями. Если LSA узла X исчезает, исчезают его связи и обратные связи, необходимые для пути к X. Через устройство больше не идут, но к нему самому тоже можно потерять дорогу.
Информационная RFC 3137, опубликованная в июне 2001 года, оставила X в link-state database. Вместо удаления идентичности она изменила цену одной функции.
Разные связи сохраняли разные утверждения
Все нестабовые связи в router-LSA узла X получали шестнадцатибитный максимум 0xFFFF. Документ называл его LSInfinity и отличал от 24-битного максимума для summary и AS-external LSA. Stub-связи типа 3 сохраняли выходную стоимость интерфейса.
По нестабовым связям дерево проходит через маршрутизатор или транзитную сеть. Максимальная стоимость отдаёт преимущество любому нормальному резервному пути. Stub-связь представляет напрямую подключённый префикс листом. Обычная стоимость позволяет закончить маршрут на X, даже если проходить через X дальше нежелательно.
Одна LSA сообщала две вещи: узел и его назначения существуют; используйте другую дорогу для транзита, если она есть. Доступность не становилась подтверждением здоровья. Отказ от транзитной роли не превращался в топологическое исчезновение.
RFC называла критическое состояние, плавный ввод и вывод, административные причины и traffic engineering. Это были мотивы сигнала, не готовая процедура обслуживания. Успех команды не доказывал распространение LSA, распространение не доказывало завершение SPF, а SPF не доказывал уход реальных потоков.
Обход должен был существовать заранее
Текст подчёркивал пользу в сети с некоторой избыточностью. Метрика не создаёт альтернативу. Каждый получатель обрабатывает LSA в своей базе, вычисляет дерево и устанавливает собственный следующий переход. Возможность обхода принадлежит топологии.
Если X остаётся единственным путём, 0xFFFF не обязательно означает запрет. В расчёте RFC 1583 и последующих версий это конечная максимальная стоимость. Маршрут может победить за отсутствием других. Такое поведение сохраняет связность при отказе резерва, но способно вернуть нагрузку на уже ослабленный узел.
Поэтому доказательства разделяются. Конфигурация фиксирует намерение. Исходная LSA фиксирует объявление. Удалённая LSDB фиксирует приём. RIB и FIB фиксируют выбор и установку. Потоковая телеметрия фиксирует разгрузку. Сервисная проверка фиксирует полезный результат. Один артефакт не заменяет следующий.
Старое и новое OSPF расходились на единственном пути
Маршрутизаторы с расчётом по RFC 1247 отбрасывали записи связи с LSInfinity. RFC 1583 и более поздние алгоритмы не считали максимальную метрику недостижимостью. RFC 3137 не скрывала это различие.
При наличии обхода обе группы выбирали более дешёвую дорогу. Если X был единственным проходом, старая группа не использовала его для транзита, а новая могла использовать. Документ утверждал, что это конкретное расхождение не создаёт петлю в описанном случае.
Утверждение нельзя превращать в гарантию любой конвергенции. Разновременные обновления FIB и переходные microloop относятся к другой задаче. Поздняя RFC 6976 описала ordered FIB именно как отдельный механизм. RFC 3137 ограничивалась статическим различием интерпретаций максимума.
Название LSInfinity скрывало границу: для одного получателя исключение, для другого последний кандидат. Совместимость работала потому, что при наличии резерва оба выбирали одинаковый результат.
RFC 6987 назвала максимум максимумом
В 2013 году RFC 6987 заменила RFC 3137. Основной приём сохранился, но значение 0xFFFF получило имя архитектурной константы MaxLinkMetric. Новое имя не обещало абсолютной недостижимости: оно точно обозначало наибольшую стоимость связи.
Обновление охватило OSPFv2 и OSPFv3 и добавило для OSPFv3 вариант с R-bit. Сброшенный R-bit последовательно исключает маршрутизатор из транзита. Оператор выбирает последствия: MaxLinkMetric оставляет единственный путь доступным, а R-bit строже соблюдает нетранзитное состояние.
Это выбор между непрерывностью и изоляцией. Термин и разбор R-bit принадлежат документу 2013 года, а не исходному тексту. История показывает развитие одной средней роли, но не позволяет переносить поздние формулировки назад.
Graceful restart двигал транзит в другую сторону
RFC 3623 пытается сохранить маршрутизатор в forwarding path, пока перезапускается его OSPF software. Для этого нужны сохранённая пересылка, стабильная топология и поддержка соседей. RFC 3137 просит сеть предпочесть путь вокруг всё ещё видимого узла.
Оба подхода смягчают переход, но один сохраняет транзит при временно слепом control plane, а другой сокращает транзит при продолжающем работать объявлении. Общее слово «плавный» не делает их эквивалентными.
RFC 5817 позже описала planned shutdown в MPLS/GMPLS TE, а RFC 6976 — порядок FIB при сходимости. Эти документы очерчивают предел: максимальная OSPF-метрика не доказывает снятие tunnel, разрешение на обслуживание, завершённую разгрузку или отсутствие любых переходных петель.
Видимость протокола осталась ограниченным свидетельством
Главная идея была не в числе 65535, а в отказе от единственного состояния «работает». Маршрутизатор мог быть достаточно жив для OSPF и управления, но недостаточно готов для транзита. Он мог отправить правильную LSA, пока удалённые узлы ещё держали старые пути.
X управлял своим объявлением. Получатели управляли SPF и FIB. Топология управляла наличием обхода. Операторы управляли началом и возвратом. Измерения управляли выводом о результате.
Авторы не заявляли об оригинальности, а Informational-публикация не доказывает внедрение. RFC 3137 зафиксировала более узкий принцип: роль можно отозвать, не удаляя идентичность. Маршрутизатор оставался местом назначения и становился лишь нежелательной дорогой к другим местам.
Источники
- https://www.rfc-editor.org/rfc/rfc3137.txt
- https://www.rfc-editor.org/info/rfc3137
- https://datatracker.ietf.org/doc/rfc3137/
- https://www.rfc-editor.org/rfc/rfc2328.txt
- https://www.rfc-editor.org/rfc/rfc1247.txt
- https://www.rfc-editor.org/rfc/rfc1583.txt
- https://www.rfc-editor.org/rfc/rfc6987.txt
- https://www.rfc-editor.org/info/rfc6987
- https://www.rfc-editor.org/rfc/rfc5340.txt
- https://www.rfc-editor.org/rfc/rfc3623.txt
- https://www.rfc-editor.org/rfc/rfc5817.txt
- https://www.rfc-editor.org/rfc/rfc6976.txt
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
