Меню
RU

DNS-over-QUIC получил статус предложенного стандарта

Это наконец-то случилось: DNS-over-QUIC, очень перспективный протокол, стал предложенным стандартом. Мы считаем, что DNS-over-QUIC лучше своих предшественников (DNS-over-HTTPS, DNS-over-TLS) и имеет потенциал для полной замены старого незашифрованного DNS. Но обо всём по порядку.

DNS-over-QUIC (сокращенно DoQ) – это относительно новый протокол для передачи DNS-запросов: он стал стандартом только в мае 2022 года. Для сравнения, DNS-over-TLS был стандартизирован в 2016 году, а DNScrypt – более 10 лет назад.

Примерно полтора года назад AdGuard DNS стал первым публичным DNS-резолвером, поддерживающим новый протокол DNS-over-QUIC. В то время стандарт DoQ всё ещё находился на стадии черновика: это был эксперимент, не готовый к повсеместному использованию.

В середине мая ситуация изменилась: DNS-over-QUIC был опубликован как RFC (Request for Comments, документ, описывающий онлайн-протоколы, методы, программы или исследования, применимые к Интернету), получил номер 9250 и был признан предложенным стандартом. Этому RFC-документу всё ещё предстоит пройти долгий путь, прежде чем он станет интернет-стандартом. Но уже сейчас DNS-over-QUIC признан довольно стабильным и получил достаточное количество отзывов сообщества, чтобы его начали внедрять по всему миру.

Возможно, читая статью, вы задаётесь вопросом, почему мы так взволнованы признанием DNS-over-QUIC. Чтобы всё встало на свои места, надо сначала поговорить о том, что такое DNS-over-QUIC, и чем он лучше других протоколов.

Почему DNS-over-QUIC так хорош

Мы уже писали в одной из наших прошлых статей о том, что такое DNS-over-QUIC. Почитайте её, если вам хочется погрузиться в детали или освежить всё в памяти. Коротко говоря, DNS-over-QUIC – это DNS-протокол, который использует протокол транспортного уровня QUIC для передачи DNS-запросов.

Схема передачи пакетов данных по протоколу TCP
Схема передачи пакетов данных по протоколу TCP

Схема передачи пакетов данных по протоколу QUIC
Схема передачи пакетов данных по протоколу QUIC

По сравнению с очень популярным протоколом TCP, QUIC быстрее, надёжнее и предлагает больше вариантов шифрования. А DNS-over-QUIC, в свою очередь, наследует все эти достоинства.

Краткий список основных преимуществ DNS-over-QUIC

Их немало:

  1. Он шифрует DNS-трафик, поэтому никто, кроме вас, не будет знать, какие сайты вы посещаете.
  2. QUIC был разработан для решения проблемы head-of-line-blocking. Поэтому он лучше работает в сетях с высоким показателем потерь пакетов (packet loss), например, при использовании мобильного интернета в лифте или тоннеле.
  3. Стандарт QUIC поддерживает так называемую «миграцию соединений». Когда вы уходите из дома и ваш телефон переключается с Wi-Fi на мобильную сеть, соединение QUIC, в отличие от других соединений, не обрывается. К сожалению, пока это не реализовано на практике, но мы надеемся, что ситуация скоро изменится.
  4. QUIC позволяет быстро установить сетевое соединение. Как и в случае с «миграцией соединений», это особенно полезно при подключении к мобильному интернету. С DNS-over-QUIC соединение устанавливается в два раза быстрее, чем с DNS-over-TLS.

Как изменился стандарт по сравнению с черновыми вариантами

DNS-over-QUIC теперь можно использовать как для рекурсивных DNS-серверов (таких как AdGuard DNS), так и для авторитативных. В перспективе это позволит шифровать не только трафик от клиента (вашего компьютера или телефона) до рекурсивного сервера, но и весь DNS-трафик в целом. То есть, в отличие от DNS-over-HTTPS, DoQ является более комплексным протоколом и может быть использован там, где ранее применялся незашифрованный DNS-протокол.

Что изменилось в AdGuard DNS-over-QUIC

Многие продукты AdGuard уже давно поддерживают DoQ, но мы хотели бы остановиться на некоторых моментах:

  1. AdGuard DNS теперь полностью поддерживает принятый стандарт, равно как и предыдущие черновые версии.
  2. Что касается AdGuard Home, то он также уже использует новый стандарт!
  3. Все наши приложения в будущем также последуют его примеру, и отметка «экспериментальная функция» будет окончательно удалена из интерфейса. В будущих версиях мы сделаем DoQ протоколом по умолчанию (вместо DNS-over-HTTPS, который используется по умолчанию сейчас).

Почти все наши разработки, связанные с DoQ, находятся в открытом доступе. Мы поддерживаем их и регулярно обновляем. Вот некоторые из них:

  • dnslookup – это базовая утилита для выполнения DNS-запросов. Она поддерживает все популярные современные протоколы: DoH, DoT, DoQ, DNSCrypt.
  • С AdGuard Home вы можете настроить собственный DoQ-сервер. Если вы используете AdGuard Home как публичный сервер, вы можете настроить на нём шифрование.
  • dnsproxy – простой DNS-прокси-сервер с поддержкой DoH, DoT, DoQ и DNSCrypt.
  • DnsLibs – это библиотека C++, которую мы используем в наших продуктах AdGuard. Не стесняйтесь заимствовать её для включения DoQ в ваше собственное приложение.
  • Мы также ожидаем, что новый код AdGuard DNS станет общедоступным в ближайшем будущем.

Мы очень рады тем возможностям, которые открывает внедрение DNS-over-QUIC в качестве стандарта: более быстрое соединение, лучшее шифрование, меньшая потеря пакетов, «миграция соединений» и многое другое. И мы с нетерпением ждём возможности воспользоваться всеми этими преимуществами! А пока вы можете прочитать, как настроить DoQ в AdGuard для iOS и AdGuard для Android или как настроить публичный DNS-сервер AdGuard, использующий протокол QUIC (вы можете найти его в разделе «Наши адреса»). Или создайте свой приватный DNS-сервер AdGuard, выберите любой протокол (мы, конечно же, рекомендуем DoQ) и контролируйте все DNS-запросы!

Понравился пост?