Кратко
- RFC 1914 не назначал обязательный корневой каталог: клиент выбирал начальный сервер, разбирал
SERVER-TO-ASKи сам решал, какие переходы выполнить. - Клиентская память устраняла циклы, а клиентская политика задавала глубину, скорость, чёрный список, бюджет и момент остановки.
- Найденная запись подтверждала один пройденный путь; пустой результат не подтверждал глобальное отсутствие без журнала доступных и отброшенных ветвей.
Трудная работа давала клиенту власть
RFC 2651 обобщил индексную архитектуру как Common Indexing Protocol. Он прямо признал, что маршрутизация запроса оставляет клиенту много работы. Но эта же обязанность позволяла клиенту управлять размером результата, скоростью и глубиной поиска. Единый корень отвергался по соображениям масштабирования, а выбор входной точки оставался существенным.
Такое решение не делает работу бесплатной и не гарантирует одинаковый результат. Один клиент предпочитает быстрое ограниченное множество, другой идёт глубже, третий отбрасывает дорогой или подозрительный сервер. Контроль означает, что именно клиент должен объяснить, какие границы он установил.
RFC 1914 описывал эту ответственность применительно к WHOIS++. Его наследие не в доказанной универсальности системы — такой вывод документы не поддерживают, — а в точном разборе того, как децентрализованный поиск превращает политику обхода в часть ответа.
Ответ мог быть указателем, а не записью
Отдельная транзакция была короткой: установить соединение, отправить запрос, получить ответ, закрыть соединение. Сервер мог вернуть записи или блоки SERVER-TO-ASK, предлагая другие серверы для продолжения.
Указатель был предварительным знанием. Он не обещал, что следующий узел доступен, дёшев, надёжен или действительно содержит нужную запись. Индексный сервер отвечал за рекомендацию; базовый — за свои данные; клиент — за решение превратить рекомендацию в новое соединение и объединить ответы.
Когда первой выдачи было недостаточно, клиент мог запросить отношения polled-by и polled-for, обнаружить другие индексные серверы и повторить исходный запрос. Карта поиска проявлялась в ходе самого поиска. Пустой ответ на входе был возможным поводом расширить маршрут, а не свидетельством пустоты всей сети.
Граф заставлял помнить уже посещённое
WHOIS++ допускал несколько иерархий и сокращающие путь связи. Один базовый сервер мог входить в разные индексные структуры. Поэтому сеть была графом, а не гарантированным деревом: новая ссылка могла вернуть запрос к уже пройденному узлу.
RFC 1914 целиком возложил обнаружение и устранение циклов на клиент. Пример алгоритма разделял OriginalServers, ServerList, QueriedServers и AnswerList. Перед запросом клиент проверял, не обращался ли он к этому серверу раньше. Ни один узел не видел всю поездку; непрерывную память нёс её организатор.
Этот набор — часть доказательства поиска. Полученная ссылка, выбранная цель, попытка соединения, ответ и показанная пользователю запись не являются одним событием. Финальная выдача без списка посещений не объясняет, был ли иной путь исчерпан, отброшен как повтор, заблокирован, недоступен или вовсе не обнаружен.
Расширение могло расти быстрее пользы
RFC предупреждал: слепое автоматическое расширение способно вызвать экспоненциальный рост расхода ресурсов. В некоторых частях задуманной среды ответы были платными. Ещё одна ветвь могла одновременно увеличить шанс находки, задержку, трафик и счёт.
Поэтому документ не рекомендовал неограниченную автоматику. Сложный клиент должен был уметь отсекать отдельные серверы, в том числе слишком дорогие. Пользователь должен был иметь возможность прекратить долгую операцию. Остановка определяла не только работу интерфейса, но и границу допустимого утверждения о полноте.
Скорость легко превратить в неверный стимул. Программа может выглядеть быстрой, если молча исключает медленные ветви. Более широкий поиск может выглядеть ненадёжным, потому что дольше ждёт отказавшие узлы. Без глубины, числа запросов, времени, байтов, тарифов, повторов и причины завершения метрики скрывают обмен полноты на стоимость.
Местный вход не задавал географию данных
Клиенту советовали начинать с заранее настроенного сервера, максимально близкого на практике. Это могло уменьшить задержку и расходы, но не ограничивало географию записей. Американский сервер мог индексировать сведения из Швеции через отношения опроса.
Если нужны были только объекты из США, страну следовало указать в запросе. Местонахождение входа — свойство маршрута; географический фильтр — семантика вопроса. Смешение этих фактов приписывает топологии полномочия, которых у неё не было.
Поэтому два клиента с одинаковым текстом запроса могли получить разные множества, даже если ни один сервер не сообщал ложь. Разными могли быть вход, обнаруженные связи, возраст кэша, исключения или бюджет.
Каталогу серверов самому требовался известный адрес
Directory of Servers был специальным сервисом WHOIS++. Он публиковал навигационные записи: относительно стабильный дескриптор сервера, известные на тот момент имя хоста и порт, а также описания. С его помощью пользователь мог выбрать более подходящую точку входа.
Однако адрес и порт самого каталога требовалось настроить заранее. Он не отменял начальную конфигурацию и не становился универсальным корнем данных. RFC предлагал показывать варианты пользователю, а не автоматически выбирать один из них.
Дескриптор помогал исправлять устаревшие ссылки. Имя хоста или IP в SERVER-TO-ASK могло быть сохранено со времени опроса многонедельной давности. После неудачного соединения клиент обращался по стабильному дескриптору и получал последнее известное имя. Но «последнее известное» не означало «доступное сейчас» и не подтверждало неизменность записей. Старый адрес, отказ, разрешение дескриптора и новая попытка — отдельные квитанции.
Centroid показывал возможность, не исходную запись
RFC 1913 объяснял предварительное знание, на котором строились ссылки. Centroid содержал имена шаблонов и атрибутов, а также дедуплицированный список слов, хотя бы раз встречавшихся в записях сервера. Индекс мог сопоставить запрос с компактным резюме, не копируя базу целиком.
Эта экономия ограничивала вывод. Наличие слова не показывало конкретную запись, не доказывало, что два термина встречаются вместе, не подтверждало свежесть и истинность поля. Centroid оправдывал обращение к серверу; запись ещё предстояло получить.
RFC 1835 также разделял распределённое обслуживание базовых данных и индексный сервис, помогающий их найти. Модель запросов и механизм аутентификации не создавали общей власти над всеми идентичностями и фактами сети.
Чёрный список был отказом, а не всеобщей проверкой
RFC 1914 допускал появление поддельного WHOIS++-сервера и предлагал клиентский чёрный список. Это была локальная возможность отказаться от конкретной цели. Отсутствие в списке не делало все остальные серверы проверенными. Неизвестность нельзя было превращать в доверие.
Каждый слой делал узкое заявление. Индекс предлагал путь. Directory of Servers сообщал сохранённую точку связи. DNS разрешал имя в определённый момент. Сеть обеспечивала или не обеспечивала достижимость. Удалённый сервер отвечал по собственной политике. Клиент связывал эти данные со своими правилами; ни одна квитанция не подтверждала всю цепочку.
Последующие эксперименты не доказывают мирового охвата
RFC 2968 документировал сценарии TISDAG для нескольких DAG-сервисов. Он показывает продолжение работы с распределёнными индексами и обменом индексными объектами, но не доказывает, что RFC 1914 был развёрнут повсеместно или когда именно прекратились реальные установки.
Сегодня RFC 1914 имеет статус Historic, а рабочая группа WNILS завершена. Это административные факты о стандартах. Они не дают числа пользователей, доли рынка, тарифов, кривой внедрения или точной даты выключения. Исторический вывод должен оставаться в границах архитектурного текста.
Для отсутствия нужен журнал обхода
Защищая вывод «не найдено», оператору понадобились бы исходный запрос и явные ограничения, стартовый сервер, все SERVER-TO-ASK, отношения опроса, версии centroid, дескрипторы и адреса, возраст кэша, ответы DNS, попытки соединения, множество посещённых узлов, чёрный список, лимиты времени, числа запросов и цены, а также автор и причина остановки.
Без этого ноль может означать отсутствие записи на первом сервере, отсутствие слова в индексе, старый или недоступный адрес, дорогую отсечённую ветвь, устранённый цикл, отмену пользователем либо действительно исчерпанную достижимую область. У сети не было обязательного корня. Но у заявления о полноте всё равно должен был быть владелец, способный предъявить маршрут.
Источники
- Информационная страница RFC Editor для RFC 1914
- RFC 1914 — How to Interact with a Whois++ Mesh
- Информационная страница RFC Editor для RFC 1913
- RFC 1913 — Architecture of the Whois++ Index Service
- Информационная страница RFC Editor для RFC 1835
- RFC 1835 — Architecture of the WHOIS++ service
- Информационная страница RFC Editor для RFC 2651
- RFC 2651 — The Architecture of the Common Indexing Protocol
- Информационная страница RFC Editor для RFC 2968
- RFC 2968 — Mesh of Multiple DAG servers: Results from TISDAG
- IETF Datatracker — документы завершённой рабочей группы WNILS
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
