Перейти к основному содержанию

Как работает протокол AdGuard VPN

Все мобильные и десктопные приложения AdGuard VPN используют наш собственный протокол. Скачайте любой из наших продуктов и используйте его, зная, что ваши данные защищены самым надёжным образом.

Почему мы разработали протокол AdGuard VPN

В течение многих лет мы концентрировались на разработке всевозможных приложений и браузерных расширений для блокировки рекламы. А в 2019 году мы, казалось бы, внезапно решили разработать собственный VPN-сервис. Хотя на самом деле было несколько причин, побудивших нас сделать это.

  • Проблемы совместимости. Обычно два мобильных приложения на основе VPN не могут работать вместе: в редких случаях на iOS и никогда на Android. Поскольку Блокировщик рекламы AdGuard использует локальный VPN для фильтрации сетевого трафика, пользоваться им вместе с любым VPN-приложением невозможно. Вот почему разработка собственного VPN виделась нам единственно возможным решением, гарантирующим совместимость: применив немного магии, мы добились того, что два приложения AdGuard могут работать в рамках одного VPN-туннеля.
  • Во-вторых, идея собственного VPN-сервиса прекрасно соотносится с нашей философией и принципами. Наша главная цель — защитить конфиденциальность пользователей, а VPN-сервисы именно для этого и нужны.
  • Наконец, за годы разработки программного обеспечения AdGuard мы стали экспертами в области фильтрации сетевого трафика. Это позволило нам предложить пользователям что-то новое, а не просто стать очередным безликим VPN.

С самого начала мы решили, что у AdGuard VPN будет одно важное отличие от конкурентов — мы будем использовать VPN-протокол собственной разработки, а не просто возьмём одно из готовых решений.

Недостатки существующих VPN-протоколов

Мы разрабатывали протокол AdGuard VPN, держа в уме недостатки популярных VPN-протоколов (OpenVPN, WireGuard, IPSec и т. д.):

  • Их легко обнаружить и заблокировать на сетевом уровне.
  • При попытке их скрыть упадёт производительность.

Чтобы «скрыть» использование VPN, поток данных часто «оборачивается» TCP-соединением, а иногда дополнительно шифруется, чтобы трафик выглядел как обычное общение с сайтом. К сожалению, у такого подхода есть проблема — из-за использования TCP появляется необходимость в дополнительном подтверждении доставки.

Таким образом, используя любой из популярных VPN-протоколов, мы всегда встаём перед выбором: быстро и легко обнаружимо vs. медленно.

Чем хорош протокол AdGuard VPN

  • Его практически невозможно отличить от обычного HTTPS-трафика, то есть соединение с сервером AdGuard VPN выглядит так же, как и соединение с обычным сайтом.
  • Для шифрования мы используем HTTPS (TLS), который идеально справляется с этой задачей. Это самый популярный в мире способ шифрования, а библиотеки, которые его реализуют, постоянно проходят аудит безопасности.

Существующие VPN-протоколы также справляются с задачей шифрования, и их (а значит, и факт использования VPN) тяжело обнаружить. Но обычно за это приходится платить сниженной скоростью. В нашем случае этого не происходит благодаря нескольким решениям.

  • Мы используем транспортный протокол HTTP/2, который делает так, чтобы протокол AdGuard VPN было практически невозможно обнаружить и чтобы при этом сохранялась высокая скорость.
  • Протокол AdGuard VPN, в отличие от остальных, оперирует не пакетами, а данными. Это означает, что для каждого соединения AdGuard VPN устанавливает отдельный «туннель», каждому потоку HTTP/2 соответствует одно соединение. По этому туннелю AdGuard VPN передаёт данные. Это позволяет нам ускорить работу за счёт экономии на подтверждающих пакетах, ведь мы можем объединить данные нескольких пакетов в один перед отправкой на VPN-сервер (или с сервера на клиент). А чем меньше пакетов, тем меньше подтверждений нужно.