Кратко

  • Редакция 03 проекта DNSOP о GREASE предлагает регулярно задействовать точки расширения DNS нераспределёнными значениями, чтобы программы и промежуточные устройства не принимали сегодняшние номера за единственно допустимые. Это действующий, но незавершённый Internet-Draft, не RFC и не разрешение на внедрение.
  • Последовательный повтор без GREASE может добавить задержку. Обычный запрос, отправленный параллельно, защищает путь обслуживания, но увеличивает нагрузку авторитетной стороны. Эксперимент в ответе опаснее: сервер не всегда видит последующий отказ у клиента.
  • До включения по умолчанию нужен срочный экспериментальный мандат: точное поле, алгоритм значений, выборка, исключения, пределы задержки и объёма, телеметрия, защита от идентификации, дата окончания, условия остановки и владелец отката. Это предложение Daniel Kade, а не правило IETF.

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

GREASE переносит обнаружение вперёд. Он генерирует значения без прикладного смысла, которые получатель должен пропустить. RFC 8701 применила эту модель к TLS: редкие зарезервированные значения позволяют клиентам заранее выявить сервер, отвергающий неизвестное.

Проект Greasing Protocol Extension Points in the DNS рассматривает DNS. Редакция 03 опубликована 6 июля 2026 года и истекает 7 января 2027-го. Это документ рабочей группы DNSOP, который ещё может измениться или быть заменён. По резервным диапазонам согласия нет; раздел со значениями остаётся заготовкой; детальное поведение, обнаружение ошибок, fallback, дата завершения, отдельные выключатели и обмен телеметрией перечислены как незаконченная работа.

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

Под одним названием скрыты разные воздействия

В проекте перечислены оставшийся флаг заголовка DNS, Opcode, версия EDNS, флаги EDNS, Class, тип ресурсной записи и код опции EDNS. Размер пространств различается от одного бита до десятков тысяч нераспределённых номеров. Состояние меняется при каждом новом решении IANA.

RCODE и Extended RCODE исключены: они сообщают статус ответа. Их изменение изменило бы вывод запрашивающей стороны, а не только проверило способность безболезненно игнорировать неизвестное дополнение.

Поэтому GREASE — не отправка заведомо испорченного DNS-пакета. Неизвестное значение помещается в пространство, где оно не должно иметь полезной семантики. Совместимый получатель продолжает работу. Сбой доказывает различие между экспериментом и контролем, но ещё не показывает, какое устройство и чей код его вызвали.

Опция EDNS содержит не только код, но и данные. Проверка нового RR Type может потребовать отдельного вопроса. Правило, пригодное для 16-битного пространства, невозможно перенести на одиночный флаг. Разрешение должно относиться к конкретной точке, направлению и механизму сравнения, а не ко всему DNS GREASE одним переключателем.

У повторного и параллельного запроса разные должники

В последовательной схеме резолвер сначала отправляет GREASE-запрос, а после ошибки повторяет его без экспериментального расширения. В итоге пользователь может получить ответ, но ждёт завершения первой попытки. Если мониторинг видит только окончательный успех, он теряет именно тот дефект, ради которого возник запрос.

В параллельной схеме обычный и экспериментальный запросы уходят одновременно. Ответ обычной ветви обслуживает клиента, экспериментальная ветвь даёт измерение. Пользовательская задержка защищена, зато авторитетный сервер и сеть обрабатывают дополнительный обмен.

Последовательная схема расходует запас времени. Параллельная расходует число запросов, процессор и исходящий трафик. Обе требуют журналов, анализа и участия инженеров. Знание достаётся инициатору, а часть расходов — другой организации.

Редакция 03 говорит о малой выборке и оставляет вопросительный пример: возможно, один запрос из тысячи. Это не нормативная граница и не доказательство безопасности. Тысячная доля огромного публичного резолвера способна сконцентрировать заметный поток на небольшой авторитетной системе.

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

Инициатор ответа не видит дальний результат

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

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

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

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

Резерв устраняет одну коллизию и создаёт особый случай

Специально зарезервированные GREASE-значения легко заметить в трассе, и позже они не получат обычного смысла. Но получатель может научиться игнорировать именно известный диапазон и продолжить отвергать всё остальное неизвестное. Тест будет зелёным, а общая расширяемость останется закрытой.

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

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

На дату исследования страница IANA Domain Name System Parameters была обновлена 28 августа 2026 года. Отдельные таблицы ведут классы, типы, opcodes, опции EDNS, флаги и версии. Они не содержат готового общего решения о DNS GREASE, которое в проекте пока обсуждается.

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

Возмущение должно окупаться диагнозом

GREASE полезен только тогда, когда наблюдение приводит к исправлению. Общий проект о greasing описывает узкий баланс: слишком редкие ошибки тонут в шуме, а слишком регулярный узор легко распознать и обработать отдельным исключением.

Fallback в DNS даёт две оценки одной операции. Обслуживание может завершиться успешно после того, как экспериментальная ветвь провалилась. Минимальная запись должна содержать точку расширения, класс значения, версию алгоритма, направление, время, ближайший ответ, длительность, контрольную ветвь и результат для клиента.

Выводы должны оставаться скромными. Timeout не называет middlebox. FORMERR не указывает место отказа. Воспроизводимое различие начинает расследование, но не доказывает публично вину определённого оператора.

Есть риск отпечатка. Редакция 03 предупреждает, что неслучайные значения могут идентифицировать реализацию резолвера. Общий проект отмечает влияние вариативности параметров на fingerprinting. Стабильность в пределах версии облегчает воспроизведение, но делает продукт узнаваемым. Полная смена на каждой операции снижает стабильность и позволяет повторным попыткам скрывать вероятностную ошибку.

Мандат обязан фиксировать компромисс: ограниченные эпохи, смена между ними, минимизация имён, короткое хранение сырья, ограниченный доступ и агрегированная публикация. Слово «анонимно» без перечня полей и срока удаления ничего не гарантирует.

Fallback сохраняет сервис, но не закрывает долг

Отключить расширение и попробовать снова — практический способ работать со старой системой. Он также позволяет нетерпимому получателю экспортировать стоимость обновления на всех отправителей.

Безопасность усложняет вопрос. Редакция 03 отмечает, что злоумышленник может вызвать путь fallback, который незаметно убирает защитную функцию. GREASE должен выявлять такую несовместимость заранее и со временем уменьшать зависимость новых расширений от снижения возможностей.

Наблюдение, сдерживание и отказ от fallback — три решения. Измеряющий оператор может не владеть неисправным компонентом. Немедленное прекращение совместимости превращает технический долг в пользовательский отказ.

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

Мандат с автоматическим сроком

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

Затем фиксируется объект: точка расширения, набор или алгоритм значений, дополнительные данные, направление, версия ПО и снимок IANA. Зарезервированное, экспериментальное, частное и нераспределённое нельзя смешивать.

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

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

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

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

Источники

  1. Greasing Protocol Extension Points in the DNS — редакция 03
  2. Карточка проекта DNS GREASE в Datatracker
  3. История документа DNS GREASE
  4. Активные документы DNSOP
  5. Мандат DNSOP
  6. RFC 8701 — GREASE для TLS
  7. RFC 6891 — механизмы расширения DNS
  8. Maintaining Protocols Using Grease and Variability — редакция 06
  9. Параметры DNS в IANA