ShroudMe

Сравнение протоколов защищённого туннеля: энергопотребление на Android и ноутбуках

Схема: короткий handshake UDP-туннеля и более тяжёлый TLS-туннель

Почему туннель вообще тратит заряд

Защищённый канал — это не «ещё одна иконка». Клиент держит виртуальный интерфейс, шифрует пакеты, периодически проверяет, жив ли сервер, и реагирует на смену сети: Wi‑Fi, соты, сон, пробуждение. Каждое из этих действий нагружает процессор, радиомодуль и таймеры, которые не дают устройству глубоко уснуть.

Энергопотребление складывается из четырёх частей:

  1. Установка соединения. Рукопожатие, обмен ключами, проверка сертификата.
  2. Постоянная жизнь сессии. Keepalive, повторные рукопожатия, обновление ключей.
  3. Шифрование каждого пакета. Чем тяжелее криптография на килобайт, тем выше нагрузка на CPU.
  4. Радио. Телефон, который не может агрегировать пакеты и засыпать, держит соты активными дольше.

Как устроен туннель логически — в статье шифрования трафика. Ниже — почему два семейства протоколов на батарее ведут себя по-разному.

Не сравнивайте протоколы по одному ролику с лабораторным стендом: там обычно идеальный Wi‑Fi, одно приложение и отключённые уведомления. Реальный телефон качает почту, синхронизирует фото и переключается между вышками. Именно этот фон, а не название семейства, чаще всего объясняет «почему село за день».

Современный UDP-туннель: короткий handshake и меньше таймеров

Семейство, которое обычно связывают с WireGuard, проектировали вокруг простоты: фиксированный набор современных примитивов, короткий handshake, работа поверх UDP. На практике это часто означает меньше служебного обмена «просто чтобы сессия не умерла» и меньше тяжёлых повторных рукопожатий TLS.

Для телефона важны две детали. Первая: UDP легче проходит через смену адреса, когда вы выходите из домашнего Wi‑Fi на соты, если протокол умеет быстро пересогласовать путь. Вторая: меньше работы на пакет — меньше пробуждений CPU на фоне переписки или почты.

Это не гарантия «всегда меньше процентов в час». Плохой радиосигнал, агрессивный keepalive и фоновые приложения съедят выигрыш. Но конструктивно такое семейство ближе к «зашифровать и не мешать сну», чем классические стеки с длинной сессией TLS.

Классический TLS-туннель: привычный транспорт и цена рукопожатия

Классический туннель на базе TLS (тот, что годы строили вокруг отдельного демона, TCP и длинного handshake) хорошо изучен и часто проще проходит корпоративные прокси, где ждут «похожий на веб» трафик. За это платят батареей и задержкой: TCP держит состояние, обрыв требует нового рукопожатия, а каждое пробуждение ноутбука из сна может заново собирать сессию.

На Android отдельный сервис, который не отпускает wakelock, сажает заряд сильнее, чем сам алгоритм шифрования. На ноутбуке то же самое выглядит как «вентилятор после сна» и тёплый корпус, хотя вы «просто читали почту».

Если протокол поверх TCP, потеря пакета ещё и тормозит весь поток. Радио остаётся активным дольше, пока идёт повтор. Для офисного Ethernet это незаметно. Для телефона в метро — заметно.

Что реально сажает батарею, кроме «имени протокола»

Keepalive слишком частый. Если клиент каждые несколько секунд будит радио «я ещё здесь», современный протокол не спасёт. Для батареи важнее редкая, но достаточная проверка живости.

Два клиента сразу. Параллельные туннели, «ускорители» и корпоративный агент не делят радио по-честному: они спорят за маршрут и не дают модему спать.

Смена сети без паузы. Поезд, лифт, переключение Wi‑Fi/LTE заставляют пересобирать сессию. Протокол с дешёвым handshake переживает это спокойнее.

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

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

Как сравнить на своём устройстве, а не по чужому бенчмарку

  1. Зарядите телефон до одного и того же уровня, отключите лишние фоновые обновления на время теста.
  2. Зафиксируйте яркость и не гоняйте карты / видео — они затмят разницу протоколов.
  3. Держите защиту включённой несколько часов обычной переписки и браузера, не синтетический «качать гигабайты».
  4. Посмотрите системный расход батареи по приложениям: интересует клиент защиты и «Android System» / радио, не только красивый процент в самом приложении.
  5. Повторите на Wi‑Fi и на сотах отдельно: радио — главный едок, протокол его только модулирует.

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

Не сравнивайте «один замер в самолёте» с «другим дома у розетки». Нужна одна и та же сеть и одна и та же нагрузка.

Где здесь ShroudMe

ShroudMe собирает защищённый канал на ядре sing-box. Это не сравнение «наш стек лучше названного протокола» и не приглашение переключать семейства вручную: клиент не предлагает пользователю меню из десятка реализаций. Имеет смысл другое: понимать, почему постоянная защита на телефоне вообще может расходовать заряд, и не включать второй туннель «для надёжности».

Если батарея просела резко после обновления, сначала проверьте, не держит ли клиент постоянную диагностику, не включены ли параллельно другие сетевые приложения, и не стоит ли телефон в зоне плохого приёма. Протокол в маркетинговом смысле тут ни при чём.

На Android удобно смотреть «Расход батареи» за 24 часа с одинаковым сценарием: утро на Wi‑Fi, день на сотах, вечер дома. Если клиент защиты в списке лидеров при почти простое — ищите wakelock и вторую сетевую программу, а не «сменить протокол в голове». На ноутбуке то же самое видно по времени в простое: крышка закрыта на час, заряд не должен падать как при просмотре видео.

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

Вывод

На батарее выигрывает не «самое известное имя», а короткий handshake, редкий keepalive, аппаратное шифрование и право радио уснуть. Современный UDP-туннель обычно ближе к этому, классический TLS-туннель — к устойчивости в корпоративных сетях и более дорогим пробуждениям. Проверяйте расход на своём Android и ноутбуке одинаковой нагрузкой, не держите два клиента сразу и помните: сон устройства важнее микробенчмарка шифрования.

FAQ

Почему после включения защиты телефон теплее?

Чаще всего радио не засыпает из‑за keepalive, плохого сигнала или второго сетевого приложения, а не из‑за «тяжёлого шифра как такового».

Нужно ли выключать защиту на ночь, чтобы экономить заряд?

Если клиент корректно отпускает сон, выключать не обязательно. Если батарея за ночь падает на десятки процентов без причины — смотрите wakelock и параллельные программы, затем напишите в поддержку.

Влияет ли kill switch на батарею?

Функция, которая при обрыве режет обычный маршрут, сама по себе почти не ест заряд. Её цена — в логике сети, не в милливаттах.

Можно ли сравнивать протоколы по одному графику из интернета?

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