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
Схема передачи пакетов данных по протоколу QUIC
По сравнению с очень популярным протоколом TCP, QUIC быстрее, надёжнее и предлагает больше вариантов шифрования. А DNS-over-QUIC, в свою очередь, наследует все эти достоинства.
Краткий список основных преимуществ DNS-over-QUIC
Их немало:
- Он шифрует DNS-трафик, поэтому никто, кроме вас, не будет знать, какие сайты вы посещаете.
- QUIC был разработан для решения проблемы head-of-line-blocking. Поэтому он лучше работает в сетях с высоким показателем потерь пакетов (packet loss), например, при использовании мобильного интернета в лифте или тоннеле.
- Стандарт QUIC поддерживает так называемую «миграцию соединений». Когда вы уходите из дома и ваш телефон переключается с Wi-Fi на мобильную сеть, соединение QUIC, в отличие от других соединений, не обрывается. К сожалению, пока это не реализовано на практике, но мы надеемся, что ситуация скоро изменится.
- 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, но мы хотели бы остановиться на некоторых моментах:
- AdGuard DNS теперь полностью поддерживает принятый стандарт, равно как и предыдущие черновые версии.
- Что касается AdGuard Home, то он также уже использует новый стандарт!
- Все наши приложения в будущем также последуют его примеру, и отметка «экспериментальная функция» будет окончательно удалена из интерфейса. В будущих версиях мы сделаем 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-запросы!