Кратко

  • RFC 1992 допускал неполные и неодинаковые базы: провайдер ограничивал распространение, получатель выбирал, что хранить, внутренние карты могли зависеть от запрашивающего, а кэш — устаревать.
  • Пользователь или его агент оплачивал расчёт маршрута с особыми ограничениями; путь от одного вычислителя устранял петлю из несовместимых hop-by-hop решений, но не доказывал точность, безопасность, QoS, реализацию или принятие.

Большая сеть не теряет общую карту в один драматический момент. Она расстаётся с ней по частям. Один провайдер не публикует внутреннюю структуру. Малый маршрутизатор сохраняет только нужное. Иерархия заменяет редкие возможности средним описанием. Кэш переживает срок полезности. В RFC 1992 все четыре процесса были ожидаемыми, а не случайными исключениями.

Поэтому архитектура Nimrod ставила иной вопрос. Не как добиться одинакового знания повсюду, а как пересылать пакеты, когда одинакового знания заведомо нет.

Карта описывала цель и уровень детализации

Map в Nimrod — граф nodes и направленных adjacencies, где атрибуты описывают доступную связь, услуги и ограничения. Один физический участок сети может выглядеть единым node в грубом представлении и раскрываться как internal map в подробном. Представитель node вправе отвечать разным запрашивающим разными внутренними картами, в том числе из соображений безопасности.

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

Abstraction сокращает описание каждой видимой сущности. RFC приводит показательные способы: исключить услугу, доступную лишь у малой доли элементов, или выразить набор услуг средними значениями. Это не сжатие без потерь. Специальному потоку может понадобиться именно та редкая возможность, которую резюме удалило.

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

Кто не показал и кто не сохранил

Ограничение распространения принадлежало cluster или провайдеру: он решал, какие части рекламировать и кому. Выборочное хранение принадлежало получателю: он решал, что оставить из полученного. Эти полномочия приводят к похожему пробелу, но имеют разные мотивы и владельцев.

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

Caching добавляет временную границу. Повторное использование уже полученной информации снижает задержку и сетевую стоимость, но документ прямо предупреждает: устаревший кэш способен породить маршрут низкого качества. Срок полезности является частью смысла записи.

Сложность следовала за особым запросом

Построение пути с несколькими ограничениями RFC называет обычно NP-complete задачей. Nimrod не возлагал её постоянно на все маршрутизаторы. Сторона, которой нужен специальный путь, получала дополнительную информацию и тратила вычисления. Чаще это делал отдельный агент от имени пользователя.

Алгоритмы не обязаны совпадать в разных местах. Новый способ выбора мог внедряться постепенно, без глобально согласованного обновления. Спрос на сложность финансировал её сам.

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

Одна точка выбора меняет механику петли

Петля возникает, когда A по своей базе отправляет к B, а B по другой базе возвращает к A. Каждый next hop выглядит локально разумным, но их сочетание замыкается.

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

Режимы по-разному распределяют состояние. Во flow mode поле path-id указывает на состояние, заранее установленное в промежуточных маршрутизаторах; запрос setup может включать требуемые bandwidth и delay. CSC и CSS mode несут последовательности connectivity specifications, то есть итог выбора без критериев политики. Datagram mode использует предустановленное flow state для строго непетляющего пути без source route формата IPv4.

Поэтому Nimrod нельзя исчерпать ярлыком «маршрутизация от источника». Не каждый пакет перечисляет физические hops. Общий принцип — единый расчёт пути до передачи, а не единый способ кодирования.

Доказательство отсутствия петли узко. Оно говорит, что конфликтующие локальные next-hop представления не образуют цикл на этом пути. Оно не говорит, что карта вычислителя свежая и верная, link ещё работает, состояние установлено полностью или обещанная услуга исполняется. Пакет способен не вернуться и всё же не прийти.

Аутентичность не равна правде

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

Нужно разделять личность отправителя, целостность передачи, точность содержания, свежесть, уместность абстракции, исполнение setup и наблюдаемый результат. Проверка источника не обновляет кэш и не превращает объявленную характеристику в измеренный сервис. Security Considerations RFC 1992 прямо говорит, что вопросы безопасности в документе не рассматриваются.

Исторический статус не подтверждает эксплуатацию

RFC 1992 имеет статус Informational и отсылает спецификации protocols и distributed databases к другим документам. RFC 1752 зафиксировал мнение IESG: Nimrod оставался слишком исследовательским проектом для роли кандидата IPng. RFC 1753 не предполагал широкого принятия до внедрения, практической пробы и проверки. RFC 2102 оставлял unicast route generation конкретному routing agent, а для multicast не задавал ни генерацию, ни пересылку.

Это источники об архитектурной программе, а не доказательства продукта или распространения. Localized Future Decision Лу Хэна помогает понять местную свободу алгоритма. Running-Code Primacy не позволяет назвать опубликованный текст работающей системой. Reality Layers разделяет рекламируемую карту, установленное состояние, наблюдаемые пакеты и итог услуги.

Главный исторический жест RFC 1992 — отказ сделать всеобщее знание ценой безопасной пересылки. Nimrod назначил конкретного владельца решения и тем самым убрал одну причину петли. Он не превратил неполное знание в правильное. Качество, свежесть, политика, безопасность и фактическая доставка остались за границей этого доказательства.

Источники