Кратко

  • draft-hardaker-dnsop-nothing-new-00 предлагает добавлять к TC сигнал NN и запись LARGE с 16-битным идентификатором, чтобы не загружать повторно большой RRset, который выглядит неизменившимся.
  • Это индивидуальный Internet-Draft, прямо названный неполным и пока нереализуемым. Datatracker не указывает поток и целевой статус RFC, хотя заголовок документа говорит Standards Track.
  • Совпадение коротких значений полезно лишь при сохранённых имени, типе, классе, view, алгоритме, эпохе, полном хэше RRset и линии кэша. Само число не является глобальной версией.
  • Защищённая эксплуатация разносит подсказку, аутентификацию, криптографическую допустимость, состояние authority, решение не загружать и клиентский результат по отдельным квитанциям.

Равенство без происхождения нельзя перепроверить

Большой DNS-ответ может не поместиться в UDP, получить TC и потребовать полной загрузки по надёжному транспорту. Постквантовые ключи и подписи способны увеличить давление на размер, но revision 00 не сообщает измеренного выигрыша или факта внедрения.

Предложение пытается не пересылать объект, который уже находится в кэше. Authority вместе с TC сообщает NN — запись недавно не менялась — и посылает LARGE с коротким идентификатором. Совпадение позволяет оставить кэш.

Но решение принимается до получения полного объекта. Если журнал хранит только короткое значение, он не сохраняет доказательство того, что сравнивались одинаковые большие данные.

Минимальная квитанция должна связать идентификатор с полным хэшем RRset, authority, view, именем, типом, классом, профилем генерации, RRSIG и конкретной записью кэша. Тогда решение можно восстановить после инцидента.

16 бит ограничены эпохой

Проект требует уникальности идентификатора только на срок жизни подписей представляемых данных. Это не постоянный глобальный номер версии.

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

Restore старой конфигурации, сброс счётчика или смешение view могут повторно связать число с другим объектом. Равенство имеет смысл лишь внутри общего контракта и окна запрета повторного использования.

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

Серийный номер SOA описывает другую версию

Draft не рекомендует автоматически использовать SOA serial. В динамической зоне он может часто меняться, пока большой DNSKEY RRset остаётся прежним. Версия зоны и версия RRset отвечают на разные вопросы.

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

View также является частью области. Разные данные могут быть правильными для разных клиентов. Идентификатор без view создаёт ложную непрерывность или ложное столкновение.

Один отвечающий сервер не представляет весь набор

Primary, secondary и anycast-инстансы могут обслуживать разные поколения при передаче, загрузке или частичном сбое. NN — утверждение достигнутого сервера, не кворум.

Если кэш и A хранят старое поколение, а B уже новое, ответ A и совпадение честны, но не доказывают конвергенцию или актуальную волю оператора.

Чувствительная операция требует знаменателя: какие authorities входят в набор, откуда наблюдаются и какое правило закрывает переход. Anycast-адрес не перечисляет инстансы.

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

Действительная подпись не равна текущему намерению

DNSSEC связывает определённый RRset с цепочкой и временным окном. Неистёкшая RRSIG доказывает проверяемость, но не отсутствие более нового намерения, загрузку всеми authorities или правильный выбор линии кэша.

Старое поколение может оставаться валидным, когда новое уже распространяется. signature_valid нельзя автоматически превращать в current.

Draft требует подпись LARGE, если она помещается, и предлагает отправлять LARGE без неё, если не помещается. Неподписанная маленькая информация способна остановить приобретение подписанной большой.

Security Considerations сравнивает возможности: злоумышленник, подделывающий NN, уже может отбрасывать пакеты и вызвать stale после таймаута. NN может ускорить путь. Это не аутентификация подсказки и не доказательство безвредности ускорения.

TC не доказывает бесполезность TCP

TC сообщает об усечении текущего ответа. Он не говорит, что TCP недоступен или полный ответ не содержит нового. RFC 7766 сохраняет TCP в требованиях полного DNS.

Отказ от загрузки — действие политики резолвера. Журнал должен хранить способность NN, TC/NN, идентификатор, аутентификацию, хэш, класс риска, stale-policy и транспортную альтернативу. Результат — «fetch подавлен по P», а не «свежесть доказана».

Тесты должны оставлять TCP исправным, повторять идентификатор, разделять authorities, просрочивать подпись и подделывать NN. Правильность — следование объявленной политике и сохранение unknown, а не постоянный зелёный статус.

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

Stale и current — разные договоры

RFC 8767 позволяет ограниченно обслуживать старые данные при неудаче refresh. Это контракт непрерывности, а не переименование прошлого в настоящее.

Timeout и NN могут привести к одним bytes, но фиксируют разные события. Первый — обновление не завершилось. Второй — сервер заявил, что оно не нужно. Диагностика и доверие различаются.

Полезны состояния: valid-by-TTL, valid-by-signature, retained-after-authenticated-NN, retained-after-unauthenticated-NN, stale-after-failure и refetched. Общий cache hit стирает причину.

Успех приложения тоже не доказывает свежесть. Сервис может работать на старых данных или падать при правильном DNS. Результат остаётся отдельным наблюдением.

Статус документа ограничивает вывод

На момент freeze Datatracker называл revision 00 активным индивидуальным Internet-Draft без формального одобрения. Не было stream, AD, telechat или целевого RFC-статуса; заголовок говорил Standards Track.

Текст признаёт себя очень незавершённым и нереализуемым. IANA — TBD. DNSSEC-секция содержит ненаписанные идеи; формат, размещение и сигнал resolver-to-parent обсуждаются.

Нельзя утверждать финальное назначение, реализацию, interoperability, PQC deployment, экономию или инцидент. Можно определить границы доказательств, которые будущая оптимизация не должна стирать.

Граф квитанций сохраняет линию объекта

Граф начинается с query и cache generation. Затем authority, view, TC/NN, LARGE, аутентификация и профиль. Сравнение связывает короткое число с полным хэшем и окном подписи. Policy объясняет fetch или его подавление.

Transport, cache admission, client answer и application outcome идут дальше и не переписывают исходный смысл.

Защитимое утверждение звучит так: «Authority X вернула NN в T; Y соответствовал RRset-хэшу Z с подписью до E; policy P пропустила один fetch». Оно уже, чем «DNS был актуален», и сильнее для расследования.

Leadership решает, когда дешёвая подсказка разрешает не получать дорогое доказательство. Эффективность правомерна, как и усиленный порог при смене доверия. Совпавшее число не становится фактом настоящего только потому, что полный объект не запросили.

Источники