Кратко
- В
draft-farrokhi-dnsop-ecs-opt-in-00код новой EDNS-опции остаётся TBD, а пометка Experimental не сопровождается завершённым определением опыта и критериями успеха. - Даже будущая регистрация кода обеспечит лишь общую точку координации; соблюдение лимита, непреходящий характер согласия и происхождение кэшированных ответов потребуют отдельных доказательств.
В таблице IANA появляется номер. Разработчики перестают опасаться коллизии, продукты начинают указывать поддержку, а панели наблюдения получают зелёный индикатор. Через несколько месяцев номер в реестре уже воспринимается как свидетельство готовности механизма.
Но реестр ответил только на один вопрос: какое значение должны одинаково понимать реализации? Он не проверил, сколько битов рекурсивный резолвер действительно отправляет, сохраняет ли кэш происхождение ответа и умеет ли клиент отличить поддержку от игнорирования неизвестной опции.
Первая версия Client Opt-In Signaling for EDNS Client Subnet полезна именно до такого затвердевания ожиданий. Она опубликована 20 августа 2026 года и истекает 21 февраля 2027 года. Это индивидуальный Internet-Draft, не документ рабочей группы DNSOP и не RFC. В заголовке указано предполагаемое состояние Experimental, но код опции пока TBD, а вопросы об устройстве эксперимента и некоторых значениях ответа остаются открытыми.
Что именно координирует новая опция
RFC 7871 позволяет рекурсивному резолверу передавать авторитативным DNS-серверам префикс сетевого адреса клиента. Те могут адаптировать ответ к сети. По существующей модели резолвер может включать ECS своей конфигурацией даже для клиента, который ничего не прислал.
Клиент способен отказаться, отправив ECS с SOURCE PREFIX-LENGTH 0. Чтобы запросить более короткий положительный префикс, ему надо указать и адрес, из которого взяты биты. За NAT, CGNAT или VPN устройство может не знать публичный адрес, наблюдаемый резолвером.
Новая опция отделяет разрешение от адреса. Однобайтовая форма задаёт максимальное число битов, которое клиент допускает передать. Если пригодный ECS-адрес не предоставлен, резолвер выбирает видимый исходный адрес. Эффективная длина равна минимуму из клиентского предела, предела обычного ECS, локального максимума резолвера и 32 или 128 битов для IPv4 или IPv6.
Форма без данных разрешает передачу, но не устанавливает клиентский максимум. Тогда действует политика резолвера. Клиент, не разрешающий ничего, должен опустить опцию; явный ноль тоже запрещает передачу, но на незашифрованном пути раскрывает поддержку механизма.
Эта логика задаёт тонкую координационную поверхность. Клиент выражает границу, а резолвер принимает решение в своей точке контроля. Опция не меняет поведение авторитативных серверов и не превращает их в хранителей первоначального согласия.
Совместимость скрывает отсутствие поддержки
Неизвестная EDNS-опция игнорируется. Старый резолвер может получить новый opt-in, не понять его и ответить как обычно. Поэтому нормальный DNS-ответ не доказывает, что ограничение было принято. Механизм совместимости сохраняет доступность, но не создаёт квитанцию соблюдения.
Поддерживающий резолвер возвращает эффективную длину. Отсутствие опции в ответе означает либо отсутствие поддержки, либо удаление на пути. Такой резолвер всё ещё может использовать ECS по собственной старой политике. Клиент не должен считать отсутствие поля доказательством отсутствия раскрытия.
Даже присутствующее поле остаётся заявлением резолвера. OPT-записи не подписываются DNSSEC. Зашифрованный транспорт защищает запрос и ответ от посредника между клиентом и резолвером, но не делает самого резолвера честным. Он может отправить больше битов и сообщить меньше. Независимое подтверждение требует наблюдения у авторитативной стороны.
Таким образом, «реализация распознала код» — только первый уровень. Затем надо доказать расчёт минимума, фактическую отправку, корректную отчётность и обработку кэша. Регистрация кода не выполняет эти проверки.
Согласие не становится транзитивным
Предложенная опция адресована резолверу, непосредственно получившему запрос клиента. Её нельзя копировать в запросы к авторитативным серверам или просто переносить выше. EDNS действует между соседними участниками.
Форвардер сам становится клиентом следующего резолвера. Он может отправить собственный opt-in, но не увеличить предел исходного клиента. Если форвардер формирует ECS с адресом клиента, он отвечает за число переданных битов. Если адрес выбирает верхний резолвер, тот видит адрес форвардера, а не исходного клиента; форвардер должен сообщить 0 битов клиентского адреса.
Обычная ECS-опция не подтверждает согласие конечного устройства, потому что форвардер может добавить её сам. Отдельный сигнал нужен для фиксации непосредственного выбора. Он остаётся локальной инструкцией, а не удостоверением полномочий, которое можно размножить по цепочке.
Такое ограничение соответствует более широкой дисциплине: участник может обещать только то, чем управляет. Первый резолвер не уполномочен выдавать всем последующим сторонам безграничное разрешение от имени пользователя.
Кэш — часть эксперимента, а не деталь реализации
Поддерживающий резолвер не должен выдавать несигнализирующему клиенту ответ, полученный с ECS. Для каждой записи кэша он обязан знать, использовался ли ECS при её получении.
Иначе адаптированный ответ, созданный для одной сети, может попасть клиенту, который не выбрал участие. В текущем запросе новый префикс не передаётся, но результат прежнего раскрытия пересекает границу. В ответе нет поля, сообщающего получателю, что он адаптирован.
Раздельные кэши — один способ выполнить правило. Метаданные происхождения и проверка пригодности — другой. Для оценки реализации важно не навязывать конкретную архитектуру, а проверить сохраняемый инвариант: происхождение не теряется и ECS-запись исключена для несигнализирующего клиента.
Для сигнализирующих клиентов остаётся поиск по наиболее длинному префиксу RFC 7871. Запись с более длинной исходной маской может ответить клиенту с меньшим текущим пределом, поскольку чтение кэша не передаёт новые биты. Предел раскрытия и пригодность сохранённого результата — разные правила.
Текущий черновик возвращает эффективный предел даже при попадании в кэш. Он может быть положительным, хотя в этом событии ничего не отправлено. В открытых вопросах рассматривается вариант сообщать фактически использованные биты. Это не косметика: один показатель описывает разрешение, другой — событие.
Что мог бы означать эксперимент
Пометка Experimental сама по себе не задаёт эксперимент. Нужны проверяемая гипотеза, популяция, метрики, срок и условия остановки. Для этого механизма возможны разные вопросы: понимают ли клиенты ответ, соблюдают ли резолверы пределы, как часто ломается кэш-изоляция, какие ответы меняются без ECS, как ведут себя форвардеры и насколько безопасно обнаружение поддержки.
Без заранее определённых критериев регистрация кода рискует превратить временное исследование в постоянную совместимость без отчёта о результате. Экспериментальная маркировка тогда снижает порог выпуска, но не создаёт механизм завершения или отзыва.
Черновик просит обычное значение EDNS0 по Expert Review, а не случайный номер из экспериментального диапазона. Аргумент понятен: произвольно выбранные локальные значения плохо подходят для широкой совместимости, а стабильный код можно выпускать в программном обеспечении. Но именно поэтому решение о регистрации должно сопровождаться ясным описанием того, что код не сертифицирует.
Короткий префикс остаётся наблюдаемым
Сокращение префикса уменьшает точность, но не обеспечивает анонимность. Информация может попасть каждому авторитативному серверу, которому резолвер отправляет ECS, и наблюдателям незашифрованного верхнего пути. Клиенту следует выбирать самый короткий полезный предел и понимать круг получателей.
В незашифрованном запросе само наличие опции и выбранный предел тоже раскрывают сведения о реализации и предпочтениях. DoT, DoH или DoQ защищают этот участок от изменения и наблюдения посредником, но не контролируют дальнейшие действия резолвера.
Поэтому зрелая оценка должна оставлять отрицательные утверждения. Код назначен — не значит внедрён. Опция возвращена — не значит соблюдена. Транспорт зашифрован — не значит резолвер честен. Префикс короткий — не значит клиент анонимен. Ответ в кэше — не значит согласие на его происхождение сохранилось.
Реестр полезен, когда остаётся реестром: общей таблицей значений и ссылок, а не источником заимствованного доверия. Эксперимент полезен, когда у него есть критерий результата. Всё остальное должно подтверждаться там, где принимается соответствующее решение.
Источники
- https://www.ietf.org/archive/id/draft-farrokhi-dnsop-ecs-opt-in-00.txt
- https://www.ietf.org/archive/id/draft-farrokhi-dnsop-ecs-opt-in-00.html
- https://www.ietf.org/archive/id/draft-farrokhi-dnsop-ecs-opt-in-00.xml
- https://datatracker.ietf.org/doc/draft-farrokhi-dnsop-ecs-opt-in/
- https://datatracker.ietf.org/doc/draft-farrokhi-dnsop-ecs-opt-in/history/
- https://datatracker.ietf.org/doc/draft-farrokhi-dnsop-ecs-opt-in/references/
- https://datatracker.ietf.org/api/v1/doc/document/draft-farrokhi-dnsop-ecs-opt-in/
- https://www.rfc-editor.org/rfc/rfc7871.txt
- https://www.rfc-editor.org/rfc/rfc6891.txt
- https://www.rfc-editor.org/rfc/rfc9499.txt
- https://www.rfc-editor.org/rfc/rfc7858.txt
- https://www.rfc-editor.org/rfc/rfc8484.txt
- https://www.rfc-editor.org/rfc/rfc9250.txt
- https://www.rfc-editor.org/rfc/rfc8126.txt
- https://www.rfc-editor.org/rfc/rfc7942.txt
- https://www.rfc-editor.org/rfc/rfc6890.txt
- https://www.rfc-editor.org/rfc/rfc9660.txt
- https://www.ietf.org/archive/id/draft-bellis-dnsop-edns-tags-01.txt
- https://www.rfc-editor.org/rfc/rfc7873.txt
- https://www.rfc-editor.org/rfc/rfc7828.txt
- https://www.rfc-editor.org/rfc/rfc7314.txt
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
